OSDN Git Service

[Refactor] #38997 do_cmd_knowledge_quests_completed() に player_type * 引数を追加 / Add...
authorHourier <hourier@users.sourceforge.jp>
Sun, 5 Jan 2020 04:47:56 +0000 (13:47 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 5 Jan 2020 04:47:56 +0000 (13:47 +0900)
12 files changed:
src/cmd/cmd-dump.c
src/cmd/cmd-dump.h
src/core.c
src/core.h
src/files.c
src/files.h
src/monster-status.c
src/player-damage.c
src/report.c
src/report.h
src/scores.c
src/scores.h

index 5bbd984..3957032 100644 (file)
@@ -1080,7 +1080,7 @@ void do_cmd_player_status(player_type *creature_ptr)
                        {
                                if (tmp[0] && (tmp[0] != ' '))
                                {
-                                       file_character(tmp);
+                                       file_character(creature_ptr, tmp);
                                }
                        }
                }
@@ -6597,7 +6597,7 @@ static bool do_cmd_knowledge_quests_aux(FILE *fff, floor_type *floor_ptr, IDX q_
 /*
  * Print all finished quests
  */
-void do_cmd_knowledge_quests_completed(FILE *fff, QUEST_IDX quest_num[])
+void do_cmd_knowledge_quests_completed(player_type *creature_ptr, FILE *fff, QUEST_IDX quest_num[])
 {
        fprintf(fff, _("《達成したクエスト》\n", "< Completed Quest >\n"));
        QUEST_IDX total = 0;
@@ -6606,7 +6606,7 @@ void do_cmd_knowledge_quests_completed(FILE *fff, QUEST_IDX quest_num[])
                QUEST_IDX q_idx = quest_num[i];
                quest_type* const q_ptr = &quest[q_idx];
 
-               if (q_ptr->status == QUEST_STATUS_FINISHED && do_cmd_knowledge_quests_aux(fff, p_ptr->current_floor_ptr, q_idx))
+               if (q_ptr->status == QUEST_STATUS_FINISHED && do_cmd_knowledge_quests_aux(fff, creature_ptr->current_floor_ptr, q_idx))
                {
                        ++total;
                }
@@ -6694,7 +6694,7 @@ static void do_cmd_knowledge_quests(player_type *creature_ptr)
        /* Dump Quest Information */
        do_cmd_knowledge_quests_current(creature_ptr, fff);
        fputc('\n', fff);
-       do_cmd_knowledge_quests_completed(fff, quest_num);
+       do_cmd_knowledge_quests_completed(creature_ptr, fff, quest_num);
        fputc('\n', fff);
        do_cmd_knowledge_quests_failed(fff, quest_num);
        if (current_world_ptr->wizard)
index 5ab6bbf..d365db1 100644 (file)
@@ -65,7 +65,7 @@ extern void do_cmd_feeling(player_type *creature_ptr);
 extern void do_cmd_load_screen(void);
 extern void do_cmd_save_screen_html_aux(char *filename, int message);
 extern void do_cmd_save_screen(player_type *creature_ptr);
-extern void do_cmd_knowledge_quests_completed(FILE *fff, QUEST_IDX quest_num[]);
+extern void do_cmd_knowledge_quests_completed(player_type *creature_ptr, FILE *fff, QUEST_IDX quest_num[]);
 extern void do_cmd_knowledge_quests_failed(FILE *fff, QUEST_IDX quest_num[]);
 extern void do_cmd_knowledge(player_type *creature_ptr);
 extern void do_cmd_checkquest(player_type *creature_ptr);
index e2df394..fdd5112 100644 (file)
@@ -5315,7 +5315,7 @@ void play_game(player_type *player_ptr, bool new_game)
                process_dungeon_file("w_info.txt", 0, 0, current_world_ptr->max_wild_y, current_world_ptr->max_wild_x);
 
                /* Handle score, show Top scores */
-               success = send_world_score(TRUE);
+               success = send_world_score(player_ptr, TRUE);
 
                if (!success && !get_check_strict(_("スコア登録を諦めますか?", "Do you give up score registration? "), CHECK_NO_HISTORY))
                {
@@ -5670,7 +5670,7 @@ void play_game(player_type *player_ptr, bool new_game)
        }
 
        /* Close stuff */
-       close_game();
+       close_game(player_ptr);
 
        /* Quit */
        quit(NULL);
@@ -5750,7 +5750,7 @@ void prevent_turn_overflow(void)
  * This function is called only from "main.c" and "signals.c".
  * </pre>
  */
-void close_game(void)
+void close_game(player_type *player_ptr)
 {
        char buf[1024];
        bool do_send = TRUE;
@@ -5784,10 +5784,10 @@ void close_game(void)
        safe_setuid_drop();
 
        /* Handle death */
-       if (p_ptr->is_dead)
+       if (player_ptr->is_dead)
        {
                /* Handle retirement */
-               if (current_world_ptr->total_winner) kingly(p_ptr);
+               if (current_world_ptr->total_winner) kingly(player_ptr);
 
                /* Save memories */
                if (!cheat_save || get_check(_("死んだデータをセーブしますか? ", "Save death? ")))
@@ -5802,23 +5802,23 @@ void close_game(void)
                flush();
 
                /* Show more info */
-               show_info();
+               show_info(player_ptr);
                Term_clear();
 
                if (check_score())
                {
-                       if ((!send_world_score(do_send)))
+                       if ((!send_world_score(player_ptr, do_send)))
                        {
                                if (get_check_strict(_("後でスコアを登録するために待機しますか?", "Stand by for later score registration? "),
                                        (CHECK_NO_ESCAPE | CHECK_NO_HISTORY)))
                                {
-                                       p_ptr->wait_report_score = TRUE;
-                                       p_ptr->is_dead = FALSE;
+                                       player_ptr->wait_report_score = TRUE;
+                                       player_ptr->is_dead = FALSE;
                                        if (!save_player()) msg_print(_("セーブ失敗!", "death save failed!"));
                                }
                        }
-                       if (!p_ptr->wait_report_score)
-                               (void)top_twenty(p_ptr);
+                       if (!player_ptr->wait_report_score)
+                               (void)top_twenty(player_ptr);
                }
                else if (highscore_fd >= 0)
                {
@@ -5841,7 +5841,7 @@ void close_game(void)
                play_music(TERM_XTRA_MUSIC_BASIC, MUSIC_BASIC_EXIT);
 
                /* Predict score (or ESCAPE) */
-               if (inkey() != ESCAPE) predict_score(p_ptr);
+               if (inkey() != ESCAPE) predict_score(player_ptr);
        }
 
 
index 9ca6281..3afa2ff 100644 (file)
@@ -82,7 +82,7 @@ extern void play_game(player_type *player_ptr, bool new_game);
 extern void update_playtime(void);
 extern s32b turn_real(s32b hoge);
 extern void prevent_turn_overflow(void);
-extern void close_game(void);
+extern void close_game(player_type *player_ptr);
 
 extern void handle_stuff(void);
 extern void update_output(void);
index 342de91..7063ac6 100644 (file)
@@ -4469,7 +4469,7 @@ static void dump_aux_class_special(FILE *fff)
  * @param fff ファイルポインタ
  * @return なし
  */
-static void dump_aux_quest(FILE *fff)
+static void dump_aux_quest(player_type *creature_ptr, FILE *fff)
 {
        QUEST_IDX i;
        QUEST_IDX *quest_num;
@@ -4486,7 +4486,7 @@ static void dump_aux_quest(FILE *fff)
 
        /* Dump Quest Information */
        fputc('\n', fff);
-       do_cmd_knowledge_quests_completed(fff, quest_num);
+       do_cmd_knowledge_quests_completed(creature_ptr, fff, quest_num);
        fputc('\n', fff);
        do_cmd_knowledge_quests_failed(fff, quest_num);
        fputc('\n', fff);
@@ -4979,7 +4979,7 @@ static void dump_aux_home_museum(FILE *fff)
  * @param fff ファイルポインタ
  * @return エラーコード
  */
-errr make_character_dump(FILE *fff)
+errr make_character_dump(player_type *creature_ptr, FILE *fff)
 {
 #ifdef JP
        fprintf(fff, "  [変愚蛮怒 %d.%d.%d キャラクタ情報]\n\n",
@@ -4995,7 +4995,7 @@ errr make_character_dump(FILE *fff)
        dump_aux_last_message(fff);
        dump_aux_options(fff);
        dump_aux_recall(fff);
-       dump_aux_quest(fff);
+       dump_aux_quest(creature_ptr, fff);
        dump_aux_arena(p_ptr, fff);
        dump_aux_monsters(fff);
        dump_aux_virtues(fff);
@@ -5021,7 +5021,7 @@ errr make_character_dump(FILE *fff)
  * Allow the "full" flag to dump additional info,
  * and trigger its usage from various places in the code.
  */
-errr file_character(concptr name)
+errr file_character(player_type *creature_ptr, concptr name)
 {
        int             fd = -1;
        FILE            *fff = NULL;
@@ -5061,7 +5061,7 @@ errr file_character(concptr name)
                return (-1);
        }
 
-       (void)make_character_dump(fff);
+       (void)make_character_dump(creature_ptr, fff);
        my_fclose(fff);
 
 
@@ -6348,7 +6348,7 @@ void print_tomb(void)
  * Display some character info
  * @return なし
  */
-void show_info(void)
+void show_info(player_type *creature_ptr)
 {
        int             i, j, k, l;
        object_type *o_ptr;
@@ -6357,7 +6357,7 @@ void show_info(void)
        /* Hack -- Know everything in the inven/equip */
        for (i = 0; i < INVEN_TOTAL; i++)
        {
-               o_ptr = &p_ptr->inventory_list[i];
+               o_ptr = &creature_ptr->inventory_list[i];
                if (!o_ptr->k_idx) continue;
 
                /* Aware and Known */
@@ -6382,7 +6382,7 @@ void show_info(void)
        }
 
        /* Hack -- Recalculate bonuses */
-       p_ptr->update |= (PU_BONUS);
+       creature_ptr->update |= (PU_BONUS);
        handle_stuff();
 
        /* Flush all input keys */
@@ -6414,12 +6414,12 @@ void show_info(void)
                screen_save();
 
                /* Dump a character file */
-               (void)file_character(out_val);
+               (void)file_character(creature_ptr, out_val);
                screen_load();
        }
 
        update_playtime();
-       display_player(p_ptr, 0);
+       display_player(creature_ptr, 0);
 
        prt(_("何かキーを押すとさらに情報が続きます (ESCで中断): ", "Hit any key to see more information (ESC to abort): "), 23, 0);
 
@@ -6427,7 +6427,7 @@ void show_info(void)
        if (inkey() == ESCAPE) return;
 
        /* Equipment -- if any */
-       if (p_ptr->equip_cnt)
+       if (creature_ptr->equip_cnt)
        {
                Term_clear();
                (void)show_equip(0, USE_FULL, 0);
@@ -6437,7 +6437,7 @@ void show_info(void)
        }
 
        /* Inventory -- if any */
-       if (p_ptr->inven_cnt)
+       if (creature_ptr->inven_cnt)
        {
                Term_clear();
                (void)show_inven(0, USE_FULL, 0);
@@ -6932,7 +6932,7 @@ static void handle_signal_simple(int sig)
                clear_mon_lite(p_ptr->current_floor_ptr);
 
                /* Close stuff */
-               close_game();
+               close_game(p_ptr);
 
                /* Quit */
                quit(_("強制終了", "interrupt"));
@@ -6956,7 +6956,7 @@ static void handle_signal_simple(int sig)
                p_ptr->leaving = TRUE;
 
                /* Close stuff */
-               close_game();
+               close_game(p_ptr);
 
                /* Quit */
                quit(_("強制終了", "interrupt"));
index 6358ec4..0820462 100644 (file)
@@ -26,8 +26,8 @@ extern void safe_setuid_drop(void);
 extern void safe_setuid_grab(void);
 extern s16b tokenize(char *buf, s16b num, char **tokens, BIT_FLAGS mode);
 extern void display_player(player_type *creature_ptr, int mode);
-extern errr make_character_dump(FILE *fff);
-extern errr file_character(concptr name);
+extern errr make_character_dump(player_type *creature_ptr, FILE *fff);
+extern errr file_character(player_type *creature_ptr, concptr name);
 extern errr process_pref_file_command(char *buf);
 extern concptr process_pref_file_expr(char **sp, char *fp);
 extern errr process_pref_file(concptr name);
@@ -51,7 +51,7 @@ extern void signals_handle_tstp(void);
 extern void signals_init(void);
 extern errr get_rnd_line(concptr file_name, int entry, char *output);
 extern void print_tomb(void);
-extern void show_info(void);
+extern void show_info(player_type *creature_ptr);
 
 #ifdef JP
 extern errr get_rnd_line_jonly(concptr file_name, int entry, char *output, int count);
index f1253df..14166d0 100644 (file)
@@ -1138,7 +1138,7 @@ bool mon_take_hit(MONSTER_IDX m_idx, HIT_POINT dam, bool *fear, concptr note)
 #ifdef WORLD_SCORE
                        if (m_ptr->r_idx == MON_SERPENT)
                        {
-                               screen_dump = make_screen_dump();
+                               screen_dump = make_screen_dump(p_ptr);
                        }
 #endif
                }
index b67b7ac..d87d6ac 100644 (file)
@@ -516,7 +516,7 @@ int take_hit(player_type *creature_ptr, int damage_type, HIT_POINT damage, concp
 
 #ifdef WORLD_SCORE
                        /* Make screen dump */
-                       screen_dump = make_screen_dump();
+                       screen_dump = make_screen_dump(creature_ptr);
 #endif
 
                        /* Note cause of death */
@@ -667,7 +667,7 @@ int take_hit(player_type *creature_ptr, int damage_type, HIT_POINT damage, concp
                                        flush();
 #ifdef WORLD_SCORE
                                        /* Make screen dump */
-                                       screen_dump = make_screen_dump();
+                                       screen_dump = make_screen_dump(creature_ptr);
 #endif
 
                                        /* Wait a key press */
index 57b3699..6e58fc5 100644 (file)
@@ -283,7 +283,7 @@ static bool http_post(int sd, concptr url, BUF *buf)
  * @param dumpbuf 伝送内容バッファ
  * @return エラーコード
  */
-static errr make_dump(BUF* dumpbuf)
+static errr make_dump(player_type *creature_ptr, BUF* dumpbuf)
 {
        char            buf[1024];
        FILE *fff;
@@ -303,7 +303,7 @@ static errr make_dump(BUF* dumpbuf)
        }
 
        /* 一旦一時ファイルを作る。通常のダンプ出力と共通化するため。 */
-       (void)make_character_dump(fff);
+       (void)make_character_dump(creature_ptr, fff);
        my_fclose(fff);
 
        /* Open for read */
@@ -449,7 +449,7 @@ concptr make_screen_dump(void)
  * @brief スコア転送処理のメインルーチン
  * @return エラーコード
  */
-errr report_score(void)
+errr report_score(player_type *creature_ptr)
 {
 #ifdef MACINTOSH
        OSStatus err;
@@ -498,7 +498,7 @@ errr report_score(void)
        buf_sprintf(score, "killer: %s\n", p_ptr->died_from);
        buf_sprintf(score, "-----charcter dump-----\n");
 
-       make_dump(score);
+       make_dump(creature_ptr, score);
 
        if (screen_dump)
        {
index 8c88229..928bed6 100644 (file)
@@ -4,6 +4,6 @@ extern concptr screen_dump;
 
 #ifdef WORLD_SCORE
 /* report.c */
-extern errr report_score(void);
-extern concptr make_screen_dump(void);
+extern errr report_score(player_type *creature_ptr);
+extern concptr make_screen_dump(player_type *creature_ptr);
 #endif
index cdf0391..0c24dfb 100644 (file)
@@ -435,7 +435,7 @@ void display_scores(int from, int to)
  * @param do_send 実際に転送ア処置を行うか否か
  * @return 転送が成功したらTRUEを返す
  */
-bool send_world_score(bool do_send)
+bool send_world_score(player_type *current_player_ptr, bool do_send)
 {
 #ifdef WORLD_SCORE
        if(send_score && do_send)
@@ -453,7 +453,7 @@ bool send_world_score(bool do_send)
                        prt(_("送信中..", "Sending..."),0,0);
                        Term_fresh();
                        screen_save();
-                       err = report_score();
+                       err = report_score(current_player_ptr);
                        screen_load();
                        if (err)
                        {
index 4310181..05bfdbf 100644 (file)
@@ -43,7 +43,7 @@ extern int highscore_fd;
 extern void display_scores_aux(int from, int to, int note, high_score *score);
 extern void display_scores(int from, int to);
 extern void kingly(player_type *winner_ptr);
-extern bool send_world_score(bool do_send);
+extern bool send_world_score(player_type *current_player_ptr, bool do_send);
 extern errr top_twenty(player_type *current_player_ptr);
 extern errr predict_score(player_type *current_player_ptr);
 extern void race_legends(player_type *current_player_ptr);