From 9e50fea2dc13dd7620aff7bea84f4f3392e7bb49 Mon Sep 17 00:00:00 2001 From: toaster Date: Tue, 30 May 2023 13:30:22 +0100 Subject: [PATCH] Now that Super Emerald minimap graphics are in the game, use them on the Sealed Star progression bar. --- src/k_hud.c | 11 ++++++++--- src/objects/ufo.c | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/k_hud.c b/src/k_hud.c index 0ce3ccbda..995877f8d 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -81,7 +81,7 @@ static patch_t *kp_nocontestminimap; static patch_t *kp_spbminimap; static patch_t *kp_wouldyoustillcatchmeifiwereaworm; static patch_t *kp_catcherminimap; -static patch_t *kp_emeraldminimap; +static patch_t *kp_emeraldminimap[2]; static patch_t *kp_capsuleminimap[3]; static patch_t *kp_ringsticker[2]; @@ -358,7 +358,8 @@ void K_LoadKartHUDGraphics(void) HU_UpdatePatch(&kp_wouldyoustillcatchmeifiwereaworm, "MINIPROG"); HU_UpdatePatch(&kp_catcherminimap, "UFOMAP"); - HU_UpdatePatch(&kp_emeraldminimap, "EMEMAP"); + HU_UpdatePatch(&kp_emeraldminimap[0], "EMEMAP"); + HU_UpdatePatch(&kp_emeraldminimap[1], "SUPMAP"); HU_UpdatePatch(&kp_capsuleminimap[0], "MINICAP1"); HU_UpdatePatch(&kp_capsuleminimap[1], "MINICAP2"); @@ -3880,7 +3881,11 @@ static void K_drawKartMinimap(void) } else { - workingPic = kp_emeraldminimap; + UINT8 emid = 0; + if (specialstageinfo.ufo->cvmem > 7) + emid = 1; + workingPic = kp_emeraldminimap[emid]; + if (specialstageinfo.ufo->color) { colormap = R_GetTranslationColormap(TC_DEFAULT, specialstageinfo.ufo->color, GTC_CACHE); diff --git a/src/objects/ufo.c b/src/objects/ufo.c index 7a4cf56c0..dacce52e6 100644 --- a/src/objects/ufo.c +++ b/src/objects/ufo.c @@ -38,6 +38,7 @@ #define UFO_NUMARMS (3) #define UFO_ARMDELTA (ANGLE_MAX / UFO_NUMARMS) +#define ufo_emeraldnum(o) ((o)->cvmem) #define ufo_waypoint(o) ((o)->extravalue1) #define ufo_distancetofinish(o) ((o)->extravalue2) #define ufo_speed(o) ((o)->watertop) @@ -1005,7 +1006,7 @@ static mobj_t *InitSpecialUFO(waypoint_t *start) overlay = P_SpawnMobjFromMobj(ufo, 0, 0, 0, MT_OVERLAY); ufo->color = SKINCOLOR_CHAOSEMERALD1; - i = P_GetNextEmerald(); + i = ufo_emeraldnum(ufo) = P_GetNextEmerald(); if (i > 0) { ufo->color += (i - 1) % 7;