- added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional! * added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights. * added the new dagger powerup. * added MAPINFO entries for the added maps.
This commit is contained in:
parent
dcded0e183
commit
050acc9271
11 changed files with 434 additions and 8 deletions
|
|
@ -88,6 +88,7 @@ struct MapinfoEdMapItem
|
|||
// These are for error reporting. We must store the file information because it's no longer available when these items get resolved.
|
||||
FString filename;
|
||||
int linenum;
|
||||
bool noskillflags;
|
||||
};
|
||||
|
||||
typedef TMap<int, MapinfoEdMapItem> IdMap;
|
||||
|
|
@ -184,12 +185,18 @@ void FMapInfoParser::ParseDoomEdNums()
|
|||
}
|
||||
memset(editem.args, 0, sizeof(editem.args));
|
||||
editem.argsdefined = 0;
|
||||
editem.noskillflags = false;
|
||||
|
||||
int minargs = 0;
|
||||
int maxargs = 5;
|
||||
FString specialname;
|
||||
if (sc.CheckString(","))
|
||||
{
|
||||
if (sc.CheckString("noskillflags"))
|
||||
{
|
||||
editem.noskillflags = true;
|
||||
if (!sc.CheckString(",")) goto noargs;
|
||||
}
|
||||
editem.argsdefined = 5; // mark args as used - if this is done we need to prevent assignment of map args in P_SpawnMapThing.
|
||||
if (editem.special < 0) editem.special = 0;
|
||||
if (!sc.CheckNumber())
|
||||
|
|
@ -238,6 +245,7 @@ void FMapInfoParser::ParseDoomEdNums()
|
|||
error++;
|
||||
}
|
||||
}
|
||||
noargs:
|
||||
DoomEdFromMapinfo.Insert(ednum, editem);
|
||||
}
|
||||
else
|
||||
|
|
@ -275,6 +283,7 @@ void InitActorNumsFromMapinfo()
|
|||
ent.Type = cls;
|
||||
ent.Special = pair->Value.special;
|
||||
ent.ArgsDefined = pair->Value.argsdefined;
|
||||
ent.NoSkillFlags = pair->Value.noskillflags;
|
||||
memcpy(ent.Args, pair->Value.args, sizeof(ent.Args));
|
||||
DoomEdMap.Insert(pair->Key, ent);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue