- fixed: DECORATE was creating a new global constant namespace for each single included file, not just once per DECORATE lump.

This commit is contained in:
Christoph Oelckers 2017-01-27 10:50:35 +01:00
parent 949862f78f
commit 15b95cc023
2 changed files with 5 additions and 5 deletions

View file

@ -63,7 +63,7 @@ static bool R_InstallSpriteLump (FTextureID lump, unsigned frame, char rot, bool
if (frame >= MAX_SPRITE_FRAMES || rotation > 16) if (frame >= MAX_SPRITE_FRAMES || rotation > 16)
{ {
Printf (TEXTCOLOR_RED"R_InstallSpriteLump: Bad frame characters in lump %s\n", TexMan[lump]->Name.GetChars()); Printf (TEXTCOLOR_RED "R_InstallSpriteLump: Bad frame characters in lump %s\n", TexMan[lump]->Name.GetChars());
return false; return false;
} }

View file

@ -1217,9 +1217,8 @@ static void ParseDamageDefinition(FScanner &sc)
// //
//========================================================================== //==========================================================================
void ParseDecorate (FScanner &sc) void ParseDecorate (FScanner &sc, PNamespace *ns)
{ {
auto ns = Namespaces.NewNamespace(sc.LumpNum);
// Get actor class name. // Get actor class name.
for(;;) for(;;)
{ {
@ -1245,7 +1244,7 @@ void ParseDecorate (FScanner &sc)
} }
FScanner newscanner; FScanner newscanner;
newscanner.Open(sc.String); newscanner.Open(sc.String);
ParseDecorate(newscanner); ParseDecorate(newscanner, ns);
break; break;
} }
@ -1308,6 +1307,7 @@ void ParseAllDecorate()
while ((lump = Wads.FindLump("DECORATE", &lastlump)) != -1) while ((lump = Wads.FindLump("DECORATE", &lastlump)) != -1)
{ {
FScanner sc(lump); FScanner sc(lump);
ParseDecorate(sc); auto ns = Namespaces.NewNamespace(sc.LumpNum);
ParseDecorate(sc, ns);
} }
} }