diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 0e1d58098..d7f4af80c 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2992,9 +2992,7 @@ void CL_RemovePlayer(INT32 playernum, kickreason_t reason) } } - if (K_IsPlayerWanted(&players[playernum])) - K_CalculateBattleWanted(); - + K_CalculateBattleWanted(); LUAh_PlayerQuit(&players[playernum], reason); // Lua hook for player quitting // don't look through someone's view who isn't there diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 223430e44..d31e9537e 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -3469,8 +3469,7 @@ static void Got_Teamchange(UINT8 **cp, INT32 playernum) if (gametyperules & GTR_BUMPERS) // SRB2kart { players[playernum].marescore = 0; - if (K_IsPlayerWanted(&players[playernum])) - K_CalculateBattleWanted(); + K_CalculateBattleWanted(); } K_PlayerForfeit(playernum, true); diff --git a/src/k_battle.c b/src/k_battle.c index cc12851d4..a9924b1de 100644 --- a/src/k_battle.c +++ b/src/k_battle.c @@ -41,6 +41,9 @@ INT32 K_StartingBumperCount(void) boolean K_IsPlayerWanted(player_t *player) { +#if 1 + return (player->kartstuff[k_position] == 1); +#else UINT8 i; if (!(gametyperules & GTR_WANTED)) @@ -54,6 +57,7 @@ boolean K_IsPlayerWanted(player_t *player) return true; } return false; +#endif } void K_CalculateBattleWanted(void) @@ -63,7 +67,9 @@ void K_CalculateBattleWanted(void) UINT8 ties = 0, nextcamppos = 0; UINT8 i, j; +#if 0 if (!(gametyperules & GTR_WANTED)) +#endif { memset(battlewanted, -1, sizeof (battlewanted)); return; diff --git a/src/k_collide.c b/src/k_collide.c index 963ec4e64..34c0e2b59 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -30,8 +30,7 @@ boolean K_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2) if (t2->player) { - if (t2->player->powers[pw_flashing] - && !(t1->type == MT_ORBINAUT || t1->type == MT_JAWZ || t1->type == MT_JAWZ_DUD)) + if (t2->player->powers[pw_flashing] && (t1->type == MT_ORBINAUT_SHIELD || t1->type == MT_JAWZ_SHIELD)) return true; if (t2->player->kartstuff[k_hyudorotimer]) diff --git a/src/k_hud.c b/src/k_hud.c index f6f6cbb47..63f6b1af5 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -2143,6 +2143,9 @@ static void K_drawKartWanted(void) UINT8 *colormap = NULL; INT32 basex = 0, basey = 0; + if (!splitscreen) + return; + if (stplyr != &players[displayplayers[0]]) return; @@ -4118,6 +4121,6 @@ void K_drawKartHUD(void) if (gametype == GT_BATTLE) { - V_DrawString(8, 8, V_SPLITSCREEN|V_SNAPTOTOP|V_SNAPTOLEFT, va("Emeralds: %d / 7", K_NumEmeralds(stplyr))); + V_DrawRightAlignedString(BASEVIDWIDTH - 10, BASEVIDHEIGHT - 18, V_SPLITSCREEN|V_SNAPTOBOTTOM|V_SNAPTORIGHT, va("Emeralds: %d / 7", K_NumEmeralds(stplyr))); } } diff --git a/src/k_kart.c b/src/k_kart.c index 06c963db1..8bf94a65c 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -2454,9 +2454,7 @@ void K_RemoveBumper(player_t *player, mobj_t *inflictor, mobj_t *source, UINT8 a } player->bumpers -= amount; - - if (K_IsPlayerWanted(player)) - K_CalculateBattleWanted(); + K_CalculateBattleWanted(); } if (player->bumpers <= 0) @@ -6793,7 +6791,7 @@ void K_KartUpdatePosition(player_t *player) if (!playeringame[i] || players[i].spectator || !players[i].mo) continue; - if (gametype == GT_RACE) + if (gametyperules & GTR_CIRCUIT) { if (player->exiting) // End of match standings { @@ -6812,7 +6810,7 @@ void K_KartUpdatePosition(player_t *player) } } } - else if (gametype == GT_BATTLE) + else { if (player->exiting) // End of match standings { @@ -6822,11 +6820,24 @@ void K_KartUpdatePosition(player_t *player) } else { - // I have less points than but the same bumpers as this player OR - // I have less bumpers than this player - if ((players[i].bumpers == player->bumpers && players[i].marescore > player->marescore) - || (players[i].bumpers > player->bumpers)) + if (K_NumEmeralds(&players[i]) > K_NumEmeralds(player)) + { position++; + } + else if (players[i].bumpers > player->bumpers) + { + position++; + } + else if (players[i].marescore > player->marescore) + { + position++; + } + /* + else if (players[i].kartstuff[k_wanted] > player->kartstuff[k_wanted]) + { + position++; + } + */ } } }