OSDN Git Service

[Refactor] #40236 Separated cmd-diary.c/h from cmd-dump.c/h
authorHourier <hourier@users.sourceforge.jp>
Sun, 22 Mar 2020 08:47:06 +0000 (17:47 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 22 Mar 2020 08:47:06 +0000 (17:47 +0900)
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/cmd/cmd-diary.c [new file with mode: 0644]
src/cmd/cmd-diary.h [new file with mode: 0644]
src/cmd/cmd-dump.c
src/cmd/cmd-dump.h
src/core.c
src/store.c

index ecae13f..de9973f 100644 (file)
     <ClCompile Include="..\..\src\chuukei.c" />\r
     <ClCompile Include="..\..\src\cmd\cmd-activate.c" />\r
     <ClCompile Include="..\..\src\cmd\cmd-basic.c" />\r
+    <ClCompile Include="..\..\src\cmd\cmd-diary.c" />\r
     <ClCompile Include="..\..\src\cmd\cmd-dump.c" />\r
     <ClCompile Include="..\..\src\cmd\cmd-eat.c" />\r
     <ClCompile Include="..\..\src\cmd\cmd-gameoption.c" />\r
     <ClCompile Include="..\..\src\z-virt.c" />\r
     <ClInclude Include="..\..\src\cmd\cmd-activate.h" />\r
     <ClInclude Include="..\..\src\cmd\cmd-basic.h" />\r
+    <ClInclude Include="..\..\src\cmd\cmd-diary.h" />\r
     <ClInclude Include="..\..\src\cmd\cmd-dump.h" />\r
     <ClInclude Include="..\..\src\cmd\cmd-eat.h" />\r
     <ClInclude Include="..\..\src\cmd\cmd-gameoption.h" />\r
index 3b2abc9..69b3d92 100644 (file)
     <ClCompile Include="..\..\src\cmd\cmd-macro.c">
       <Filter>cmd</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\cmd\cmd-diary.c">
+      <Filter>cmd</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\cmd\cmd-macro.h">
       <Filter>cmd</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\cmd\cmd-diary.h">
+      <Filter>cmd</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index e5919bc..5702e94 100644 (file)
@@ -137,11 +137,11 @@ hengband_SOURCES = \
        cmd/diary-subtitle-table.c cmd/diary-subtitle-table.h \
        cmd/object-group-table.c cmd/object-group-table.h \
        cmd/cmd-activate.c cmd/cmd-activate.h cmd/cmd-basic.c cmd/cmd-basic.h \
-       cmd/cmd-dump.c cmd/cmd-dump.h cmd/cmd-eat.c cmd/cmd-eat.h \
-       cmd/cmd-gameoption.c cmd/cmd-gameoption.h cmd/cmd-help.c cmd/cmd-help.h \
-       cmd/cmd-hissatsu.c cmd/cmd-hissatsu.h cmd/cmd-item.c cmd/cmd-item.h \
-       cmd/cmd-magiceat.c cmd/cmd-magiceat.h cmd/cmd-mane.c cmd/cmd-mane.h \
-       cmd/cmd-macro.c cmd/cmd-macro.h \
+       cmd/cmd-dump.c cmd/cmd-dump.h cmd/cmd-diary.c cmd/cmd-diary.h \
+       cmd/cmd-eat.c cmd/cmd-eat.h cmd/cmd-gameoption.c cmd/cmd-gameoption.h \
+       cmd/cmd-help.c cmd/cmd-help.h cmd/cmd-hissatsu.c cmd/cmd-hissatsu.h \
+       cmd/cmd-item.c cmd/cmd-item.h cmd/cmd-magiceat.c cmd/cmd-magiceat.h \
+       cmd/cmd-mane.c cmd/cmd-mane.h cmd/cmd-macro.c cmd/cmd-macro.h \
        cmd/cmd-pet.c cmd/cmd-pet.h cmd/cmd-quaff.c cmd/cmd-quaff.h \
        cmd/cmd-read.c cmd/cmd-read.h cmd/cmd-save.c cmd/cmd-save.h \
        cmd/cmd-smith.c cmd/cmd-smith.h cmd/cmd-spell.c cmd/cmd-spell.h \
diff --git a/src/cmd/cmd-diary.c b/src/cmd/cmd-diary.c
new file mode 100644 (file)
index 0000000..06a04e3
--- /dev/null
@@ -0,0 +1,155 @@
+#include "angband.h"
+#include "cmd/cmd-diary.h"
+#include "chuukei.h"
+#include "core/show-file.h"
+#include "files.h"
+#include "cmd/diary-subtitle-table.h"
+#include "player-personality.h"
+#include "io/write-diary.h"
+#include "world.h"
+
+/*!
+ * @brief 日記のタイトル表記と内容出力
+ * @param creature_ptr プレーヤーへの参照ポインタ
+ * @return なし
+ */
+static void display_diary(player_type *creature_ptr)
+{
+       char diary_title[256];
+       GAME_TEXT file_name[MAX_NLEN];
+       char buf[1024];
+       char tmp[80];
+       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
+       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
+
+       if (creature_ptr->pclass == CLASS_WARRIOR || creature_ptr->pclass == CLASS_MONK || creature_ptr->pclass == CLASS_SAMURAI || creature_ptr->pclass == CLASS_BERSERKER)
+               strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 1)]);
+       else if (IS_WIZARD_CLASS(creature_ptr))
+               strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 1) + 1]);
+       else strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 2) + 1]);
+
+#ifdef JP
+       sprintf(diary_title, "「%s%s%sの伝説 -%s-」", ap_ptr->title, ap_ptr->no ? "の" : "", creature_ptr->name, tmp);
+#else
+       sprintf(diary_title, "Legend of %s %s '%s'", ap_ptr->title, creature_ptr->name, tmp);
+#endif
+
+       (void)show_file(creature_ptr, FALSE, buf, diary_title, -1, 0);
+}
+
+
+/*!
+ * @brief 日記に任意の内容を表記するコマンドのメインルーチン /
+ * @return なし
+ */
+static void add_diary_note(player_type *creature_ptr)
+{
+       char tmp[80] = "\0";
+       char bunshou[80] = "\0";
+       if (get_string(_("内容: ", "diary note: "), tmp, 79))
+       {
+               strcpy(bunshou, tmp);
+               exe_write_diary(creature_ptr, DIARY_DESCRIPTION, 0, bunshou);
+       }
+}
+
+/*!
+ * @brief 最後に取得したアイテムの情報を日記に追加するメインルーチン /
+ * @return なし
+ */
+static void do_cmd_last_get(player_type *creaute_ptr)
+{
+       if (record_o_name[0] == '\0') return;
+
+       char buf[256];
+       sprintf(buf, _("%sの入手を記録します。", "Do you really want to record getting %s? "), record_o_name);
+       if (!get_check(buf)) return;
+
+       GAME_TURN turn_tmp = current_world_ptr->game_turn;
+       current_world_ptr->game_turn = record_turn;
+       sprintf(buf, _("%sを手に入れた。", "discover %s."), record_o_name);
+       exe_write_diary(creaute_ptr, DIARY_DESCRIPTION, 0, buf);
+       current_world_ptr->game_turn = turn_tmp;
+}
+
+
+/*!
+ * @brief ファイル中の全日記記録を消去する /
+ * @return なし
+ */
+static void do_cmd_erase_diary(void)
+{
+       GAME_TEXT file_name[MAX_NLEN];
+       char buf[256];
+       FILE *fff = NULL;
+
+       if (!get_check(_("本当に記録を消去しますか?", "Do you really want to delete all your record? "))) return;
+       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
+       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
+       fd_kill(buf);
+
+       fff = my_fopen(buf, "w");
+       if (fff)
+       {
+               my_fclose(fff);
+               msg_format(_("記録を消去しました。", "deleted record."));
+       }
+       else
+       {
+               msg_format(_("%s の消去に失敗しました。", "failed to delete %s."), buf);
+       }
+
+       msg_print(NULL);
+}
+
+
+/*!
+ * @brief 日記コマンド
+ * @param crerature_ptr プレーヤーへの参照ポインタ
+ * @return なし
+ */
+void do_cmd_diary(player_type *creature_ptr)
+{
+       FILE_TYPE(FILE_TYPE_TEXT);
+       screen_save();
+       int i;
+       while (TRUE)
+       {
+               Term_clear();
+               prt(_("[ 記録の設定 ]", "[ Play Record ]"), 2, 0);
+               prt(_("(1) 記録を見る", "(1) Display your record"), 4, 5);
+               prt(_("(2) 文章を記録する", "(2) Add record"), 5, 5);
+               prt(_("(3) 直前に入手又は鑑定したものを記録する", "(3) Record the last item you got or identified"), 6, 5);
+               prt(_("(4) 記録を消去する", "(4) Delete your record"), 7, 5);
+               prt(_("(R) プレイ動画を記録する/中止する", "(R) Record playing movie / or stop it"), 9, 5);
+               prt(_("コマンド:", "Command: "), 18, 0);
+               i = inkey();
+               if (i == ESCAPE) break;
+
+               switch (i)
+               {
+               case '1':
+                       display_diary(creature_ptr);
+                       break;
+               case '2':
+                       add_diary_note(creature_ptr);
+                       break;
+               case '3':
+                       do_cmd_last_get(creature_ptr);
+                       break;
+               case '4':
+                       do_cmd_erase_diary();
+                       break;
+               case 'r': case 'R':
+                       screen_load();
+                       prepare_movie_hooks();
+                       return;
+               default:
+                       bell();
+               }
+
+               msg_erase();
+       }
+
+       screen_load();
+}
diff --git a/src/cmd/cmd-diary.h b/src/cmd/cmd-diary.h
new file mode 100644 (file)
index 0000000..98dcbdc
--- /dev/null
@@ -0,0 +1,3 @@
+#pragma once
+
+void do_cmd_diary(player_type *creature_ptr);
index 306201c..19667de 100644 (file)
  */
 
 #include "angband.h"
-#include "cmd-dump.h"
+#include "cmd/cmd-dump.h"
 #include "term.h"
-#include "core.h"
+#include "core.h" // 暫定。後で消す.
 #include "core/show-file.h"
 #include "io/read-pref-file.h"
-#include "io/write-diary.h"
-#include "chuukei.h"
-
+#include "io/interpret-pref-file.h"
 #include "autopick.h"
-
-#include "inet.h"
 #include "birth.h"
 #include "dungeon.h"
 #include "world.h"
-#include "view/display-player.h"
+#include "view/display-player.h" // 暫定。後で消す.
 #include "player/process-name.h"
 #include "player-effects.h"
-#include "player-status.h"
 #include "player-skill.h"
 #include "player-personality.h"
 #include "sort.h"
 #include "avatar.h"
 #include "object-flavor.h"
 #include "object-hook.h"
-#include "monster.h"
 #include "monster-status.h"
 #include "view-mainwindow.h"
 #include "dungeon-file.h"
-#include "io/interpret-pref-file.h"
-#include "files.h"
-#include "spells.h"
 #include "objectkind.h"
 #include "floor-town.h"
 #include "cmd/feeling-table.h"
 #include "cmd/monster-group-table.h"
-#include "cmd/diary-subtitle-table.h"
 #include "cmd/object-group-table.h"
 #include "view-mainwindow.h" // 暫定。後で消す
-
 #include "english.h"
 
 static void do_cmd_knowledge_monsters(player_type *creature_ptr, bool *need_redraw, bool visual_only, IDX direct_r_idx);
@@ -91,153 +80,6 @@ static SYMBOL_CODE char_idx_feat[F_LIT_MAX];
 static char hack[17] = "dwsorgbuDWvyRGBU";
 
 /*!
- * @brief 日記のタイトル表記と内容出力
- * @param creature_ptr プレーヤーへの参照ポインタ
- * @return なし
- */
-static void display_diary(player_type *creature_ptr)
-{
-       char diary_title[256];
-       GAME_TEXT file_name[MAX_NLEN];
-       char buf[1024];
-       char tmp[80];
-       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
-       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
-
-       if (creature_ptr->pclass == CLASS_WARRIOR || creature_ptr->pclass == CLASS_MONK || creature_ptr->pclass == CLASS_SAMURAI || creature_ptr->pclass == CLASS_BERSERKER)
-               strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 1)]);
-       else if (IS_WIZARD_CLASS(creature_ptr))
-               strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 1) + 1]);
-       else strcpy(tmp, subtitle[randint0(MAX_SUBTITLE - 2) + 1]);
-
-#ifdef JP
-       sprintf(diary_title, "「%s%s%sの伝説 -%s-」", ap_ptr->title, ap_ptr->no ? "の" : "", creature_ptr->name, tmp);
-#else
-       sprintf(diary_title, "Legend of %s %s '%s'", ap_ptr->title, creature_ptr->name, tmp);
-#endif
-
-       (void)show_file(creature_ptr, FALSE, buf, diary_title, -1, 0);
-}
-
-
-/*!
- * @brief 日記に任意の内容を表記するコマンドのメインルーチン /
- * @return なし
- */
-static void add_diary_note(player_type *creature_ptr)
-{
-       char tmp[80] = "\0";
-       char bunshou[80] = "\0";
-       if (get_string(_("内容: ", "diary note: "), tmp, 79))
-       {
-               strcpy(bunshou, tmp);
-               exe_write_diary(creature_ptr, DIARY_DESCRIPTION, 0, bunshou);
-       }
-}
-
-/*!
- * @brief 最後に取得したアイテムの情報を日記に追加するメインルーチン /
- * @return なし
- */
-static void do_cmd_last_get(player_type *creaute_ptr)
-{
-       if (record_o_name[0] == '\0') return;
-
-       char buf[256];
-       sprintf(buf, _("%sの入手を記録します。", "Do you really want to record getting %s? "), record_o_name);
-       if (!get_check(buf)) return;
-
-       GAME_TURN turn_tmp = current_world_ptr->game_turn;
-       current_world_ptr->game_turn = record_turn;
-       sprintf(buf, _("%sを手に入れた。", "discover %s."), record_o_name);
-       exe_write_diary(creaute_ptr, DIARY_DESCRIPTION, 0, buf);
-       current_world_ptr->game_turn = turn_tmp;
-}
-
-
-/*!
- * @brief ファイル中の全日記記録を消去する /
- * @return なし
- */
-static void do_cmd_erase_diary(void)
-{
-       GAME_TEXT file_name[MAX_NLEN];
-       char buf[256];
-       FILE *fff = NULL;
-
-       if (!get_check(_("本当に記録を消去しますか?", "Do you really want to delete all your record? "))) return;
-       sprintf(file_name, _("playrecord-%s.txt", "playrec-%s.txt"), savefile_base);
-       path_build(buf, sizeof(buf), ANGBAND_DIR_USER, file_name);
-       fd_kill(buf);
-
-       fff = my_fopen(buf, "w");
-       if (fff)
-       {
-               my_fclose(fff);
-               msg_format(_("記録を消去しました。", "deleted record."));
-       }
-       else
-       {
-               msg_format(_("%s の消去に失敗しました。", "failed to delete %s."), buf);
-       }
-
-       msg_print(NULL);
-}
-
-
-/*!
- * @brief 日記コマンド
- * @param crerature_ptr プレーヤーへの参照ポインタ
- * @return なし
- */
-void do_cmd_diary(player_type *creature_ptr)
-{
-       FILE_TYPE(FILE_TYPE_TEXT);
-       screen_save();
-       int i;
-       while (TRUE)
-       {
-               Term_clear();
-               prt(_("[ 記録の設定 ]", "[ Play Record ]"), 2, 0);
-               prt(_("(1) 記録を見る", "(1) Display your record"), 4, 5);
-               prt(_("(2) 文章を記録する", "(2) Add record"), 5, 5);
-               prt(_("(3) 直前に入手又は鑑定したものを記録する", "(3) Record the last item you got or identified"), 6, 5);
-               prt(_("(4) 記録を消去する", "(4) Delete your record"), 7, 5);
-               prt(_("(R) プレイ動画を記録する/中止する", "(R) Record playing movie / or stop it"), 9, 5);
-               prt(_("コマンド:", "Command: "), 18, 0);
-               i = inkey();
-               if (i == ESCAPE) break;
-
-               switch (i)
-               {
-               case '1':
-                       display_diary(creature_ptr);
-                       break;
-               case '2':
-                       add_diary_note(creature_ptr);
-                       break;
-               case '3':
-                       do_cmd_last_get(creature_ptr);
-                       break;
-               case '4':
-                       do_cmd_erase_diary();
-                       break;
-               case 'r': case 'R':
-                       screen_load();
-                       prepare_movie_hooks();
-                       return;
-               default:
-                       bell();
-               }
-
-               msg_erase();
-       }
-
-       screen_load();
-}
-
-
-/*!
  * @brief 画面を再描画するコマンドのメインルーチン
  * Hack -- redraw the screen
  * @param creature_ptr プレーヤーへの参照ポインタ
index 0f4d117..51d1ce4 100644 (file)
@@ -1,6 +1,5 @@
 #pragma once
 
-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);
 extern void do_cmd_message_one(void);
index 48e7804..84a2b0e 100644 (file)
@@ -24,6 +24,7 @@
 #include "bldg.h"
 #include "io/write-diary.h"
 #include "cmd/cmd-activate.h"
+#include "cmd/cmd-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-eat.h"
 #include "cmd/cmd-help.h"
index a085606..0bfdd38 100644 (file)
@@ -18,6 +18,7 @@
 #include "floor.h"
 #include "io/write-diary.h"
 #include "cmd/cmd-basic.h"
+#include "cmd/cmd-diary.h"
 #include "cmd/cmd-dump.h"
 #include "cmd/cmd-help.h"
 #include "cmd/cmd-item.h"