mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-01-18 14:41:40 +00:00
- added 'flooralpha' and 'ceilingalpha' sector properties. They only have meaning if a sector stack portal is defined in this sector. If set to anything less than 1.0 these will override the alpha set by a portal. This is mostly for Sector_SetPortal to avoid defining multiple portals that only differ by their plane translucency.
SVN r2995 (trunk)
This commit is contained in:
parent
12d2124700
commit
9278375064
4 changed files with 18 additions and 2 deletions
|
@ -153,6 +153,8 @@ Note: All <bool> fields default to false unless mentioned otherwise.
|
|||
// relative to the owning sector's light level.
|
||||
lightceilingabsolute = <bool>; // true = 'lightceiling' is an absolute value. Default is
|
||||
// relative to the owning sector's light level.
|
||||
alphafloor = <float>; // translucency of floor plane (only has meaning with Sector_SetPortal) Default is 1.0.
|
||||
alphaceiling = <float>; // translucency of ceiling plane (only has meaning with Sector_SetPortal) Default is 1.0.
|
||||
gravity = <float>; // Sector's gravity. Default is 1.0.
|
||||
lightcolor = <integer>; // Sector'S light color as RRGGBB value, default = 0xffffff.
|
||||
fadecolor = <integer>; // Sector'S fog color as RRGGBB value, default = 0x000000.
|
||||
|
|
|
@ -419,6 +419,8 @@ xx(Silent)
|
|||
xx(Nofallingdamage)
|
||||
xx(Dropactors)
|
||||
xx(NoRespawn)
|
||||
xx(Alphafloor)
|
||||
xx(Alphaceiling)
|
||||
|
||||
xx(offsetx_top)
|
||||
xx(offsety_top)
|
||||
|
|
|
@ -870,7 +870,8 @@ static void SetupFloorPortal (AStackPoint *point)
|
|||
if (Sector->FloorSkyBox != NULL)
|
||||
{
|
||||
Sector->FloorSkyBox->Mate = point;
|
||||
Sector->SetAlpha(sector_t::floor, Scale (point->args[0], OPAQUE, 255));
|
||||
if (Sector->GetAlpha(sector_t::floor) == OPAQUE)
|
||||
Sector->SetAlpha(sector_t::floor, Scale (point->args[0], OPAQUE, 255));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -882,7 +883,8 @@ static void SetupCeilingPortal (AStackPoint *point)
|
|||
if (Sector->CeilingSkyBox != NULL)
|
||||
{
|
||||
Sector->CeilingSkyBox->Mate = point;
|
||||
Sector->SetAlpha(sector_t::ceiling, Scale (point->args[0], OPAQUE, 255));
|
||||
if (Sector->GetAlpha(sector_t::ceiling) == OPAQUE)
|
||||
Sector->SetAlpha(sector_t::ceiling, Scale (point->args[0], OPAQUE, 255));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1074,6 +1074,8 @@ public:
|
|||
sec->SetYScale(sector_t::floor, FRACUNIT);
|
||||
sec->SetXScale(sector_t::ceiling, FRACUNIT);
|
||||
sec->SetYScale(sector_t::ceiling, FRACUNIT);
|
||||
sec->SetAlpha(sector_t::floor, FRACUNIT);
|
||||
sec->SetAlpha(sector_t::ceiling, FRACUNIT);
|
||||
sec->thinglist = NULL;
|
||||
sec->touching_thinglist = NULL; // phares 3/14/98
|
||||
sec->seqType = (level.flags & LEVEL_SNDSEQTOTALCTRL) ? 0 : -1;
|
||||
|
@ -1185,6 +1187,14 @@ public:
|
|||
sec->SetPlaneLight(sector_t::ceiling, CheckInt(key));
|
||||
continue;
|
||||
|
||||
case NAME_Alphafloor:
|
||||
sec->SetAlpha(sector_t::floor, CheckFixed(key));
|
||||
continue;
|
||||
|
||||
case NAME_Alphaceiling:
|
||||
sec->SetAlpha(sector_t::ceiling, CheckFixed(key));
|
||||
continue;
|
||||
|
||||
case NAME_Lightfloorabsolute:
|
||||
if (CheckBool(key)) sec->ChangeFlags(sector_t::floor, 0, PLANEF_ABSLIGHTING);
|
||||
else sec->ChangeFlags(sector_t::floor, PLANEF_ABSLIGHTING, 0);
|
||||
|
|
Loading…
Reference in a new issue