mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
M_DrawCupSelect: Updated visuals for Cup windata per difficulty
- New Rank icons
- Use Minimap-sized Emerald instead of Battle HUD
- Shows associated character you last updated (or matched) the position with
- Also removes the temporary printout display on G_LoadGameData.
This commit is contained in:
parent
956b3f985f
commit
4387ea2f71
2 changed files with 56 additions and 22 deletions
|
|
@ -5127,12 +5127,6 @@ void G_LoadGameData(void)
|
||||||
UINT32 _saveid = READUINT32(save.p);
|
UINT32 _saveid = READUINT32(save.p);
|
||||||
if (_saveid < numgamedataskins)
|
if (_saveid < numgamedataskins)
|
||||||
{
|
{
|
||||||
const char *charstr = NULL;
|
|
||||||
if (tempskinreferences[_saveid].unloaded)
|
|
||||||
charstr = tempskinreferences[_saveid].unloaded->name;
|
|
||||||
else
|
|
||||||
charstr = skins[tempskinreferences[_saveid].id].name;
|
|
||||||
CONS_Printf(" (TEMPORARY DISPLAY) Cup \"%s\" difficulty %u was completed by skin \"%s\"\n", cupname, j, charstr);
|
|
||||||
M_Memcpy(&dummywindata[j].best_skin, &tempskinreferences[_saveid], sizeof(dummywindata[j].best_skin));
|
M_Memcpy(&dummywindata[j].best_skin, &tempskinreferences[_saveid], sizeof(dummywindata[j].best_skin));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2298,7 +2298,6 @@ void M_DrawCupSelect(void)
|
||||||
INT16 icony = 7;
|
INT16 icony = 7;
|
||||||
char status = 'A';
|
char status = 'A';
|
||||||
char monitor;
|
char monitor;
|
||||||
INT32 rankx = 0;
|
|
||||||
|
|
||||||
if (!cupgrid.builtgrid[id])
|
if (!cupgrid.builtgrid[id])
|
||||||
break;
|
break;
|
||||||
|
|
@ -2353,7 +2352,6 @@ void M_DrawCupSelect(void)
|
||||||
if (monitor == '2')
|
if (monitor == '2')
|
||||||
{
|
{
|
||||||
icony = 5;
|
icony = 5;
|
||||||
rankx = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -2385,25 +2383,68 @@ void M_DrawCupSelect(void)
|
||||||
;
|
;
|
||||||
else if (windata->best_placement != 0)
|
else if (windata->best_placement != 0)
|
||||||
{
|
{
|
||||||
char gradeChar = '?';
|
const INT32 rankw = 14 + 12 + 12 + 2;
|
||||||
|
INT32 rankx = (x + 19) - (rankw / 2);
|
||||||
|
const INT32 ranky = 8 + (j*100) - (30*menutransition.tics);
|
||||||
|
|
||||||
|
patch_t *gradePat = NULL;
|
||||||
|
|
||||||
switch (windata->best_grade)
|
switch (windata->best_grade)
|
||||||
{
|
{
|
||||||
case GRADE_E: { gradeChar = 'E'; break; }
|
case GRADE_E:
|
||||||
case GRADE_D: { gradeChar = 'D'; break; }
|
gradePat = W_CachePatchName("R_CUPRNE", PU_CACHE);
|
||||||
case GRADE_C: { gradeChar = 'C'; break; }
|
break;
|
||||||
case GRADE_B: { gradeChar = 'B'; break; }
|
case GRADE_D:
|
||||||
case GRADE_A: { gradeChar = 'A'; break; }
|
gradePat = W_CachePatchName("R_CUPRND", PU_CACHE);
|
||||||
case GRADE_S: { gradeChar = 'S'; break; }
|
break;
|
||||||
default: { break; }
|
case GRADE_C:
|
||||||
|
gradePat = W_CachePatchName("R_CUPRNC", PU_CACHE);
|
||||||
|
break;
|
||||||
|
case GRADE_B:
|
||||||
|
gradePat = W_CachePatchName("R_CUPRNB", PU_CACHE);
|
||||||
|
break;
|
||||||
|
case GRADE_A:
|
||||||
|
gradePat = W_CachePatchName("R_CUPRNA", PU_CACHE);
|
||||||
|
break;
|
||||||
|
case GRADE_S:
|
||||||
|
gradePat = W_CachePatchName("R_CUPRNS", PU_CACHE);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawCharacter(x + 5 + rankx, y + icony + 14, gradeChar, false); // rank
|
if (gradePat)
|
||||||
|
V_DrawFixedPatch((rankx)*FRACUNIT, (ranky)*FRACUNIT, FRACUNIT, 0, gradePat, NULL);
|
||||||
|
|
||||||
|
rankx += 14 + 1;
|
||||||
|
|
||||||
|
patch_t *charPat = NULL;
|
||||||
|
|
||||||
|
if ((windata->best_skin.unloaded != NULL)
|
||||||
|
|| (windata->best_skin.id > numskins))
|
||||||
|
{
|
||||||
|
colormap = NULL;
|
||||||
|
|
||||||
|
charPat = W_CachePatchName("HUHMAP", PU_CACHE);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UINT8 skin = windata->best_skin.id;
|
||||||
|
|
||||||
|
colormap = R_GetTranslationColormap(skin, skins[skin].prefcolor, GTC_MENUCACHE);
|
||||||
|
|
||||||
|
charPat = faceprefix[skin][FACE_MINIMAP];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (charPat)
|
||||||
|
V_DrawFixedPatch((rankx)*FRACUNIT, (ranky)*FRACUNIT, FRACUNIT, 0, charPat, colormap);
|
||||||
|
|
||||||
if (windata->got_emerald == true)
|
if (windata->got_emerald == true)
|
||||||
{
|
{
|
||||||
|
rankx += 12 + 1;
|
||||||
|
|
||||||
if (templevelsearch.cup->emeraldnum == 0)
|
if (templevelsearch.cup->emeraldnum == 0)
|
||||||
V_DrawCharacter(x + 26 - rankx, y + icony + 14, '*', false); // rank
|
V_DrawCharacter(rankx+2, ranky+2, '+', false);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UINT16 col = SKINCOLOR_CHAOSEMERALD1 + (templevelsearch.cup->emeraldnum-1) % 7;
|
UINT16 col = SKINCOLOR_CHAOSEMERALD1 + (templevelsearch.cup->emeraldnum-1) % 7;
|
||||||
|
|
@ -2413,15 +2454,14 @@ void M_DrawCupSelect(void)
|
||||||
|
|
||||||
if (templevelsearch.cup->emeraldnum > 7)
|
if (templevelsearch.cup->emeraldnum > 7)
|
||||||
{
|
{
|
||||||
em = W_CachePatchName("K_SUPER1", PU_CACHE);
|
em = W_CachePatchName("SUPMAP", PU_CACHE);
|
||||||
rankx += 2;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
em = W_CachePatchName("K_EMERC", PU_CACHE);
|
em = W_CachePatchName("EMEMAP", PU_CACHE);
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawFixedPatch((x + 26 - rankx)*FRACUNIT, (y + icony + 13)*FRACUNIT, FRACUNIT, 0, em, colormap);
|
V_DrawFixedPatch((rankx)*FRACUNIT, (ranky)*FRACUNIT, FRACUNIT, 0, em, colormap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue