diff --git a/testbsps/q1_decompiler_test.bsp b/testbsps/q1_decompiler_test.bsp deleted file mode 100644 index 7e880861..00000000 Binary files a/testbsps/q1_decompiler_test.bsp and /dev/null differ diff --git a/testbsps/q1_decompiler_test.map b/testbsps/q1_decompiler_test.map deleted file mode 100644 index 6cfcf8cc..00000000 --- a/testbsps/q1_decompiler_test.map +++ /dev/null @@ -1,146 +0,0 @@ -// Game: Quake -// Format: Valve -// entity 0 -{ -"mapversion" "220" -"classname" "worldspawn" -"wad" "deprecated/free_wad.wad;deprecated/fence.wad;deprecated/origin.wad;deprecated/hintskip.wad;../testmaps/deprecated/free_wad.wad" -"_wateralpha" "0.5" -"_tb_def" "builtin:Quoth2.fgd" -// brush 0 -{ -( -80 256 16 ) ( -80 257 16 ) ( -80 256 17 ) brown_brick [ 0 -1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( -64 64 16 ) ( -64 64 17 ) ( -63 64 16 ) brown_brick [ 1 0 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( -64 256 16 ) ( -63 256 16 ) ( -64 257 16 ) brown_brick [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( 64 384 96 ) ( 64 385 96 ) ( 65 384 96 ) brown_brick [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( 64 80 48 ) ( 65 80 48 ) ( 64 80 49 ) brown_brick [ -1 0 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( 208 384 48 ) ( 208 384 49 ) ( 208 385 48 ) brown_brick [ 0 1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -} -// brush 1 -{ -( -80 192 16 ) ( -80 193 16 ) ( -80 192 17 ) brown_brick [ 0 -1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( -192 -320 16 ) ( -192 -320 17 ) ( -191 -320 16 ) brown_brick [ 1 0 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( -192 192 16 ) ( -191 192 16 ) ( -192 193 16 ) brown_brick [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( -64 320 96 ) ( -64 321 96 ) ( -63 320 96 ) brown_brick [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( -64 64 48 ) ( -63 64 48 ) ( -64 64 49 ) brown_brick [ -1 0 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( -64 320 48 ) ( -64 320 49 ) ( -64 321 48 ) brown_brick [ 0 1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -} -// brush 2 -{ -( -160 -256 80 ) ( -160 -255 80 ) ( -160 -256 81 ) orangestuff8 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( -160 -336 80 ) ( -160 -336 81 ) ( -159 -336 80 ) orangestuff8 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( -160 -256 80 ) ( -159 -256 80 ) ( -160 -255 80 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( -80 64 96 ) ( -80 65 96 ) ( -79 64 96 ) orangestuff8 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( -80 80 96 ) ( -79 80 96 ) ( -80 80 97 ) orangestuff8 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( -80 64 96 ) ( -80 64 97 ) ( -80 65 96 ) orangestuff8 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -} -// brush 3 -{ -( -160 80 80 ) ( -160 81 80 ) ( -160 80 81 ) orangestuff8 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 1 1 -( -16 80 80 ) ( -16 80 81 ) ( -15 80 80 ) orangestuff8 [ 1 0 0 -16 ] [ 0 0 -1 0 ] 0 1 1 -( -16 80 80 ) ( -15 80 80 ) ( -16 81 80 ) orangestuff8 [ -1 0 0 16 ] [ 0 -1 0 16 ] 0 1 1 -( 64 400 96 ) ( 64 401 96 ) ( 65 400 96 ) orangestuff8 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 0 1 1 -( 64 176 96 ) ( 65 176 96 ) ( 64 176 97 ) orangestuff8 [ -1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1 -( 208 400 96 ) ( 208 400 97 ) ( 208 401 96 ) orangestuff8 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 1 1 -} -// brush 4 -{ -( -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 5 -{ -( 192 320 48 ) ( 192 321 48 ) ( 192 320 49 ) brown_brick [ 0 1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -( 320 -320 16 ) ( 319 -320 16 ) ( 320 -320 17 ) brown_brick [ -1 0 0 0 ] [ 0 0 -1 32 ] 180 1 1 -( 320 192 16 ) ( 320 193 16 ) ( 319 192 16 ) brown_brick [ 1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 -( 192 320 96 ) ( 191 320 96 ) ( 192 321 96 ) brown_brick [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 -( 192 64 48 ) ( 192 64 49 ) ( 191 64 48 ) brown_brick [ 1 0 0 0 ] [ 0 0 -1 32 ] 180 1 1 -( 208 192 16 ) ( 208 192 17 ) ( 208 193 16 ) brown_brick [ 0 -1 0 0 ] [ 0 0 -1 32 ] 0 1 1 -} -// brush 6 -{ -( 208 64 96 ) ( 208 65 96 ) ( 208 64 97 ) orangestuff8 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( 288 -336 80 ) ( 287 -336 80 ) ( 288 -336 81 ) orangestuff8 [ -1 0 0 0 ] [ 0 0 -1 0 ] 180 1 1 -( 288 -256 80 ) ( 288 -255 80 ) ( 287 -256 80 ) orangestuff8 [ 1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 -( 208 64 96 ) ( 207 64 96 ) ( 208 65 96 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 -( 208 176 96 ) ( 208 176 97 ) ( 207 176 96 ) orangestuff8 [ 1 0 0 0 ] [ 0 0 -1 0 ] 180 1 1 -( 288 -256 80 ) ( 288 -256 81 ) ( 288 -255 80 ) orangestuff8 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -} -// brush 7 -{ -( -64 -256 16 ) ( -64 64 0 ) ( -64 64 16 ) brownstuff8 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( 192 -320 16 ) ( -64 -320 0 ) ( -64 -320 16 ) brownstuff8 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( 192 64 0 ) ( -64 -256 0 ) ( 192 -256 0 ) brownstuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( 192 64 16 ) ( -64 -256 16 ) ( -64 64 16 ) brownstuff8 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 -( 192 64 16 ) ( -64 64 0 ) ( 192 64 0 ) brownstuff8 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 -( 192 64 16 ) ( 192 -256 0 ) ( 192 -256 16 ) brownstuff8 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 -} -// brush 8 -{ -( -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 9 -{ -( -80 -16 48 ) ( -80 -15 48 ) ( -80 -16 49 ) brown_brick [ 0 1 0 16 ] [ 0 0 -1 32 ] 0 1 1 -( 192 -336 16 ) ( 191 -336 16 ) ( 192 -336 17 ) brown_brick [ -1 0 0 0 ] [ 0 0 -1 32 ] 180 1 1 -( 192 -144 16 ) ( 192 -143 16 ) ( 191 -144 16 ) brown_brick [ 1 0 0 0 ] [ 0 -1 0 -16 ] 180 1 1 -( 64 -16 96 ) ( 63 -16 96 ) ( 64 -15 96 ) brown_brick [ -1 0 0 0 ] [ 0 -1 0 -16 ] 180 1 1 -( 64 -320 48 ) ( 64 -320 49 ) ( 63 -320 48 ) brown_brick [ 1 0 0 0 ] [ 0 0 -1 32 ] 180 1 1 -( 208 -144 16 ) ( 208 -144 17 ) ( 208 -143 16 ) brown_brick [ 0 -1 0 -16 ] [ 0 0 -1 32 ] 0 1 1 -} -// brush 10 -{ -( -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 -336 96 ) ( -160 -336 97 ) ( -161 -336 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 11 -{ -( -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 12 -{ -( -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 360 ) ( 288 177 360 ) ( 289 176 360 ) 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 13 -{ -( 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" "info_player_start" -"origin" "-80 -176 136" -} -// entity 2 -{ -"classname" "light" -"origin" "136 -360 224" -} diff --git a/testmaps/q1_decompiler_test.map b/testmaps/q1_decompiler_test.map new file mode 100644 index 00000000..f586f4bb --- /dev/null +++ b/testmaps/q1_decompiler_test.map @@ -0,0 +1,83 @@ +// Game: Quake +// Format: Valve +// entity 0 +{ +"mapversion" "220" +"classname" "worldspawn" +"wad" "deprecated/free_wad.wad;deprecated/fence.wad;deprecated/origin.wad;deprecated/hintskip.wad;../testmaps/deprecated/free_wad.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 4 4 +( -176 -432 64 ) ( -176 -432 65 ) ( -175 -432 64 ) tsl_wall1 [ 1 0 0 16 ] [ 0 0 -1 -32 ] 0 4 4 +( -176 -256 96 ) ( -175 -256 96 ) ( -176 -255 96 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 -1 0 0 ] 0 4 4 +( -160 192 352 ) ( -160 193 352 ) ( -159 192 352 ) tsl_wall1 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 4 4 +( -160 176 80 ) ( -159 176 80 ) ( -160 176 81 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 4 4 +( -160 192 80 ) ( -160 192 81 ) ( -160 193 80 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 4 4 +} +// brush 1 +{ +( -160 176 88 ) ( -160 177 88 ) ( -160 176 89 ) tsl_wall1 [ 0 1.0000000000000002 0 -32 ] [ 0 0 -1.0000000000000002 -32 ] 0 4 4 +( -160 176 88 ) ( -160 176 89 ) ( -159 176 88 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 4 4 +( -160 176 96 ) ( -159 176 96 ) ( -160 177 96 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 -40 ] 0 4 4 +( 288 192 352 ) ( 288 193 352 ) ( 289 192 352 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 48 ] 0 4 4 +( 288 192 96 ) ( 289 192 96 ) ( 288 192 97 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 4 4 +( 288 192 96 ) ( 288 192 97 ) ( 288 193 96 ) tsl_wall1 [ 0 -1.0000000000000002 0 0 ] [ 0 0 -1.0000000000000002 -32 ] 0 4 4 +} +// brush 2 +{ +( -160 -448 88 ) ( -160 -447 88 ) ( -160 -448 89 ) tsl_wall1 [ 0 1.0000000000000002 0 80 ] [ 0 0 -1.0000000000000002 -32 ] 0 4 4 +( -160 -448 88 ) ( -160 -448 89 ) ( -159 -448 88 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 4 4 +( -160 -448 96 ) ( -159 -448 96 ) ( -160 -447 96 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 72 ] 0 4 4 +( 288 -432 352 ) ( 288 -431 352 ) ( 289 -432 352 ) tsl_wall1 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 -64 ] 0 4 4 +( 288 -432 96 ) ( 289 -432 96 ) ( 288 -432 97 ) tsl_wall1 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 4 4 +( 288 -432 96 ) ( 288 -432 97 ) ( 288 -431 96 ) tsl_wall1 [ 0 -1.0000000000000002 0 -112 ] [ 0 0 -1.0000000000000002 -32 ] 0 4 4 +} +// brush 3 +{ +( 288 192 80 ) ( 288 193 80 ) ( 288 192 81 ) tsl_wall1 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 4 4 +( 304 -432 64 ) ( 303 -432 64 ) ( 304 -432 65 ) tsl_wall1 [ -1 0 0 16 ] [ 0 0 -1 -32 ] 180 4 4 +( 304 -256 96 ) ( 304 -255 96 ) ( 303 -256 96 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 4 4 +( 304 -256 352 ) ( 303 -256 352 ) ( 304 -255 352 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 4 4 +( 288 176 80 ) ( 288 176 81 ) ( 287 176 80 ) tsl_wall1 [ 1 0 0 -16 ] [ 0 0 -1 -32 ] 180 4 4 +( 304 -256 64 ) ( 304 -256 65 ) ( 304 -255 64 ) tsl_wall1 [ 0 -1 0 0 ] [ 0 0 -1 -32 ] 0 4 4 +} +// brush 4 +{ +( -160 -256 352 ) ( -160 -255 352 ) ( -160 -256 353 ) orangestuff8 [ 0 0 -1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 4 4 +( 288 -432 360 ) ( 288 -432 361 ) ( 289 -432 360 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 4 4 +( -160 -256 352 ) ( -159 -256 352 ) ( -160 -255 352 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 4 4 +( 288 176 360 ) ( 288 177 360 ) ( 289 176 360 ) orangestuff8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 4 4 +( 288 176 360 ) ( 289 176 360 ) ( 288 176 361 ) orangestuff8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 4 4 +( 288 176 360 ) ( 288 176 361 ) ( 288 177 360 ) orangestuff8 [ 0 0 1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 4 4 +} +// brush 5 +{ +( -160 -112 96 ) ( -160 -111 96 ) ( -160 -112 97 ) orangestuff8 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 4 4 +( -80 -432 80 ) ( -81 -432 80 ) ( -80 -432 81 ) orangestuff8 [ -1 0 0 16 ] [ 0 0 -1 0 ] 180 4 4 +( -80 -432 80 ) ( -80 -431 80 ) ( -81 -432 80 ) orangestuff8 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 180 4 4 +( -160 -112 96 ) ( -161 -112 96 ) ( -160 -111 96 ) orangestuff8 [ -1 0 0 16 ] [ 0 -1 0 16 ] 180 4 4 +( 48 -128 96 ) ( 96 -128 96 ) ( 96 -128 224 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 0 ] 180 4 4 +( 288 -432 80 ) ( 288 -432 81 ) ( 288 -431 80 ) orangestuff8 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 4 4 +} +// brush 6 +{ +( -160 -112 96 ) ( -160 -111 96 ) ( -160 -112 97 ) bolt2 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 4 4 +( 48 -128 96 ) ( 96 -128 224 ) ( 96 -128 96 ) bolt2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 180 4 4 +( -80 -432 80 ) ( -80 -431 80 ) ( -81 -432 80 ) bolt2 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 180 4 4 +( -160 -112 96 ) ( -161 -112 96 ) ( -160 -111 96 ) bolt2 [ -1 0 0 16 ] [ 0 -1 0 16 ] 180 4 4 +( -160 176 96 ) ( -160 176 97 ) ( -161 176 96 ) bolt2 [ 1 0 0 -16 ] [ 0 0 -1 0 ] 180 4 4 +( 288 -432 80 ) ( 288 -432 81 ) ( 288 -431 80 ) bolt2 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 4 4 +} +} +// entity 1 +{ +"classname" "info_player_start" +"origin" "-80 -176 136" +} +// entity 2 +{ +"classname" "light" +"origin" "136 -360 224" +} diff --git a/tests/test_bsputil.cc b/tests/test_bsputil.cc index c2b17f81..efdefc03 100644 --- a/tests/test_bsputil.cc +++ b/tests/test_bsputil.cc @@ -1,7 +1,6 @@ #include #include -#include #include #include @@ -12,25 +11,26 @@ TEST_SUITE("bsputil") { TEST_CASE("q1_decompiler_test" * doctest::may_fail()) { - bspdata_t bspdata; - std::filesystem::path path = std::filesystem::path(testmaps_dir) / ".." / "testbsps" / "q1_decompiler_test.bsp"; - LoadBSPFile(path, &bspdata); + const auto [bsp, bspx, prt] = LoadTestmapQ1("q1_decompiler_test.map"); - ConvertBSPFormat(&bspdata, &bspver_generic); - - path.replace_filename(path.stem().string() + "-decompile"); - path.replace_extension(".map"); + auto path = std::filesystem::path(testmaps_dir) / "q1_decompiler_test-decompile.map"; std::ofstream f(path); - mbsp_t &bsp = std::get(bspdata.bsp); - decomp_options options; DecompileBSP(&bsp, options, f); f.close(); + // checks on the .map file auto &entity = LoadMapPath(path); + CHECK(entity.mapbrushes.size() == 7); // two floor brushes + + // qbsp the decompiled map + const auto [bsp2, bspx2, prt2] = LoadTestmapQ1("q1_decompiler_test-decompile.map"); + + CHECK(bsp2.dmodels.size() == bsp.dmodels.size()); + CHECK(bsp2.dleafs.size() == bsp.dleafs.size()); + CHECK(bsp2.dnodes.size() == bsp.dnodes.size()); - REQUIRE(entity.mapbrushes.size() == 14); } }