aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/constants.h8
-rw-r--r--src/core/moves.h7
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
712STATIC uint8_t orientation_trans[] = { 712STATIC 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);
16STATIC_INLINE bool parallel(uint8_t, uint8_t); 16STATIC_INLINE bool parallel(uint8_t, uint8_t);
17STATIC_INLINE uint8_t moveopposite(uint8_t); 17STATIC_INLINE uint8_t moveopposite(uint8_t);
18STATIC_INLINE uint8_t reorient_move(uint8_t, uint8_t); 18STATIC_INLINE uint8_t reorient_move(uint8_t, uint8_t);
19STATIC_INLINE uint8_t inverse_reorient_move(uint8_t, uint8_t);
19STATIC_INLINE uint8_t movefollow(uint8_t); 20STATIC_INLINE uint8_t movefollow(uint8_t);
20STATIC uint8_t transform_move(uint8_t, uint8_t); 21STATIC 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
227STATIC_INLINE uint8_t
228inverse_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 */
227STATIC_INLINE uint8_t 234STATIC_INLINE uint8_t
228movefollow(uint8_t move) 235movefollow(uint8_t move)

Generated with cgit - Back to sebastiano.tronto.net