- moved KEYCONF_only CCMDs out of play files.

This commit is contained in:
Christoph Oelckers 2019-02-01 21:19:16 +01:00
commit bf665961cc
7 changed files with 43 additions and 50 deletions

View file

@ -223,3 +223,45 @@ void D_LoadWadSettings ()
ParsingKeyConf = false;
}
CCMD(clearplayerclasses)
{
if (ParsingKeyConf)
{
PlayerClasses.Clear();
}
}
bool ValidatePlayerClass(PClassActor *ti, const char *name);
CCMD(addplayerclass)
{
if (ParsingKeyConf && argv.argc() > 1)
{
PClassActor *ti = PClass::FindActor(argv[1]);
if (ValidatePlayerClass(ti, argv[1]))
{
FPlayerClass newclass;
newclass.Type = ti;
newclass.Flags = 0;
int arg = 2;
while (arg < argv.argc())
{
if (!stricmp(argv[arg], "nomenu"))
{
newclass.Flags |= PCF_NOMENU;
}
else
{
Printf("Unknown flag '%s' for player class '%s'\n", argv[arg], argv[1]);
}
arg++;
}
PlayerClasses.Push(newclass);
}
}
}