diff --git a/qbsp/test_qbsp.cc b/qbsp/test_qbsp.cc index 37b071c1..823931a2 100644 --- a/qbsp/test_qbsp.cc +++ b/qbsp/test_qbsp.cc @@ -314,6 +314,17 @@ TEST(testmaps_q1, options_reset2) EXPECT_FALSE(options.transsky.value()); } +/** + * The brushes are touching but not intersecting, so ChopBrushes shouldn't change anything. + */ +TEST(testmaps_q1, chop_no_change) +{ + LoadTestmap("qbsp_chop_no_change.map"); + + // TODO: ideally we should check we get back the same brush pointers from ChopBrushes +} + + TEST(testmaps_q1, simple_sealed) { mbsp_t result = LoadTestmap("qbsp_simple_sealed.map"); diff --git a/testmaps/qbsp_chop_no_change.map b/testmaps/qbsp_chop_no_change.map new file mode 100644 index 00000000..61f58c0e --- /dev/null +++ b/testmaps/qbsp_chop_no_change.map @@ -0,0 +1,42 @@ +// 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 +{ +( 64 -16 96 ) ( 64 -15 96 ) ( 64 -16 97 ) *zwater1 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 64 -16 96 ) ( 64 -16 97 ) ( 65 -16 96 ) *zwater1 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 64 -16 96 ) ( 65 -16 96 ) ( 64 -15 96 ) *zwater1 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 96 80 144 ) ( 96 81 144 ) ( 97 80 144 ) *zwater1 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 96 80 112 ) ( 97 80 112 ) ( 96 80 113 ) *zwater1 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 96 80 112 ) ( 96 80 113 ) ( 96 81 112 ) *zwater1 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 1 +{ +( -112 -112 96 ) ( -112 -111 96 ) ( -112 -112 97 ) orangestuff8 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 1 1 +( -80 -96 80 ) ( -81 -96 80 ) ( -80 -96 81 ) orangestuff8 [ -1 0 0 16 ] [ 0 0 -1 0 ] 180 1 1 +( -80 -432 0 ) ( -80 -431 0 ) ( -81 -432 0 ) 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 128 96 ) ( -160 128 97 ) ( -161 128 96 ) orangestuff8 [ 1 0 0 -16 ] [ 0 0 -1 0 ] 180 1 1 +( 144 -432 80 ) ( 144 -432 81 ) ( 144 -431 80 ) orangestuff8 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 2 +{ +( -48 80 96 ) ( -48 81 96 ) ( -48 80 97 ) brown_brick [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( -48 128 96 ) ( -48 128 97 ) ( -47 128 96 ) brown_brick [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( -48 80 0 ) ( -47 80 0 ) ( -48 81 0 ) brown_brick [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 16 176 96 ) ( 16 177 96 ) ( 17 176 96 ) brown_brick [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 16 176 112 ) ( 17 176 112 ) ( 16 176 113 ) brown_brick [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 16 176 112 ) ( 16 176 113 ) ( 16 177 112 ) brown_brick [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +} +// entity 1 +{ +"classname" "info_player_start" +"origin" "-88 -64 120" +}