OSDN Git Service

[Fix] #1713 Habu氏の指摘を元にコードを見直したところロジックが間違っていた (単純に死亡したセーブデータが読み込めなくなっていた)ので修正した
authorHourier <66951241+Hourier@users.noreply.github.com>
Mon, 14 Feb 2022 12:55:53 +0000 (21:55 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Tue, 15 Feb 2022 09:40:37 +0000 (18:40 +0900)
src/load/load.cpp

index 6e703a4..a40ed16 100644 (file)
@@ -308,10 +308,6 @@ static bool on_read_save_data_not_supported(PlayerType *player_ptr, bool *new_ga
 
     player_ptr->is_dead = true;
     player_ptr->wait_report_score = false;
-    if (!player_ptr->is_dead) {
-        return true;
-    }
-
     *new_game = true;
     player_ptr->is_dead = false;
     w_ptr->sf_lives++;
@@ -449,6 +445,13 @@ bool load_savedata(PlayerType *player_ptr, bool *new_game)
         return on_read_save_data_not_supported(player_ptr, new_game);
     }
 
+    if (player_ptr->is_dead) {
+        *new_game = true;
+        player_ptr->is_dead = false;
+        w_ptr->sf_lives++;
+        return true;
+    }
+
     w_ptr->character_loaded = true;
     auto tmp = counts_read(player_ptr, 2);
     if (tmp > player_ptr->count)