Some HUD tweaks

- CHECK now works in Mirror Mode
- Lakitu flips in Mirror Mode
- CHECK now shows up in splitscreen, because why not
- Fixed a compiling error as a result of me attempting to revert wipeout
This commit is contained in:
TehRealSalt 2017-12-13 18:01:26 -05:00
parent f69270027c
commit 6e47a14815
2 changed files with 19 additions and 10 deletions

View file

@ -4776,9 +4776,12 @@ fixed_t K_FindCheckX(fixed_t px, fixed_t py, angle_t ang, fixed_t mx, fixed_t my
if (diff < ANGLE_90 || diff > ANGLE_270) if (diff < ANGLE_90 || diff > ANGLE_270)
return -320; return -320;
else else
x = (FixedMul(FINETANGENT(((diff+ANGLE_90)>>ANGLETOFINESHIFT) & 4095), 160<<FRACBITS) + (160<<FRACBITS)); x = (FixedMul(FINETANGENT(((diff+ANGLE_90)>>ANGLETOFINESHIFT) & 4095), 160<<FRACBITS) + (160<<FRACBITS))>>FRACBITS;
return (x>>FRACBITS); if (cv_kartmirror.value)
x = 320-x;
return x;
} }
static void K_drawKartPlayerCheck(void) static void K_drawKartPlayerCheck(void)
@ -4920,6 +4923,9 @@ static void K_drawStartLakitu(void)
else else
adjustY = 200; adjustY = 200;
if (cv_kartmirror.value)
V_DrawSmallScaledPatch(320-LAKI_X, STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP|V_FLIP, localpatch);
else
V_DrawSmallScaledPatch(LAKI_X, STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP, localpatch); V_DrawSmallScaledPatch(LAKI_X, STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP, localpatch);
} }
@ -4990,6 +4996,9 @@ static void K_drawLapLakitu(void)
adjustY = 200; adjustY = 200;
} }
if (cv_kartmirror.value)
V_DrawSmallScaledPatch(320-(LAKI_X+14+(swoopTimer/4)), STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP|V_FLIP, localpatch);
else
V_DrawSmallScaledPatch(LAKI_X+14+(swoopTimer/4), STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP, localpatch); V_DrawSmallScaledPatch(LAKI_X+14+(swoopTimer/4), STRINGY(LAKI_Y + adjustY), V_SNAPTOTOP, localpatch);
} }
@ -5016,11 +5025,11 @@ void K_drawKartHUD(void)
if (stplyr->kartstuff[k_lapanimation]) if (stplyr->kartstuff[k_lapanimation])
K_drawLapLakitu(); K_drawLapLakitu();
}
// Draw the CHECK indicator before the other items too, so it's overlapped by everything else // Draw the CHECK indicator before the other items too, so it's overlapped by everything else
if (cv_kartcheck.value) if (cv_kartcheck.value)
K_drawKartPlayerCheck(); K_drawKartPlayerCheck();
}
// If the item window is closing, draw it closing! // If the item window is closing, draw it closing!
if (stplyr->kartstuff[k_itemclose]) if (stplyr->kartstuff[k_itemclose])

View file

@ -2911,7 +2911,7 @@ static void P_ShieldDamage(player_t *player, mobj_t *inflictor, mobj_t *source,
} }
*/ */
/*static void P_RingDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage) static void P_RingDamage(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage)
{ {
if (!(inflictor && ((inflictor->flags & MF_MISSILE) || inflictor->player) && player->powers[pw_super] && ALL7EMERALDS(player->powers[pw_emeralds]))) if (!(inflictor && ((inflictor->flags & MF_MISSILE) || inflictor->player) && player->powers[pw_super] && ALL7EMERALDS(player->powers[pw_emeralds])))
{ {
@ -2943,7 +2943,7 @@ static void P_ShieldDamage(player_t *player, mobj_t *inflictor, mobj_t *source,
// Ring loss sound plays despite hitting spikes // Ring loss sound plays despite hitting spikes
P_PlayRinglossSound(player->mo); // Ringledingle! P_PlayRinglossSound(player->mo); // Ringledingle!
}*/ }
/** Damages an object, which may or may not be a player. /** Damages an object, which may or may not be a player.
* For melee attacks, source and inflictor are the same. * For melee attacks, source and inflictor are the same.