light: block phong if certain surfflag bits differ between the two faces
this prevents liquids from phonging with solids
This commit is contained in:
parent
ab78b43c52
commit
96bdf141bb
|
|
@ -325,6 +325,12 @@ public:
|
|||
return (flags.native & ~TEX_SPECIAL) == 0;
|
||||
}
|
||||
|
||||
bool surfflags_may_phong(const surfflags_t &a, const surfflags_t &b) const override
|
||||
{
|
||||
return (a.native & TEX_SPECIAL)
|
||||
== (b.native & TEX_SPECIAL);
|
||||
}
|
||||
|
||||
int32_t surfflags_from_string(const std::string_view &str) const override
|
||||
{
|
||||
if (string_iequals(str, "special")) {
|
||||
|
|
@ -924,6 +930,17 @@ struct gamedef_q2_t : public gamedef_t
|
|||
return true;
|
||||
}
|
||||
|
||||
bool surfflags_may_phong(const surfflags_t &a, const surfflags_t &b) const override
|
||||
{
|
||||
// these are the bits we'll require to match in order to allow phonging `a` and `b`
|
||||
auto mask = [](const surfflags_t &flags) {
|
||||
return flags.native & (Q2_SURF_SKY | Q2_SURF_WARP | Q2_SURF_TRANS33 |
|
||||
Q2_SURF_TRANS66 | Q2_SURF_FLOWING | Q2_SURF_NODRAW);
|
||||
};
|
||||
|
||||
return mask(a) == mask(b);
|
||||
}
|
||||
|
||||
static constexpr const char *surf_bitflag_names[] = {
|
||||
"LIGHT", "SLICK", "SKY", "WARP", "TRANS33", "TRANS66", "FLOWING", "NODRAW",
|
||||
"HINT", "512", "1024", "2048", "4096", "8192", "16384", "32768", "65536",
|
||||
|
|
|
|||
|
|
@ -264,6 +264,11 @@ struct gamedef_t
|
|||
virtual bool surf_is_lightmapped(const surfflags_t &flags) const = 0;
|
||||
virtual bool surf_is_subdivided(const surfflags_t &flags) const = 0;
|
||||
virtual bool surfflags_are_valid(const surfflags_t &flags) const = 0;
|
||||
/**
|
||||
* We block certain surface flag combinations from ever smoothing together
|
||||
* e.g. warping and non-warping
|
||||
*/
|
||||
virtual bool surfflags_may_phong(const surfflags_t &a, const surfflags_t &b) const = 0;
|
||||
virtual int32_t surfflags_from_string(const std::string_view &str) const = 0;
|
||||
// FIXME: fix so that we don't have to pass a name here
|
||||
virtual bool texinfo_is_hintskip(const surfflags_t &flags, const std::string &name) const = 0;
|
||||
|
|
|
|||
|
|
@ -473,6 +473,7 @@ void CalculateVertexNormals(const mbsp_t *bsp)
|
|||
}
|
||||
|
||||
// Q1 phong angle stuff
|
||||
auto *f_texinfo = Face_Texinfo(bsp, &f);
|
||||
const auto f_points = GLM_FacePoints(bsp, &f);
|
||||
const qvec3d f_norm = Face_Normal(bsp, &f);
|
||||
const qplane3d f_plane = Face_Plane(bsp, &f);
|
||||
|
|
@ -506,6 +507,14 @@ void CalculateVertexNormals(const mbsp_t *bsp)
|
|||
if (!f2_wants_phong)
|
||||
continue;
|
||||
|
||||
auto *f2_texinfo = Face_Texinfo(bsp, f2);
|
||||
if (f2_texinfo != nullptr && f_texinfo != nullptr) {
|
||||
if (!bsp->loadversion->game->surfflags_may_phong(f_texinfo->flags, f2_texinfo->flags)) {
|
||||
// phong may be blocked by the gamedef, e.g. warping and non-warping never phong
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
const auto f2_points = GLM_FacePoints(bsp, f2);
|
||||
const qvec3f f2_centroid = qv::PolyCentroid(f2_points.begin(), f2_points.end());
|
||||
const qvec3d f2_norm = Face_Normal(bsp, f2);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,173 @@
|
|||
// Game: Quake 2
|
||||
// Format: Quake2 (Valve)
|
||||
// entity 0
|
||||
{
|
||||
"mapversion" "220"
|
||||
"classname" "worldspawn"
|
||||
"_tb_textures" "textures/e1u1"
|
||||
"_phong" "1"
|
||||
// brush 0
|
||||
{
|
||||
( 368 64 112 ) ( 368 -64 112 ) ( 368 64 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 -64 -16 ) ( 368 -64 -16 ) ( 384 -64 112 ) e1u1/c_met11_2 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 64 -16 ) ( 368 64 -16 ) ( 384 -64 -16 ) e1u1/c_met11_2 [ 1 0 0 -64 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 384 -64 272 ) ( 368 -64 272 ) ( 384 64 272 ) e1u1/c_met11_2 [ 1 0 0 -64 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 384 224 112 ) ( 368 224 112 ) ( 384 224 -16 ) e1u1/c_met11_2 [ 1 0 0 -64 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 -64 112 ) ( 384 64 112 ) ( 384 -64 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 1
|
||||
{
|
||||
( -496 112 -16 ) ( -496 240 -16 ) ( -496 112 112 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -496 -48 112 ) ( -480 -48 112 ) ( -496 -48 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -496 112 -16 ) ( -480 112 -16 ) ( -496 240 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -496 240 272 ) ( -480 240 272 ) ( -496 112 272 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -496 240 -16 ) ( -480 240 -16 ) ( -496 240 112 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -480 112 -16 ) ( -480 112 112 ) ( -480 240 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 2
|
||||
{
|
||||
( -480 240 112 ) ( -480 224 112 ) ( -480 240 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -384 224 112 ) ( -384 224 -16 ) ( -480 224 112 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -480 240 -16 ) ( -480 224 -16 ) ( -384 240 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -384 240 272 ) ( -384 224 272 ) ( -480 240 272 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -384 240 112 ) ( -480 240 112 ) ( -384 240 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 240 -16 ) ( 384 224 -16 ) ( 384 240 112 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 3
|
||||
{
|
||||
( -480 -64 -16 ) ( -480 -48 -16 ) ( -480 -64 112 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 48 -64 -16 ) ( -48 -64 -16 ) ( 48 -64 112 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 48 -64 -16 ) ( 48 -48 -16 ) ( -48 -64 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -48 -64 272 ) ( -48 -48 272 ) ( 48 -64 272 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -48 -48 -16 ) ( 48 -48 -16 ) ( -48 -48 112 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 -64 112 ) ( 384 -48 112 ) ( 384 -64 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 4
|
||||
{
|
||||
( -480 -48 288 ) ( -480 -48 272 ) ( -480 48 288 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 48 -48 288 ) ( 48 -48 272 ) ( -48 -48 288 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 48 48 272 ) ( -48 48 272 ) ( 48 -48 272 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 48 48 288 ) ( 48 -48 288 ) ( -48 48 288 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -48 224 288 ) ( -48 224 272 ) ( 48 224 288 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 48 288 ) ( 384 48 272 ) ( 384 -48 288 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 5
|
||||
{
|
||||
( -480 48 -16 ) ( -480 48 0 ) ( -480 -48 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -48 -48 -16 ) ( -48 -48 0 ) ( 48 -48 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -48 48 -16 ) ( -48 -48 -16 ) ( 48 48 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -48 -48 0 ) ( -48 48 0 ) ( 48 -48 0 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 48 224 -16 ) ( 48 224 0 ) ( -48 224 -16 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 384 -48 -16 ) ( 384 -48 0 ) ( 384 48 -16 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 6
|
||||
{
|
||||
( -368 0 -144 ) ( -368 1 -144 ) ( -368 0 -140 ) e1u1/brwater [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 24 0
|
||||
( -336 -48 -144 ) ( -336 -48 -140 ) ( -335 -48 -144 ) e1u1/brwater [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1 32 24 0
|
||||
( -336 0 0 ) ( -335 0 0 ) ( -336 1 0 ) e1u1/brwater [ -1 0 0 -16 ] [ 0 -1 0 0 ] 0 1 1 32 24 0
|
||||
( -144 192 48 ) ( -144 193 48 ) ( -143 192 48 ) e1u1/brwater [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1 32 24 0
|
||||
( -144 220 -80 ) ( -143 220 -80 ) ( -144 220 -76 ) e1u1/brwater [ -1 0 0 -16 ] [ 0 0 -1 0 ] 0 1 1 32 24 0
|
||||
( -256 192 -80 ) ( -256 192 -76 ) ( -256 193 -80 ) e1u1/brwater [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 24 0
|
||||
}
|
||||
// brush 7
|
||||
{
|
||||
( -368 220 128 ) ( -368 144 36.36363636364695 ) ( -368 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -368 144 36.36363636364695 ) ( -144 144 36.36363636364695 ) ( -144 144 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -368 220 128 ) ( -144 220 128 ) ( -144 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -144 144 0 ) ( -144 220 0 ) ( -368 220 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -144 220 0 ) ( -144 220 128 ) ( -368 220 128 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -256 144 36.36363636364695 ) ( -256 220 128 ) ( -256 220 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 8
|
||||
{
|
||||
( -368 144 0 ) ( -368 144 36.36363636364695 ) ( -368 77.33333333330674 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -144 77.33333333330684 0 ) ( -144 144 0 ) ( -368 144 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -144 144 0 ) ( -144 144 36.36363636364689 ) ( -368 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -144 77.33333333330684 0 ) ( -368 77.33333333330674 0 ) ( -368 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -256 77.33333333330684 0 ) ( -256 144 36.36363636364689 ) ( -256 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 9
|
||||
{
|
||||
( -240 220 128 ) ( -240 144 36.36363636364695 ) ( -240 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -240 144 36.36363636364695 ) ( -16 144 36.36363636364695 ) ( -16 144 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -240 220 128 ) ( -16 220 128 ) ( -16 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -16 144 0 ) ( -16 220 0 ) ( -240 220 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -16 220 0 ) ( -16 220 128 ) ( -240 220 128 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -128 144 36.36363636364695 ) ( -128 220 128 ) ( -128 220 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 10
|
||||
{
|
||||
( -240 144 0 ) ( -240 144 36.36363636364695 ) ( -240 77.33333333330674 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -16 77.33333333330684 0 ) ( -16 144 0 ) ( -240 144 0 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -16 144 0 ) ( -16 144 36.36363636364689 ) ( -240 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -16 77.33333333330684 0 ) ( -240 77.33333333330674 0 ) ( -240 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 16 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( -128 77.33333333330684 0 ) ( -128 144 36.36363636364689 ) ( -128 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 11
|
||||
{
|
||||
( -112 220 128 ) ( -112 144 36.36363636364695 ) ( -112 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -112 144 36.36363636364695 ) ( 112 144 36.36363636364695 ) ( 112 144 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -112 220 128 ) ( 112 220 128 ) ( 112 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 112 144 0 ) ( 112 220 0 ) ( -112 220 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 112 220 0 ) ( 112 220 128 ) ( -112 220 128 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 0 144 36.36363636364695 ) ( 0 220 128 ) ( 0 220 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 12
|
||||
{
|
||||
( -112 144 0 ) ( -112 144 36.36363636364695 ) ( -112 77.33333333330674 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 112 77.33333333330684 0 ) ( 112 144 0 ) ( -112 144 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 112 144 0 ) ( 112 144 36.36363636364689 ) ( -112 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 112 77.33333333330684 0 ) ( -112 77.33333333330674 0 ) ( -112 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 0 77.33333333330684 0 ) ( 0 144 36.36363636364689 ) ( 0 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 13
|
||||
{
|
||||
( -112 0 -144 ) ( -112 1 -144 ) ( -112 0 -140 ) e1u1/brwater [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 0 0
|
||||
( -80 -48 -144 ) ( -80 -48 -140 ) ( -79 -48 -144 ) e1u1/brwater [ 1 0 0 -48 ] [ 0 0 -1 0 ] 0 1 1 32 0 0
|
||||
( -80 0 0 ) ( -79 0 0 ) ( -80 1 0 ) e1u1/brwater [ -1 0 0 48 ] [ 0 -1 0 0 ] 0 1 1 32 0 0
|
||||
( 112 192 48 ) ( 112 193 48 ) ( 113 192 48 ) e1u1/brwater [ 1 0 0 -48 ] [ 0 -1 0 0 ] 0 1 1 32 0 0
|
||||
( 112 220 -80 ) ( 113 220 -80 ) ( 112 220 -76 ) e1u1/brwater [ -1 0 0 48 ] [ 0 0 -1 0 ] 0 1 1 32 0 0
|
||||
( 0 192 -80 ) ( 0 192 -76 ) ( 0 193 -80 ) e1u1/brwater [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 0 0
|
||||
}
|
||||
// brush 14
|
||||
{
|
||||
( 16 144 0 ) ( 16 144 36.36363636364695 ) ( 16 77.33333333330674 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 240 77.33333333330684 0 ) ( 240 144 0 ) ( 16 144 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 240 144 0 ) ( 240 144 36.36363636364689 ) ( 16 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 240 77.33333333330684 0 ) ( 16 77.33333333330674 0 ) ( 16 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 128 77.33333333330684 0 ) ( 128 144 36.36363636364689 ) ( 128 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 15
|
||||
{
|
||||
( 16 220 128 ) ( 16 144 36.36363636364695 ) ( 16 144 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 16 144 36.36363636364695 ) ( 240 144 36.36363636364695 ) ( 240 144 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 16 220 128 ) ( 240 220 128 ) ( 240 144 36.36363636364695 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 240 144 0 ) ( 240 220 0 ) ( 16 220 0 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 -1 0 0 ] 0 1 1
|
||||
( 240 220 0 ) ( 240 220 128 ) ( 16 220 128 ) e1u1/c_met11_2 [ 1 0 0 -112 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 128 144 36.36363636364695 ) ( 128 220 128 ) ( 128 220 0 ) e1u1/c_met11_2 [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
}
|
||||
// brush 16
|
||||
{
|
||||
( 16 0 -144 ) ( 16 1 -144 ) ( 16 0 -140 ) e1u1/brwater [ 0 -1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 0 100
|
||||
( 48 -48 -144 ) ( 48 -48 -140 ) ( 49 -48 -144 ) e1u1/brwater [ 1 0 0 -48 ] [ 0 0 -1 0 ] 0 1 1 32 0 100
|
||||
( 48 0 0 ) ( 49 0 0 ) ( 48 1 0 ) e1u1/brwater [ -1 0 0 48 ] [ 0 -1 0 0 ] 0 1 1 32 0 100
|
||||
( 240 192 48 ) ( 240 193 48 ) ( 241 192 48 ) e1u1/brwater [ 1 0 0 -48 ] [ 0 -1 0 0 ] 0 1 1 32 0 100
|
||||
( 240 220 -80 ) ( 241 220 -80 ) ( 240 220 -76 ) e1u1/brwater [ -1 0 0 48 ] [ 0 0 -1 0 ] 0 1 1 32 0 100
|
||||
( 128 192 -80 ) ( 128 192 -76 ) ( 128 193 -80 ) e1u1/brwater [ 0 1 0 0 ] [ 0 0 -1 0 ] 0 1 1 32 0 100
|
||||
}
|
||||
// brush 17
|
||||
{
|
||||
( -480 -64 64 ) ( -480 -63 64 ) ( -480 -64 65 ) e1u1/c_met11_2 [ 0 1.0000000000000002 0 -80 ] [ 0 0 -1.0000000000000002 0 ] 0 1 1
|
||||
( -1024 -48 64 ) ( -1024 -48 65 ) ( -1023 -48 64 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( -1024 -64 92 ) ( -1023 -64 92 ) ( -1024 -63 92 ) e1u1/c_met11_2 [ 1.0000000000000002 0 0 0 ] [ 0 -1.0000000000000002 0 -112 ] 0 1 1
|
||||
( 224 -32 96 ) ( 224 -31 96 ) ( 225 -32 96 ) e1u1/c_met11_2 [ 1.0000000000000002 0 0 0 ] [ 0 1.0000000000000002 0 -48 ] 0 1 1
|
||||
( 224 -8 96 ) ( 225 -8 96 ) ( 224 -8 97 ) e1u1/c_met11_2 [ 1 0 0 0 ] [ 0 0 -1 0 ] 0 1 1
|
||||
( 224 -32 96 ) ( 224 -32 97 ) ( 224 -31 96 ) e1u1/c_met11_2 [ 0 -1.0000000000000002 0 48 ] [ 0 0 -1.0000000000000002 0 ] 0 1 1
|
||||
}
|
||||
}
|
||||
// entity 1
|
||||
{
|
||||
"classname" "info_player_start"
|
||||
"origin" "188.686 -28.4041 120"
|
||||
"angle" "165"
|
||||
}
|
||||
|
|
@ -169,3 +169,7 @@ TEST_CASE("emissive lights") {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("q2_phong_doesnt_cross_contents") {
|
||||
auto [bsp, bspx] = LoadTestmap("q2_phong_doesnt_cross_contents.map", {"-wrnormals"});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue