That's it for me. No new features, no major sprite replacements. Maybe bugfixing stuff like this I did while half-asleep just in case it turns out I missed a test case.
* Oni's new 1x Bumpers and Out-Of-Bumpers competition-style 'X'! * Modify alignment for `GOTITx` emblem drawing to match new Chaos Coin sprites. * Adjust m_cond.c list to use new Chaos Coin Emblem sprite slots.
This commit is contained in:
parent
aea453f6f2
commit
659e6fa617
|
@ -2268,92 +2268,8 @@ void HU_drawPing(INT32 x, INT32 y, INT32 ping, boolean notext)
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// HU_DrawTabRankings
|
// HU_DrawTabRankings -- moved to k_kart.c
|
||||||
//
|
//
|
||||||
void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, INT32 whiteplayer, INT32 hilicol)
|
|
||||||
{
|
|
||||||
INT32 i, rightoffset = 240;
|
|
||||||
const UINT8 *colormap;
|
|
||||||
INT32 dupadjust = (vid.width/vid.dupx), duptweak = (dupadjust - BASEVIDWIDTH)/2;
|
|
||||||
|
|
||||||
//this function is designed for 9 or less score lines only
|
|
||||||
//I_Assert(scorelines <= 9); -- not today bitch, kart fixed it up
|
|
||||||
|
|
||||||
V_DrawFill(1-duptweak, 26, dupadjust-2, 1, 0); // Draw a horizontal line because it looks nice!
|
|
||||||
if (scorelines > 8)
|
|
||||||
{
|
|
||||||
V_DrawFill(160, 26, 1, 147, 0); // Draw a vertical line to separate the two sides.
|
|
||||||
V_DrawFill(1-duptweak, 173, dupadjust-2, 1, 0); // And a horizontal line near the bottom.
|
|
||||||
rightoffset = (BASEVIDWIDTH/2) - 4 - x;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < scorelines; i++)
|
|
||||||
{
|
|
||||||
char strtime[MAXPLAYERNAME+1];
|
|
||||||
|
|
||||||
if (players[tab[i].num].spectator || !players[tab[i].num].mo)
|
|
||||||
continue; //ignore them.
|
|
||||||
|
|
||||||
if (netgame // don't draw it offline
|
|
||||||
&& tab[i].num != serverplayer)
|
|
||||||
HU_drawPing(x + ((i < 8) ? -19 : rightoffset + 13), y+2, playerpingtable[tab[i].num], false);
|
|
||||||
|
|
||||||
if (scorelines > 8)
|
|
||||||
strlcpy(strtime, tab[i].name, 6);
|
|
||||||
else
|
|
||||||
STRBUFCPY(strtime, tab[i].name);
|
|
||||||
|
|
||||||
V_DrawString(x + 20, y,
|
|
||||||
((tab[i].num == whiteplayer)
|
|
||||||
? hilicol|V_ALLOWLOWERCASE
|
|
||||||
: V_ALLOWLOWERCASE),
|
|
||||||
strtime);
|
|
||||||
|
|
||||||
if (players[tab[i].num].mo->color)
|
|
||||||
{
|
|
||||||
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
|
||||||
if (players[tab[i].num].mo->colorized)
|
|
||||||
colormap = R_GetTranslationColormap(TC_RAINBOW, players[tab[i].num].mo->color, GTC_CACHE);
|
|
||||||
else
|
|
||||||
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
|
||||||
|
|
||||||
V_DrawMappedPatch(x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap);
|
|
||||||
/*if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] > 0) -- doesn't physically fit...
|
|
||||||
{
|
|
||||||
INT32 bumperx = x-5;
|
|
||||||
for (j = 0; j < players[tab[i].num].kartstuff[k_bumper]; j++)
|
|
||||||
{
|
|
||||||
bumperx -= 3;
|
|
||||||
V_DrawSmallMappedPatch(bumperx, y+6, 0, W_CachePatchName("K_BLNICO", PU_CACHE), colormap);
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] <= 0)
|
|
||||||
V_DrawSmallScaledPatch(x-2, y-4, 0, W_CachePatchName("K_NOBLNS", PU_CACHE));
|
|
||||||
|
|
||||||
if (G_RaceGametype())
|
|
||||||
{
|
|
||||||
#define timestring(time) va("%i'%02i\"%02i", G_TicsToMinutes(time, true), G_TicsToSeconds(time), G_TicsToCentiseconds(time))
|
|
||||||
if (players[tab[i].num].exiting)
|
|
||||||
V_DrawRightAlignedString(x+rightoffset, y, hilicol, timestring(players[tab[i].num].realtime));
|
|
||||||
else if (players[tab[i].num].pflags & PF_TIMEOVER)
|
|
||||||
V_DrawRightAlignedThinString(x+rightoffset, y-1, 0, "NO CONTEST.");
|
|
||||||
else if (circuitmap)
|
|
||||||
V_DrawRightAlignedString(x+rightoffset, y, 0, va("Lap %d", tab[i].count));
|
|
||||||
#undef timestring
|
|
||||||
}
|
|
||||||
else
|
|
||||||
V_DrawRightAlignedString(x+rightoffset, y, 0, va("%u", tab[i].count));
|
|
||||||
|
|
||||||
y += 18;
|
|
||||||
if (i == 7)
|
|
||||||
{
|
|
||||||
y = 33;
|
|
||||||
x = (BASEVIDWIDTH/2) + 4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// HU_DrawTeamTabRankings
|
// HU_DrawTeamTabRankings
|
||||||
|
|
115
src/k_kart.c
115
src/k_kart.c
|
@ -5528,6 +5528,7 @@ static patch_t *kp_winnernum[NUMPOSFRAMES];
|
||||||
static patch_t *kp_facenum[MAXPLAYERS+1];
|
static patch_t *kp_facenum[MAXPLAYERS+1];
|
||||||
|
|
||||||
static patch_t *kp_rankbumper;
|
static patch_t *kp_rankbumper;
|
||||||
|
static patch_t *kp_tinybumpera, *kp_tinybumperb;
|
||||||
static patch_t *kp_ranknobumpers;
|
static patch_t *kp_ranknobumpers;
|
||||||
|
|
||||||
static patch_t *kp_battlewin;
|
static patch_t *kp_battlewin;
|
||||||
|
@ -5653,6 +5654,8 @@ void K_LoadKartHUDGraphics(void)
|
||||||
|
|
||||||
// Extra ranking icons
|
// Extra ranking icons
|
||||||
kp_rankbumper = W_CachePatchName("K_BLNICO", PU_HUDGFX);
|
kp_rankbumper = W_CachePatchName("K_BLNICO", PU_HUDGFX);
|
||||||
|
kp_tinybumpera = W_CachePatchName("K_BLNA", PU_HUDGFX);
|
||||||
|
kp_tinybumperb = W_CachePatchName("K_BLNB", PU_HUDGFX);
|
||||||
kp_ranknobumpers = W_CachePatchName("K_NOBLNS", PU_HUDGFX);
|
kp_ranknobumpers = W_CachePatchName("K_NOBLNS", PU_HUDGFX);
|
||||||
|
|
||||||
// Battle graphics
|
// Battle graphics
|
||||||
|
@ -6311,7 +6314,7 @@ void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT16 emblemmap, bo
|
||||||
}
|
}
|
||||||
|
|
||||||
V_DrawRightAlignedString(workx, worky, splitflags, targettext);
|
V_DrawRightAlignedString(workx, worky, splitflags, targettext);
|
||||||
workx -= 72; //69; -- good night sweet prince
|
workx -= 67;
|
||||||
V_DrawSmallScaledPatch(workx + 4, worky, splitflags, W_CachePatchName("NEEDIT", PU_CACHE));
|
V_DrawSmallScaledPatch(workx + 4, worky, splitflags, W_CachePatchName("NEEDIT", PU_CACHE));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -6324,7 +6327,7 @@ void K_drawKartTimestamp(tic_t drawtime, INT32 TX, INT32 TY, INT16 emblemmap, bo
|
||||||
splitflags = (splitflags &~ V_HUDTRANSHALF)|V_HUDTRANS;
|
splitflags = (splitflags &~ V_HUDTRANSHALF)|V_HUDTRANS;
|
||||||
while (curemb--)
|
while (curemb--)
|
||||||
{
|
{
|
||||||
workx -= 16;
|
workx -= 12;
|
||||||
V_DrawSmallMappedPatch(workx + 4, worky, splitflags, emblempic[curemb], emblemcol[curemb]);
|
V_DrawSmallMappedPatch(workx + 4, worky, splitflags, emblempic[curemb], emblemcol[curemb]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6482,7 +6485,7 @@ static boolean K_drawKartPositionFaces(void)
|
||||||
if (players[rankplayer[i]].spectator) continue;
|
if (players[rankplayer[i]].spectator) continue;
|
||||||
if (!players[rankplayer[i]].mo) continue;
|
if (!players[rankplayer[i]].mo) continue;
|
||||||
|
|
||||||
bumperx = FACE_X+18;
|
bumperx = FACE_X+19;
|
||||||
|
|
||||||
if (players[rankplayer[i]].mo->color)
|
if (players[rankplayer[i]].mo->color)
|
||||||
{
|
{
|
||||||
|
@ -6495,16 +6498,17 @@ static boolean K_drawKartPositionFaces(void)
|
||||||
V_DrawMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, facerankprefix[players[rankplayer[i]].skin], colormap);
|
V_DrawMappedPatch(FACE_X, Y, V_HUDTRANS|V_SNAPTOLEFT, facerankprefix[players[rankplayer[i]].skin], colormap);
|
||||||
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
|
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] > 0)
|
||||||
{
|
{
|
||||||
for (j = 0; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
|
V_DrawMappedPatch(bumperx-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_tinybumpera, colormap);
|
||||||
|
for (j = 1; j < players[rankplayer[i]].kartstuff[k_bumper]; j++)
|
||||||
{
|
{
|
||||||
V_DrawSmallMappedPatch(bumperx, Y+10, V_HUDTRANS|V_SNAPTOLEFT, kp_rankbumper, colormap);
|
bumperx += 5;
|
||||||
bumperx += 3;
|
V_DrawMappedPatch(bumperx, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_tinybumperb, colormap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] <= 0)
|
if (G_BattleGametype() && players[rankplayer[i]].kartstuff[k_bumper] <= 0)
|
||||||
V_DrawSmallScaledPatch(FACE_X-2, Y, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknobumpers);
|
V_DrawScaledPatch(FACE_X-4, Y-3, V_HUDTRANS|V_SNAPTOLEFT, kp_ranknobumpers);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
INT32 pos = players[rankplayer[i]].kartstuff[k_position];
|
INT32 pos = players[rankplayer[i]].kartstuff[k_position];
|
||||||
|
@ -6520,6 +6524,103 @@ static boolean K_drawKartPositionFaces(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// HU_DrawTabRankings -- moved here to take advantage of kart stuff!
|
||||||
|
//
|
||||||
|
void HU_DrawTabRankings(INT32 x, INT32 y, playersort_t *tab, INT32 scorelines, INT32 whiteplayer, INT32 hilicol)
|
||||||
|
{
|
||||||
|
INT32 i, rightoffset = 240;
|
||||||
|
const UINT8 *colormap;
|
||||||
|
INT32 dupadjust = (vid.width/vid.dupx), duptweak = (dupadjust - BASEVIDWIDTH)/2;
|
||||||
|
|
||||||
|
//this function is designed for 9 or less score lines only
|
||||||
|
//I_Assert(scorelines <= 9); -- not today bitch, kart fixed it up
|
||||||
|
|
||||||
|
V_DrawFill(1-duptweak, 26, dupadjust-2, 1, 0); // Draw a horizontal line because it looks nice!
|
||||||
|
if (scorelines > 8)
|
||||||
|
{
|
||||||
|
V_DrawFill(160, 26, 1, 147, 0); // Draw a vertical line to separate the two sides.
|
||||||
|
V_DrawFill(1-duptweak, 173, dupadjust-2, 1, 0); // And a horizontal line near the bottom.
|
||||||
|
rightoffset = (BASEVIDWIDTH/2) - 4 - x;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < scorelines; i++)
|
||||||
|
{
|
||||||
|
char strtime[MAXPLAYERNAME+1];
|
||||||
|
|
||||||
|
if (players[tab[i].num].spectator || !players[tab[i].num].mo)
|
||||||
|
continue; //ignore them.
|
||||||
|
|
||||||
|
if (netgame // don't draw it offline
|
||||||
|
&& tab[i].num != serverplayer)
|
||||||
|
HU_drawPing(x + ((i < 8) ? -19 : rightoffset + 13), y+2, playerpingtable[tab[i].num], false);
|
||||||
|
|
||||||
|
if (scorelines > 8)
|
||||||
|
strlcpy(strtime, tab[i].name, 6);
|
||||||
|
else
|
||||||
|
STRBUFCPY(strtime, tab[i].name);
|
||||||
|
|
||||||
|
V_DrawString(x + 20, y,
|
||||||
|
((tab[i].num == whiteplayer)
|
||||||
|
? hilicol|V_ALLOWLOWERCASE
|
||||||
|
: V_ALLOWLOWERCASE),
|
||||||
|
strtime);
|
||||||
|
|
||||||
|
if (players[tab[i].num].mo->color)
|
||||||
|
{
|
||||||
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
||||||
|
if (players[tab[i].num].mo->colorized)
|
||||||
|
colormap = R_GetTranslationColormap(TC_RAINBOW, players[tab[i].num].mo->color, GTC_CACHE);
|
||||||
|
else
|
||||||
|
colormap = R_GetTranslationColormap(players[tab[i].num].skin, players[tab[i].num].mo->color, GTC_CACHE);
|
||||||
|
|
||||||
|
V_DrawMappedPatch(x, y-4, 0, facerankprefix[players[tab[i].num].skin], colormap);
|
||||||
|
/*if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] > 0) -- not enough space for this
|
||||||
|
{
|
||||||
|
INT32 bumperx = x+19;
|
||||||
|
V_DrawMappedPatch(bumperx-2, y-4, 0, kp_tinybumpera, colormap);
|
||||||
|
for (j = 1; j < players[tab[i].num].kartstuff[k_bumper]; j++)
|
||||||
|
{
|
||||||
|
bumperx += 5;
|
||||||
|
V_DrawMappedPatch(bumperx, y-4, 0, kp_tinybumperb, colormap);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
}
|
||||||
|
|
||||||
|
if (G_BattleGametype() && players[tab[i].num].kartstuff[k_bumper] <= 0)
|
||||||
|
V_DrawScaledPatch(x-4, y-7, 0, kp_ranknobumpers);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
INT32 pos = players[tab[i].num].kartstuff[k_position];
|
||||||
|
if (pos < 0 || pos > MAXPLAYERS)
|
||||||
|
pos = 0;
|
||||||
|
// Draws the little number over the face
|
||||||
|
V_DrawScaledPatch(x-5, y+6, 0, kp_facenum[pos]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (G_RaceGametype())
|
||||||
|
{
|
||||||
|
#define timestring(time) va("%i'%02i\"%02i", G_TicsToMinutes(time, true), G_TicsToSeconds(time), G_TicsToCentiseconds(time))
|
||||||
|
if (players[tab[i].num].exiting)
|
||||||
|
V_DrawRightAlignedString(x+rightoffset, y, hilicol, timestring(players[tab[i].num].realtime));
|
||||||
|
else if (players[tab[i].num].pflags & PF_TIMEOVER)
|
||||||
|
V_DrawRightAlignedThinString(x+rightoffset, y-1, 0, "NO CONTEST.");
|
||||||
|
else if (circuitmap)
|
||||||
|
V_DrawRightAlignedString(x+rightoffset, y, 0, va("Lap %d", tab[i].count));
|
||||||
|
#undef timestring
|
||||||
|
}
|
||||||
|
else
|
||||||
|
V_DrawRightAlignedString(x+rightoffset, y, 0, va("%u", tab[i].count));
|
||||||
|
|
||||||
|
y += 18;
|
||||||
|
if (i == 7)
|
||||||
|
{
|
||||||
|
y = 33;
|
||||||
|
x = (BASEVIDWIDTH/2) + 4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void K_drawKartLaps(void)
|
static void K_drawKartLaps(void)
|
||||||
{
|
{
|
||||||
INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT);
|
INT32 splitflags = K_calcSplitFlags(V_SNAPTOBOTTOM|V_SNAPTOLEFT);
|
||||||
|
|
104
src/m_cond.c
104
src/m_cond.c
|
@ -33,64 +33,64 @@ conditionset_t conditionSets[MAXCONDITIONSETS];
|
||||||
emblem_t emblemlocations[MAXEMBLEMS] =
|
emblem_t emblemlocations[MAXEMBLEMS] =
|
||||||
{
|
{
|
||||||
// SILVER TIME TROPHIES
|
// SILVER TIME TROPHIES
|
||||||
{ET_TIME, 0,0,0, 1, 'T', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // Green Hills Zone - Time: 1:30
|
{ET_TIME, 0,0,0, 1, 'B', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // Green Hills Zone - Time: 1:30
|
||||||
{ET_TIME, 0,0,0, 2, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Pipe Speedway Zone - Time: 1:50
|
{ET_TIME, 0,0,0, 2, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Pipe Speedway Zone - Time: 1:50
|
||||||
{ET_TIME, 0,0,0, 3, 'T', SKINCOLOR_GREY, 135*TICRATE, "", 0}, // Dark Race - 2:15
|
{ET_TIME, 0,0,0, 3, 'B', SKINCOLOR_GREY, 135*TICRATE, "", 0}, // Dark Race - 2:15
|
||||||
{ET_TIME, 0,0,0, 4, 'T', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Darkvile Garden Zone - 1:45
|
{ET_TIME, 0,0,0, 4, 'B', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Darkvile Garden Zone - 1:45
|
||||||
{ET_TIME, 0,0,0, 5, 'T', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Northern District Zone - 2:20
|
{ET_TIME, 0,0,0, 5, 'B', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Northern District Zone - 2:20
|
||||||
{ET_TIME, 0,0,0, 6, 'T', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Sonic Speedway Zone - 2:00
|
{ET_TIME, 0,0,0, 6, 'B', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Sonic Speedway Zone - 2:00
|
||||||
{ET_TIME, 0,0,0, 7, 'T', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Egg Zeppelin Zone - 2:00
|
{ET_TIME, 0,0,0, 7, 'B', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Egg Zeppelin Zone - 2:00
|
||||||
{ET_TIME, 0,0,0, 8, 'T', SKINCOLOR_GREY, 95*TICRATE, "", 0}, // Hill Top Zone - 1:35
|
{ET_TIME, 0,0,0, 8, 'B', SKINCOLOR_GREY, 95*TICRATE, "", 0}, // Hill Top Zone - 1:35
|
||||||
{ET_TIME, 0,0,0, 9, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Sunbeam Paradise Zone - 1:50
|
{ET_TIME, 0,0,0, 9, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Sunbeam Paradise Zone - 1:50
|
||||||
{ET_TIME, 0,0,0, 10, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Diamond Square Zone - 1:50
|
{ET_TIME, 0,0,0, 10, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Diamond Square Zone - 1:50
|
||||||
{ET_TIME, 0,0,0, 11, 'T', SKINCOLOR_GREY, 150*TICRATE, "", 0}, // Misty Maze Zone - 2:30
|
{ET_TIME, 0,0,0, 11, 'B', SKINCOLOR_GREY, 150*TICRATE, "", 0}, // Misty Maze Zone - 2:30
|
||||||
{ET_TIME, 0,0,0, 12, 'T', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Midnight Meadow Zone - 2:00
|
{ET_TIME, 0,0,0, 12, 'B', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Midnight Meadow Zone - 2:00
|
||||||
{ET_TIME, 0,0,0, 13, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Megablock Castle Zone - 2:10
|
{ET_TIME, 0,0,0, 13, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Megablock Castle Zone - 2:10
|
||||||
{ET_TIME, 0,0,0, 14, 'T', SKINCOLOR_GREY, 150*TICRATE, "", 0}, // Sub-Zero Peak Zone - 2:30
|
{ET_TIME, 0,0,0, 14, 'B', SKINCOLOR_GREY, 150*TICRATE, "", 0}, // Sub-Zero Peak Zone - 2:30
|
||||||
{ET_TIME, 0,0,0, 15, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Sapphire Coast Zone - 1:50
|
{ET_TIME, 0,0,0, 15, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Sapphire Coast Zone - 1:50
|
||||||
{ET_TIME, 0,0,0, 16, 'T', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Silvercloud Island Zone - 2:20
|
{ET_TIME, 0,0,0, 16, 'B', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Silvercloud Island Zone - 2:20
|
||||||
{ET_TIME, 0,0,0, 17, 'T', SKINCOLOR_GREY, 135*TICRATE, "", 0}, // Petroleum Refinery Zone - 2:15
|
{ET_TIME, 0,0,0, 17, 'B', SKINCOLOR_GREY, 135*TICRATE, "", 0}, // Petroleum Refinery Zone - 2:15
|
||||||
{ET_TIME, 0,0,0, 18, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Canyon Rush Zone - 2:10
|
{ET_TIME, 0,0,0, 18, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Canyon Rush Zone - 2:10
|
||||||
{ET_TIME, 0,0,0, 19, 'T', SKINCOLOR_GREY, 160*TICRATE, "", 0}, // Blue Mountain Zone - 2:40
|
{ET_TIME, 0,0,0, 19, 'B', SKINCOLOR_GREY, 160*TICRATE, "", 0}, // Blue Mountain Zone - 2:40
|
||||||
{ET_TIME, 0,0,0, 20, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Casino Resort Zone - 1:50
|
{ET_TIME, 0,0,0, 20, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Casino Resort Zone - 1:50
|
||||||
{ET_TIME, 0,0,0, 21, 'T', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Desert Palace Zone - 1:45
|
{ET_TIME, 0,0,0, 21, 'B', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Desert Palace Zone - 1:45
|
||||||
{ET_TIME, 0,0,0, 22, 'T', SKINCOLOR_GREY, 165*TICRATE, "", 0}, // Red Barrage Area - 2:45
|
{ET_TIME, 0,0,0, 22, 'B', SKINCOLOR_GREY, 165*TICRATE, "", 0}, // Red Barrage Area - 2:45
|
||||||
{ET_TIME, 0,0,0, 23, 'T', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Vanilla Hotel Zone - 1:45
|
{ET_TIME, 0,0,0, 23, 'B', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // Vanilla Hotel Zone - 1:45
|
||||||
{ET_TIME, 0,0,0, 24, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Twinkle Cart - 1:50
|
{ET_TIME, 0,0,0, 24, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Twinkle Cart - 1:50
|
||||||
{ET_TIME, 0,0,0, 25, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Pleasure Castle - 1:50
|
{ET_TIME, 0,0,0, 25, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Pleasure Castle - 1:50
|
||||||
{ET_TIME, 0,0,0, 26, 'T', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Aurora Atoll Zone - 2:20
|
{ET_TIME, 0,0,0, 26, 'B', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Aurora Atoll Zone - 2:20
|
||||||
{ET_TIME, 0,0,0, 27, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Barren Badlands Zone - 2:10
|
{ET_TIME, 0,0,0, 27, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Barren Badlands Zone - 2:10
|
||||||
{ET_TIME, 0,0,0, 28, 'T', SKINCOLOR_GREY, 155*TICRATE, "", 0}, // Toxic Palace Zone - 2:35
|
{ET_TIME, 0,0,0, 28, 'B', SKINCOLOR_GREY, 155*TICRATE, "", 0}, // Toxic Palace Zone - 2:35
|
||||||
{ET_TIME, 0,0,0, 29, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Ancient Tomb Zone - 2:10
|
{ET_TIME, 0,0,0, 29, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // Ancient Tomb Zone - 2:10
|
||||||
{ET_TIME, 0,0,0, 30, 'T', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Cloud Cradle Zone K - 2:00
|
{ET_TIME, 0,0,0, 30, 'B', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Cloud Cradle Zone K - 2:00
|
||||||
{ET_TIME, 0,0,0, 31, 'T', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Kodachrome Void Zone - 1:50
|
{ET_TIME, 0,0,0, 31, 'B', SKINCOLOR_GREY, 110*TICRATE, "", 0}, // Kodachrome Void Zone - 1:50
|
||||||
{ET_TIME, 0,0,0, 32, 'T', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Egg Quarters - 2:20
|
{ET_TIME, 0,0,0, 32, 'B', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Egg Quarters - 2:20
|
||||||
{ET_TIME, 0,0,0, 33, 'T', SKINCOLOR_GREY, 115*TICRATE, "", 0}, // Boiling Bedrock Zone - 1:55
|
{ET_TIME, 0,0,0, 33, 'B', SKINCOLOR_GREY, 115*TICRATE, "", 0}, // Boiling Bedrock Zone - 1:55
|
||||||
{ET_TIME, 0,0,0, 34, 'T', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Virtual Highway Zone - 2:20
|
{ET_TIME, 0,0,0, 34, 'B', SKINCOLOR_GREY, 140*TICRATE, "", 0}, // Virtual Highway Zone - 2:20
|
||||||
{ET_TIME, 0,0,0, 35, 'T', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Eggman's Nightclub Zone - 2:00
|
{ET_TIME, 0,0,0, 35, 'B', SKINCOLOR_GREY, 120*TICRATE, "", 0}, // Eggman's Nightclub Zone - 2:00
|
||||||
{ET_TIME, 0,0,0, 36, 'T', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // KKR Ganbare Dochu 2 - 1:30
|
{ET_TIME, 0,0,0, 36, 'B', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // KKR Ganbare Dochu 2 - 1:30
|
||||||
{ET_TIME, 0,0,0, 37, 'T', SKINCOLOR_GREY, 80*TICRATE, "", 0}, // CK Chao Circuit 1 - 1:20
|
{ET_TIME, 0,0,0, 37, 'B', SKINCOLOR_GREY, 80*TICRATE, "", 0}, // CK Chao Circuit 1 - 1:20
|
||||||
{ET_TIME, 0,0,0, 38, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // CK Chao Circuit 2 - 2:10
|
{ET_TIME, 0,0,0, 38, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // CK Chao Circuit 2 - 2:10
|
||||||
{ET_TIME, 0,0,0, 39, 'T', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // CK Cloud Tops 2 - 1:40
|
{ET_TIME, 0,0,0, 39, 'B', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // CK Cloud Tops 2 - 1:40
|
||||||
{ET_TIME, 0,0,0, 40, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // CK Regal Raceway - 2:10
|
{ET_TIME, 0,0,0, 40, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // CK Regal Raceway - 2:10
|
||||||
{ET_TIME, 0,0,0, 41, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // SM Dimension Heist - 2:10
|
{ET_TIME, 0,0,0, 41, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0}, // SM Dimension Heist - 2:10
|
||||||
{ET_TIME, 0,0,0, 42, 'T', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // SRB2 Frozen Night - 1:40
|
{ET_TIME, 0,0,0, 42, 'B', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // SRB2 Frozen Night - 1:40
|
||||||
{ET_TIME, 0,0,0, 43, 'T', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // MKSC Sky Garden - 1:40
|
{ET_TIME, 0,0,0, 43, 'B', SKINCOLOR_GREY, 100*TICRATE, "", 0}, // MKSC Sky Garden - 1:40
|
||||||
{ET_TIME, 0,0,0, 44, 'T', SKINCOLOR_GREY, 95*TICRATE, "", 0}, // MKDS Peach Gardens - 1:35
|
{ET_TIME, 0,0,0, 44, 'B', SKINCOLOR_GREY, 95*TICRATE, "", 0}, // MKDS Peach Gardens - 1:35
|
||||||
{ET_TIME, 0,0,0, 45, 'T', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // MKSC Rainbow Road - 1:45
|
{ET_TIME, 0,0,0, 45, 'B', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // MKSC Rainbow Road - 1:45
|
||||||
{ET_TIME, 0,0,0, 46, 'T', SKINCOLOR_GREY, 70*TICRATE, "", 0}, // SMK Mario Circuit 1 - 1:10
|
{ET_TIME, 0,0,0, 46, 'B', SKINCOLOR_GREY, 70*TICRATE, "", 0}, // SMK Mario Circuit 1 - 1:10
|
||||||
{ET_TIME, 0,0,0, 47, 'T', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // SMK Donut Plains 1 - 1:30
|
{ET_TIME, 0,0,0, 47, 'B', SKINCOLOR_GREY, 90*TICRATE, "", 0}, // SMK Donut Plains 1 - 1:30
|
||||||
{ET_TIME, 0,0,0, 48, 'T', SKINCOLOR_GREY, 75*TICRATE, "", 0}, // SMK Ghost Valley 2 - 1:15
|
{ET_TIME, 0,0,0, 48, 'B', SKINCOLOR_GREY, 75*TICRATE, "", 0}, // SMK Ghost Valley 2 - 1:15
|
||||||
{ET_TIME, 0,0,0, 49, 'T', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // SMK Mario Circuit 3 - 1:45
|
{ET_TIME, 0,0,0, 49, 'B', SKINCOLOR_GREY, 105*TICRATE, "", 0}, // SMK Mario Circuit 3 - 1:45
|
||||||
{ET_TIME, 0,0,0, 50, 'T', SKINCOLOR_GREY, 130*TICRATE, "", 0} // SMK Rainbow Road - 2:10
|
{ET_TIME, 0,0,0, 50, 'B', SKINCOLOR_GREY, 130*TICRATE, "", 0} // SMK Rainbow Road - 2:10
|
||||||
// GOLD DEV TIME TROPHIES
|
// GOLD DEV TIME TROPHIES
|
||||||
// ...none yet!
|
// ...none yet! uses 'A'
|
||||||
};
|
};
|
||||||
|
|
||||||
// Default Extra Emblems
|
// Default Extra Emblems
|
||||||
extraemblem_t extraemblems[MAXEXTRAEMBLEMS] =
|
extraemblem_t extraemblems[MAXEXTRAEMBLEMS] =
|
||||||
{
|
{
|
||||||
{"Experienced Driver", "Play 100 Matches", 10, 'X', SKINCOLOR_BLUE, 0},
|
{"Experienced Driver", "Play 100 Matches", 10, 'C', SKINCOLOR_RED, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
// Default Unlockables
|
// Default Unlockables
|
||||||
|
|
12
src/m_menu.c
12
src/m_menu.c
|
@ -3380,7 +3380,7 @@ static void M_DrawMapEmblems(INT32 mapnum, INT32 x, INT32 y)
|
||||||
V_DrawSmallScaledPatch(x, y, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
V_DrawSmallScaledPatch(x, y, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
||||||
|
|
||||||
emblem = M_GetLevelEmblems(-1);
|
emblem = M_GetLevelEmblems(-1);
|
||||||
x -= 12;
|
x -= 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6199,7 +6199,7 @@ static void M_DrawStatsMaps(int location)
|
||||||
}
|
}
|
||||||
|
|
||||||
mnum = statsMapList[i];
|
mnum = statsMapList[i];
|
||||||
M_DrawMapEmblems(mnum+1, 292, y);
|
M_DrawMapEmblems(mnum+1, 295, y);
|
||||||
|
|
||||||
if (mapheaderinfo[mnum]->levelflags & LF_NOZONE)
|
if (mapheaderinfo[mnum]->levelflags & LF_NOZONE)
|
||||||
V_DrawString(20, y, 0, va("%s %s",
|
V_DrawString(20, y, 0, va("%s %s",
|
||||||
|
@ -6248,10 +6248,10 @@ static void M_DrawStatsMaps(int location)
|
||||||
exemblem = &extraemblems[i];
|
exemblem = &extraemblems[i];
|
||||||
|
|
||||||
if (exemblem->collected)
|
if (exemblem->collected)
|
||||||
V_DrawSmallMappedPatch(292, y, 0, W_CachePatchName(M_GetExtraEmblemPatch(exemblem), PU_CACHE),
|
V_DrawSmallMappedPatch(295, y, 0, W_CachePatchName(M_GetExtraEmblemPatch(exemblem), PU_CACHE),
|
||||||
R_GetTranslationColormap(TC_DEFAULT, M_GetExtraEmblemColor(exemblem), GTC_CACHE));
|
R_GetTranslationColormap(TC_DEFAULT, M_GetExtraEmblemColor(exemblem), GTC_CACHE));
|
||||||
else
|
else
|
||||||
V_DrawSmallScaledPatch(292, y, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
V_DrawSmallScaledPatch(295, y, 0, W_CachePatchName("NEEDIT", PU_CACHE));
|
||||||
|
|
||||||
V_DrawString(20, y, 0, va("%s", exemblem->description));
|
V_DrawString(20, y, 0, va("%s", exemblem->description));
|
||||||
}
|
}
|
||||||
|
@ -6310,8 +6310,8 @@ static void M_DrawLevelStats(void)
|
||||||
else
|
else
|
||||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 70, recommendedflags, "(complete)");
|
V_DrawRightAlignedString(BASEVIDWIDTH-16, 70, recommendedflags, "(complete)");
|
||||||
|
|
||||||
V_DrawString(36, 70, 0, va("x %d/%d", M_CountEmblems(), numemblems+numextraemblems));
|
V_DrawString(32, 70, 0, va("x %d/%d", M_CountEmblems(), numemblems+numextraemblems));
|
||||||
V_DrawSmallScaledPatch(20, 70, 0, W_CachePatchName("EMBLICON", PU_STATIC));
|
V_DrawSmallScaledPatch(20, 70, 0, W_CachePatchName("GOTITA", PU_STATIC));
|
||||||
|
|
||||||
M_DrawStatsMaps(statsLocation);
|
M_DrawStatsMaps(statsLocation);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue