OSDN Git Service

[Refactor] #39887 turn_real() とprevent_turn_overflow() にplayer_type * 引数を追加 / Added...
authorHourier <hourier@users.sourceforge.jp>
Tue, 14 Jan 2020 14:39:35 +0000 (23:39 +0900)
committerHourier <hourier@users.sourceforge.jp>
Tue, 14 Jan 2020 14:39:35 +0000 (23:39 +0900)
src/bldg.c
src/core.c
src/core.h
src/report.c
src/scores.c

index 29bc224..17a9ef2 100644 (file)
@@ -2130,7 +2130,7 @@ static bool inn_comm(player_type *customer_ptr, int cmd)
                        if (current_world_ptr->dungeon_turn > current_world_ptr->dungeon_turn_limit) current_world_ptr->dungeon_turn = current_world_ptr->dungeon_turn_limit;
                }
 
-               prevent_turn_overflow();
+               prevent_turn_overflow(customer_ptr);
 
                if ((prev_hour >= 18) && (prev_hour <= 23)) exe_write_diary(customer_ptr, DIARY_DIALY, 0, NULL);
                customer_ptr->chp = customer_ptr->mhp;
index 18d45f5..3a1d370 100644 (file)
@@ -5120,7 +5120,7 @@ static void dungeon(player_type *player_ptr, bool load_game)
                        else if (player_ptr->wild_mode && !(current_world_ptr->game_turn % ((MAX_HGT + MAX_WID) / 2))) current_world_ptr->dungeon_turn++;
                }
 
-               prevent_turn_overflow();
+               prevent_turn_overflow(player_ptr);
 
                /* Handle "leaving" */
                if (player_ptr->leaving) break;
@@ -5682,9 +5682,9 @@ void play_game(player_type *player_ptr, bool new_game)
  * @details アンデッド種族は18:00からゲームを開始するので、この修正を予め行う。
  * @return 修正をかけた後のゲームターン
  */
-s32b turn_real(s32b hoge)
+s32b turn_real(player_type *player_ptr, s32b hoge)
 {
-       switch (p_ptr->start_race)
+       switch (player_ptr->start_race)
        {
        case RACE_VAMPIRE:
        case RACE_SKELETON:
@@ -5699,10 +5699,11 @@ s32b turn_real(s32b hoge)
 
 /*!
  * @brief ターンのオーバーフローに対する対処
+ * @param player_ptr プレーヤーへの参照ポインタ
  * @details ターン及びターンを記録する変数をターンの限界の1日前まで巻き戻す.
  * @return 修正をかけた後のゲームターン
  */
-void prevent_turn_overflow(void)
+void prevent_turn_overflow(player_type *player_ptr)
 {
        int rollback_days, i, j;
        s32b rollback_turns;
@@ -5714,12 +5715,13 @@ void prevent_turn_overflow(void)
 
        if (current_world_ptr->game_turn > rollback_turns) current_world_ptr->game_turn -= rollback_turns;
        else current_world_ptr->game_turn = 1;
-       if (p_ptr->current_floor_ptr->generated_turn > rollback_turns) p_ptr->current_floor_ptr->generated_turn -= rollback_turns;
-       else p_ptr->current_floor_ptr->generated_turn = 1;
+       floor_type *floor_ptr = player_ptr->current_floor_ptr;
+       if (floor_ptr->generated_turn > rollback_turns) floor_ptr->generated_turn -= rollback_turns;
+       else floor_ptr->generated_turn = 1;
        if (current_world_ptr->arena_start_turn > rollback_turns) current_world_ptr->arena_start_turn -= rollback_turns;
        else current_world_ptr->arena_start_turn = 1;
-       if (p_ptr->feeling_turn > rollback_turns) p_ptr->feeling_turn -= rollback_turns;
-       else p_ptr->feeling_turn = 1;
+       if (player_ptr->feeling_turn > rollback_turns) player_ptr->feeling_turn -= rollback_turns;
+       else player_ptr->feeling_turn = 1;
 
        for (i = 1; i < max_towns; i++)
        {
@@ -5860,7 +5862,7 @@ void close_game(player_type *player_ptr)
 
 /*!
  * @brief 全更新処理をチェックして処理していく
- * Handle "p_ptr->update" and "p_ptr->redraw" and "p_ptr->window"
+ * Handle "player_ptr->update" and "player_ptr->redraw" and "player_ptr->window"
  * @return なし
  */
 void handle_stuff(player_type *player_ptr)
index 69dd48d..d2eba92 100644 (file)
@@ -79,8 +79,8 @@ extern bool repair_monsters;
 extern bool repair_objects;
 
 extern void play_game(player_type *player_ptr, bool new_game);
-extern s32b turn_real(s32b hoge);
-extern void prevent_turn_overflow(void);
+extern s32b turn_real(player_type *player_ptr, s32b hoge);
+extern void prevent_turn_overflow(player_type *player_ptr);
 extern void close_game(player_type *player_ptr);
 
 extern void handle_stuff(player_type *player_ptr);
index 5579029..182f91b 100644 (file)
@@ -433,7 +433,7 @@ errr report_score(player_type *creature_ptr)
        buf_sprintf(score, "maxlv: %d\n", creature_ptr->max_plv);
        buf_sprintf(score, "maxdp: %d\n", max_dlv[DUNGEON_ANGBAND]);
        buf_sprintf(score, "au: %d\n", creature_ptr->au);
-       buf_sprintf(score, "turns: %d\n", turn_real(current_world_ptr->game_turn));
+       buf_sprintf(score, "turns: %d\n", turn_real(creature_ptr, current_world_ptr->game_turn));
        buf_sprintf(score, "sex: %d\n", creature_ptr->psex);
        buf_sprintf(score, "race: %s\n", rp_ptr->title);
        buf_sprintf(score, "class: %s\n", cp_ptr->title);
index f078827..e44e4b8 100644 (file)
@@ -486,7 +486,7 @@ errr top_twenty(player_type *current_player_ptr)
        the_score.gold[9] = '\0';
 
        /* Save the current turn */
-       sprintf(the_score.turns, "%9lu", (long)turn_real(current_world_ptr->game_turn));
+       sprintf(the_score.turns, "%9lu", (long)turn_real(current_player_ptr, current_world_ptr->game_turn));
        the_score.turns[9] = '\0';
 
        time_t ct = time((time_t*)0);
@@ -599,7 +599,7 @@ errr predict_score(player_type *current_player_ptr)
        sprintf(the_score.gold, "%9lu", (long)current_player_ptr->au);
 
        /* Save the current turn */
-       sprintf(the_score.turns, "%9lu", (long)turn_real(current_world_ptr->game_turn));
+       sprintf(the_score.turns, "%9lu", (long)turn_real(current_player_ptr, current_world_ptr->game_turn));
 
        /* Hack -- no time needed */
        strcpy(the_score.day, _("今日", "TODAY"));