summaryrefslogtreecommitdiff
path: root/src/player_func.h
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2008-01-12 14:10:35 +0000
committerrubidium <rubidium@openttd.org>2008-01-12 14:10:35 +0000
commit2fc62eab058153a2d9d6fc7b14d8f8f28da8b183 (patch)
treedd717901825d2b9701f42a6a4bedb895deb3017a /src/player_func.h
parent63cc41cd1c90dce2e1f3d90ce57b27c65f5197bb (diff)
downloadopenttd-2fc62eab058153a2d9d6fc7b14d8f8f28da8b183.tar.xz
(svn r11818) -Codechange: split player.h into smaller pieces.
Diffstat (limited to 'src/player_func.h')
-rw-r--r--src/player_func.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/player_func.h b/src/player_func.h
new file mode 100644
index 000000000..2017e2cc6
--- /dev/null
+++ b/src/player_func.h
@@ -0,0 +1,53 @@
+/* $Id$ */
+
+/** @file player_func.h Functions related to players. */
+
+#ifndef PLAYER_FUNC_H
+#define PLAYER_FUNC_H
+
+#include "core/math_func.hpp"
+#include "player_type.h"
+#include "tile_type.h"
+
+void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player);
+void GetNameOfOwner(Owner owner, TileIndex tile);
+void SetLocalPlayer(PlayerID new_player);
+
+extern PlayerByte _local_player;
+extern PlayerByte _current_player;
+/* NOSAVE: can be determined from player structs */
+extern byte _player_colors[MAX_PLAYERS];
+extern PlayerFace _player_face; ///< for player face storage in openttd.cfg
+
+bool IsHumanPlayer(PlayerID pi);
+
+static inline bool IsLocalPlayer()
+{
+ return _local_player == _current_player;
+}
+
+static inline bool IsValidPlayer(PlayerID pi)
+{
+ return IsInsideBS(pi, PLAYER_FIRST, MAX_PLAYERS);
+}
+
+static inline bool IsInteractivePlayer(PlayerID pi)
+{
+ return pi == _local_player;
+}
+
+
+
+struct HighScore {
+ char company[100];
+ StringID title; ///< NO_SAVE, has troubles with changing string-numbers.
+ uint16 score; ///< do NOT change type, will break hs.dat
+};
+
+extern HighScore _highscore_table[5][5]; // 4 difficulty-settings (+ network); top 5
+void SaveToHighScore();
+void LoadFromHighScore();
+int8 SaveHighScoreValue(const Player *p);
+int8 SaveHighScoreValueNetwork();
+
+#endif /* PLAYER_FUNC_H */