File diff r8263:00e828e1ab1f → r8264:d493cb51fe8a
src/player_func.h
Show inline comments
 
/* $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 */