OSDN Git Service

[Refactor] #40399 Separated object_type struct from object.h to object-util.h
authorHourier <hourier@users.sourceforge.jp>
Thu, 28 May 2020 10:29:35 +0000 (19:29 +0900)
committerHourier <hourier@users.sourceforge.jp>
Thu, 28 May 2020 10:29:35 +0000 (19:29 +0900)
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/object/object-util.h [new file with mode: 0644]
src/object/object.h

index 3a47710..ffbde43 100644 (file)
     <ClInclude Include="..\..\src\autopick\autopick.h" />\r
     <ClInclude Include="..\..\src\object\death-scythe.h" />\r
     <ClInclude Include="..\..\src\object\object-mark-types.h" />\r
+    <ClInclude Include="..\..\src\object\object-util.h" />\r
     <ClInclude Include="..\..\src\object\old-ego-extra-values.h" />\r
     <ClInclude Include="..\..\src\object\special-object-flags.h" />\r
     <ClInclude Include="..\..\src\object\tr-types.h" />\r
index f5f2fa3..ff9587b 100644 (file)
     <ClInclude Include="..\..\src\object\trc-types.h">
       <Filter>object</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\object\object-util.h">
+      <Filter>object</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 2e20aaf..cc63fae 100644 (file)
@@ -206,7 +206,7 @@ hengband_SOURCES = \
        object/death-scythe.c object/death-scythe.h \
        object/tr-types.h object/trc-types.h object/tval-type.h \
        object/old-ego-extra-values.h object/special-object-flags.h \
-       object/object-mark-types.h \
+       object/object-mark-types.h object/object-util.h \
        \
        inventory/simple-appraiser.c inventory/simple-appraiser.h \
        inventory/inventory-curse.c inventory/inventory-curse.h \
diff --git a/src/object/object-util.h b/src/object/object-util.h
new file mode 100644 (file)
index 0000000..6801acb
--- /dev/null
@@ -0,0 +1,62 @@
+#pragma once
+
+#include "system/angband.h"
+#include "object/tval-types.h"
+
+#define TR_FLAG_SIZE 5
+
+typedef struct object_type {
+    KIND_OBJECT_IDX k_idx; /* Kind index (zero if "dead") */
+
+    POSITION iy; /* Y-position on map, or zero */
+    POSITION ix; /* X-position on map, or zero */
+
+    tval_type tval; /* Item type (from kind) */
+
+    OBJECT_SUBTYPE_VALUE sval; /* Item sub-type (from kind) */
+
+    PARAMETER_VALUE pval; /* Item extra-parameter */
+
+    DISCOUNT_RATE discount; /* Discount (if any) */
+
+    ITEM_NUMBER number; /* Number of items */
+
+    WEIGHT weight; /* Item weight */
+
+    ARTIFACT_IDX name1; /* Artifact type, if any */
+    EGO_IDX name2; /* Ego-Item type, if any */
+    XTRA8 xtra1; /* Extra info type (now unused) */
+
+    XTRA8 xtra2; /* Extra info activation index */
+    XTRA8 xtra3; /*!< 複数の使用用途 捕らえたモンスターの速度,付加した特殊なエッセンスID / Extra info for weaponsmith */
+    XTRA16 xtra4; /*!< 複数の使用用途 光源の残り寿命、あるいは捕らえたモンスターの現HP / Extra info fuel or captured monster's current HP */
+    XTRA16 xtra5; /*!< 複数の使用用途 捕らえたモンスターの最大HP / Extra info captured monster's max HP */
+
+    HIT_PROB to_h; /* Plusses to hit */
+    HIT_POINT to_d; /* Plusses to damage */
+    ARMOUR_CLASS to_a; /* Plusses to AC */
+
+    ARMOUR_CLASS ac; /* Normal AC */
+
+    DICE_NUMBER dd;
+    DICE_SID ds; /* Damage dice/sides */
+
+    TIME_EFFECT timeout; /* Timeout Counter */
+
+    byte ident; /* Special flags  */
+
+    byte marked; /* Object is marked */
+
+    u16b inscription; /* Inscription index */
+    u16b art_name; /* Artifact name (random artifacts) */
+
+    byte feeling; /* Game generated inscription number (eg, pseudo-id) */
+
+    BIT_FLAGS art_flags[TR_FLAG_SIZE]; /* Extra Flags for ego and artifacts */
+    BIT_FLAGS curse_flags; /* Flags for curse */
+
+    OBJECT_IDX next_o_idx; /* Next object in stack (if any) */
+    MONSTER_IDX held_m_idx; /*!< アイテムを所持しているモンスターID (いないなら 0) / Monster holding us (if any) */
+
+    ARTIFACT_BIAS_IDX artifact_bias; /*!< ランダムアーティファクト生成時のバイアスID */
+} object_type;
index b6df870..60a1ceb 100644 (file)
  * is holding the object.  Objects being held have "ix=0" and "iy=0".
  */
 
-#define TR_FLAG_SIZE           5
-
 #define OBJ_GOLD_LIST   480     /* First "gold" entry */
 #define MAX_GOLD        18      /* Number of "gold" entries */
 
-#include "object/tval-types.h"
-
-typedef struct object_type object_type;
-
-struct object_type
-{
-       KIND_OBJECT_IDX k_idx;                  /* Kind index (zero if "dead") */
-
-       POSITION iy;                    /* Y-position on map, or zero */
-       POSITION ix;                    /* X-position on map, or zero */
-
-       tval_type tval; /* Item type (from kind) */
-
-       OBJECT_SUBTYPE_VALUE sval;                      /* Item sub-type (from kind) */
-
-       PARAMETER_VALUE pval;                   /* Item extra-parameter */
-
-       DISCOUNT_RATE discount;         /* Discount (if any) */
-
-       ITEM_NUMBER number;     /* Number of items */
-
-       WEIGHT weight;          /* Item weight */
-
-       ARTIFACT_IDX name1;             /* Artifact type, if any */
-       EGO_IDX name2;                  /* Ego-Item type, if any */
-       XTRA8 xtra1;                    /* Extra info type (now unused) */
-
-       XTRA8 xtra2;                    /* Extra info activation index */
-       XTRA8 xtra3;                    /*!< 複数の使用用途 捕らえたモンスターの速度,付加した特殊なエッセンスID / Extra info for weaponsmith */
-       XTRA16 xtra4;                   /*!< 複数の使用用途 光源の残り寿命、あるいは捕らえたモンスターの現HP / Extra info fuel or captured monster's current HP */
-       XTRA16 xtra5;                   /*!< 複数の使用用途 捕らえたモンスターの最大HP / Extra info captured monster's max HP */
-
-       HIT_PROB to_h;                  /* Plusses to hit */
-       HIT_POINT to_d;                 /* Plusses to damage */
-       ARMOUR_CLASS to_a;                      /* Plusses to AC */
-
-       ARMOUR_CLASS ac;                        /* Normal AC */
-
-       DICE_NUMBER dd;
-       DICE_SID ds;            /* Damage dice/sides */
-
-       TIME_EFFECT timeout;    /* Timeout Counter */
-
-       byte ident;                     /* Special flags  */
-
-       byte marked;            /* Object is marked */
-
-       u16b inscription;       /* Inscription index */
-       u16b art_name;      /* Artifact name (random artifacts) */
-
-       byte feeling;          /* Game generated inscription number (eg, pseudo-id) */
-
-       BIT_FLAGS art_flags[TR_FLAG_SIZE];        /* Extra Flags for ego and artifacts */
-       BIT_FLAGS curse_flags;        /* Flags for curse */
-
-       OBJECT_IDX next_o_idx;  /* Next object in stack (if any) */
-       MONSTER_IDX held_m_idx; /*!< アイテムを所持しているモンスターID (いないなら 0) / Monster holding us (if any) */
-
-       ARTIFACT_BIAS_IDX artifact_bias; /*!< ランダムアーティファクト生成時のバイアスID */
-};
+#include "object/object-util.h"
 
 extern bool(*item_tester_hook)(object_type *o_ptr);
 extern bool(*get_obj_num_hook)(KIND_OBJECT_IDX k_idx);