qbsp: add test that detail doesn't seal

This commit is contained in:
Eric Wasylishen 2022-04-24 01:01:55 -06:00
parent d372f0f0f4
commit e5b4a9863e
2 changed files with 90 additions and 1 deletions

View File

@ -337,4 +337,11 @@ TEST(qsbsp, noclipfaces)
ASSERT_EQ(bsp.dfaces.size(), 2);
// TODO: both faces should be "{trigger"
// TODO: contents should be empty in hull0 because it's func_detail_illusionary
}
}
TEST(qsbsp, detail_doesnt_seal)
{
const mbsp_t bsp = LoadTestmap("qbsp_detail_doesnt_seal.map");
ASSERT_TRUE(map.leakfile);
}

View File

@ -0,0 +1,82 @@
// 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
{
( 96 32 208 ) ( 96 -192 208 ) ( 96 32 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
( 112 -192 48 ) ( 96 -192 48 ) ( 112 -192 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( 112 32 104 ) ( 96 32 104 ) ( 112 -192 104 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( 112 -192 208 ) ( 96 -192 208 ) ( 112 32 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( 112 32 208 ) ( 96 32 208 ) ( 112 32 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( 112 -192 208 ) ( 112 32 208 ) ( 112 -192 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
}
// brush 1
{
( -144 -192 48 ) ( -144 32 48 ) ( -144 -192 208 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
( -144 -192 208 ) ( -128 -192 208 ) ( -144 -192 48 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( -144 -192 48 ) ( -128 -192 48 ) ( -144 32 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( -144 32 208 ) ( -128 32 208 ) ( -144 -192 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( -144 32 48 ) ( -128 32 48 ) ( -144 32 208 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( -128 -192 48 ) ( -128 -192 208 ) ( -128 32 48 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
}
// brush 2
{
( -128 32 208 ) ( -128 16 208 ) ( -128 32 48 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
( 96 16 208 ) ( 96 16 48 ) ( -128 16 208 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( -128 32 48 ) ( -128 16 48 ) ( 96 32 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( 96 32 208 ) ( 96 16 208 ) ( -128 32 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( 96 32 208 ) ( -128 32 208 ) ( 96 32 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( 96 32 48 ) ( 96 16 48 ) ( 96 32 208 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
}
// brush 3
{
( -128 -192 48 ) ( -128 -176 48 ) ( -128 -192 208 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
( 96 -192 48 ) ( -128 -192 48 ) ( 96 -192 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( 96 -192 48 ) ( 96 -176 48 ) ( -128 -192 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( -128 -192 208 ) ( -128 -176 208 ) ( 96 -192 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( -128 -176 48 ) ( 96 -176 48 ) ( -128 -176 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( 96 -192 208 ) ( 96 -176 208 ) ( 96 -192 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
}
// brush 4
{
( -128 -176 208 ) ( -128 -176 192 ) ( -128 16 208 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
( 96 -176 208 ) ( 96 -176 192 ) ( -128 -176 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( 96 16 192 ) ( -128 16 192 ) ( 96 -176 192 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( 96 16 208 ) ( 96 -176 208 ) ( -128 16 208 ) orangestuff8 [ -1 0 0 -16 ] [ 0 -1 0 -16 ] 180 1 1
( -128 16 208 ) ( -128 16 192 ) ( 96 16 208 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( 96 16 208 ) ( 96 16 192 ) ( 96 -176 208 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
}
// brush 5
{
( -128 16 48 ) ( -128 16 64 ) ( -128 -176 48 ) orangestuff8 [ 0 1 0 16 ] [ 0 0 -1 48 ] 0 1 1
( -128 -176 48 ) ( -128 -176 64 ) ( 96 -176 48 ) orangestuff8 [ -1 0 0 -16 ] [ 0 0 -1 48 ] 180 1 1
( -128 16 48 ) ( -128 -176 48 ) ( 96 16 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( -128 -176 64 ) ( -128 16 64 ) ( 96 -176 64 ) orangestuff8 [ 1 0 0 16 ] [ 0 -1 0 -16 ] 180 1 1
( 96 16 48 ) ( 96 16 64 ) ( -128 16 48 ) orangestuff8 [ 1 0 0 16 ] [ 0 0 -1 48 ] 180 1 1
( 96 -176 48 ) ( 96 -176 64 ) ( 96 16 48 ) orangestuff8 [ 0 -1 0 -16 ] [ 0 0 -1 48 ] 0 1 1
}
}
// entity 1
{
"classname" "info_player_start"
"origin" "-56 -96 120"
}
// entity 2
{
"classname" "func_detail"
// brush 0
{
( 80 -176 64 ) ( 80 -175 64 ) ( 80 -176 65 ) bolt16 [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1
( 80 -176 64 ) ( 80 -176 65 ) ( 81 -176 64 ) bolt16 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( 80 -176 64 ) ( 81 -176 64 ) ( 80 -175 64 ) bolt16 [ -1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( 96 16 112 ) ( 96 17 112 ) ( 97 16 112 ) bolt16 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
( 96 16 72 ) ( 97 16 72 ) ( 96 16 73 ) bolt16 [ -1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
( 96 16 72 ) ( 96 16 73 ) ( 96 17 72 ) bolt16 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
}
}