OSDN Git Service

[Refactor] セーブデータ、misc.txt 関連以外を max_q_idx に依存しないようにした
authorSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Thu, 10 Mar 2022 16:36:54 +0000 (01:36 +0900)
committerSlimebreath6078 <slimebreath6078@yahoo.co.jp>
Fri, 11 Mar 2022 01:16:03 +0000 (10:16 +0900)
セーブデータは別コミットで、 misc.txt は max_q_idx の削除と共に処理する

src/main-win/main-win-music.cpp
src/wizard/wizard-game-modifier.cpp

index 5dca449..0cf0dce 100644 (file)
@@ -80,7 +80,7 @@ static concptr dungeon_key_at(int index, char *buf)
  */
 static concptr quest_key_at(int index, char *buf)
 {
-    if (index >= static_cast<int>(max_q_idx)) {
+    if (index > enum2i(quest_map.rbegin()->first)) {
         return nullptr;
     }
 
index 5df3ecd..d4c2924 100644 (file)
@@ -107,7 +107,8 @@ void wiz_enter_quest(PlayerType *player_ptr)
     char ppp[30];
     char tmp_val[5];
     int tmp_int;
-    sprintf(ppp, "QuestID (0-%d):", max_q_idx - 1);
+    const auto quest_max = enum2i(quest_map.rbegin()->first);
+    sprintf(ppp, "QuestID (0-%u):", quest_max);
     sprintf(tmp_val, "%d", 0);
 
     if (!get_string(ppp, tmp_val, 3)) {
@@ -115,7 +116,7 @@ void wiz_enter_quest(PlayerType *player_ptr)
     }
 
     tmp_int = atoi(tmp_val);
-    if ((tmp_int < 0) || (tmp_int >= max_q_idx)) {
+    if ((tmp_int < 0) || (tmp_int > quest_max)) {
         return;
     }