From cf8a77cfd6151420bad68346635620ecd4a6a3df Mon Sep 17 00:00:00 2001 From: TehRealSalt Date: Sat, 5 Oct 2019 23:11:31 -0400 Subject: [PATCH] Cup icon drawing --- src/dehacked.c | 5 ++++- src/k_menudraw.c | 36 ++++++++++++++++++++++++++++++++++-- src/k_menufunc.c | 1 - 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/dehacked.c b/src/dehacked.c index 1e7bf402d..2d88733df 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -1481,7 +1481,10 @@ static void readcupheader(MYFILE *f, cupheader_t *cup) } else if (fastcmp(word, "EMERALDNUM")) { - cup->emeraldnum = (INT16)i; + if (i >= 0 && i <= 14) + cup->emeraldnum = (UINT8)i; + else + deh_warning("%s Cup: invalid emerald number %d", cup->name, i); } else deh_warning("%s Cup: unknown word '%s'", cup->name, word); diff --git a/src/k_menudraw.c b/src/k_menudraw.c index eed27ad28..463c07c94 100644 --- a/src/k_menudraw.c +++ b/src/k_menudraw.c @@ -912,12 +912,44 @@ void M_DrawCupSelect(void) { for (j = 0; j < CUPS_ROWS; j++) { - V_DrawFill(14 + (i*42), 22 + (j*40) - (15*menutransition.tics), 39, 38, 31); + UINT8 id = (i + (j * CUPS_COLUMNS)); + cupheader_t *iconcup = kartcupheaders; + patch_t *patch = NULL; + INT16 x, y; + INT16 icony = 7; + + while (iconcup) + { + if (iconcup->id == id) + break; + iconcup = iconcup->next; + } + + if (!iconcup) + break; + + /*if (iconcup->emeraldnum == 0) + patch = W_CachePatchName("CUPMON3A", PU_CACHE); + else*/ if (iconcup->emeraldnum > 7) + { + patch = W_CachePatchName("CUPMON2A", PU_CACHE); + icony = 5; + } + else + patch = W_CachePatchName("CUPMON1A", PU_CACHE); + + x = 14 + (i*42); + y = 20 + (j*44) - (15*menutransition.tics); + + V_DrawScaledPatch(x, y, 0, patch); + + V_DrawScaledPatch(x + 8, y + icony, 0, W_CachePatchName(iconcup->icon, PU_CACHE)); + V_DrawScaledPatch(x + 8, y + icony, 0, W_CachePatchName("CUPBOX", PU_CACHE)); } } V_DrawScaledPatch(14 + (levellist_cupgrid.x*42) - 4, - 22 + (levellist_cupgrid.y*40) - 4 - (12*menutransition.tics), + 20 + (levellist_cupgrid.y*44) - 1 - (12*menutransition.tics), 0, W_CachePatchName("CUPCURS", PU_CACHE) ); diff --git a/src/k_menufunc.c b/src/k_menufunc.c index e3f1d0fa9..f156d6ac7 100644 --- a/src/k_menufunc.c +++ b/src/k_menufunc.c @@ -2150,7 +2150,6 @@ void M_CupSelectHandler(INT32 choice) while (newcup) { - CONS_Printf("%d == %d?\n", newcup->id, CUPID); if (newcup->id == CUPID) break; newcup = newcup->next;