* @brief 変愚蛮怒 v2.1.3で追加された街とクエストについて読み込む
* @param player_ptr プレイヤーへの参照ポインタ
* @return エラーコード
+ * @details 旧海底都市クエスト (クエストNo.18)は廃止済
*/
static errr load_town_quest(PlayerType *player_ptr)
{
return load_town_result;
}
- uint16_t max_quests_load;
- byte max_rquests_load;
- load_quest_info(&max_quests_load, &max_rquests_load);
-
+ auto [max_quests_load, max_rquests_load] = load_quest_info();
analyze_quests(player_ptr, max_quests_load, max_rquests_load);
-
- /* Quest 18 was removed */
if (h_older_than(1, 7, 0, 6)) {
auto &quest_list = QuestList::get_instance();
quest_list[i2enum<QuestId>(OLD_QUEST_WATER_CAVE)] = {};
return 23;
}
-void load_quest_info(uint16_t *max_quests_load, byte *max_rquests_load)
+std::tuple<uint16_t, byte> load_quest_info()
{
- *max_quests_load = rd_u16b();
+ auto max_quests_load = rd_u16b();
+ byte max_rquests_load;
if (h_older_than(1, 0, 7)) {
- *max_rquests_load = 10;
+ max_rquests_load = 10;
} else {
- *max_rquests_load = rd_byte();
+ max_rquests_load = rd_byte();
}
+
+ return std::make_tuple(max_quests_load, max_rquests_load);
}
static void load_quest_completion(quest_type *q_ptr)
#pragma once
#include "system/angband.h"
+#include <tuple>
class PlayerType;
errr load_town(void);
-void load_quest_info(uint16_t *max_quests_load, byte *max_rquests_load);
+std::tuple<uint16_t, byte> load_quest_info();
void analyze_quests(PlayerType *player_ptr, const uint16_t max_quests_load, const byte max_rquests_load);