OSDN Git Service

Merge pull request #3169 from Hourier/Unify-Pragma-Once
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 22 Apr 2023 13:40:49 +0000 (22:40 +0900)
committerGitHub <noreply@github.com>
Sat, 22 Apr 2023 13:40:49 +0000 (22:40 +0900)
インクルードガードを#pragma once に統一した

lib/edit/MonsterRaceDefinitions.txt
src/object/object-stack.cpp

index ccd677f..2ff3876 100644 (file)
@@ -14284,12 +14284,14 @@ F:EMPTY_MIND | BASH_DOOR | POWERFUL | SELF_LITE_2 |
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS |
 F:RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_NETH | RES_DISE |
 F:RES_WALL | RES_INER | RES_TIME | RES_GRAV | RES_PLAS | RES_NEXU | RES_SHAR |
+F:RES_VOID | RES_ABYSS
 F:NO_CONF | NO_SLEEP | NO_FEAR | NO_STUN | NONLIVING | 
 S:1_IN_6 | 
 S:BR_ACID | BR_FIRE | BR_COLD | BR_ELEC | BR_POIS | 
 S:BR_LITE | BR_DARK | BR_SOUN | BR_CONF | BR_CHAO |
 S:BR_NETH | BR_DISE | BR_FORC | BR_INER | BR_TIME | 
-S:BR_GRAV | BR_PLAS | BR_NEXU | BR_SHAR | BR_NUKE
+S:BR_GRAV | BR_PLAS | BR_NEXU | BR_SHAR | BR_NUKE |
+S:BR_VOID | BR_ABYSS
 V:150
 D:$An awesome vortex of pure magic, power radiates from its frame.
 D:純粋に魔力のみでできた恐るべき渦巻きで、辺りに魔力を発散している。
@@ -15986,12 +15988,14 @@ F:BASH_DOOR | AURA_FIRE | AURA_ELEC | AURA_COLD | SELF_LITE_2 |
 F:ANIMAL | IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | 
 F:RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_NETH | RES_DISE |
 F:RES_WALL | RES_INER | RES_TIME | RES_GRAV | RES_PLAS | RES_NEXU | RES_SHAR |
+F:RES_VOID | RES_ABYSS
 F:NO_CONF | NO_SLEEP
 S:1_IN_5 | 
 S:BR_ACID | BR_FIRE | BR_COLD | BR_ELEC | BR_POIS | 
 S:BR_LITE | BR_DARK | BR_SOUN | BR_CONF | BR_CHAO |
 S:BR_NETH | BR_DISE | BR_FORC | BR_INER | BR_TIME | 
-S:BR_GRAV | BR_PLAS | BR_NEXU | BR_SHAR | BR_NUKE
+S:BR_GRAV | BR_PLAS | BR_NEXU | BR_SHAR | BR_NUKE |
+S:BR_VOID | BR_ABYSS
 V:150
 D:$A shifting, swirling form.  It seems to be all colours and sizes and 
 D:$shapes, though the dominant form is that of a huge dog.  You feel very 
@@ -17065,14 +17069,14 @@ F:DRAGON | GOOD | DROP_CORPSE | SELF_LITE_2 |
 F:IM_ACID | IM_FIRE | IM_COLD | IM_ELEC | IM_POIS | NO_CONF | NO_SLEEP |
 F:RES_NETH | RES_LITE | RES_DARK | RES_SOUN | RES_CHAO | RES_DISE |
 F:RES_NEXU | RES_TIME | RES_INER | RES_GRAV | RES_SHAR | RES_PLAS |
-F:RES_WALL | RES_TELE | RIDING |
+F:RES_WALL | RES_TELE | RES_VOID | RES_ABYSS | RIDING |
 S:1_IN_3 |
 S:S_HI_DRAGON | S_DRAGON | S_KIN |
 S:BR_NUKE | BR_ACID | BR_ELEC | BR_FIRE |
 S:BR_COLD | BR_POIS | BR_NETH | BR_LITE | BR_DARK |
 S:BR_CONF | BR_SOUN | BR_CHAO | BR_DISE | BR_NEXU |
 S:BR_TIME | BR_INER | BR_GRAV | BR_SHAR | BR_PLAS |
-S:BR_FORC | BR_MANA | BR_DISI
+S:BR_FORC | BR_MANA | BR_DISI | BR_VOID | BR_ABYSS
 V:200
 D:$The mightiest of all dragonkind, a great wyrm of power is seldom 
 D:$encountered in our world. It can crush stars with its might.
@@ -18867,6 +18871,7 @@ F:EVIL | ANIMAL | GOOD | AURA_COLD | NONLIVING | HURT_ROCK |
 F:IM_ACID | IM_ELEC | IM_FIRE | IM_COLD | IM_POIS | HUMAN | ANGEL
 F:RES_LITE | RES_DARK | RES_NETH | RES_WATE | RES_PLAS | RES_SHAR | RES_SOUN |
 F:RES_CHAO | RES_NEXU | RES_DISE | RES_WALL | RES_INER | RES_TIME | RES_GRAV |
+F:RES_VOID | RES_ABYSS | 
 F:RES_TELE | NO_FEAR | NO_STUN | NO_CONF | NO_SLEEP |
 F:CAN_SWIM | CAN_FLY | UNIQUE2 | WILD_SHORE |
 F:WILD_OCEAN | WILD_WASTE | WILD_WOOD | WILD_VOLCANO | WILD_MOUNTAIN |
