OSDN Git Service

[Refactor] #38862 Moved quest.c/h to dungeon/
[hengband/hengband.git] / src / cmd / cmd-dump.c
index fb812de..6568747 100644 (file)
  * </pre>
  */
 
-#include "angband.h"
+#include "system/angband.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/dump-util.h"
-#include "gameterm.h"
-#include "core.h" // 暫定。後で消す.
+#include "term/gameterm.h"
+#include "system/angband-version.h"
+#include "io/dump-remover.h"
 #include "io/read-pref-file.h"
 #include "io/interpret-pref-file.h"
 
-#include "world.h"
+#include "world/world.h"
 #include "view/display-player.h" // 暫定。後で消す.
-#include "player-personality.h"
-#include "quest.h"
-#include "artifact.h"
-#include "floor-town.h"
+#include "player/player-personality.h"
+#include "dungeon/quest.h"
+#include "object/artifact.h"
+#include "floor/floor-town.h"
 #include "cmd/feeling-table.h"
-#include "english.h"
+#include "locale/english.h"
 
-#include "chuukei.h"
-
-/*!
- * @brief prefファイルを選択して処理する /
- * Ask for a "user pref line" and process it
- * @brief prf出力内容を消去する /
- * Remove old lines automatically generated before.
- * @param orig_file 消去を行うファイル名
- */
-static void remove_auto_dump(concptr orig_file, concptr auto_dump_mark)
-{
-       char buf[1024];
-       bool between_mark = FALSE;
-       bool changed = FALSE;
-       int line_num = 0;
-       long header_location = 0;
-       char header_mark_str[80];
-       char footer_mark_str[80];
-
-       sprintf(header_mark_str, auto_dump_header, auto_dump_mark);
-       sprintf(footer_mark_str, auto_dump_footer, auto_dump_mark);
-       size_t mark_len = strlen(footer_mark_str);
-
-       FILE *orig_fff;
-       orig_fff = my_fopen(orig_file, "r");
-       if (!orig_fff) return;
-
-       FILE *tmp_fff = NULL;
-       char tmp_file[FILE_NAME_SIZE];
-       if (!open_temporary_file(&tmp_fff, tmp_file)) return;
-
-       while (TRUE)
-       {
-               if (my_fgets(orig_fff, buf, sizeof(buf)))
-               {
-                       if (between_mark)
-                       {
-                               fseek(orig_fff, header_location, SEEK_SET);
-                               between_mark = FALSE;
-                               continue;
-                       }
-                       else
-                       {
-                               break;
-                       }
-               }
-
-               if (!between_mark)
-               {
-                       if (!strcmp(buf, header_mark_str))
-                       {
-                               header_location = ftell(orig_fff);
-                               line_num = 0;
-                               between_mark = TRUE;
-                               changed = TRUE;
-                       }
-                       else
-                       {
-                               fprintf(tmp_fff, "%s\n", buf);
-                       }
-
-                       continue;
-               }
-
-               if (!strncmp(buf, footer_mark_str, mark_len))
-               {
-                       int tmp;
-                       if (!sscanf(buf + mark_len, " (%d)", &tmp)
-                               || tmp != line_num)
-                       {
-                               fseek(orig_fff, header_location, SEEK_SET);
-                       }
-
-                       between_mark = FALSE;
-                       continue;
-               }
-
-               line_num++;
-       }
-
-       my_fclose(orig_fff);
-       my_fclose(tmp_fff);
-
-       if (changed)
-       {
-               tmp_fff = my_fopen(tmp_file, "r");
-               orig_fff = my_fopen(orig_file, "w");
-               while (!my_fgets(tmp_fff, buf, sizeof(buf)))
-                       fprintf(orig_fff, "%s\n", buf);
-
-               my_fclose(orig_fff);
-               my_fclose(tmp_fff);
-       }
-
-       fd_kill(tmp_file);
-}
-
-
-#ifdef JP
-#else
-/*!
- * @brief Return suffix of ordinal number
- * @param num number
- * @return pointer of suffix string.
- */
-concptr get_ordinal_number_suffix(int num)
-{
-       num = ABS(num) % 100;
-       switch (num % 10)
-       {
-       case 1:
-               return (num == 11) ? "th" : "st";
-       case 2:
-               return (num == 12) ? "th" : "nd";
-       case 3:
-               return (num == 13) ? "th" : "rd";
-       default:
-               return "th";
-       }
-}
-#endif
+#include "io/chuukei.h"
 
 /*!
  * @brief 画面を再描画するコマンドのメインルーチン
@@ -190,7 +71,7 @@ void do_cmd_pref(player_type *creature_ptr)
 /*
  * Interact with "colors"
  */
-void do_cmd_colors(player_type *creature_ptr)
+void do_cmd_colors(player_type *creature_ptr, void(*process_autopick_file_command)(char*))
 {
        int i;
        char tmp[160];
@@ -216,7 +97,7 @@ void do_cmd_colors(player_type *creature_ptr)
                        sprintf(tmp, "%s.prf", creature_ptr->base_name);
                        if (!askfor(tmp, 70)) continue;
 
-                       (void)process_pref_file(creature_ptr, tmp);
+                       (void)process_pref_file(creature_ptr, tmp, process_autopick_file_command);
                        Term_xtra(TERM_XTRA_REACT, 0);
                        Term_redraw();
                }