author | rubidium |
Thu, 17 Jul 2008 20:13:01 +0000 | |
changeset 9652 | 0405e98d8e96 |
parent 8264 | b1e85998c7d3 |
child 9659 | 187142ff9b6c |
permissions | -rw-r--r-- |
8254
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
1 |
/* $Id$ */ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
2 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
3 |
/** @file player_func.h Functions related to players. */ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
4 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
5 |
#ifndef PLAYER_FUNC_H |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
6 |
#define PLAYER_FUNC_H |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
7 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
8 |
#include "core/math_func.hpp" |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
9 |
#include "player_type.h" |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
10 |
#include "tile_type.h" |
8264
b1e85998c7d3
(svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h.
rubidium
parents:
8254
diff
changeset
|
11 |
#include "strings_type.h" |
8254
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
12 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
13 |
void ChangeOwnershipOfPlayerItems(PlayerID old_player, PlayerID new_player); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
14 |
void GetNameOfOwner(Owner owner, TileIndex tile); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
15 |
void SetLocalPlayer(PlayerID new_player); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
16 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
17 |
extern PlayerByte _local_player; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
18 |
extern PlayerByte _current_player; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
19 |
/* NOSAVE: can be determined from player structs */ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
20 |
extern byte _player_colors[MAX_PLAYERS]; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
21 |
extern PlayerFace _player_face; ///< for player face storage in openttd.cfg |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
22 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
23 |
bool IsHumanPlayer(PlayerID pi); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
24 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
25 |
static inline bool IsLocalPlayer() |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
26 |
{ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
27 |
return _local_player == _current_player; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
28 |
} |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
29 |
|
9652
0405e98d8e96
(svn r13719) -Codechange: rename IsValidPlayer to IsValidPlayerID in line with all other structs/classes that are in a pool.
rubidium
parents:
8264
diff
changeset
|
30 |
static inline bool IsValidPlayerID(PlayerID pi) |
8254
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
31 |
{ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
32 |
return IsInsideBS(pi, PLAYER_FIRST, MAX_PLAYERS); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
33 |
} |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
34 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
35 |
static inline bool IsInteractivePlayer(PlayerID pi) |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
36 |
{ |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
37 |
return pi == _local_player; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
38 |
} |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
39 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
40 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
41 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
42 |
struct HighScore { |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
43 |
char company[100]; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
44 |
StringID title; ///< NO_SAVE, has troubles with changing string-numbers. |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
45 |
uint16 score; ///< do NOT change type, will break hs.dat |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
46 |
}; |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
47 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
48 |
extern HighScore _highscore_table[5][5]; // 4 difficulty-settings (+ network); top 5 |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
49 |
void SaveToHighScore(); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
50 |
void LoadFromHighScore(); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
51 |
int8 SaveHighScoreValue(const Player *p); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
52 |
int8 SaveHighScoreValueNetwork(); |
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
53 |
|
1496654ca5e7
(svn r11818) -Codechange: split player.h into smaller pieces.
rubidium
parents:
diff
changeset
|
54 |
#endif /* PLAYER_FUNC_H */ |