From 601b39378dfe8471e252b59b68337d61d9037589 Mon Sep 17 00:00:00 2001 From: toaster Date: Sat, 6 Jan 2024 23:17:45 +0000 Subject: [PATCH] Precache static level graphics --- src/hu_stuff.c | 6 ++++++ src/k_menudraw.c | 2 +- src/r_defs.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 427a0b8c4..8803d3252 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -97,6 +97,7 @@ static char hu_tick; patch_t *missingpat; patch_t *blanklvl, *nolvl; +patch_t *unvisitedlvl[4]; // song credits static patch_t *songcreditbg; @@ -196,6 +197,11 @@ void HU_LoadGraphics(void) HU_UpdatePatch(&blanklvl, "BLANKLVL"); HU_UpdatePatch(&nolvl, "M_NOLVL"); + for (i = 0; i < 4; i++) + { + HU_UpdatePatch(&unvisitedlvl[i], "PREVST0%d", i+1); + } + HU_UpdatePatch(&songcreditbg, "K_SONGCR"); // cache ping gfx: diff --git a/src/k_menudraw.c b/src/k_menudraw.c index edba3b6c2..96b0b4f98 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -2724,9 +2724,9 @@ static void M_DrawCupPreview(INT16 y, levelsearch_t *levelsearch) } else { - patch_t *st = W_CachePatchName(va("PREVST0%d", (cupgrid.previewanim % 4) + 1), PU_CACHE); while (x < BASEVIDWIDTH * FRACUNIT) { + patch_t *st = unvisitedlvl[cupgrid.previewanim % 4]; V_DrawFixedPatch(x + FRACUNIT, (y+2) * FRACUNIT, FRACUNIT, 0, st, NULL); x += step; } diff --git a/src/r_defs.h b/src/r_defs.h index 33933bed4..4a05ad7bb 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -900,6 +900,7 @@ struct patch_t extern patch_t *missingpat; extern patch_t *blanklvl, *nolvl; +extern patch_t *unvisitedlvl[4]; #if defined(_MSC_VER) #pragma pack(1)