OSDN Git Service

[Refactor] #1787 Habu氏の指摘に従い、race-flags2/3.h で定義されたenum値ではなくマイグレーション専用のenum class値を定義した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 16 Oct 2021 01:44:16 +0000 (10:44 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 16 Oct 2021 02:43:18 +0000 (11:43 +0900)
src/load/item-loader.cpp
src/load/lore-loader.cpp
src/load/savedata-old-flag-types.h

index 4cfc5ed..195251e 100644 (file)
@@ -117,12 +117,12 @@ void rd_item(object_type *o_ptr)
 
     /* Object flags */
     if (loading_savefile_version_is_older_than(7)) {
-        constexpr savedata_item_older_than_7_flag_type old_savefile_art_flags[] = {
-            SAVE_ITEM_OLDER_THAN_7_ART_FLAGS0,
-            SAVE_ITEM_OLDER_THAN_7_ART_FLAGS1,
-            SAVE_ITEM_OLDER_THAN_7_ART_FLAGS2,
-            SAVE_ITEM_OLDER_THAN_7_ART_FLAGS3,
-            SAVE_ITEM_OLDER_THAN_7_ART_FLAGS4,
+        constexpr SavedataItemOlderThan7FlagType old_savefile_art_flags[] = {
+            SavedataItemOlderThan7FlagType::ART_FLAGS0,
+            SavedataItemOlderThan7FlagType::ART_FLAGS1,
+            SavedataItemOlderThan7FlagType::ART_FLAGS2,
+            SavedataItemOlderThan7FlagType::ART_FLAGS3,
+            SavedataItemOlderThan7FlagType::ART_FLAGS4,
         };
         auto start = 0;
         for (auto f : old_savefile_art_flags) {
index ca37631..ce9677e 100644 (file)
@@ -3,9 +3,8 @@
 #include "load/angband-version-comparer.h"
 #include "load/load-util.h"
 #include "load/load-v1-5-0.h"
+#include "load/savedata-old-flag-types.h"
 #include "monster-race/monster-race.h"
-#include "monster-race/race-flags2.h"
-#include "monster-race/race-flags3.h"
 #include "system/monster-race-definition.h"
 #include "util/bit-flags-calculator.h"
 
@@ -13,15 +12,15 @@ static void rd_r_flags2(monster_race *r_ptr)
 {
     r_ptr->r_flags2 = rd_u32b();
     if (loading_savefile_version_is_older_than(10)) {
-        if (any_bits(r_ptr->r_flags2, RF2_XX14)) {
+        if (any_bits(r_ptr->r_flags2, SavedataLoreOlderThan10FlagType::AURA_FIRE_OLD)) {
             r_ptr->r_aura_flags.set(MonsterAuraType::FIRE);
         }
 
-        if (any_bits(r_ptr->r_flags3, RF3_XX10)) {
+        if (any_bits(r_ptr->r_flags3, SavedataLoreOlderThan10FlagType::AURA_COLD_OLD)) {
             r_ptr->r_aura_flags.set(MonsterAuraType::COLD);
         }
 
-        if (any_bits(r_ptr->r_flags2, RF2_XX15)) {
+        if (any_bits(r_ptr->r_flags2, SavedataLoreOlderThan10FlagType::AURA_ELEC_OLD)) {
             r_ptr->r_aura_flags.set(MonsterAuraType::ELEC);
         }
     }
@@ -32,7 +31,7 @@ static void rd_r_aura_flags(monster_race *r_ptr)
     if (loading_savefile_version_is_older_than(10)) {
         return;
     }
-    
+
     rd_FlagGroup(r_ptr->r_aura_flags, rd_byte);
 }
 
index d27fe81..9149a87 100644 (file)
@@ -6,10 +6,16 @@
 #pragma once
 
 //! セーブデータバージョン7でart_flagsをFlagGroupクラスに移行する前のセーブデータ有無フラグ
-enum savedata_item_older_than_7_flag_type {
-       SAVE_ITEM_OLDER_THAN_7_ART_FLAGS0 = 0x00004000,
-       SAVE_ITEM_OLDER_THAN_7_ART_FLAGS1 = 0x00008000,
-       SAVE_ITEM_OLDER_THAN_7_ART_FLAGS2 = 0x00010000,
-       SAVE_ITEM_OLDER_THAN_7_ART_FLAGS3 = 0x00020000,
-       SAVE_ITEM_OLDER_THAN_7_ART_FLAGS4 = 0x10000000,
+enum class SavedataItemOlderThan7FlagType {
+       ART_FLAGS0 = 0x00004000,
+       ART_FLAGS1 = 0x00008000,
+       ART_FLAGS2 = 0x00010000,
+       ART_FLAGS3 = 0x00020000,
+       ART_FLAGS4 = 0x10000000,
+};
+
+enum class SavedataLoreOlderThan10FlagType {
+    AURA_FIRE_OLD = 0x00004000,
+    AURA_COLD_OLD = 0x00000400,
+    AURA_ELEC_OLD = 0x00008000,
 };