mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Somewhat real constants, debug UI
This commit is contained in:
parent
aab374e9ef
commit
265c8d969e
2 changed files with 14 additions and 14 deletions
|
|
@ -4730,6 +4730,9 @@ static void K_drawKartSpeedometer(boolean gametypeinfoshown)
|
||||||
V_DrawScaledPatch(LAPS_X+19, fy, V_HUDTRANS|V_SLIDEIN|splitflags, kp_facenum[numbers[2]]);
|
V_DrawScaledPatch(LAPS_X+19, fy, V_HUDTRANS|V_SLIDEIN|splitflags, kp_facenum[numbers[2]]);
|
||||||
V_DrawScaledPatch(LAPS_X+29, fy, V_HUDTRANS|V_SLIDEIN|splitflags, kp_speedometerlabel[labeln]);
|
V_DrawScaledPatch(LAPS_X+29, fy, V_HUDTRANS|V_SLIDEIN|splitflags, kp_speedometerlabel[labeln]);
|
||||||
|
|
||||||
|
// debug
|
||||||
|
V_DrawThinString(LAPS_X+7, fy-10, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d\%", stplyr->loneliness*100/FRACUNIT));
|
||||||
|
|
||||||
K_drawKartAccessibilityIcons(gametypeinfoshown, 56);
|
K_drawKartAccessibilityIcons(gametypeinfoshown, 56);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
17
src/k_kart.c
17
src/k_kart.c
|
|
@ -3964,7 +3964,7 @@ static fixed_t K_GetKartSpeedAssist(const player_t *player)
|
||||||
if (player->loneliness < 0)
|
if (player->loneliness < 0)
|
||||||
return FRACUNIT;
|
return FRACUNIT;
|
||||||
|
|
||||||
fixed_t MAX_SPEED_ASSIST = FRACUNIT;
|
fixed_t MAX_SPEED_ASSIST = FRACUNIT/3;
|
||||||
|
|
||||||
return FRACUNIT + FixedMul(player->loneliness, MAX_SPEED_ASSIST);
|
return FRACUNIT + FixedMul(player->loneliness, MAX_SPEED_ASSIST);
|
||||||
}
|
}
|
||||||
|
|
@ -10021,18 +10021,16 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
average = firstRaw;
|
average = firstRaw;
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32 REALLY_FAR = average + 3000; // This far back, get max gain
|
UINT32 REALLY_FAR = average + 6000; // This far back, get max gain
|
||||||
UINT32 TOO_CLOSE = average + 1000; // Start gaining here, lose if closer
|
UINT32 TOO_CLOSE = average + 3000; // Start gaining here, lose if closer
|
||||||
UINT32 WAY_TOO_CLOSE = average; // Lose at max rate here
|
UINT32 WAY_TOO_CLOSE = average; // Lose at max rate here
|
||||||
|
|
||||||
fixed_t MAX_GAIN_PER_SEC = FRACUNIT/10; // % assist to gain per sec when REALLY_FAR
|
fixed_t MAX_GAIN_PER_SEC = FRACUNIT/40; // % assist to gain per sec when REALLY_FAR
|
||||||
fixed_t MAX_LOSS_PER_SEC = FRACUNIT/10; // % assist to lose per sec when WAY_TOO_CLOSE
|
fixed_t MAX_LOSS_PER_SEC = FRACUNIT/20; // % assist to lose per sec when WAY_TOO_CLOSE
|
||||||
|
|
||||||
UINT32 gaingap = REALLY_FAR - TOO_CLOSE;
|
UINT32 gaingap = REALLY_FAR - TOO_CLOSE;
|
||||||
UINT32 lossgap = TOO_CLOSE - WAY_TOO_CLOSE;
|
UINT32 lossgap = TOO_CLOSE - WAY_TOO_CLOSE;
|
||||||
|
|
||||||
CONS_Printf("Mine %d - %d / %d / %d\n", player->distancetofinish, WAY_TOO_CLOSE, TOO_CLOSE, REALLY_FAR);
|
|
||||||
|
|
||||||
UINT32 mydist = K_UndoMapScaling(player->distancetofinish);
|
UINT32 mydist = K_UndoMapScaling(player->distancetofinish);
|
||||||
|
|
||||||
if (mydist >= TOO_CLOSE)
|
if (mydist >= TOO_CLOSE)
|
||||||
|
|
@ -10045,12 +10043,12 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
gain = FixedMul(gain, gainrate);
|
gain = FixedMul(gain, gainrate);
|
||||||
|
|
||||||
player->loneliness += gain;
|
player->loneliness += gain;
|
||||||
|
|
||||||
CONS_Printf("gaining @ %d - %d\n", gainrate, player->loneliness);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fixed_t loss = MAX_LOSS_PER_SEC / TICRATE;
|
fixed_t loss = MAX_LOSS_PER_SEC / TICRATE;
|
||||||
|
if (mydist < WAY_TOO_CLOSE)
|
||||||
|
mydist = WAY_TOO_CLOSE;
|
||||||
fixed_t lossrate = FRACUNIT * (mydist - WAY_TOO_CLOSE) / lossgap;
|
fixed_t lossrate = FRACUNIT * (mydist - WAY_TOO_CLOSE) / lossgap;
|
||||||
lossrate = FRACUNIT - clamp(lossrate, 0, FRACUNIT);
|
lossrate = FRACUNIT - clamp(lossrate, 0, FRACUNIT);
|
||||||
lossrate = Easing_InCubic(lossrate, 0, FRACUNIT);
|
lossrate = Easing_InCubic(lossrate, 0, FRACUNIT);
|
||||||
|
|
@ -10058,7 +10056,6 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
loss = FixedMul(loss, lossrate);
|
loss = FixedMul(loss, lossrate);
|
||||||
|
|
||||||
player->loneliness -= loss;
|
player->loneliness -= loss;
|
||||||
CONS_Printf("LOSING @ %d - %d\n", lossrate, player->loneliness);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
player->loneliness = clamp(player->loneliness, 0, FRACUNIT);
|
player->loneliness = clamp(player->loneliness, 0, FRACUNIT);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue