1 #include "load/info-loader.h"
2 #include "game-option/runtime-arguments.h"
3 #include "load/angband-version-comparer.h"
4 #include "load/load-util.h"
5 #include "load/option-loader.h"
6 #include "system/angband.h"
7 #include "system/angband-version.h"
8 #include "view/display-messages.h"
9 #include "world/world.h"
12 * @brief セーブファイルからバージョン情報及びセーブ情報を取得する
14 * バージョン0.x.x時代のバージョン情報である場合、サポート対象外
15 * (FAKE_VERもH_VERも10台の数字のはず)
17 void rd_version_info(void)
23 load_xor_byte = current_world_ptr->sf_extra;
27 /* Old savefile will be version 0.0.0.3 */
28 rd_byte(¤t_world_ptr->h_ver_extra);
29 rd_byte(¤t_world_ptr->h_ver_patch);
30 rd_byte(¤t_world_ptr->h_ver_minor);
31 rd_byte(¤t_world_ptr->h_ver_major);
33 rd_u32b(¤t_world_ptr->sf_system);
34 rd_u32b(¤t_world_ptr->sf_when);
35 rd_u16b(¤t_world_ptr->sf_lives);
36 rd_u16b(¤t_world_ptr->sf_saves);
38 rd_u32b(&loading_savefile_version);
40 /* h_ver_majorがfake_ver_majorと同じだったころへの対策 */
41 if (fake_major - current_world_ptr->h_ver_major < FAKE_VER_PLUS)
42 current_world_ptr->h_ver_major -= FAKE_VER_PLUS;
44 load_note(format(_("バージョン %d.%d.%d のセーブデータ(SAVE%lu形式)をロード中...", "Loading a Verison %d.%d.%d savefile (SAVE%lu format)..."),
45 current_world_ptr->h_ver_major, current_world_ptr->h_ver_minor, current_world_ptr->h_ver_patch,
46 loading_savefile_version));
50 * @brief 乱数状態を読み込む / Read RNG state (added in 2.8.0)
52 void rd_randomizer(void)
57 for (int i = 0; i < RAND_DEG; i++)
58 rd_u32b(&Rand_state[i]);
62 * @brief メッセージログを読み込む / Read the saved messages
64 void rd_messages(void)
66 if (h_older_than(2, 2, 0, 75)) {
70 message_max = (int)num;
72 for (int i = 0; i < message_max; i++) {
74 rd_string(buf, sizeof(buf));
81 int message_max = (int)num;
82 for (int i = 0; i < message_max; i++) {
84 rd_string(buf, sizeof(buf));
89 void rd_system_info(void)
94 load_note(_("乱数情報をロードしました", "Loaded Randomizer Info"));
98 load_note(_("オプションをロードしました", "Loaded Option Flags"));
102 load_note(_("メッセージをロードしました", "Loaded Messages"));