tests: add q1 hull1 failure example

This commit is contained in:
Eric Wasylishen 2023-05-20 19:17:59 -06:00
parent 9a09dfffa9
commit 9c466dd813
2 changed files with 101 additions and 0 deletions

View File

@ -0,0 +1,81 @@
// Game: Quake
// Format: Valve
// entity 0
{
"classname" "worldspawn"
"wad" ""
// brush 0
{
( -1824 -144 288 ) ( -1824 -144 144 ) ( -1824 48 288 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1792 -352 288 ) ( -1792 -352 144 ) ( -1824 -352 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 48 144 ) ( -1824 -144 144 ) ( -1792 48 144 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 -144 376 ) ( -1824 48 376 ) ( -1792 -144 376 ) 128_blue_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 208 288 ) ( -1824 208 144 ) ( -1792 208 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1792 48 288 ) ( -1792 48 144 ) ( -1792 -144 288 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 1
{
( -1828.2702719561466 -128 288 ) ( -1828.2702685843988 32 160 ) ( -1828.2702685843988 32 288 ) grey_1 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1823.7632822077753 -128 160 ) ( -1828.2702719561466 -128 288 ) ( -1823.7632822077794 -128 288 ) grey_1 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1823.7632788360274 32 160 ) ( -1828.2702719561466 -128 160 ) ( -1823.7632822077753 -128 160 ) grey_1 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1823.763278836028 32 288 ) ( -1828.2702719561466 -128 288 ) ( -1828.2702685843988 32 288 ) grey_1 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1823.7632788360274 32 160 ) ( -1828.2702685843988 32 288 ) ( -1828.2702685843988 32 160 ) grey_1 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1823.7632788360274 32 160 ) ( -1823.7632822077794 -128 288 ) ( -1823.763278836028 32 288 ) grey_1 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 2
{
( -2386 -144 288 ) ( -2386 -144 144 ) ( -2386 48 288 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1792 -352 288 ) ( -1792 -352 144 ) ( -1824 -352 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 48 374 ) ( -1824 -144 374 ) ( -1792 48 374 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 -144 376 ) ( -1824 48 376 ) ( -1792 -144 376 ) 128_blue_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 208 288 ) ( -1824 208 144 ) ( -1792 208 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 -144 288 ) ( -1824 48 288 ) ( -1824 -144 144 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 3
{
( -2386 -144 58 ) ( -2386 -144 -86 ) ( -2386 48 58 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 26 ] 0 1 1
( -1792 -352 58 ) ( -1792 -352 -86 ) ( -1824 -352 58 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 26 ] 0 1 1
( -1824 48 144 ) ( -1824 -144 144 ) ( -1792 48 144 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 -144 146 ) ( -1824 48 146 ) ( -1792 -144 146 ) 128_blue_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 208 58 ) ( -1824 208 -86 ) ( -1792 208 58 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 26 ] 0 1 1
( -1824 -144 58 ) ( -1824 48 58 ) ( -1824 -144 -86 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 26 ] 0 1 1
}
// brush 4
{
( -2386 -144 288 ) ( -2386 -144 144 ) ( -2386 48 288 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1792 -352 288 ) ( -1792 -352 144 ) ( -1824 -352 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 48 144 ) ( -1824 -144 144 ) ( -1792 48 144 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 -144 376 ) ( -1824 48 376 ) ( -1792 -144 376 ) 128_blue_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 208 288 ) ( -1824 208 144 ) ( -1792 208 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -2376 -144 288 ) ( -2376 48 288 ) ( -2376 -144 144 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 5
{
( -2386 -144 288 ) ( -2386 -144 144 ) ( -2386 48 288 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1792 204 288 ) ( -1792 204 144 ) ( -1824 204 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 48 146 ) ( -1824 -144 146 ) ( -1792 48 146 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 48 374 ) ( -1792 48 374 ) ( -1824 -144 374 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( -1824 208 288 ) ( -1824 208 144 ) ( -1792 208 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 -144 288 ) ( -1824 48 288 ) ( -1824 -144 144 ) 128_blue_3 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
// brush 6
{
( -2386 -704 288 ) ( -2386 -704 144 ) ( -2386 -512 288 ) 128_blue_3 [ 0 1 0 48 ] [ 0 0 -1 0 ] 0 1 1
( -1792 -356 288 ) ( -1792 -356 144 ) ( -1824 -356 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 -512 146 ) ( -1824 -704 146 ) ( -1792 -512 146 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 -48 ] 0 1 1
( -1824 -512 374 ) ( -1792 -512 374 ) ( -1824 -704 374 ) 128_grey_3 [ 1 0 0 0 ] [ 0 -1 0 -48 ] 0 1 1
( -1824 -352 288 ) ( -1824 -352 144 ) ( -1792 -352 288 ) 128_blue_3 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( -1824 -704 288 ) ( -1824 -512 288 ) ( -1824 -704 144 ) 128_blue_3 [ 0 1 0 48 ] [ 0 0 -1 0 ] 0 1 1
}
}
// entity 1
{
"classname" "info_player_start"
"angles" "0 0 0"
"origin" "-2256 -64 264"
}
// entity 2
{
"classname" "air_bubbles"
"origin" "-2164 126 260"
}

View File

@ -1782,3 +1782,23 @@ TEST_CASE("h2_skip_only")
CHECK(bsp.loadversion == &bspver_h2);
CHECK(0 == bsp.dfaces.size());
}
TEST_CASE("q1_hull1_fail" * doctest::may_fail())
{
INFO("weird example of a phantom clip brush in hull1");
const auto [bsp, bspx, prt] = LoadTestmap("q1_hull1_fail.map");
{
INFO("contents at info_player_start");
CHECK(CONTENTS_EMPTY == BSP_FindContentsAtPoint(&bsp, 1, &bsp.dmodels[0], qvec3d{-2256, -64, 264}));
}
{
INFO("contents at air_bubbles");
CHECK(CONTENTS_EMPTY == BSP_FindContentsAtPoint(&bsp, 1, &bsp.dmodels[0], qvec3d{-2164, 126, 260}));
}
{
INFO("contents in void");
CHECK(CONTENTS_SOLID == BSP_FindContentsAtPoint(&bsp, 0, &bsp.dmodels[0], qvec3d{0, 0, 0}));
CHECK(CONTENTS_SOLID == BSP_FindContentsAtPoint(&bsp, 1, &bsp.dmodels[0], qvec3d{0, 0, 0}));
}
}