From 27c40b625507d1108413262aefb2c1dde834256c Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Mon, 18 Nov 2024 19:54:07 -0700 Subject: [PATCH] tests: add q2_mist_aux_implicitly_detail.map test --- testmaps/q2_mist_aux_implicitly_detail.map | 91 ++++++++++++++++++++++ tests/test_qbsp_q2.cc | 9 +++ 2 files changed, 100 insertions(+) create mode 100644 testmaps/q2_mist_aux_implicitly_detail.map diff --git a/testmaps/q2_mist_aux_implicitly_detail.map b/testmaps/q2_mist_aux_implicitly_detail.map new file mode 100644 index 00000000..34fef048 --- /dev/null +++ b/testmaps/q2_mist_aux_implicitly_detail.map @@ -0,0 +1,91 @@ +// Game: Quake 2 +// Format: Quake2 (Valve) +// entity 0 +{ +"mapversion" "220" +"classname" "worldspawn" +"_tb_textures" "textures/e1u1" +// brush 0 +{ +( 24 244 64 ) ( 24 245 64 ) ( 24 244 65 ) e1u1/ggrat4_2 [ 0 1.0000000000000002 0 -16 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( 24 68 64 ) ( 24 68 65 ) ( 25 68 64 ) e1u1/ggrat4_2 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 24 244 96 ) ( 25 244 96 ) ( 24 245 96 ) e1u1/ggrat4_2 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 -48 ] 0 1 1 +( 40 692 352 ) ( 40 693 352 ) ( 41 692 352 ) e1u1/ggrat4_2 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 -80 ] 0 1 1 +( 40 676 80 ) ( 41 676 80 ) ( 40 676 81 ) e1u1/ggrat4_2 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 40 692 80 ) ( 40 692 81 ) ( 40 693 80 ) e1u1/ggrat4_2 [ 0 -1.0000000000000002 0 64 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +} +// brush 1 +{ +( 40 676 88 ) ( 40 677 88 ) ( 40 676 89 ) e1u1/ggrat4_2 [ 0 1.0000000000000002 0 -32 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( 40 676 88 ) ( 40 676 89 ) ( 41 676 88 ) e1u1/ggrat4_2 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 40 676 96 ) ( 41 676 96 ) ( 40 677 96 ) e1u1/ggrat4_2 [ -1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 -40 ] 0 1 1 +( 488 692 352 ) ( 488 693 352 ) ( 489 692 352 ) e1u1/ggrat4_2 [ -1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 48 ] 0 1 1 +( 488 692 96 ) ( 489 692 96 ) ( 488 692 97 ) e1u1/ggrat4_2 [ -1 0 0 -16 ] [ 0 0 -1 -32 ] 0 1 1 +( 488 692 96 ) ( 488 692 97 ) ( 488 693 96 ) e1u1/ggrat4_2 [ 0 -1.0000000000000002 0 0 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +} +// brush 2 +{ +( 40 52 88 ) ( 40 53 88 ) ( 40 52 89 ) e1u1/ggrat4_2 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +( 40 52 88 ) ( 40 52 89 ) ( 41 52 88 ) e1u1/ggrat4_2 [ -1.0000000000000002 0 0 -32 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( 40 52 96 ) ( 41 52 96 ) ( 40 53 96 ) e1u1/ggrat4_2 [ 0 1.0000000000000002 0 0 ] [ 1.0000000000000002 0 0 -32 ] 0 1 1 +( 488 68 352 ) ( 488 69 352 ) ( 489 68 352 ) e1u1/ggrat4_2 [ 0 1.0000000000000002 0 0 ] [ -1.0000000000000002 0 0 -96 ] 0 1 1 +( 488 68 96 ) ( 489 68 96 ) ( 488 68 97 ) e1u1/ggrat4_2 [ 1.0000000000000002 0 0 -80 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 +( 488 68 96 ) ( 488 68 97 ) ( 488 69 96 ) e1u1/ggrat4_2 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +} +// brush 3 +{ +( 40 244 352 ) ( 40 245 352 ) ( 40 244 353 ) e1u1/florr1_8 [ 0 0 -1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 1 1 +( 488 68 360 ) ( 488 68 361 ) ( 489 68 360 ) e1u1/florr1_8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 1 1 +( 40 244 352 ) ( 41 244 352 ) ( 40 245 352 ) e1u1/florr1_8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 +( 488 676 368 ) ( 488 677 368 ) ( 489 676 368 ) e1u1/florr1_8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 180 1 1 +( 488 676 360 ) ( 489 676 360 ) ( 488 676 361 ) e1u1/florr1_8 [ -1.0000000000000002 0 0 0 ] [ 0 0 1.0000000000000002 -16 ] 180 1 1 +( 488 676 360 ) ( 488 676 361 ) ( 488 677 360 ) e1u1/florr1_8 [ 0 0 1.0000000000000002 0 ] [ 0 -1.0000000000000002 0 0 ] 180 1 1 +} +// brush 4 +{ +( 488 692 80 ) ( 488 693 80 ) ( 488 692 81 ) e1u1/ggrat4_2 [ 0 1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +( 504 68 64 ) ( 503 68 64 ) ( 504 68 65 ) e1u1/ggrat4_2 [ -1 0 0 16 ] [ 0 0 -1 -32 ] 180 1 1 +( 504 244 96 ) ( 504 245 96 ) ( 503 244 96 ) e1u1/ggrat4_2 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 1 1 +( 504 244 352 ) ( 503 244 352 ) ( 504 245 352 ) e1u1/ggrat4_2 [ 1 0 0 -16 ] [ 0 -1 0 0 ] 180 1 1 +( 488 676 80 ) ( 488 676 81 ) ( 487 676 80 ) e1u1/ggrat4_2 [ 1 0 0 -16 ] [ 0 0 -1 -32 ] 180 1 1 +( 504 244 64 ) ( 504 244 65 ) ( 504 245 64 ) e1u1/ggrat4_2 [ 0 -1 0 0 ] [ 0 0 -1 -32 ] 0 1 1 +} +// brush 5 +{ +( 40 68 96 ) ( 40 676 80 ) ( 40 676 96 ) e1u1/florr1_8 [ 0 1 0 -16 ] [ 0 0 -1 0 ] 0 1 1 +( 488 68 96 ) ( 40 68 80 ) ( 40 68 96 ) e1u1/florr1_8 [ -1 0 0 16 ] [ 0 0 -1 0 ] 180 1 1 +( 488 676 80 ) ( 40 68 80 ) ( 488 68 80 ) e1u1/florr1_8 [ 1 0 0 -16 ] [ 0 -1 0 16 ] 180 1 1 +( 488 676 96 ) ( 40 68 96 ) ( 40 676 96 ) e1u1/florr1_8 [ -1 0 0 16 ] [ 0 -1 0 16 ] 180 1 1 +( 488 676 96 ) ( 40 676 80 ) ( 488 676 80 ) e1u1/florr1_8 [ 1 0 0 -16 ] [ 0 0 -1 0 ] 180 1 1 +( 488 676 96 ) ( 488 68 80 ) ( 488 68 96 ) e1u1/florr1_8 [ 0 -1 0 16 ] [ 0 0 -1 0 ] 0 1 1 +} +// brush 6 +{ +( 272 528 96 ) ( 272 529 96 ) ( 272 528 97 ) e1u1/water1_8 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 64 0 0 +( 272 528 96 ) ( 272 528 97 ) ( 273 528 96 ) e1u1/water1_8 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 64 0 0 +( 272 528 96 ) ( 273 528 96 ) ( 272 529 96 ) e1u1/water1_8 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 64 0 0 +( 320 592 256 ) ( 320 593 256 ) ( 321 592 256 ) e1u1/water1_8 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1 64 0 0 +( 320 592 112 ) ( 321 592 112 ) ( 320 592 113 ) e1u1/water1_8 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 64 0 0 +( 320 592 112 ) ( 320 592 113 ) ( 320 593 112 ) e1u1/water1_8 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 64 0 0 +} +// brush 7 +{ +( 272 368 96 ) ( 272 369 96 ) ( 272 368 97 ) e1u1/water1_8 [ 0 -1 0 -32 ] [ 0 0 -1 0 ] 0 1 1 4 0 0 +( 272 368 96 ) ( 272 368 97 ) ( 273 368 96 ) e1u1/water1_8 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 4 0 0 +( 272 368 96 ) ( 273 368 96 ) ( 272 369 96 ) e1u1/water1_8 [ -1 0 0 0 ] [ 0 -1 0 -32 ] 0 1 1 4 0 0 +( 320 432 256 ) ( 320 433 256 ) ( 321 432 256 ) e1u1/water1_8 [ 1 0 0 0 ] [ 0 -1 0 -32 ] 0 1 1 4 0 0 +( 320 432 112 ) ( 321 432 112 ) ( 320 432 113 ) e1u1/water1_8 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1 4 0 0 +( 320 432 112 ) ( 320 432 113 ) ( 320 433 112 ) e1u1/water1_8 [ 0 1 0 32 ] [ 0 0 -1 0 ] 0 1 1 4 0 0 +} +} +// entity 1 +{ +"classname" "light" +"origin" "192 348 264" +"light" "3000" +} +// entity 2 +{ +"classname" "info_player_start" +"origin" "112 436 120" +} diff --git a/tests/test_qbsp_q2.cc b/tests/test_qbsp_q2.cc index 016e067f..9698634b 100644 --- a/tests/test_qbsp_q2.cc +++ b/tests/test_qbsp_q2.cc @@ -860,6 +860,15 @@ TEST(testmapsQ2, mistTranswater) EXPECT_TRUE(Face_Winding(&bsp, down_faces[0]).directional_equal(top_of_water_dn)); } +TEST(testmapsQ2, mistAuxImplicitlyDetail) +{ + const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_mist_aux_implicitly_detail.map", {}); + + ASSERT_TRUE(prt); + EXPECT_EQ(prt->portals.size(), 0); + EXPECT_EQ(prt->portalleafs, 1); +} + TEST(testmapsQ2, tjuncMatrix) { const auto [b, bspx, prt] = LoadTestmapQ2("q2_tjunc_matrix.map");