@@ -18877,6 +18882,7 @@ S:BR_ELEC | BR_FIRE | BR_COLD | BR_POIS | BR_NETH | BR_LITE | BR_DARK | BR_CONF
 S:BR_SOUN | BR_CHAO | BR_DISE | BR_NEXU | BR_TIME | BR_INER | BR_GRAV | BR_SHAR |
 S:BR_PLAS | BR_FORC | BR_MANA | BA_NUKE | BR_NUKE | BA_CHAO | BR_DISI | BA_ACID |
 S:BA_ELEC | BA_FIRE | BA_COLD | BA_POIS | BA_NETH | BA_WATE | BA_MANA | BA_DARK |
+S:BA_ABYSS | BA_VOID | BR_ABYSS | BR_VOID | BO_ABYSS | BO_VOID
 S:DRAIN_MANA | MIND_BLAST| BRAIN_SMASH | CAUSE_1 | CAUSE_2 | CAUSE_3 | CAUSE_4 |
 S:BO_ACID | BO_ELEC | BO_FIRE | BO_COLD | BO_NETH | BO_WATE | BO_MANA |
 S:BO_PLAS | BO_ICEE | MISSILE | BLIND | CONF | SLOW | HOLD | HASTE | HAND_DOOM |
index 8ec9a9c..171a6a7 100644 (file)
@@ -16,6 +16,7 @@
 #include "sv-definition/sv-other-types.h"
 #include "system/baseitem-info.h"
 #include "system/item-entity.h"
+#include "util/bit-flags-calculator.h"
 
 /*!
  * @brief 魔法棒やロッドのスロット分割時に使用回数を分配する /
@@ -80,18 +81,17 @@ void reduce_charges(ItemEntity *o_ptr, int amt)
  */
 int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
 {
-    const int max_stack_size = 99;
-    int max_num = max_stack_size;
     if (o_ptr->bi_id != j_ptr->bi_id) {
         return 0;
     }
 
+    constexpr auto max_stack_size = 99;
+    auto max_num = max_stack_size;
     switch (o_ptr->bi_key.tval()) {
     case ItemKindType::CHEST:
     case ItemKindType::CARD:
-    case ItemKindType::CAPTURE: {
+    case ItemKindType::CAPTURE:
         return 0;
-    }
     case ItemKindType::STATUE: {
         const auto o_sval = o_ptr->bi_key.sval();
         const auto j_sval = j_ptr->bi_key.sval();
@@ -102,20 +102,18 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
         break;
     }
     case ItemKindType::FIGURINE:
-    case ItemKindType::CORPSE: {
+    case ItemKindType::CORPSE:
         if (o_ptr->pval != j_ptr->pval) {
             return 0;
         }
 
         break;
-    }
     case ItemKindType::FOOD:
     case ItemKindType::POTION:
-    case ItemKindType::SCROLL: {
+    case ItemKindType::SCROLL:
         break;
-    }
-    case ItemKindType::STAFF: {
-        if ((!(o_ptr->ident & (IDENT_EMPTY)) && !o_ptr->is_known()) || (!(j_ptr->ident & (IDENT_EMPTY)) && !j_ptr->is_known())) {
+    case ItemKindType::STAFF:
+        if ((none_bits(o_ptr->ident, IDENT_EMPTY) && !o_ptr->is_known()) || (none_bits(j_ptr->ident, IDENT_EMPTY) && !j_ptr->is_known())) {
             return 0;
         }
 
@@ -124,18 +122,15 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
         }
 
         break;
-    }
-    case ItemKindType::WAND: {
+    case ItemKindType::WAND:
         if ((!(o_ptr->ident & (IDENT_EMPTY)) && !o_ptr->is_known()) || (!(j_ptr->ident & (IDENT_EMPTY)) && !j_ptr->is_known())) {
             return 0;
         }
 
         break;
-    }
-    case ItemKindType::ROD: {
+    case ItemKindType::ROD:
         max_num = std::min(max_num, MAX_SHORT / baseitems_info[o_ptr->bi_id].pval);
         break;
-    }
     case ItemKindType::GLOVES:
         if (o_ptr->is_glove_same_temper(j_ptr)) {
             return 0;
@@ -155,6 +150,10 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
             return 0;
         }
 
+        if (!o_ptr->is_known() || !j_ptr->is_known()) {
+            return 0;
+        }
+
         if (!o_ptr->can_pile(j_ptr)) {
             return 0;
         }
@@ -193,14 +192,13 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
         }
 
         break;
-    default: {
+    default:
         if (!o_ptr->is_known() || !j_ptr->is_known()) {
             return 0;
         }
 
         break;
     }
-    }
 
     if (o_ptr->art_flags != j_ptr->art_flags) {
         return 0;
@@ -209,7 +207,8 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
     if (o_ptr->curse_flags != j_ptr->curse_flags) {
         return 0;
     }
-    if ((o_ptr->ident & (IDENT_BROKEN)) != (j_ptr->ident & (IDENT_BROKEN))) {
+
+    if (any_bits(o_ptr->ident, IDENT_BROKEN) != any_bits(j_ptr->ident, IDENT_BROKEN)) {
         return 0;
     }
 
@@ -220,6 +219,7 @@ int object_similar_part(const ItemEntity *o_ptr, const ItemEntity *j_ptr)
     if (!stack_force_notes && (o_ptr->inscription != j_ptr->inscription)) {
         return 0;
     }
+
     if (!stack_force_costs && (o_ptr->discount != j_ptr->discount)) {
         return 0;
     }