diff --git a/testmaps/qbsp_q1_0125unit_faces.map b/testmaps/qbsp_q1_0125unit_faces.map new file mode 100644 index 00000000..ec5cc677 --- /dev/null +++ b/testmaps/qbsp_q1_0125unit_faces.map @@ -0,0 +1,55 @@ +// Game: Quake +// Format: Valve +// entity 0 +{ +"mapversion" "220" +"classname" "worldspawn" +"wad" "deprecated/free_wad.wad;deprecated/hintskip.wad" +// brush 0 +{ +( -64 -64 -16 ) ( -64 -63 -16 ) ( -64 -64 -15 ) skip [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( -64 -64 -16 ) ( -64 -64 -15 ) ( -63 -64 -16 ) skip [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( -64 -64 -16 ) ( -63 -64 -16 ) ( -64 -63 -16 ) skip [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 64 64 16 ) ( 64 65 16 ) ( 65 64 16 ) skip [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 64 64 16 ) ( 65 64 16 ) ( 64 64 17 ) skip [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 64 64 16 ) ( 64 64 17 ) ( 64 65 16 ) skip [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 1 +{ +( 32 -64 16 ) ( 32 -63 16 ) ( 32 -64 17 ) bolt18 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 32 -64 16 ) ( 32 -64 17 ) ( 33 -64 16 ) skip [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 32 -64 16 ) ( 33 -64 16 ) ( 32 -63 16 ) skip [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 64 -48 112 ) ( 64 -47 112 ) ( 65 -48 112 ) skip [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 64 -48 32 ) ( 65 -48 32 ) ( 64 -48 33 ) skip [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 64 -48 32 ) ( 64 -48 33 ) ( 64 -47 32 ) skip [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 2 +{ +( -64 -64 16 ) ( -64 -63 16 ) ( -64 -64 17 ) skip [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 0 -64 16 ) ( 0 -64 17 ) ( 1 -64 16 ) skip [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 0 -64 80 ) ( 1 -64 80 ) ( 0 -63 80 ) bolt18 [ 0 -1.0000000000000002 0 0 ] [ 1.0000000000000002 0 0 -48 ] 0 1 1 +( 32 -48 112 ) ( 32 -47 112 ) ( 33 -48 112 ) skip [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 32 -48 32 ) ( 33 -48 32 ) ( 32 -48 33 ) skip [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 32 -48 32 ) ( 32 -48 33 ) ( 32 -47 32 ) skip [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 3 +{ +( -64 -48.25 80 ) ( -64 -64 80 ) ( -64 -64 16 ) skip [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 32 -48.125 16 ) ( 32 -48.125 80 ) ( -64 -48.25 80 ) skip [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( -64 -64 80 ) ( 32 -64 80 ) ( 32 -64 16 ) skip [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 +( 32 -64 16 ) ( 32 -48.125 16 ) ( -64 -48.25 16 ) skip [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( -64 -48.25 80 ) ( 32 -48.125 80 ) ( 32 -64 80 ) skip [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 +( 32 -64 80 ) ( 32 -48.125 80 ) ( 32 -48.125 16 ) skip [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 +} +} +// entity 1 +{ +"classname" "info_player_start" +"origin" "16 40 40" +"angle" "270" +} +// entity 2 +{ +"classname" "light" +"origin" "8 0 88" +} diff --git a/tests/test_qbsp.cc b/tests/test_qbsp.cc index 986b1d75..e0c7502d 100644 --- a/tests/test_qbsp.cc +++ b/tests/test_qbsp.cc @@ -1258,6 +1258,14 @@ TEST_CASE("qbsp_sealing_point_entity_on_outside", "[testmaps_q1]") { REQUIRE(prt.has_value()); } +TEST_CASE("qbsp_q1_0125unit_faces", "[testmaps_q1][!mayfail]") +{ + const auto [bsp, bspx, prt] = LoadTestmapQ1("qbsp_q1_0125unit_faces.map"); + + CHECK(bsp.loadversion == &bspver_q1); + CHECK(2 == bsp.dfaces.size()); +} + // q2 testmaps TEST_CASE("detail", "[testmaps_q2]") { @@ -1545,7 +1553,7 @@ TEST_CASE("quake maps", "[testmaps_q1][.releaseonly]") } } -TEST_CASE("chop", "[testmaps_q1]") +TEST_CASE("chop", "[testmaps_q1][.releaseonly]") { const auto [bsp, bspx, prt] = LoadTestmapQ1("quake_map_source/DM1-test.map", {"-chop", "-debugchop"});