OSDN Git Service

Merge pull request #2551 from sikabane-works/release/3.0.0Alpha62 3.0.0Alpha62
authorDeskull <61610939+sikabane-works@users.noreply.github.com>
Sun, 19 Jun 2022 14:31:48 +0000 (23:31 +0900)
committerGitHub <noreply@github.com>
Sun, 19 Jun 2022 14:31:48 +0000 (23:31 +0900)
Release/3.0.0 alpha62

doxygen/Hengband.doxyfile
src/action/open-util.cpp
src/gcc-wrap
src/locale/english.cpp
src/mspell/mspell-data.cpp
src/player/player-move.cpp
src/smith/smith-tables.cpp
src/system/angband-version.h

index 53c0abc..ad44ef1 100644 (file)
@@ -38,7 +38,7 @@ PROJECT_NAME           = Hengband
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = 3.0.0Alpha61
+PROJECT_NUMBER         = 3.0.0Alpha62
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
index 6a56b97..ad20489 100644 (file)
@@ -62,7 +62,7 @@ int count_chests(PlayerType *player_ptr, POSITION *y, POSITION *x, bool trapped)
             continue;
         }
 
-        if (trapped && (!o_ptr->is_known() || chest_traps[o_ptr->pval].none())) {
+        if (trapped && (!o_ptr->is_known() || ((o_ptr->pval > 0) && chest_traps[o_ptr->pval].none()))) {
             continue;
         }
 
index 524e9f9..c057242 100755 (executable)
@@ -5,7 +5,7 @@ jp=$(grep "#define JP" autoconf.h | wc -l)
 if test $jp -eq 1; then
     # Prepare the various file paths.
     eval SRC_FILE=\${$#}
-    OBJ_FILE=$(echo $SRC_FILE | sed -E 's/\..+$/\.o/')
+    OBJ_FILE=$(echo $SRC_FILE | sed -E 's/\.[^./]+$/\.o/')
     SRC_DIR=$(
         cd $(dirname $0)
         pwd
index 086f3ed..e57c787 100644 (file)
@@ -44,32 +44,29 @@ void plural_aux(char *Name)
         strcpy(dummy, "piles of ");
         strcat(dummy, Name);
         strcpy(Name, dummy);
-        return;
     } else if (angband_strstr(Name, "Manes")) {
         return;
-    } else if (streq(&(Name[NameLen - 2]), "ey")) {
-        strcpy(&(Name[NameLen - 2]), "eys");
-    } else if (Name[NameLen - 1] == 'y') {
+    } else if (suffix(Name, "y") && !(NameLen >= 2 && is_a_vowel(Name[NameLen - 2]))) {
         strcpy(&(Name[NameLen - 1]), "ies");
-    } else if (streq(&(Name[NameLen - 4]), "ouse")) {
+    } else if (suffix(Name, "ouse")) {
         strcpy(&(Name[NameLen - 4]), "ice");
-    } else if (streq(&(Name[NameLen - 2]), "us")) {
+    } else if (suffix(Name, "us")) {
         strcpy(&(Name[NameLen - 2]), "i");
-    } else if (streq(&(Name[NameLen - 6]), "kelman")) {
+    } else if (suffix(Name, "kelman")) {
         strcpy(&(Name[NameLen - 6]), "kelmen");
-    } else if (streq(&(Name[NameLen - 8]), "wordsman")) {
+    } else if (suffix(Name, "wordsman")) {
         strcpy(&(Name[NameLen - 8]), "wordsmen");
-    } else if (streq(&(Name[NameLen - 7]), "oodsman")) {
+    } else if (suffix(Name, "oodsman")) {
         strcpy(&(Name[NameLen - 7]), "oodsmen");
-    } else if (streq(&(Name[NameLen - 7]), "eastman")) {
+    } else if (suffix(Name, "eastman")) {
         strcpy(&(Name[NameLen - 7]), "eastmen");
-    } else if (streq(&(Name[NameLen - 8]), "izardman")) {
+    } else if (suffix(Name, "izardman")) {
         strcpy(&(Name[NameLen - 8]), "izardmen");
-    } else if (streq(&(Name[NameLen - 5]), "geist")) {
+    } else if (suffix(Name, "geist")) {
         strcpy(&(Name[NameLen - 5]), "geister");
-    } else if (streq(&(Name[NameLen - 2]), "ex")) {
+    } else if (suffix(Name, "ex")) {
         strcpy(&(Name[NameLen - 2]), "ices");
-    } else if (streq(&(Name[NameLen - 2]), "lf")) {
+    } else if (suffix(Name, "lf")) {
         strcpy(&(Name[NameLen - 2]), "lves");
     } else if (suffix(Name, "ch") ||
                suffix(Name, "sh") ||
index ba0a4ed..cd268af 100644 (file)
@@ -61,7 +61,7 @@ MSpellDrsData::MSpellDrsData()
 }
 
 MSpellDrsData::MSpellDrsData(std::initializer_list<drs_type> drs)
-    : execute([drs](auto player_ptr, auto m_idx) {
+    : execute([drs = std::vector<drs_type>(drs)](auto player_ptr, auto m_idx) {
         for (auto &d : drs) {
             update_smart_learn(player_ptr, m_idx, d);
         }
index edd12f8..88897c4 100644 (file)
@@ -89,7 +89,7 @@ static void discover_hidden_things(PlayerType *player_ptr, POSITION y, POSITION
             continue;
         }
 
-        if (chest_traps[o_ptr->pval].none()) {
+        if (o_ptr->pval <= 0 || chest_traps[o_ptr->pval].none()) {
             continue;
         }
 
index becc3a3..8318591 100644 (file)
@@ -163,8 +163,8 @@ const std::unordered_map<SmithEssenceType, concptr> Smith::essence_to_name = {
     { SmithEssenceType::LITE, _("永久光源", "perm. light") },
     { SmithEssenceType::NO_TELE, _("反テレポ", "no teleport") },
 
-    { SmithEssenceType::SLAY_EVIL, _("邪悪倍打", "slay animal") },
-    { SmithEssenceType::SLAY_ANIMAL, _("動物倍打", "slay evil") },
+    { SmithEssenceType::SLAY_EVIL, _("邪悪倍打", "slay evil") },
+    { SmithEssenceType::SLAY_ANIMAL, _("動物倍打", "slay animal") },
     { SmithEssenceType::SLAY_UNDEAD, _("不死倍打", "slay undead") },
     { SmithEssenceType::SLAY_DEMON, _("悪魔倍打", "slay demon") },
     { SmithEssenceType::SLAY_ORC, _("オーク倍打", "slay orc") },
@@ -490,7 +490,7 @@ const std::vector<std::shared_ptr<ISmithInfo>> Smith::smith_info_table = {
 
     make_basic_smith_info(SmithEffectType::RESISTANCE, _("全耐性", "resistance"), SmithCategoryType::RESISTANCE, { SmithEssenceType::RES_ACID, SmithEssenceType::RES_ELEC, SmithEssenceType::RES_FIRE, SmithEssenceType::RES_COLD }, 150, { TR_RES_ACID, TR_RES_ELEC, TR_RES_FIRE, TR_RES_COLD }),
     make_info<SlayingGlovesSmithInfo>(SmithEffectType::SLAY_GLOVE, _("殺戮の小手", "gauntlets of slaying"), SmithCategoryType::ETC, { SmithEssenceType::ATTACK }, 200),
-    make_basic_smith_info(SmithEffectType::EASY_2WEAPON, _("源氏の小手", "guantlets of Genji"), SmithCategoryType::ETC, { SmithEssenceType::EASY2_WEAPON }, 20, { TR_EASY2_WEAPON }),
+    make_basic_smith_info(SmithEffectType::EASY_2WEAPON, _("源氏の小手", "gauntlets of Genji"), SmithCategoryType::ETC, { SmithEssenceType::EASY2_WEAPON }, 20, { TR_EASY2_WEAPON }),
 
     make_info<ActivationSmithInfo>(SmithEffectType::ACT_QUAKE, _("地震", "quake"), SmithCategoryType::ACTIVATION, { SmithEssenceType::EATHQUAKE }, 15, RandomArtActType::QUAKE),
     make_info<ActivationSmithInfo>(SmithEffectType::ACT_RES_ACID, _("酸耐性", "resist acid"), SmithCategoryType::ACTIVATION, { SmithEssenceType::RES_ACID }, 30, RandomArtActType::RESIST_ACID),
index 55ce4cd..55129d9 100644 (file)
@@ -23,7 +23,7 @@ constexpr std::string_view ROOT_VARIANT_NAME("Hengband");
 #define H_VER_MAJOR 3 //!< ゲームのバージョン定義(メジャー番号)
 #define H_VER_MINOR 0 //!< ゲームのバージョン定義(マイナー番号)
 #define H_VER_PATCH 0 //!< ゲームのバージョン定義(パッチ番号)
-#define H_VER_EXTRA 61 //!< ゲームのバージョン定義(エクストラ番号)
+#define H_VER_EXTRA 62 //!< ゲームのバージョン定義(エクストラ番号)
 
 /*!
  * @brief セーブファイルのバージョン(3.0.0から導入)