diff --git a/src/r_data/gldefs.cpp b/src/r_data/gldefs.cpp index be4645699..2c6dbf8fb 100644 --- a/src/r_data/gldefs.cpp +++ b/src/r_data/gldefs.cpp @@ -1210,6 +1210,11 @@ class GLDefsParser FTextureID no = TexMan.CheckForTexture(sc.String, type, FTextureManager::TEXMAN_TryAny | FTextureManager::TEXMAN_Overridable); FTexture *tex = TexMan.GetTexture(no); + if (tex == nullptr) + { + sc.ScriptMessage("Material definition refers nonexistent texture '%s'\n", sc.String); + } + sc.MustGetToken('{'); while (!sc.CheckToken('}')) { @@ -1266,26 +1271,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")) diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0021.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0021.lmp new file mode 100644 index 000000000..8ebc24571 Binary files /dev/null and b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/0021.lmp differ diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/00A1.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/00A1.lmp new file mode 100644 index 000000000..1759c1d2e Binary files /dev/null and b/wadsrc_extra/static/filter/game-heretic/fonts/defbigfont/00A1.lmp differ diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0021.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0021.lmp new file mode 100644 index 000000000..14ccedfb4 Binary files /dev/null and b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/0021.lmp differ diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/00A1.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/00A1.lmp new file mode 100644 index 000000000..81dc7814e Binary files /dev/null and b/wadsrc_extra/static/filter/game-hexen/fonts/defbigfont/00A1.lmp differ