OSDN Git Service

[Refactor] #40236 Separated write-diary.c/h from cmd-dump.c/h
authorHourier <hourier@users.sourceforge.jp>
Sun, 8 Mar 2020 06:34:25 +0000 (15:34 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 8 Mar 2020 06:34:25 +0000 (15:34 +0900)
37 files changed:
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/birth.c
src/bldg.c
src/cmd/cmd-basic.c
src/cmd/cmd-dump.c
src/cmd/cmd-dump.h
src/cmd/cmd-gameoption.c
src/cmd/cmd-pet.c
src/cmd/cmd-save.c
src/cmd/cmd-spell.c
src/core.c
src/floor-generate.c
src/floor-save.c
src/io/write-diary.c [new file with mode: 0644]
src/io/write-diary.h [new file with mode: 0644]
src/main-win.c
src/monster-process.c
src/monster-status.c
src/monster1.c
src/monster2.c
src/mutation.c
src/object2.c
src/patron.c
src/player-damage.c
src/player-status.c
src/quest.c
src/scores.c
src/signal-handlers.c
src/spells-floor.c
src/spells1.c
src/spells2.c
src/spells3.c
src/store.c
src/trap.c
src/util.c
src/wizard2.c

index 193a4bb..8e4a87c 100644 (file)
     <ClCompile Include="..\..\src\io\read-pref-file.c" />\r
     <ClCompile Include="..\..\src\io\special-class-dump.c" />\r
     <ClCompile Include="..\..\src\io\tokenizer.c" />\r
+    <ClCompile Include="..\..\src\io\write-diary.c" />\r
     <ClCompile Include="..\..\src\monster-dist-offsets.c" />\r
     <ClCompile Include="..\..\src\monster-process.c" />\r
     <ClCompile Include="..\..\src\monster-status.c" />\r
     <ClInclude Include="..\..\src\io\read-pref-file.h" />\r
     <ClInclude Include="..\..\src\io\special-class-dump.h" />\r
     <ClInclude Include="..\..\src\io\tokenizer.h" />\r
+    <ClInclude Include="..\..\src\io\write-diary.h" />\r
     <ClInclude Include="..\..\src\monster-dist-offsets.h" />\r
     <ClInclude Include="..\..\src\monster\monster-attack.h" />\r
     <ClInclude Include="..\..\src\monster\monster-direction.h" />\r
index 17a301f..05b41c8 100644 (file)
     <ClCompile Include="..\..\src\monster\monster-sweep-grid.c">
       <Filter>monster</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\io\write-diary.c">
+      <Filter>io</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\monster\monster-sweep-grid.h">
       <Filter>monster</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\io\write-diary.h">
+      <Filter>io</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index a860be4..cfeb60a 100644 (file)
@@ -22,7 +22,8 @@
 #include "object-ego.h"
 #include "artifact.h"
 #include "avatar.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "dungeon.h"
 #include "history.h"
 #include "monster.h"
index 3cb759d..1162273 100644 (file)
@@ -18,8 +18,9 @@
 
 #include "core.h"
 #include "core/show-file.h"
-#include "cmd-dump.h"
-#include "cmd-magiceat.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
+#include "cmd/cmd-magiceat.h"
 #include "floor.h"
 #include "floor-events.h"
 #include "floor-save.h"
index 20b4c80..1e11cec 100644 (file)
@@ -14,6 +14,7 @@
 #include "core.h"
 #include "term.h"
 
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-save.h"
 #include "chest.h"
index 0bc7ae0..7299791 100644 (file)
@@ -45,6 +45,7 @@
 #include "core.h"
 #include "core/show-file.h"
 #include "io/read-pref-file.h"
+#include "io/write-diary.h"
 #include "chuukei.h"
 
 #include "autopick.h"
@@ -104,9 +105,6 @@ static SYMBOL_CODE char_idx_feat[F_LIT_MAX];
 // Encode the screen colors
 static char hack[17] = "dwsorgbuDWvyRGBU";
 
-// todo *抹殺* したい…
-bool write_level;
-
 /*!
  * @brief prf出力内容を消去する /
  * Remove old lines automatically generated before.
@@ -388,340 +386,6 @@ concptr get_ordinal_number_suffix(int num)
 }
 #endif
 
-
-/*!
- * @brief 日記にメッセージを追加する /
- * Take note to the diary.
- * @param type 日記内容のID
- * @param num 日記内容のIDに応じた数値
- * @param note 日記内容のIDに応じた文字列参照ポインタ
- * @return エラーID
- */
-errr exe_write_diary(player_type *creature_ptr, int type, int num, concptr note)
-{
-       int day, hour, min;
-       FILE *fff = NULL;
-       GAME_TEXT file_name[MAX_NLEN];
-       char buf[1024];
-       concptr note_level = "";
-       bool do_level = TRUE;
-       char note_level_buf[40];
-       QUEST_IDX q_idx;
-
-       static bool disable_diary = FALSE;
-
-       extract_day_hour_min(creature_ptr, &day, &hour, &min);
-
-       if (disable_diary) return(-1);
-
-       if (type == DIARY_FIX_QUEST_C ||
-               type == DIARY_FIX_QUEST_F ||
-               type == DIARY_RAND_QUEST_C ||
-               type == DIARY_RAND_QUEST_F ||
-               type == DIARY_TO_QUEST)
-       {
-               QUEST_IDX old_quest = creature_ptr->current_floor_ptr->inside_quest;
-               creature_ptr->current_floor_ptr->inside_quest = (quest[num].type == QUEST_TYPE_RANDOM) ? 0 : num;
-               init_flags = INIT_NAME_ONLY;
-               process_dungeon_file(creature_ptr, "q_info.txt", 0, 0, 0, 0);
-               creature_ptr->current_floor_ptr->inside_quest = old_quest;
-       }
-
-       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
-       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
-       FILE_TYPE(FILE_TYPE_TEXT);
-       fff = my_fopen(buf, "a");
-       if (!fff)
-       {
-               msg_format(_("%s を開くことができませんでした。プレイ記録を一時停止します。", "Failed to open %s. Play-Record is disabled temporarily."), buf);
-               msg_format(NULL);
-               disable_diary = TRUE;
-               return -1;
-       }
-
-       q_idx = quest_number(creature_ptr, creature_ptr->current_floor_ptr->dun_level);
-       if (write_level)
-       {
-               if (creature_ptr->current_floor_ptr->inside_arena)
-                       note_level = _("アリーナ:", "Arane:");
-               else if (!creature_ptr->current_floor_ptr->dun_level)
-                       note_level = _("地上:", "Surface:");
-               else if (q_idx && (is_fixed_quest_idx(q_idx)
-                       && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
-                       note_level = _("クエスト:", "Quest:");
-               else
-               {
-#ifdef JP
-                       sprintf(note_level_buf, "%d階(%s):", (int)creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
-#else
-                       sprintf(note_level_buf, "%s L%d:", d_name + d_info[creature_ptr->dungeon_idx].name, (int)creature_ptr->current_floor_ptr->dun_level);
-#endif
-                       note_level = note_level_buf;
-               }
-       }
-
-       switch (type)
-       {
-       case DIARY_DIALY:
-       {
-               if (day < MAX_DAYS) fprintf(fff, _("%d日目\n", "Day %d\n"), day);
-               else fputs(_("*****日目\n", "Day *****\n"), fff);
-               do_level = FALSE;
-               break;
-       }
-       case DIARY_DESCRIPTION:
-       {
-               if (num)
-               {
-                       fprintf(fff, "%s\n", note);
-                       do_level = FALSE;
-               }
-               else
-                       fprintf(fff, " %2d:%02d %20s %s\n", hour, min, note_level, note);
-
-               break;
-       }
-       case DIARY_ART:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sを発見した。\n", " %2d:%02d %20s discovered %s.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_ART_SCROLL:
-       {
-               fprintf(fff, _(" %2d:%02d %20s 巻物によって%sを生成した。\n", " %2d:%02d %20s created %s by scroll.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_UNIQUE:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sを倒した。\n", " %2d:%02d %20s defeated %s.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_FIX_QUEST_C:
-       {
-               if (quest[num].flags & QUEST_FLAG_SILENT) break;
-
-               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」を達成した。\n",
-                       " %2d:%02d %20s completed quest '%s'.\n"), hour, min, note_level, quest[num].name);
-               break;
-       }
-       case DIARY_FIX_QUEST_F:
-       {
-               if (quest[num].flags & QUEST_FLAG_SILENT) break;
-
-               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」から命からがら逃げ帰った。\n",
-                       " %2d:%02d %20s run away from quest '%s'.\n"), hour, min, note_level, quest[num].name);
-               break;
-       }
-       case DIARY_RAND_QUEST_C:
-       {
-               GAME_TEXT name[MAX_NLEN];
-               strcpy(name, r_name + r_info[quest[num].r_idx].name);
-               fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)を達成した。\n",
-                       " %2d:%02d %20s completed random quest '%s'\n"), hour, min, note_level, name);
-               break;
-       }
-       case DIARY_RAND_QUEST_F:
-       {
-               GAME_TEXT name[MAX_NLEN];
-               strcpy(name, r_name + r_info[quest[num].r_idx].name);
-               fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)から逃げ出した。\n",
-                       " %2d:%02d %20s ran away from quest '%s'.\n"), hour, min, note_level, name);
-               break;
-       }
-       case DIARY_MAXDEAPTH:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sの最深階%d階に到達した。\n",
-                       " %2d:%02d %20s reached level %d of %s for the first time.\n"), hour, min, note_level,
-                       _(d_name + d_info[creature_ptr->dungeon_idx].name, num),
-                       _(num, d_name + d_info[creature_ptr->dungeon_idx].name));
-               break;
-       }
-       case DIARY_TRUMP:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %s%sの最深階を%d階にセットした。\n",
-                       " %2d:%02d %20s reset recall level of %s to %d %s.\n"), hour, min, note_level, note,
-                       _(d_name + d_info[num].name, (int)max_dlv[num]),
-                       _((int)max_dlv[num], d_name + d_info[num].name));
-               break;
-       }
-       case DIARY_STAIR:
-       {
-               concptr to = q_idx && (is_fixed_quest_idx(q_idx)
-                       && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT)))
-                       ? _("地上", "the surface")
-                       : !(creature_ptr->current_floor_ptr->dun_level + num)
-                       ? _("地上", "the surface")
-                       : format(_("%d階", "level %d"), creature_ptr->current_floor_ptr->dun_level + num);
-               fprintf(fff, _(" %2d:%02d %20s %sへ%s。\n", " %2d:%02d %20s %s %s.\n"), hour, min, note_level, _(to, note), _(note, to));
-               break;
-       }
-       case DIARY_RECALL:
-       {
-               if (!num)
-                       fprintf(fff, _(" %2d:%02d %20s 帰還を使って%sの%d階へ下りた。\n", " %2d:%02d %20s recalled to dungeon level %d of %s.\n"),
-                               hour, min, note_level, _(d_name + d_info[creature_ptr->dungeon_idx].name, (int)max_dlv[creature_ptr->dungeon_idx]),
-                               _((int)max_dlv[creature_ptr->dungeon_idx], d_name + d_info[creature_ptr->dungeon_idx].name));
-               else
-                       fprintf(fff, _(" %2d:%02d %20s 帰還を使って地上へと戻った。\n", " %2d:%02d %20s recalled from dungeon to surface.\n"), hour, min, note_level);
-
-               break;
-       }
-       case DIARY_TO_QUEST:
-       {
-               if (quest[num].flags & QUEST_FLAG_SILENT) break;
-
-               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」へと突入した。\n", " %2d:%02d %20s entered the quest '%s'.\n"),
-                       hour, min, note_level, quest[num].name);
-               break;
-       }
-       case DIARY_TELEPORT_LEVEL:
-       {
-               fprintf(fff, _(" %2d:%02d %20s レベル・テレポートで脱出した。\n", " %2d:%02d %20s Got out using teleport level.\n"),
-                       hour, min, note_level);
-               break;
-       }
-       case DIARY_BUY:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sを購入した。\n", " %2d:%02d %20s bought %s.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_SELL:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sを売却した。\n", " %2d:%02d %20s sold %s.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_ARENA:
-       {
-               if (num < 0)
-               {
-                       int n = -num;
-                       fprintf(fff, _(" %2d:%02d %20s 闘技場の%d%s回戦で、%sの前に敗れ去った。\n", " %2d:%02d %20s beaten by %s in the %d%s fight.\n"),
-                               hour, min, note_level, _(n, note), _("", n), _(note, get_ordinal_number_suffix(n)));
-                       break;
-               }
-
-               fprintf(fff, _(" %2d:%02d %20s 闘技場の%d%s回戦(%s)に勝利した。\n", " %2d:%02d %20s won the %d%s fight (%s).\n"),
-                       hour, min, note_level, num, _("", get_ordinal_number_suffix(num)), note);
-
-               if (num == MAX_ARENA_MONS)
-               {
-                       fprintf(fff, _("                 闘技場のすべての敵に勝利し、チャンピオンとなった。\n",
-                               "                 won all fights to become a Champion.\n"));
-                       do_level = FALSE;
-               }
-
-               break;
-       }
-       case DIARY_FOUND:
-       {
-               fprintf(fff, _(" %2d:%02d %20s %sを識別した。\n", " %2d:%02d %20s identified %s.\n"), hour, min, note_level, note);
-               break;
-       }
-       case DIARY_WIZ_TELE:
-       {
-               concptr to = !creature_ptr->current_floor_ptr->dun_level
-                       ? _("地上", "the surface")
-                       : format(_("%d階(%s)", "level %d of %s"), creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
-               fprintf(fff, _(" %2d:%02d %20s %sへとウィザード・テレポートで移動した。\n",
-                       " %2d:%02d %20s wizard-teleport to %s.\n"), hour, min, note_level, to);
-               break;
-       }
-       case DIARY_PAT_TELE:
-       {
-               concptr to = !creature_ptr->current_floor_ptr->dun_level
-                       ? _("地上", "the surface")
-                       : format(_("%d階(%s)", "level %d of %s"), creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
-               fprintf(fff, _(" %2d:%02d %20s %sへとパターンの力で移動した。\n",
-                       " %2d:%02d %20s used Pattern to teleport to %s.\n"), hour, min, note_level, to);
-               break;
-       }
-       case DIARY_LEVELUP:
-       {
-               fprintf(fff, _(" %2d:%02d %20s レベルが%dに上がった。\n", " %2d:%02d %20s reached player level %d.\n"), hour, min, note_level, num);
-               break;
-       }
-       case DIARY_GAMESTART:
-       {
-               time_t ct = time((time_t*)0);
-               do_level = FALSE;
-               if (num)
-                       fprintf(fff, "%s %s", note, ctime(&ct));
-               else
-                       fprintf(fff, " %2d:%02d %20s %s %s", hour, min, note_level, note, ctime(&ct));
-
-               break;
-       }
-       case DIARY_NAMED_PET:
-       {
-               fprintf(fff, " %2d:%02d %20s ", hour, min, note_level);
-               switch (num)
-               {
-               case RECORD_NAMED_PET_NAME:
-                       fprintf(fff, _("%sを旅の友にすることに決めた。\n", "decided to travel together with %s.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_UNNAME:
-                       fprintf(fff, _("%sの名前を消した。\n", "unnamed %s.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_DISMISS:
-                       fprintf(fff, _("%sを解放した。\n", "dismissed %s.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_DEATH:
-                       fprintf(fff, _("%sが死んでしまった。\n", "%s died.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_MOVED:
-                       fprintf(fff, _("%sをおいて別のマップへ移動した。\n", "moved to another map leaving %s behind.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_LOST_SIGHT:
-                       fprintf(fff, _("%sとはぐれてしまった。\n", "lost sight of %s.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_DESTROY:
-                       fprintf(fff, _("%sが*破壊*によって消え去った。\n", "%s was killed by *destruction*.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_EARTHQUAKE:
-                       fprintf(fff, _("%sが岩石に押し潰された。\n", "%s was crushed by falling rocks.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_GENOCIDE:
-                       fprintf(fff, _("%sが抹殺によって消え去った。\n", "%s was a victim of genocide.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_WIZ_ZAP:
-                       fprintf(fff, _("%sがデバッグコマンドによって消え去った。\n", "%s was removed by debug command.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_TELE_LEVEL:
-                       fprintf(fff, _("%sがテレポート・レベルによって消え去った。\n", "%s was lost after teleporting a level.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_BLAST:
-                       fprintf(fff, _("%sを爆破した。\n", "blasted %s.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_HEAL_LEPER:
-                       fprintf(fff, _("%sの病気が治り旅から外れた。\n", "%s was healed and left.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_COMPACT:
-                       fprintf(fff, _("%sがモンスター情報圧縮によって消え去った。\n", "%s was lost when the monster list was pruned.\n"), note);
-                       break;
-               case RECORD_NAMED_PET_LOSE_PARENT:
-                       fprintf(fff, _("%sの召喚者が既にいないため消え去った。\n", "%s disappeared because its summoner left.\n"), note);
-                       break;
-               default:
-                       fprintf(fff, "\n");
-                       break;
-               }
-
-               break;
-       }
-       case DIARY_WIZARD_LOG:
-               fprintf(fff, "%s\n", note);
-               break;
-       default:
-               break;
-       }
-
-       my_fclose(fff);
-       if (do_level) write_level = FALSE;
-
-       return 0;
-}
-
-
 #define MAX_SUBTITLE (sizeof(subtitle)/sizeof(subtitle[0]))
 
 /*!
index e3b5021..bfab450 100644 (file)
@@ -1,54 +1,9 @@
 #pragma once
 
-#define DIARY_DIALY                            0
-#define DIARY_DESCRIPTION              1
-#define DIARY_ART                              2
-#define DIARY_UNIQUE                   3
-#define DIARY_FIX_QUEST_C              4
-#define DIARY_FIX_QUEST_F              5
-#define DIARY_RAND_QUEST_C             6
-#define DIARY_RAND_QUEST_F             7
-#define DIARY_MAXDEAPTH                        8
-#define DIARY_TRUMP                            9
-#define DIARY_STAIR                            10
-#define DIARY_RECALL                   11
-#define DIARY_TO_QUEST                 12
-#define DIARY_TELEPORT_LEVEL   13
-#define DIARY_BUY                              14
-#define DIARY_SELL                             15
-#define DIARY_ARENA                            16
-#define DIARY_FOUND                            17
-#define DIARY_LEVELUP                  18
-#define DIARY_GAMESTART                        19
-#define DIARY_WIZ_TELE                 20
-#define DIARY_NAMED_PET                        21
-#define DIARY_PAT_TELE                 22
-#define DIARY_ART_SCROLL               23
-#define DIARY_WIZARD_LOG               24
-
-#define RECORD_NAMED_PET_NAME        0
-#define RECORD_NAMED_PET_UNNAME      1
-#define RECORD_NAMED_PET_DISMISS     2
-#define RECORD_NAMED_PET_DEATH       3
-#define RECORD_NAMED_PET_MOVED       4
-#define RECORD_NAMED_PET_LOST_SIGHT  5
-#define RECORD_NAMED_PET_DESTROY     6
-#define RECORD_NAMED_PET_EARTHQUAKE  7
-#define RECORD_NAMED_PET_GENOCIDE    8
-#define RECORD_NAMED_PET_WIZ_ZAP     9
-#define RECORD_NAMED_PET_TELE_LEVEL  10
-#define RECORD_NAMED_PET_BLAST       11
-#define RECORD_NAMED_PET_HEAL_LEPER  12
-#define RECORD_NAMED_PET_COMPACT     13
-#define RECORD_NAMED_PET_LOSE_PARENT 14
-
-
-/* cmd4.c */
 #ifdef JP
 #else
 extern concptr get_ordinal_number_suffix(int num);
 #endif
-extern errr exe_write_diary(player_type *creature_ptr, int type, int num, concptr note);
 extern void do_cmd_diary(player_type *creature_ptr);
 extern void do_cmd_redraw(player_type *creature_ptr);
 extern void do_cmd_player_status(player_type *creature_ptr);
@@ -78,5 +33,3 @@ extern void do_cmd_spoilers(player_type *creature_ptr);
 
 /* wizard1.c */
 extern void spoil_random_artifact(player_type *creature_ptr, concptr fname);
-
-extern bool write_level;
index a17106f..cff32db 100644 (file)
@@ -1,7 +1,8 @@
 #include "angband.h"
 
 #include "autopick.h"
-#include "cmd-gameoption.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-gameoption.h"
 #include "term.h"
 #include "view-mainwindow.h"
 #include "cmd/cmd-dump.h"
index 127d83a..e9e719e 100644 (file)
@@ -2,7 +2,8 @@
 #include "core.h"
 #include "util.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "floor.h"
 #include "grid.h"
 #include "melee.h"
index ac254fc..497834c 100644 (file)
@@ -1,4 +1,5 @@
 #include "signal-handlers.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-save.h"
 #include "cmd/cmd-dump.h"
 #include "player-move.h"
index 5a88587..046c199 100644 (file)
@@ -9,9 +9,10 @@
 #include "angband.h"
 #include "core.h"
 #include "util.h"
-#include "cmd-spell.h"
+#include "cmd/cmd-spell.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "selfinfo.h"
 #include "spells.h"
 #include "spells-summon.h"
index b7a9c8c..1caa5d1 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "birth.h"
 #include "bldg.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-activate.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-eat.h"
index fc017e5..dea6d44 100644 (file)
 #include "core.h"
 #include "bldg.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "grid.h"
 #include "rooms.h"
 #include "dungeon.h"
index ae30a05..a7bd8e2 100644 (file)
@@ -40,7 +40,8 @@
 #include "player-personality.h"
 #include "world.h"
 #include "spells.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "save.h"
 
 #include "view-mainwindow.h"
diff --git a/src/io/write-diary.c b/src/io/write-diary.c
new file mode 100644 (file)
index 0000000..8682eff
--- /dev/null
@@ -0,0 +1,346 @@
+/*!
+ * @brief 日記へのメッセージ追加処理
+ * @date 2020/03/08
+ * @author Hourier
+ */
+
+#include "io/write-diary.h"
+#include "core.h"
+#include "quest.h"
+#include "files.h"
+#include "dungeon.h"
+
+// todo *抹殺* したい…
+bool write_level;
+
+/*!
+ * @brief 日記にメッセージを追加する /
+ * Take note to the diary.
+ * @param type 日記内容のID
+ * @param num 日記内容のIDに応じた数値
+ * @param note 日記内容のIDに応じた文字列参照ポインタ
+ * @return エラーコード
+ */
+errr exe_write_diary(player_type *creature_ptr, int type, int num, concptr note)
+{
+       int day, hour, min;
+       FILE *fff = NULL;
+       GAME_TEXT file_name[MAX_NLEN];
+       char buf[1024];
+       concptr note_level = "";
+       bool do_level = TRUE;
+       char note_level_buf[40];
+       QUEST_IDX q_idx;
+
+       static bool disable_diary = FALSE;
+
+       extract_day_hour_min(creature_ptr, &day, &hour, &min);
+
+       if (disable_diary) return(-1);
+
+       if (type == DIARY_FIX_QUEST_C ||
+               type == DIARY_FIX_QUEST_F ||
+               type == DIARY_RAND_QUEST_C ||
+               type == DIARY_RAND_QUEST_F ||
+               type == DIARY_TO_QUEST)
+       {
+               QUEST_IDX old_quest = creature_ptr->current_floor_ptr->inside_quest;
+               creature_ptr->current_floor_ptr->inside_quest = (quest[num].type == QUEST_TYPE_RANDOM) ? 0 : num;
+               init_flags = INIT_NAME_ONLY;
+               process_dungeon_file(creature_ptr, "q_info.txt", 0, 0, 0, 0);
+               creature_ptr->current_floor_ptr->inside_quest = old_quest;
+       }
+
+       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
+       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
+       FILE_TYPE(FILE_TYPE_TEXT);
+       fff = my_fopen(buf, "a");
+       if (!fff)
+       {
+               msg_format(_("%s を開くことができませんでした。プレイ記録を一時停止します。", "Failed to open %s. Play-Record is disabled temporarily."), buf);
+               msg_format(NULL);
+               disable_diary = TRUE;
+               return -1;
+       }
+
+       q_idx = quest_number(creature_ptr, creature_ptr->current_floor_ptr->dun_level);
+       if (write_level)
+       {
+               if (creature_ptr->current_floor_ptr->inside_arena)
+                       note_level = _("アリーナ:", "Arane:");
+               else if (!creature_ptr->current_floor_ptr->dun_level)
+                       note_level = _("地上:", "Surface:");
+               else if (q_idx && (is_fixed_quest_idx(q_idx)
+                       && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT))))
+                       note_level = _("クエスト:", "Quest:");
+               else
+               {
+#ifdef JP
+                       sprintf(note_level_buf, "%d階(%s):", (int)creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
+#else
+                       sprintf(note_level_buf, "%s L%d:", d_name + d_info[creature_ptr->dungeon_idx].name, (int)creature_ptr->current_floor_ptr->dun_level);
+#endif
+                       note_level = note_level_buf;
+               }
+       }
+
+       switch (type)
+       {
+       case DIARY_DIALY:
+       {
+               if (day < MAX_DAYS) fprintf(fff, _("%d日目\n", "Day %d\n"), day);
+               else fputs(_("*****日目\n", "Day *****\n"), fff);
+               do_level = FALSE;
+               break;
+       }
+       case DIARY_DESCRIPTION:
+       {
+               if (num)
+               {
+                       fprintf(fff, "%s\n", note);
+                       do_level = FALSE;
+               }
+               else
+                       fprintf(fff, " %2d:%02d %20s %s\n", hour, min, note_level, note);
+
+               break;
+       }
+       case DIARY_ART:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sを発見した。\n", " %2d:%02d %20s discovered %s.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_ART_SCROLL:
+       {
+               fprintf(fff, _(" %2d:%02d %20s 巻物によって%sを生成した。\n", " %2d:%02d %20s created %s by scroll.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_UNIQUE:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sを倒した。\n", " %2d:%02d %20s defeated %s.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_FIX_QUEST_C:
+       {
+               if (quest[num].flags & QUEST_FLAG_SILENT) break;
+
+               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」を達成した。\n",
+                       " %2d:%02d %20s completed quest '%s'.\n"), hour, min, note_level, quest[num].name);
+               break;
+       }
+       case DIARY_FIX_QUEST_F:
+       {
+               if (quest[num].flags & QUEST_FLAG_SILENT) break;
+
+               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」から命からがら逃げ帰った。\n",
+                       " %2d:%02d %20s run away from quest '%s'.\n"), hour, min, note_level, quest[num].name);
+               break;
+       }
+       case DIARY_RAND_QUEST_C:
+       {
+               GAME_TEXT name[MAX_NLEN];
+               strcpy(name, r_name + r_info[quest[num].r_idx].name);
+               fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)を達成した。\n",
+                       " %2d:%02d %20s completed random quest '%s'\n"), hour, min, note_level, name);
+               break;
+       }
+       case DIARY_RAND_QUEST_F:
+       {
+               GAME_TEXT name[MAX_NLEN];
+               strcpy(name, r_name + r_info[quest[num].r_idx].name);
+               fprintf(fff, _(" %2d:%02d %20s ランダムクエスト(%s)から逃げ出した。\n",
+                       " %2d:%02d %20s ran away from quest '%s'.\n"), hour, min, note_level, name);
+               break;
+       }
+       case DIARY_MAXDEAPTH:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sの最深階%d階に到達した。\n",
+                       " %2d:%02d %20s reached level %d of %s for the first time.\n"), hour, min, note_level,
+                       _(d_name + d_info[creature_ptr->dungeon_idx].name, num),
+                       _(num, d_name + d_info[creature_ptr->dungeon_idx].name));
+               break;
+       }
+       case DIARY_TRUMP:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %s%sの最深階を%d階にセットした。\n",
+                       " %2d:%02d %20s reset recall level of %s to %d %s.\n"), hour, min, note_level, note,
+                       _(d_name + d_info[num].name, (int)max_dlv[num]),
+                       _((int)max_dlv[num], d_name + d_info[num].name));
+               break;
+       }
+       case DIARY_STAIR:
+       {
+               concptr to = q_idx && (is_fixed_quest_idx(q_idx)
+                       && !((q_idx == QUEST_OBERON) || (q_idx == QUEST_SERPENT)))
+                       ? _("地上", "the surface")
+                       : !(creature_ptr->current_floor_ptr->dun_level + num)
+                       ? _("地上", "the surface")
+                       : format(_("%d階", "level %d"), creature_ptr->current_floor_ptr->dun_level + num);
+               fprintf(fff, _(" %2d:%02d %20s %sへ%s。\n", " %2d:%02d %20s %s %s.\n"), hour, min, note_level, _(to, note), _(note, to));
+               break;
+       }
+       case DIARY_RECALL:
+       {
+               if (!num)
+                       fprintf(fff, _(" %2d:%02d %20s 帰還を使って%sの%d階へ下りた。\n", " %2d:%02d %20s recalled to dungeon level %d of %s.\n"),
+                               hour, min, note_level, _(d_name + d_info[creature_ptr->dungeon_idx].name, (int)max_dlv[creature_ptr->dungeon_idx]),
+                               _((int)max_dlv[creature_ptr->dungeon_idx], d_name + d_info[creature_ptr->dungeon_idx].name));
+               else
+                       fprintf(fff, _(" %2d:%02d %20s 帰還を使って地上へと戻った。\n", " %2d:%02d %20s recalled from dungeon to surface.\n"), hour, min, note_level);
+
+               break;
+       }
+       case DIARY_TO_QUEST:
+       {
+               if (quest[num].flags & QUEST_FLAG_SILENT) break;
+
+               fprintf(fff, _(" %2d:%02d %20s クエスト「%s」へと突入した。\n", " %2d:%02d %20s entered the quest '%s'.\n"),
+                       hour, min, note_level, quest[num].name);
+               break;
+       }
+       case DIARY_TELEPORT_LEVEL:
+       {
+               fprintf(fff, _(" %2d:%02d %20s レベル・テレポートで脱出した。\n", " %2d:%02d %20s Got out using teleport level.\n"),
+                       hour, min, note_level);
+               break;
+       }
+       case DIARY_BUY:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sを購入した。\n", " %2d:%02d %20s bought %s.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_SELL:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sを売却した。\n", " %2d:%02d %20s sold %s.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_ARENA:
+       {
+               if (num < 0)
+               {
+                       int n = -num;
+                       fprintf(fff, _(" %2d:%02d %20s 闘技場の%d%s回戦で、%sの前に敗れ去った。\n", " %2d:%02d %20s beaten by %s in the %d%s fight.\n"),
+                               hour, min, note_level, _(n, note), _("", n), _(note, get_ordinal_number_suffix(n)));
+                       break;
+               }
+
+               fprintf(fff, _(" %2d:%02d %20s 闘技場の%d%s回戦(%s)に勝利した。\n", " %2d:%02d %20s won the %d%s fight (%s).\n"),
+                       hour, min, note_level, num, _("", get_ordinal_number_suffix(num)), note);
+
+               if (num == MAX_ARENA_MONS)
+               {
+                       fprintf(fff, _("                 闘技場のすべての敵に勝利し、チャンピオンとなった。\n",
+                               "                 won all fights to become a Champion.\n"));
+                       do_level = FALSE;
+               }
+
+               break;
+       }
+       case DIARY_FOUND:
+       {
+               fprintf(fff, _(" %2d:%02d %20s %sを識別した。\n", " %2d:%02d %20s identified %s.\n"), hour, min, note_level, note);
+               break;
+       }
+       case DIARY_WIZ_TELE:
+       {
+               concptr to = !creature_ptr->current_floor_ptr->dun_level
+                       ? _("地上", "the surface")
+                       : format(_("%d階(%s)", "level %d of %s"), creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
+               fprintf(fff, _(" %2d:%02d %20s %sへとウィザード・テレポートで移動した。\n",
+                       " %2d:%02d %20s wizard-teleport to %s.\n"), hour, min, note_level, to);
+               break;
+       }
+       case DIARY_PAT_TELE:
+       {
+               concptr to = !creature_ptr->current_floor_ptr->dun_level
+                       ? _("地上", "the surface")
+                       : format(_("%d階(%s)", "level %d of %s"), creature_ptr->current_floor_ptr->dun_level, d_name + d_info[creature_ptr->dungeon_idx].name);
+               fprintf(fff, _(" %2d:%02d %20s %sへとパターンの力で移動した。\n",
+                       " %2d:%02d %20s used Pattern to teleport to %s.\n"), hour, min, note_level, to);
+               break;
+       }
+       case DIARY_LEVELUP:
+       {
+               fprintf(fff, _(" %2d:%02d %20s レベルが%dに上がった。\n", " %2d:%02d %20s reached player level %d.\n"), hour, min, note_level, num);
+               break;
+       }
+       case DIARY_GAMESTART:
+       {
+               time_t ct = time((time_t*)0);
+               do_level = FALSE;
+               if (num)
+                       fprintf(fff, "%s %s", note, ctime(&ct));
+               else
+                       fprintf(fff, " %2d:%02d %20s %s %s", hour, min, note_level, note, ctime(&ct));
+
+               break;
+       }
+       case DIARY_NAMED_PET:
+       {
+               fprintf(fff, " %2d:%02d %20s ", hour, min, note_level);
+               switch (num)
+               {
+               case RECORD_NAMED_PET_NAME:
+                       fprintf(fff, _("%sを旅の友にすることに決めた。\n", "decided to travel together with %s.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_UNNAME:
+                       fprintf(fff, _("%sの名前を消した。\n", "unnamed %s.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_DISMISS:
+                       fprintf(fff, _("%sを解放した。\n", "dismissed %s.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_DEATH:
+                       fprintf(fff, _("%sが死んでしまった。\n", "%s died.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_MOVED:
+                       fprintf(fff, _("%sをおいて別のマップへ移動した。\n", "moved to another map leaving %s behind.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_LOST_SIGHT:
+                       fprintf(fff, _("%sとはぐれてしまった。\n", "lost sight of %s.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_DESTROY:
+                       fprintf(fff, _("%sが*破壊*によって消え去った。\n", "%s was killed by *destruction*.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_EARTHQUAKE:
+                       fprintf(fff, _("%sが岩石に押し潰された。\n", "%s was crushed by falling rocks.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_GENOCIDE:
+                       fprintf(fff, _("%sが抹殺によって消え去った。\n", "%s was a victim of genocide.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_WIZ_ZAP:
+                       fprintf(fff, _("%sがデバッグコマンドによって消え去った。\n", "%s was removed by debug command.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_TELE_LEVEL:
+                       fprintf(fff, _("%sがテレポート・レベルによって消え去った。\n", "%s was lost after teleporting a level.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_BLAST:
+                       fprintf(fff, _("%sを爆破した。\n", "blasted %s.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_HEAL_LEPER:
+                       fprintf(fff, _("%sの病気が治り旅から外れた。\n", "%s was healed and left.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_COMPACT:
+                       fprintf(fff, _("%sがモンスター情報圧縮によって消え去った。\n", "%s was lost when the monster list was pruned.\n"), note);
+                       break;
+               case RECORD_NAMED_PET_LOSE_PARENT:
+                       fprintf(fff, _("%sの召喚者が既にいないため消え去った。\n", "%s disappeared because its summoner left.\n"), note);
+                       break;
+               default:
+                       fprintf(fff, "\n");
+                       break;
+               }
+
+               break;
+       }
+       case DIARY_WIZARD_LOG:
+               fprintf(fff, "%s\n", note);
+               break;
+       default:
+               break;
+       }
+
+       my_fclose(fff);
+       if (do_level) write_level = FALSE;
+
+       return 0;
+}
diff --git a/src/io/write-diary.h b/src/io/write-diary.h
new file mode 100644 (file)
index 0000000..f5ac789
--- /dev/null
@@ -0,0 +1,49 @@
+#pragma once
+
+#include "angband.h"
+
+#define DIARY_DIALY                            0
+#define DIARY_DESCRIPTION              1
+#define DIARY_ART                              2
+#define DIARY_UNIQUE                   3
+#define DIARY_FIX_QUEST_C              4
+#define DIARY_FIX_QUEST_F              5
+#define DIARY_RAND_QUEST_C             6
+#define DIARY_RAND_QUEST_F             7
+#define DIARY_MAXDEAPTH                        8
+#define DIARY_TRUMP                            9
+#define DIARY_STAIR                            10
+#define DIARY_RECALL                   11
+#define DIARY_TO_QUEST                 12
+#define DIARY_TELEPORT_LEVEL   13
+#define DIARY_BUY                              14
+#define DIARY_SELL                             15
+#define DIARY_ARENA                            16
+#define DIARY_FOUND                            17
+#define DIARY_LEVELUP                  18
+#define DIARY_GAMESTART                        19
+#define DIARY_WIZ_TELE                 20
+#define DIARY_NAMED_PET                        21
+#define DIARY_PAT_TELE                 22
+#define DIARY_ART_SCROLL               23
+#define DIARY_WIZARD_LOG               24
+
+#define RECORD_NAMED_PET_NAME        0
+#define RECORD_NAMED_PET_UNNAME      1
+#define RECORD_NAMED_PET_DISMISS     2
+#define RECORD_NAMED_PET_DEATH       3
+#define RECORD_NAMED_PET_MOVED       4
+#define RECORD_NAMED_PET_LOST_SIGHT  5
+#define RECORD_NAMED_PET_DESTROY     6
+#define RECORD_NAMED_PET_EARTHQUAKE  7
+#define RECORD_NAMED_PET_GENOCIDE    8
+#define RECORD_NAMED_PET_WIZ_ZAP     9
+#define RECORD_NAMED_PET_TELE_LEVEL  10
+#define RECORD_NAMED_PET_BLAST       11
+#define RECORD_NAMED_PET_HEAL_LEPER  12
+#define RECORD_NAMED_PET_COMPACT     13
+#define RECORD_NAMED_PET_LOSE_PARENT 14
+
+extern bool write_level;
+
+errr exe_write_diary(player_type *creature_ptr, int type, int num, concptr note);
index ddbbabd..0faa3df 100644 (file)
@@ -99,6 +99,7 @@
 #include "inet.h"
 #include "chuukei.h"
 
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-save.h"
 #include "view-mainwindow.h"
index a70f77f..447c4a8 100644 (file)
@@ -22,8 +22,9 @@
 #include "monster/monster-update.h"
 #include "monster/quantum-effect.h"
 
-#include "cmd-dump.h"
-#include "cmd-pet.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
+#include "cmd/cmd-pet.h"
 #include "creature.h"
 #include "melee.h"
 #include "spells-summon.h"
index 5dbf52c..af6f4e9 100644 (file)
@@ -3,7 +3,8 @@
 #include "util.h"
 
 #include "creature.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "dungeon.h"
 #include "floor.h"
 #include "grid.h"
index 69b8321..4a4a940 100644 (file)
@@ -14,7 +14,8 @@
 #include "util.h"
 #include "term.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "bldg.h"
 #include "cmd-pet.h"
 #include "floor.h"
index fc55804..36595d7 100644 (file)
@@ -14,7 +14,8 @@
 #include "util.h"
 #include "core.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "cmd-pet.h"
 #include "dungeon.h"
 #include "floor.h"
index b931560..9fda64a 100644 (file)
@@ -16,6 +16,7 @@
 #include "core/show-file.h"
 #include "util.h"
 
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "mutation.h"
 
index 9913bf9..f247fc8 100644 (file)
@@ -18,8 +18,9 @@
 
 #include "object.h"
 
-#include "cmd-dump.h"
-#include "cmd-spell.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
+#include "cmd/cmd-spell.h"
 #include "spells.h"
 #include "dungeon.h"
 #include "floor.h"
index 048f0c1..5554e1c 100644 (file)
@@ -2,7 +2,8 @@
 #include "angband.h"
 #include "util.h"
 
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "patron.h"
 #include "cmd-pet.h"
 #include "object-curse.h"
index ac46dce..92ca731 100644 (file)
@@ -5,7 +5,8 @@
 
 #include "avatar.h"
 #include "bldg.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "realm-song.h"
 #include "floor.h"
 #include "artifact.h"
index d5a9405..7006f08 100644 (file)
 #include "patron.h"
 #include "realm-hex.h"
 #include "realm-song.h"
-#include "cmd-pet.h"
-#include "cmd-spell.h"
+#include "cmd/cmd-pet.h"
+#include "cmd/cmd-spell.h"
 #include "dungeon.h"
 #include "objectkind.h"
 #include "monsterrace.h"
 #include "autopick.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "melee.h"
 #include "world.h"
 #include "view-mainwindow.h"
index a799fff..12961ce 100644 (file)
@@ -15,7 +15,8 @@
 #include "artifact.h"
 #include "feature.h"
 #include "world.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "english.h"
 #include "view-mainwindow.h"
 
index 9192727..667e8b2 100644 (file)
@@ -27,7 +27,8 @@
 #include "scores.h"
 #include "floor.h"
 #include "world.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "report.h"
 #include "japanese.h"
 
index 217d1d9..e0410a5 100644 (file)
@@ -10,6 +10,7 @@
 #include "save.h"
 #include "world.h"
 #include "term.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "floor-events.h"
 
index 99de94d..081a712 100644 (file)
@@ -10,8 +10,9 @@
 #include "object-flavor.h"
 #include "object-hook.h"
 
-#include "cmd-basic.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-basic.h"
+#include "cmd/cmd-dump.h"
 
 #include "floor-events.h"
 #include "floor-save.h"
index d4a0fd1..04c30de 100644 (file)
@@ -15,8 +15,9 @@
 #include "core.h"
 #include "util.h"
 
-#include "cmd-pet.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-pet.h"
+#include "cmd/cmd-dump.h"
 #include "floor.h"
 #include "trap.h"
 #include "autopick.h"
index f3018dd..9409663 100644 (file)
@@ -18,8 +18,9 @@
 #include "creature.h"
 
 #include "artifact.h"
-#include "cmd-pet.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-pet.h"
+#include "cmd/cmd-dump.h"
 #include "floor.h"
 #include "grid.h"
 #include "trap.h"
index 5ee9916..1047dce 100644 (file)
@@ -42,6 +42,7 @@
 #include "monster-process.h"
 #include "monster-status.h"
 #include "monster-spell.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-save.h"
 #include "cmd/cmd-spell.h"
 #include "cmd/cmd-dump.h"
index 7cbc5b8..674d1bc 100644 (file)
@@ -16,6 +16,7 @@
 #include "term.h"
 
 #include "floor.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-basic.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-help.h"
index 940d19a..b8574bf 100644 (file)
@@ -1,6 +1,7 @@
 #include "angband.h"
 #include "util.h"
 
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-save.h"
 #include "trap.h"
index c330eb2..b9d7833 100644 (file)
@@ -21,7 +21,8 @@
 #include "quest.h"
 #include "floor.h"
 #include "world.h"
-#include "cmd-dump.h"
+#include "io/write-diary.h"
+#include "cmd/cmd-dump.h"
 #include "japanese.h"
 #include "player-class.h"
 
index 33d07b0..bdc6007 100644 (file)
@@ -15,6 +15,7 @@
 #include "term.h"
 
 #include "dungeon.h"
+#include "io/write-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-help.h"
 #include "cmd/cmd-save.h"