summaryrefslogtreecommitdiff
path: root/src/player_base.h
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2008-04-27 20:09:29 +0000
committerbjarni <bjarni@openttd.org>2008-04-27 20:09:29 +0000
commit757de2bdf567f5c8eb40578b949875eefe1c9335 (patch)
treeefbff2346a07d27ade486566153b76347444eb3f /src/player_base.h
parent9f5f4e59cdc9a9a8225131c7a007acb009016dfb (diff)
downloadopenttd-757de2bdf567f5c8eb40578b949875eefe1c9335.tar.xz
(svn r12913) -Add: ability to backup and restore a player's economic data and data for a vehicle (or chain of vehicles)
Autoreplace uses this with the following benefits: -Mass autoreplace (the button in the depot window) will now estimate costs correctly -Autoreplace now either replaces correctly or manages to keep the original vehicle (no more broken trains) Thanks to Ammler for testing this
Diffstat (limited to 'src/player_base.h')
-rw-r--r--src/player_base.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/player_base.h b/src/player_base.h
index 2bb3fd56c..cce41eb60 100644
--- a/src/player_base.h
+++ b/src/player_base.h
@@ -73,6 +73,18 @@ struct Player {
uint16 num_engines[TOTAL_NUM_ENGINES]; ///< caches the number of engines of each type the player owns (no need to save this)
};
+struct PlayerMoneyBackup {
+private:
+ Money backup_yearly_expenses[EXPENSES_END];
+ PlayerEconomyEntry backup_cur_economy;
+ Player *p;
+
+public:
+ PlayerMoneyBackup(Player *player);
+
+ void Restore();
+};
+
extern Player _players[MAX_PLAYERS];
#define FOR_ALL_PLAYERS(p) for (p = _players; p != endof(_players); p++)