- 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)
{
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;
}

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.
for(;;)
{
@ -1245,7 +1244,7 @@ void ParseDecorate (FScanner &sc)
}
FScanner newscanner;
newscanner.Open(sc.String);
ParseDecorate(newscanner);
ParseDecorate(newscanner, ns);
break;
}
@ -1308,6 +1307,7 @@ void ParseAllDecorate()
while ((lump = Wads.FindLump("DECORATE", &lastlump)) != -1)
{
FScanner sc(lump);
ParseDecorate(sc);
auto ns = Namespaces.NewNamespace(sc.LumpNum);
ParseDecorate(sc, ns);
}
}