mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
55 lines
1.3 KiB
C
55 lines
1.3 KiB
C
/* $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 */
|