From: dis Date: Wed, 31 Jan 2024 05:59:28 +0000 (+0900) Subject: [Refactor] check_visited_floor()の解体 X-Git-Tag: 3.0.1.7-Beta~1^2~2 X-Git-Url: http://git.osdn.net/view?p=hengbandforosx%2Fhengbandosx.git;a=commitdiff_plain;h=f9dc0355363dfca419a8ec5361673b7f3f9c79de [Refactor] check_visited_floor()の解体 check* の名称だが実態は保存済フロアの読込及び読込時の処理である。 適当な名称を付けて分割する。 --- diff --git a/src/floor/floor-changer.cpp b/src/floor/floor-changer.cpp index aeb6d9be7..43f8c21c7 100644 --- a/src/floor/floor-changer.cpp +++ b/src/floor/floor-changer.cpp @@ -212,13 +212,12 @@ static bool is_visited_floor(saved_floor_type *sf_ptr) return sf_ptr->last_visit != 0; } -static void check_visited_floor(PlayerType *player_ptr, saved_floor_type *sf_ptr, bool *loaded) +/*! + * @brief フロア読込時にプレイヤー足元の地形に必要な情報を設定する + * @params player_ptr プレイヤーへの参照ポインタ + */ +static void set_player_grid(PlayerType *player_ptr) { - if (!is_visited_floor(sf_ptr) || !load_floor(player_ptr, sf_ptr, 0)) { - return; - } - - *loaded = true; if ((player_ptr->change_floor_mode & CFM_NO_RETURN) == 0) { return; } @@ -399,9 +398,9 @@ static void update_floor(PlayerType *player_ptr) } saved_floor_type *sf_ptr; - bool loaded = false; sf_ptr = get_sf_ptr(new_floor_id); - check_visited_floor(player_ptr, sf_ptr, &loaded); + const bool loaded = is_visited_floor(sf_ptr) && load_floor(player_ptr, sf_ptr, 0); + set_player_grid(player_ptr); update_floor_id(player_ptr, sf_ptr); update_new_floor_feature(player_ptr, sf_ptr, loaded); cut_off_the_upstair(player_ptr);