if (!askfor(tmp, 70)) continue;
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) continue;
+ if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue;
auto_dump_printf(auto_dump_stream, _("\n# カラーの設定\n\n", "\n# Color redefinitions\n\n"));
for (i = 0; i < 256; i++)
i, kv, rv, gv, bv);
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(&auto_dump_stream, mark);
msg_print(_("カラーの設定をファイルに書き出しました。", "Dumped color redefinitions."));
}
else if (i == '3')
* @param fname ファイル名
* @return なし
*/
-static void macro_dump(FILE *auto_dump_stream, concptr fname)
+static void macro_dump(FILE **fpp, concptr fname)
{
static concptr mark = "Macro Dump";
char buf[1024];
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname);
FILE_TYPE(FILE_TYPE_TEXT);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) return;
+ if (!open_auto_dump(fpp, buf, mark)) return;
+
+ auto_dump_printf(*fpp, _("\n# 自動マクロセーブ\n\n", "\n# Automatic macro dump\n\n"));
- auto_dump_printf(auto_dump_stream, _("\n# 自動マクロセーブ\n\n", "\n# Automatic macro dump\n\n"));
for (int i = 0; i < macro__num; i++)
{
ascii_to_text(buf, macro__act[i]);
- auto_dump_printf(auto_dump_stream, "A:%s\n", buf);
+ auto_dump_printf(*fpp, "A:%s\n", buf);
ascii_to_text(buf, macro__pat[i]);
- auto_dump_printf(auto_dump_stream, "P:%s\n", buf);
- auto_dump_printf(auto_dump_stream, "\n");
+ auto_dump_printf(*fpp, "P:%s\n", buf);
+ auto_dump_printf(*fpp, "\n");
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(fpp, mark);
}
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, fname);
FILE_TYPE(FILE_TYPE_TEXT);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) return -1;
+ if (!open_auto_dump(&auto_dump_stream, buf, mark)) return -1;
auto_dump_printf(auto_dump_stream, _("\n# 自動キー配置セーブ\n\n", "\n# Automatic keymap dump\n\n"));
for (int i = 0; i < 256; i++)
auto_dump_printf(auto_dump_stream, "C:%d:%s\n", mode, key);
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(&auto_dump_stream, mark);
return 0;
}
sprintf(tmp, "%s.prf", creature_ptr->base_name);
if (!askfor(tmp, 80)) continue;
- macro_dump(auto_dump_stream, tmp);
+ macro_dump(&auto_dump_stream, tmp);
msg_print(_("マクロを追加しました。", "Appended macros."));
}
else if (i == '3')
if (!askfor(tmp, 70)) continue;
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) continue;
+ if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue;
auto_dump_printf(auto_dump_stream, _("\n# モンスターの[色/文字]の設定\n\n", "\n# Monster attr/char definitions\n\n"));
for (i = 0; i < max_r_idx; i++)
(byte)(r_ptr->x_attr), (byte)(r_ptr->x_char));
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(&auto_dump_stream, mark);
msg_print(_("モンスターの[色/文字]をファイルに書き出しました。", "Dumped monster attr/chars."));
break;
}
if (!askfor(tmp, 70)) continue;
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) continue;
+ if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue;
auto_dump_printf(auto_dump_stream, _("\n# アイテムの[色/文字]の設定\n\n", "\n# Object attr/char definitions\n\n"));
for (KIND_OBJECT_IDX k_idx = 0; k_idx < max_k_idx; k_idx++)
(byte)(k_ptr->x_attr), (byte)(k_ptr->x_char));
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(&auto_dump_stream, mark);
msg_print(_("アイテムの[色/文字]をファイルに書き出しました。", "Dumped object attr/chars."));
break;
}
if (!askfor(tmp, 70)) continue;
path_build(buf, sizeof(buf), ANGBAND_DIR_USER, tmp);
- if (!open_auto_dump(auto_dump_stream, buf, mark)) continue;
+ if (!open_auto_dump(&auto_dump_stream, buf, mark)) continue;
auto_dump_printf(auto_dump_stream, _("\n# 地形の[色/文字]の設定\n\n", "\n# Feature attr/char definitions\n\n"));
for (i = 0; i < max_f_idx; i++)
(byte)(f_ptr->x_attr[F_LIT_DARK]), (byte)(f_ptr->x_char[F_LIT_DARK]));
}
- close_auto_dump(auto_dump_stream, mark);
+ close_auto_dump(&auto_dump_stream, mark);
msg_print(_("地形の[色/文字]をファイルに書き出しました。", "Dumped feature attr/chars."));
break;
}
* @param mark 出力するヘッダマーク
* @return ファイルポインタを取得できたらTRUEを返す
*/
-bool open_auto_dump(FILE *auto_dump_stream, concptr buf, concptr mark)
+bool open_auto_dump(FILE **fpp, concptr buf, concptr mark)
{
char header_mark_str[80];
concptr auto_dump_mark = mark;
sprintf(header_mark_str, auto_dump_header, auto_dump_mark);
remove_auto_dump(buf, mark);
- auto_dump_stream = my_fopen(buf, "a");
- if (!auto_dump_stream)
+ *fpp = my_fopen(buf, "a");
+ if (!fpp)
{
msg_format(_("%s を開くことができませんでした。", "Failed to open %s."), buf);
msg_print(NULL);
return FALSE;
}
- fprintf(auto_dump_stream, "%s\n", header_mark_str);
+ fprintf(*fpp, "%s\n", header_mark_str);
auto_dump_line_num = 0;
- auto_dump_printf(auto_dump_stream, _("# *警告!!* 以降の行は自動生成されたものです。\n",
+ auto_dump_printf(*fpp, _("# *警告!!* 以降の行は自動生成されたものです。\n",
"# *Warning!* The lines below are an automatic dump.\n"));
- auto_dump_printf(auto_dump_stream, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n",
+ auto_dump_printf(*fpp, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n",
"# Don't edit them; changes will be deleted and replaced automatically.\n"));
return TRUE;
}
* Append foot part and close auto dump.
* @return なし
*/
-void close_auto_dump(FILE *auto_dump_stream, concptr auto_dump_mark)
+void close_auto_dump(FILE **fpp, concptr auto_dump_mark)
{
char footer_mark_str[80];
sprintf(footer_mark_str, auto_dump_footer, auto_dump_mark);
- auto_dump_printf(auto_dump_stream, _("# *警告!!* 以降の行は自動生成されたものです。\n",
+ auto_dump_printf(*fpp, _("# *警告!!* 以降の行は自動生成されたものです。\n",
"# *Warning!* The lines below are an automatic dump.\n"));
- auto_dump_printf(auto_dump_stream, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n",
+ auto_dump_printf(*fpp, _("# *警告!!* 後で自動的に削除されるので編集しないでください。\n",
"# Don't edit them; changes will be deleted and replaced automatically.\n"));
- fprintf(auto_dump_stream, "%s (%d)\n", footer_mark_str, auto_dump_line_num);
- my_fclose(auto_dump_stream);
+ fprintf(*fpp, "%s (%d)\n", footer_mark_str, auto_dump_line_num);
+ my_fclose(*fpp);
}
extern errr process_histpref_file(player_type *creature_ptr, concptr name);
void auto_dump_printf(FILE *auto_dump_stream, concptr fmt, ...);
-bool open_auto_dump(FILE *auto_dump_stream, concptr buf, concptr mark);
-void close_auto_dump(FILE *auto_dump_stream, concptr auto_dump_mark);
+bool open_auto_dump(FILE **fpp, concptr buf, concptr mark);
+void close_auto_dump(FILE **fpp, concptr auto_dump_mark);