diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/constants.h | 8 | ||||
| -rw-r--r-- | src/core/moves.h | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/core/constants.h b/src/core/constants.h index 6505689..2908f28 100644 --- a/src/core/constants.h +++ b/src/core/constants.h | |||
| @@ -696,17 +696,17 @@ STATIC uint8_t orientation_transition_table[][3] = { | |||
| 696 | [ORIENTATION_RB] = { ORIENTATION_BL, ORIENTATION_RU, ORIENTATION_DB }, | 696 | [ORIENTATION_RB] = { ORIENTATION_BL, ORIENTATION_RU, ORIENTATION_DB }, |
| 697 | [ORIENTATION_RU] = { ORIENTATION_UL, ORIENTATION_RF, ORIENTATION_BU }, | 697 | [ORIENTATION_RU] = { ORIENTATION_UL, ORIENTATION_RF, ORIENTATION_BU }, |
| 698 | [ORIENTATION_LF] = { ORIENTATION_FR, ORIENTATION_LU, ORIENTATION_DF }, | 698 | [ORIENTATION_LF] = { ORIENTATION_FR, ORIENTATION_LU, ORIENTATION_DF }, |
| 699 | [ORIENTATION_LD] = { ORIENTATION_DR, ORIENTATION_LB, ORIENTATION_BD }, | 699 | [ORIENTATION_LD] = { ORIENTATION_DR, ORIENTATION_LF, ORIENTATION_BD }, |
| 700 | [ORIENTATION_LB] = { ORIENTATION_BR, ORIENTATION_LD, ORIENTATION_UB }, | 700 | [ORIENTATION_LB] = { ORIENTATION_BR, ORIENTATION_LD, ORIENTATION_UB }, |
| 701 | [ORIENTATION_LU] = { ORIENTATION_UR, ORIENTATION_LF, ORIENTATION_FU }, | 701 | [ORIENTATION_LU] = { ORIENTATION_UR, ORIENTATION_LB, ORIENTATION_FU }, |
| 702 | [ORIENTATION_FD] = { ORIENTATION_DB, ORIENTATION_FR, ORIENTATION_LD }, | 702 | [ORIENTATION_FD] = { ORIENTATION_DB, ORIENTATION_FR, ORIENTATION_LD }, |
| 703 | [ORIENTATION_FR] = { ORIENTATION_RB, ORIENTATION_FU, ORIENTATION_DR }, | 703 | [ORIENTATION_FR] = { ORIENTATION_RB, ORIENTATION_FU, ORIENTATION_DR }, |
| 704 | [ORIENTATION_FU] = { ORIENTATION_UB, ORIENTATION_FL, ORIENTATION_RU }, | 704 | [ORIENTATION_FU] = { ORIENTATION_UB, ORIENTATION_FL, ORIENTATION_RU }, |
| 705 | [ORIENTATION_FL] = { ORIENTATION_LB, ORIENTATION_FD, ORIENTATION_UL }, | 705 | [ORIENTATION_FL] = { ORIENTATION_LB, ORIENTATION_FD, ORIENTATION_UL }, |
| 706 | [ORIENTATION_BD] = { ORIENTATION_DF, ORIENTATION_BL, ORIENTATION_RD }, | 706 | [ORIENTATION_BD] = { ORIENTATION_DF, ORIENTATION_BL, ORIENTATION_RD }, |
| 707 | [ORIENTATION_BR] = { ORIENTATION_RF, ORIENTATION_BU, ORIENTATION_UR }, | 707 | [ORIENTATION_BR] = { ORIENTATION_RF, ORIENTATION_BD, ORIENTATION_UR }, |
| 708 | [ORIENTATION_BU] = { ORIENTATION_UF, ORIENTATION_BR, ORIENTATION_LU }, | 708 | [ORIENTATION_BU] = { ORIENTATION_UF, ORIENTATION_BR, ORIENTATION_LU }, |
| 709 | [ORIENTATION_BL] = { ORIENTATION_LF, ORIENTATION_BD, ORIENTATION_DL }, | 709 | [ORIENTATION_BL] = { ORIENTATION_LF, ORIENTATION_BU, ORIENTATION_DL }, |
| 710 | }; | 710 | }; |
| 711 | 711 | ||
| 712 | STATIC uint8_t orientation_trans[] = { | 712 | STATIC uint8_t orientation_trans[] = { |
diff --git a/src/core/moves.h b/src/core/moves.h index 20544a3..0d97172 100644 --- a/src/core/moves.h +++ b/src/core/moves.h | |||
| @@ -16,6 +16,7 @@ STATIC_INLINE bool isbase(uint8_t); | |||
| 16 | STATIC_INLINE bool parallel(uint8_t, uint8_t); | 16 | STATIC_INLINE bool parallel(uint8_t, uint8_t); |
| 17 | STATIC_INLINE uint8_t moveopposite(uint8_t); | 17 | STATIC_INLINE uint8_t moveopposite(uint8_t); |
| 18 | STATIC_INLINE uint8_t reorient_move(uint8_t, uint8_t); | 18 | STATIC_INLINE uint8_t reorient_move(uint8_t, uint8_t); |
| 19 | STATIC_INLINE uint8_t inverse_reorient_move(uint8_t, uint8_t); | ||
| 19 | STATIC_INLINE uint8_t movefollow(uint8_t); | 20 | STATIC_INLINE uint8_t movefollow(uint8_t); |
| 20 | STATIC uint8_t transform_move(uint8_t, uint8_t); | 21 | STATIC uint8_t transform_move(uint8_t, uint8_t); |
| 21 | 22 | ||
| @@ -223,6 +224,12 @@ reorient_move(uint8_t m, uint8_t or) | |||
| 223 | return transform_move(m, orientation_trans[or]); | 224 | return transform_move(m, orientation_trans[or]); |
| 224 | } | 225 | } |
| 225 | 226 | ||
| 227 | STATIC_INLINE uint8_t | ||
| 228 | inverse_reorient_move(uint8_t m, uint8_t or) | ||
| 229 | { | ||
| 230 | return transform_move(m, inverse_trans_table[orientation_trans[or]]); | ||
| 231 | } | ||
| 232 | |||
| 226 | /* This is currently unused, but it may turn out to be useful at some point */ | 233 | /* This is currently unused, but it may turn out to be useful at some point */ |
| 227 | STATIC_INLINE uint8_t | 234 | STATIC_INLINE uint8_t |
| 228 | movefollow(uint8_t move) | 235 | movefollow(uint8_t move) |
