mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +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_wanted;
|
||||||
static patch_t *kp_wantedsplit;
|
static patch_t *kp_wantedsplit;
|
||||||
static patch_t *kp_wantedreticle;
|
static patch_t *kp_wantedreticle;
|
||||||
|
static patch_t *kp_minimapdot;
|
||||||
|
|
||||||
static patch_t *kp_itembg[4];
|
static patch_t *kp_itembg[4];
|
||||||
static patch_t *kp_ringbg[4];
|
static patch_t *kp_ringbg[4];
|
||||||
|
|
@ -445,6 +446,7 @@ void K_LoadKartHUDGraphics(void)
|
||||||
HU_UpdatePatch(&kp_wanted, "K_WANTED");
|
HU_UpdatePatch(&kp_wanted, "K_WANTED");
|
||||||
HU_UpdatePatch(&kp_wantedsplit, "4PWANTED");
|
HU_UpdatePatch(&kp_wantedsplit, "4PWANTED");
|
||||||
HU_UpdatePatch(&kp_wantedreticle, "MMAPWANT");
|
HU_UpdatePatch(&kp_wantedreticle, "MMAPWANT");
|
||||||
|
HU_UpdatePatch(&kp_minimapdot, "MMAPDOT");
|
||||||
|
|
||||||
// Kart Item Windows
|
// Kart Item Windows
|
||||||
HU_UpdatePatch(&kp_itembg[0], "K_ITBG");
|
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);
|
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)
|
static void K_drawKartMinimap(void)
|
||||||
{
|
{
|
||||||
patch_t *workingPic;
|
patch_t *workingPic;
|
||||||
|
|
@ -3894,6 +3898,8 @@ static void K_drawKartMinimap(void)
|
||||||
{
|
{
|
||||||
for (i = MAXPLAYERS-1; i >= 0; i--)
|
for (i = MAXPLAYERS-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
|
boolean nocontest = false;
|
||||||
|
|
||||||
if (!playeringame[i])
|
if (!playeringame[i])
|
||||||
continue;
|
continue;
|
||||||
if (!players[i].mo || players[i].spectator || !players[i].mo->skin
|
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);
|
colormap = R_GetTranslationColormap(TC_DEFAULT, mobj->color, GTC_CACHE);
|
||||||
|
|
||||||
mobj = mobj->tracer;
|
mobj = mobj->tracer;
|
||||||
|
|
||||||
|
nocontest = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -3957,6 +3965,8 @@ static void K_drawKartMinimap(void)
|
||||||
|
|
||||||
if (doprogressionbar == false)
|
if (doprogressionbar == false)
|
||||||
{
|
{
|
||||||
|
angle_t ang = R_InterpolateAngle(mobj->old_angle, mobj->angle);
|
||||||
|
|
||||||
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
||||||
interpy = R_InterpolateFixed(mobj->old_y, mobj->y);
|
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);
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -4098,6 +4121,8 @@ static void K_drawKartMinimap(void)
|
||||||
|
|
||||||
for (i = 0; i < numlocalplayers; i++)
|
for (i = 0; i < numlocalplayers; i++)
|
||||||
{
|
{
|
||||||
|
boolean nocontest = false;
|
||||||
|
|
||||||
if (localplayers[i] == -1)
|
if (localplayers[i] == -1)
|
||||||
continue; // this doesn't interest us
|
continue; // this doesn't interest us
|
||||||
|
|
||||||
|
|
@ -4122,6 +4147,8 @@ static void K_drawKartMinimap(void)
|
||||||
colormap = R_GetTranslationColormap(TC_DEFAULT, mobj->color, GTC_CACHE);
|
colormap = R_GetTranslationColormap(TC_DEFAULT, mobj->color, GTC_CACHE);
|
||||||
|
|
||||||
mobj = mobj->tracer;
|
mobj = mobj->tracer;
|
||||||
|
|
||||||
|
nocontest = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -4142,6 +4169,8 @@ static void K_drawKartMinimap(void)
|
||||||
|
|
||||||
if (doprogressionbar == false)
|
if (doprogressionbar == false)
|
||||||
{
|
{
|
||||||
|
angle_t ang = R_InterpolateAngle(mobj->old_angle, mobj->angle);
|
||||||
|
|
||||||
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
interpx = R_InterpolateFixed(mobj->old_x, mobj->x);
|
||||||
interpy = R_InterpolateFixed(mobj->old_y, mobj->y);
|
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);
|
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
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue