diff --git a/src/info.cpp b/src/info.cpp index c81a96d1e..857598385 100644 --- a/src/info.cpp +++ b/src/info.cpp @@ -255,7 +255,7 @@ void FActorInfo::RegisterIDs () if (gameinfo.gametype == GAME_Chex && DoomEdMap.FindType(DoomEdNum) == NULL && (GameFilter & GAME_Doom)) { - DoomEdMap.AddType (DoomEdNum, Class); + DoomEdMap.AddType (DoomEdNum, Class, true); } } @@ -554,7 +554,7 @@ FDoomEdMap::~FDoomEdMap() Empty(); } -void FDoomEdMap::AddType (int doomednum, const PClass *type) +void FDoomEdMap::AddType (int doomednum, const PClass *type, bool temporary) { unsigned int hash = (unsigned int)doomednum % DOOMED_HASHSIZE; FDoomEdEntry *entry = DoomEdHash[hash]; @@ -569,11 +569,12 @@ void FDoomEdMap::AddType (int doomednum, const PClass *type) entry->DoomEdNum = doomednum; DoomEdHash[hash] = entry; } - else + else if (!entry->temp) { Printf (PRINT_BOLD, "Warning: %s and %s both have doomednum %d.\n", type->TypeName.GetChars(), entry->Type->TypeName.GetChars(), doomednum); } + entry->temp = temporary; entry->Type = type; } diff --git a/src/info.h b/src/info.h index 250f08fde..47273cf13 100644 --- a/src/info.h +++ b/src/info.h @@ -232,7 +232,7 @@ public: ~FDoomEdMap(); const PClass *FindType (int doomednum) const; - void AddType (int doomednum, const PClass *type); + void AddType (int doomednum, const PClass *type, bool temporary = false); void DelType (int doomednum); void Empty (); @@ -246,6 +246,7 @@ private: FDoomEdEntry *HashNext; const PClass *Type; int DoomEdNum; + bool temp; }; static FDoomEdEntry *DoomEdHash[DOOMED_HASHSIZE]; diff --git a/wadsrc/static/actors/hexen/fog.txt b/wadsrc/static/actors/hexen/fog.txt index 9711bae36..81f5aeea5 100644 --- a/wadsrc/static/actors/hexen/fog.txt +++ b/wadsrc/static/actors/hexen/fog.txt @@ -46,6 +46,7 @@ ACTOR FogPatchSmall 10001 ACTOR FogPatchMedium : FogPatchSmall 10002 { + Game Hexen States { Spawn: @@ -61,6 +62,7 @@ ACTOR FogPatchMedium : FogPatchSmall 10002 ACTOR FogPatchLarge : FogPatchMedium 10003 { + Game Hexen States { Spawn: diff --git a/wadsrc/static/actors/hexen/heresiarch.txt b/wadsrc/static/actors/hexen/heresiarch.txt index 23e9c580d..526642506 100644 --- a/wadsrc/static/actors/hexen/heresiarch.txt +++ b/wadsrc/static/actors/hexen/heresiarch.txt @@ -3,6 +3,7 @@ ACTOR Heresiarch 10080 native { + Game Hexen Health 5000 Painchance 10 Speed 16