Merge branch 'type-cleanup' of https://github.com/Paril/ericw-tools into type-cleanup
This commit is contained in:
commit
487c0fa1c6
|
|
@ -75,6 +75,11 @@ if (ERICWTOOLS_ASAN)
|
||||||
message(STATUS "Enabling ASan on all targets")
|
message(STATUS "Enabling ASan on all targets")
|
||||||
add_compile_options(-fsanitize=address)
|
add_compile_options(-fsanitize=address)
|
||||||
add_link_options(-fsanitize=address)
|
add_link_options(-fsanitize=address)
|
||||||
|
|
||||||
|
# https://github.com/catchorg/Catch2/issues/898#issuecomment-841733322
|
||||||
|
if (WIN32)
|
||||||
|
add_compile_definitions(CATCH_CONFIG_NO_WINDOWS_SEH)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
||||||
|
|
|
||||||
|
|
@ -511,3 +511,63 @@ void Face_DebugPrint(const mbsp_t *bsp, const mface_t *face)
|
||||||
point[1], point[2], edge);
|
point[1], point[2], edge);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
===============
|
||||||
|
CompressRow
|
||||||
|
===============
|
||||||
|
*/
|
||||||
|
int CompressRow(const uint8_t *vis, const int numbytes, uint8_t *out)
|
||||||
|
{
|
||||||
|
int i, rep;
|
||||||
|
uint8_t *dst;
|
||||||
|
|
||||||
|
dst = out;
|
||||||
|
for (i = 0; i < numbytes; i++) {
|
||||||
|
*dst++ = vis[i];
|
||||||
|
if (vis[i])
|
||||||
|
continue;
|
||||||
|
|
||||||
|
rep = 1;
|
||||||
|
for (i++; i < numbytes; i++)
|
||||||
|
if (vis[i] || rep == 255)
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
rep++;
|
||||||
|
*dst++ = rep;
|
||||||
|
i--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return dst - out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
===================
|
||||||
|
DecompressRow
|
||||||
|
===================
|
||||||
|
*/
|
||||||
|
void DecompressRow(const uint8_t *in, const int numbytes, uint8_t *decompressed)
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
uint8_t *out;
|
||||||
|
int row;
|
||||||
|
|
||||||
|
row = numbytes;
|
||||||
|
out = decompressed;
|
||||||
|
|
||||||
|
do {
|
||||||
|
if (*in) {
|
||||||
|
*out++ = *in++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
c = in[1];
|
||||||
|
if (!c)
|
||||||
|
FError("0 repeat");
|
||||||
|
in += 2;
|
||||||
|
while (c) {
|
||||||
|
*out++ = 0;
|
||||||
|
c--;
|
||||||
|
}
|
||||||
|
} while (out - decompressed < row);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,3 +79,6 @@ qvec3d Face_Normal(const mbsp_t *bsp, const mface_t *f);
|
||||||
std::vector<qvec3f> GLM_FacePoints(const mbsp_t *bsp, const mface_t *face);
|
std::vector<qvec3f> GLM_FacePoints(const mbsp_t *bsp, const mface_t *face);
|
||||||
qvec3f Face_Centroid(const mbsp_t *bsp, const mface_t *face);
|
qvec3f Face_Centroid(const mbsp_t *bsp, const mface_t *face);
|
||||||
void Face_DebugPrint(const mbsp_t *bsp, const mface_t *face);
|
void Face_DebugPrint(const mbsp_t *bsp, const mface_t *face);
|
||||||
|
|
||||||
|
int CompressRow(const uint8_t *vis, const int numbytes, uint8_t *out);
|
||||||
|
void DecompressRow(const uint8_t *in, const int numbytes, uint8_t *decompressed);
|
||||||
|
|
|
||||||
|
|
@ -204,9 +204,6 @@ extern time_point starttime, endtime, statetime;
|
||||||
void SaveVisState(void);
|
void SaveVisState(void);
|
||||||
bool LoadVisState(void);
|
bool LoadVisState(void);
|
||||||
|
|
||||||
void DecompressRow(const uint8_t *in, const int numbytes, uint8_t *decompressed);
|
|
||||||
int CompressRow(const uint8_t *vis, const int numbytes, uint8_t *out);
|
|
||||||
|
|
||||||
#include <common/settings.hh>
|
#include <common/settings.hh>
|
||||||
#include <common/fs.hh>
|
#include <common/fs.hh>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,7 @@ static std::vector<face_t> CreateBrushFaces(const mapentity_t *src, hullbrush_t
|
||||||
vec_t r;
|
vec_t r;
|
||||||
std::optional<winding_t> w;
|
std::optional<winding_t> w;
|
||||||
qbsp_plane_t plane;
|
qbsp_plane_t plane;
|
||||||
std::list<face_t> facelist;
|
std::vector<face_t> facelist;
|
||||||
qvec3d point;
|
qvec3d point;
|
||||||
vec_t max, min;
|
vec_t max, min;
|
||||||
|
|
||||||
|
|
@ -404,7 +404,7 @@ static std::vector<face_t> CreateBrushFaces(const mapentity_t *src, hullbrush_t
|
||||||
hullbrush->bounds = {-delta, delta};
|
hullbrush->bounds = {-delta, delta};
|
||||||
}
|
}
|
||||||
|
|
||||||
return {std::make_move_iterator(facelist.begin()), std::make_move_iterator(facelist.end())};
|
return facelist;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ static mbsp_t LoadTestmap(const std::filesystem::path &name, std::vector<std::st
|
||||||
auto bsp_path = map_path;
|
auto bsp_path = map_path;
|
||||||
bsp_path.replace_extension(".bsp");
|
bsp_path.replace_extension(".bsp");
|
||||||
|
|
||||||
std::vector<std::string> args{"", "-nopercent", "-noprogress", "-keepprt"};
|
std::vector<std::string> args{"", "-nopercent", "-keepprt"};
|
||||||
for (auto &arg : extra_args) {
|
for (auto &arg : extra_args) {
|
||||||
args.push_back(arg);
|
args.push_back(arg);
|
||||||
}
|
}
|
||||||
|
|
@ -389,10 +389,11 @@ TEST_CASE("chop_no_change", "[testmaps_q1]")
|
||||||
// TODO: ideally we should check we get back the same brush pointers from ChopBrushes
|
// TODO: ideally we should check we get back the same brush pointers from ChopBrushes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST_CASE("simple_sealed", "[testmaps_q1]")
|
TEST_CASE("simple_sealed", "[testmaps_q1]")
|
||||||
{
|
{
|
||||||
mbsp_t result = LoadTestmap("qbsp_simple_sealed.map");
|
auto mapname = GENERATE("qbsp_simple_sealed.map", "qbsp_simple_sealed_rotated.map");
|
||||||
|
|
||||||
|
mbsp_t result = LoadTestmap(mapname);
|
||||||
|
|
||||||
REQUIRE(map.brushes.size() == 6);
|
REQUIRE(map.brushes.size() == 6);
|
||||||
|
|
||||||
|
|
@ -805,6 +806,56 @@ TEST_CASE("features", "[testmaps_q1]")
|
||||||
REQUIRE_FALSE(map.leakfile);
|
REQUIRE_FALSE(map.leakfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("qbsp_func_detail various types", "[testmaps_q1]") {
|
||||||
|
const mbsp_t bsp = LoadTestmap("qbsp_func_detail.map");
|
||||||
|
|
||||||
|
CHECK_FALSE(map.leakfile);
|
||||||
|
CHECK(GAME_QUAKE == bsp.loadversion->game->id);
|
||||||
|
|
||||||
|
CHECK(1 == bsp.dmodels.size());
|
||||||
|
|
||||||
|
const qvec3d in_func_detail{56, -56, 120};
|
||||||
|
const qvec3d in_func_detail_wall{56, -136, 120};
|
||||||
|
const qvec3d in_func_detail_illusionary{56, -216, 120};
|
||||||
|
const qvec3d in_func_detail_illusionary_mirrorinside{56, -296, 120};
|
||||||
|
|
||||||
|
const double floor_z = 96;
|
||||||
|
|
||||||
|
// detail clips away world faces, others don't
|
||||||
|
CHECK(nullptr == BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], in_func_detail - qvec3d(0,0,24), {0, 0, 1}));
|
||||||
|
CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_wall - qvec3d(0,0,24), {0, 0, 1}));
|
||||||
|
CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_illusionary - qvec3d(0,0,24), {0, 0, 1}));
|
||||||
|
CHECK(nullptr != BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_illusionary_mirrorinside - qvec3d(0,0,24), {0, 0, 1}));
|
||||||
|
|
||||||
|
// check for correct contents
|
||||||
|
auto *detail_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_func_detail);
|
||||||
|
auto *detail_wall_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_wall);
|
||||||
|
auto *detail_illusionary_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_illusionary);
|
||||||
|
auto *detail_illusionary_mirrorinside_leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], in_func_detail_illusionary_mirrorinside);
|
||||||
|
|
||||||
|
CHECK(CONTENTS_SOLID == detail_leaf->contents);
|
||||||
|
CHECK(CONTENTS_SOLID == detail_wall_leaf->contents);
|
||||||
|
CHECK(CONTENTS_EMPTY == detail_illusionary_leaf->contents);
|
||||||
|
CHECK(CONTENTS_EMPTY == detail_illusionary_mirrorinside_leaf->contents);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("qbsp_angled_brush", "[testmaps_q1]") {
|
||||||
|
const mbsp_t bsp = LoadTestmap("qbsp_angled_brush.map");
|
||||||
|
|
||||||
|
CHECK_FALSE(map.leakfile);
|
||||||
|
CHECK(GAME_QUAKE == bsp.loadversion->game->id);
|
||||||
|
|
||||||
|
CHECK(1 == bsp.dmodels.size());
|
||||||
|
// tilted cuboid floating in a box room, so shared solid leaf + 6 empty leafs around the cube
|
||||||
|
CHECK(6 + 1 == bsp.dleafs.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("qbsp_sealing_point_entity_on_outside", "[testmaps_q1]") {
|
||||||
|
const mbsp_t bsp = LoadTestmap("qbsp_sealing_point_entity_on_outside.map");
|
||||||
|
|
||||||
|
CHECK_FALSE(map.leakfile);
|
||||||
|
}
|
||||||
|
|
||||||
// q2 testmaps
|
// q2 testmaps
|
||||||
|
|
||||||
TEST_CASE("detail", "[testmaps_q2]") {
|
TEST_CASE("detail", "[testmaps_q2]") {
|
||||||
|
|
|
||||||
|
|
@ -1,176 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# usage:
|
|
||||||
# ./automated_tests.sh [--update-hashes|--continue-on-failure]
|
|
||||||
#
|
|
||||||
# If --update-hashes is given, updates the expected hash files.
|
|
||||||
# Otherwise tests the generated .bsp's match the expected hashes.
|
|
||||||
#
|
|
||||||
# qbsp, vis, light, bspinfo need to be in PATH before running.
|
|
||||||
#
|
|
||||||
# Returns exit status 1 if any tests failed, otherwise 0
|
|
||||||
|
|
||||||
# print statements as they are executed
|
|
||||||
set -x
|
|
||||||
|
|
||||||
UPDATE_HASHES=0
|
|
||||||
|
|
||||||
# FIXME: reset back to 0
|
|
||||||
CONTINUE_ON_FAILURE=1
|
|
||||||
|
|
||||||
if [[ "$1" == "--update-hashes" ]]; then
|
|
||||||
UPDATE_HASHES=1
|
|
||||||
elif [[ "$1" == "--continue-on-failure" ]]; then
|
|
||||||
CONTINUE_ON_FAILURE=1
|
|
||||||
elif [[ "$1" != "" ]]; then
|
|
||||||
echo "usage: ./automated_tests.sh [--update-hashes]"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# checking for lack of crashes
|
|
||||||
|
|
||||||
qbsp -noverbose invalid_texture_axes.map || exit 1
|
|
||||||
light invalid_texture_axes.map || exit 1
|
|
||||||
|
|
||||||
# hash checks
|
|
||||||
|
|
||||||
# Compiles Quake E1M1 under all supported output formats,
|
|
||||||
# then compare the hashes with what's been committed to the repo.
|
|
||||||
# Then vis all of the bsp's, and check the hashes again.
|
|
||||||
# Then light them, and check the hashes again.
|
|
||||||
#
|
|
||||||
# This check will naturally fail if any changes are made to the
|
|
||||||
# tools that alter the .bsp output - the idea is you would just
|
|
||||||
# regenerate the expected hashes, but check that the .bsp's still
|
|
||||||
# work in game at the same time.
|
|
||||||
|
|
||||||
# qbsp_brush_clipping_order.bsp omitted because it is not sealed, so doesn't have a .prt
|
|
||||||
HASH_CHECK_BSPS="qbsp_func_detail.bsp \
|
|
||||||
qbsp_func_detail_illusionary_plus_water.bsp \
|
|
||||||
qbsp_origin.bsp \
|
|
||||||
qbsp_angled_brush.bsp \
|
|
||||||
qbsp_sealing_point_entity_on_outside.bsp \
|
|
||||||
qbsp_tjunc_many_sided_face.bsp \
|
|
||||||
e1m1-bsp29.bsp \
|
|
||||||
e1m1-bsp2.bsp \
|
|
||||||
e1m1-2psb.bsp \
|
|
||||||
e1m1-hexen2.bsp \
|
|
||||||
e1m1-hexen2-bsp2.bsp \
|
|
||||||
e1m1-hexen2-2psb.bsp \
|
|
||||||
e1m1-hlbsp.bsp \
|
|
||||||
e1m1-bspxbrushes.bsp \
|
|
||||||
e1m1-bsp29-onlyents.bsp \
|
|
||||||
qbspfeatures.bsp"
|
|
||||||
|
|
||||||
HASH_CHECK_PRTS=${HASH_CHECK_BSPS//.bsp/.prt}
|
|
||||||
|
|
||||||
# for tiny test maps, we'll commit the .json export of the .bsp's
|
|
||||||
# directly to the git repo, so we can print a diff
|
|
||||||
COMMIT_JSON_MAPS="qbsp_func_detail.bsp \
|
|
||||||
qbsp_func_detail_illusionary_plus_water.bsp \
|
|
||||||
qbsp_origin.bsp \
|
|
||||||
qbsp_angled_brush.bsp \
|
|
||||||
qbsp_sealing_point_entity_on_outside.bsp \
|
|
||||||
qbsp_brush_clipping_order.bsp \
|
|
||||||
qbsp_tjunc_many_sided_face.bsp"
|
|
||||||
|
|
||||||
# smaller test maps for specific features/combinations
|
|
||||||
# check .json diff of COMMIT_JSON_MAPS
|
|
||||||
for bsp in ${COMMIT_JSON_MAPS}; do
|
|
||||||
# save regular verbosity log to file, to avoid spamming the CI log
|
|
||||||
qbsp -nopercent ${bsp} &> ${bsp}.qbsplog
|
|
||||||
|
|
||||||
# dump .bsp to .bsp.json
|
|
||||||
bspinfo ${bsp} || exit 1
|
|
||||||
|
|
||||||
if [[ $UPDATE_HASHES -ne 0 ]]; then
|
|
||||||
mkdir reference_bsp_json
|
|
||||||
cp ${bsp}.json reference_bsp_json/${bsp}.json
|
|
||||||
cp ${bsp}.qbsplog reference_bsp_json/${bsp}.qbsplog
|
|
||||||
else
|
|
||||||
echo "Diff of reference_bsp_json/${bsp}.qbsplog and ${bsp}.qbsplog:"
|
|
||||||
diff -U3 -w reference_bsp_json/${bsp}.qbsplog ${bsp}.qbsplog
|
|
||||||
|
|
||||||
echo "Diff of reference_bsp_json/${bsp}.json and ${bsp}.json:"
|
|
||||||
diff -U3 -w reference_bsp_json/${bsp}.json ${bsp}.json
|
|
||||||
|
|
||||||
diffreturn=$?
|
|
||||||
if [[ $diffreturn -ne 0 ]]; then
|
|
||||||
echo "Diff returned $diffreturn"
|
|
||||||
file reference_bsp_json/${bsp}.json
|
|
||||||
file ${bsp}.json
|
|
||||||
|
|
||||||
if [[ $CONTINUE_ON_FAILURE -ne 1 ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# larger test maps (E1M1)
|
|
||||||
qbsp -noverbose quake_map_source/E1M1.map e1m1-bsp29.bsp || exit 1
|
|
||||||
qbsp -noverbose -bsp2 quake_map_source/E1M1.map e1m1-bsp2.bsp || exit 1
|
|
||||||
qbsp -noverbose -2psb quake_map_source/E1M1.map e1m1-2psb.bsp || exit 1
|
|
||||||
qbsp -noverbose -hexen2 quake_map_source/E1M1.map e1m1-hexen2.bsp || exit 1
|
|
||||||
qbsp -noverbose -hexen2 -bsp2 quake_map_source/E1M1.map e1m1-hexen2-bsp2.bsp || exit 1
|
|
||||||
qbsp -noverbose -hexen2 -2psb quake_map_source/E1M1.map e1m1-hexen2-2psb.bsp || exit 1
|
|
||||||
qbsp -noverbose -hlbsp quake_map_source/E1M1.map e1m1-hlbsp.bsp || exit 1
|
|
||||||
qbsp -noverbose -wrbrushes quake_map_source/E1M1.map e1m1-bspxbrushes.bsp || exit 1
|
|
||||||
|
|
||||||
# -onlyents test:
|
|
||||||
# - start with a copy of e1m1-bsp29.bsp called e1m1-bsp29-onlyents.bsp
|
|
||||||
# - make a E1M1-edited-ents.map by adding an extra entity
|
|
||||||
# - patch e1m1-bsp29-onlyents.bsp with the entities lump from E1M1-edited-ents.map
|
|
||||||
cp e1m1-bsp29.bsp e1m1-bsp29-onlyents.bsp || exit 1
|
|
||||||
cp e1m1-bsp29.prt e1m1-bsp29-onlyents.prt || exit 1
|
|
||||||
qbsp -onlyents E1M1-edited-ents.map e1m1-bsp29-onlyents.bsp || exit 1
|
|
||||||
|
|
||||||
qbsp -noverbose qbspfeatures.map || exit 1
|
|
||||||
|
|
||||||
# check (or regenerate) hashes of .bsp's
|
|
||||||
if [[ $UPDATE_HASHES -ne 0 ]]; then
|
|
||||||
sha256sum ${HASH_CHECK_BSPS} ${HASH_CHECK_PRTS} > qbsp.sha256sum || exit 1
|
|
||||||
else
|
|
||||||
sha256sum --strict --check qbsp.sha256sum
|
|
||||||
|
|
||||||
hash_check_return=$?
|
|
||||||
if [[ $hash_check_return -ne 0 ]] && [[ $CONTINUE_ON_FAILURE -ne 1 ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# now run vis
|
|
||||||
# FIXME: vis output is nondeterministic when run with multiple threads, so force 1 thread per process
|
|
||||||
|
|
||||||
for bsp in ${HASH_CHECK_BSPS}; do
|
|
||||||
vis -nostate -threads 1 ${bsp} || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
if [[ $UPDATE_HASHES -ne 0 ]]; then
|
|
||||||
sha256sum ${HASH_CHECK_BSPS} > qbsp-vis.sha256sum || exit 1
|
|
||||||
else
|
|
||||||
sha256sum --strict --check qbsp-vis.sha256sum
|
|
||||||
|
|
||||||
hash_check_return=$?
|
|
||||||
if [[ $hash_check_return -ne 0 ]] && [[ $CONTINUE_ON_FAILURE -ne 1 ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# FIXME: light output is nondeterministic so we can't check the hashes currently
|
|
||||||
|
|
||||||
for bsp in ${HASH_CHECK_BSPS}; do
|
|
||||||
light -threads 1 ${bsp} || exit 1
|
|
||||||
done
|
|
||||||
|
|
||||||
# if [[ $UPDATE_HASHES -ne 0 ]]; then
|
|
||||||
# sha256sum ${HASH_CHECK_BSPS} > qbsp-vis-light.sha256sum || exit 1
|
|
||||||
# else
|
|
||||||
# sha256sum --strict --check qbsp-vis-light.sha256sum || exit 1
|
|
||||||
# fi
|
|
||||||
|
|
||||||
# leak tests on all id1 maps
|
|
||||||
cd quake_map_source
|
|
||||||
./leaktest.sh || exit 1
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
c2fd477801a3c02a01d172454378c5d1f59cae43713977e82345240530fbed80 *qbsp_func_detail.bsp
|
|
||||||
620bd6ec7180d97127909eda95a97313e1bcbe50d3b76971eb46fc8839132008 *qbsp_func_detail_illusionary_plus_water.bsp
|
|
||||||
ed3d85f3f5f6bd1627df667605569a0f31f49c88e74de0d2b033a413d98a5f1e *qbsp_origin.bsp
|
|
||||||
8ddab9e66cc94abed3ba387b9e077fe131d5bf2fae7f29099aa9f3eed8712944 *qbsp_angled_brush.bsp
|
|
||||||
18fbd0f2cc27c3ef584b6335fad8b41a9db4a37e916f532e3e7abe770c299fad *qbsp_sealing_point_entity_on_outside.bsp
|
|
||||||
3b0557534e37114434d5541143932dfe3522dea9a627962901249e1f8bb8015f *qbsp_tjunc_many_sided_face.bsp
|
|
||||||
747ae0bcb09b15177b9d7f31f91a5955edd54b60bc558b5ff0332bb01b746a17 *e1m1-bsp29.bsp
|
|
||||||
11c8a0a593c081c8cea6f5e21f53766adc20e19be8a67a5d53aea782dde5f650 *e1m1-bsp2.bsp
|
|
||||||
79ada91c75217c04ba0648a9351b92a1d2f2b9a575920eb553c28231b8fccc2e *e1m1-2psb.bsp
|
|
||||||
c82d1423bd2a9cb7b163ca12fd7a3757680b43170cc14a6e91ac51c7d7a08708 *e1m1-hexen2.bsp
|
|
||||||
0c1834a471d6dda55ee4eb6559793fdefb7985b7d5305838852ca9828c08fbe2 *e1m1-hexen2-bsp2.bsp
|
|
||||||
ba0b8c59640b94eb8b39dbf29db10a8c0f8164891a1b4385ff2119fbc54b0d93 *e1m1-hexen2-2psb.bsp
|
|
||||||
2a60784f2d3aef6dc3ed64ef09e65a50dd448047d2f02442ab5e7c3dad45fa3a *e1m1-hlbsp.bsp
|
|
||||||
0c8ded46ce98663981ea97e3d92ba3c6a0a4c16637fcc9aad06b2d4da5b2d0bd *e1m1-bspxbrushes.bsp
|
|
||||||
c630ff41dcd9183ba19cc4ab9d882db729427a30fa52e45b7763bca3db22e816 *e1m1-bsp29-onlyents.bsp
|
|
||||||
7c2549ea81c40cc6fac4c7428c8f6ed0997ad04ffc24f8632de258ebf70f3aeb *qbspfeatures.bsp
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
6a22bf066280a4fff3ba9fb183642761fe55cc6063bae3fa55dd01ad549c8550 *qbsp_func_detail.bsp
|
|
||||||
ed1623a1313d859e2118994865e2680c8348533682898672a5ed002d51ca58ce *qbsp_func_detail_illusionary_plus_water.bsp
|
|
||||||
f8b06839c07f71c7c897d150333224412b976ddb21653195579da5e37be82f8c *qbsp_origin.bsp
|
|
||||||
5539b0753d4232609017253688081cf359a83cddbe07edc906dd87592b9c919a *qbsp_angled_brush.bsp
|
|
||||||
02fef37f2523125498b00d2e4ab77808cb11165c6cbeef98e42f98511b4df170 *qbsp_sealing_point_entity_on_outside.bsp
|
|
||||||
e963f38e3af7d0db84519786575468a01b30a5a29baa9bf5c86823b0c73d72fc *qbsp_tjunc_many_sided_face.bsp
|
|
||||||
c33feeeb2d66eac835c66449d871b533d7f0cbea6b1c556f94d387efee877659 *e1m1-bsp29.bsp
|
|
||||||
9b082b3ae17efb2cee1332a6c19a919106f035ec8bee6f89ebb4a8a0967190b8 *e1m1-bsp2.bsp
|
|
||||||
986c209b31bd336888b6f754f6fdac8303398517183316a401124704dbc98f55 *e1m1-2psb.bsp
|
|
||||||
52e896a5bf2e285be6e1362acc261758570f057eed0c8430856bd4970d583057 *e1m1-hexen2.bsp
|
|
||||||
46849fd2b354624ed15ff4571c3fc41331bb08f7d09baa6c50876f4357424f18 *e1m1-hexen2-bsp2.bsp
|
|
||||||
2b04e897da043597b5cc60c3abbc891c4ba204eb2208c69327f42d2e8c594cc5 *e1m1-hexen2-2psb.bsp
|
|
||||||
5bab3bceb303e3f8328608c544b98e5f18b08fecd4723d08f2c94d40353b3f23 *e1m1-hlbsp.bsp
|
|
||||||
1906e03553063f0519c966d12b2b669c568a53cddae8fce285cc576b90b9848d *e1m1-bspxbrushes.bsp
|
|
||||||
1536fbd891ad17fb26c7f3f4a45af86ee1b4e0e42fa322f4355d781bbf4e9f61 *e1m1-bsp29-onlyents.bsp
|
|
||||||
7f930d4f1a0383f3b4128afe2cffbac34240c9194dda5527e2918df74b2ea80a *qbspfeatures.bsp
|
|
||||||
abf3633d5a6d0e167ce9bacec476d3408c8240df5f3d72d14867cd201d4e3674 *qbsp_func_detail.prt
|
|
||||||
c0995c6b92256fa048c1a755ebe7e07f5fae33cb64e3c53adc234380fe44f267 *qbsp_func_detail_illusionary_plus_water.prt
|
|
||||||
b1ac538e53efc28ace2088324b1c0504d0f09b013d30b39ce231d76124bc6c22 *qbsp_origin.prt
|
|
||||||
00cc54b056ec14bb918fc3b30dab4b01b71f95bbca628206734b6d6f9aa19e10 *qbsp_angled_brush.prt
|
|
||||||
b1ac538e53efc28ace2088324b1c0504d0f09b013d30b39ce231d76124bc6c22 *qbsp_sealing_point_entity_on_outside.prt
|
|
||||||
b1ac538e53efc28ace2088324b1c0504d0f09b013d30b39ce231d76124bc6c22 *qbsp_tjunc_many_sided_face.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-bsp29.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-bsp2.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-2psb.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-hexen2.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-hexen2-bsp2.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-hexen2-2psb.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-hlbsp.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-bspxbrushes.prt
|
|
||||||
fcfd84b56d9f22f646903202b06ffc904d4fc38fdb70fba2b09110ad20b4f1a1 *e1m1-bsp29-onlyents.prt
|
|
||||||
db4b8fee3195c424b6e79282e958b0ac078b7b5db0217ea9dbe2b9e6ea8b61db *qbspfeatures.prt
|
|
||||||
|
|
@ -1,96 +0,0 @@
|
||||||
// Game: Quake
|
|
||||||
// Format: Valve
|
|
||||||
// entity 0
|
|
||||||
{
|
|
||||||
"mapversion" "220"
|
|
||||||
"classname" "worldspawn"
|
|
||||||
"wad" "deprecated/fence.wad;deprecated/free_wad.wad"
|
|
||||||
// brush 0
|
|
||||||
{
|
|
||||||
( -160 -256 80 ) ( -160 64 16 ) ( -160 64 80 ) *swater4 [ 0 -1 0 -16 ] [ 0 0 -1 0 ] 0 6 6
|
|
||||||
( 192 -432 80 ) ( -64 -432 16 ) ( -64 -432 80 ) *swater4 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 6 6
|
|
||||||
( 192 64 16 ) ( -64 -256 16 ) ( 192 -256 16 ) *swater4 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 6 6
|
|
||||||
( 192 64 80 ) ( -64 -256 80 ) ( -64 64 80 ) *swater4 [ 1 0 0 0 ] [ 0 -1 0 -16 ] 0 6 6
|
|
||||||
( 192 176 80 ) ( -64 176 16 ) ( 192 176 16 ) *swater4 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 6 6
|
|
||||||
( 288 64 80 ) ( 288 -256 16 ) ( 288 -256 80 ) *swater4 [ 0 -1 0 -16 ] [ 0 0 -1 0 ] 0 6 6
|
|
||||||
}
|
|
||||||
// brush 1
|
|
||||||
{
|
|
||||||
( -176 -256 -16 ) ( -176 -255 -16 ) ( -176 -256 -15 ) tsl_wall1 [ 0 -1 0 0 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( -176 -432 -16 ) ( -176 -432 -15 ) ( -175 -432 -16 ) tsl_wall1 [ 1 0 0 16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( -176 -256 16 ) ( -175 -256 16 ) ( -176 -255 16 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 -1 0 0 ] 0 6 6
|
|
||||||
( -160 192 272 ) ( -160 193 272 ) ( -159 192 272 ) tsl_wall1 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 6 6
|
|
||||||
( -160 176 0 ) ( -159 176 0 ) ( -160 176 1 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( -160 192 0 ) ( -160 192 1 ) ( -160 193 0 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
}
|
|
||||||
// brush 2
|
|
||||||
{
|
|
||||||
( -160 176 8 ) ( -160 177 8 ) ( -160 176 9 ) tsl_wall1 [ 0 1.0000000000000002 0 -32 ] [ 0 0 -1.0000000000000002 16 ] 0 6 6
|
|
||||||
( -160 176 8 ) ( -160 176 9 ) ( -159 176 8 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( -160 176 16 ) ( -159 176 16 ) ( -160 177 16 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 -40 ] 0 6 6
|
|
||||||
( 288 192 272 ) ( 288 193 272 ) ( 289 192 272 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 48 ] 0 6 6
|
|
||||||
( 288 192 16 ) ( 289 192 16 ) ( 288 192 17 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( 288 192 16 ) ( 288 192 17 ) ( 288 193 16 ) tsl_wall1 [ 0 -1.0000000000000002 0 0 ] [ 0 0 -1.0000000000000002 16 ] 0 6 6
|
|
||||||
}
|
|
||||||
// brush 3
|
|
||||||
{
|
|
||||||
( -160 -112 16 ) ( -160 -111 16 ) ( -160 -112 17 ) orangestuff8 [ 0 1 0 -16 ] [ 0 0 -1 -16 ] 0 6 6
|
|
||||||
( -80 -432 0 ) ( -81 -432 0 ) ( -80 -432 1 ) orangestuff8 [ -1 0 0 16 ] [ 0 0 -1 -16 ] 180 6 6
|
|
||||||
( -80 -432 0 ) ( -80 -431 0 ) ( -81 -432 0 ) orangestuff8 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 180 6 6
|
|
||||||
( -160 -112 16 ) ( -161 -112 16 ) ( -160 -111 16 ) orangestuff8 [ -1 0 0 16 ] [ 0 -1 0 16 ] 180 6 6
|
|
||||||
( -160 176 16 ) ( -160 176 17 ) ( -161 176 16 ) orangestuff8 [ 1 0 0 -16 ] [ 0 0 -1 -16 ] 180 6 6
|
|
||||||
( 288 -432 0 ) ( 288 -432 1 ) ( 288 -431 0 ) orangestuff8 [ 0 -1 0 16 ] [ 0 0 -1 -16 ] 0 6 6
|
|
||||||
}
|
|
||||||
// brush 4
|
|
||||||
{
|
|
||||||
( -160 -448 8 ) ( -160 -447 8 ) ( -160 -448 9 ) tsl_wall1 [ 0 1.0000000000000002 0 80 ] [ 0 0 -1.0000000000000002 16 ] 0 6 6
|
|
||||||
( -160 -448 8 ) ( -160 -448 9 ) ( -159 -448 8 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( -160 -448 16 ) ( -159 -448 16 ) ( -160 -447 16 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 72 ] 0 6 6
|
|
||||||
( 288 -432 272 ) ( 288 -431 272 ) ( 289 -432 272 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 -64 ] 0 6 6
|
|
||||||
( 288 -432 16 ) ( 289 -432 16 ) ( 288 -432 17 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( 288 -432 16 ) ( 288 -432 17 ) ( 288 -431 16 ) tsl_wall1 [ 0 -1.0000000000000002 0 -112 ] [ 0 0 -1.0000000000000002 16 ] 0 6 6
|
|
||||||
}
|
|
||||||
// brush 5
|
|
||||||
{
|
|
||||||
( -160 -256 272 ) ( -160 -255 272 ) ( -160 -256 273 ) orangestuff8 [ 0 0 -1.0000000000000002 -16 ] [ 0 -1.0000000000000002 0 0 ] 180 6 6
|
|
||||||
( 288 -432 280 ) ( 288 -432 281 ) ( 289 -432 280 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 0 ] 180 6 6
|
|
||||||
( -160 -256 272 ) ( -159 -256 272 ) ( -160 -255 272 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 6 6
|
|
||||||
( 288 176 288 ) ( 288 177 288 ) ( 289 176 288 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 6 6
|
|
||||||
( 288 176 280 ) ( 289 176 280 ) ( 288 176 281 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 0 ] 180 6 6
|
|
||||||
( 288 176 280 ) ( 288 176 281 ) ( 288 177 280 ) orangestuff8 [ 0 0 1.0000000000000002 16 ] [ 0 -1.0000000000000002 0 0 ] 180 6 6
|
|
||||||
}
|
|
||||||
// brush 6
|
|
||||||
{
|
|
||||||
( 288 192 0 ) ( 288 193 0 ) ( 288 192 1 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
( 304 -432 -16 ) ( 303 -432 -16 ) ( 304 -432 -15 ) tsl_wall1 [ -1 0 0 16 ] [ 0 0 -1 16 ] 180 6 6
|
|
||||||
( 304 -256 16 ) ( 304 -255 16 ) ( 303 -256 16 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 6 6
|
|
||||||
( 304 -256 272 ) ( 303 -256 272 ) ( 304 -255 272 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 6 6
|
|
||||||
( 288 176 0 ) ( 288 176 1 ) ( 287 176 0 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 0 -1 16 ] 180 6 6
|
|
||||||
( 304 -256 -16 ) ( 304 -256 -15 ) ( 304 -255 -16 ) tsl_wall1 [ 0 -1 0 0 ] [ 0 0 -1 16 ] 0 6 6
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// entity 1
|
|
||||||
{
|
|
||||||
"classname" "func_detail_illusionary"
|
|
||||||
"_mirrorinside" "1"
|
|
||||||
// brush 0
|
|
||||||
{
|
|
||||||
( 16 -144 48 ) ( 16 -143 48 ) ( 16 -144 49 ) {trigger [ 0 1.0000000000000002 0 42.666664 ] [ 0 0 -1.0000000000000002 -32 ] 0 6 6
|
|
||||||
( 16 -104 48 ) ( 16 -104 49 ) ( 17 -104 48 ) {trigger [ -1 0 0 32 ] [ 0 0 -1 -32 ] 0 6 6
|
|
||||||
( 16 -144 16 ) ( 17 -144 16 ) ( 16 -143 16 ) {trigger [ -1.0000000000000002 0 0 32 ] [ 0 1.0000000000000002 0 -21.333336 ] 0 6 6
|
|
||||||
( 96 -128 128 ) ( 96 -127 128 ) ( 97 -128 128 ) {trigger [ -1.0000000000000002 0 0 32 ] [ 0 -1.0000000000000002 0 -8 ] 0 6 6
|
|
||||||
( 96 -80 64 ) ( 97 -80 64 ) ( 96 -80 65 ) {trigger [ -1 0 0 32 ] [ 0 0 -1 -32 ] 0 6 6
|
|
||||||
( 40 -128 64 ) ( 40 -128 65 ) ( 40 -127 64 ) {trigger [ 0 -1.0000000000000002 0 12.000002 ] [ 0 0 -1.0000000000000002 -32 ] 0 6 6
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// entity 2
|
|
||||||
{
|
|
||||||
"classname" "light"
|
|
||||||
"origin" "72 -136 168"
|
|
||||||
"light" "3000"
|
|
||||||
}
|
|
||||||
// entity 3
|
|
||||||
{
|
|
||||||
"classname" "info_player_start"
|
|
||||||
"origin" "-88 -64 120"
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
// Game: Quake
|
||||||
|
// Format: Valve
|
||||||
|
// entity 0
|
||||||
|
{
|
||||||
|
"mapversion" "220"
|
||||||
|
"classname" "worldspawn"
|
||||||
|
"wad" "deprecated/free_wad.wad;deprecated/fence.wad;deprecated/origin.wad;deprecated/hintskip.wad"
|
||||||
|
"_wateralpha" "0.5"
|
||||||
|
"_tb_def" "builtin:Quake.fgd"
|
||||||
|
// brush 0
|
||||||
|
{
|
||||||
|
( 121.17142559585812 -0.8040405071069046 208 ) ( 63.195959492893095 -217.17142559585812 208 ) ( 121.17142559585812 -0.8040405071069046 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
( 82.79187743515854 -205.8577170968734 48 ) ( 67.33706421453346 -201.71661237523304 48 ) ( 82.79187743515854 -205.8577170968734 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( 136.6262388164832 -4.945145228747261 48 ) ( 121.17142559585812 -0.8040405071069046 48 ) ( 78.65077271351818 -221.31253031749847 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 78.65077271351818 -221.31253031749847 208 ) ( 63.195959492893095 -217.17142559585812 208 ) ( 136.6262388164832 -4.945145228747261 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 132.48513409484283 -20.39995844937235 208 ) ( 117.03032087421775 -16.25885372773199 208 ) ( 132.48513409484283 -20.39995844937235 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( 78.65077271351818 -221.31253031749847 208 ) ( 136.6262388164832 -4.945145228747261 208 ) ( 78.65077271351818 -221.31253031749847 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
}
|
||||||
|
// brush 1
|
||||||
|
{
|
||||||
|
( -168.6262388164832 -155.05485477125274 48 ) ( -110.6507727135182 61.31253031749847 48 ) ( -168.6262388164832 -155.05485477125274 208 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
( -164.48513409484286 -139.60004155062765 208 ) ( -149.03032087421775 -143.741146272268 208 ) ( -164.48513409484286 -139.60004155062765 48 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( -168.6262388164832 -155.05485477125274 48 ) ( -153.17142559585812 -159.1959594928931 48 ) ( -110.6507727135182 61.31253031749847 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -110.6507727135182 61.31253031749847 208 ) ( -95.19595949289308 57.17142559585811 208 ) ( -168.6262388164832 -155.05485477125274 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -114.79187743515857 45.85771709687339 48 ) ( -99.33706421453346 41.71661237523303 48 ) ( -114.79187743515857 45.85771709687339 208 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( -153.17142559585812 -159.1959594928931 48 ) ( -153.17142559585812 -159.1959594928931 208 ) ( -95.19595949289308 57.17142559585811 48 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
}
|
||||||
|
// brush 2
|
||||||
|
{
|
||||||
|
( -95.19595949289308 57.17142559585811 208 ) ( -99.33706421453346 41.71661237523303 208 ) ( -95.19595949289308 57.17142559585811 48 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
( 117.03032087421775 -16.25885372773199 208 ) ( 117.03032087421775 -16.25885372773199 48 ) ( -99.33706421453346 41.71661237523303 208 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( -95.19595949289308 57.17142559585811 48 ) ( -99.33706421453346 41.71661237523303 48 ) ( 121.17142559585812 -0.8040405071069046 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 121.17142559585812 -0.8040405071069046 208 ) ( 117.03032087421775 -16.25885372773199 208 ) ( -95.19595949289308 57.17142559585811 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 121.17142559585812 -0.8040405071069046 208 ) ( -95.19595949289308 57.17142559585811 208 ) ( 121.17142559585812 -0.8040405071069046 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( 121.17142559585812 -0.8040405071069046 48 ) ( 117.03032087421775 -16.25885372773199 48 ) ( 121.17142559585812 -0.8040405071069046 208 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
}
|
||||||
|
// brush 3
|
||||||
|
{
|
||||||
|
( -153.17142559585812 -159.1959594928931 48 ) ( -149.03032087421775 -143.741146272268 48 ) ( -153.17142559585812 -159.1959594928931 208 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
( 63.195959492893095 -217.17142559585812 48 ) ( -153.17142559585812 -159.1959594928931 48 ) ( 63.195959492893095 -217.17142559585812 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( 63.195959492893095 -217.17142559585812 48 ) ( 67.33706421453346 -201.71661237523304 48 ) ( -153.17142559585812 -159.1959594928931 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -153.17142559585812 -159.1959594928931 208 ) ( -149.03032087421775 -143.741146272268 208 ) ( 63.195959492893095 -217.17142559585812 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -149.03032087421775 -143.741146272268 48 ) ( 67.33706421453346 -201.71661237523304 48 ) ( -149.03032087421775 -143.741146272268 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 -16 ] 180 2 2
|
||||||
|
( 63.195959492893095 -217.17142559585812 208 ) ( 67.33706421453346 -201.71661237523304 208 ) ( 63.195959492893095 -217.17142559585812 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 -16 ] 0 2 2
|
||||||
|
}
|
||||||
|
// brush 4
|
||||||
|
{
|
||||||
|
( -149.03032087421775 -143.741146272268 224 ) ( -149.03032087421775 -143.741146272268 208 ) ( -99.33706421453346 41.71661237523303 224 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 0 ] 0 2 2
|
||||||
|
( 67.33706421453346 -201.71661237523304 224 ) ( 67.33706421453346 -201.71661237523304 208 ) ( -149.03032087421775 -143.741146272268 224 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 0 ] 180 2 2
|
||||||
|
( 117.03032087421775 -16.25885372773199 208 ) ( -99.33706421453346 41.71661237523303 208 ) ( 67.33706421453346 -201.71661237523304 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 117.03032087421775 -16.25885372773199 224 ) ( 67.33706421453346 -201.71661237523304 224 ) ( -99.33706421453346 41.71661237523303 224 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -99.33706421453346 41.71661237523303 224 ) ( -99.33706421453346 41.71661237523303 208 ) ( 117.03032087421775 -16.25885372773199 224 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 0 ] 180 2 2
|
||||||
|
( 117.03032087421775 -16.25885372773199 224 ) ( 117.03032087421775 -16.25885372773199 208 ) ( 67.33706421453346 -201.71661237523304 224 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 0 ] 0 2 2
|
||||||
|
}
|
||||||
|
// brush 5
|
||||||
|
{
|
||||||
|
( -99.33706421453346 41.71661237523303 32 ) ( -99.33706421453346 41.71661237523303 48 ) ( -149.03032087421775 -143.741146272268 32 ) bolt16 [ 0 1 0 16 ] [ 0 0 -1 32 ] 0 2 2
|
||||||
|
( -149.03032087421775 -143.741146272268 32 ) ( -149.03032087421775 -143.741146272268 48 ) ( 67.33706421453346 -201.71661237523304 32 ) bolt16 [ -1 0 0 -16 ] [ 0 0 -1 32 ] 180 2 2
|
||||||
|
( -99.33706421453346 41.71661237523303 32 ) ( -149.03032087421775 -143.741146272268 32 ) ( 117.03032087421775 -16.25885372773199 32 ) bolt16 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( -149.03032087421775 -143.741146272268 48 ) ( -99.33706421453346 41.71661237523303 48 ) ( 67.33706421453346 -201.71661237523304 48 ) bolt16 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 2 2
|
||||||
|
( 117.03032087421775 -16.25885372773199 32 ) ( 117.03032087421775 -16.25885372773199 48 ) ( -99.33706421453346 41.71661237523303 32 ) bolt16 [ 1 0 0 16 ] [ 0 0 -1 32 ] 180 2 2
|
||||||
|
( 67.33706421453346 -201.71661237523304 32 ) ( 67.33706421453346 -201.71661237523304 48 ) ( 117.03032087421775 -16.25885372773199 32 ) bolt16 [ 0 -1 0 -16 ] [ 0 0 -1 32 ] 0 2 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// entity 1
|
||||||
|
{
|
||||||
|
"classname" "info_player_start"
|
||||||
|
"origin" "-58.7781 -85.1021 120"
|
||||||
|
"angle" "345"
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,80 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_angled_brush.map
|
|
||||||
Output file: qbsp_angled_brush.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Opened WAD: deprecated/fence.wad
|
|
||||||
Opened WAD: deprecated/origin.wad
|
|
||||||
Opened WAD: deprecated/hintskip.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
7 solid brushes
|
|
||||||
18 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
42 brushfaces
|
|
||||||
42 csgfaces
|
|
||||||
42 mergedfaces
|
|
||||||
18 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
30 split nodes
|
|
||||||
7 solid leafs
|
|
||||||
24 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
156 leaffaces
|
|
||||||
126 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
24 vis leafs
|
|
||||||
24 vis clusters
|
|
||||||
52 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
18 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
12 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
12 split nodes
|
|
||||||
7 solid leafs
|
|
||||||
6 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
68 leaffaces
|
|
||||||
38 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
6 vis leafs
|
|
||||||
6 vis clusters
|
|
||||||
12 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
40 world edges
|
|
||||||
124 edge points
|
|
||||||
16 edges added by tjunctions
|
|
||||||
0 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
Processing hull 2...
|
|
||||||
Writing qbsp_angled_brush.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_angled_brush.bsp
|
|
||||||
1 models
|
|
||||||
58 planes 1160
|
|
||||||
50 vertexes 600
|
|
||||||
12 nodes 288
|
|
||||||
9 texinfos 360
|
|
||||||
38 faces 760
|
|
||||||
70 clipnodes 560
|
|
||||||
7 leafs 196
|
|
||||||
68 marksurfaces 136
|
|
||||||
85 edges 340
|
|
||||||
168 surfedges 672
|
|
||||||
textures 2
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 319
|
|
||||||
|
|
||||||
0.018s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,58 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_brush_clipping_order.map
|
|
||||||
Output file: qbsp_brush_clipping_order.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
2 solid brushes
|
|
||||||
11 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
12 brushfaces
|
|
||||||
10 csgfaces
|
|
||||||
10 mergedfaces
|
|
||||||
6 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
6 split nodes
|
|
||||||
1 solid leafs
|
|
||||||
6 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
10 leaffaces
|
|
||||||
10 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
6 vis leafs
|
|
||||||
6 vis clusters
|
|
||||||
12 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
WARNING: Reached occupant "info_player_start" at (-104 -8 40), no filling performed.
|
|
||||||
Leak file written to qbsp_brush_clipping_order.pts
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
WARNING: No entities in empty space -- no filling performed (hull 1)
|
|
||||||
Processing hull 2...
|
|
||||||
WARNING: No entities in empty space -- no filling performed (hull 2)
|
|
||||||
Writing qbsp_brush_clipping_order.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_brush_clipping_order.bsp
|
|
||||||
2 models
|
|
||||||
20 planes 400
|
|
||||||
32 vertexes 384
|
|
||||||
12 nodes 288
|
|
||||||
4 texinfos 160
|
|
||||||
20 faces 400
|
|
||||||
24 clipnodes 192
|
|
||||||
13 leafs 364
|
|
||||||
20 marksurfaces 40
|
|
||||||
55 edges 220
|
|
||||||
88 surfedges 352
|
|
||||||
textures 2
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 180
|
|
||||||
|
|
||||||
0.010s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,81 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_func_detail.map
|
|
||||||
Output file: qbsp_func_detail.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Opened WAD: deprecated/fence.wad
|
|
||||||
Opened WAD: deprecated/origin.wad
|
|
||||||
Opened WAD: deprecated/hintskip.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
7 solid brushes
|
|
||||||
1 detail brushes
|
|
||||||
21 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
48 brushfaces
|
|
||||||
53 csgfaces
|
|
||||||
58 mergedfaces
|
|
||||||
21 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
62 split nodes
|
|
||||||
17 solid leafs
|
|
||||||
45 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
1 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
157 leaffaces
|
|
||||||
146 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
46 vis leafs
|
|
||||||
46 vis clusters
|
|
||||||
99 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
37 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
28 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
17 split nodes
|
|
||||||
9 solid leafs
|
|
||||||
8 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
1 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
70 leaffaces
|
|
||||||
52 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
8 vis leafs
|
|
||||||
4 vis clusters
|
|
||||||
5 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
50 world edges
|
|
||||||
164 edge points
|
|
||||||
40 edges added by tjunctions
|
|
||||||
0 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
Processing hull 2...
|
|
||||||
Writing qbsp_func_detail.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_func_detail.bsp
|
|
||||||
1 models
|
|
||||||
40 planes 800
|
|
||||||
68 vertexes 816
|
|
||||||
17 nodes 408
|
|
||||||
12 texinfos 480
|
|
||||||
46 faces 920
|
|
||||||
62 clipnodes 496
|
|
||||||
9 leafs 252
|
|
||||||
64 marksurfaces 128
|
|
||||||
113 edges 452
|
|
||||||
224 surfedges 896
|
|
||||||
textures 6
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 320
|
|
||||||
|
|
||||||
0.018s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,80 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_func_detail_illusionary_plus_water.map
|
|
||||||
Output file: qbsp_func_detail_illusionary_plus_water.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/fence.wad
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
6 solid brushes
|
|
||||||
1 detail illusionary brushes
|
|
||||||
1 liquid brushes
|
|
||||||
18 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
48 brushfaces
|
|
||||||
50 csgfaces
|
|
||||||
60 mergedfaces
|
|
||||||
18 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
34 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
23 empty leafs
|
|
||||||
5 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
1 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
84 leaffaces
|
|
||||||
60 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
29 vis leafs
|
|
||||||
29 vis clusters
|
|
||||||
56 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
18 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
30 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
16 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
5 empty leafs
|
|
||||||
5 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
1 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
54 leaffaces
|
|
||||||
30 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
11 vis leafs
|
|
||||||
2 vis clusters
|
|
||||||
1 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
32 world edges
|
|
||||||
72 edge points
|
|
||||||
0 edges added by tjunctions
|
|
||||||
0 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
Processing hull 2...
|
|
||||||
Writing qbsp_func_detail_illusionary_plus_water.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_func_detail_illusionary_plus_water.bsp
|
|
||||||
1 models
|
|
||||||
23 planes 460
|
|
||||||
24 vertexes 288
|
|
||||||
16 nodes 384
|
|
||||||
9 texinfos 360
|
|
||||||
30 faces 600
|
|
||||||
12 clipnodes 96
|
|
||||||
12 leafs 336
|
|
||||||
54 marksurfaces 108
|
|
||||||
65 edges 260
|
|
||||||
120 surfedges 480
|
|
||||||
textures 4
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 223
|
|
||||||
|
|
||||||
0.015s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,80 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_origin.map
|
|
||||||
Output file: qbsp_origin.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Opened WAD: deprecated/fence.wad
|
|
||||||
Opened WAD: deprecated/origin.wad
|
|
||||||
Opened WAD: deprecated/hintskip.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
6 solid brushes
|
|
||||||
12 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
36 brushfaces
|
|
||||||
36 csgfaces
|
|
||||||
36 mergedfaces
|
|
||||||
12 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
24 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
19 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
120 leaffaces
|
|
||||||
120 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
19 vis leafs
|
|
||||||
19 vis clusters
|
|
||||||
40 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
18 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
6 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
6 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
1 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
32 leaffaces
|
|
||||||
32 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
1 vis leafs
|
|
||||||
1 vis clusters
|
|
||||||
0 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
28 world edges
|
|
||||||
100 edge points
|
|
||||||
16 edges added by tjunctions
|
|
||||||
0 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
Processing hull 2...
|
|
||||||
Writing qbsp_origin.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_origin.bsp
|
|
||||||
2 models
|
|
||||||
58 planes 1160
|
|
||||||
66 vertexes 792
|
|
||||||
20 nodes 480
|
|
||||||
18 texinfos 720
|
|
||||||
54 faces 1080
|
|
||||||
64 clipnodes 512
|
|
||||||
12 leafs 336
|
|
||||||
54 marksurfaces 108
|
|
||||||
117 edges 468
|
|
||||||
232 surfedges 928
|
|
||||||
textures 4
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 408
|
|
||||||
|
|
||||||
0.017s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,80 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_sealing_point_entity_on_outside.map
|
|
||||||
Output file: qbsp_sealing_point_entity_on_outside.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Opened WAD: deprecated/fence.wad
|
|
||||||
Opened WAD: deprecated/origin.wad
|
|
||||||
Opened WAD: deprecated/hintskip.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
6 solid brushes
|
|
||||||
12 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
36 brushfaces
|
|
||||||
36 csgfaces
|
|
||||||
36 mergedfaces
|
|
||||||
12 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
24 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
19 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
120 leaffaces
|
|
||||||
120 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
19 vis leafs
|
|
||||||
19 vis clusters
|
|
||||||
40 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
18 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
6 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
6 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
1 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
32 leaffaces
|
|
||||||
32 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
1 vis leafs
|
|
||||||
1 vis clusters
|
|
||||||
0 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
28 world edges
|
|
||||||
100 edge points
|
|
||||||
16 edges added by tjunctions
|
|
||||||
0 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
Processing hull 2...
|
|
||||||
Writing qbsp_sealing_point_entity_on_outside.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_sealing_point_entity_on_outside.bsp
|
|
||||||
1 models
|
|
||||||
17 planes 340
|
|
||||||
42 vertexes 504
|
|
||||||
6 nodes 144
|
|
||||||
4 texinfos 160
|
|
||||||
32 faces 640
|
|
||||||
12 clipnodes 96
|
|
||||||
2 leafs 56
|
|
||||||
32 marksurfaces 64
|
|
||||||
73 edges 292
|
|
||||||
144 surfedges 576
|
|
||||||
textures 2
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 463
|
|
||||||
|
|
||||||
0.013s seconds elapsed
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1,79 +0,0 @@
|
||||||
---- qbsp / ericw-tools v0.18.1-636-g19dbc1c ----
|
|
||||||
Input file: qbsp_tjunc_many_sided_face.map
|
|
||||||
Output file: qbsp_tjunc_many_sided_face.bsp
|
|
||||||
|
|
||||||
WARNING: No info_player_deathmatch entities in level
|
|
||||||
Opened WAD: deprecated/free_wad.wad
|
|
||||||
Processing hull 0...
|
|
||||||
---- Brush_LoadEntity ----
|
|
||||||
82 solid brushes
|
|
||||||
50 planes
|
|
||||||
---- CSGFaces ----
|
|
||||||
492 brushfaces
|
|
||||||
340 csgfaces
|
|
||||||
340 mergedfaces
|
|
||||||
12 surfaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
24 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
19 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
732 leaffaces
|
|
||||||
732 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
19 vis leafs
|
|
||||||
19 vis clusters
|
|
||||||
40 vis portals
|
|
||||||
---- FillOutside ----
|
|
||||||
18 outleafs
|
|
||||||
---- MergeAll ----
|
|
||||||
82 mergefaces
|
|
||||||
---- SolidBSP ----
|
|
||||||
6 split nodes
|
|
||||||
6 solid leafs
|
|
||||||
1 empty leafs
|
|
||||||
0 water leafs
|
|
||||||
0 detail leafs
|
|
||||||
0 detail illusionary leafs
|
|
||||||
0 detail fence leafs
|
|
||||||
0 illusionary visblocker leafs
|
|
||||||
386 leaffaces
|
|
||||||
386 nodefaces
|
|
||||||
---- PortalizeWorld ----
|
|
||||||
1 vis leafs
|
|
||||||
1 vis clusters
|
|
||||||
0 vis portals
|
|
||||||
---- TJunc ----
|
|
||||||
120 world edges
|
|
||||||
988 edge points
|
|
||||||
192 edges added by tjunctions
|
|
||||||
1 faces added by tjunctions
|
|
||||||
---- MakeFaceEdges ----
|
|
||||||
---- GrowRegions ----
|
|
||||||
Processing hull 1...
|
|
||||||
WARNING: No entities in empty space -- no filling performed (hull 1)
|
|
||||||
Processing hull 2...
|
|
||||||
WARNING: No entities in empty space -- no filling performed (hull 2)
|
|
||||||
Writing qbsp_tjunc_many_sided_face.bsp as BSP version Quake BSP
|
|
||||||
Wrote qbsp_tjunc_many_sided_face.bsp
|
|
||||||
1 models
|
|
||||||
39 planes 780
|
|
||||||
484 vertexes 5808
|
|
||||||
6 nodes 144
|
|
||||||
18 texinfos 720
|
|
||||||
387 faces 7740
|
|
||||||
112 clipnodes 896
|
|
||||||
2 leafs 56
|
|
||||||
387 marksurfaces 774
|
|
||||||
870 edges 3480
|
|
||||||
1738 surfedges 6952
|
|
||||||
textures 3
|
|
||||||
lightdata 0
|
|
||||||
visdata 0
|
|
||||||
entdata 139
|
|
||||||
|
|
||||||
0.056s seconds elapsed
|
|
||||||
61
vis/vis.cc
61
vis/vis.cc
|
|
@ -7,6 +7,7 @@
|
||||||
#include <vis/leafbits.hh>
|
#include <vis/leafbits.hh>
|
||||||
#include <vis/vis.hh>
|
#include <vis/vis.hh>
|
||||||
#include <common/log.hh>
|
#include <common/log.hh>
|
||||||
|
#include <common/bsputils.hh>
|
||||||
#include <common/threads.hh>
|
#include <common/threads.hh>
|
||||||
#include <common/fs.hh>
|
#include <common/fs.hh>
|
||||||
#include <common/parallel.hh>
|
#include <common/parallel.hh>
|
||||||
|
|
@ -65,66 +66,6 @@ settings::vis_settings options;
|
||||||
|
|
||||||
fs::path portalfile, statefile, statetmpfile;
|
fs::path portalfile, statefile, statetmpfile;
|
||||||
|
|
||||||
/*
|
|
||||||
===============
|
|
||||||
CompressRow
|
|
||||||
===============
|
|
||||||
*/
|
|
||||||
int CompressRow(const uint8_t *vis, const int numbytes, uint8_t *out)
|
|
||||||
{
|
|
||||||
int i, rep;
|
|
||||||
uint8_t *dst;
|
|
||||||
|
|
||||||
dst = out;
|
|
||||||
for (i = 0; i < numbytes; i++) {
|
|
||||||
*dst++ = vis[i];
|
|
||||||
if (vis[i])
|
|
||||||
continue;
|
|
||||||
|
|
||||||
rep = 1;
|
|
||||||
for (i++; i < numbytes; i++)
|
|
||||||
if (vis[i] || rep == 255)
|
|
||||||
break;
|
|
||||||
else
|
|
||||||
rep++;
|
|
||||||
*dst++ = rep;
|
|
||||||
i--;
|
|
||||||
}
|
|
||||||
|
|
||||||
return dst - out;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
===================
|
|
||||||
DecompressRow
|
|
||||||
===================
|
|
||||||
*/
|
|
||||||
void DecompressRow(const uint8_t *in, const int numbytes, uint8_t *decompressed)
|
|
||||||
{
|
|
||||||
int c;
|
|
||||||
uint8_t *out;
|
|
||||||
int row;
|
|
||||||
|
|
||||||
row = numbytes;
|
|
||||||
out = decompressed;
|
|
||||||
|
|
||||||
do {
|
|
||||||
if (*in) {
|
|
||||||
*out++ = *in++;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
c = in[1];
|
|
||||||
if (!c)
|
|
||||||
FError("0 repeat");
|
|
||||||
in += 2;
|
|
||||||
while (c) {
|
|
||||||
*out++ = 0;
|
|
||||||
c--;
|
|
||||||
}
|
|
||||||
} while (out - decompressed < row);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
==================
|
==================
|
||||||
AllocStackWinding
|
AllocStackWinding
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue