diff --git a/.gitignore b/.gitignore index 00959f5f..3d092fcd 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ CMakeFiles/ *.xcodeproj .*/ testmaps/*.bsp +testmaps/*.bsp.qbsplog testmaps/*.log testmaps/*.prt testmaps/*.vis diff --git a/testmaps/automatated_tests.sh b/testmaps/automatated_tests.sh index 2d692ea8..3f6072b9 100755 --- a/testmaps/automatated_tests.sh +++ b/testmaps/automatated_tests.sh @@ -37,6 +37,7 @@ light invalid_texture_axes.map || exit 1 HASH_CHECK_BSPS="qbsp_func_detail.bsp \ qbsp_func_detail_illusionary_plus_water.bsp \ +qbsp_origin.bsp \ e1m1-bsp29.bsp \ e1m1-bsp2.bsp \ e1m1-2psb.bsp \ @@ -53,7 +54,8 @@ 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_func_detail_illusionary_plus_water.bsp \ +qbsp_origin.bsp" # smaller test maps for specific features/combinations # check .json diff of COMMIT_JSON_MAPS diff --git a/testmaps/qbsp-vis.sha256sum b/testmaps/qbsp-vis.sha256sum index 3476fa8c..500af956 100644 --- a/testmaps/qbsp-vis.sha256sum +++ b/testmaps/qbsp-vis.sha256sum @@ -1,5 +1,6 @@ 415d75b92b48e753b3ffc462b9e002a6c4e659481e8cc7609b268d03d0985029 *qbsp_func_detail.bsp c9524f3858d9df55f612fb4b75670434712c2ed58a37e8534bf48f82eb6f81db *qbsp_func_detail_illusionary_plus_water.bsp +d53dd0556bca6dc2cc0663732e0e0494b280dae5ced4a3b653078122f287cdff *qbsp_origin.bsp c3e0cfd0388a730835a73eb33155a454e459d2173e4b2e4df3825a45e1d9b34e *e1m1-bsp29.bsp 6c1280a4db77acd2076a47cf918f1ef7d60e6646bfb995373c122fe74522d495 *e1m1-bsp2.bsp c73b5d7c4a769fc49ef84f7dd5e1c0e241526ba38ed3c65995f0addbf5052bb1 *e1m1-2psb.bsp diff --git a/testmaps/qbsp.sha256sum b/testmaps/qbsp.sha256sum index 5c837b7a..f0af8d88 100644 --- a/testmaps/qbsp.sha256sum +++ b/testmaps/qbsp.sha256sum @@ -1,5 +1,6 @@ 6b27857f7fca00c0412998db914f19f1e0c1408dbbd8800230589a39c67b94bb *qbsp_func_detail.bsp 9c316cfa2587aba74925a96883bc5553490daf14ad3ed31a2669cfd7a53036a2 *qbsp_func_detail_illusionary_plus_water.bsp +5758716ec3ba451cc293ae25eecff4679c0ad7379bef09f0b01f19ce6eb52d63 *qbsp_origin.bsp 9c8e99b94adab8a1c167585cea24b93f5de97eb27edfa1d1bdf62e65b8c41225 *e1m1-bsp29.bsp 663d18865131d41cd2e3114c1cbe19d81aadd12bd6c76b8500508b9216bbf167 *e1m1-bsp2.bsp 1a1b53f1bdebf966a0846b9466638c0b3b3678eee6488fb572dd9a9ccd7b3084 *e1m1-2psb.bsp @@ -12,6 +13,7 @@ af969da100d8dda94d355277c60382c925aabe18c6a4ce9b7500e4e43313f7f4 *e1m1-bspxbrush 02edda18a76b57b2e24f92b4dc9967239ebb9e5136e4f43522e381059bafd458 *qbspfeatures.bsp abf3633d5a6d0e167ce9bacec476d3408c8240df5f3d72d14867cd201d4e3674 *qbsp_func_detail.prt c0995c6b92256fa048c1a755ebe7e07f5fae33cb64e3c53adc234380fe44f267 *qbsp_func_detail_illusionary_plus_water.prt +b1ac538e53efc28ace2088324b1c0504d0f09b013d30b39ce231d76124bc6c22 *qbsp_origin.prt 08349ab23c97120c41493d8fb00b9a6c41553aba64b1710ba11cc5bdfbe51e45 *e1m1-bsp29.prt 08349ab23c97120c41493d8fb00b9a6c41553aba64b1710ba11cc5bdfbe51e45 *e1m1-bsp2.prt 08349ab23c97120c41493d8fb00b9a6c41553aba64b1710ba11cc5bdfbe51e45 *e1m1-2psb.prt diff --git a/testmaps/qbsp_origin.map b/testmaps/qbsp_origin.map new file mode 100644 index 00000000..17fa7963 --- /dev/null +++ b/testmaps/qbsp_origin.map @@ -0,0 +1,134 @@ +// 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:Quoth2.fgd" +// brush 0 +{ +( -176 -256 64 ) ( -176 -255 64 ) ( -176 -256 65 ) tsl_wall1 [ 0 -1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +( -176 -432 64 ) ( -176 -432 65 ) ( -175 -432 64 ) tsl_wall1 [ 1 0 0 16 ] [ 0 0 -1 -32 ] 0 1 1 +( -176 -256 96 ) ( -175 -256 96 ) ( -176 -255 96 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 -1 0 0 ] 0 1 1 +( -160 192 352 ) ( -160 193 352 ) ( -159 192 352 ) tsl_wall1 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1 +( -160 176 80 ) ( -159 176 80 ) ( -160 176 81 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( -160 192 80 ) ( -160 192 81 ) ( -160 193 80 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +} +// brush 1 +{ +( -160 176 88 ) ( -160 177 88 ) ( -160 176 89 ) tsl_wall1 [ 0 1.0000000000000002 0 -32 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( -160 176 88 ) ( -160 176 89 ) ( -159 176 88 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( -160 176 96 ) ( -159 176 96 ) ( -160 177 96 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 -40 ] 0 1 1 +( 288 192 352 ) ( 288 193 352 ) ( 289 192 352 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 48 ] 0 1 1 +( 288 192 96 ) ( 289 192 96 ) ( 288 192 97 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 288 192 96 ) ( 288 192 97 ) ( 288 193 96 ) tsl_wall1 [ 0 -1.0000000000000002 0 0 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +} +// brush 2 +{ +( -160 -112 96 ) ( -160 -111 96 ) ( -160 -112 97 ) orangestuff8 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 1 1 +( -80 -432 80 ) ( -81 -432 80 ) ( -80 -432 81 ) orangestuff8 [ -1 0 0 16 ] [ 0 0 -1 0 ] 180 1 1 +( -80 -432 80 ) ( -80 -431 80 ) ( -81 -432 80 ) orangestuff8 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 180 1 1 +( -160 -112 96 ) ( -161 -112 96 ) ( -160 -111 96 ) orangestuff8 [ -1 0 0 16 ] [ 0 -1 0 16 ] 180 1 1 +( -160 176 96 ) ( -160 176 97 ) ( -161 176 96 ) orangestuff8 [ 1 0 0 -16 ] [ 0 0 -1 0 ] 180 1 1 +( 288 -432 80 ) ( 288 -432 81 ) ( 288 -431 80 ) orangestuff8 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 3 +{ +( -160 -448 88 ) ( -160 -447 88 ) ( -160 -448 89 ) tsl_wall1 [ 0 1.0000000000000002 0 80 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( -160 -448 88 ) ( -160 -448 89 ) ( -159 -448 88 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( -160 -448 96 ) ( -159 -448 96 ) ( -160 -447 96 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 72 ] 0 1 1 +( 288 -432 352 ) ( 288 -431 352 ) ( 289 -432 352 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 -64 ] 0 1 1 +( 288 -432 96 ) ( 289 -432 96 ) ( 288 -432 97 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 288 -432 96 ) ( 288 -432 97 ) ( 288 -431 96 ) tsl_wall1 [ 0 -1.0000000000000002 0 -112 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +} +// brush 4 +{ +( -160 -256 352 ) ( -160 -255 352 ) ( -160 -256 353 ) orangestuff8 [ 0 0 -1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 1 1 +( 288 -432 360 ) ( 288 -432 361 ) ( 289 -432 360 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 1 1 +( -160 -256 352 ) ( -159 -256 352 ) ( -160 -255 352 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 +( 288 176 368 ) ( 288 177 368 ) ( 289 176 368 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 +( 288 176 360 ) ( 289 176 360 ) ( 288 176 361 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 1 1 +( 288 176 360 ) ( 288 176 361 ) ( 288 177 360 ) orangestuff8 [ 0 0 1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 1 1 +} +// brush 5 +{ +( 288 192 80 ) ( 288 193 80 ) ( 288 192 81 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +( 304 -432 64 ) ( 303 -432 64 ) ( 304 -432 65 ) tsl_wall1 [ -1 0 0 16 ] [ 0 0 -1 -32 ] 180 1 1 +( 304 -256 96 ) ( 304 -255 96 ) ( 303 -256 96 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 1 1 +( 304 -256 352 ) ( 303 -256 352 ) ( 304 -255 352 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 1 1 +( 288 176 80 ) ( 288 176 81 ) ( 287 176 80 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 0 -1 -32 ] 180 1 1 +( 304 -256 64 ) ( 304 -256 65 ) ( 304 -255 64 ) tsl_wall1 [ 0 -1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +} +} +// entity 1 +{ +"classname" "light" +"origin" "72 -136 168" +"light" "3000" +} +// entity 2 +{ +"classname" "info_player_start" +"origin" "-88 -64 120" +} +// entity 3 +{ +"classname" "rotate_object" +"targetname" "fan" +// brush 0 +{ +( 208 -208 352 ) ( 208 -224 352 ) ( 208 -224 336 ) origin [ 0 -0.5 0 24 ] [ 0 0 -0.5 8 ] 0 1 1 +( 208 -224 352 ) ( 224 -224 352 ) ( 224 -224 336 ) origin [ 0.5 0 0 -52 ] [ 0 0 -0.5 8 ] 0 1 1 +( 224 -224 336 ) ( 224 -208 336 ) ( 208 -208 336 ) origin [ -0.5 0 0 52 ] [ 0 -0.5 0 24 ] 0 1 1 +( 208 -208 352 ) ( 224 -208 352 ) ( 224 -224 352 ) origin [ 0.5 0 0 -52 ] [ 0 -0.5 0 24 ] 0 1 1 +( 224 -208 336 ) ( 224 -208 352 ) ( 208 -208 352 ) origin [ -0.5 0 0 52 ] [ 0 0 -0.5 8 ] 0 1 1 +( 224 -224 352 ) ( 224 -208 352 ) ( 224 -208 336 ) origin [ 0 0.5 0 -24 ] [ 0 0 -0.5 8 ] 0 1 1 +} +// brush 1 +{ +( 212 -220 348 ) ( 204 -272 348 ) ( 204 -272 340 ) bolt14 [ -6.123233995736766e-17 -1 0 16 ] [ 0 0 -1 -12 ] 0 1 1 +( 204 -272 348 ) ( 228 -272 348 ) ( 228 -272 340 ) bolt14 [ 1 -6.123233995736766e-17 0 -20 ] [ 0 0 -1 -12 ] 0 1 1 +( 204 -272 340 ) ( 228 -272 340 ) ( 220 -220 340 ) bolt14 [ -6.123233995736766e-17 -1 0 16 ] [ 1 -6.123233995736766e-17 0 -20 ] 90 1 1 +( 220 -220 348 ) ( 228 -272 348 ) ( 204 -272 348 ) bolt14 [ 6.123233995736766e-17 1 0 -16 ] [ 1 -6.123233995736766e-17 0 -20 ] 270 1 1 +( 220 -220 340 ) ( 220 -220 348 ) ( 212 -220 348 ) bolt14 [ -1 6.123233995736766e-17 0 20 ] [ 0 0 -1 -12 ] 0 1 1 +( 228 -272 340 ) ( 228 -272 348 ) ( 220 -220 348 ) bolt14 [ 6.123233995736766e-17 1 0 -16 ] [ 0 0 -1 -12 ] 0 1 1 +} +// brush 2 +{ +( 160 -204 348 ) ( 160 -228 348 ) ( 160 -228 340 ) bolt14 [ 0 -1 0 44 ] [ 0 0 -1 -12 ] 0 1 1 +( 212 -220 340 ) ( 212 -212 340 ) ( 160 -204 340 ) bolt14 [ -1 0 0 0 ] [ 0 -1 0 44 ] 0 1 1 +( 160 -204 348 ) ( 212 -212 348 ) ( 212 -220 348 ) bolt14 [ 1 0 0 0 ] [ 0 -1 0 44 ] 0 1 1 +( 160 -228 348 ) ( 212 -220 348 ) ( 212 -220 340 ) bolt14 [ 1 0 0 0 ] [ 0 0 -1 -12 ] 0 1 1 +( 212 -212 340 ) ( 212 -212 348 ) ( 160 -204 348 ) bolt14 [ -1 0 0 0 ] [ 0 0 -1 -12 ] 0 1 1 +( 212 -220 348 ) ( 212 -212 348 ) ( 212 -212 340 ) bolt14 [ 0 1 0 -44 ] [ 0 0 -1 -12 ] 0 1 1 +} +// brush 3 +{ +( 212 -212 340 ) ( 204 -160 340 ) ( 204 -160 348 ) bolt14 [ -6.123233995736766e-17 -1 0 16 ] [ 0 0 -1 -12 ] 0 1 1 +( 212 -212 348 ) ( 220 -212 348 ) ( 220 -212 340 ) bolt14 [ 1 -6.123233995736766e-17 0 -20 ] [ 0 0 -1 -12 ] 0 1 1 +( 220 -212 340 ) ( 228 -160 340 ) ( 204 -160 340 ) bolt14 [ -6.123233995736766e-17 -1 0 16 ] [ 1 -6.123233995736766e-17 0 -20 ] 90 1 1 +( 204 -160 348 ) ( 228 -160 348 ) ( 220 -212 348 ) bolt14 [ 6.123233995736766e-17 1 0 -16 ] [ 1 -6.123233995736766e-17 0 -20 ] 270 1 1 +( 228 -160 340 ) ( 228 -160 348 ) ( 204 -160 348 ) bolt14 [ -1 6.123233995736766e-17 0 20 ] [ 0 0 -1 -12 ] 0 1 1 +( 220 -212 348 ) ( 228 -160 348 ) ( 228 -160 340 ) bolt14 [ 6.123233995736766e-17 1 0 -16 ] [ 0 0 -1 -12 ] 0 1 1 +} +// brush 4 +{ +( 220 -212 348 ) ( 220 -220 348 ) ( 220 -220 340 ) bolt14 [ 0 -1 0 44 ] [ 0 0 -1 -12 ] 0 1 1 +( 220 -220 348 ) ( 272 -228 348 ) ( 272 -228 340 ) bolt14 [ 1 0 0 0 ] [ 0 0 -1 -12 ] 0 1 1 +( 272 -204 340 ) ( 272 -204 348 ) ( 220 -212 348 ) bolt14 [ -1 0 0 0 ] [ 0 0 -1 -12 ] 0 1 1 +( 272 -228 340 ) ( 272 -204 340 ) ( 220 -212 340 ) bolt14 [ -1 0 0 0 ] [ 0 -1 0 44 ] 0 1 1 +( 220 -212 348 ) ( 272 -204 348 ) ( 272 -228 348 ) bolt14 [ 1 0 0 0 ] [ 0 -1 0 44 ] 0 1 1 +( 272 -228 348 ) ( 272 -204 348 ) ( 272 -204 340 ) bolt14 [ 0 1 0 -44 ] [ 0 0 -1 -12 ] 0 1 1 +} +// brush 5 +{ +( 212 -220 348 ) ( 212 -212 340 ) ( 212 -212 348 ) bolt14 [ 0 -1 0 20 ] [ 0 0 -1 20 ] 0 1 1 +( 220 -220 348 ) ( 212 -220 340 ) ( 212 -220 348 ) bolt14 [ 1 0 0 -24 ] [ 0 0 -1 20 ] 0 1 1 +( 220 -212 340 ) ( 212 -220 340 ) ( 220 -220 340 ) bolt14 [ -1 0 0 24 ] [ 0 -1 0 20 ] 0 1 1 +( 220 -212 348 ) ( 212 -220 348 ) ( 212 -212 348 ) bolt14 [ 1 0 0 -24 ] [ 0 -1 0 20 ] 0 1 1 +( 220 -212 348 ) ( 212 -212 340 ) ( 220 -212 340 ) bolt14 [ -1 0 0 24 ] [ 0 0 -1 20 ] 0 1 1 +( 220 -212 348 ) ( 220 -220 340 ) ( 220 -220 348 ) bolt14 [ 0 1 0 -20 ] [ 0 0 -1 20 ] 0 1 1 +} +} diff --git a/testmaps/reference_bsp_json/qbsp_origin.bsp.json b/testmaps/reference_bsp_json/qbsp_origin.bsp.json new file mode 100644 index 00000000..c149992f --- /dev/null +++ b/testmaps/reference_bsp_json/qbsp_origin.bsp.json @@ -0,0 +1,5233 @@ +{ + "clipnodes": [ + { + "children": [ + -2, + 1 + ], + "planenum": 25 + }, + { + "children": [ + 2, + -2 + ], + "planenum": 24 + }, + { + "children": [ + 3, + -2 + ], + "planenum": 23 + }, + { + "children": [ + -2, + 4 + ], + "planenum": 22 + }, + { + "children": [ + 5, + -2 + ], + "planenum": 21 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 20 + }, + { + "children": [ + 7, + 14 + ], + "planenum": 43 + }, + { + "children": [ + 8, + -1 + ], + "planenum": 32 + }, + { + "children": [ + -1, + 9 + ], + "planenum": 31 + }, + { + "children": [ + 10, + -1 + ], + "planenum": 30 + }, + { + "children": [ + -1, + 11 + ], + "planenum": 29 + }, + { + "children": [ + -1, + 12 + ], + "planenum": 28 + }, + { + "children": [ + -1, + 13 + ], + "planenum": 27 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 26 + }, + { + "children": [ + 15, + 33 + ], + "planenum": 32 + }, + { + "children": [ + 16, + 27 + ], + "planenum": 41 + }, + { + "children": [ + -1, + 17 + ], + "planenum": 39 + }, + { + "children": [ + -1, + 18 + ], + "planenum": 29 + }, + { + "children": [ + 19, + -1 + ], + "planenum": 30 + }, + { + "children": [ + 20, + 23 + ], + "planenum": 27 + }, + { + "children": [ + 21, + -2 + ], + "planenum": 35 + }, + { + "children": [ + -1, + 22 + ], + "planenum": 34 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 33 + }, + { + "children": [ + 24, + 26 + ], + "planenum": 38 + }, + { + "children": [ + -2, + 25 + ], + "planenum": 26 + }, + { + "children": [ + -1, + -2 + ], + "planenum": 36 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 37 + }, + { + "children": [ + -1, + 28 + ], + "planenum": 31 + }, + { + "children": [ + -1, + 29 + ], + "planenum": 29 + }, + { + "children": [ + 30, + -1 + ], + "planenum": 30 + }, + { + "children": [ + 31, + -1 + ], + "planenum": 40 + }, + { + "children": [ + 32, + -1 + ], + "planenum": 37 + }, + { + "children": [ + -1, + -2 + ], + "planenum": 35 + }, + { + "children": [ + 34, + -1 + ], + "planenum": 41 + }, + { + "children": [ + 35, + -1 + ], + "planenum": 30 + }, + { + "children": [ + -1, + 36 + ], + "planenum": 29 + }, + { + "children": [ + 37, + -1 + ], + "planenum": 42 + }, + { + "children": [ + 38, + -1 + ], + "planenum": 38 + }, + { + "children": [ + -1, + -2 + ], + "planenum": 36 + }, + { + "children": [ + -2, + 40 + ], + "planenum": 48 + }, + { + "children": [ + 41, + -2 + ], + "planenum": 47 + }, + { + "children": [ + 42, + -2 + ], + "planenum": 46 + }, + { + "children": [ + -2, + 43 + ], + "planenum": 45 + }, + { + "children": [ + 44, + -2 + ], + "planenum": 21 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 44 + }, + { + "children": [ + 46, + 51 + ], + "planenum": 57 + }, + { + "children": [ + 47, + -1 + ], + "planenum": 52 + }, + { + "children": [ + -1, + 48 + ], + "planenum": 51 + }, + { + "children": [ + -1, + 49 + ], + "planenum": 29 + }, + { + "children": [ + 50, + -1 + ], + "planenum": 50 + }, + { + "children": [ + -1, + -2 + ], + "planenum": 49 + }, + { + "children": [ + 52, + 60 + ], + "planenum": 52 + }, + { + "children": [ + 53, + 56 + ], + "planenum": 55 + }, + { + "children": [ + -1, + 54 + ], + "planenum": 53 + }, + { + "children": [ + 55, + -1 + ], + "planenum": 50 + }, + { + "children": [ + -1, + -2 + ], + "planenum": 29 + }, + { + "children": [ + -1, + 57 + ], + "planenum": 51 + }, + { + "children": [ + 58, + -1 + ], + "planenum": 50 + }, + { + "children": [ + -1, + 59 + ], + "planenum": 29 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 54 + }, + { + "children": [ + 61, + -1 + ], + "planenum": 55 + }, + { + "children": [ + -1, + 62 + ], + "planenum": 29 + }, + { + "children": [ + 63, + -1 + ], + "planenum": 50 + }, + { + "children": [ + -2, + -1 + ], + "planenum": 56 + } + ], + "edges": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 2 + ], + [ + 2, + 3 + ], + [ + 3, + 0 + ], + [ + 4, + 5 + ], + [ + 5, + 0 + ], + [ + 3, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 3 + ], + [ + 2, + 6 + ], + [ + 7, + 8 + ], + [ + 8, + 4 + ], + [ + 9, + 10 + ], + [ + 10, + 11 + ], + [ + 11, + 12 + ], + [ + 12, + 9 + ], + [ + 11, + 13 + ], + [ + 13, + 14 + ], + [ + 14, + 12 + ], + [ + 15, + 16 + ], + [ + 16, + 9 + ], + [ + 12, + 15 + ], + [ + 17, + 15 + ], + [ + 14, + 17 + ], + [ + 6, + 18 + ], + [ + 18, + 19 + ], + [ + 19, + 20 + ], + [ + 20, + 7 + ], + [ + 21, + 22 + ], + [ + 22, + 8 + ], + [ + 20, + 21 + ], + [ + 19, + 23 + ], + [ + 23, + 24 + ], + [ + 24, + 25 + ], + [ + 25, + 20 + ], + [ + 26, + 27 + ], + [ + 27, + 21 + ], + [ + 25, + 26 + ], + [ + 15, + 25 + ], + [ + 24, + 16 + ], + [ + 17, + 26 + ], + [ + 28, + 29 + ], + [ + 29, + 1 + ], + [ + 0, + 30 + ], + [ + 30, + 28 + ], + [ + 5, + 31 + ], + [ + 31, + 32 + ], + [ + 32, + 30 + ], + [ + 33, + 34 + ], + [ + 34, + 28 + ], + [ + 30, + 35 + ], + [ + 35, + 33 + ], + [ + 32, + 36 + ], + [ + 36, + 37 + ], + [ + 37, + 35 + ], + [ + 10, + 33 + ], + [ + 35, + 11 + ], + [ + 37, + 13 + ], + [ + 36, + 38 + ], + [ + 38, + 14 + ], + [ + 31, + 39 + ], + [ + 39, + 38 + ], + [ + 4, + 39 + ], + [ + 38, + 27 + ], + [ + 39, + 22 + ], + [ + 9, + 40 + ], + [ + 40, + 34 + ], + [ + 40, + 41 + ], + [ + 41, + 29 + ], + [ + 41, + 2 + ], + [ + 23, + 40 + ], + [ + 18, + 41 + ], + [ + 42, + 43 + ], + [ + 43, + 44 + ], + [ + 44, + 45 + ], + [ + 45, + 42 + ], + [ + 46, + 47 + ], + [ + 47, + 48 + ], + [ + 48, + 49 + ], + [ + 49, + 46 + ], + [ + 50, + 51 + ], + [ + 51, + 52 + ], + [ + 52, + 53 + ], + [ + 53, + 50 + ], + [ + 54, + 55 + ], + [ + 55, + 56 + ], + [ + 56, + 57 + ], + [ + 57, + 54 + ], + [ + 50, + 58 + ], + [ + 58, + 59 + ], + [ + 59, + 51 + ], + [ + 47, + 60 + ], + [ + 60, + 61 + ], + [ + 61, + 48 + ], + [ + 60, + 59 + ], + [ + 58, + 61 + ], + [ + 55, + 59 + ], + [ + 60, + 56 + ], + [ + 58, + 43 + ], + [ + 42, + 61 + ], + [ + 62, + 53 + ], + [ + 52, + 63 + ], + [ + 63, + 62 + ], + [ + 49, + 64 + ], + [ + 64, + 65 + ], + [ + 65, + 46 + ], + [ + 64, + 62 + ], + [ + 63, + 65 + ], + [ + 63, + 54 + ], + [ + 57, + 65 + ], + [ + 44, + 62 + ], + [ + 64, + 45 + ], + [ + 65, + 60 + ], + [ + 59, + 63 + ], + [ + 58, + 62 + ], + [ + 61, + 64 + ] + ], + "entdata": "{\n\"mapversion\" \"220\"\n\"classname\" \"worldspawn\"\n\"wad\" \"deprecated/free_wad.wad;deprecated/fence.wad;deprecated/origin.wad;deprecated/hintskip.wad\"\n\"_wateralpha\" \"0.5\"\n\"_tb_def\" \"builtin:Quoth2.fgd\"\n}\n{\n\"classname\" \"light\"\n\"origin\" \"72 -136 168\"\n\"light\" \"3000\"\n}\n{\n\"classname\" \"info_player_start\"\n\"origin\" \"-88 -64 120\"\n}\n{\n\"classname\" \"rotate_object\"\n\"targetname\" \"fan\"\n\"model\" \"*1\"\n\"origin\" \"216.00 -216.00 344.00\"\n}\n\u0000", + "faces": [ + { + "firstedge": 0, + "lightofs": -1, + "numedges": 4, + "planenum": 0, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + 288.0, + -432.0, + 128.0 + ], + [ + 288.0, + -432.0, + 352.0 + ], + [ + 64.0, + -432.0, + 352.0 + ], + [ + 64.0, + -432.0, + 128.0 + ] + ] + }, + { + "firstedge": 4, + "lightofs": -1, + "numedges": 4, + "planenum": 0, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + 64.0, + -432.0, + 96.0 + ], + [ + 288.0, + -432.0, + 96.0 + ], + [ + 288.0, + -432.0, + 128.0 + ], + [ + 64.0, + -432.0, + 128.0 + ] + ] + }, + { + "firstedge": 8, + "lightofs": -1, + "numedges": 4, + "planenum": 0, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + -160.0, + -432.0, + 352.0 + ], + [ + -160.0, + -432.0, + 128.0 + ], + [ + 64.0, + -432.0, + 128.0 + ], + [ + 64.0, + -432.0, + 352.0 + ] + ] + }, + { + "firstedge": 12, + "lightofs": -1, + "numedges": 4, + "planenum": 0, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + -160.0, + -432.0, + 128.0 + ], + [ + -160.0, + -432.0, + 96.0 + ], + [ + 64.0, + -432.0, + 96.0 + ], + [ + 64.0, + -432.0, + 128.0 + ] + ] + }, + { + "firstedge": 16, + "lightofs": -1, + "numedges": 4, + "planenum": 1, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + 64.0, + 176.0, + 352.0 + ], + [ + 288.0, + 176.0, + 352.0 + ], + [ + 288.0, + 176.0, + 128.0 + ], + [ + 64.0, + 176.0, + 128.0 + ] + ] + }, + { + "firstedge": 20, + "lightofs": -1, + "numedges": 4, + "planenum": 1, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + 288.0, + 176.0, + 128.0 + ], + [ + 288.0, + 176.0, + 96.0 + ], + [ + 64.0, + 176.0, + 96.0 + ], + [ + 64.0, + 176.0, + 128.0 + ] + ] + }, + { + "firstedge": 24, + "lightofs": -1, + "numedges": 4, + "planenum": 1, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + -160.0, + 176.0, + 128.0 + ], + [ + -160.0, + 176.0, + 352.0 + ], + [ + 64.0, + 176.0, + 352.0 + ], + [ + 64.0, + 176.0, + 128.0 + ] + ] + }, + { + "firstedge": 28, + "lightofs": -1, + "numedges": 4, + "planenum": 1, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 0, + "vertices": [ + [ + -160.0, + 176.0, + 96.0 + ], + [ + -160.0, + 176.0, + 128.0 + ], + [ + 64.0, + 176.0, + 128.0 + ], + [ + 64.0, + 176.0, + 96.0 + ] + ] + }, + { + "firstedge": 32, + "lightofs": -1, + "numedges": 5, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + -432.0, + 128.0 + ], + [ + -160.0, + -432.0, + 352.0 + ], + [ + -160.0, + -272.0, + 352.0 + ], + [ + -160.0, + -208.0, + 352.0 + ], + [ + -160.0, + -208.0, + 128.0 + ] + ] + }, + { + "firstedge": 37, + "lightofs": -1, + "numedges": 5, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + -208.0, + 96.0 + ], + [ + -160.0, + -272.0, + 96.0 + ], + [ + -160.0, + -432.0, + 96.0 + ], + [ + -160.0, + -432.0, + 128.0 + ], + [ + -160.0, + -208.0, + 128.0 + ] + ] + }, + { + "firstedge": 42, + "lightofs": -1, + "numedges": 5, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + -208.0, + 128.0 + ], + [ + -160.0, + -208.0, + 352.0 + ], + [ + -160.0, + -48.0, + 352.0 + ], + [ + -160.0, + 16.0, + 352.0 + ], + [ + -160.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 47, + "lightofs": -1, + "numedges": 5, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + 16.0, + 96.0 + ], + [ + -160.0, + -48.0, + 96.0 + ], + [ + -160.0, + -208.0, + 96.0 + ], + [ + -160.0, + -208.0, + 128.0 + ], + [ + -160.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 52, + "lightofs": -1, + "numedges": 4, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + 176.0, + 352.0 + ], + [ + -160.0, + 176.0, + 128.0 + ], + [ + -160.0, + 16.0, + 128.0 + ], + [ + -160.0, + 16.0, + 352.0 + ] + ] + }, + { + "firstedge": 56, + "lightofs": -1, + "numedges": 4, + "planenum": 2, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + -160.0, + 176.0, + 128.0 + ], + [ + -160.0, + 176.0, + 96.0 + ], + [ + -160.0, + 16.0, + 96.0 + ], + [ + -160.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 60, + "lightofs": -1, + "numedges": 5, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + -208.0, + 352.0 + ], + [ + 288.0, + -272.0, + 352.0 + ], + [ + 288.0, + -432.0, + 352.0 + ], + [ + 288.0, + -432.0, + 128.0 + ], + [ + 288.0, + -208.0, + 128.0 + ] + ] + }, + { + "firstedge": 65, + "lightofs": -1, + "numedges": 5, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + -432.0, + 128.0 + ], + [ + 288.0, + -432.0, + 96.0 + ], + [ + 288.0, + -272.0, + 96.0 + ], + [ + 288.0, + -208.0, + 96.0 + ], + [ + 288.0, + -208.0, + 128.0 + ] + ] + }, + { + "firstedge": 70, + "lightofs": -1, + "numedges": 5, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + 16.0, + 352.0 + ], + [ + 288.0, + -48.0, + 352.0 + ], + [ + 288.0, + -208.0, + 352.0 + ], + [ + 288.0, + -208.0, + 128.0 + ], + [ + 288.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 75, + "lightofs": -1, + "numedges": 5, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + -208.0, + 128.0 + ], + [ + 288.0, + -208.0, + 96.0 + ], + [ + 288.0, + -48.0, + 96.0 + ], + [ + 288.0, + 16.0, + 96.0 + ], + [ + 288.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 80, + "lightofs": -1, + "numedges": 4, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + 176.0, + 128.0 + ], + [ + 288.0, + 176.0, + 352.0 + ], + [ + 288.0, + 16.0, + 352.0 + ], + [ + 288.0, + 16.0, + 128.0 + ] + ] + }, + { + "firstedge": 84, + "lightofs": -1, + "numedges": 4, + "planenum": 3, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 1, + "vertices": [ + [ + 288.0, + 176.0, + 96.0 + ], + [ + 288.0, + 176.0, + 128.0 + ], + [ + 288.0, + 16.0, + 128.0 + ], + [ + 288.0, + 16.0, + 96.0 + ] + ] + }, + { + "firstedge": 88, + "lightofs": -1, + "numedges": 5, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + 64.0, + 176.0, + 96.0 + ], + [ + 288.0, + 176.0, + 96.0 + ], + [ + 288.0, + 16.0, + 96.0 + ], + [ + 288.0, + -48.0, + 96.0 + ], + [ + 64.0, + -48.0, + 96.0 + ] + ] + }, + { + "firstedge": 93, + "lightofs": -1, + "numedges": 5, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + 288.0, + -48.0, + 96.0 + ], + [ + 288.0, + -208.0, + 96.0 + ], + [ + 288.0, + -272.0, + 96.0 + ], + [ + 64.0, + -272.0, + 96.0 + ], + [ + 64.0, + -48.0, + 96.0 + ] + ] + }, + { + "firstedge": 98, + "lightofs": -1, + "numedges": 4, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + 288.0, + -272.0, + 96.0 + ], + [ + 288.0, + -432.0, + 96.0 + ], + [ + 64.0, + -432.0, + 96.0 + ], + [ + 64.0, + -272.0, + 96.0 + ] + ] + }, + { + "firstedge": 102, + "lightofs": -1, + "numedges": 5, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + -160.0, + -48.0, + 96.0 + ], + [ + -160.0, + 16.0, + 96.0 + ], + [ + -160.0, + 176.0, + 96.0 + ], + [ + 64.0, + 176.0, + 96.0 + ], + [ + 64.0, + -48.0, + 96.0 + ] + ] + }, + { + "firstedge": 107, + "lightofs": -1, + "numedges": 5, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + -160.0, + -272.0, + 96.0 + ], + [ + -160.0, + -208.0, + 96.0 + ], + [ + -160.0, + -48.0, + 96.0 + ], + [ + 64.0, + -48.0, + 96.0 + ], + [ + 64.0, + -272.0, + 96.0 + ] + ] + }, + { + "firstedge": 112, + "lightofs": -1, + "numedges": 4, + "planenum": 4, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 2, + "vertices": [ + [ + -160.0, + -432.0, + 96.0 + ], + [ + -160.0, + -272.0, + 96.0 + ], + [ + 64.0, + -272.0, + 96.0 + ], + [ + 64.0, + -432.0, + 96.0 + ] + ] + }, + { + "firstedge": 116, + "lightofs": -1, + "numedges": 5, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + 288.0, + -48.0, + 352.0 + ], + [ + 288.0, + 16.0, + 352.0 + ], + [ + 288.0, + 176.0, + 352.0 + ], + [ + 64.0, + 176.0, + 352.0 + ], + [ + 64.0, + -48.0, + 352.0 + ] + ] + }, + { + "firstedge": 121, + "lightofs": -1, + "numedges": 5, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + 288.0, + -272.0, + 352.0 + ], + [ + 288.0, + -208.0, + 352.0 + ], + [ + 288.0, + -48.0, + 352.0 + ], + [ + 64.0, + -48.0, + 352.0 + ], + [ + 64.0, + -272.0, + 352.0 + ] + ] + }, + { + "firstedge": 126, + "lightofs": -1, + "numedges": 4, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + 64.0, + -432.0, + 352.0 + ], + [ + 288.0, + -432.0, + 352.0 + ], + [ + 288.0, + -272.0, + 352.0 + ], + [ + 64.0, + -272.0, + 352.0 + ] + ] + }, + { + "firstedge": 130, + "lightofs": -1, + "numedges": 5, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + -160.0, + 176.0, + 352.0 + ], + [ + -160.0, + 16.0, + 352.0 + ], + [ + -160.0, + -48.0, + 352.0 + ], + [ + 64.0, + -48.0, + 352.0 + ], + [ + 64.0, + 176.0, + 352.0 + ] + ] + }, + { + "firstedge": 135, + "lightofs": -1, + "numedges": 5, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + -160.0, + -48.0, + 352.0 + ], + [ + -160.0, + -208.0, + 352.0 + ], + [ + -160.0, + -272.0, + 352.0 + ], + [ + 64.0, + -272.0, + 352.0 + ], + [ + 64.0, + -48.0, + 352.0 + ] + ] + }, + { + "firstedge": 140, + "lightofs": -1, + "numedges": 4, + "planenum": 5, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 3, + "vertices": [ + [ + -160.0, + -272.0, + 352.0 + ], + [ + -160.0, + -432.0, + 352.0 + ], + [ + 64.0, + -432.0, + 352.0 + ], + [ + 64.0, + -272.0, + 352.0 + ] + ] + }, + { + "firstedge": 144, + "lightofs": -1, + "numedges": 4, + "planenum": 6, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 4, + "vertices": [ + [ + 12.0, + -56.0, + -4.0 + ], + [ + -12.0, + -56.0, + -4.0 + ], + [ + -12.0, + -56.0, + 4.0 + ], + [ + 12.0, + -56.0, + 4.0 + ] + ] + }, + { + "firstedge": 148, + "lightofs": -1, + "numedges": 4, + "planenum": 7, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 5, + "vertices": [ + [ + 56.0, + 12.0, + 4.0 + ], + [ + 56.0, + 12.0, + -4.0 + ], + [ + 56.0, + -12.0, + -4.0 + ], + [ + 56.0, + -12.0, + 4.0 + ] + ] + }, + { + "firstedge": 152, + "lightofs": -1, + "numedges": 4, + "planenum": 8, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 6, + "vertices": [ + [ + -56.0, + -12.0, + -4.0 + ], + [ + -56.0, + 12.0, + -4.0 + ], + [ + -56.0, + 12.0, + 4.0 + ], + [ + -56.0, + -12.0, + 4.0 + ] + ] + }, + { + "firstedge": 156, + "lightofs": -1, + "numedges": 4, + "planenum": 9, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 7, + "vertices": [ + [ + -12.0, + 56.0, + 4.0 + ], + [ + -12.0, + 56.0, + -4.0 + ], + [ + 12.0, + 56.0, + -4.0 + ], + [ + 12.0, + 56.0, + 4.0 + ] + ] + }, + { + "firstedge": 160, + "lightofs": -1, + "numedges": 4, + "planenum": 10, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 8, + "vertices": [ + [ + -56.0, + 12.0, + -4.0 + ], + [ + -56.0, + -12.0, + -4.0 + ], + [ + -4.0, + -4.0, + -4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ] + ] + }, + { + "firstedge": 164, + "lightofs": -1, + "numedges": 4, + "planenum": 10, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 8, + "vertices": [ + [ + 56.0, + 12.0, + -4.0 + ], + [ + 4.0, + 4.0, + -4.0 + ], + [ + 4.0, + -4.0, + -4.0 + ], + [ + 56.0, + -12.0, + -4.0 + ] + ] + }, + { + "firstedge": 168, + "lightofs": -1, + "numedges": 4, + "planenum": 10, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 9, + "vertices": [ + [ + 4.0, + 4.0, + -4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ], + [ + -4.0, + -4.0, + -4.0 + ], + [ + 4.0, + -4.0, + -4.0 + ] + ] + }, + { + "firstedge": 172, + "lightofs": -1, + "numedges": 4, + "planenum": 10, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 10, + "vertices": [ + [ + 12.0, + 56.0, + -4.0 + ], + [ + -12.0, + 56.0, + -4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ], + [ + 4.0, + 4.0, + -4.0 + ] + ] + }, + { + "firstedge": 176, + "lightofs": -1, + "numedges": 4, + "planenum": 10, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 10, + "vertices": [ + [ + 4.0, + -4.0, + -4.0 + ], + [ + -4.0, + -4.0, + -4.0 + ], + [ + -12.0, + -56.0, + -4.0 + ], + [ + 12.0, + -56.0, + -4.0 + ] + ] + }, + { + "firstedge": 180, + "lightofs": -1, + "numedges": 4, + "planenum": 11, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 11, + "vertices": [ + [ + -4.0, + -4.0, + 4.0 + ], + [ + -56.0, + -12.0, + 4.0 + ], + [ + -56.0, + 12.0, + 4.0 + ], + [ + -4.0, + 4.0, + 4.0 + ] + ] + }, + { + "firstedge": 184, + "lightofs": -1, + "numedges": 4, + "planenum": 11, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 11, + "vertices": [ + [ + 56.0, + -12.0, + 4.0 + ], + [ + 4.0, + -4.0, + 4.0 + ], + [ + 4.0, + 4.0, + 4.0 + ], + [ + 56.0, + 12.0, + 4.0 + ] + ] + }, + { + "firstedge": 188, + "lightofs": -1, + "numedges": 4, + "planenum": 11, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 12, + "vertices": [ + [ + 4.0, + -4.0, + 4.0 + ], + [ + -4.0, + -4.0, + 4.0 + ], + [ + -4.0, + 4.0, + 4.0 + ], + [ + 4.0, + 4.0, + 4.0 + ] + ] + }, + { + "firstedge": 192, + "lightofs": -1, + "numedges": 4, + "planenum": 11, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 13, + "vertices": [ + [ + 4.0, + 4.0, + 4.0 + ], + [ + -4.0, + 4.0, + 4.0 + ], + [ + -12.0, + 56.0, + 4.0 + ], + [ + 12.0, + 56.0, + 4.0 + ] + ] + }, + { + "firstedge": 196, + "lightofs": -1, + "numedges": 4, + "planenum": 11, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 13, + "vertices": [ + [ + 12.0, + -56.0, + 4.0 + ], + [ + -12.0, + -56.0, + 4.0 + ], + [ + -4.0, + -4.0, + 4.0 + ], + [ + 4.0, + -4.0, + 4.0 + ] + ] + }, + { + "firstedge": 200, + "lightofs": -1, + "numedges": 4, + "planenum": 12, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 14, + "vertices": [ + [ + 4.0, + 4.0, + 4.0 + ], + [ + 4.0, + 4.0, + -4.0 + ], + [ + 56.0, + 12.0, + -4.0 + ], + [ + 56.0, + 12.0, + 4.0 + ] + ] + }, + { + "firstedge": 204, + "lightofs": -1, + "numedges": 4, + "planenum": 13, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 14, + "vertices": [ + [ + -56.0, + 12.0, + 4.0 + ], + [ + -56.0, + 12.0, + -4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ], + [ + -4.0, + 4.0, + 4.0 + ] + ] + }, + { + "firstedge": 208, + "lightofs": -1, + "numedges": 4, + "planenum": 14, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 15, + "vertices": [ + [ + 12.0, + 56.0, + -4.0 + ], + [ + 4.0, + 4.0, + -4.0 + ], + [ + 4.0, + 4.0, + 4.0 + ], + [ + 12.0, + 56.0, + 4.0 + ] + ] + }, + { + "firstedge": 212, + "lightofs": -1, + "numedges": 4, + "planenum": 15, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 16, + "vertices": [ + [ + -4.0, + 4.0, + 4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ], + [ + -12.0, + 56.0, + -4.0 + ], + [ + -12.0, + 56.0, + 4.0 + ] + ] + }, + { + "firstedge": 216, + "lightofs": -1, + "numedges": 4, + "planenum": 16, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 16, + "vertices": [ + [ + -12.0, + -56.0, + 4.0 + ], + [ + -12.0, + -56.0, + -4.0 + ], + [ + -4.0, + -4.0, + -4.0 + ], + [ + -4.0, + -4.0, + 4.0 + ] + ] + }, + { + "firstedge": 220, + "lightofs": -1, + "numedges": 4, + "planenum": 17, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 17, + "vertices": [ + [ + 56.0, + -12.0, + -4.0 + ], + [ + 4.0, + -4.0, + -4.0 + ], + [ + 4.0, + -4.0, + 4.0 + ], + [ + 56.0, + -12.0, + 4.0 + ] + ] + }, + { + "firstedge": 224, + "lightofs": -1, + "numedges": 4, + "planenum": 18, + "side": 0, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 15, + "vertices": [ + [ + 4.0, + -4.0, + -4.0 + ], + [ + 12.0, + -56.0, + -4.0 + ], + [ + 12.0, + -56.0, + 4.0 + ], + [ + 4.0, + -4.0, + 4.0 + ] + ] + }, + { + "firstedge": 228, + "lightofs": -1, + "numedges": 4, + "planenum": 19, + "side": 1, + "styles": [ + 255, + 255, + 255, + 255 + ], + "texinfo": 17, + "vertices": [ + [ + -4.0, + -4.0, + -4.0 + ], + [ + -56.0, + -12.0, + -4.0 + ], + [ + -56.0, + -12.0, + 4.0 + ], + [ + -4.0, + -4.0, + 4.0 + ] + ] + } + ], + "leaffaces": [ + 19, + 18, + 17, + 16, + 15, + 14, + 13, + 12, + 11, + 10, + 9, + 8, + 7, + 6, + 5, + 4, + 31, + 30, + 29, + 28, + 27, + 26, + 25, + 24, + 23, + 22, + 21, + 20, + 3, + 2, + 1, + 0, + 33, + 35, + 45, + 44, + 43, + 42, + 41, + 48, + 46, + 49, + 47, + 51, + 52, + 50, + 53, + 40, + 39, + 38, + 37, + 36, + 34, + 32 + ], + "leafs": [ + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -2, + "firstleafbrush": 0, + "firstmarksurface": 0, + "maxs": [ + 0.0, + 0.0, + 0.0 + ], + "mins": [ + 0.0, + 0.0, + 0.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 0, + "visofs": 0 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 0, + "maxs": [ + 288.0, + 176.0, + 352.0 + ], + "mins": [ + -160.0, + -432.0, + 96.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 32, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 32, + "maxs": [ + 80.0, + 80.0, + 28.0 + ], + "mins": [ + 56.0, + -56.0, + -28.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 1, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 33, + "maxs": [ + 56.0, + 80.0, + 28.0 + ], + "mins": [ + -56.0, + 56.0, + -28.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 1, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 34, + "maxs": [ + 56.0, + 56.0, + 28.0 + ], + "mins": [ + -56.0, + -56.0, + 4.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 5, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 39, + "maxs": [ + 56.0, + 56.0, + 4.0 + ], + "mins": [ + 2.0, + -6.0, + -4.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 2, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 41, + "maxs": [ + -2.0, + 56.0, + 4.0 + ], + "mins": [ + -56.0, + -6.0, + -4.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 2, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 43, + "maxs": [ + 56.0, + -1.0, + 4.0 + ], + "mins": [ + 3.0, + -56.0, + -4.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 2, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 45, + "maxs": [ + -1.0, + -3.0, + 4.0 + ], + "mins": [ + -56.0, + -56.0, + -4.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 2, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 47, + "maxs": [ + 56.0, + 56.0, + -4.0 + ], + "mins": [ + -56.0, + -56.0, + -28.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 5, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 52, + "maxs": [ + -56.0, + 80.0, + 28.0 + ], + "mins": [ + -80.0, + -56.0, + -28.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 1, + "visofs": -1 + }, + { + "ambient_level": [ + 0, + 0, + 0, + 0 + ], + "area": 0, + "cluster": 0, + "contents": -1, + "firstleafbrush": 0, + "firstmarksurface": 53, + "maxs": [ + 80.0, + -56.0, + 28.0 + ], + "mins": [ + -80.0, + -80.0, + -28.0 + ], + "numleafbrushes": 0, + "nummarksurfaces": 1, + "visofs": -1 + } + ], + "models": [ + { + "firstface": 0, + "headnode": [ + 0, + 0, + 39, + 0, + 0, + 0, + 0, + 0 + ], + "maxs": [ + 303.0, + 191.0, + 367.0 + ], + "mins": [ + -175.0, + -447.0, + 81.0 + ], + "numfaces": 32, + "origin": [ + 0.0, + 0.0, + 0.0 + ], + "visleafs": 1 + }, + { + "firstface": 32, + "headnode": [ + 6, + 6, + 45, + 0, + 0, + 0, + 0, + 0 + ], + "maxs": [ + 55.0, + 55.0, + 3.0 + ], + "mins": [ + -55.0, + -55.0, + -3.0 + ], + "numfaces": 22, + "origin": [ + 0.0, + 0.0, + 0.0 + ], + "visleafs": 10 + } + ], + "nodes": [ + { + "children": [ + 1, + -1 + ], + "firstface": 0, + "maxs": [ + 328.0, + 216.0, + 392.0 + ], + "mins": [ + -200.0, + -472.0, + 56.0 + ], + "numfaces": 4, + "planenum": 0 + }, + { + "children": [ + -1, + 2 + ], + "firstface": 4, + "maxs": [ + 328.0, + 216.0, + 392.0 + ], + "mins": [ + -200.0, + -432.0, + 56.0 + ], + "numfaces": 4, + "planenum": 1 + }, + { + "children": [ + 3, + -1 + ], + "firstface": 8, + "maxs": [ + 328.0, + 176.0, + 392.0 + ], + "mins": [ + -200.0, + -432.0, + 56.0 + ], + "numfaces": 6, + "planenum": 2 + }, + { + "children": [ + -1, + 4 + ], + "firstface": 14, + "maxs": [ + 328.0, + 176.0, + 392.0 + ], + "mins": [ + -160.0, + -432.0, + 56.0 + ], + "numfaces": 6, + "planenum": 3 + }, + { + "children": [ + 5, + -1 + ], + "firstface": 20, + "maxs": [ + 288.0, + 176.0, + 392.0 + ], + "mins": [ + -160.0, + -432.0, + 56.0 + ], + "numfaces": 6, + "planenum": 4 + }, + { + "children": [ + -1, + -2 + ], + "firstface": 26, + "maxs": [ + 288.0, + 176.0, + 392.0 + ], + "mins": [ + -160.0, + -432.0, + 96.0 + ], + "numfaces": 6, + "planenum": 5 + }, + { + "children": [ + 7, + -12 + ], + "firstface": 32, + "maxs": [ + 80.0, + 80.0, + 28.0 + ], + "mins": [ + -80.0, + -80.0, + -28.0 + ], + "numfaces": 1, + "planenum": 6 + }, + { + "children": [ + -3, + 8 + ], + "firstface": 33, + "maxs": [ + 80.0, + 80.0, + 28.0 + ], + "mins": [ + -80.0, + -56.0, + -28.0 + ], + "numfaces": 1, + "planenum": 7 + }, + { + "children": [ + 9, + -11 + ], + "firstface": 34, + "maxs": [ + 56.0, + 80.0, + 28.0 + ], + "mins": [ + -80.0, + -56.0, + -28.0 + ], + "numfaces": 1, + "planenum": 8 + }, + { + "children": [ + -4, + 10 + ], + "firstface": 35, + "maxs": [ + 56.0, + 80.0, + 28.0 + ], + "mins": [ + -56.0, + -56.0, + -28.0 + ], + "numfaces": 1, + "planenum": 9 + }, + { + "children": [ + 11, + -10 + ], + "firstface": 36, + "maxs": [ + 56.0, + 56.0, + 28.0 + ], + "mins": [ + -56.0, + -56.0, + -28.0 + ], + "numfaces": 5, + "planenum": 10 + }, + { + "children": [ + -5, + 12 + ], + "firstface": 41, + "maxs": [ + 56.0, + 56.0, + 28.0 + ], + "mins": [ + -56.0, + -56.0, + -4.0 + ], + "numfaces": 5, + "planenum": 11 + }, + { + "children": [ + 13, + 16 + ], + "firstface": 46, + "maxs": [ + 56.0, + 56.0, + 4.0 + ], + "mins": [ + -56.0, + -56.0, + -4.0 + ], + "numfaces": 1, + "planenum": 12 + }, + { + "children": [ + 14, + -1 + ], + "firstface": 47, + "maxs": [ + 56.0, + 56.0, + 4.0 + ], + "mins": [ + -56.0, + -6.0, + -4.0 + ], + "numfaces": 1, + "planenum": 13 + }, + { + "children": [ + -6, + 15 + ], + "firstface": 48, + "maxs": [ + 56.0, + 56.0, + 4.0 + ], + "mins": [ + -56.0, + -6.0, + -4.0 + ], + "numfaces": 1, + "planenum": 14 + }, + { + "children": [ + -1, + -7 + ], + "firstface": 49, + "maxs": [ + 12.0, + 56.0, + 4.0 + ], + "mins": [ + -56.0, + -6.0, + -4.0 + ], + "numfaces": 1, + "planenum": 15 + }, + { + "children": [ + 17, + 19 + ], + "firstface": 50, + "maxs": [ + 56.0, + 13.0, + 4.0 + ], + "mins": [ + -56.0, + -56.0, + -4.0 + ], + "numfaces": 1, + "planenum": 16 + }, + { + "children": [ + -1, + 18 + ], + "firstface": 51, + "maxs": [ + 56.0, + 13.0, + 4.0 + ], + "mins": [ + -13.0, + -56.0, + -4.0 + ], + "numfaces": 1, + "planenum": 17 + }, + { + "children": [ + -8, + -1 + ], + "firstface": 52, + "maxs": [ + 56.0, + -1.0, + 4.0 + ], + "mins": [ + -13.0, + -56.0, + -4.0 + ], + "numfaces": 1, + "planenum": 18 + }, + { + "children": [ + -1, + -9 + ], + "firstface": 53, + "maxs": [ + -1.0, + 13.0, + 4.0 + ], + "mins": [ + -56.0, + -56.0, + -4.0 + ], + "numfaces": 1, + "planenum": 19 + } + ], + "planes": [ + { + "dist": -432.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 176.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -160.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 288.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 96.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 352.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": -56.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 56.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -56.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 56.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -4.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 4.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 3.3452579975128174, + "normal": [ + -0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 3.3452579975128174, + "normal": [ + 0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 3.3452579975128174, + "normal": [ + 0.9883716702461243, + -0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": -3.3452579975128174, + "normal": [ + 0.9883716702461243, + 0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": -3.3452579975128174, + "normal": [ + 0.9883716702461243, + -0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": -3.3452579975128174, + "normal": [ + 0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 3.3452579975128174, + "normal": [ + 0.9883716702461243, + 0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": -3.3452579975128174, + "normal": [ + -0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 320.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 120.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 272.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -144.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -416.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 160.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -21.592119216918945, + "normal": [ + 0.9883716702461243, + 0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": 21.592119216918945, + "normal": [ + 0.9883716702461243, + -0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": 72.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 28.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": -36.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 28.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -28.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -21.592119216918945, + "normal": [ + 0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 21.592119216918945, + "normal": [ + -0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 21.592119216918945, + "normal": [ + 0.9883716702461243, + 0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": 21.592119216918945, + "normal": [ + 0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": -21.592119216918945, + "normal": [ + 0.9883716702461243, + -0.15205718576908112, + 0.0 + ], + "type": 3 + }, + { + "dist": -21.592119216918945, + "normal": [ + -0.15205718576908112, + 0.9883716702461243, + 0.0 + ], + "type": 4 + }, + { + "dist": 72.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -72.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -28.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -72.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 28.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 288.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 256.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -128.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -400.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 144.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": 88.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -68.0, + "normal": [ + 0.0, + 0.0, + 1.0 + ], + "type": 2 + }, + { + "dist": 44.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -44.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 88.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": -88.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -44.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + }, + { + "dist": -88.0, + "normal": [ + 1.0, + 0.0, + 0.0 + ], + "type": 0 + }, + { + "dist": 44.0, + "normal": [ + 0.0, + 1.0, + 0.0 + ], + "type": 1 + } + ], + "surfedges": [ + 1, + 2, + 3, + 4, + 5, + 6, + -4, + 7, + 8, + 9, + -3, + 10, + 11, + 12, + -7, + -9, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + -15, + 20, + 21, + -16, + 22, + 23, + -22, + -19, + 24, + -8, + 25, + 26, + 27, + 28, + 29, + 30, + -11, + -28, + 31, + -27, + 32, + 33, + 34, + 35, + 36, + 37, + -31, + -35, + 38, + -20, + 39, + -34, + 40, + -23, + 41, + -38, + -39, + 42, + 43, + -1, + 44, + 45, + -6, + 46, + 47, + 48, + -44, + 49, + 50, + -45, + 51, + 52, + -48, + 53, + 54, + 55, + -51, + -14, + 56, + -52, + 57, + -17, + -57, + -55, + 58, + -18, + -58, + -54, + 59, + 60, + -53, + -47, + 61, + 62, + -59, + -46, + -5, + 63, + -61, + -36, + -41, + -24, + -60, + 64, + -29, + -37, + -64, + -62, + 65, + -30, + -65, + -63, + -12, + -49, + -56, + -13, + 66, + 67, + -42, + -50, + -67, + 68, + 69, + -2, + -43, + -69, + 70, + -40, + -33, + 71, + -66, + -21, + -32, + -26, + 72, + -68, + -71, + -25, + -10, + -70, + -72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + -81, + 89, + 90, + 91, + 92, + 93, + 94, + -78, + 95, + -90, + 96, + -93, + -86, + 97, + -95, + 98, + -96, + 99, + -73, + 100, + 101, + -83, + 102, + 103, + 104, + 105, + 106, + -80, + 107, + -103, + 108, + -105, + -108, + 109, + -88, + 110, + -75, + 111, + -107, + 112, + 113, + -92, + -77, + -106, + -82, + -91, + 114, + -102, + -98, + -113, + -110, + -87, + -114, + -97, + -85, + -109, + -74, + -99, + 115, + -111, + -94, + 116, + -104, + -79, + -100, + -76, + -112, + -116, + -89, + -84, + -101, + -115 + ], + "texinfo": [ + { + "flags": 0, + "miptex": 0, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + -16.0 + ], + [ + 0.0, + 0.0, + -1.0, + -32.0 + ] + ] + }, + { + "flags": 0, + "miptex": 0, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + 1.0, + 0.0, + 0.0 + ], + [ + 0.0, + 0.0, + -1.0, + -32.0 + ] + ] + }, + { + "flags": 0, + "miptex": 1, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + 16.0 + ], + [ + 0.0, + -1.0, + 0.0, + 16.0 + ] + ] + }, + { + "flags": 0, + "miptex": 1, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + 0.0 + ], + [ + 0.0, + -1.0, + 0.0, + 0.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 1.0, + 0.0, + 0.0, + 196.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + 1.0, + 0.0, + -260.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + -1.0, + 0.0, + 260.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + -196.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + -216.0 + ], + [ + 0.0, + -1.0, + 0.0, + 260.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + -192.0 + ], + [ + 0.0, + -1.0, + 0.0, + 236.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + -1.0, + 0.0, + 232.0 + ], + [ + 1.0, + 0.0, + 0.0, + 196.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 1.0, + 0.0, + 0.0, + 216.0 + ], + [ + 0.0, + -1.0, + 0.0, + 260.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 1.0, + 0.0, + 0.0, + 192.0 + ], + [ + 0.0, + -1.0, + 0.0, + 236.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + 1.0, + 0.0, + -232.0 + ], + [ + 1.0, + 0.0, + 0.0, + 196.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + -1.0, + 0.0, + 0.0, + -216.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + 1.0, + 0.0, + -232.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 0.0, + -1.0, + 0.0, + 232.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + }, + { + "flags": 0, + "miptex": 3, + "nexttexinfo": 0, + "texture": "", + "value": 0, + "vecs": [ + [ + 1.0, + 0.0, + 0.0, + 216.0 + ], + [ + 0.0, + 0.0, + -1.0, + -356.0 + ] + ] + } + ], + "vertexes": [ + [ + 288.0, + -432.0, + 128.0 + ], + [ + 288.0, + -432.0, + 352.0 + ], + [ + 64.0, + -432.0, + 352.0 + ], + [ + 64.0, + -432.0, + 128.0 + ], + [ + 64.0, + -432.0, + 96.0 + ], + [ + 288.0, + -432.0, + 96.0 + ], + [ + -160.0, + -432.0, + 352.0 + ], + [ + -160.0, + -432.0, + 128.0 + ], + [ + -160.0, + -432.0, + 96.0 + ], + [ + 64.0, + 176.0, + 352.0 + ], + [ + 288.0, + 176.0, + 352.0 + ], + [ + 288.0, + 176.0, + 128.0 + ], + [ + 64.0, + 176.0, + 128.0 + ], + [ + 288.0, + 176.0, + 96.0 + ], + [ + 64.0, + 176.0, + 96.0 + ], + [ + -160.0, + 176.0, + 128.0 + ], + [ + -160.0, + 176.0, + 352.0 + ], + [ + -160.0, + 176.0, + 96.0 + ], + [ + -160.0, + -272.0, + 352.0 + ], + [ + -160.0, + -208.0, + 352.0 + ], + [ + -160.0, + -208.0, + 128.0 + ], + [ + -160.0, + -208.0, + 96.0 + ], + [ + -160.0, + -272.0, + 96.0 + ], + [ + -160.0, + -48.0, + 352.0 + ], + [ + -160.0, + 16.0, + 352.0 + ], + [ + -160.0, + 16.0, + 128.0 + ], + [ + -160.0, + 16.0, + 96.0 + ], + [ + -160.0, + -48.0, + 96.0 + ], + [ + 288.0, + -208.0, + 352.0 + ], + [ + 288.0, + -272.0, + 352.0 + ], + [ + 288.0, + -208.0, + 128.0 + ], + [ + 288.0, + -272.0, + 96.0 + ], + [ + 288.0, + -208.0, + 96.0 + ], + [ + 288.0, + 16.0, + 352.0 + ], + [ + 288.0, + -48.0, + 352.0 + ], + [ + 288.0, + 16.0, + 128.0 + ], + [ + 288.0, + -48.0, + 96.0 + ], + [ + 288.0, + 16.0, + 96.0 + ], + [ + 64.0, + -48.0, + 96.0 + ], + [ + 64.0, + -272.0, + 96.0 + ], + [ + 64.0, + -48.0, + 352.0 + ], + [ + 64.0, + -272.0, + 352.0 + ], + [ + 12.0, + -56.0, + -4.0 + ], + [ + -12.0, + -56.0, + -4.0 + ], + [ + -12.0, + -56.0, + 4.0 + ], + [ + 12.0, + -56.0, + 4.0 + ], + [ + 56.0, + 12.0, + 4.0 + ], + [ + 56.0, + 12.0, + -4.0 + ], + [ + 56.0, + -12.0, + -4.0 + ], + [ + 56.0, + -12.0, + 4.0 + ], + [ + -56.0, + -12.0, + -4.0 + ], + [ + -56.0, + 12.0, + -4.0 + ], + [ + -56.0, + 12.0, + 4.0 + ], + [ + -56.0, + -12.0, + 4.0 + ], + [ + -12.0, + 56.0, + 4.0 + ], + [ + -12.0, + 56.0, + -4.0 + ], + [ + 12.0, + 56.0, + -4.0 + ], + [ + 12.0, + 56.0, + 4.0 + ], + [ + -4.0, + -4.0, + -4.0 + ], + [ + -4.0, + 4.0, + -4.0 + ], + [ + 4.0, + 4.0, + -4.0 + ], + [ + 4.0, + -4.0, + -4.0 + ], + [ + -4.0, + -4.0, + 4.0 + ], + [ + -4.0, + 4.0, + 4.0 + ], + [ + 4.0, + -4.0, + 4.0 + ], + [ + 4.0, + 4.0, + 4.0 + ] + ] +} \ No newline at end of file diff --git a/testmaps/reference_bsp_json/qbsp_origin.bsp.qbsplog b/testmaps/reference_bsp_json/qbsp_origin.bsp.qbsplog new file mode 100644 index 00000000..6e65dba9 --- /dev/null +++ b/testmaps/reference_bsp_json/qbsp_origin.bsp.qbsplog @@ -0,0 +1,88 @@ +---- qbsp / ericw-tools v0.18.1-373-gca7002c ---- +Input file: qbsp_origin.map +Output file: qbsp_origin.bsp + +SetQdirFromPath: no "maps" in 'C:\Users\Eric\Documents\ericwtools-vcpkgtest\testmaps\/qbsp_origin.map' +---- LoadMapFile ---- +*** WARNING 06: No info_player_deathmatch entities in level + 72 faces + 12 brushes + 4 entities + 4 unique texnames + 50 texinfo + +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 brushes + 12 planes +---- CSGFaces ---- + 36 brushfaces + 36 csgfaces + 36 mergedfaces +---- 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 +---- Portalize ---- + 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 +---- Portalize ---- + 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... +---- WriteBSPFile ---- +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 + 4 textures 38260 + lightdata 0 + visdata 0 + entdata 417 + +0.057 seconds elapsed