mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-29 15:32:57 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
edd2142a0f
6 changed files with 18 additions and 6 deletions
|
@ -105,6 +105,7 @@ static FCompatOption Options[] =
|
||||||
{ "vileghosts", BCOMPATF_VILEGHOSTS, SLOT_BCOMPAT },
|
{ "vileghosts", BCOMPATF_VILEGHOSTS, SLOT_BCOMPAT },
|
||||||
{ "ignoreteleporttags", BCOMPATF_BADTELEPORTERS, SLOT_BCOMPAT },
|
{ "ignoreteleporttags", BCOMPATF_BADTELEPORTERS, SLOT_BCOMPAT },
|
||||||
{ "rebuildnodes", BCOMPATF_REBUILDNODES, SLOT_BCOMPAT },
|
{ "rebuildnodes", BCOMPATF_REBUILDNODES, SLOT_BCOMPAT },
|
||||||
|
{ "linkfrozenprops", BCOMPATF_LINKFROZENPROPS, SLOT_BCOMPAT },
|
||||||
|
|
||||||
// list copied from g_mapinfo.cpp
|
// list copied from g_mapinfo.cpp
|
||||||
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
{ "shorttex", COMPATF_SHORTTEX, SLOT_COMPAT },
|
||||||
|
|
|
@ -349,6 +349,7 @@ enum
|
||||||
BCOMPATF_BADTELEPORTERS = 1 << 3, // Ignore tags on Teleport specials
|
BCOMPATF_BADTELEPORTERS = 1 << 3, // Ignore tags on Teleport specials
|
||||||
BCOMPATF_BADPORTALS = 1 << 4, // Restores the old unstable portal behavior
|
BCOMPATF_BADPORTALS = 1 << 4, // Restores the old unstable portal behavior
|
||||||
BCOMPATF_REBUILDNODES = 1 << 5, // Force node rebuild
|
BCOMPATF_REBUILDNODES = 1 << 5, // Force node rebuild
|
||||||
|
BCOMPATF_LINKFROZENPROPS = 1 << 6, // Clearing PROP_TOTALLYFROZEN or PROP_FROZEN also clears the other
|
||||||
};
|
};
|
||||||
|
|
||||||
// phares 3/20/98:
|
// phares 3/20/98:
|
||||||
|
|
|
@ -352,11 +352,8 @@ int FMugShot::UpdateState(player_t *player, StateFlags stateflags)
|
||||||
SetState("grin", false);
|
SetState("grin", false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
else if (CurrentState == NULL)
|
}
|
||||||
{
|
|
||||||
bEvilGrin = false;
|
bEvilGrin = false;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ouch = (!st_oldouch && FaceHealth - player->health > ST_MUCHPAIN) || (st_oldouch && player->health - FaceHealth > ST_MUCHPAIN);
|
bool ouch = (!st_oldouch && FaceHealth - player->health > ST_MUCHPAIN) || (st_oldouch && player->health - FaceHealth > ST_MUCHPAIN);
|
||||||
if (player->damagecount &&
|
if (player->damagecount &&
|
||||||
|
|
|
@ -658,7 +658,8 @@ void AActor::Die (AActor *source, AActor *inflictor, int dmgflags)
|
||||||
|
|
||||||
FState *diestate = NULL;
|
FState *diestate = NULL;
|
||||||
int gibhealth = GibHealth();
|
int gibhealth = GibHealth();
|
||||||
bool extremelydead = ((health < gibhealth || flags4 & MF4_EXTREMEDEATH) && !(flags4 & MF4_NOEXTREMEDEATH));
|
int iflags4 = inflictor == NULL ? 0 : inflictor->flags4;
|
||||||
|
bool extremelydead = ((health < gibhealth || iflags4 & MF4_EXTREMEDEATH) && !(iflags4 & MF4_NOEXTREMEDEATH));
|
||||||
|
|
||||||
// Special check for 'extreme' damage type to ensure that it gets recorded properly as an extreme death for subsequent checks.
|
// Special check for 'extreme' damage type to ensure that it gets recorded properly as an extreme death for subsequent checks.
|
||||||
if (DamageType == NAME_Extreme)
|
if (DamageType == NAME_Extreme)
|
||||||
|
@ -703,7 +704,6 @@ void AActor::Die (AActor *source, AActor *inflictor, int dmgflags)
|
||||||
}
|
}
|
||||||
if (diestate == NULL)
|
if (diestate == NULL)
|
||||||
{
|
{
|
||||||
int flags4 = inflictor == NULL ? 0 : inflictor->flags4;
|
|
||||||
|
|
||||||
// Don't pass on a damage type this actor cannot handle.
|
// Don't pass on a damage type this actor cannot handle.
|
||||||
// (most importantly, prevent barrels from passing on ice damage.)
|
// (most importantly, prevent barrels from passing on ice damage.)
|
||||||
|
|
|
@ -2813,6 +2813,11 @@ FUNC(LS_SetPlayerProperty)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if ((ib_compatflags & BCOMPATF_LINKFROZENPROPS) && (mask & (CF_FROZEN | CF_TOTALLYFROZEN)))
|
||||||
|
{ // Clearing one of these properties clears both of them (if the compat flag is set.)
|
||||||
|
mask = CF_FROZEN | CF_TOTALLYFROZEN;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
if (!playeringame[i])
|
if (!playeringame[i])
|
||||||
|
|
|
@ -353,3 +353,11 @@ F481922F4881F74760F3C0437FD5EDD0 // map03
|
||||||
// make the blue key spawn above the 3D floor
|
// make the blue key spawn above the 3D floor
|
||||||
setthingz 918 296
|
setthingz 918 296
|
||||||
}
|
}
|
||||||
|
|
||||||
|
64B6CE3CB7349B6F6B1A885C449ACB96 // Super Sonic Doom, map31
|
||||||
|
{
|
||||||
|
// During the end-of-level tally, both PROP_FROZEN and PROP_TOTALLYFROZEN
|
||||||
|
// are set, but only PROP_TOTALLYFROZEN is cleared, so PROP_FROZEN is
|
||||||
|
// still set when returning to the origin map.
|
||||||
|
linkfrozenprops
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue