From 80ea32d0f4bb9b0608b977347136b46aee2b64c4 Mon Sep 17 00:00:00 2001 From: Hourier Date: Sat, 18 Jul 2020 15:21:15 +0900 Subject: [PATCH] [Refactor] #40532 Separated write_monster_flags() from wr_monster() --- src/save/monster-writer.c | 54 +++++++++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/src/save/monster-writer.c b/src/save/monster-writer.c index f6f71f3eb..ffc68f1df 100644 --- a/src/save/monster-writer.c +++ b/src/save/monster-writer.c @@ -7,64 +7,68 @@ #include "system/monster-type-definition.h" #include "util/quarks.h" -/*! - * @brief モンスター情報を書き込む / Write a "monster" record - * @param m_ptr モンスター情報保存元ポインタ - * @return なし - */ -void wr_monster(monster_type *m_ptr) +static void write_monster_flags(monster_type *m_ptr, BIT_FLAGS *flags) { - BIT_FLAGS flags = 0x00000000; if (!is_original_ap(m_ptr)) - flags |= SAVE_MON_AP_R_IDX; + *flags |= SAVE_MON_AP_R_IDX; if (m_ptr->sub_align) - flags |= SAVE_MON_SUB_ALIGN; + *flags |= SAVE_MON_SUB_ALIGN; if (monster_csleep_remaining(m_ptr)) - flags |= SAVE_MON_CSLEEP; + *flags |= SAVE_MON_CSLEEP; if (monster_fast_remaining(m_ptr)) - flags |= SAVE_MON_FAST; + *flags |= SAVE_MON_FAST; if (monster_slow_remaining(m_ptr)) - flags |= SAVE_MON_SLOW; + *flags |= SAVE_MON_SLOW; if (monster_stunned_remaining(m_ptr)) - flags |= SAVE_MON_STUNNED; + *flags |= SAVE_MON_STUNNED; if (monster_confused_remaining(m_ptr)) - flags |= SAVE_MON_CONFUSED; + *flags |= SAVE_MON_CONFUSED; if (monster_fear_remaining(m_ptr)) - flags |= SAVE_MON_MONFEAR; + *flags |= SAVE_MON_MONFEAR; if (m_ptr->target_y) - flags |= SAVE_MON_TARGET_Y; + *flags |= SAVE_MON_TARGET_Y; if (m_ptr->target_x) - flags |= SAVE_MON_TARGET_X; + *flags |= SAVE_MON_TARGET_X; if (monster_invulner_remaining(m_ptr)) - flags |= SAVE_MON_INVULNER; + *flags |= SAVE_MON_INVULNER; if (m_ptr->smart) - flags |= SAVE_MON_SMART; + *flags |= SAVE_MON_SMART; if (m_ptr->exp) - flags |= SAVE_MON_EXP; + *flags |= SAVE_MON_EXP; if (m_ptr->mflag2) - flags |= SAVE_MON_MFLAG2; + *flags |= SAVE_MON_MFLAG2; if (m_ptr->nickname) - flags |= SAVE_MON_NICKNAME; + *flags |= SAVE_MON_NICKNAME; if (m_ptr->parent_m_idx) - flags |= SAVE_MON_PARENT; + *flags |= SAVE_MON_PARENT; + + wr_u32b(*flags); +} - /*** Monster save flags ***/ - wr_u32b(flags); +/*! + * @brief モンスター情報を書き込む / Write a "monster" record + * @param m_ptr モンスター情報保存元ポインタ + * @return なし + */ +void wr_monster(monster_type *m_ptr) +{ + BIT_FLAGS flags = 0x00000000; + write_monster_flags(); /*** Write only un-obvious elements ***/ wr_s16b(m_ptr->r_idx); -- 2.11.0