From 98b3034f463714f83b3c3f666a6bc3e6ae8f6c64 Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sun, 2 Jun 2024 12:31:32 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#3654=20TerrainList::[]=20(?= =?utf8?q?=E9=9D=9Econst)=20=E3=82=92get=5Fterrain()=20=E3=81=AB=E5=B7=AE?= =?utf8?q?=E3=81=97=E6=9B=BF=E3=81=88=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/action/open-close-execution.cpp | 2 +- src/cmd-visual/cmd-visuals.cpp | 4 ++-- src/floor/cave.cpp | 2 +- src/floor/floor-streams.cpp | 4 ++-- src/floor/object-allocator.cpp | 2 +- src/grid/feature.cpp | 8 ++++---- src/grid/grid.cpp | 12 ++++++------ src/info-reader/feature-reader.cpp | 4 ++-- src/io/interpret-pref-file.cpp | 2 +- src/knowledge/knowledge-features.cpp | 4 ++-- src/monster/monster-info.cpp | 2 +- src/player/player-move.cpp | 2 +- src/room/rooms-trap.cpp | 2 +- src/system/grid-type-definition.cpp | 20 ++++++++++---------- src/system/terrain-type-definition.cpp | 2 +- src/system/terrain-type-definition.h | 2 +- src/target/target-describer.cpp | 2 +- src/view/display-map.cpp | 8 ++++---- src/view/display-store.cpp | 2 +- src/window/display-sub-windows.cpp | 2 +- 20 files changed, 44 insertions(+), 44 deletions(-) diff --git a/src/action/open-close-execution.cpp b/src/action/open-close-execution.cpp index ca21eae8c..dbf4d3cf1 100644 --- a/src/action/open-close-execution.cpp +++ b/src/action/open-close-execution.cpp @@ -115,7 +115,7 @@ bool exe_close(PlayerType *player_ptr, POSITION y, POSITION x) const auto closed_feat = feat_state(player_ptr->current_floor_ptr, terrain_id, TerrainCharacteristics::CLOSE); auto is_preventing = !grid.o_idx_list.empty() || grid.is_object(); is_preventing &= closed_feat != terrain_id; - is_preventing &= TerrainList::get_instance()[closed_feat].flags.has_not(TerrainCharacteristics::DROP); + is_preventing &= TerrainList::get_instance().get_terrain(closed_feat).flags.has_not(TerrainCharacteristics::DROP); if (is_preventing) { msg_print(_("何かがつっかえて閉まらない。", "Something prevents it from closing.")); return more; diff --git a/src/cmd-visual/cmd-visuals.cpp b/src/cmd-visual/cmd-visuals.cpp index e8025547c..c02b21508 100644 --- a/src/cmd-visual/cmd-visuals.cpp +++ b/src/cmd-visual/cmd-visuals.cpp @@ -369,7 +369,7 @@ void do_cmd_visuals(PlayerType *player_ptr) prt(format(_("コマンド: %s", "Command: %s"), choice_msg), 15, 0); auto &terrains = TerrainList::get_instance(); while (true) { - auto &terrain = terrains[terrain_id]; + auto &terrain = terrains.get_terrain(terrain_id); int c; const auto &symbol_definition = terrain.symbol_definitions[lighting_level]; const auto &symbol_config = terrain.symbol_configs[lighting_level]; @@ -411,7 +411,7 @@ void do_cmd_visuals(PlayerType *player_ptr) } terrain_id = *new_terrain_id; - const auto &new_terrain = terrains[terrain_id]; + const auto &new_terrain = terrains.get_terrain(terrain_id); if (!new_terrain.name.empty() && (new_terrain.mimic == terrain_id)) { break; } diff --git a/src/floor/cave.cpp b/src/floor/cave.cpp index 43de9ed9e..4dada6484 100644 --- a/src/floor/cave.cpp +++ b/src/floor/cave.cpp @@ -106,7 +106,7 @@ bool cave_los_bold(const FloorType *floor_ptr, int y, int x) */ bool feat_supports_los(short f_idx) { - return TerrainList::get_instance()[f_idx].flags.has(TerrainCharacteristics::LOS); + return TerrainList::get_instance().get_terrain(f_idx).flags.has(TerrainCharacteristics::LOS); } /* diff --git a/src/floor/floor-streams.cpp b/src/floor/floor-streams.cpp index 5160bd200..e8d1f46ba 100644 --- a/src/floor/floor-streams.cpp +++ b/src/floor/floor-streams.cpp @@ -213,7 +213,7 @@ void add_river(FloorType *floor_ptr, dun_data_type *dd_ptr) } if (feat1) { - const auto &terrain = TerrainList::get_instance()[feat1]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat1); auto is_lava = dd_ptr->laketype == LAKE_T_LAVA; is_lava &= terrain.flags.has(TerrainCharacteristics::LAVA); auto is_water = dd_ptr->laketype == LAKE_T_WATER; @@ -286,7 +286,7 @@ void add_river(FloorType *floor_ptr, dun_data_type *dd_ptr) */ void build_streamer(PlayerType *player_ptr, FEAT_IDX feat, int chance) { - const auto &streamer = TerrainList::get_instance()[feat]; + const auto &streamer = TerrainList::get_instance().get_terrain(feat); bool streamer_is_wall = streamer.flags.has(TerrainCharacteristics::WALL) && streamer.flags.has_not(TerrainCharacteristics::PERMANENT); bool streamer_may_have_gold = streamer.flags.has(TerrainCharacteristics::MAY_HAVE_GOLD); diff --git a/src/floor/object-allocator.cpp b/src/floor/object-allocator.cpp index b80cdf8e7..78c0989e8 100644 --- a/src/floor/object-allocator.cpp +++ b/src/floor/object-allocator.cpp @@ -79,7 +79,7 @@ static bool alloc_stairs_aux(PlayerType *player_ptr, POSITION y, POSITION x, int bool alloc_stairs(PlayerType *player_ptr, FEAT_IDX feat, int num, int walls) { int shaft_num = 0; - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); auto &floor = *player_ptr->current_floor_ptr; const auto &dungeon = floor.get_dungeon_definition(); if (terrain.flags.has(TerrainCharacteristics::LESS)) { diff --git a/src/grid/feature.cpp b/src/grid/feature.cpp index 645460646..f7c2dac95 100644 --- a/src/grid/feature.cpp +++ b/src/grid/feature.cpp @@ -123,7 +123,7 @@ bool is_trap(PlayerType *player_ptr, FEAT_IDX feat) { /* 関数ポインタの都合 */ (void)player_ptr; - return TerrainList::get_instance()[feat].flags.has(TerrainCharacteristics::TRAP); + return TerrainList::get_instance().get_terrain(feat).flags.has(TerrainCharacteristics::TRAP); } /*! @@ -135,7 +135,7 @@ bool is_closed_door(PlayerType *player_ptr, FEAT_IDX feat) { /* 関数ポインタの都合 */ (void)player_ptr; - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); return (terrain.flags.has(TerrainCharacteristics::OPEN) || terrain.flags.has(TerrainCharacteristics::BASH)) && terrain.flags.has_not(TerrainCharacteristics::MOVE); } @@ -169,7 +169,7 @@ void cave_set_feat(PlayerType *player_ptr, POSITION y, POSITION x, FEAT_IDX feat { auto *floor_ptr = player_ptr->current_floor_ptr; auto *g_ptr = &floor_ptr->grid_array[y][x]; - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); const auto &dungeon = floor_ptr->get_dungeon_definition(); if (!w_ptr->character_dungeon) { g_ptr->mimic = 0; @@ -256,7 +256,7 @@ void cave_set_feat(PlayerType *player_ptr, POSITION y, POSITION x, FEAT_IDX feat FEAT_IDX conv_dungeon_feat(const FloorType *floor_ptr, FEAT_IDX newfeat) { - const auto &terrain = TerrainList::get_instance()[newfeat]; + const auto &terrain = TerrainList::get_instance().get_terrain(newfeat); if (terrain.flags.has_not(TerrainCharacteristics::CONVERT)) { return newfeat; } diff --git a/src/grid/grid.cpp b/src/grid/grid.cpp index b24e699c7..eec427c1a 100644 --- a/src/grid/grid.cpp +++ b/src/grid/grid.cpp @@ -740,7 +740,7 @@ void update_flow(PlayerType *player_ptr) */ FEAT_IDX feat_state(const FloorType *floor_ptr, FEAT_IDX feat, TerrainCharacteristics action) { - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); /* Get the new feature */ for (auto i = 0; i < MAX_FEAT_STATES; i++) { @@ -922,7 +922,7 @@ bool cave_player_teleportable_bold(PlayerType *player_ptr, POSITION y, POSITION */ bool is_open(PlayerType *player_ptr, FEAT_IDX feat) { - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); return terrain.flags.has(TerrainCharacteristics::CLOSE) && (feat != feat_state(player_ptr->current_floor_ptr, feat, TerrainCharacteristics::CLOSE)); } @@ -934,7 +934,7 @@ bool is_open(PlayerType *player_ptr, FEAT_IDX feat) */ bool player_can_enter(PlayerType *player_ptr, FEAT_IDX feature, BIT_FLAGS16 mode) { - const auto &terrain = TerrainList::get_instance()[feature]; + const auto &terrain = TerrainList::get_instance().get_terrain(feature); if (player_ptr->riding) { return monster_can_cross_terrain( player_ptr, feature, &player_ptr->current_floor_ptr->m_list[player_ptr->riding].get_monrace(), mode | CEM_RIDING); @@ -1003,7 +1003,7 @@ void place_grid(PlayerType *player_ptr, Grid *g_ptr, grid_bold_type gb_type) break; } case GB_OUTER_NOPERM: { - const auto &terrain = TerrainList::get_instance()[feat_wall_outer]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat_wall_outer); if (terrain.is_permanent_wall()) { g_ptr->feat = (int16_t)feat_state(player_ptr->current_floor_ptr, feat_wall_outer, TerrainCharacteristics::UNPERM); } else { @@ -1027,7 +1027,7 @@ void place_grid(PlayerType *player_ptr, Grid *g_ptr, grid_bold_type gb_type) break; } case GB_SOLID_NOPERM: { - const auto &terrain = TerrainList::get_instance()[feat_wall_solid]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat_wall_solid); if ((g_ptr->info & CAVE_VAULT) && terrain.is_permanent_wall()) { g_ptr->feat = (int16_t)feat_state(player_ptr->current_floor_ptr, feat_wall_solid, TerrainCharacteristics::UNPERM); } else { @@ -1108,7 +1108,7 @@ std::pair count_dt(PlayerType *player_ptr, bool (*test)(PlayerType * */ bool feat_uses_special(FEAT_IDX f_idx) { - return TerrainList::get_instance()[(f_idx)].flags.has(TerrainCharacteristics::SPECIAL); + return TerrainList::get_instance().get_terrain(f_idx).flags.has(TerrainCharacteristics::SPECIAL); } /* diff --git a/src/info-reader/feature-reader.cpp b/src/info-reader/feature-reader.cpp index 1f7c2e405..773564573 100644 --- a/src/info-reader/feature-reader.cpp +++ b/src/info-reader/feature-reader.cpp @@ -85,7 +85,7 @@ errr parse_terrains_info(std::string_view buf, angband_header *) error_idx = i; const auto s = static_cast(i); - auto &terrain = terrains[s]; + auto &terrain = terrains.get_terrain(s); terrain.idx = s; terrain.tag = tokens[2]; terrain.mimic = s; @@ -510,7 +510,7 @@ void retouch_terrains_info(angband_header *head) { auto &terrains = TerrainList::get_instance(); for (short i = 0; i < head->info_num; i++) { - auto &terrain = terrains[i]; + auto &terrain = terrains.get_terrain(i); FEAT_IDX k = search_real_feat(terrain.mimic_tag); terrain.mimic = k < 0 ? terrain.mimic : k; k = search_real_feat(terrain.destroyed_tag); diff --git a/src/io/interpret-pref-file.cpp b/src/io/interpret-pref-file.cpp index 5fefb6143..1b8a80aa9 100644 --- a/src/io/interpret-pref-file.cpp +++ b/src/io/interpret-pref-file.cpp @@ -112,7 +112,7 @@ static bool interpret_k_token(char *buf) */ static void decide_feature_type(int i, int num, char **zz) { - auto &terrain = TerrainList::get_instance()[static_cast(i)]; + auto &terrain = TerrainList::get_instance().get_terrain(static_cast(i)); const auto color_token = static_cast(std::stoi(zz[1], nullptr, 0)); const auto character_token = static_cast(std::stoi(zz[2], nullptr, 0)); const auto has_character_token = character_token != '\0'; diff --git a/src/knowledge/knowledge-features.cpp b/src/knowledge/knowledge-features.cpp index ec93f9b64..6d7d5f120 100644 --- a/src/knowledge/knowledge-features.cpp +++ b/src/knowledge/knowledge-features.cpp @@ -125,7 +125,7 @@ void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, IDX direct_f feat_cnt = 0; } else { - auto &terrain = TerrainList::get_instance()[direct_f_idx]; + auto &terrain = TerrainList::get_instance().get_terrain(direct_f_idx); auto &symbol_config = terrain.symbol_configs.at(*lighting_level); feat_idx[0] = direct_f_idx; feat_cnt = 1; @@ -221,7 +221,7 @@ void do_cmd_knowledge_features(bool *need_redraw, bool visual_only, IDX direct_f (symbols_cb.symbol != DisplaySymbol()) ? _(", 'c', 'p'でペースト", ", 'c', 'p' to paste") : _(", 'c'でコピー", ", 'c' to copy")), hgt - 1, 0); - auto &terrain = terrains[feat_idx[feat_cur]]; + auto &terrain = terrains.get_terrain(feat_idx[feat_cur]); symbol_orig = terrain.symbol_configs.at(*lighting_level); if (visual_list) { place_visual_list_cursor(max_length + 3, 7, symbol_orig.color, static_cast(symbol_orig.character), attr_top, char_left); diff --git a/src/monster/monster-info.cpp b/src/monster/monster-info.cpp index 2042c9cbf..c065f0d0e 100644 --- a/src/monster/monster-info.cpp +++ b/src/monster/monster-info.cpp @@ -50,7 +50,7 @@ void set_friendly(MonsterEntity *m_ptr) */ bool monster_can_cross_terrain(PlayerType *player_ptr, FEAT_IDX feat, const MonsterRaceInfo *r_ptr, BIT_FLAGS16 mode) { - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); if (terrain.flags.has(TerrainCharacteristics::PATTERN)) { if (!(mode & CEM_RIDING)) { if (r_ptr->feature_flags.has_not(MonsterFeatureType::CAN_FLY)) { diff --git a/src/player/player-move.cpp b/src/player/player-move.cpp index b6484bb26..011b39a84 100644 --- a/src/player/player-move.cpp +++ b/src/player/player-move.cpp @@ -313,7 +313,7 @@ bool move_player_effect(PlayerType *player_ptr, POSITION ny, POSITION nx, BIT_FL */ bool trap_can_be_ignored(PlayerType *player_ptr, FEAT_IDX feat) { - const auto &terrain = TerrainList::get_instance()[feat]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat); if (terrain.flags.has_not(TerrainCharacteristics::TRAP)) { return true; } diff --git a/src/room/rooms-trap.cpp b/src/room/rooms-trap.cpp index 41d9251ce..3469db100 100644 --- a/src/room/rooms-trap.cpp +++ b/src/room/rooms-trap.cpp @@ -90,6 +90,6 @@ bool build_type14(PlayerType *player_ptr, dun_data_type *dd_ptr) g_ptr->mimic = g_ptr->feat; g_ptr->feat = trap; constexpr auto fmt = _("%sの部屋が生成されました。", "Room of %s was generated."); - msg_format_wizard(player_ptr, CHEAT_DUNGEON, fmt, TerrainList::get_instance()[trap].name.data()); + msg_format_wizard(player_ptr, CHEAT_DUNGEON, fmt, TerrainList::get_instance().get_terrain(trap).name.data()); return true; } diff --git a/src/system/grid-type-definition.cpp b/src/system/grid-type-definition.cpp index 2d6c9e29c..955671115 100644 --- a/src/system/grid-type-definition.cpp +++ b/src/system/grid-type-definition.cpp @@ -74,7 +74,7 @@ bool Grid::is_mark() const bool Grid::is_mirror() const { - return this->is_object() && TerrainList::get_instance()[this->mimic].flags.has(TerrainCharacteristics::MIRROR); + return this->is_object() && TerrainList::get_instance().get_terrain(this->mimic).flags.has(TerrainCharacteristics::MIRROR); } /* @@ -82,7 +82,7 @@ bool Grid::is_mirror() const */ bool Grid::is_rune_protection() const { - return this->is_object() && TerrainList::get_instance()[this->mimic].flags.has(TerrainCharacteristics::RUNE_PROTECTION); + return this->is_object() && TerrainList::get_instance().get_terrain(this->mimic).flags.has(TerrainCharacteristics::RUNE_PROTECTION); } /* @@ -90,7 +90,7 @@ bool Grid::is_rune_protection() const */ bool Grid::is_rune_explosion() const { - return this->is_object() && TerrainList::get_instance()[this->mimic].flags.has(TerrainCharacteristics::RUNE_EXPLOSION); + return this->is_object() && TerrainList::get_instance().get_terrain(this->mimic).flags.has(TerrainCharacteristics::RUNE_EXPLOSION); } bool Grid::has_monster() const @@ -120,7 +120,7 @@ flow_type Grid::get_grid_flow_type(const MonsterRaceInfo *r_ptr) const */ FEAT_IDX Grid::get_feat_mimic() const { - return TerrainList::get_instance()[this->mimic ? this->mimic : this->feat].mimic; + return TerrainList::get_instance().get_terrain(this->mimic ? this->mimic : this->feat).mimic; } bool Grid::cave_has_flag(TerrainCharacteristics feature_flags) const @@ -159,32 +159,32 @@ bool Grid::has_los() const TerrainType &Grid::get_terrain() { - return TerrainList::get_instance()[this->feat]; + return TerrainList::get_instance().get_terrain(this->feat); } const TerrainType &Grid::get_terrain() const { - return TerrainList::get_instance()[this->feat]; + return TerrainList::get_instance().get_terrain(this->feat); } TerrainType &Grid::get_terrain_mimic() { - return TerrainList::get_instance()[this->get_feat_mimic()]; + return TerrainList::get_instance().get_terrain(this->get_feat_mimic()); } const TerrainType &Grid::get_terrain_mimic() const { - return TerrainList::get_instance()[this->get_feat_mimic()]; + return TerrainList::get_instance().get_terrain(this->get_feat_mimic()); } TerrainType &Grid::get_terrain_mimic_raw() { - return TerrainList::get_instance()[this->mimic]; + return TerrainList::get_instance().get_terrain(this->mimic); } const TerrainType &Grid::get_terrain_mimic_raw() const { - return TerrainList::get_instance()[this->mimic]; + return TerrainList::get_instance().get_terrain(this->mimic); } void Grid::place_closed_curtain() diff --git a/src/system/terrain-type-definition.cpp b/src/system/terrain-type-definition.cpp index 015f3237c..64fc209f9 100644 --- a/src/system/terrain-type-definition.cpp +++ b/src/system/terrain-type-definition.cpp @@ -69,7 +69,7 @@ std::vector &TerrainList::get_raw_vector() return this->terrains; } -TerrainType &TerrainList::operator[](short terrain_id) +TerrainType &TerrainList::get_terrain(short terrain_id) { return this->terrains.at(terrain_id); } diff --git a/src/system/terrain-type-definition.h b/src/system/terrain-type-definition.h index c3e347e4b..c1842f092 100644 --- a/src/system/terrain-type-definition.h +++ b/src/system/terrain-type-definition.h @@ -66,10 +66,10 @@ public: TerrainList(TerrainList &&) = delete; TerrainList operator=(const TerrainList &) = delete; TerrainList operator=(TerrainList &&) = delete; - TerrainType &operator[](short terrain_id); static TerrainList &get_instance(); std::vector &get_raw_vector(); // @todo init_terrains_info() 専用、将来的に廃止する. + TerrainType &get_terrain(short terrain_id); const TerrainType &get_terrain(short terrain_id) const; std::vector::iterator begin(); std::vector::const_iterator begin() const; diff --git a/src/target/target-describer.cpp b/src/target/target-describer.cpp index 641f03f63..6cf6d020e 100644 --- a/src/target/target-describer.cpp +++ b/src/target/target-describer.cpp @@ -556,7 +556,7 @@ char examine_grid(PlayerType *player_ptr, const POSITION y, const POSITION x, ta ge_ptr->feat = feat_none; } - ge_ptr->terrain_ptr = &TerrainList::get_instance()[ge_ptr->feat]; + ge_ptr->terrain_ptr = &TerrainList::get_instance().get_terrain(ge_ptr->feat); if (!ge_ptr->boring && ge_ptr->terrain_ptr->flags.has_not(TerrainCharacteristics::REMEMBER)) { return (ge_ptr->query != '\r') && (ge_ptr->query != '\n') ? ge_ptr->query : 0; } diff --git a/src/view/display-map.cpp b/src/view/display-map.cpp index 3361d2786..e33ebb0f5 100644 --- a/src/view/display-map.cpp +++ b/src/view/display-map.cpp @@ -155,7 +155,7 @@ DisplaySymbolPair map_info(PlayerType *player_ptr, const Pos2D &pos) } } else if (darkened_grid(player_ptr, &grid)) { const auto unsafe_terrain_id = (view_unsafe_grids && (grid.info & CAVE_UNSAFE)) ? feat_undetected : feat_none; - terrain_mimic_ptr = &terrains[unsafe_terrain_id]; + terrain_mimic_ptr = &terrains.get_terrain(unsafe_terrain_id); symbol_config = terrain_mimic_ptr->symbol_configs[F_LIT_STANDARD]; } else if (view_special_lite) { if (grid.info & (CAVE_LITE | CAVE_MNLT)) { @@ -172,7 +172,7 @@ DisplaySymbolPair map_info(PlayerType *player_ptr, const Pos2D &pos) } } else { const auto unsafe_terrain_id = (view_unsafe_grids && (grid.info & CAVE_UNSAFE)) ? feat_undetected : feat_none; - terrain_mimic_ptr = &terrains[unsafe_terrain_id]; + terrain_mimic_ptr = &terrains.get_terrain(unsafe_terrain_id); symbol_config = terrain_mimic_ptr->symbol_configs[F_LIT_STANDARD]; } } else { @@ -186,7 +186,7 @@ DisplaySymbolPair map_info(PlayerType *player_ptr, const Pos2D &pos) } else if (darkened_grid(player_ptr, &grid) && !is_blind) { if (terrain_mimic_ptr->flags.has_all_of({ TerrainCharacteristics::LOS, TerrainCharacteristics::PROJECT })) { const auto unsafe_terrain_id = (view_unsafe_grids && (grid.info & CAVE_UNSAFE)) ? feat_undetected : feat_none; - terrain_mimic_ptr = &terrains[unsafe_terrain_id]; + terrain_mimic_ptr = &terrains.get_terrain(unsafe_terrain_id); symbol_config = terrain_mimic_ptr->symbol_configs[F_LIT_STANDARD]; } else if (view_granite_lite && view_bright_lite) { symbol_config = terrain_mimic_ptr->symbol_configs[F_LIT_DARK]; @@ -210,7 +210,7 @@ DisplaySymbolPair map_info(PlayerType *player_ptr, const Pos2D &pos) } } else { const auto unsafe_terrain_id = (view_unsafe_grids && (grid.info & CAVE_UNSAFE)) ? feat_undetected : feat_none; - terrain_mimic_ptr = &terrains[unsafe_terrain_id]; + terrain_mimic_ptr = &terrains.get_terrain(unsafe_terrain_id); symbol_config = terrain_mimic_ptr->symbol_configs[F_LIT_STANDARD]; } } diff --git a/src/view/display-store.cpp b/src/view/display-store.cpp index 23f2870f1..762b4a982 100644 --- a/src/view/display-store.cpp +++ b/src/view/display-store.cpp @@ -164,7 +164,7 @@ void display_store(PlayerType *player_ptr, StoreSaleType store_num) return; } - const auto &store_name = TerrainList::get_instance()[cur_store_feat].name; + const auto &store_name = TerrainList::get_instance().get_terrain(cur_store_feat).name; const auto owner_name = ot_ptr->owner_name; const auto race_name = race_info[enum2i(ot_ptr->owner_race)].title; put_str(format("%s (%s)", owner_name, race_name), 3, 10); diff --git a/src/window/display-sub-windows.cpp b/src/window/display-sub-windows.cpp index d270fd464..53eabfd93 100644 --- a/src/window/display-sub-windows.cpp +++ b/src/window/display-sub-windows.cpp @@ -462,7 +462,7 @@ static void display_dungeon(PlayerType *player_ptr) const auto pos_y = y - player_ptr->y + game_term->hgt / 2 - 1; const auto pos_x = x - player_ptr->x + game_term->wid / 2 - 1; if (!in_bounds2(player_ptr->current_floor_ptr, y, x)) { - const auto &terrain = TerrainList::get_instance()[feat_none]; + const auto &terrain = TerrainList::get_instance().get_terrain(feat_none); const auto &symbol_foreground = terrain.symbol_configs.at(F_LIT_STANDARD); term_queue_char(pos_x, pos_y, { symbol_foreground, {} }); continue; -- 2.11.0