OSDN Git Service

[Refactor] #40413 Separated command-repeater.c/h from util.c/h
authorHourier <hourier@users.sourceforge.jp>
Sun, 14 Jun 2020 07:05:46 +0000 (16:05 +0900)
committerHourier <hourier@users.sourceforge.jp>
Sun, 14 Jun 2020 07:05:46 +0000 (16:05 +0900)
21 files changed:
Hengband/Hengband/Hengband.vcxproj
Hengband/Hengband/Hengband.vcxproj.filters
src/Makefile.am
src/cmd-action/cmd-hissatsu.c
src/cmd-action/cmd-pet.c
src/cmd-action/cmd-spell.c
src/cmd-item/cmd-magiceat.c
src/cmd-item/cmd-smith.c
src/core/asking-player.c
src/inventory/player-inventory.c
src/io/command-repeater.c [new file with mode: 0644]
src/io/command-repeater.h [new file with mode: 0644]
src/io/input-key-processor.c
src/io/targeting.c
src/mind/mind-sniper.c
src/mind/mind.c
src/mind/racial.c
src/mspell/mspells3.c
src/store/store.c
src/util/util.c
src/util/util.h

index bb58cb5..ffc189a 100644 (file)
     <ClCompile Include="..\..\src\info-reader\race-reader.c" />\r
     <ClCompile Include="..\..\src\info-reader\skill-reader.c" />\r
     <ClCompile Include="..\..\src\info-reader\vault-reader.c" />\r
+    <ClCompile Include="..\..\src\io\command-repeater.c" />\r
     <ClCompile Include="..\..\src\io\input-key-acceptor.c" />\r
     <ClCompile Include="..\..\src\io\input-key-requester.c" />\r
     <ClCompile Include="..\..\src\term\screen-processor.c" />\r
     <ClInclude Include="..\..\src\info-reader\random-grid-effect-types.h" />\r
     <ClInclude Include="..\..\src\info-reader\skill-reader.h" />\r
     <ClInclude Include="..\..\src\info-reader\vault-reader.h" />\r
+    <ClInclude Include="..\..\src\io\command-repeater.h" />\r
     <ClInclude Include="..\..\src\io\input-key-acceptor.h" />\r
     <ClInclude Include="..\..\src\io\input-key-requester.h" />\r
     <ClInclude Include="..\..\src\term\screen-processor.h" />\r
index 095781d..3b2bfd2 100644 (file)
     <ClCompile Include="..\..\src\io\input-key-requester.c">
       <Filter>io</Filter>
     </ClCompile>
+    <ClCompile Include="..\..\src\io\command-repeater.c">
+      <Filter>io</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="..\..\src\cmd\cmd-basic.h">
     <ClInclude Include="..\..\src\io\input-key-requester.h">
       <Filter>io</Filter>
     </ClInclude>
+    <ClInclude Include="..\..\src\io\command-repeater.h">
+      <Filter>io</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\..\src\wall.bmp" />
index 38bb4bb..75be2e1 100644 (file)
@@ -203,6 +203,7 @@ hengband_SOURCES = \
        inventory/recharge-processor.c inventory/recharge-processor.h \
        \
        io/chuukei.c io/chuukei.h \
+       io/command-repeater.c io/command-repeater.h \
        io/exit-panic.c io/exit-panic.h \
        io/files-util.c io/files-util.h \
        io/gf-descriptions.c io/gf-descriptions.h \
index cc7bea1..968963f 100644 (file)
@@ -17,6 +17,7 @@
 #include "game-option/disturbance-options.h"
 #include "game-option/text-display-options.h"
 #include "inventory/player-inventory.h"
+#include "io/command-repeater.h"
 #include "io/input-key-requester.h"
 #include "main/sound-definitions-table.h"
 #include "main/sound-of-music.h"
index 6048c7b..565395d 100644 (file)
@@ -11,6 +11,7 @@
 #include "game-option/play-record-options.h"
 #include "game-option/text-display-options.h"
 #include "grid/grid.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/targeting.h"
index c52691b..a975f54 100644 (file)
@@ -16,6 +16,7 @@
 #include "game-option/input-options.h"
 #include "game-option/text-display-options.h"
 #include "inventory/player-inventory.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/write-diary.h"
index d789356..fb168df 100644 (file)
@@ -59,6 +59,7 @@
 #include "core/asking-player.h"
 #include "game-option/disturbance-options.h"
 #include "game-option/text-display-options.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/targeting.h"
index fec7efa..67224b4 100644 (file)
@@ -10,6 +10,7 @@
 #include "core/asking-player.h"
 #include "game-option/text-display-options.h"
 #include "inventory/player-inventory.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "main/sound-of-music.h"
index 4fe5650..35398d9 100644 (file)
@@ -2,6 +2,7 @@
 #include "cmd-io/macro-util.h"
 #include "core/stuff-handler.h"
 #include "game-option/input-options.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h" // todo 相互依存している、後で何とかする.
 #include "main/sound-of-music.h"
index a065632..285220f 100644 (file)
@@ -9,6 +9,7 @@
 #include "game-option/special-options.h"
 #include "game-option/text-display-options.h"
 #include "inventory/inventory-object.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "main/sound-of-music.h"
diff --git a/src/io/command-repeater.c b/src/io/command-repeater.c
new file mode 100644 (file)
index 0000000..adcdb41
--- /dev/null
@@ -0,0 +1,56 @@
+#include "io/command-repeater.h"
+#include "input-key-requester.h"
+
+#define REPEAT_MAX 20
+
+/* Number of chars saved */
+static int repeat__cnt = 0;
+
+/* Current index */
+static int repeat__idx = 0;
+
+/* Saved "stuff" */
+static COMMAND_CODE repeat__key[REPEAT_MAX];
+
+void repeat_push(COMMAND_CODE what)
+{
+    if (repeat__cnt == REPEAT_MAX)
+        return;
+
+    repeat__key[repeat__cnt++] = what;
+    ++repeat__idx;
+}
+
+bool repeat_pull(COMMAND_CODE *what)
+{
+    if (repeat__idx == repeat__cnt)
+        return FALSE;
+
+    *what = repeat__key[repeat__idx++];
+    return TRUE;
+}
+
+void repeat_check(void)
+{
+    if (command_cmd == ESCAPE)
+        return;
+    if (command_cmd == ' ')
+        return;
+    if (command_cmd == '\r')
+        return;
+    if (command_cmd == '\n')
+        return;
+
+    COMMAND_CODE what;
+    if (command_cmd == 'n') {
+        repeat__idx = 0;
+        if (repeat_pull(&what)) {
+            command_cmd = what;
+        }
+    } else {
+        repeat__cnt = 0;
+        repeat__idx = 0;
+        what = command_cmd;
+        repeat_push(what);
+    }
+}
diff --git a/src/io/command-repeater.h b/src/io/command-repeater.h
new file mode 100644 (file)
index 0000000..f9db57f
--- /dev/null
@@ -0,0 +1,7 @@
+#pragma once
+
+#include "system/angband.h"
+
+void repeat_push(COMMAND_CODE what);
+bool repeat_pull(COMMAND_CODE *what);
+void repeat_check(void);
index e8ce82a..1a7c8e1 100644 (file)
@@ -47,6 +47,7 @@
 #include "game-option/runtime-arguments.h"
 #include "inventory/player-inventory.h"
 #include "io/chuukei.h"
+#include "io/command-repeater.h"
 #include "io/files-util.h"
 #include "io/input-key-requester.h" // todo 相互依存している、後で何とかする.
 #include "io/write-diary.h"
index 1d7ecb4..21b92f7 100644 (file)
@@ -31,6 +31,7 @@
 #include "grid/feature.h"
 #include "grid/grid.h"
 #include "inventory/player-inventory.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "main/sound-of-music.h"
index 37674ac..36cdcd0 100644 (file)
@@ -11,6 +11,7 @@
 #include "core/stuff-handler.h"
 #include "floor/floor.h"
 #include "game-option/text-display-options.h"
+#include "io/command-repeater.h"
 #include "io/input-key-requester.h"
 #include "main/sound-definitions-table.h"
 #include "main/sound-of-music.h"
index 3a52427..6d34bda 100644 (file)
@@ -27,6 +27,7 @@
 #include "game-option/text-display-options.h"
 #include "grid/feature.h"
 #include "grid/grid.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/targeting.h"
index 7c243e8..ab7953a 100644 (file)
@@ -20,6 +20,7 @@
 #include "effect/spells-effect-util.h"
 #include "game-option/disturbance-options.h"
 #include "game-option/text-display-options.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/targeting.h"
index bd82904..4211134 100644 (file)
@@ -19,6 +19,7 @@
 #include "game-option/input-options.h"
 #include "game-option/text-display-options.h"
 #include "grid/grid.h"
+#include "io/command-repeater.h"
 #include "io/input-key-acceptor.h"
 #include "io/input-key-requester.h"
 #include "io/targeting.h"
index 91fdf0e..7d82929 100644 (file)
@@ -45,6 +45,7 @@
 #include "game-option/text-display-options.h"
 #include "inventory/inventory-object.h"
 #include "inventory/player-inventory.h"
+#include "io/command-repeater.h"
 #include "io/files-util.h"
 #include "io/input-key-requester.h"
 #include "io/write-diary.h"
index 5308934..6f812c1 100644 (file)
@@ -1,15 +1,14 @@
-/* File: util.c */
-
-/*
+/*
+ * @author
+ * 2002/01/12 mogami
+ * 2020/05/16 Hourier
+ * @details
  * Copyright (c) 1997 Ben Harrison, James E. Wilson, Robert A. Koeneke
- *
  * This software may be copied and distributed for educational, research,
  * and not for profit purposes provided that this copyright and statement
  * are included in all such copies.  Other copyrights may also apply.
  */
 
- /* Purpose: Angband utilities -BEN- */
-
 #include "system/angband.h"
 #include "util/util.h"
 #include "cmd-io/cmd-dump.h"
@@ -128,60 +127,6 @@ int get_keymap_dir(char ch)
 }
 
 
-#define REPEAT_MAX             20
-
-/* Number of chars saved */
-static int repeat__cnt = 0;
-
-/* Current index */
-static int repeat__idx = 0;
-
-/* Saved "stuff" */
-static COMMAND_CODE repeat__key[REPEAT_MAX];
-
-void repeat_push(COMMAND_CODE what)
-{
-       if (repeat__cnt == REPEAT_MAX) return;
-
-       repeat__key[repeat__cnt++] = what;
-       ++repeat__idx;
-}
-
-
-bool repeat_pull(COMMAND_CODE *what)
-{
-       if (repeat__idx == repeat__cnt) return FALSE;
-
-       *what = repeat__key[repeat__idx++];
-       return TRUE;
-}
-
-void repeat_check(void)
-{
-       if (command_cmd == ESCAPE) return;
-       if (command_cmd == ' ') return;
-       if (command_cmd == '\r') return;
-       if (command_cmd == '\n') return;
-
-       COMMAND_CODE what;
-       if (command_cmd == 'n')
-       {
-               repeat__idx = 0;
-               if (repeat_pull(&what))
-               {
-                       command_cmd = what;
-               }
-       }
-       else
-       {
-               repeat__cnt = 0;
-               repeat__idx = 0;
-               what = command_cmd;
-               repeat_push(what);
-       }
-}
-
-
 /*
  * Array size for which InsertionSort
  * is used instead of QuickSort
index 7ccb070..8f60086 100644 (file)
@@ -153,7 +153,3 @@ extern size_t angband_strcat(char *buf, concptr src, size_t bufsize);
 extern char *angband_strstr(concptr haystack, concptr needle);
 extern char *angband_strchr(concptr ptr, char ch);
 extern void str_tolower(char *str);
-
-extern void repeat_push(COMMAND_CODE what);
-extern bool repeat_pull(COMMAND_CODE *what);
-extern void repeat_check(void);