#include "cmd/cmd-dump.h"
#include "cmd/dump-util.h"
#include "gameterm.h"
-#include "core.h" // 暫定。後で消す.
+#include "core/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 "floor/floor-town.h"
#include "cmd/feeling-table.h"
#include "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
-
-/*!
* @brief 画面を再描画するコマンドのメインルーチン
* Hack -- redraw the screen
* @param 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];
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();
}