OSDN Git Service

[Refactor] #39964 Separated autopick-pref-processor.c/h from autopick.c/h
authorHourier <hourier@users.sourceforge.jp>
Sat, 25 Apr 2020 15:24:04 +0000 (00:24 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sat, 25 Apr 2020 15:24:04 +0000 (00:24 +0900)
Hengband_vcs2017/Hengband/Hengband.vcxproj
Hengband_vcs2017/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/autopick/autopick-pref-processor.c [new file with mode: 0644]
src/autopick/autopick-pref-processor.h [new file with mode: 0644]
src/autopick/autopick.c
src/autopick/autopick.h
src/io/read-pref-file.c

index 575f9da..8523d35 100644 (file)
     <ClCompile Include="..\..\src\autopick\autopick-initializer.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick-matcher.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick-menu-data-table.c" />\r
+    <ClCompile Include="..\..\src\autopick\autopick-pref-processor.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick-reader-writer.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick-util.c" />\r
     <ClCompile Include="..\..\src\autopick\autopick.c" />\r
     <ClInclude Include="..\..\src\autopick\autopick-matcher.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-menu-data-table.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-methods-table.h" />\r
+    <ClInclude Include="..\..\src\autopick\autopick-pref-processor.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-reader-writer.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick-util.h" />\r
     <ClInclude Include="..\..\src\autopick\autopick.h" />\r
index fd6b2d4..7a11181 100644 (file)
     <ClCompile Include="..\..\src\autopick\autopick-adder.c">
       <Filter>autopick</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\autopick\autopick-pref-processor.c">
+      <Filter>autopick</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\gamevalue.h" />
     <ClInclude Include="..\..\src\autopick\autopick-adder.h">
       <Filter>autopick</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\autopick\autopick-pref-processor.h">
+      <Filter>autopick</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 34158d5..d319c5c 100644 (file)
@@ -24,6 +24,7 @@ hengband_SOURCES = \
        autopick/autopick-reader-writer.c autopick/autopick-reader-writer.h \
        autopick/autopick-finder.c autopick/autopick-finder.h \
        autopick/autopick-adder.c autopick/autopick-adder.h \
+       autopick/autopick-pref-processor.c autopick/autopick-pref-processor.h \
        \
        avatar.h avatar.c birth.c birth.h \
        \
diff --git a/src/autopick/autopick-pref-processor.c b/src/autopick/autopick-pref-processor.c
new file mode 100644 (file)
index 0000000..9590a1e
--- /dev/null
@@ -0,0 +1,46 @@
+#include "angband.h"
+#include "autopick/autopick-pref-processor.h"
+#include "autopick/autopick-util.h"
+#include "autopick/autopick-adder.h"
+#include "autopick/autopick-entry.h"
+
+/*
+ *  Process line for auto picker/destroyer.
+ */
+void process_autopick_file_command(char *buf)
+{
+       autopick_type an_entry, *entry = &an_entry;
+       int count = 0;
+       for (int i = 0; buf[i]; i++)
+       {
+#ifdef JP
+               if (iskanji(buf[i]))
+               {
+                       i++;
+                       continue;
+               }
+#endif
+               if (iswspace(buf[i]) && buf[i] != ' ')
+                       break;
+
+               count++;
+       }
+
+       buf[count] = 0;
+       if (!autopick_new_entry(entry, buf, FALSE)) return;
+
+       for (int i = 0; i < max_autopick; i++)
+       {
+               if (!strcmp(entry->name, autopick_list[i].name)
+                       && entry->flag[0] == autopick_list[i].flag[0]
+                       && entry->flag[1] == autopick_list[i].flag[1]
+                       && entry->dice == autopick_list[i].dice
+                       && entry->bonus == autopick_list[i].bonus)
+               {
+                       autopick_free_entry(entry);
+                       return;
+               }
+       }
+
+       add_autopick_list(entry);
+}
diff --git a/src/autopick/autopick-pref-processor.h b/src/autopick/autopick-pref-processor.h
new file mode 100644 (file)
index 0000000..14c4482
--- /dev/null
@@ -0,0 +1,3 @@
+#pragma once
+
+void process_autopick_file_command(char *buf);
index aa5d09d..13553b5 100644 (file)
@@ -28,6 +28,7 @@
 #include "autopick/autopick-reader-writer.h"
 #include "autopick/autopick-finder.h"
 #include "autopick/autopick-adder.h"
+#include "autopick/autopick-pref-processor.h"
 #include "gameterm.h"
 #include "autopick/autopick.h"
 #include "core.h"
 #include "view/display-main-window.h" // 暫定。後で消す.
 
 /*
- *  Process line for auto picker/destroyer.
- */
-void process_autopick_file_command(char *buf)
-{
-       autopick_type an_entry, *entry = &an_entry;
-       int i;
-       for (i = 0; buf[i]; i++)
-       {
-#ifdef JP
-               if (iskanji(buf[i]))
-               {
-                       i++;
-                       continue;
-               }
-#endif
-               if (iswspace(buf[i]) && buf[i] != ' ')
-                       break;
-       }
-
-       buf[i] = 0;
-       if (!autopick_new_entry(entry, buf, FALSE)) return;
-
-       for (i = 0; i < max_autopick; i++)
-       {
-               if (!strcmp(entry->name, autopick_list[i].name)
-                       && entry->flag[0] == autopick_list[i].flag[0]
-                       && entry->flag[1] == autopick_list[i].flag[1]
-                       && entry->dice == autopick_list[i].dice
-                       && entry->bonus == autopick_list[i].bonus)
-               {
-                       autopick_free_entry(entry);
-                       return;
-               }
-       }
-
-       add_autopick_list(entry);
-}
-
-
-/*
- *  Auto inscription
+ * Auto inscription
  */
 static void auto_inscribe_item(player_type *player_ptr, object_type *o_ptr, int idx)
 {
index 7571c61..d8193bc 100644 (file)
@@ -2,7 +2,6 @@
 
 #include "autopick/autopick-util.h"
 
-extern void process_autopick_file_command(char *buf);
 extern void autopick_alter_item(player_type *player_ptr, INVENTORY_IDX item, bool destroy);
 extern void autopick_delayed_alter(player_type *player_ptr);
 extern void autopick_pickup_items(player_type *player_ptr, grid_type *g_ptr);
index 9bda358..42d5cc3 100644 (file)
@@ -18,7 +18,7 @@
 #include "io/dump-remover.h"
 #include "io/read-pref-file.h"
 #include "io/interpret-pref-file.h"
-#include "autopick/autopick.h"
+#include "autopick/autopick-pref-processor.h"
 #include "files.h" // 暫定。コールバック化して後で消す.
 #include "world.h"