diff -r eee46cb39750 -r b39bc69bb2f2 src/player_func.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/player_func.h Sun Feb 03 20:17:54 2008 +0000 @@ -0,0 +1,54 @@ +/* $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" +#include "strings_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 */