OSDN Git Service

[Refactor] #3381 old_race_flags にコンストラクタを定義し、初期値を追加した。もって未初期化警告に対応した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 10 Jun 2023 02:57:58 +0000 (11:57 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 10 Jun 2023 03:01:10 +0000 (12:01 +0900)
src/monster/monster-processor-util.cpp
src/monster/monster-processor-util.h
src/monster/monster-processor.cpp

index f95db14..4f485b3 100644 (file)
@@ -35,31 +35,6 @@ turn_flags *init_turn_flags(MONSTER_IDX riding_idx, MONSTER_IDX m_idx, turn_flag
     turn_flags_ptr->did_kill_wall = false;
     return turn_flags_ptr;
 }
-
-/*!
- * @brief old_race_flags_ptr の初期化
- */
-old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr)
-{
-    old_race_flags_ptr->old_r_flags1 = 0L;
-    old_race_flags_ptr->old_r_flags2 = 0L;
-    old_race_flags_ptr->old_r_flags3 = 0L;
-    old_race_flags_ptr->old_r_resistance_flags.clear();
-    old_race_flags_ptr->old_r_ability_flags.clear();
-    old_race_flags_ptr->old_r_behavior_flags.clear();
-    old_race_flags_ptr->old_r_kind_flags.clear();
-    old_race_flags_ptr->old_r_drop_flags.clear();
-    old_race_flags_ptr->old_r_feature_flags.clear();
-
-    old_race_flags_ptr->old_r_blows0 = 0;
-    old_race_flags_ptr->old_r_blows1 = 0;
-    old_race_flags_ptr->old_r_blows2 = 0;
-    old_race_flags_ptr->old_r_blows3 = 0;
-
-    old_race_flags_ptr->old_r_cast_spell = 0;
-    return old_race_flags_ptr;
-}
-
 /*!
  * @brief coordinate_candidate の初期化
  * @param なし
index 3df776d..be5bd7e 100644 (file)
@@ -37,23 +37,25 @@ struct turn_flags {
 };
 
 struct old_race_flags {
-    BIT_FLAGS old_r_flags1;
-    BIT_FLAGS old_r_flags2;
-    BIT_FLAGS old_r_flags3;
-    BIT_FLAGS old_r_flagsr;
-    EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags;
-    EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags;
-    EnumClassFlagGroup<MonsterKindType> old_r_kind_flags;
-    EnumClassFlagGroup<MonsterResistanceType> old_r_resistance_flags;
-    EnumClassFlagGroup<MonsterDropType> old_r_drop_flags;
-    EnumClassFlagGroup<MonsterFeatureType> old_r_feature_flags;
+    old_race_flags() = default;
 
-    byte old_r_blows0;
-    byte old_r_blows1;
-    byte old_r_blows2;
-    byte old_r_blows3;
+    BIT_FLAGS old_r_flags1 = 0;
+    BIT_FLAGS old_r_flags2 = 0;
+    BIT_FLAGS old_r_flags3 = 0;
+    BIT_FLAGS old_r_flagsr = 0;
+    EnumClassFlagGroup<MonsterAbilityType> old_r_ability_flags{};
+    EnumClassFlagGroup<MonsterBehaviorType> old_r_behavior_flags{};
+    EnumClassFlagGroup<MonsterKindType> old_r_kind_flags{};
+    EnumClassFlagGroup<MonsterResistanceType> old_r_resistance_flags{};
+    EnumClassFlagGroup<MonsterDropType> old_r_drop_flags{};
+    EnumClassFlagGroup<MonsterFeatureType> old_r_feature_flags{};
 
-    byte old_r_cast_spell;
+    byte old_r_blows0 = 0;
+    byte old_r_blows1 = 0;
+    byte old_r_blows2 = 0;
+    byte old_r_blows3 = 0;
+
+    byte old_r_cast_spell = 0;
 };
 
 struct coordinate_candidate {
@@ -64,7 +66,6 @@ struct coordinate_candidate {
 
 class MonsterEntity;
 turn_flags *init_turn_flags(MONSTER_IDX riding_idx, MONSTER_IDX m_idx, turn_flags *turn_flags_ptr);
-old_race_flags *init_old_race_flags(old_race_flags *old_race_flags_ptr);
 coordinate_candidate init_coordinate_candidate(void);
 
 void store_enemy_approch_direction(int *mm, POSITION y, POSITION x);
index a82c584..30f0ef8 100644 (file)
@@ -571,7 +571,7 @@ bool process_monster_fear(PlayerType *player_ptr, turn_flags *turn_flags_ptr, MO
 void process_monsters(PlayerType *player_ptr)
 {
     old_race_flags tmp_flags;
-    old_race_flags *old_race_flags_ptr = init_old_race_flags(&tmp_flags);
+    old_race_flags *old_race_flags_ptr = &tmp_flags;
     player_ptr->current_floor_ptr->monster_noise = false;
     MonsterRaceId old_monster_race_idx = player_ptr->monster_race_idx;
     save_old_race_flags(player_ptr->monster_race_idx, old_race_flags_ptr);