Merge branch 'new_level_refactor' into localization
This commit is contained in:
commit
88e227f1f3
59 changed files with 222 additions and 22367 deletions
|
|
@ -2106,7 +2106,7 @@ public:
|
|||
: FxExpression(EFX_Nop, p)
|
||||
{
|
||||
isresolved = true;
|
||||
ValueType = TypeError;
|
||||
ValueType = TypeVoid;
|
||||
}
|
||||
ExpEmit Emit(VMFunctionBuilder *build)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2797,9 +2797,6 @@ DEFINE_ACTION_FUNCTION_NATIVE(FLevelLocals, isFrozen, isFrozen)
|
|||
void setFrozen(FLevelLocals *self, int on)
|
||||
{
|
||||
self->frozenstate = (self->frozenstate & ~1) | !!on;
|
||||
// For compatibility. The engine itself never checks this.
|
||||
if (on) self->flags2 |= LEVEL2_FROZEN;
|
||||
else self->flags2 &= ~LEVEL2_FROZEN;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(FLevelLocals, setFrozen, setFrozen)
|
||||
|
|
@ -2889,6 +2886,9 @@ DEFINE_FIELD(FLevelLocals, outsidefogdensity)
|
|||
DEFINE_FIELD(FLevelLocals, skyfog)
|
||||
DEFINE_FIELD(FLevelLocals, pixelstretch)
|
||||
DEFINE_FIELD(FLevelLocals, deathsequence)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, frozenstate, frozen, 1) // still needed for backwards compatibility.
|
||||
DEFINE_FIELD_NAMED(FLevelLocals, i_compatflags, compatflags)
|
||||
DEFINE_FIELD_NAMED(FLevelLocals, i_compatflags2, compatflags2)
|
||||
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags, noinventorybar, LEVEL_NOINVENTORYBAR)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags, monsterstelefrag, LEVEL_MONSTERSTELEFRAG)
|
||||
|
|
@ -2901,7 +2901,6 @@ DEFINE_FIELD_BIT(FLevelLocals, flags2, checkswitchrange, LEVEL2_CHECKSWITCHRANGE
|
|||
DEFINE_FIELD_BIT(FLevelLocals, flags2, polygrind, LEVEL2_POLYGRIND)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, allowrespawn, LEVEL2_ALLOWRESPAWN)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, nomonsters, LEVEL2_NOMONSTERS)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, frozen, LEVEL2_FROZEN)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, infinite_flight, LEVEL2_INFINITE_FLIGHT)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, no_dlg_freeze, LEVEL2_CONV_SINGLE_UNFREEZE)
|
||||
DEFINE_FIELD_BIT(FLevelLocals, flags2, keepfullinventory, LEVEL2_KEEPFULLINVENTORY)
|
||||
|
|
|
|||
|
|
@ -799,9 +799,9 @@ DEFINE_ACTION_FUNCTION_NATIVE(AActor, ClearCounters, ClearCounters)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int GetModifiedDamage(AActor *self, int type, int damage, bool passive)
|
||||
static int GetModifiedDamage(AActor *self, int type, int damage, bool passive, AActor *inflictor, AActor *source, int flags)
|
||||
{
|
||||
return self->GetModifiedDamage(ENamedName(type), damage, passive);
|
||||
return self->GetModifiedDamage(ENamedName(type), damage, passive, inflictor, source, flags);
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(AActor, GetModifiedDamage, GetModifiedDamage)
|
||||
|
|
@ -810,7 +810,10 @@ DEFINE_ACTION_FUNCTION_NATIVE(AActor, GetModifiedDamage, GetModifiedDamage)
|
|||
PARAM_NAME(type);
|
||||
PARAM_INT(damage);
|
||||
PARAM_BOOL(passive);
|
||||
ACTION_RETURN_INT(self->GetModifiedDamage(type, damage, passive));
|
||||
PARAM_OBJECT(inflictor, AActor);
|
||||
PARAM_OBJECT(source, AActor);
|
||||
PARAM_INT(flags);
|
||||
ACTION_RETURN_INT(self->GetModifiedDamage(type, damage, passive, inflictor, source, flags));
|
||||
}
|
||||
|
||||
static int ApplyDamageFactor(AActor *self, int type, int damage)
|
||||
|
|
@ -1666,34 +1669,6 @@ DEFINE_ACTION_FUNCTION_NATIVE(AActor, isFrozen, isFrozen)
|
|||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
//
|
||||
// compat flags. These two are the only ones that get checked in script code
|
||||
// so anything more complex isn't really needed.
|
||||
//
|
||||
//=====================================================================================
|
||||
static int compat_limitpain_(AActor *self)
|
||||
{
|
||||
return self->Level->i_compatflags & COMPATF_LIMITPAIN;
|
||||
}
|
||||
|
||||
static int compat_mushroom_(AActor *self)
|
||||
{
|
||||
return self->Level->i_compatflags & COMPATF_MUSHROOM;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(AActor, compat_limitpain, compat_limitpain_)
|
||||
{
|
||||
PARAM_SELF_PROLOGUE(AActor);
|
||||
ACTION_RETURN_INT(compat_limitpain_(self));
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(AActor, compat_mushroom, compat_mushroom_)
|
||||
{
|
||||
PARAM_SELF_PROLOGUE(AActor);
|
||||
ACTION_RETURN_INT(compat_mushroom_(self));
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// PlayerPawn functions
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue