変愚蛮怒のメインリポジトリです
リビジョン | f5a69cafaf92a30b4881b0e3e04d13d9de5036a2 (tree) |
---|---|
日時 | 2020-03-08 15:53:30 |
作者 | Hourier <hourier@user...> |
コミッター | Hourier |
[Refactor] #40236 Separated open_diary_file() from exe_write_diary()
@@ -16,6 +16,30 @@ | ||
16 | 16 | bool write_level; |
17 | 17 | |
18 | 18 | /*! |
19 | + * todo files.c に移すことも検討する? | |
20 | + * @brief 日記ファイルを開く | |
21 | + * @param fff ファイルへのポインタ | |
22 | + * @param disable_diary 日記への追加を無効化する場合TRUE | |
23 | + * @return ファイルがあったらTRUE、なかったらFALSE | |
24 | + */ | |
25 | +static bool open_diary_file(FILE *fff, bool *disable_diary) | |
26 | +{ | |
27 | + GAME_TEXT file_name[MAX_NLEN]; | |
28 | + sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base); | |
29 | + char buf[1024]; | |
30 | + path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name); | |
31 | + FILE_TYPE(FILE_TYPE_TEXT); | |
32 | + fff = my_fopen(buf, "a"); | |
33 | + if (fff) return TRUE; | |
34 | + | |
35 | + msg_format(_("%s を開くことができませんでした。プレイ記録を一時停止します。", "Failed to open %s. Play-Record is disabled temporarily."), buf); | |
36 | + msg_format(NULL); | |
37 | + *disable_diary = TRUE; | |
38 | + return FALSE; | |
39 | +} | |
40 | + | |
41 | + | |
42 | +/*! | |
19 | 43 | * @brief ペットに関する日記を追加する |
20 | 44 | * @param fff 日記ファイル |
21 | 45 | * @param num 日記へ追加する内容番号 |
@@ -108,20 +132,8 @@ errr exe_write_diary(player_type *creature_ptr, int type, int num, concptr note) | ||
108 | 132 | creature_ptr->current_floor_ptr->inside_quest = old_quest; |
109 | 133 | } |
110 | 134 | |
111 | - GAME_TEXT file_name[MAX_NLEN]; | |
112 | - sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base); | |
113 | - char buf[1024]; | |
114 | - path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name); | |
115 | - FILE_TYPE(FILE_TYPE_TEXT); | |
116 | 135 | FILE *fff = NULL; |
117 | - fff = my_fopen(buf, "a"); | |
118 | - if (!fff) | |
119 | - { | |
120 | - msg_format(_("%s を開くことができませんでした。プレイ記録を一時停止します。", "Failed to open %s. Play-Record is disabled temporarily."), buf); | |
121 | - msg_format(NULL); | |
122 | - disable_diary = TRUE; | |
123 | - return -1; | |
124 | - } | |
136 | + if (!open_diary_file(fff, &disable_diary)) return -1; | |
125 | 137 | |
126 | 138 | QUEST_IDX q_idx = quest_number(creature_ptr, creature_ptr->current_floor_ptr->dun_level); |
127 | 139 | concptr note_level = ""; |