OSDN Git Service

[Refacotr] #39964 Separated autopick-menu-data-table.c/h from autopick.c
authorHourier <hourier@users.sourceforge.jp>
Fri, 24 Apr 2020 15:31:54 +0000 (00:31 +0900)
committerHourier <hourier@users.sourceforge.jp>
Fri, 24 Apr 2020 15:44:58 +0000 (00:44 +0900)
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/autopick/autopick-menu-data-table.c [new file with mode: 0644]
src/autopick/autopick-menu-data-table.h [new file with mode: 0644]
src/autopick/autopick-util.h [new file with mode: 0644]
src/autopick/autopick.c

index 6ddf184..c105341 100644 (file)
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <ClCompile Include="..\..\src\artifact.c" />\r
+    <ClCompile Include="..\..\src\autopick\autopick-menu-data-table.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick.c" />\r
     <ClCompile Include="..\..\src\avatar.c" />\r
     <ClCompile Include="..\..\src\birth.c" />\r
     <ClInclude Include="..\..\src\autopick\autopick-flags-table.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-key-flag-process.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-keys-table.h" />\r
+    <ClInclude Include="..\..\src\autopick\autopick-menu-data-table.h" />\r
+    <ClInclude Include="..\..\src\autopick\autopick-util.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick.h" />\r
     <ClInclude Include="..\..\src\avatar.h" />\r
     <ClInclude Include="..\..\src\birth.h" />\r
index 3cd3fc7..1ce9b2a 100644 (file)
     <ClCompile Include="..\..\src\autopick\autopick.c">
       <Filter>autopick</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\autopick\autopick-menu-data-table.c">
+      <Filter>autopick</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\autopick\autopick-key-flag-process.h">
       <Filter>autopick</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\autopick\autopick-util.h">
+      <Filter>autopick</Filter>
+    </ClInclude>
+    <ClInclude Include="..\..\src\autopick\autopick-menu-data-table.h">
+      <Filter>autopick</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 1bc8fbd..df23def 100644 (file)
@@ -13,6 +13,8 @@ hengband_SOURCES = \
        autopick/autopick-commands-table.h autopick/autopick-dirty-flags.h \
        autopick/autopick-editor-table.h autopick/autopick-flags-table.h \
        autopick/autopick-key-flag-process.h autopick/autopick-key-table.h \
+       autopick/autopick-menu-data-table.c autopick/autopick-menu-data-table.h \
+       autopick/autopick-util.c autopick/autopick-util.h \
        \
        avatar.h avatar.c birth.c birth.h \
        \
diff --git a/src/autopick/autopick-menu-data-table.c b/src/autopick/autopick-menu-data-table.c
new file mode 100644 (file)
index 0000000..7b5b9fb
--- /dev/null
@@ -0,0 +1,116 @@
+/*!
+ * @brief 自動拾いのユーティリティ
+ * @date 2020/04/25
+ * @author Hourier
+ */
+#include "angband.h"
+#include "autopick/autopick-editor-table.h"
+#include "autopick/autopick-commands-table.h"
+#include "autopick/autopick-keys-table.h"
+#include "autopick/autopick-menu-data-table.h"
+
+command_menu_type menu_data[MENU_DATA_NUM] =
+{
+       {MN_HELP, 0, -1, EC_HELP},
+       {MN_QUIT, 0, KTRL('q'), EC_QUIT},
+       {MN_SAVEQUIT, 0, KTRL('w'), EC_SAVEQUIT},
+       {MN_REVERT, 0, KTRL('z'), EC_REVERT},
+
+       {MN_EDIT, 0, -1, -1},
+       {MN_CUT, 1, KTRL('x'), EC_CUT},
+       {MN_COPY, 1, KTRL('c'), EC_COPY},
+       {MN_PASTE, 1, KTRL('v'), EC_PASTE},
+       {MN_BLOCK, 1, KTRL('g'), EC_BLOCK},
+       {MN_KILL_LINE, 1, KTRL('k'), EC_KILL_LINE},
+       {MN_DELETE_CHAR, 1, KTRL('d'), EC_DELETE_CHAR},
+       {MN_BACKSPACE, 1, KTRL('h'), EC_BACKSPACE},
+       {MN_RETURN, 1, KTRL('j'), EC_RETURN},
+       {MN_RETURN, 1, KTRL('m'), EC_RETURN},
+
+       {MN_SEARCH, 0, -1, -1},
+       {MN_SEARCH_STR, 1, KTRL('s'), EC_SEARCH_STR},
+       {MN_SEARCH_FORW, 1, -1, EC_SEARCH_FORW},
+       {MN_SEARCH_BACK, 1, KTRL('r'), EC_SEARCH_BACK},
+       {MN_SEARCH_OBJ, 1, KTRL('y'), EC_SEARCH_OBJ},
+       {MN_SEARCH_DESTROYED, 1, -1, EC_SEARCH_DESTROYED},
+
+       {MN_MOVE, 0, -1, -1},
+       {MN_LEFT, 1, KTRL('b'), EC_LEFT},
+       {MN_DOWN, 1, KTRL('n'), EC_DOWN},
+       {MN_UP, 1, KTRL('p'), EC_UP},
+       {MN_RIGHT, 1, KTRL('f'), EC_RIGHT},
+       {MN_BOL, 1, KTRL('a'), EC_BOL},
+       {MN_EOL, 1, KTRL('e'), EC_EOL},
+       {MN_PGUP, 1, KTRL('o'), EC_PGUP},
+       {MN_PGDOWN, 1, KTRL('l'), EC_PGDOWN},
+       {MN_TOP, 1, KTRL('t'), EC_TOP},
+       {MN_BOTTOM, 1, KTRL('u'), EC_BOTTOM},
+
+       {MN_INSERT, 0, -1, -1},
+       {MN_INSERT_OBJECT, 1, KTRL('i'), EC_INSERT_OBJECT},
+       {MN_INSERT_DESTROYED, 1, -1, EC_INSERT_DESTROYED},
+       {MN_INSERT_BLOCK, 1, -1, EC_INSERT_BLOCK},
+       {MN_INSERT_MACRO, 1, -1, EC_INSERT_MACRO},
+       {MN_INSERT_KEYMAP, 1, -1, EC_INSERT_KEYMAP},
+
+       {MN_ADJECTIVE_GEN, 0, -1, -1},
+       {KEY_UNAWARE, 1, -1, EC_IK_UNAWARE},
+       {KEY_UNIDENTIFIED, 1, -1, EC_IK_UNIDENTIFIED},
+       {KEY_IDENTIFIED, 1, -1, EC_IK_IDENTIFIED},
+       {KEY_STAR_IDENTIFIED, 1, -1, EC_IK_STAR_IDENTIFIED},
+       {KEY_COLLECTING, 1, -1, EC_OK_COLLECTING},
+       {KEY_ARTIFACT, 1, -1, EC_OK_ARTIFACT},
+       {KEY_EGO, 1, -1, EC_OK_EGO},
+       {KEY_GOOD, 1, -1, EC_OK_GOOD},
+       {KEY_NAMELESS, 1, -1, EC_OK_NAMELESS},
+       {KEY_AVERAGE, 1, -1, EC_OK_AVERAGE},
+       {KEY_WORTHLESS, 1, -1, EC_OK_WORTHLESS},
+       {MN_RARE, 1, -1, EC_OK_RARE},
+       {MN_COMMON, 1, -1, EC_OK_COMMON},
+
+       {MN_ADJECTIVE_SPECIAL, 0, -1, -1},
+       {MN_BOOSTED, 1, -1, EC_OK_BOOSTED},
+       {MN_MORE_DICE, 1, -1, EC_OK_MORE_DICE},
+       {MN_MORE_BONUS, 1, -1, EC_OK_MORE_BONUS},
+       {MN_WANTED, 1, -1, EC_OK_WANTED},
+       {MN_UNIQUE, 1, -1, EC_OK_UNIQUE},
+       {MN_HUMAN, 1, -1, EC_OK_HUMAN},
+       {MN_UNREADABLE, 1, -1, EC_OK_UNREADABLE},
+       {MN_REALM1, 1, -1, EC_OK_REALM1},
+       {MN_REALM2, 1, -1, EC_OK_REALM2},
+       {MN_FIRST, 1, -1, EC_OK_FIRST},
+       {MN_SECOND, 1, -1, EC_OK_SECOND},
+       {MN_THIRD, 1, -1, EC_OK_THIRD},
+       {MN_FOURTH, 1, -1, EC_OK_FOURTH},
+
+       {MN_NOUN, 0, -1, -1},
+       {KEY_WEAPONS, 1, -1, EC_KK_WEAPONS},
+       {KEY_FAVORITE_WEAPONS, 1, -1, EC_KK_FAVORITE_WEAPONS},
+       {KEY_ARMORS, 1, -1, EC_KK_ARMORS},
+       {KEY_MISSILES, 1, -1, EC_KK_MISSILES},
+       {KEY_DEVICES, 1, -1, EC_KK_DEVICES},
+       {KEY_LIGHTS, 1, -1, EC_KK_LIGHTS},
+       {KEY_JUNKS, 1, -1, EC_KK_JUNKS},
+       {KEY_CORPSES, 1, -1, EC_KK_CORPSES},
+       {KEY_SPELLBOOKS, 1, -1, EC_KK_SPELLBOOKS},
+       {KEY_SHIELDS, 1, -1, EC_KK_SHIELDS},
+       {KEY_BOWS, 1, -1, EC_KK_BOWS},
+       {KEY_RINGS, 1, -1, EC_KK_RINGS},
+       {KEY_AMULETS, 1, -1, EC_KK_AMULETS},
+       {KEY_SUITS, 1, -1, EC_KK_SUITS},
+       {KEY_CLOAKS, 1, -1, EC_KK_CLOAKS},
+       {KEY_HELMS, 1, -1, EC_KK_HELMS},
+       {KEY_GLOVES, 1, -1, EC_KK_GLOVES},
+       {KEY_BOOTS, 1, -1, EC_KK_BOOTS},
+
+       {MN_COMMAND_LETTER, 0, -1, -1},
+       {MN_CL_AUTOPICK, 1, -1, EC_CL_AUTOPICK},
+       {MN_CL_DESTROY, 1, -1, EC_CL_DESTROY},
+       {MN_CL_LEAVE, 1, -1, EC_CL_LEAVE},
+       {MN_CL_QUERY, 1, -1, EC_CL_QUERY},
+       {MN_CL_NO_DISP, 1, -1, EC_CL_NO_DISP},
+
+       {MN_DELETE_CHAR, -1, 0x7F, EC_DELETE_CHAR},
+
+       {NULL, -1, -1, 0}
+};
diff --git a/src/autopick/autopick-menu-data-table.h b/src/autopick/autopick-menu-data-table.h
new file mode 100644 (file)
index 0000000..7486dd3
--- /dev/null
@@ -0,0 +1,7 @@
+#pragma once
+
+#define MENU_DATA_NUM 92
+
+#include "autopick/autopick-util.h"
+
+extern command_menu_type menu_data[MENU_DATA_NUM];
diff --git a/src/autopick/autopick-util.h b/src/autopick/autopick-util.h
new file mode 100644 (file)
index 0000000..b636da3
--- /dev/null
@@ -0,0 +1,70 @@
+#pragma once
+
+#define MAX_LINELEN 1024
+
+#define MAX_AUTOPICK_DEFAULT 200
+
+#define PT_DEFAULT 0
+#define PT_WITH_PNAME 1
+
+#define MAX_YANK MAX_LINELEN
+#define MAX_LINES 3000
+
+#define MARK_MARK     0x01
+#define MARK_BY_SHIFT 0x02
+
+#define LSTAT_BYPASS        0x01
+#define LSTAT_EXPRESSION    0x02
+#define LSTAT_AUTOREGISTER  0x04
+
+#define QUIT_WITHOUT_SAVE 1
+#define QUIT_AND_SAVE     2
+
+#define DESCRIPT_HGT 3
+
+/*
+ * Struct for yank buffer
+ */
+typedef struct chain_str {
+       struct chain_str *next;
+       char s[1];
+} chain_str_type;
+
+/*
+ * Data struct for text editor
+ */
+typedef struct {
+       int wid, hgt;
+       int cx, cy;
+       int upper, left;
+       int old_wid, old_hgt;
+       int old_cy;
+       int old_upper, old_left;
+       int mx, my;
+       byte mark;
+
+       object_type *search_o_ptr;
+       concptr search_str;
+       concptr last_destroyed;
+
+       chain_str_type *yank;
+       bool yank_eol;
+
+       concptr *lines_list;
+       byte states[MAX_LINES];
+
+       u16b dirty_flags;
+       int dirty_line;
+       int filename_mode;
+       int old_com_id;
+
+       bool changed;
+} text_body_type;
+
+typedef struct {
+       concptr name;
+       int level;
+       int key;
+       int com_id;
+} command_menu_type;
+
index 9cf1768..5a30aa7 100644 (file)
 #include "autopick/autopick-commands-table.h"
 #include "autopick/autopick-dirty-flags.h"
 #include "autopick/autopick-editor-table.h"
-#include "autopick/autopick-key-flag-process.h"
 #include "autopick/autopick-flags-table.h"
+#include "autopick/autopick-key-flag-process.h"
+#include "autopick/autopick-menu-data-table.h"
 #include "autopick/autopick-keys-table.h"
+#include "autopick/autopick-util.h"
 #include "gameterm.h"
 #include "autopick/autopick.h"
 #include "core.h"
 #include "monsterrace.h"
 #include "view-mainwindow.h" // 暫定。後で消す
 
-#define MAX_LINELEN 1024
-
-#define MAX_AUTOPICK_DEFAULT 200
-
-#define PT_DEFAULT 0
-#define PT_WITH_PNAME 1
-
-#define MAX_YANK MAX_LINELEN
-#define MAX_LINES 3000
-
-#define MARK_MARK     0x01
-#define MARK_BY_SHIFT 0x02
-
-#define LSTAT_BYPASS        0x01
-#define LSTAT_EXPRESSION    0x02
-#define LSTAT_AUTOREGISTER  0x04
-
-#define QUIT_WITHOUT_SAVE 1
-#define QUIT_AND_SAVE     2
-
-#define DESCRIPT_HGT 3
-
 #ifdef JP
 static char kanji_colon[] = ":";
 #endif
@@ -89,158 +69,6 @@ autopick_type *autopick_list = NULL; /*!< 自動拾い/破壊設定構造体の
 static object_type autopick_last_destroyed_object;
 
 /*
- * Struct for yank buffer
- */
-typedef struct chain_str {
-       struct chain_str *next;
-       char s[1];
-} chain_str_type;
-
-/*
- * Data struct for text editor
- */
-typedef struct {
-       int wid, hgt;
-       int cx, cy;
-       int upper, left;
-       int old_wid, old_hgt;
-       int old_cy;
-       int old_upper, old_left;
-       int mx, my;
-       byte mark;
-
-       object_type *search_o_ptr;
-       concptr search_str;
-       concptr last_destroyed;
-
-       chain_str_type *yank;
-       bool yank_eol;
-
-       concptr *lines_list;
-       byte states[MAX_LINES];
-
-       u16b dirty_flags;
-       int dirty_line;
-       int filename_mode;
-       int old_com_id;
-
-       bool changed;
-} text_body_type;
-
-typedef struct {
-       concptr name;
-       int level;
-       int key;
-       int com_id;
-} command_menu_type;
-
-command_menu_type menu_data[] =
-{
-       {MN_HELP, 0, -1, EC_HELP},
-       {MN_QUIT, 0, KTRL('q'), EC_QUIT},
-       {MN_SAVEQUIT, 0, KTRL('w'), EC_SAVEQUIT},
-       {MN_REVERT, 0, KTRL('z'), EC_REVERT},
-
-       {MN_EDIT, 0, -1, -1},
-       {MN_CUT, 1, KTRL('x'), EC_CUT},
-       {MN_COPY, 1, KTRL('c'), EC_COPY},
-       {MN_PASTE, 1, KTRL('v'), EC_PASTE},
-       {MN_BLOCK, 1, KTRL('g'), EC_BLOCK},
-       {MN_KILL_LINE, 1, KTRL('k'), EC_KILL_LINE},
-       {MN_DELETE_CHAR, 1, KTRL('d'), EC_DELETE_CHAR},
-       {MN_BACKSPACE, 1, KTRL('h'), EC_BACKSPACE},
-       {MN_RETURN, 1, KTRL('j'), EC_RETURN},
-       {MN_RETURN, 1, KTRL('m'), EC_RETURN},
-
-       {MN_SEARCH, 0, -1, -1},
-       {MN_SEARCH_STR, 1, KTRL('s'), EC_SEARCH_STR},
-       {MN_SEARCH_FORW, 1, -1, EC_SEARCH_FORW},
-       {MN_SEARCH_BACK, 1, KTRL('r'), EC_SEARCH_BACK},
-       {MN_SEARCH_OBJ, 1, KTRL('y'), EC_SEARCH_OBJ},
-       {MN_SEARCH_DESTROYED, 1, -1, EC_SEARCH_DESTROYED},
-
-       {MN_MOVE, 0, -1, -1},
-       {MN_LEFT, 1, KTRL('b'), EC_LEFT},
-       {MN_DOWN, 1, KTRL('n'), EC_DOWN},
-       {MN_UP, 1, KTRL('p'), EC_UP},
-       {MN_RIGHT, 1, KTRL('f'), EC_RIGHT},
-       {MN_BOL, 1, KTRL('a'), EC_BOL},
-       {MN_EOL, 1, KTRL('e'), EC_EOL},
-       {MN_PGUP, 1, KTRL('o'), EC_PGUP},
-       {MN_PGDOWN, 1, KTRL('l'), EC_PGDOWN},
-       {MN_TOP, 1, KTRL('t'), EC_TOP},
-       {MN_BOTTOM, 1, KTRL('u'), EC_BOTTOM},
-
-       {MN_INSERT, 0, -1, -1},
-       {MN_INSERT_OBJECT, 1, KTRL('i'), EC_INSERT_OBJECT},
-       {MN_INSERT_DESTROYED, 1, -1, EC_INSERT_DESTROYED},
-       {MN_INSERT_BLOCK, 1, -1, EC_INSERT_BLOCK},
-       {MN_INSERT_MACRO, 1, -1, EC_INSERT_MACRO},
-       {MN_INSERT_KEYMAP, 1, -1, EC_INSERT_KEYMAP},
-
-       {MN_ADJECTIVE_GEN, 0, -1, -1},
-       {KEY_UNAWARE, 1, -1, EC_IK_UNAWARE},
-       {KEY_UNIDENTIFIED, 1, -1, EC_IK_UNIDENTIFIED},
-       {KEY_IDENTIFIED, 1, -1, EC_IK_IDENTIFIED},
-       {KEY_STAR_IDENTIFIED, 1, -1, EC_IK_STAR_IDENTIFIED},
-       {KEY_COLLECTING, 1, -1, EC_OK_COLLECTING},
-       {KEY_ARTIFACT, 1, -1, EC_OK_ARTIFACT},
-       {KEY_EGO, 1, -1, EC_OK_EGO},
-       {KEY_GOOD, 1, -1, EC_OK_GOOD},
-       {KEY_NAMELESS, 1, -1, EC_OK_NAMELESS},
-       {KEY_AVERAGE, 1, -1, EC_OK_AVERAGE},
-       {KEY_WORTHLESS, 1, -1, EC_OK_WORTHLESS},
-       {MN_RARE, 1, -1, EC_OK_RARE},
-       {MN_COMMON, 1, -1, EC_OK_COMMON},
-
-       {MN_ADJECTIVE_SPECIAL, 0, -1, -1},
-       {MN_BOOSTED, 1, -1, EC_OK_BOOSTED},
-       {MN_MORE_DICE, 1, -1, EC_OK_MORE_DICE},
-       {MN_MORE_BONUS, 1, -1, EC_OK_MORE_BONUS},
-       {MN_WANTED, 1, -1, EC_OK_WANTED},
-       {MN_UNIQUE, 1, -1, EC_OK_UNIQUE},
-       {MN_HUMAN, 1, -1, EC_OK_HUMAN},
-       {MN_UNREADABLE, 1, -1, EC_OK_UNREADABLE},
-       {MN_REALM1, 1, -1, EC_OK_REALM1},
-       {MN_REALM2, 1, -1, EC_OK_REALM2},
-       {MN_FIRST, 1, -1, EC_OK_FIRST},
-       {MN_SECOND, 1, -1, EC_OK_SECOND},
-       {MN_THIRD, 1, -1, EC_OK_THIRD},
-       {MN_FOURTH, 1, -1, EC_OK_FOURTH},
-
-       {MN_NOUN, 0, -1, -1},
-       {KEY_WEAPONS, 1, -1, EC_KK_WEAPONS},
-       {KEY_FAVORITE_WEAPONS, 1, -1, EC_KK_FAVORITE_WEAPONS},
-       {KEY_ARMORS, 1, -1, EC_KK_ARMORS},
-       {KEY_MISSILES, 1, -1, EC_KK_MISSILES},
-       {KEY_DEVICES, 1, -1, EC_KK_DEVICES},
-       {KEY_LIGHTS, 1, -1, EC_KK_LIGHTS},
-       {KEY_JUNKS, 1, -1, EC_KK_JUNKS},
-       {KEY_CORPSES, 1, -1, EC_KK_CORPSES},
-       {KEY_SPELLBOOKS, 1, -1, EC_KK_SPELLBOOKS},
-       {KEY_SHIELDS, 1, -1, EC_KK_SHIELDS},
-       {KEY_BOWS, 1, -1, EC_KK_BOWS},
-       {KEY_RINGS, 1, -1, EC_KK_RINGS},
-       {KEY_AMULETS, 1, -1, EC_KK_AMULETS},
-       {KEY_SUITS, 1, -1, EC_KK_SUITS},
-       {KEY_CLOAKS, 1, -1, EC_KK_CLOAKS},
-       {KEY_HELMS, 1, -1, EC_KK_HELMS},
-       {KEY_GLOVES, 1, -1, EC_KK_GLOVES},
-       {KEY_BOOTS, 1, -1, EC_KK_BOOTS},
-
-       {MN_COMMAND_LETTER, 0, -1, -1},
-       {MN_CL_AUTOPICK, 1, -1, EC_CL_AUTOPICK},
-       {MN_CL_DESTROY, 1, -1, EC_CL_DESTROY},
-       {MN_CL_LEAVE, 1, -1, EC_CL_LEAVE},
-       {MN_CL_QUERY, 1, -1, EC_CL_QUERY},
-       {MN_CL_NO_DISP, 1, -1, EC_CL_NO_DISP},
-
-       {MN_DELETE_CHAR, -1, 0x7F, EC_DELETE_CHAR},
-
-       {NULL, -1, -1, 0}
-};
-
-/*
  * A function to create new entry
  */
 static bool autopick_new_entry(autopick_type *entry, concptr str, bool allow_default)