Removed all native components from AInventory.
This commit is contained in:
parent
d66516ec82
commit
5e4b366724
8 changed files with 75 additions and 206 deletions
|
|
@ -219,20 +219,19 @@ FxExpression *ParseParameter(FScanner &sc, PClassActor *cls, PType *type);
|
|||
|
||||
enum
|
||||
{
|
||||
DEPF_UNUSED,
|
||||
DEPF_FIREDAMAGE,
|
||||
DEPF_ICEDAMAGE,
|
||||
DEPF_LOWGRAVITY,
|
||||
DEPF_LONGMELEERANGE,
|
||||
DEPF_SHORTMISSILERANGE,
|
||||
DEPF_PICKUPFLASH,
|
||||
DEPF_QUARTERGRAVITY,
|
||||
DEPF_FIRERESIST,
|
||||
DEPF_HERETICBOUNCE,
|
||||
DEPF_HEXENBOUNCE,
|
||||
DEPF_DOOMBOUNCE,
|
||||
DEPF_INTERHUBSTRIP,
|
||||
DEPF_NOTRAIL,
|
||||
DEPF_UNUSED = 0,
|
||||
DEPF_FIREDAMAGE = 1,
|
||||
DEPF_ICEDAMAGE = 2,
|
||||
DEPF_LOWGRAVITY = 3,
|
||||
DEPF_LONGMELEERANGE = 4,
|
||||
DEPF_SHORTMISSILERANGE = 5,
|
||||
DEPF_PICKUPFLASH = 6,
|
||||
DEPF_QUARTERGRAVITY = 7,
|
||||
DEPF_FIRERESIST = 8,
|
||||
DEPF_HERETICBOUNCE = 9,
|
||||
DEPF_HEXENBOUNCE = 10,
|
||||
DEPF_DOOMBOUNCE = 11,
|
||||
DEPF_INTERHUBSTRIP = 12,
|
||||
};
|
||||
|
||||
// Types of old style decorations
|
||||
|
|
|
|||
|
|
@ -412,33 +412,6 @@ static FFlagDef MoreFlagDefs[] =
|
|||
static FFlagDef InventoryFlagDefs[] =
|
||||
{
|
||||
// Inventory flags
|
||||
DEFINE_FLAG(IF, QUIET, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, AUTOACTIVATE, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, UNDROPPABLE, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, INVBAR, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, HUBPOWER, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, UNTOSSABLE, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, ADDITIVETIME, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, ALWAYSPICKUP, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, FANCYPICKUPSOUND, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, BIGPOWERUP, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, KEEPDEPLETED, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, IGNORESKILL, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, NOATTENPICKUPSOUND, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, PERSISTENTPOWER, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, RESTRICTABSOLUTELY, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, NEVERRESPAWN, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, NOSCREENFLASH, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, TOSSED, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, ALWAYSRESPAWN, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, TRANSFER, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, NOTELEPORTFREEZE, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, NOSCREENBLINK, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, ISARMOR, AInventory, ItemFlags),
|
||||
DEFINE_FLAG(IF, ISHEALTH, AInventory, ItemFlags),
|
||||
|
||||
DEFINE_DUMMY_FLAG(FORCERESPAWNINSURVIVAL, false),
|
||||
|
||||
DEFINE_DEPRECATED_FLAG(PICKUPFLASH),
|
||||
DEFINE_DEPRECATED_FLAG(INTERHUBSTRIP),
|
||||
};
|
||||
|
|
@ -463,18 +436,11 @@ static FFlagDef DynLightFlagDefs[] =
|
|||
DEFINE_FLAG(LF, SPOT, ADynamicLight, lightflags),
|
||||
};
|
||||
|
||||
static FFlagDef PowerSpeedFlagDefs[] =
|
||||
{
|
||||
// PowerSpeed flags
|
||||
DEFINE_DEPRECATED_FLAG(NOTRAIL),
|
||||
};
|
||||
|
||||
static const struct FFlagList { const PClass * const *Type; FFlagDef *Defs; int NumDefs; int Use; } FlagLists[] =
|
||||
{
|
||||
{ &RUNTIME_CLASS_CASTLESS(AActor), ActorFlagDefs, countof(ActorFlagDefs), 3 }, // -1 to account for the terminator
|
||||
{ &RUNTIME_CLASS_CASTLESS(AActor), MoreFlagDefs, countof(MoreFlagDefs), 1 },
|
||||
{ &RUNTIME_CLASS_CASTLESS(AActor), InternalActorFlagDefs, countof(InternalActorFlagDefs), 2 },
|
||||
{ &RUNTIME_CLASS_CASTLESS(AInventory), InventoryFlagDefs, countof(InventoryFlagDefs), 3 },
|
||||
{ &RUNTIME_CLASS_CASTLESS(APlayerPawn), PlayerPawnFlagDefs, countof(PlayerPawnFlagDefs), 3 },
|
||||
{ &RUNTIME_CLASS_CASTLESS(ADynamicLight),DynLightFlagDefs, countof(DynLightFlagDefs), 3 },
|
||||
};
|
||||
|
|
@ -531,9 +497,9 @@ FFlagDef *FindFlag (const PClass *type, const char *part1, const char *part2, bo
|
|||
{
|
||||
forInternalFlags.fieldsize = 4;
|
||||
forInternalFlags.name = "";
|
||||
forInternalFlags.flagbit = field->Offset? 1 << field->bitval : DEPF_UNUSED;
|
||||
forInternalFlags.flagbit = field->Offset? 1 << field->bitval : field->bitval;
|
||||
forInternalFlags.structoffset = field->Offset? (int)field->Offset->Offset : -1;
|
||||
forInternalFlags.varflags = 0;
|
||||
forInternalFlags.varflags = field->Offset == nullptr && field->bitval > 0? VARF_Deprecated : 0;
|
||||
return &forInternalFlags;
|
||||
}
|
||||
}
|
||||
|
|
@ -549,9 +515,9 @@ FFlagDef *FindFlag (const PClass *type, const char *part1, const char *part2, bo
|
|||
{
|
||||
forInternalFlags.fieldsize = 4;
|
||||
forInternalFlags.name = "";
|
||||
forInternalFlags.flagbit = field->Offset ? 1 << field->bitval : DEPF_UNUSED;
|
||||
forInternalFlags.flagbit = field->Offset ? 1 << field->bitval : field->bitval;
|
||||
forInternalFlags.structoffset = field->Offset ? (int)field->Offset->Offset : -1;
|
||||
forInternalFlags.varflags = 0;
|
||||
forInternalFlags.varflags = field->Offset == nullptr && field->bitval > 0? VARF_Deprecated : 0;
|
||||
return &forInternalFlags;
|
||||
}
|
||||
}
|
||||
|
|
@ -595,11 +561,6 @@ FFlagDef *FindFlag (const PClass *type, const char *part1, const char *part2, bo
|
|||
}
|
||||
}
|
||||
|
||||
// Handle that lone PowerSpeed flag - this should be more generalized but it's just this one flag and unlikely to become more so an explicit check will do.
|
||||
if ((!stricmp(part1, "NOTRAIL") && !strict) || (!stricmp(part1, "POWERSPEED") && !stricmp(part2, "NOTRAIL")))
|
||||
{
|
||||
return &PowerSpeedFlagDefs[0];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -320,21 +320,6 @@ void HandleDeprecatedFlags(AActor *defaults, PClassActor *info, bool set, int in
|
|||
case DEPF_INTERHUBSTRIP: // Old system was 0 or 1, so if the flag is cleared, assume 1.
|
||||
defaults->IntVar(NAME_InterHubAmount) = set ? 0 : 1;
|
||||
break;
|
||||
case DEPF_NOTRAIL:
|
||||
{
|
||||
FString propname = "@property@powerspeed.notrail";
|
||||
FName name(propname, true);
|
||||
if (name != NAME_None)
|
||||
{
|
||||
auto propp = dyn_cast<PProperty>(info->FindSymbol(name, true));
|
||||
if (propp != nullptr)
|
||||
{
|
||||
*((char*)defaults + propp->Variables[0]->Offset) = set ? 1 : 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
default:
|
||||
break; // silence GCC
|
||||
|
|
@ -1089,7 +1074,7 @@ DEFINE_PROPERTY(distancecheck, S, Actor)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(restrictedto, Ssssssssssssssssssss, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(restrictedto, Ssssssssssssssssssss, Inventory)
|
||||
{
|
||||
auto restrictarray = (TArray<PClassActor*>*)defaults->ScriptVar(NAME_RestrictedToPlayerClass, nullptr);
|
||||
|
||||
|
|
@ -1105,7 +1090,7 @@ DEFINE_CLASS_PROPERTY(restrictedto, Ssssssssssssssssssss, Inventory)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(forbiddento, Ssssssssssssssssssss, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(forbiddento, Ssssssssssssssssssss, Inventory)
|
||||
{
|
||||
auto forbidarray = (TArray<PClassActor*>*)defaults->ScriptVar(NAME_ForbiddenToPlayerClass, nullptr);
|
||||
|
||||
|
|
@ -1147,7 +1132,7 @@ static void SetIcon(FTextureID &icon, Baggage &bag, const char *i)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(icon, S, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(icon, S, Inventory)
|
||||
{
|
||||
PROP_STRING_PARM(i, 0);
|
||||
SetIcon(defaults->TextureIDVar(NAME_Icon), bag, i);
|
||||
|
|
@ -1156,7 +1141,7 @@ DEFINE_CLASS_PROPERTY(icon, S, Inventory)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(althudicon, S, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(althudicon, S, Inventory)
|
||||
{
|
||||
PROP_STRING_PARM(i, 0);
|
||||
SetIcon(defaults->TextureIDVar(NAME_AltHUDIcon), bag, i);
|
||||
|
|
@ -1165,7 +1150,7 @@ DEFINE_CLASS_PROPERTY(althudicon, S, Inventory)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(defmaxamount, 0, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(defmaxamount, 0, Inventory)
|
||||
{
|
||||
defaults->IntVar(NAME_MaxAmount) = gameinfo.definventorymaxamount;
|
||||
}
|
||||
|
|
@ -1173,7 +1158,7 @@ DEFINE_CLASS_PROPERTY(defmaxamount, 0, Inventory)
|
|||
//==========================================================================
|
||||
// Dummy for Skulltag compatibility...
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY(pickupannouncerentry, S, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY(pickupannouncerentry, S, Inventory)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -1216,7 +1201,7 @@ DEFINE_SCRIPTED_PROPERTY(preferredskin, S, Weapon)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
||||
{
|
||||
static const char *specialcolormapnames[] = {
|
||||
"INVERSEMAP", "GOLDMAP", "REDMAP", "GREENMAP", "BLUEMAP", NULL };
|
||||
|
|
@ -1271,7 +1256,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY_PREFIX(powerup, colormap, FFFfff, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY_PREFIX(powerup, colormap, FFFfff, Inventory)
|
||||
{
|
||||
PalEntry BlendColor;
|
||||
|
||||
|
|
@ -1308,7 +1293,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, colormap, FFFfff, Inventory)
|
|||
//==========================================================================
|
||||
//
|
||||
//==========================================================================
|
||||
DEFINE_CLASS_PROPERTY_PREFIX(powerup, duration, I, Inventory)
|
||||
DEFINE_SCRIPTED_PROPERTY_PREFIX(powerup, duration, I, Inventory)
|
||||
{
|
||||
if (!info->IsDescendantOf(NAME_Powerup) && !info->IsDescendantOf(NAME_PowerupGiver))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue