Merge branch 'improved-margin-display' into 'master'

Margin Boost refinements

See merge request kart-krew-dev/ring-racers-internal!2581
This commit is contained in:
Oni VelocitOni 2025-05-27 04:05:34 +00:00
commit da2a1dfd77
2 changed files with 28 additions and 4 deletions

View file

@ -3289,8 +3289,6 @@ static void K_drawKartDuelScores(void)
INT32 youfill = skincolors[stplyr->skincolor].ramp[ri]; INT32 youfill = skincolors[stplyr->skincolor].ramp[ri];
INT32 foefill = skincolors[foe->skincolor].ramp[ri]; INT32 foefill = skincolors[foe->skincolor].ramp[ri];
INT32 margin = std::min(overtimecheckpoints, (UINT8)5); // Absolutely what the fuck kind of cast.
V_DrawScaledPatch(basex, basey, flags, kp_duel_sticker); V_DrawScaledPatch(basex, basey, flags, kp_duel_sticker);
INT32 scoredelta = stplyr->duelscore - foe->duelscore; INT32 scoredelta = stplyr->duelscore - foe->duelscore;
@ -3397,7 +3395,25 @@ static void K_drawKartDuelScores(void)
V_DrawMappedPatch(drawx+xoff, drawy+yoff, flags|flipflag, faceprefix[workingskin][FACE_RANK], colormap); V_DrawMappedPatch(drawx+xoff, drawy+yoff, flags|flipflag, faceprefix[workingskin][FACE_RANK], colormap);
} }
V_DrawScaledPatch(basex, basey, flags, kp_duel_margin[margin]); UINT8 MARGINLEVELS = 6;
INT32 marginx = 0;
INT32 marginoffset = 6;
INT32 margin = 1 + overtimecheckpoints;
// margin = ((leveltime/10)%25)+1; // debug
INT32 margindigits = 1 + (margin-1)/MARGINLEVELS;
marginx -= (margindigits-1) * (marginoffset/2);
while (margindigits)
{
V_DrawScaledPatch(basex + marginx, basey, flags, kp_duel_margin[std::min(margin-1, MARGINLEVELS-1)]);
margindigits--;
margin -= MARGINLEVELS;
marginx += marginoffset;
}
} }
static INT32 easedallyscore = 0; static INT32 easedallyscore = 0;

View file

@ -497,7 +497,7 @@ fixed_t K_GetKartGameSpeedScalar(SINT8 value)
value = 3; value = 3;
fixed_t base = ((13 + (3*value)) << FRACBITS) / 16; fixed_t base = ((13 + (3*value)) << FRACBITS) / 16;
fixed_t duel = overtimecheckpoints*(1<<FRACBITS)/16; fixed_t duel = overtimecheckpoints*(1<<FRACBITS)/32;
return base + duel; return base + duel;
} }
@ -11455,6 +11455,14 @@ INT16 K_GetKartTurnValue(const player_t *player, INT16 turnvalue)
turnfixed = FixedMul(turnfixed, 2*FRACUNIT); // Base increase to turning turnfixed = FixedMul(turnfixed, 2*FRACUNIT); // Base increase to turning
} }
/*
if (overtimecheckpoints)
{
fixed_t assistpercent = FRACUNIT * overtimecheckpoints / 32;
turnfixed += FixedMul(Easing_Linear(assistpercent, 0, FRACUNIT/2), turnfixed);
}
*/
if (player->drift != 0 && P_IsObjectOnGround(player->mo)) if (player->drift != 0 && P_IsObjectOnGround(player->mo))
{ {
if (G_CompatLevel(0x000A)) if (G_CompatLevel(0x000A))