mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
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
This commit is contained in:
parent
aced12b2b2
commit
559222f991
3 changed files with 16 additions and 48 deletions
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue