Merge branch 'brushbsp' of https://github.com/ericwa/ericw-tools into brushbsp
This commit is contained in:
commit
a6a92510dd
|
|
@ -2,6 +2,30 @@
|
||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
2.0.0-alpha8
|
||||||
|
============
|
||||||
|
|
||||||
|
Changes
|
||||||
|
-------
|
||||||
|
|
||||||
|
- light: invalid "delay" settings are now a warning rather than a fatal error
|
||||||
|
- qbsp: q2: write out true leaf contents even if CONTENTS_SOLID is set. Previous
|
||||||
|
behaviour (including original qbsp3 compiler) was that CONTENTS_SOLID would
|
||||||
|
clear any other set contents bits in leafs (but not in brushes.) (#420)
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- lightpreview: show leaf contents in status bar
|
||||||
|
- light: LIGHTING_E5BGR9 + HDR .lit support (from @dsvensson and @Shpoike)
|
||||||
|
|
||||||
|
Bug fixes
|
||||||
|
---------
|
||||||
|
|
||||||
|
- light: fix "mangle" on _sun 1 entities (#266)
|
||||||
|
- light: fix sunlight artifacts (21b3b696)
|
||||||
|
- qbsp: q2: fix areaportals which were broken in 2.0.0-alpha7 (70a08013)
|
||||||
|
|
||||||
2.0.0-alpha7
|
2.0.0-alpha7
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Game: Quake 2
|
||||||
|
// Format: Quake2
|
||||||
|
// entity 0
|
||||||
|
{
|
||||||
|
"classname" "worldspawn"
|
||||||
|
"_tb_textures" "textures/e1u1"
|
||||||
|
// brush 0
|
||||||
|
{
|
||||||
|
( -64 -64 -32 ) ( -64 -63 -32 ) ( -64 -64 -31 ) e1u1/water1_8 0 -16 0 1 1 32 0 0
|
||||||
|
( -64 -64 -32 ) ( -64 -64 -31 ) ( -63 -64 -32 ) e1u1/water1_8 0 -16 0 1 1 32 0 0
|
||||||
|
( -64 -64 -32 ) ( -63 -64 -32 ) ( -64 -63 -32 ) e1u1/water1_8 0 0 0 1 1 32 0 0
|
||||||
|
( 64 64 0 ) ( 64 65 0 ) ( 65 64 0 ) e1u1/water1_8 0 0 0 1 1 32 0 0
|
||||||
|
( 64 64 0 ) ( 65 64 0 ) ( 64 64 1 ) e1u1/water1_8 0 -16 0 1 1 32 0 0
|
||||||
|
( 64 64 0 ) ( 64 64 1 ) ( 64 65 0 ) e1u1/water1_8 0 -16 0 1 1 32 0 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// entity 1
|
||||||
|
{
|
||||||
|
"classname" "func_group"
|
||||||
|
"_noclipfaces" "1"
|
||||||
|
// brush 0
|
||||||
|
{
|
||||||
|
( -112 -64 0 ) ( -112 -63 0 ) ( -112 -64 1 ) e1u1/water8 0 16 0 1 1 32 152 0
|
||||||
|
( -64 -112 0 ) ( -64 -112 1 ) ( -63 -112 0 ) e1u1/water8 0 16 0 1 1 32 152 0
|
||||||
|
( -64 -64 0 ) ( -63 -64 0 ) ( -64 -63 0 ) e1u1/water8 0 0 0 1 1 32 152 0
|
||||||
|
( 64 64 32 ) ( 64 65 32 ) ( 65 64 32 ) e1u1/water8 0 0 0 1 1 32 152 0
|
||||||
|
( 64 128 32 ) ( 65 128 32 ) ( 64 128 33 ) e1u1/water8 0 16 0 1 1 32 152 0
|
||||||
|
( 176 64 32 ) ( 176 64 33 ) ( 176 65 32 ) e1u1/water8 0 16 0 1 1 32 152 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -328,6 +328,14 @@ TEST_SUITE("common")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("q2 portal_can_see_through")
|
||||||
|
{
|
||||||
|
auto *game_q2 = bspver_q2.game;
|
||||||
|
|
||||||
|
CHECK(game_q2->portal_can_see_through(contentflags_t::make(EWT_VISCONTENTS_DETAIL_WALL | EWT_CFLAG_DETAIL),
|
||||||
|
contentflags_t::make(EWT_INVISCONTENTS_PLAYERCLIP), false));
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("imglib png loader")
|
TEST_CASE("imglib png loader")
|
||||||
{
|
{
|
||||||
auto *game = bspver_q2.game;
|
auto *game = bspver_q2.game;
|
||||||
|
|
|
||||||
|
|
@ -1093,4 +1093,22 @@ TEST_CASE("q2_unknown_contents" * doctest::test_suite("testmaps_q2"))
|
||||||
|
|
||||||
CHECK(texinfo->flags.native == 1024);
|
CHECK(texinfo->flags.native == 1024);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_CASE("q2_noclipfaces_nodraw" * doctest::test_suite("testmaps_q2") * doctest::may_fail())
|
||||||
|
{
|
||||||
|
INFO("when _noclipfaces has a choice of faces, don't use the nodraw one");
|
||||||
|
|
||||||
|
const auto [bsp, bspx, prt] = LoadTestmapQ2("q2_noclipfaces_nodraw.map");
|
||||||
|
|
||||||
|
const qvec3d top_of_water = {0, 0, 0};
|
||||||
|
|
||||||
|
auto up_faces = BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], top_of_water, {0, 0, 1});
|
||||||
|
auto down_faces = BSP_FindFacesAtPoint(&bsp, &bsp.dmodels[0], top_of_water, {0, 0, -1});
|
||||||
|
|
||||||
|
REQUIRE(1 == up_faces.size());
|
||||||
|
REQUIRE(1 == down_faces.size());
|
||||||
|
|
||||||
|
CHECK(Face_TextureNameView(&bsp, up_faces[0]) == "e1u1/water1_8");
|
||||||
|
CHECK(Face_TextureNameView(&bsp, down_faces[0]) == "e1u1/water1_8");
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue