OSDN Git Service

[Refactor] #2769 town_type::name をchar[] からstring に変えた
authorHourier <66951241+Hourier@users.noreply.github.com>
Sun, 14 May 2023 04:58:49 +0000 (13:58 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 14 May 2023 06:55:43 +0000 (15:55 +0900)
src/cmd-io/cmd-dump.cpp
src/floor/floor-town.h
src/floor/wild.cpp
src/spell-kind/spells-world.cpp
src/store/rumor.cpp
src/target/target-describer.cpp

index 9a6cb02..d393ee4 100644 (file)
@@ -235,7 +235,7 @@ void do_cmd_feeling(PlayerType *player_ptr)
     }
 
     if (player_ptr->town_num && !floor_ref.is_in_dungeon()) {
-        if (!strcmp(towns_info[player_ptr->town_num].name, _("荒野", "wilderness"))) {
+        if (towns_info[player_ptr->town_num].name == _("荒野", "wilderness")) {
             msg_print(_("何かありそうな荒野のようだ。", "Looks like a strange wilderness."));
             return;
         }
index 9769f85..6abb183 100644 (file)
@@ -2,6 +2,7 @@
 
 #include "store/store-util.h"
 #include "system/angband.h"
+#include <string>
 #include <vector>
 
 /*
@@ -9,7 +10,7 @@
  * stores and buildings
  */
 struct town_type {
-    GAME_TEXT name[32];
+    std::string name;
     std::vector<store_type> store; /* The stores [MAX_STORES] */
 };
 
index 3766b9d..b63bce6 100644 (file)
@@ -743,7 +743,7 @@ parse_error_type parse_line_wilderness(PlayerType *player_ptr, char *buf, int xm
             wilderness[*y][*x].level = w_letter[id].level;
             wilderness[*y][*x].town = w_letter[id].town;
             wilderness[*y][*x].road = w_letter[id].road;
-            strcpy(towns_info[w_letter[id].town].name, w_letter[id].name);
+            towns_info[w_letter[id].town].name = w_letter[id].name;
         }
 
         (*y)++;
index 665cefa..8b598e1 100644 (file)
@@ -297,7 +297,7 @@ bool tele_town(PlayerType *player_ptr)
             continue;
         }
 
-        strnfmt(buf, sizeof(buf), "%c) %-20s", I2A(i - 1), towns_info[i].name);
+        strnfmt(buf, sizeof(buf), "%c) %-20s", I2A(i - 1), towns_info[i].name.data());
         prt(buf, 5 + i, 5);
         num++;
     }
index a82ca48..0578630 100644 (file)
@@ -167,7 +167,7 @@ void display_rumor(PlayerType *player_ptr, bool ex)
         const auto &town_name = tokens[1];
         while (true) {
             t_idx = get_rumor_num(town_name, VALID_TOWNS);
-            if (towns_info[t_idx].name[0] != '\0') {
+            if (!towns_info[t_idx].name.empty()) {
                 break;
             }
         }
index 6d07bce..c908e5e 100644 (file)
@@ -490,7 +490,7 @@ static std::string decide_target_floor(PlayerType *player_ptr, eg_type *eg_ptr)
         return _("道", "road");
     }
 
-    return eg_ptr->f_ptr->name.data();
+    return eg_ptr->f_ptr->name;
 }
 
 static void describe_grid_monster_all(eg_type *eg_ptr)