OSDN Git Service

Merge branch 'master' of git.osdn.net:/gitroot/hengband/hengband
[hengband/hengband.git] / src / core / scores.h
1 #pragma once
2
3 #include "io/files-util.h"
4 #include "system/angband.h"
5
6 /*
7  * Semi-Portable High Score List Entry (128 bytes) -- BEN
8  *
9  * All fields listed below are null terminated ascii strings.
10  *
11  * In addition, the "number" fields are right justified, and
12  * space padded, to the full available length (minus the "null").
13  *
14  * Note that "string comparisons" are thus valid on "pts".
15  */
16 typedef struct high_score
17 {
18         GAME_TEXT what[8];              /* Version info (string) */
19         GAME_TEXT pts[10];              /* Total Score (number) */
20         GAME_TEXT gold[10];             /* Total Gold (number) */
21         GAME_TEXT turns[10];            /* Turns Taken (number) */
22         GAME_TEXT day[10];              /* Time stamp (string) */
23         GAME_TEXT who[16];              /* Player Name (string) */
24         GAME_TEXT uid[8];               /* Player UID (number) */
25         GAME_TEXT sex[2];               /* Player Sex (string) */
26         GAME_TEXT p_r[3];               /* Player Race (number) */
27         GAME_TEXT p_c[3];               /* Player Class (number) */
28         GAME_TEXT p_a[3];               /* Player Seikaku (number) */
29
30         GAME_TEXT cur_lev[4];           /* Current Player Level (number) */
31         GAME_TEXT cur_dun[4];           /* Current Dungeon Level (number) */
32         GAME_TEXT max_lev[4];           /* Max Player Level (number) */
33         GAME_TEXT max_dun[4];           /* Max Dungeon Level (number) */
34
35         GAME_TEXT how[40];              /* Method of death (string) */
36 } high_score;
37
38 #define MAX_HISCORES    999 /*!< スコア情報保存の最大数 / Maximum number of high scores in the high score file */
39
40 extern int highscore_fd;
41
42 void display_scores_aux(int from, int to, int note, high_score *score);
43 void display_scores(int from, int to);
44 void kingly(player_type *winner_ptr);
45 bool send_world_score(player_type *current_player_ptr, bool do_send, void(*update_playtime)(void), display_player_pf display_player);
46 errr top_twenty(player_type *current_player_ptr);
47 errr predict_score(player_type *current_player_ptr);
48 void race_legends(player_type *current_player_ptr);
49 void race_score(player_type *current_player_ptr, int race_num);
50 void show_highclass(player_type *current_player_ptr);
51 bool check_score(player_type *current_player_ptr);