- Exhumed: Clean up player accesses in cheats.cpp.

This commit is contained in:
Mitchell Richters 2023-10-04 12:52:29 +11:00 committed by Christoph Oelckers
parent ad5f1d9f7d
commit 856b6630f1

View file

@ -53,18 +53,18 @@ enum {
// //
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
static const char* GodCheat(int nPlayer, int state) static const char* GodCheat(DExhumedPlayer* const pPlayer, int state)
{ {
if (state == -1) if (state == -1)
{ {
if (getPlayer(nPlayer)->invincibility >= 0) if (pPlayer->invincibility >= 0)
getPlayer(nPlayer)->invincibility = -1; pPlayer->invincibility = -1;
else else
getPlayer(nPlayer)->invincibility = 0; pPlayer->invincibility = 0;
} }
else getPlayer(nPlayer)->invincibility = -state; else pPlayer->invincibility = -state;
return GStrings(getPlayer(nPlayer)->invincibility ? "TXT_EX_DEITYON" : "TXT_EX_DEITYOFF"); return GStrings(pPlayer->invincibility ? "TXT_EX_DEITYON" : "TXT_EX_DEITYOFF");
} }
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
@ -96,16 +96,18 @@ static const char* SlipCheat()
const char* GameInterface::GenericCheat(int player, int cheat) const char* GameInterface::GenericCheat(int player, int cheat)
{ {
const auto pPlayer = getPlayer(player);
switch (cheat) switch (cheat)
{ {
case CHT_GOD: case CHT_GOD:
return GodCheat(player, -1); return GodCheat(pPlayer, -1);
case CHT_GODOFF: case CHT_GODOFF:
return GodCheat(player, 0); return GodCheat(pPlayer, 0);
case CHT_GODON: case CHT_GODON:
return GodCheat(player, 1); return GodCheat(pPlayer, 1);
case CHT_NOCLIP: case CHT_NOCLIP:
return SlipCheat(); return SlipCheat();
@ -211,7 +213,9 @@ static void cmd_Give(int player, uint8_t** stream, bool skip)
int type = ReadByte(stream); int type = ReadByte(stream);
if (skip) return; if (skip) return;
if (getPlayer(player)->nHealth <= 0 || nNetPlayerCount || gamestate != GS_LEVEL) const auto pPlayer = getPlayer(player);
if (pPlayer->nHealth <= 0 || nNetPlayerCount || gamestate != GS_LEVEL)
{ {
Printf("give: Cannot give while dead or not in a single-player game.\n"); Printf("give: Cannot give while dead or not in a single-player game.\n");
return; return;
@ -225,7 +229,7 @@ static void cmd_Give(int player, uint8_t** stream, bool skip)
break; break;
case GIVE_HEALTH: case GIVE_HEALTH:
getPlayer(player)->nHealth = 800; pPlayer->nHealth = 800;
return; return;
case GIVE_WEAPONS: case GIVE_WEAPONS:
@ -257,7 +261,7 @@ static void cmd_Give(int player, uint8_t** stream, bool skip)
} }
if (buttons & kButtonCheatKeys) // LOBOPICK cheat if (buttons & kButtonCheatKeys) // LOBOPICK cheat
{ {
getPlayer(player)->keys = 0xFFFF; pPlayer->keys = 0xFFFF;
if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_KEYS")); if (player == myconnectindex) Printf(PRINT_NOTIFY, "%s\n", GStrings("TXT_EX_KEYS"));
} }
if (buttons & kButtonCheatItems) // LOBOSWAG cheat if (buttons & kButtonCheatItems) // LOBOSWAG cheat