This commit is contained in:
raa-eruanna 2016-10-01 19:06:43 -04:00
commit ff0d409e2b
8 changed files with 119 additions and 3 deletions

View file

@ -507,6 +507,21 @@ xx(Alphaceiling)
xx(Renderstylefloor)
xx(Renderstyleceiling)
xx(Waterzone)
xx(portal_ceil_alpha)
xx(portal_ceil_blocksound)
xx(portal_ceil_disabled)
xx(portal_ceil_nopass)
xx(portal_ceil_norender)
xx(portal_ceil_overlaytype)
xx(portal_ceil_useglobaltex)
xx(portal_floor_alpha)
xx(portal_floor_blocksound)
xx(portal_floor_disabled)
xx(portal_floor_nopass)
xx(portal_floor_norender)
xx(portal_floor_overlaytype)
xx(portal_floor_useglobaltex)
xx(offsetx_top)
xx(offsety_top)

View file

@ -3526,7 +3526,7 @@ void AActor::Tick ()
sector_t *sec = node->m_sector;
DVector2 scrollv;
if (level.Scrolls.Size() > (sec-sectors))
if (level.Scrolls.Size() > unsigned(sec-sectors))
{
scrollv = level.Scrolls[sec - sectors];
}

View file

@ -1568,6 +1568,60 @@ public:
tagstring = CheckString(key);
break;
case NAME_portal_ceil_alpha:
sec->planes[sector_t::ceiling].alpha = CheckFloat(key);
break;
case NAME_portal_ceil_blocksound:
Flag(sec->planes[sector_t::ceiling].Flags, PLANEF_BLOCKSOUND, key);
break;
case NAME_portal_ceil_disabled:
Flag(sec->planes[sector_t::ceiling].Flags, PLANEF_DISABLED, key);
break;
case NAME_portal_ceil_nopass:
Flag(sec->planes[sector_t::ceiling].Flags, PLANEF_NOPASS, key);
break;
case NAME_portal_ceil_norender:
Flag(sec->planes[sector_t::ceiling].Flags, PLANEF_NORENDER, key);
break;
case NAME_portal_ceil_overlaytype:
if (!stricmp(CheckString(key), "translucent")) sec->planes[sector_t::ceiling].Flags &= ~PLANEF_ADDITIVE;
else if (!stricmp(CheckString(key), "additive")) sec->planes[sector_t::ceiling].Flags |= PLANEF_ADDITIVE;
break;
case NAME_portal_floor_alpha:
sec->planes[sector_t::floor].alpha = CheckFloat(key);
break;
case NAME_portal_floor_blocksound:
Flag(sec->planes[sector_t::floor].Flags, PLANEF_BLOCKSOUND, key);
break;
case NAME_portal_floor_disabled:
Flag(sec->planes[sector_t::floor].Flags, PLANEF_DISABLED, key);
break;
case NAME_portal_floor_nopass:
Flag(sec->planes[sector_t::floor].Flags, PLANEF_NOPASS, key);
break;
case NAME_portal_floor_norender:
Flag(sec->planes[sector_t::floor].Flags, PLANEF_NORENDER, key);
break;
case NAME_portal_floor_overlaytype:
if (!stricmp(CheckString(key), "translucent")) sec->planes[sector_t::floor].Flags &= ~PLANEF_ADDITIVE;
else if (!stricmp(CheckString(key), "additive")) sec->planes[sector_t::floor].Flags |= PLANEF_ADDITIVE;
break;
// These two are used by Eternity for something I do not understand.
//case NAME_portal_ceil_useglobaltex:
//case NAME_portal_floor_useglobaltex:
default:
break;
}

View file

@ -821,7 +821,6 @@ void FSerializer::WriteObjects()
for (unsigned i = 0; i < w->mDObjects.Size(); i++)
{
auto obj = w->mDObjects[i];
player_t *player;
BeginObject(nullptr);
w->Key("classtype");

View file

@ -3322,6 +3322,22 @@ DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetTranslucent)
return 0;
}
//===========================================================================
//
// A_SetRenderStyle
//
//===========================================================================
DEFINE_ACTION_FUNCTION_PARAMS(AActor, A_SetRenderStyle)
{
PARAM_SELF_PROLOGUE(AActor);
PARAM_FLOAT(alpha);
PARAM_INT_OPT(mode) { mode = 0; }
self->Alpha = clamp(alpha, 0., 1.);
self->RenderStyle = ERenderStyle(mode);
return 0;
}
//===========================================================================
//
// A_FadeIn