src/player_func.h
author frosch
Thu, 11 Sep 2008 19:44:30 +0000
changeset 10108 0f63f81e09f0
parent 9659 187142ff9b6c
child 10207 c291a21b304e
permissions -rw-r--r--
(svn r14292) -Cleanup (r11128): Move an 'if' out of a loop as it does not need to be iterated. (spotted by smatz)
/* $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 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 */