From d37b987acbc9636a4220573a5e78d8470fa9fa96 Mon Sep 17 00:00:00 2001 From: GenericHeroGuy Date: Wed, 25 Jun 2025 23:42:36 +0200 Subject: [PATCH] Remove W_CachePatchName, everything's safe Menu headerpics, menuitem patches and old-style map thumbnails/minimaps now support longnames --- src/f_finale.c | 2 +- src/k_hud.c | 4 ++-- src/m_menu.c | 20 ++++++++++---------- src/p_setup.c | 4 ++-- src/r_things.cpp | 2 +- src/w_wad.h | 1 - src/y_inter.c | 2 +- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/f_finale.c b/src/f_finale.c index 90d0a9863..8f844a5f6 100644 --- a/src/f_finale.c +++ b/src/f_finale.c @@ -768,7 +768,7 @@ void F_CreditDrawer(void) sc = FRACUNIT; // quick hack so I don't have to add another field to credits_pics } - V_DrawFixedPatch(credits_pics[i].x<collected) { - emblempic[curemb] = W_CachePatchName(M_GetEmblemPatch(emblem, false), PU_CACHE); + emblempic[curemb] = W_CachePatchLongName(M_GetEmblemPatch(emblem, false), PU_CACHE); emblemcol[curemb] = R_GetTranslationColormap(TC_DEFAULT, M_GetEmblemColor(emblem), GTC_CACHE); if (++curemb == 3) break; diff --git a/src/m_menu.c b/src/m_menu.c index fc0f53e52..4306a94ca 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2205,7 +2205,7 @@ static void M_DrawMapEmblems(INT32 mapnum, INT32 x, INT32 y) lasttype = curtype; if (emblem->collected) - V_DrawSmallMappedPatch(x, y, 0, W_CachePatchName(M_GetEmblemPatch(emblem, false), PU_CACHE), + V_DrawSmallMappedPatch(x, y, 0, W_CachePatchLongName(M_GetEmblemPatch(emblem, false), PU_CACHE), R_GetTranslationColormap(TC_DEFAULT, M_GetEmblemColor(emblem), GTC_MENUCACHE)); else V_DrawSmallScaledPatch(x, y, 0, W_CachePatchLongName("NEEDIT", PU_CACHE)); @@ -2219,7 +2219,7 @@ static void M_DrawMenuTitle(void) { if (currentMenu->headerpic) { - patch_t *p = W_CachePatchName(currentMenu->headerpic, PU_CACHE); + patch_t *p = W_CachePatchLongName(currentMenu->headerpic, PU_CACHE); if (p->height > 24) // title is larger than normal { @@ -2492,7 +2492,7 @@ static INT32 M_DrawMenuItem(menuitem_t *item, INT16 x, INT16 y, INT32 vflags, bo if (!item->patch) return 0; - p = W_CachePatchName(item->patch, PU_CACHE); + p = W_CachePatchLongName(item->patch, PU_CACHE); break; } } @@ -4286,14 +4286,14 @@ void MD_DrawPlaybackMenu(void) inactivemap = R_GetTranslationColormap(players[ply].skin, players[ply].skincolor, GTC_MENUCACHE); } else if (currentMenu->menuitems[i].patch && W_CheckNumForName(currentMenu->menuitems[i].patch) != LUMPERROR) - icon = W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE); + icon = W_CachePatchLongName(currentMenu->menuitems[i].patch, PU_CACHE); else icon = W_CachePatchLongName("PLAYRANK", PU_CACHE); // temp } else if (currentMenu->menuitems[i].status & IT_HIDDEN) continue; else if (currentMenu->menuitems[i].patch && W_CheckNumForName(currentMenu->menuitems[i].patch) != LUMPERROR) - icon = W_CachePatchName(currentMenu->menuitems[i].patch, PU_CACHE); + icon = W_CachePatchLongName(currentMenu->menuitems[i].patch, PU_CACHE); else icon = W_CachePatchLongName("PLAYRANK", PU_CACHE); // temp @@ -5305,7 +5305,7 @@ static void M_DrawStatsMaps(void) exemblem = &extraemblems[i]; if (exemblem->collected) - V_DrawSmallMappedPatch(295, y, 0, W_CachePatchName(M_GetExtraEmblemPatch(exemblem, false), PU_CACHE), + V_DrawSmallMappedPatch(295, y, 0, W_CachePatchLongName(M_GetExtraEmblemPatch(exemblem, false), PU_CACHE), R_GetTranslationColormap(TC_DEFAULT, M_GetExtraEmblemColor(exemblem), GTC_MENUCACHE)); else V_DrawSmallScaledPatch(295, y, 0, W_CachePatchLongName("NEEDIT", PU_CACHE)); @@ -7804,11 +7804,11 @@ void MD_DrawMonitorToggles(void) if (drawnum != 0) { V_DrawScaledPatch(x, y, 0, W_CachePatchLongName("K_ISMUL", PU_CACHE)); - V_DrawScaledPatch(x, y, translucent, W_CachePatchName(K_GetItemPatch(currentMenu->menuitems[thisitem].argument, true), PU_CACHE)); + V_DrawScaledPatch(x, y, translucent, W_CachePatchLongName(K_GetItemPatch(currentMenu->menuitems[thisitem].argument, true), PU_CACHE)); V_DrawString(x+24, y+31, V_ALLOWLOWERCASE|translucent, va("x%d", drawnum)); } else - V_DrawScaledPatch(x, y, translucent, W_CachePatchName(K_GetItemPatch(currentMenu->menuitems[thisitem].argument, true), PU_CACHE)); + V_DrawScaledPatch(x, y, translucent, W_CachePatchLongName(K_GetItemPatch(currentMenu->menuitems[thisitem].argument, true), PU_CACHE)); y += spacing; } @@ -7862,12 +7862,12 @@ void MD_DrawMonitorToggles(void) if (drawnum != 0) { V_DrawScaledPatch(onx-1, ony-2, 0, W_CachePatchLongName("K_ITMUL", PU_CACHE)); - V_DrawScaledPatch(onx-1, ony-2, translucent, W_CachePatchName(K_GetItemPatch(currentMenu->menuitems[itemOn].argument, false), PU_CACHE)); + V_DrawScaledPatch(onx-1, ony-2, translucent, W_CachePatchLongName(K_GetItemPatch(currentMenu->menuitems[itemOn].argument, false), PU_CACHE)); V_DrawScaledPatch(onx+27, ony+39, translucent, W_CachePatchLongName("K_ITX", PU_CACHE)); V_DrawKartString(onx+37, ony+34, translucent, va("%d", drawnum)); } else - V_DrawScaledPatch(onx-1, ony-2, translucent, W_CachePatchName(K_GetItemPatch(currentMenu->menuitems[itemOn].argument, false), PU_CACHE)); + V_DrawScaledPatch(onx-1, ony-2, translucent, W_CachePatchLongName(K_GetItemPatch(currentMenu->menuitems[itemOn].argument, false), PU_CACHE)); } } diff --git a/src/p_setup.c b/src/p_setup.c index c8842c0eb..5019878b6 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -9191,7 +9191,7 @@ UINT8 P_InitMapData(boolean existingmapheaders) // okay... try finding them the old-fashioned way else { - oldPic = W_CachePatchName(va("%sP", name), PU_STATIC); + oldPic = W_CachePatchLongName(va("%sP", name), PU_STATIC); if (oldPic != missingpat) mapheaderinfo[i]->thumbnailPic = oldPic; } @@ -9202,7 +9202,7 @@ UINT8 P_InitMapData(boolean existingmapheaders) } else { - oldPic = W_CachePatchName(va("%sR", name), PU_STATIC); + oldPic = W_CachePatchLongName(va("%sR", name), PU_STATIC); if (oldPic != missingpat) mapheaderinfo[i]->minimapPic = oldPic; } diff --git a/src/r_things.cpp b/src/r_things.cpp index d1420cb4a..d143350c6 100644 --- a/src/r_things.cpp +++ b/src/r_things.cpp @@ -1473,7 +1473,7 @@ static void R_ProjectDropShadow( if (shadowpatch == NULL) { - shadowpatch = static_cast(W_CachePatchName("DSHADOW", PU_SPRITE)); + shadowpatch = static_cast(W_CachePatchLongName("DSHADOW", PU_SPRITE)); } patch = shadowpatch; diff --git a/src/w_wad.h b/src/w_wad.h index 2f26147cf..cdac87884 100644 --- a/src/w_wad.h +++ b/src/w_wad.h @@ -185,7 +185,6 @@ boolean W_IsPatchCached(lumpnum_t lump, void *ptr); boolean W_NeedPaletteRemapPwad(UINT16 wad, UINT16 lump, boolean ignorecache); boolean W_NeedPaletteRemap(lumpnum_t lump, boolean ignorecache); -#define W_CachePatchName(name, tag) W_CachePatchLongName(W_ShortName(name), tag) void *W_CachePatchLongName(const char *name, INT32 tag); // Returns either a Software patch, or an OpenGL patch. diff --git a/src/y_inter.c b/src/y_inter.c index e36f94a58..c8daa11bc 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -1154,7 +1154,7 @@ static inline void Y_DrawAnimatedVoteScreenPatch(boolean widePatch) currentAnimFrame = 0; } - patch_t *background = W_CachePatchName(va("%s%d", tempAnimPrefix, currentAnimFrame + 1), PU_CACHE); + patch_t *background = W_CachePatchLongName(va("%s%d", tempAnimPrefix, currentAnimFrame + 1), PU_CACHE); V_DrawScaledPatch(((vid.width/2) / vid.dupx) - (SHORT(background->width)/2), // Keep the width/height adjustments, for screens that are less wide than 320(?) (vid.height / vid.dupy) - SHORT(background->height), V_SNAPTOTOP|V_SNAPTOLEFT, background);