OSDN Git Service

[Refactor] #40274 Moved definition values of sound from util.h to sound-definitions...
[hengband/hengband.git] / src / core.h
1 #pragma once
2
3 #define VERSION_NAME "Hengband" /*!< バリアント名称 / Name of the version/variant */
4
5 /*!
6  * @brief ゲームのバージョン番号定義 / "Program Version Number" of the game
7  * @details
8  * 本FAKE_VERSIONそのものは未使用である。Zangと整合性を合わせるための疑似的処理のためFAKE_VER_MAJORは実値-10が該当のバージョン番号となる。
9  * <pre>
10  * FAKE_VER_MAJOR=1,2 were reserved for ZAngband version 1.x.x/2.x.x .
11  * Program Version of Hengband version is
12  *   "(FAKE_VER_MAJOR-10).(FAKE_VER_MINOR).(FAKE_VER_PATCH)".
13  * </pre>
14  */
15 #define FAKE_VERSION 0
16
17 #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */
18 #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */
19 #define FAKE_VER_PATCH 1 /*!< ゲームのバージョン番号定義(パッチ番号) */
20 #define FAKE_VER_EXTRA 7 /*!< ゲームのバージョン番号定義(エクストラ番号) */
21
22  /*!
23   * @brief バージョンが開発版が安定版かを返す
24   */
25 #define IS_STABLE_VERSION (FAKE_VER_MINOR % 2 == 0 && FAKE_VER_EXTRA == 0)
26
27   /*!
28    * @brief セーブファイル上のバージョン定義(メジャー番号) / "Savefile Version Number" for Hengband 1.1.1 and later
29    * @details
30    * 当面FAKE_VER_*を参照しておく。
31    * <pre>
32    * First three digits may be same as the Program Version.  But not
33    * always same.  It means that newer version may preserves lower
34    * compatibility with the older version.
35    * For example, newer Hengband 1.4.4 creates savefiles marked with
36    * Savefile Version 1.4.0.0 .  It means that Hengband 1.4.0 can load a
37    * savefile of Hengband 1.4.4 (lower compatibility!).
38    * Upper compatibility is always guaranteed.
39    * </pre>
40    */
41 #define H_VER_MAJOR (FAKE_VER_MAJOR-10) /*!< セーブファイル上のバージョン定義(メジャー番号) */
42 #define H_VER_MINOR FAKE_VER_MINOR /*!< セーブファイル上のバージョン定義(マイナー番号) */
43 #define H_VER_PATCH FAKE_VER_PATCH /*!< セーブファイル上のバージョン定義(パッチ番号) */
44 #define H_VER_EXTRA FAKE_VER_EXTRA /*!< セーブファイル上のバージョン定義(エクストラ番号) */
45
46 /*
47  * Special internal key
48  */
49 #define SPECIAL_KEY_QUEST    255
50 #define SPECIAL_KEY_BUILDING 254
51 #define SPECIAL_KEY_STORE    253
52 #define SPECIAL_KEY_QUIT     252
53
54 /*
55  * todo 双方向の依存性を招いている原因の一端なので、いずれ抹殺する
56  * 但しget_aim_dir() に入れ込む必要がありとてつもない分量の変更が入る
57  * 後ほど実施する
58  */
59 extern int init_flags;
60
61 /*
62  * todo ここにいるべきではない。files.c 辺りか?
63  */
64 extern concptr ANGBAND_SYS;
65 extern concptr ANGBAND_KEYBOARD;
66 extern concptr ANGBAND_GRAF;
67
68 extern bool can_save;
69 extern COMMAND_CODE now_message;
70
71 extern bool repair_monsters;
72 extern bool repair_objects;
73
74 extern void play_game(player_type *player_ptr, bool new_game);
75 extern s32b turn_real(player_type *player_ptr, s32b hoge);
76 extern void prevent_turn_overflow(player_type *player_ptr);
77 extern void close_game(player_type *player_ptr);
78
79 extern void handle_stuff(player_type *player_ptr);
80 extern void update_output(player_type *player_ptr);