- Removed the third parameter from dumpclasses when it was restricted it to Actors, because

I have no idea what that was all about.
- Got rid of FActorInfo and merged it into a new PClassActor.

SVN r2240 (scripting)
This commit is contained in:
Randy Heit 2010-03-24 02:49:37 +00:00
commit f88f601230
78 changed files with 1171 additions and 1039 deletions

View file

@ -74,7 +74,7 @@
// Gets a class pointer and performs an error check for correct type
//
//==========================================================================
static const PClass *FindClassTentative(const char *name, const char *ancestor)
static PClassActor *FindClassTentative(const char *name, const char *ancestor)
{
// "" and "none" mean 'no class'
if (name == NULL || *name == 0 || !stricmp(name, "none"))
@ -82,15 +82,15 @@ static const PClass *FindClassTentative(const char *name, const char *ancestor)
return NULL;
}
const PClass *anc = PClass::FindClass(ancestor);
PClass *anc = PClass::FindClass(ancestor);
assert(anc != NULL); // parent classes used here should always be natively defined
const PClass *cls = const_cast<PClass*>(anc)->FindClassTentative(name);
PClass *cls = anc->FindClassTentative(name);
assert (cls != NULL); // cls can not ne NULL here
if (!cls->IsDescendantOf(anc))
{
I_Error("%s does not inherit from %s\n", name, ancestor);
}
return cls;
return static_cast<PClassActor *>(cls);
}
//===========================================================================
@ -103,7 +103,7 @@ static const PClass *FindClassTentative(const char *name, const char *ancestor)
// properties is not recommended
//
//===========================================================================
void HandleDeprecatedFlags(AActor *defaults, FActorInfo *info, bool set, int index)
void HandleDeprecatedFlags(AActor *defaults, PClassActor *info, bool set, int index)
{
switch (index)
{
@ -250,18 +250,22 @@ DEFINE_INFO_PROPERTY(conversationid, IiI, Actor)
if (PROP_PARM_COUNT > 1)
{
if ((gameinfo.flags & (GI_SHAREWARE|GI_TEASER2)) == (GI_SHAREWARE))
convid=id1;
convid = id1;
if ((gameinfo.flags & (GI_SHAREWARE|GI_TEASER2)) == (GI_SHAREWARE|GI_TEASER2))
convid=id2;
convid = id2;
if (convid==-1) return;
if (convid == -1)
return;
}
if (convid<0 || convid>1000)
if (convid < 0 || convid > 1000)
{
I_Error ("ConversationID must be in the range [0,1000]");
}
else StrifeTypes[convid] = info->Class;
else
{
StrifeTypes[convid] = info;
}
}
//==========================================================================
@ -275,10 +279,10 @@ DEFINE_INFO_PROPERTY(conversationid, IiI, Actor)
//==========================================================================
DEFINE_PROPERTY(skip_super, 0, Actor)
{
if (info->Class->IsDescendantOf(RUNTIME_CLASS(AInventory)))
if (info->IsDescendantOf(RUNTIME_CLASS(AInventory)))
{
bag.ScriptPosition.Message(MSG_WARNING,
"'skip_super' in definition of inventory item '%s' ignored.", info->Class->TypeName.GetChars() );
"'skip_super' in definition of inventory item '%s' ignored.", info->TypeName.GetChars() );
return;
}
if (bag.StateSet)
@ -320,7 +324,7 @@ DEFINE_PROPERTY(health, I, Actor)
DEFINE_PROPERTY(gibhealth, I, Actor)
{
PROP_INT_PARM(id, 0);
info->Class->Meta.SetMetaInt (AMETA_GibHealth, id);
info->Meta.SetMetaInt (AMETA_GibHealth, id);
}
//==========================================================================
@ -329,7 +333,7 @@ DEFINE_PROPERTY(gibhealth, I, Actor)
DEFINE_PROPERTY(woundhealth, I, Actor)
{
PROP_INT_PARM(id, 0);
info->Class->Meta.SetMetaInt (AMETA_WoundHealth, id);
info->Meta.SetMetaInt (AMETA_WoundHealth, id);
}
//==========================================================================
@ -552,7 +556,7 @@ DEFINE_PROPERTY(activesound, S, Actor)
DEFINE_PROPERTY(howlsound, S, Actor)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaInt (AMETA_HowlSound, S_FindSound(str));
info->Meta.SetMetaInt (AMETA_HowlSound, S_FindSound(str));
}
//==========================================================================
@ -633,7 +637,7 @@ DEFINE_PROPERTY(alpha, F, Actor)
DEFINE_PROPERTY(obituary, S, Actor)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaString (AMETA_Obituary, str);
info->Meta.SetMetaString (AMETA_Obituary, str);
}
//==========================================================================
@ -642,7 +646,7 @@ DEFINE_PROPERTY(obituary, S, Actor)
DEFINE_PROPERTY(hitobituary, S, Actor)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaString (AMETA_HitObituary, str);
info->Meta.SetMetaString (AMETA_HitObituary, str);
}
//==========================================================================
@ -650,7 +654,7 @@ DEFINE_PROPERTY(hitobituary, S, Actor)
//==========================================================================
DEFINE_PROPERTY(donthurtshooter, 0, Actor)
{
info->Class->Meta.SetMetaInt (ACMETA_DontHurtShooter, true);
info->Meta.SetMetaInt (ACMETA_DontHurtShooter, true);
}
//==========================================================================
@ -659,7 +663,7 @@ DEFINE_PROPERTY(donthurtshooter, 0, Actor)
DEFINE_PROPERTY(explosionradius, I, Actor)
{
PROP_INT_PARM(id, 0);
info->Class->Meta.SetMetaInt (ACMETA_ExplosionRadius, id);
info->Meta.SetMetaInt (ACMETA_ExplosionRadius, id);
}
//==========================================================================
@ -668,7 +672,7 @@ DEFINE_PROPERTY(explosionradius, I, Actor)
DEFINE_PROPERTY(explosiondamage, I, Actor)
{
PROP_INT_PARM(id, 0);
info->Class->Meta.SetMetaInt (ACMETA_ExplosionDamage, id);
info->Meta.SetMetaInt (ACMETA_ExplosionDamage, id);
}
//==========================================================================
@ -679,7 +683,7 @@ DEFINE_PROPERTY(deathheight, F, Actor)
PROP_FIXED_PARM(h, 0);
// AActor::Die() uses a height of 0 to mean "cut the height to 1/4",
// so if a height of 0 is desired, store it as -1.
info->Class->Meta.SetMetaFixed (AMETA_DeathHeight, h <= 0 ? -1 : h);
info->Meta.SetMetaFixed (AMETA_DeathHeight, h <= 0 ? -1 : h);
}
//==========================================================================
@ -689,7 +693,7 @@ DEFINE_PROPERTY(burnheight, F, Actor)
{
PROP_FIXED_PARM(h, 0);
// The note above for AMETA_DeathHeight also applies here.
info->Class->Meta.SetMetaFixed (AMETA_BurnHeight, h <= 0 ? -1 : h);
info->Meta.SetMetaFixed (AMETA_BurnHeight, h <= 0 ? -1 : h);
}
//==========================================================================
@ -716,7 +720,7 @@ DEFINE_PROPERTY(meleethreshold, F, Actor)
DEFINE_PROPERTY(meleedamage, I, Actor)
{
PROP_INT_PARM(id, 0);
info->Class->Meta.SetMetaInt (ACMETA_MeleeDamage, id);
info->Meta.SetMetaInt (ACMETA_MeleeDamage, id);
}
//==========================================================================
@ -734,7 +738,7 @@ DEFINE_PROPERTY(meleerange, F, Actor)
DEFINE_PROPERTY(meleesound, S, Actor)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaInt (ACMETA_MeleeSound, S_FindSound(str));
info->Meta.SetMetaInt (ACMETA_MeleeSound, S_FindSound(str));
}
//==========================================================================
@ -743,7 +747,7 @@ DEFINE_PROPERTY(meleesound, S, Actor)
DEFINE_PROPERTY(missiletype, S, Actor)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaInt (ACMETA_MissileName, FName(str));
info->Meta.SetMetaInt (ACMETA_MissileName, FName(str));
}
//==========================================================================
@ -752,7 +756,7 @@ DEFINE_PROPERTY(missiletype, S, Actor)
DEFINE_PROPERTY(missileheight, F, Actor)
{
PROP_FIXED_PARM(id, 0);
info->Class->Meta.SetMetaFixed (ACMETA_MissileHeight, id);
info->Meta.SetMetaFixed (ACMETA_MissileHeight, id);
}
//==========================================================================
@ -822,7 +826,7 @@ DEFINE_PROPERTY(bloodcolor, C, Actor)
PalEntry pe = color;
pe.a = CreateBloodTranslation(pe);
info->Class->Meta.SetMetaInt (AMETA_BloodColor, pe);
info->Meta.SetMetaInt (AMETA_BloodColor, pe);
}
@ -837,21 +841,21 @@ DEFINE_PROPERTY(bloodtype, Sss, Actor)
FName blood = str;
// normal blood
info->Class->Meta.SetMetaInt (AMETA_BloodType, blood);
info->Meta.SetMetaInt (AMETA_BloodType, blood);
if (PROP_PARM_COUNT > 1)
{
blood = str1;
}
// blood splatter
info->Class->Meta.SetMetaInt (AMETA_BloodType2, blood);
info->Meta.SetMetaInt (AMETA_BloodType2, blood);
if (PROP_PARM_COUNT > 2)
{
blood = str2;
}
// axe blood
info->Class->Meta.SetMetaInt (AMETA_BloodType3, blood);
info->Meta.SetMetaInt (AMETA_BloodType3, blood);
}
//==========================================================================
@ -996,7 +1000,7 @@ DEFINE_PROPERTY(maxdropoffheight, F, Actor)
DEFINE_PROPERTY(poisondamage, I, Actor)
{
PROP_INT_PARM(i, 0);
info->Class->Meta.SetMetaInt (AMETA_PoisonDamage, i);
info->Meta.SetMetaInt (AMETA_PoisonDamage, i);
}
//==========================================================================
@ -1005,7 +1009,7 @@ DEFINE_PROPERTY(poisondamage, I, Actor)
DEFINE_PROPERTY(fastspeed, F, Actor)
{
PROP_FIXED_PARM(i, 0);
info->Class->Meta.SetMetaFixed (AMETA_FastSpeed, i);
info->Meta.SetMetaFixed (AMETA_FastSpeed, i);
}
//==========================================================================
@ -1014,7 +1018,7 @@ DEFINE_PROPERTY(fastspeed, F, Actor)
DEFINE_PROPERTY(radiusdamagefactor, F, Actor)
{
PROP_FIXED_PARM(i, 0);
info->Class->Meta.SetMetaFixed (AMETA_RDFactor, i);
info->Meta.SetMetaFixed (AMETA_RDFactor, i);
}
//==========================================================================
@ -1023,7 +1027,7 @@ DEFINE_PROPERTY(radiusdamagefactor, F, Actor)
DEFINE_PROPERTY(cameraheight, F, Actor)
{
PROP_FIXED_PARM(i, 0);
info->Class->Meta.SetMetaFixed (AMETA_CameraHeight, i);
info->Meta.SetMetaFixed (AMETA_CameraHeight, i);
}
//==========================================================================
@ -1131,7 +1135,7 @@ DEFINE_CLASS_PROPERTY(backpackmaxamount, I, Ammo)
DEFINE_CLASS_PROPERTY(dropamount, I, Ammo)
{
PROP_INT_PARM(i, 0);
info->Class->Meta.SetMetaInt (AIMETA_DropAmount, i);
info->Meta.SetMetaInt (AIMETA_DropAmount, i);
}
//==========================================================================
@ -1169,11 +1173,11 @@ DEFINE_CLASS_PROPERTY(saveamount, I, Armor)
PROP_INT_PARM(i, 0);
// Special case here because this property has to work for 2 unrelated classes
if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
{
((ABasicArmorPickup*)defaults)->SaveAmount=i;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
else if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
{
((ABasicArmorBonus*)defaults)->SaveAmount=i;
}
@ -1192,11 +1196,11 @@ DEFINE_CLASS_PROPERTY(savepercent, F, Armor)
i = clamp(i, 0, 100*FRACUNIT)/100;
// Special case here because this property has to work for 2 unrelated classes
if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
{
((ABasicArmorPickup*)defaults)->SavePercent = i;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
else if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
{
((ABasicArmorBonus*)defaults)->SavePercent = i;
}
@ -1214,11 +1218,11 @@ DEFINE_CLASS_PROPERTY(maxabsorb, I, Armor)
PROP_INT_PARM(i, 0);
// Special case here because this property has to work for 2 unrelated classes
if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
{
((ABasicArmorPickup*)defaults)->MaxAbsorb = i;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
else if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
{
((ABasicArmorBonus*)defaults)->MaxAbsorb = i;
}
@ -1236,11 +1240,11 @@ DEFINE_CLASS_PROPERTY(maxfullabsorb, I, Armor)
PROP_INT_PARM(i, 0);
// Special case here because this property has to work for 2 unrelated classes
if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorPickup)))
{
((ABasicArmorPickup*)defaults)->MaxFullAbsorb = i;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
else if (info->IsDescendantOf(RUNTIME_CLASS(ABasicArmorBonus)))
{
((ABasicArmorBonus*)defaults)->MaxFullAbsorb = i;
}
@ -1275,7 +1279,7 @@ DEFINE_CLASS_PROPERTY(icon, S, Inventory)
!(gameinfo.flags&GI_SHAREWARE) && Wads.GetLumpFile(bag.Lumpnum) != 0)
{
bag.ScriptPosition.Message(MSG_WARNING,
"Icon '%s' for '%s' not found\n", i, info->Class->TypeName.GetChars());
"Icon '%s' for '%s' not found\n", i, info->TypeName.GetChars());
}
}
}
@ -1322,7 +1326,7 @@ DEFINE_CLASS_PROPERTY(pickupflash, S, Inventory)
DEFINE_CLASS_PROPERTY(pickupmessage, T, Inventory)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaString(AIMETA_PickupMessage, str);
info->Meta.SetMetaString(AIMETA_PickupMessage, str);
}
//==========================================================================
@ -1365,7 +1369,7 @@ DEFINE_CLASS_PROPERTY(usesound, S, Inventory)
DEFINE_CLASS_PROPERTY(givequest, I, Inventory)
{
PROP_INT_PARM(i, 0);
info->Class->Meta.SetMetaInt(AIMETA_GiveQuest, i);
info->Meta.SetMetaInt(AIMETA_GiveQuest, i);
}
//==========================================================================
@ -1375,8 +1379,8 @@ DEFINE_CLASS_PROPERTY(lowmessage, IT, Health)
{
PROP_INT_PARM(i, 0);
PROP_STRING_PARM(str, 1);
info->Class->Meta.SetMetaInt(AIMETA_LowHealth, i);
info->Class->Meta.SetMetaString(AIMETA_LowHealthMessage, str);
info->Meta.SetMetaInt(AIMETA_LowHealth, i);
info->Meta.SetMetaString(AIMETA_LowHealthMessage, str);
}
//==========================================================================
@ -1403,7 +1407,7 @@ DEFINE_CLASS_PROPERTY(number, I, PuzzleItem)
DEFINE_CLASS_PROPERTY(failmessage, T, PuzzleItem)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaString(AIMETA_PuzzFailMessage, str);
info->Meta.SetMetaString(AIMETA_PuzzFailMessage, str);
}
//==========================================================================
@ -1558,7 +1562,7 @@ DEFINE_CLASS_PROPERTY(yadjust, F, Weapon)
DEFINE_CLASS_PROPERTY(slotnumber, I, Weapon)
{
PROP_INT_PARM(i, 0);
info->Class->Meta.SetMetaInt(AWMETA_SlotNumber, i);
info->Meta.SetMetaInt(AWMETA_SlotNumber, i);
}
//==========================================================================
@ -1567,7 +1571,7 @@ DEFINE_CLASS_PROPERTY(slotnumber, I, Weapon)
DEFINE_CLASS_PROPERTY(slotpriority, F, Weapon)
{
PROP_FIXED_PARM(i, 0);
info->Class->Meta.SetMetaFixed(AWMETA_SlotPriority, i);
info->Meta.SetMetaFixed(AWMETA_SlotPriority, i);
}
//==========================================================================
@ -1599,11 +1603,11 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, color, C_f, Inventory)
int alpha;
PalEntry * pBlendColor;
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (info->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
pBlendColor = &((APowerup*)defaults)->BlendColor;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
else if (info->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
{
pBlendColor = &((APowerupGiver*)defaults)->BlendColor;
}
@ -1649,11 +1653,11 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, colormap, FFFfff, Inventory)
{
PalEntry * pBlendColor;
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (info->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
pBlendColor = &((APowerup*)defaults)->BlendColor;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
else if (info->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
{
pBlendColor = &((APowerupGiver*)defaults)->BlendColor;
}
@ -1693,11 +1697,11 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, duration, I, Inventory)
{
int *pEffectTics;
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (info->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
pEffectTics = &((APowerup*)defaults)->EffectTics;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
else if (info->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
{
pEffectTics = &((APowerupGiver*)defaults)->EffectTics;
}
@ -1718,11 +1722,11 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, strength, F, Inventory)
{
fixed_t *pStrength;
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (info->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
pStrength = &((APowerup*)defaults)->Strength;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
else if (info->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
{
pStrength = &((APowerupGiver*)defaults)->Strength;
}
@ -1743,11 +1747,11 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, mode, S, Inventory)
{
PROP_STRING_PARM(str, 0);
FName *pMode;
if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerup)))
if (info->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
pMode = &((APowerup*)defaults)->Mode;
}
else if (info->Class->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
else if (info->IsDescendantOf(RUNTIME_CLASS(APowerupGiver)))
{
pMode = &((APowerupGiver*)defaults)->Mode;
}
@ -1768,7 +1772,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, type, S, PowerupGiver)
// Yuck! What was I thinking when I decided to prepend "Power" to the name?
// Now it's too late to change it...
const PClass *cls = PClass::FindClass(str);
PClassActor *cls = PClass::FindActor(str);
if (cls == NULL || !cls->IsDescendantOf(RUNTIME_CLASS(APowerup)))
{
FString st;
@ -1791,7 +1795,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(powerup, type, S, PowerupGiver)
DEFINE_CLASS_PROPERTY_PREFIX(player, displayname, S, PlayerPawn)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaString (APMETA_DisplayName, str);
info->Meta.SetMetaString (APMETA_DisplayName, str);
}
//==========================================================================
@ -1803,7 +1807,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, soundclass, S, PlayerPawn)
FString tmp = str;
tmp.ReplaceChars (' ', '_');
info->Class->Meta.SetMetaString (APMETA_SoundClass, tmp);
info->Meta.SetMetaString (APMETA_SoundClass, tmp);
}
//==========================================================================
@ -1819,7 +1823,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, face, S, PlayerPawn)
{
bag.ScriptPosition.Message(MSG_WARNING,
"Invalid face '%s' for '%s';\nSTF replacement codes must be 3 characters.\n",
tmp.GetChars(), info->Class->TypeName.GetChars ());
tmp.GetChars(), info->TypeName.GetChars ());
}
bool valid = (
@ -1831,10 +1835,10 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, face, S, PlayerPawn)
{
bag.ScriptPosition.Message(MSG_WARNING,
"Invalid face '%s' for '%s';\nSTF replacement codes must be alphanumeric.\n",
tmp.GetChars(), info->Class->TypeName.GetChars ());
tmp.GetChars(), info->TypeName.GetChars ());
}
info->Class->Meta.SetMetaString (APMETA_Face, tmp);
info->Meta.SetMetaString (APMETA_Face, tmp);
}
//==========================================================================
@ -1848,7 +1852,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, colorrange, I_I, PlayerPawn)
if (start > end)
swap (start, end);
info->Class->Meta.SetMetaInt (APMETA_ColorRange, (start & 255) | ((end & 255) << 8));
info->Meta.SetMetaInt (APMETA_ColorRange, (start & 255) | ((end & 255) << 8));
}
//==========================================================================
@ -1983,7 +1987,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, scoreicon, S, PlayerPawn)
if (!defaults->ScoreIcon.isValid())
{
bag.ScriptPosition.Message(MSG_WARNING,
"Icon '%s' for '%s' not found\n", z, info->Class->TypeName.GetChars ());
"Icon '%s' for '%s' not found\n", z, info->TypeName.GetChars ());
}
}
@ -2052,7 +2056,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, startitem, S_i, PlayerPawn)
DEFINE_CLASS_PROPERTY_PREFIX(player, invulnerabilitymode, S, PlayerPawn)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaInt (APMETA_InvulMode, (FName)str);
info->Meta.SetMetaInt (APMETA_InvulMode, (FName)str);
}
//==========================================================================
@ -2061,7 +2065,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, invulnerabilitymode, S, PlayerPawn)
DEFINE_CLASS_PROPERTY_PREFIX(player, healradiustype, S, PlayerPawn)
{
PROP_STRING_PARM(str, 0);
info->Class->Meta.SetMetaInt (APMETA_HealingRadius, (FName)str);
info->Meta.SetMetaInt (APMETA_HealingRadius, (FName)str);
}
//==========================================================================
@ -2072,7 +2076,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, hexenarmor, FFFFF, PlayerPawn)
for (int i=0;i<5;i++)
{
PROP_FIXED_PARM(val, i);
info->Class->Meta.SetMetaFixed (APMETA_Hexenarmor0+i, val);
info->Meta.SetMetaFixed (APMETA_Hexenarmor0+i, val);
}
}
@ -2096,7 +2100,7 @@ DEFINE_CLASS_PROPERTY_PREFIX(player, weaponslot, ISsssssssssssssssssssssssssssss
PROP_STRING_PARM(str, i);
weapons << ' ' << str;
}
info->Class->Meta.SetMetaString(APMETA_Slot0 + slot, &weapons[1]);
info->Meta.SetMetaString(APMETA_Slot0 + slot, &weapons[1]);
}
}