From 80a40bf91faac1cc99d9ba71fdff6b354cfc684b Mon Sep 17 00:00:00 2001 From: NepDisk <16447892+NepDisk@users.noreply.github.com> Date: Thu, 19 Sep 2024 21:44:34 -0400 Subject: [PATCH] Make Terrain loading the same as other texture related things such as brightmaps --- src/k_terrain.c | 19 +++++++++++++++++-- src/k_terrain.h | 12 ++++++++++-- src/p_setup.c | 2 +- src/r_data.c | 5 +++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/src/k_terrain.c b/src/k_terrain.c index c0530acee..00c1fe972 100644 --- a/src/k_terrain.c +++ b/src/k_terrain.c @@ -2207,11 +2207,11 @@ static boolean K_TERRAINLumpParser(char *data, size_t size) } /*-------------------------------------------------- - void K_InitTerrain(UINT16 wadNum) + void K_InitTerrainPwad(UINT16 wadNum) See header file for description. --------------------------------------------------*/ -boolean K_InitTerrain(UINT16 wadNum) +boolean K_InitTerrainPwad(UINT16 wadNum) { UINT16 lumpNum; lumpinfo_t *lump_p = wadfiles[wadNum]->lumpinfo; @@ -2272,3 +2272,18 @@ boolean K_InitTerrain(UINT16 wadNum) return terrainLoaded; } + +/*-------------------------------------------------- + void K_InitTerrain(void) + + See header file for description. +--------------------------------------------------*/ +void K_InitTerrain(void) +{ + INT32 wadNum; + + for (wadNum = 0; wadNum < numwadfiles; wadNum++) + { + K_InitTerrainPwad(wadNum); + } +} diff --git a/src/k_terrain.h b/src/k_terrain.h index 616f31468..b93531cb2 100644 --- a/src/k_terrain.h +++ b/src/k_terrain.h @@ -567,7 +567,7 @@ void K_UpdateTerrainOverlay(mobj_t *mo); /*-------------------------------------------------- - void K_InitTerrain(UINT16 wadNum); + void K_InitTerrainPwad(UINT16 wadNum); Finds the TERRAIN lumps in a WAD/PK3, and processes all of them. @@ -580,6 +580,14 @@ void K_UpdateTerrainOverlay(mobj_t *mo); terrainLoaded - Terrain was loaded --------------------------------------------------*/ -boolean K_InitTerrain(UINT16 wadNum); +boolean K_InitTerrainPwad(UINT16 wadNum); + +/*-------------------------------------------------- + void K_InitTerrain(void); + + Finds all TERRAIN lumps and processes them. +--------------------------------------------------*/ + +void K_InitTerrain(void); #endif // __K_TERRAIN_H__ diff --git a/src/p_setup.c b/src/p_setup.c index f133b68da..544c2aaaf 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -8489,7 +8489,7 @@ UINT16 P_PartialAddWadFile(const char *wadfilename) K_InitBrightmapsPwad(wadnum); // Reload TERRAIN - if (K_InitTerrain(wadnum)) + if (K_InitTerrainPwad(wadnum)) partadd_terrainloaded = true; // diff --git a/src/r_data.c b/src/r_data.c index 265c05863..9ac323814 100644 --- a/src/r_data.c +++ b/src/r_data.c @@ -14,6 +14,7 @@ #include "doomdef.h" #include "g_game.h" #include "i_video.h" +#include "k_terrain.h" #include "r_local.h" #include "r_sky.h" #include "p_local.h" @@ -1179,6 +1180,10 @@ void R_InitTextureData(void) CONS_Printf("K_InitBrightmaps()...\n"); K_InitBrightmaps(); + + CONS_Printf("K_InitTerrain()...\n"); + K_InitTerrain(); + } //