mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-25 23:11:20 +00:00
Draw MMAPDOT in front of players' facing angles on the minimap
This commit is contained in:
parent
313d2f8fd2
commit
ea6db0a561
1 changed files with 42 additions and 0 deletions
42
src/k_hud.c
42
src/k_hud.c
|
|
@ -113,6 +113,7 @@ static patch_t *kp_battleinfo;
|
|||
static patch_t *kp_wanted;
|
||||
static patch_t *kp_wantedsplit;
|
||||
static patch_t *kp_wantedreticle;
|
||||
static patch_t *kp_minimapdot;
|
||||
|
||||
static patch_t *kp_itembg[4];
|
||||
static patch_t *kp_ringbg[4];
|
||||
|
|
@ -445,6 +446,7 @@ void K_LoadKartHUDGraphics(void)
|
|||
HU_UpdatePatch(&kp_wanted, "K_WANTED");
|
||||
HU_UpdatePatch(&kp_wantedsplit, "4PWANTED");
|
||||
HU_UpdatePatch(&kp_wantedreticle, "MMAPWANT");
|
||||
HU_UpdatePatch(&kp_minimapdot, "MMAPDOT");
|
||||
|
||||
// Kart Item Windows
|
||||
HU_UpdatePatch(&kp_itembg[0], "K_ITBG");
|
||||
|
|
@ -3712,6 +3714,8 @@ static void K_drawKartMinimapWaypoint(waypoint_t *wp, INT32 hudx, INT32 hudy, IN
|
|||
K_drawKartMinimapDot(wp->mobj->x, wp->mobj->y, hudx, hudy, flags | V_NOSCALESTART, pal, size);
|
||||
}
|
||||
|
||||
#define ICON_DOT_RADIUS (10)
|
||||
|
||||
static void K_drawKartMinimap(void)
|
||||
{
|
||||
patch_t *workingPic;
|
||||
|
|
@ -3894,6 +3898,8 @@ static void K_drawKartMinimap(void)
|
|||
{
|
||||
for (i = MAXPLAYERS-1; i >= 0; i--)
|
||||
{
|
||||
boolean nocontest = false;
|
||||
|
||||
if (!playeringame[i])
|
||||
continue;
|
||||
if (!players[i].mo || players[i].spectator || !players[i].mo->skin
|
||||
|
|
@ -3937,6 +3943,8 @@ static void K_drawKartMinimap(void)
|
|||
colormap = R_GetTranslationColormap(TC_DEFAULT, mobj->color, GTC_CACHE);
|
||||
|
||||
mobj = mobj->tracer;
|
||||
|
||||
nocontest = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -3957,6 +3965,8 @@ static void K_drawKartMinimap(void)
|
|||
|
||||
if (doprogressionbar == false)
|
||||
{
|
||||
angle_t ang = R_InterpolateAngle(mobj->old_angle, mobj->angle);
|
||||
|
||||
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
||||
interpy = R_InterpolateFixed(mobj->old_y, mobj->y);
|
||||
|
||||
|
|
@ -3968,6 +3978,19 @@ static void K_drawKartMinimap(void)
|
|||
{
|
||||
K_drawKartMinimapIcon(interpx, interpy, x, y, splitflags, kp_wantedreticle, NULL);
|
||||
}
|
||||
|
||||
if (!nocontest)
|
||||
{
|
||||
K_drawKartMinimapIcon(
|
||||
interpx,
|
||||
interpy,
|
||||
x + FixedMul(FCOS(ang), ICON_DOT_RADIUS),
|
||||
y - FixedMul(FSIN(ang), ICON_DOT_RADIUS),
|
||||
splitflags,
|
||||
kp_minimapdot,
|
||||
colormap
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -4098,6 +4121,8 @@ static void K_drawKartMinimap(void)
|
|||
|
||||
for (i = 0; i < numlocalplayers; i++)
|
||||
{
|
||||
boolean nocontest = false;
|
||||
|
||||
if (localplayers[i] == -1)
|
||||
continue; // this doesn't interest us
|
||||
|
||||
|
|
@ -4122,6 +4147,8 @@ static void K_drawKartMinimap(void)
|
|||
colormap = R_GetTranslationColormap(TC_DEFAULT, mobj->color, GTC_CACHE);
|
||||
|
||||
mobj = mobj->tracer;
|
||||
|
||||
nocontest = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -4142,6 +4169,8 @@ static void K_drawKartMinimap(void)
|
|||
|
||||
if (doprogressionbar == false)
|
||||
{
|
||||
angle_t ang = R_InterpolateAngle(mobj->old_angle, mobj->angle);
|
||||
|
||||
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
||||
interpy = R_InterpolateFixed(mobj->old_y, mobj->y);
|
||||
|
||||
|
|
@ -4153,6 +4182,19 @@ static void K_drawKartMinimap(void)
|
|||
{
|
||||
K_drawKartMinimapIcon(interpx, interpy, x, y, splitflags, kp_wantedreticle, NULL);
|
||||
}
|
||||
|
||||
if (!nocontest)
|
||||
{
|
||||
K_drawKartMinimapIcon(
|
||||
interpx,
|
||||
interpy,
|
||||
x + FixedMul(FCOS(ang), ICON_DOT_RADIUS),
|
||||
y - FixedMul(FSIN(ang), ICON_DOT_RADIUS),
|
||||
splitflags,
|
||||
kp_minimapdot,
|
||||
colormap
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue