Skip to content
Permalink
Browse files

- fixed crash in GLDEFS parser caused by missing texture

  • Loading branch information...
alexey-lysiuk committed Apr 11, 2019
1 parent 6a3bc71 commit ab5350977421dfc92bbbab8155efb5d2c0cec47a
Showing with 17 additions and 14 deletions.
  1. +17 −14 src/r_data/gldefs.cpp
@@ -1266,26 +1266,29 @@ class GLDefsParser
}
}
sc.MustGetString();
bool okay = false;
for (int i = 0; i < MAX_CUSTOM_HW_SHADER_TEXTURES; i++)
if (tex)
{
if (!tex->CustomShaderTextures[i])
bool okay = false;
for (int i = 0; i < MAX_CUSTOM_HW_SHADER_TEXTURES; i++)
{
tex->CustomShaderTextures[i] = TexMan.FindTexture(sc.String, ETextureType::Any, FTextureManager::TEXMAN_TryAny);
if (!tex->CustomShaderTextures[i])
{
sc.ScriptError("Custom hardware shader texture '%s' not found in texture '%s'\n", sc.String, tex ? tex->Name.GetChars() : "(null)");
}
tex->CustomShaderTextures[i] = TexMan.FindTexture(sc.String, ETextureType::Any, FTextureManager::TEXMAN_TryAny);
if (!tex->CustomShaderTextures[i])
{
sc.ScriptError("Custom hardware shader texture '%s' not found in texture '%s'\n", sc.String, tex->Name.GetChars());
}

texNameList.Push(textureName);
texNameIndex.Push(i);
okay = true;
break;
texNameList.Push(textureName);
texNameIndex.Push(i);
okay = true;
break;
}
}
if (!okay)
{
sc.ScriptError("Error: out of texture units in texture '%s'", tex->Name.GetChars());
}
}
if (!okay)
{
sc.ScriptError("Error: out of texture units in texture '%s'", tex ? tex->Name.GetChars() : "(null)");
}
}
else if (sc.Compare("define"))

0 comments on commit ab53509

Please sign in to comment.
You can’t perform that action at this time.