mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-14 08:31:23 +00:00
- added Gez's dumpactors patch.
SVN r2463 (trunk)
This commit is contained in:
parent
35ba99ed31
commit
2cf19f436a
3 changed files with 30 additions and 0 deletions
|
@ -188,6 +188,33 @@ const char *FMetaTable::GetMetaString (DWORD id) const
|
||||||
return meta != NULL ? meta->Value.String : NULL;
|
return meta != NULL ? meta->Value.String : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CCMD (dumpactors)
|
||||||
|
{
|
||||||
|
char * filters[32] =
|
||||||
|
{
|
||||||
|
"0:All", "1:Doom", "2:Heretic", "3:DoomHeretic", "4:Hexen", "5:DoomHexen", "6:Raven", "7:IdRaven",
|
||||||
|
"8:Strife", "9:DoomStrife", "10:HereticStrife", "11:DoomHereticStrife", "12:HexenStrife",
|
||||||
|
"13:DoomHexenStrife", "14:RavenStrife", "15:NotChex", "16:Chex", "17:DoomChex", "18:HereticChex",
|
||||||
|
"19:DoomHereticChex", "20:HexenChex", "21:DoomHexenChex", "22:RavenChex", "23:NotStrife", "24:StrifeChex",
|
||||||
|
"25:DoomStrifeChex", "26:HereticStrifeChex", "27:NotHexen", "28:HexenStrifeChex", "29:NotHeretic",
|
||||||
|
"30:NotDoom", "31:All",
|
||||||
|
};
|
||||||
|
Printf("%i object class types total\nActor\tEd Num\tSpawnID\tFilter\tSource\n", PClass::m_Types.Size());
|
||||||
|
for (unsigned int i = 0; i < PClass::m_Types.Size(); i++)
|
||||||
|
{
|
||||||
|
PClass *cls = PClass::m_Types[i];
|
||||||
|
if (cls != NULL && cls->ActorInfo != NULL)
|
||||||
|
Printf("%s\t%i\t%i\t%s\t%s\n",
|
||||||
|
cls->TypeName.GetChars(), cls->ActorInfo->DoomEdNum,
|
||||||
|
cls->ActorInfo->SpawnID, filters[cls->ActorInfo->GameFilter & 31],
|
||||||
|
cls->Meta.GetMetaString (ACMETA_Lump));
|
||||||
|
else if (cls != NULL)
|
||||||
|
Printf("%s\tn/a\tn/a\tn/a\tEngine (not an actor type)\n", cls->TypeName.GetChars());
|
||||||
|
else
|
||||||
|
Printf("Type %i is not an object class\n", i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CCMD (dumpclasses)
|
CCMD (dumpclasses)
|
||||||
{
|
{
|
||||||
// This is by no means speed-optimized. But it's an informational console
|
// This is by no means speed-optimized. But it's an informational console
|
||||||
|
|
|
@ -230,6 +230,7 @@ enum
|
||||||
ACMETA_MeleeDamage,
|
ACMETA_MeleeDamage,
|
||||||
ACMETA_MissileName,
|
ACMETA_MissileName,
|
||||||
ACMETA_MissileHeight,
|
ACMETA_MissileHeight,
|
||||||
|
ACMETA_Lump,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1106,6 +1106,8 @@ static FActorInfo *ParseActorHeader(FScanner &sc, Baggage *bag)
|
||||||
{
|
{
|
||||||
FActorInfo *info = CreateNewActor(sc, typeName, parentName, native);
|
FActorInfo *info = CreateNewActor(sc, typeName, parentName, native);
|
||||||
info->DoomEdNum = DoomEdNum > 0? DoomEdNum : -1;
|
info->DoomEdNum = DoomEdNum > 0? DoomEdNum : -1;
|
||||||
|
info->Class->Meta.SetMetaString (ACMETA_Lump, Wads.GetLumpFullPath(sc.LumpNum));
|
||||||
|
|
||||||
SetReplacement(info, replaceName);
|
SetReplacement(info, replaceName);
|
||||||
|
|
||||||
ResetBaggage (bag, info->Class->ParentClass);
|
ResetBaggage (bag, info->Class->ParentClass);
|
||||||
|
|
Loading…
Reference in a new issue