*/
static errr load_town_quest(PlayerType *player_ptr)
{
- if (h_older_than(2, 1, 3))
+ if (h_older_than(2, 1, 3)) {
return 0;
+ }
- errr load_town_result = load_town();
- if (load_town_result != 0)
+ auto load_town_result = load_town();
+ if (load_town_result != 0) {
return load_town_result;
-
+ }
+
uint16_t max_quests_load;
byte max_rquests_load;
- errr load_quest_result = load_quest_info(&max_quests_load, &max_rquests_load);
- if (load_quest_result != 0)
+ auto load_quest_result = load_quest_info(&max_quests_load, &max_rquests_load);
+ if (load_quest_result != 0) {
return load_quest_result;
+ }
analyze_quests(player_ptr, max_quests_load, max_rquests_load);
*/
static void rd_total_play_time()
{
- if (loading_savefile_version_is_older_than(4))
+ if (loading_savefile_version_is_older_than(4)) {
return;
-
+ }
+
w_ptr->sf_play_time = rd_u32b();
}
*/
static void rd_winner_class()
{
- if (loading_savefile_version_is_older_than(4))
+ if (loading_savefile_version_is_older_than(4)) {
return;
+ }
rd_FlagGroup(w_ptr->sf_winner, rd_byte);
rd_FlagGroup(w_ptr->sf_retired, rd_byte);
rd_global_configurations(player_ptr);
rd_extra(player_ptr);
- if (player_ptr->energy_need < -999)
+ if (player_ptr->energy_need < -999) {
player_ptr->timewalk = true;
+ }
load_note(_("特別情報をロードしました", "Loaded extra information"));
}
return 25;
}
- for (int i = 0; i < tmp16u; i++) {
+ for (auto i = 0; i < tmp16u; i++) {
player_ptr->player_hp[i] = rd_s16b();
}
player_ptr->spell_worked2 = rd_u32b();
player_ptr->spell_forgotten1 = rd_u32b();
player_ptr->spell_forgotten2 = rd_u32b();
-
- if (h_older_than(0, 0, 5))
+ if (h_older_than(0, 0, 5)) {
set_zangband_learnt_spells(player_ptr);
- else
+ } else {
player_ptr->learned_spells = rd_s16b();
+ }
- if (h_older_than(0, 0, 6))
+ if (h_older_than(0, 0, 6)) {
player_ptr->add_spells = 0;
- else
+ } else {
player_ptr->add_spells = rd_s16b();
+ }
}
static errr verify_checksum()
{
auto n_v_check = v_check;
- if (rd_u32b() == n_v_check)
+ if (rd_u32b() == n_v_check) {
return 0;
+ }
load_note(_("チェックサムがおかしい", "Invalid checksum"));
return 11;
static errr verify_encoded_checksum()
{
auto n_x_check = x_check;
- if (rd_u32b() == n_x_check)
+ if (rd_u32b() == n_x_check) {
return 0;
+ }
load_note(_("エンコードされたチェックサムがおかしい", "Invalid encoded checksum"));
return 11;
load_lore();
auto item_loader = ItemLoaderFactory::create_loader();
item_loader->load_item();
- errr load_town_quest_result = load_town_quest(player_ptr);
- if (load_town_quest_result != 0)
+ auto load_town_quest_result = load_town_quest(player_ptr);
+ if (load_town_quest_result != 0) {
return load_town_quest_result;
+ }
load_note(_("クエスト情報をロードしました", "Loaded Quests"));
item_loader->load_artifact();
load_player_world(player_ptr);
- errr load_hp_result = load_hp(player_ptr);
- if (load_hp_result != 0)
+ auto load_hp_result = load_hp(player_ptr);
+ if (load_hp_result != 0) {
return load_hp_result;
+ }
auto short_pclass = enum2i(player_ptr->pclass);
sp_ptr = &sex_info[player_ptr->psex];
mp_ptr = &m_info[short_pclass];
load_spells(player_ptr);
- if (player_ptr->pclass == PlayerClassType::MINDCRAFTER)
+ if (player_ptr->pclass == PlayerClassType::MINDCRAFTER) {
player_ptr->add_spells = 0;
+ }
- errr load_inventory_result = load_inventory(player_ptr);
- if (load_inventory_result != 0)
+ auto load_inventory_result = load_inventory(player_ptr);
+ if (load_inventory_result != 0) {
return load_inventory_result;
+ }
load_store(player_ptr);
player_ptr->pet_follow_distance = rd_s16b();
- if (h_older_than(0, 4, 10))
+ if (h_older_than(0, 4, 10)) {
set_zangband_pet(player_ptr);
- else
+ } else {
player_ptr->pet_extra_flags = rd_u16b();
+ }
if (!h_older_than(1, 0, 9)) {
std::vector<char> buf(SCREEN_BUF_MAX_SIZE);
rd_string(buf.data(), SCREEN_BUF_MAX_SIZE);
- if (buf[0])
+ if (buf[0]) {
screen_dump = string_make(buf.data());
+ }
}
- errr restore_dungeon_result = restore_dungeon(player_ptr);
- if (restore_dungeon_result != 0)
+ auto restore_dungeon_result = restore_dungeon(player_ptr);
+ if (restore_dungeon_result != 0) {
return restore_dungeon_result;
+ }
- if (h_older_than(1, 7, 0, 6))
+ if (h_older_than(1, 7, 0, 6)) {
remove_water_cave(player_ptr);
+ }
- errr checksum_result = verify_checksum();
- if (checksum_result != 0)
+ auto checksum_result = verify_checksum();
+ if (checksum_result != 0) {
return checksum_result;
+ }
return verify_encoded_checksum();
}
safe_setuid_grab(player_ptr);
loading_savefile = angband_fopen(savefile, "rb");
safe_setuid_drop();
- if (!loading_savefile)
+ if (!loading_savefile) {
return -1;
+ }
errr err = exe_reading_savefile(player_ptr);
- if (ferror(loading_savefile))
+ if (ferror(loading_savefile)) {
err = -1;
+ }
angband_fclose(loading_savefile);
return err;
*/
bool load_savedata(PlayerType *player_ptr, bool *new_game)
{
- concptr what = "generic";
+ auto what = "generic";
w_ptr->game_turn = 0;
player_ptr->is_dead = false;
- if (!savefile[0])
+ if (!savefile[0]) {
return true;
+ }
#ifndef WINDOWS
if (access(savefile, 0) < 0) {
}
#endif
- bool err = false;
- int fd = -1;
+ auto err = false;
+ auto fd = -1;
char tmp_ver[14]{};
if (!err) {
fd = fd_open(savefile, O_RDONLY);
- if (fd < 0)
+ if (fd < 0) {
err = true;
+ }
- if (err)
+ if (err) {
what = _("セーブファイルを開けません", "Cannot open savefile");
+ }
}
if (!err) {
if (!err) {
term_clear();
- if (rd_savefile(player_ptr))
+ if (rd_savefile(player_ptr)) {
err = true;
- if (err)
+ }
+
+ if (err) {
what = _("セーブファイルを解析出来ません。", "Cannot parse savefile");
+ }
}
if (!err) {
- if (!w_ptr->game_turn)
+ if (!w_ptr->game_turn) {
err = true;
+ }
- if (err)
+ if (err) {
what = _("セーブファイルが壊れています", "Broken savefile");
+ }
}
if (err) {
msg_format(_("エラー(%s)がバージョン%d.%d.%d.%d 用セーブファイル読み込み中に発生。", "Error (%s) reading %d.%d.%d.% savefile."), what,
w_ptr->h_ver_major, w_ptr->h_ver_minor, w_ptr->h_ver_patch, w_ptr->h_ver_extra);
-
msg_print(nullptr);
return false;
}
msg_print(nullptr);
return false;
}
+
player_ptr->is_dead = true;
player_ptr->wait_report_score = false;
}
}
w_ptr->character_loaded = true;
- uint32_t tmp = counts_read(player_ptr, 2);
+ auto tmp = counts_read(player_ptr, 2);
if (tmp > player_ptr->count)
player_ptr->count = tmp;
- if (counts_read(player_ptr, 0) > w_ptr->play_time || counts_read(player_ptr, 1) == w_ptr->play_time)
+ if (counts_read(player_ptr, 0) > w_ptr->play_time || counts_read(player_ptr, 1) == w_ptr->play_time) {
counts_write(player_ptr, 2, ++player_ptr->count);
+ }
counts_write(player_ptr, 1, w_ptr->play_time);
return true;