diff --git a/src/k_terrain.c b/src/k_terrain.c index f0a5347ea..44b8b3163 100644 --- a/src/k_terrain.c +++ b/src/k_terrain.c @@ -312,16 +312,13 @@ terrain_t *K_GetTerrainForTextureNum(INT32 textureNum) --------------------------------------------------*/ terrain_t *K_GetTerrainForFlatNum(INT32 flatID) { - levelflat_t *levelFlat = NULL; - if (flatID < 0 || flatID >= (signed)numlevelflats) { // Clearly invalid floor... return NULL; } - levelFlat = &levelflats[flatID]; - return K_GetTerrainForTextureName(levelFlat->name); + return levelflats[flatID].terrain; } /*-------------------------------------------------- diff --git a/src/p_setup.c b/src/p_setup.c index 6c5903483..853fdd30c 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -661,6 +661,9 @@ flatfound: levelflat->u.flat.baselumpnum = LUMPERROR; } + levelflat->terrain = + K_GetTerrainForTextureName(levelflat->name); + CONS_Debug(DBG_SETUP, "flat #%03d: %s\n", atoi(sizeu1(numlevelflats)), levelflat->name); return ( numlevelflats++ ); diff --git a/src/p_setup.h b/src/p_setup.h index 0a7587ec0..dfa79da14 100644 --- a/src/p_setup.h +++ b/src/p_setup.h @@ -17,6 +17,7 @@ #include "doomdata.h" #include "doomstat.h" #include "r_defs.h" +#include "k_terrain.h" // map md5, sent to players via PT_SERVERINFO extern unsigned char mapmd5[16]; @@ -71,6 +72,8 @@ typedef struct UINT16 width, height; + terrain_t *terrain; + // for flat animation INT32 animseq; // start pos. in the anim sequence INT32 numpics;