qbsp: fix _mirrorinside 1 on func_detail_fence (q2)
This commit is contained in:
parent
8caaf7236f
commit
6451a3f2aa
|
|
@ -1254,12 +1254,16 @@ struct gamedef_q2_t : public gamedef_t
|
|||
}
|
||||
|
||||
if (brushside_side == SIDE_BACK) {
|
||||
// explicit override?
|
||||
if (brushcontents.mirror_inside) {
|
||||
return *brushcontents.mirror_inside;
|
||||
}
|
||||
if (portal_visible_contents.native & Q2_CONTENTS_WINDOW) {
|
||||
// windows don't generate inside faces
|
||||
return false;
|
||||
}
|
||||
// other types get mirrored by default, unless we override it with mirror_inside
|
||||
return brushcontents.mirror_inside.value_or(true);
|
||||
// other types get mirrored by default
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -88,3 +88,17 @@
|
|||
( 112 -160 128 ) ( 112 -160 129 ) ( 112 -159 128 ) e1u1/brwater [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 64 0 100
|
||||
}
|
||||
}
|
||||
// entity 3
|
||||
{
|
||||
"classname" "func_detail_fence"
|
||||
"_mirrorinside" "1"
|
||||
// brush 0
|
||||
{
|
||||
( 32 -428 112 ) ( 32 -427 112 ) ( 32 -428 113 ) e1u1/alphamask [ 0 1.0000000000000002 0 28 ] [ 0 0 -1.0000000000000002 -32 ] 0 1 1 1 33554432 0
|
||||
( 32 -380 112 ) ( 32 -380 113 ) ( 33 -380 112 ) e1u1/skip [ 1.0000000000000002 0 0 -16 ] [ 0 0 -1.0000000000000002 0 ] 0 1 1 1 128 0
|
||||
( 32 -428 112 ) ( 33 -428 112 ) ( 32 -427 112 ) e1u1/skip [ 1.0000000000000002 0 0 -16 ] [ 0 -1.0000000000000002 0 -28 ] 0 1 1 1 128 0
|
||||
( 112 -316 192 ) ( 112 -315 192 ) ( 113 -316 192 ) e1u1/skip [ 1.0000000000000002 0 0 -16 ] [ 0 1.0000000000000002 0 12 ] 0 1 1 1 128 0
|
||||
( 112 -316 128 ) ( 113 -316 128 ) ( 112 -316 129 ) e1u1/skip [ 1.0000000000000002 0 0 -16 ] [ 0 0 -1.0000000000000002 0 ] 0 1 1 1 128 0
|
||||
( 40 -316 128 ) ( 40 -316 129 ) ( 40 -315 128 ) e1u1/skip [ 0 -1.0000000000000002 0 -12 ] [ 0 0 -1.0000000000000002 0 ] 0 1 1 1 128 0
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -549,4 +549,10 @@ TEST_CASE("q2_mirrorinside" * doctest::test_suite("testmaps_q2"))
|
|||
CHECK_VECTORS_UNOREDERED_EQUAL(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], mist_mirrorinside0_pos)),
|
||||
std::vector<std::string>({"e1u1/brwater"}));
|
||||
}
|
||||
|
||||
{
|
||||
INFO("_mirrorinside 1 works on func_detail_fence");
|
||||
CHECK_VECTORS_UNOREDERED_EQUAL(TexNames(bsp, BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], {32, -348, 156})),
|
||||
std::vector<std::string>({"e1u1/alphamask", "e1u1/alphamask"}));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue