From 559222f9915f9a2be7615641ddb309f51368a605 Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Sun, 28 Aug 2022 00:03:22 -0400 Subject: [PATCH 1/2] Stuff for Ivo's texture crunching - Flats no longer get applied entirely, they are FULLY DEPRECATED NOW - Uses AASMELLY instead of REDWALL for missing textures --- src/p_setup.c | 60 +++++++++++------------------------------------- src/r_textures.c | 2 +- src/r_textures.h | 2 ++ 3 files changed, 16 insertions(+), 48 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index 20d45052c..b723d2e5a 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -615,57 +615,23 @@ Ploadflat (levelflat_t *levelflat, const char *flatname, boolean resize) strlcpy(levelflat->name, flatname, sizeof (levelflat->name)); strupr(levelflat->name); - /* If we can't find a flat, try looking for a texture! */ - if (( flatnum = R_GetFlatNumForName(levelflat->name) ) == LUMPERROR) + if (( texturenum = R_CheckTextureNumForName(levelflat->name) ) == -1) { - if (( texturenum = R_CheckTextureNumForName(levelflat->name) ) == -1) - { - // check for REDWALL - if (( texturenum = R_CheckTextureNumForName("REDWALL") ) != -1) - goto texturefound; - // check for REDFLR - else if (( flatnum = R_GetFlatNumForName("REDFLR") ) != LUMPERROR) - goto flatfound; - // nevermind - levelflat->type = LEVELFLAT_NONE; - } - else - { -texturefound: - levelflat->type = LEVELFLAT_TEXTURE; - levelflat->u.texture. num = texturenum; - levelflat->u.texture.lastnum = texturenum; - /* start out unanimated */ - levelflat->u.texture.basenum = -1; - } + // check for missing texture + if (( texturenum = R_CheckTextureNumForName(MISSING_TEXTURE) ) != -1) + goto texturefound; + + // nevermind + levelflat->type = LEVELFLAT_NONE; } else { -flatfound: - /* This could be a flat, patch, or PNG. */ - flatpatch = W_CacheLumpNum(flatnum, PU_CACHE); - lumplength = W_LumpLength(flatnum); - if (Picture_CheckIfDoomPatch((softwarepatch_t *)flatpatch, lumplength)) - levelflat->type = LEVELFLAT_PATCH; - else - { -#ifndef NO_PNG_LUMPS - /* - Only need eight bytes for PNG headers. - FIXME: Put this elsewhere. - */ - W_ReadLumpHeader(flatnum, buffer, 8, 0); - if (Picture_IsLumpPNG(buffer, lumplength)) - levelflat->type = LEVELFLAT_PNG; - else -#endif/*NO_PNG_LUMPS*/ - levelflat->type = LEVELFLAT_FLAT;/* phew */ - } - if (flatpatch) - Z_Free(flatpatch); - - levelflat->u.flat. lumpnum = flatnum; - levelflat->u.flat.baselumpnum = LUMPERROR; +texturefound: + levelflat->type = LEVELFLAT_TEXTURE; + levelflat->u.texture. num = texturenum; + levelflat->u.texture.lastnum = texturenum; + /* start out unanimated */ + levelflat->u.texture.basenum = -1; } levelflat->terrain = diff --git a/src/r_textures.c b/src/r_textures.c index d04935b3e..39976a3c8 100644 --- a/src/r_textures.c +++ b/src/r_textures.c @@ -1712,7 +1712,7 @@ INT32 R_TextureNumForName(const char *name) static INT32 redwall = -2; CONS_Debug(DBG_SETUP, "WARNING: R_TextureNumForName: %.8s not found\n", name); if (redwall == -2) - redwall = R_CheckTextureNumForName("REDWALL"); + redwall = R_CheckTextureNumForName(MISSING_TEXTURE); if (redwall != -1) return redwall; return 1; diff --git a/src/r_textures.h b/src/r_textures.h index 007da38ac..d4c9302e5 100644 --- a/src/r_textures.h +++ b/src/r_textures.h @@ -23,6 +23,8 @@ #pragma interface #endif +#define MISSING_TEXTURE "AASMELLY" // Replacement for invalid textures + // A single patch from a texture definition, // basically a rectangular area within // the texture rectangle. From d3a4a6ca81384f64e8b1835100c48938ffc796b8 Mon Sep 17 00:00:00 2001 From: Sally Coolatta Date: Sun, 28 Aug 2022 03:09:13 -0400 Subject: [PATCH 2/2] Remove unused variables --- src/p_setup.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index b723d2e5a..43f97e666 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -579,15 +579,7 @@ or NULL if we want to allocate it now. static INT32 Ploadflat (levelflat_t *levelflat, const char *flatname, boolean resize) { -#ifndef NO_PNG_LUMPS - UINT8 buffer[8]; -#endif - - lumpnum_t flatnum; int texturenum; - UINT8 *flatpatch; - size_t lumplength; - size_t i; // Scan through the already found flats, return if it matches.