(svn r6776) -Codechange: Use IsValidPlayer() function to determine of a PlayerID is an
actual playable player (< MAX_PLAYERS) or not.
This commit is contained in:
17
players.c
17
players.c
@@ -204,7 +204,7 @@ bool CheckPlayerHasMoney(int32 cost)
|
||||
{
|
||||
if (cost > 0) {
|
||||
PlayerID pid = _current_player;
|
||||
if (pid < MAX_PLAYERS && cost > GetPlayer(pid)->player_money) {
|
||||
if (IsValidPlayer(pid) && cost > GetPlayer(pid)->player_money) {
|
||||
SetDParam(0, cost);
|
||||
_error_message = STR_0003_NOT_ENOUGH_CASH_REQUIRES;
|
||||
return false;
|
||||
@@ -233,7 +233,7 @@ void SubtractMoneyFromPlayer(int32 cost)
|
||||
{
|
||||
PlayerID pid = _current_player;
|
||||
|
||||
if (pid < MAX_PLAYERS) SubtractMoneyFromAnyPlayer(GetPlayer(pid), cost);
|
||||
if (IsValidPlayer(pid)) SubtractMoneyFromAnyPlayer(GetPlayer(pid), cost);
|
||||
}
|
||||
|
||||
void SubtractMoneyFromPlayerFract(PlayerID player, int32 cost)
|
||||
@@ -264,7 +264,7 @@ void GetNameOfOwner(Owner owner, TileIndex tile)
|
||||
SetDParam(2, owner);
|
||||
|
||||
if (owner != OWNER_TOWN) {
|
||||
if (owner >= MAX_PLAYERS) {
|
||||
if (!IsValidPlayer(owner)) {
|
||||
SetDParam(0, STR_0150_SOMEONE);
|
||||
} else {
|
||||
const Player* p = GetPlayer(owner);
|
||||
@@ -584,7 +584,7 @@ void OnTick_Players(void)
|
||||
// index is the next parameter in _decode_parameters to set up
|
||||
StringID GetPlayerNameString(PlayerID player, uint index)
|
||||
{
|
||||
if (IsHumanPlayer(player) && player < MAX_PLAYERS) {
|
||||
if (IsHumanPlayer(player) && IsValidPlayer(player)) {
|
||||
SetDParam(index, player+1);
|
||||
return STR_7002_PLAYER;
|
||||
}
|
||||
@@ -691,8 +691,7 @@ static void DeletePlayerStuff(PlayerID pi)
|
||||
int32 CmdSetAutoReplace(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
{
|
||||
Player *p;
|
||||
if (!(_current_player < MAX_PLAYERS))
|
||||
return CMD_ERROR;
|
||||
if (!IsValidPlayer(_current_player)) return CMD_ERROR;
|
||||
|
||||
p = GetPlayer(_current_player);
|
||||
switch (GB(p1, 0, 3)) {
|
||||
@@ -824,7 +823,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
Player *p;
|
||||
PlayerID pid = p2;
|
||||
|
||||
if (!(flags & DC_EXEC) || pid >= MAX_PLAYERS) return 0;
|
||||
if (!(flags & DC_EXEC) || !IsValidPlayer(pid)) return 0;
|
||||
|
||||
p = DoStartupNewPlayer(false);
|
||||
|
||||
@@ -910,7 +909,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
case 2: { /* Delete a player */
|
||||
Player *p;
|
||||
|
||||
if (p2 >= MAX_PLAYERS) return CMD_ERROR;
|
||||
if (!IsValidPlayer(p2)) return CMD_ERROR;
|
||||
|
||||
if (!(flags & DC_EXEC)) return 0;
|
||||
|
||||
@@ -938,7 +937,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
||||
PlayerID pid_old = GB(p2, 0, 16);
|
||||
PlayerID pid_new = GB(p2, 16, 16);
|
||||
|
||||
if (pid_old >= MAX_PLAYERS || pid_new >= MAX_PLAYERS) return CMD_ERROR;
|
||||
if (!IsValidPlayer(pid_old) || !IsValidPlayer(pid_new)) return CMD_ERROR;
|
||||
|
||||
if (!(flags & DC_EXEC)) return CMD_ERROR;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user