tests: add q2 ladder test case
This commit is contained in:
parent
c43371213e
commit
aa928e1515
|
|
@ -0,0 +1,77 @@
|
|||
// Game: Quake 2
|
||||
// Format: Quake2 (Valve)
|
||||
// entity 0
|
||||
{
|
||||
"mapversion" "220"
|
||||
"classname" "worldspawn"
|
||||
"_tb_textures" "textures/e1u1"
|
||||
// brush 0
|
||||
{
|
||||
( 144 208 192 ) ( 144 -208 192 ) ( 144 208 -16 ) e1u1/c_met11_2 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 160 -208 -16 ) ( 144 -208 -16 ) ( 160 -208 192 ) e1u1/c_met11_2 [ 1 0 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
( 160 208 -16 ) ( 144 208 -16 ) ( 160 -208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 160 -208 192 ) ( 144 -208 192 ) ( 160 208 192 ) e1u1/c_met11_2 [ 1 0 -0 0 ] [ 0 -1 -0 0 ] 0 1 1
|
||||
( 160 208 192 ) ( 144 208 192 ) ( 160 208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 160 -208 192 ) ( 160 208 192 ) ( 160 -208 -16 ) e1u1/c_met11_2 [ 0 1 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 1
|
||||
{
|
||||
( -160 -208 -16 ) ( -160 208 -16 ) ( -160 -208 192 ) e1u1/c_met11_2 [ 0 -1 0 0 ] [ -0 -0 -1 0 ] 0 1 1
|
||||
( -160 -208 192 ) ( -144 -208 192 ) ( -160 -208 -16 ) e1u1/c_met11_2 [ 1 0 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
( -160 -208 -16 ) ( -144 -208 -16 ) ( -160 208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ -0 -1 -0 0 ] 0 1 1
|
||||
( -160 208 192 ) ( -144 208 192 ) ( -160 -208 192 ) e1u1/c_met11_2 [ 1 -0 0 0 ] [ -0 -1 0 0 ] 0 1 1
|
||||
( -160 208 -16 ) ( -144 208 -16 ) ( -160 208 192 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -144 -208 -16 ) ( -144 -208 192 ) ( -144 208 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 2
|
||||
{
|
||||
( -144 208 192 ) ( -144 192 192 ) ( -144 208 -16 ) e1u1/c_met11_2 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 144 192 192 ) ( 144 192 -16 ) ( -144 192 192 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -144 208 -16 ) ( -144 192 -16 ) ( 144 208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ -0 -1 -0 0 ] 0 1 1
|
||||
( 144 208 192 ) ( 144 192 192 ) ( -144 208 192 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 144 208 192 ) ( -144 208 192 ) ( 144 208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 144 208 -16 ) ( 144 192 -16 ) ( 144 208 192 ) e1u1/c_met11_2 [ -0 1 0 0 ] [ -0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 3
|
||||
{
|
||||
( -144 -208 -16 ) ( -144 -192 -16 ) ( -144 -208 192 ) e1u1/c_met11_2 [ 0 -1 0 0 ] [ -0 -0 -1 0 ] 0 1 1
|
||||
( 144 -208 -16 ) ( -144 -208 -16 ) ( 144 -208 192 ) e1u1/c_met11_2 [ 1 0 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
( 144 -208 -16 ) ( 144 -192 -16 ) ( -144 -208 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ -0 -1 -0 0 ] 0 1 1
|
||||
( -144 -208 192 ) ( -144 -192 192 ) ( 144 -208 192 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -144 -192 -16 ) ( 144 -192 -16 ) ( -144 -192 192 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 144 -208 192 ) ( 144 -192 192 ) ( 144 -208 -16 ) e1u1/c_met11_2 [ 0 1 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 4
|
||||
{
|
||||
( -144 -192 192 ) ( -144 -192 176 ) ( -144 192 192 ) e1u1/sky1 [ 0 0.30769230769230776 0 0 ] [ 0 0 -1 0 ] 0 1 1 0 132 0
|
||||
( 144 -192 192 ) ( 144 -192 176 ) ( -144 -192 192 ) e1u1/sky1 [ -0.4 0 0 0 ] [ 0 0 -1 0 ] 180 1 1 0 132 0
|
||||
( 144 192 176 ) ( -144 192 176 ) ( 144 -192 176 ) e1u1/sky1 [ -0.4 0 0 0 ] [ 0 -0.30769230769230776 0 0 ] 180 1 1 0 132 0
|
||||
( 144 192 192 ) ( 144 -192 192 ) ( -144 192 192 ) e1u1/sky1 [ -0.4 0 0 0 ] [ 0 -0.30769230769230776 0 0 ] 180 1 1 0 132 0
|
||||
( -144 192 192 ) ( -144 192 176 ) ( 144 192 192 ) e1u1/sky1 [ 0.4 0 0 0 ] [ 0 0 -1 0 ] 180 1 1 0 132 0
|
||||
( 144 192 192 ) ( 144 192 176 ) ( 144 -192 192 ) e1u1/sky1 [ 0 -0.30769230769230776 0 0 ] [ 0 0 -1 0 ] 0 1 1 0 132 0
|
||||
}
|
||||
// brush 5
|
||||
{
|
||||
( -144 192 -16 ) ( -144 192 0 ) ( -144 -192 -16 ) e1u1/c_met11_2 [ 0 -1 0 0 ] [ -0 -0 -1 0 ] 0 1 1
|
||||
( -144 -192 -16 ) ( -144 -192 0 ) ( 144 -192 -16 ) e1u1/c_met11_2 [ 1 0 -0 0 ] [ 0 -0 -1 0 ] 0 1 1
|
||||
( -144 192 -16 ) ( -144 -192 -16 ) ( 144 192 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ -0 -1 -0 0 ] 0 1 1
|
||||
( -144 -192 0 ) ( -144 192 0 ) ( 144 -192 0 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 144 192 -16 ) ( 144 192 0 ) ( -144 192 -16 ) e1u1/c_met11_2 [ -1 0 0 0 ] [ -0 0 -1 0 ] 0 1 1
|
||||
( 144 -192 -16 ) ( 144 -192 0 ) ( 144 192 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 6
|
||||
{
|
||||
( -16 176 0 ) ( -16 177 0 ) ( -16 176 1 ) e1u1/color1_2 [ 0 -1 0 48 ] [ 0 0 -1 0 ] 0 1 1 671088640 0 0
|
||||
( -16 176 0 ) ( -16 176 1 ) ( -15 176 0 ) e1u1/color1_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1 671088640 0 0
|
||||
( -16 176 0 ) ( -15 176 0 ) ( -16 177 0 ) e1u1/color1_2 [ -1 0 0 -16 ] [ 0 -1 0 48 ] 0 1 1 671088640 0 0
|
||||
( 0 192 176 ) ( 0 193 176 ) ( 1 192 176 ) e1u1/color1_2 [ 1 0 0 16 ] [ 0 -1 0 48 ] 0 1 1 671088640 0 0
|
||||
( 0 192 16 ) ( 1 192 16 ) ( 0 192 17 ) e1u1/color1_2 [ -1 0 0 -16 ] [ 0 0 -1 0 ] 0 1 1 671088640 0 0
|
||||
( 0 192 16 ) ( 0 192 17 ) ( 0 193 16 ) e1u1/color1_2 [ 0 1 0 -48 ] [ 0 0 -1 0 ] 0 1 1 671088640 0 0
|
||||
}
|
||||
}
|
||||
// entity 1
|
||||
{
|
||||
"classname" "info_player_start"
|
||||
"origin" "16 -16 24"
|
||||
"angle" "90"
|
||||
}
|
||||
|
|
@ -598,3 +598,20 @@ TEST_CASE("q2_missing_faces" * doctest::test_suite("testmaps_q2") * doctest::may
|
|||
CHECK(BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], point_on_missing_face2));
|
||||
CHECK(BSP_FindFaceAtPoint(&bsp, &bsp.dmodels[0], point_on_present_face));
|
||||
}
|
||||
|
||||
TEST_CASE("q2_ladder" * doctest::test_suite("testmaps_q2"))
|
||||
{
|
||||
const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_ladder.map");
|
||||
|
||||
const qvec3d point_in_ladder {-8, 184, 24};
|
||||
|
||||
CheckFilled(bsp);
|
||||
|
||||
auto *leaf = BSP_FindLeafAtPoint(&bsp, &bsp.dmodels[0], point_in_ladder);
|
||||
|
||||
// the brush lacked a visible contents, so it became solid. solid leafs wipe out any other content bits
|
||||
CHECK(leaf->contents == (Q2_CONTENTS_SOLID));
|
||||
|
||||
CHECK(1 == Leaf_Brushes(&bsp, leaf).size());
|
||||
CHECK((Q2_CONTENTS_SOLID | Q2_CONTENTS_LADDER | Q2_CONTENTS_DETAIL) == Leaf_Brushes(&bsp, leaf).at(0)->contents);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue