diff options
Diffstat (limited to 'src/core/moves.h')
| -rw-r--r-- | src/core/moves.h | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/src/core/moves.h b/src/core/moves.h index 1238c7d..cc91706 100644 --- a/src/core/moves.h +++ b/src/core/moves.h | |||
| @@ -17,25 +17,6 @@ STATIC bool are_lastmoves_singlecw(size_t n, const uint8_t [n]); | |||
| 17 | 17 | ||
| 18 | STATIC cube_t applymoves(cube_t, const char *); | 18 | STATIC cube_t applymoves(cube_t, const char *); |
| 19 | 19 | ||
| 20 | #define FOREACH_READMOVE(ARG_BUF, ARG_MOVE, ARG_C, ARG_MAX, \ | ||
| 21 | RET_ERROR, ARG_ACTION) \ | ||
| 22 | const char *VAR_B; \ | ||
| 23 | uint8_t VAR_MOVE_NOMOD, VAR_MOD; \ | ||
| 24 | for (VAR_B = ARG_BUF, ARG_C = 0; *VAR_B != '\0'; VAR_B++, ARG_C++) { \ | ||
| 25 | while (*VAR_B == ' ' || *VAR_B == '\t' || *VAR_B == '\n') \ | ||
| 26 | VAR_B++; \ | ||
| 27 | if (*VAR_B == '\0' || ARG_C == ARG_MAX) \ | ||
| 28 | break; \ | ||
| 29 | if ((VAR_MOVE_NOMOD = readmove(*VAR_B)) == UINT8_ERROR) { \ | ||
| 30 | LOG("Error: unknown move '%c'\n", *VAR_B); \ | ||
| 31 | return RET_ERROR; \ | ||
| 32 | } \ | ||
| 33 | if ((VAR_MOD = readmodifier(*(VAR_B+1))) != 0) \ | ||
| 34 | VAR_B++; \ | ||
| 35 | ARG_MOVE = VAR_MOVE_NOMOD + VAR_MOD; \ | ||
| 36 | ARG_ACTION \ | ||
| 37 | } | ||
| 38 | |||
| 39 | STATIC_INLINE bool | 20 | STATIC_INLINE bool |
| 40 | allowednextmove(uint8_t m1, uint8_t m2) | 21 | allowednextmove(uint8_t m1, uint8_t m2) |
| 41 | { | 22 | { |
