(svn r10207) -Codechange: remove the redundant player_money in favour of the money64, which is now renamed to player_money.

This commit is contained in:
rubidium 2007-06-18 21:00:14 +00:00
parent 26e9b5ca5f
commit 7a72dcb3b5
10 changed files with 24 additions and 45 deletions

View File

@ -260,7 +260,7 @@ static CommandCost ReplaceVehicle(Vehicle **w, byte flags, int32 total_cost)
/* Ensure that the player will not end up having negative money while autoreplacing
* This is needed because the only other check is done after the income from selling the old vehicle is substracted from the cost */
if (CmdFailed(tmp_move) || p->money64 < (cost.GetCost() + total_cost)) {
if (CmdFailed(tmp_move) || p->player_money < (cost.GetCost() + total_cost)) {
SET_EXPENSES_TYPE(EXPENSES_NEW_VEHICLES);
/* Pay back the loan */
sell_value.MultiplyCost(-1);
@ -372,8 +372,8 @@ CommandCost MaybeReplaceVehicle(Vehicle *v, bool check, bool display_costs)
cost.AddCost(temp_cost);
} while (w->type == VEH_TRAIN && (w = GetNextVehicle(w)) != NULL);
if (!(flags & DC_EXEC) && (p->money64 < (int32)(cost.GetCost() + p->engine_renew_money) || cost.GetCost() == 0)) {
if (!check && p->money64 < (int32)(cost.GetCost() + p->engine_renew_money) && ( _local_player == v->owner ) && cost.GetCost() != 0) {
if (!(flags & DC_EXEC) && (p->player_money < (cost.GetCost() + p->engine_renew_money) || cost.GetCost() == 0)) {
if (!check && p->player_money < (cost.GetCost() + p->engine_renew_money) && ( _local_player == v->owner ) && cost.GetCost() != 0) {
StringID message;
SetDParam(0, v->unitnumber);
switch (v->type) {

View File

@ -88,7 +88,7 @@ int64 CalculateCompanyValue(const Player* p)
}
}
value += p->money64 - p->current_loan; // add real money value
value += p->player_money - p->current_loan; // add real money value
return max(value, 1LL);
}
@ -287,8 +287,7 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player)
* removing his/her property doesn't fail because of lack of money.
* Not too drastically though, because it could overflow */
if (new_player == PLAYER_SPECTATOR) {
GetPlayer(old_player)->money64 = MAX_UVALUE(uint64) >>2; // jackpot ;p
UpdatePlayerMoney32(GetPlayer(old_player));
GetPlayer(old_player)->player_money = MAX_UVALUE(uint64) >> 2; // jackpot ;p
}
if (new_player == PLAYER_SPECTATOR) {
@ -1788,9 +1787,8 @@ static void DoAcquireCompany(Player *p)
for (i = 0; i != 4; i++) {
if (p->share_owners[i] != PLAYER_SPECTATOR) {
owner = GetPlayer(p->share_owners[i]);
owner->money64 += value;
owner->player_money += value;
owner->yearly_expenses[0][EXPENSES_OTHER] += value;
UpdatePlayerMoney32(owner);
}
}

View File

@ -92,7 +92,7 @@ void HandleOnEditText(const char *str)
#ifdef ENABLE_NETWORK
case 3: { // Give money, you can only give money in excess of loan
const Player *p = GetPlayer(_current_player);
int32 money = min(p->money64 - p->current_loan, atoi(str) / _currency->rate);
int32 money = min(p->player_money - p->current_loan, atoi(str) / _currency->rate);
money = clamp(money, 0, 20000000); // Clamp between 20 million and 0
@ -2208,7 +2208,7 @@ static void StatusBarWndProc(Window *w, WindowEvent *e)
if (p != NULL) {
/* Draw player money */
SetDParam64(0, p->money64);
SetDParam64(0, p->player_money);
DrawStringCentered(570, 1, p->player_money >= 0 ? STR_0004 : STR_0005, 0);
}

View File

@ -145,9 +145,8 @@ CommandCost CmdIncreaseLoan(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
}
if (flags & DC_EXEC) {
p->money64 += loan;
p->player_money += loan;
p->current_loan += loan;
UpdatePlayerMoney32(p);
InvalidatePlayerWindows(p);
}
@ -185,9 +184,8 @@ CommandCost CmdDecreaseLoan(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
}
if (flags & DC_EXEC) {
p->money64 -= loan;
p->player_money -= loan;
p->current_loan -= loan;
UpdatePlayerMoney32(p);
InvalidatePlayerWindows(p);
}
return CommandCost();
@ -311,7 +309,7 @@ CommandCost CmdGiveMoney(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
SET_EXPENSES_TYPE(EXPENSES_OTHER);
/* You can only transfer funds that is in excess of your loan */
if (p->money64 - p->current_loan < amount.GetCost() || amount.GetCost() <= 0) return CMD_ERROR;
if (p->player_money - p->current_loan < amount.GetCost() || amount.GetCost() <= 0) return CMD_ERROR;
if (!_networking || !IsValidPlayer((PlayerID)p2)) return CMD_ERROR;
if (flags & DC_EXEC) {

View File

@ -103,11 +103,10 @@ static void Place_LandInfo(TileIndex tile)
p = GetPlayer(IsValidPlayer(_local_player) ? _local_player : PLAYER_FIRST);
t = ClosestTownFromTile(tile, _patches.dist_local_authority);
old_money = p->money64;
p->money64 = p->player_money = 0x7fffffff;
old_money = p->player_money;
p->player_money = 0x7fffffff;
costclear = DoCommand(tile, 0, 0, 0, CMD_LANDSCAPE_CLEAR);
p->money64 = old_money;
UpdatePlayerMoney32(p);
p->player_money = old_money;
/* Because build_date is not set yet in every TileDesc, we make sure it is empty */
td.build_date = 0;

View File

@ -1278,7 +1278,7 @@ void NetworkPopulateCompanyInfo()
// Set some general stuff
_network_player_info[p->index].inaugurated_year = p->inaugurated_year;
_network_player_info[p->index].company_value = p->old_economy[0].company_value;
_network_player_info[p->index].money = p->money64;
_network_player_info[p->index].money = p->player_money;
_network_player_info[p->index].performance = p->old_economy[0].performance_history;
}

View File

@ -954,7 +954,7 @@ static bool LoadOldPlayer(LoadgameState *ls, int num)
p->name_1 = RemapOldStringID(_old_string_id);
p->president_name_1 = RemapOldStringID(_old_string_id_2);
p->money64 = p->player_money;
p->player_money = p->player_money;
if (num == 0) {
/* If the first player has no name, make sure we call it UNNAMED */
@ -972,7 +972,7 @@ static bool LoadOldPlayer(LoadgameState *ls, int num)
Ps: this also means that if you had exact 893288 pounds, you will go back
to 10000.. this is a very VERY small chance ;) */
if (p->player_money == 893288)
p->money64 = p->player_money = p->current_loan = 100000;
p->player_money = p->current_loan = 100000;
_player_colors[num] = p->player_color;
p->inaugurated_year -= ORIGINAL_BASE_YEAR;

View File

@ -166,9 +166,8 @@ struct Player {
PlayerFace face;
int32 player_money;
int32 current_loan;
int64 money64; ///< internal 64-bit version of the money. the 32-bit field will be clamped to plus minus 2 billion
int64 player_money;
byte player_color;
Livery livery[LS_END];
@ -215,7 +214,6 @@ void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player);
void GetNameOfOwner(Owner owner, TileIndex tile);
int64 CalculateCompanyValue(const Player* p);
void InvalidatePlayerWindows(const Player* p);
void UpdatePlayerMoney32(Player *p);
void SetLocalPlayer(PlayerID new_player);
#define FOR_ALL_PLAYERS(p) for (p = _players; p != endof(_players); p++)

View File

@ -87,7 +87,7 @@ static void DrawPlayerEconomyStats(const Player *p, byte mode)
}
DrawString(2, y, STR_7026_BANK_BALANCE, 0);
SetDParam64(0, p->money64);
SetDParam64(0, p->player_money);
DrawStringRightAligned(182, y, STR_7028, 0);
y += 10;
@ -100,7 +100,7 @@ static void DrawPlayerEconomyStats(const Player *p, byte mode)
GfxFillRect(182 - 75, y - 2, 182, y - 2, 215);
SetDParam64(0, p->money64 - p->current_loan);
SetDParam64(0, p->player_money - p->current_loan);
DrawStringRightAligned(182, y, STR_7028, 0);
}

View File

@ -188,8 +188,7 @@ bool CheckPlayerHasMoney(CommandCost cost)
static void SubtractMoneyFromAnyPlayer(Player *p, CommandCost cost)
{
p->money64 -= cost.GetCost();
UpdatePlayerMoney32(p);
p->player_money -= cost.GetCost();
p->yearly_expenses[0][_yearly_expenses_type] += cost.GetCost();
@ -229,18 +228,6 @@ void SubtractMoneyFromPlayerFract(PlayerID player, CommandCost cst)
if (cost != 0) SubtractMoneyFromAnyPlayer(p, CommandCost(cost));
}
/** the player_money field is kept as it is, but money64 contains the actual amount of money. */
void UpdatePlayerMoney32(Player *p)
{
if (p->money64 < -2000000000) {
p->player_money = -2000000000;
} else if (p->money64 > 2000000000) {
p->player_money = 2000000000;
} else {
p->player_money = (int32)p->money64;
}
}
void GetNameOfOwner(Owner owner, TileIndex tile)
{
SetDParam(2, owner);
@ -474,7 +461,7 @@ Player *DoStartupNewPlayer(bool is_ai)
p->name_1 = STR_SV_UNNAMED;
p->is_active = true;
p->money64 = p->player_money = p->current_loan = 100000;
p->player_money = p->current_loan = 100000;
p->is_ai = is_ai;
p->ai.state = 5; // AIS_WANT_NEW_ROUTE
@ -1135,8 +1122,8 @@ static const SaveLoad _player_desc[] = {
SLE_VAR(Player, face, SLE_UINT32),
/* money was changed to a 64 bit field in savegame version 1. */
SLE_CONDVAR(Player, money64, SLE_VAR_I64 | SLE_FILE_I32, 0, 0),
SLE_CONDVAR(Player, money64, SLE_INT64, 1, SL_MAX_VERSION),
SLE_CONDVAR(Player, player_money, SLE_VAR_I64 | SLE_FILE_I32, 0, 0),
SLE_CONDVAR(Player, player_money, SLE_INT64, 1, SL_MAX_VERSION),
SLE_VAR(Player, current_loan, SLE_INT32),
@ -1318,7 +1305,6 @@ static void Load_PLYR()
Player *p = GetPlayer((PlayerID)index);
SaveLoad_PLYR(p);
_player_colors[index] = p->player_color;
UpdatePlayerMoney32(p);
/* This is needed so an AI is attached to a loaded AI */
if (p->is_ai && (!_networking || _network_server) && _ai.enabled)