aboutsummaryrefslogtreecommitdiff
path: root/include/actions.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/actions.h')
-rw-r--r--include/actions.h29
1 files changed, 14 insertions, 15 deletions
diff --git a/include/actions.h b/include/actions.h
index 8df9392..1550cce 100644
--- a/include/actions.h
+++ b/include/actions.h
@@ -18,8 +18,8 @@
#ifndef ACTIONS_H
#define ACTIONS_H
-#include <stdlib.h>
#include <stdint.h>
+#include <stdlib.h>
#include <tak.h>
@@ -33,16 +33,15 @@ typedef uint32_t action_t;
#define A_DATA1_SHIFT 24
#define A_DATA0_SHIFT 16
-#define A_LOC_SHIFT 8
+#define A_LOC_SHIFT 8
-#define A_GET_DATA1(a) (enum A_TYPE)((a)>>A_DATA1_SHIFT)
-#define A_GET_DATA0(a) (int8_t)(((a)>>A_DATA0_SHIFT) & 0xFF)
-#define A_GET_LOC(a) (uint8_t)(((a)>>A_LOC_SHIFT) & 0xFF)
-#define A_GET_TYPE(a) (uint8_t)((a) & 0xFF)
-#define A_BUILD(type,loc,data0,data1) ((type) \
- | (loc) << A_LOC_SHIFT \
- | (data0) << A_DATA0_SHIFT \
- | (data1) << A_DATA1_SHIFT)
+#define A_GET_DATA1(a) (enum A_TYPE)((a) >> A_DATA1_SHIFT)
+#define A_GET_DATA0(a) (int8_t)(((a) >> A_DATA0_SHIFT) & 0xFF)
+#define A_GET_LOC(a) (uint8_t)(((a) >> A_LOC_SHIFT) & 0xFF)
+#define A_GET_TYPE(a) (uint8_t)((a)&0xFF)
+#define A_BUILD(type, loc, data0, data1) \
+ ((type) | (loc) << A_LOC_SHIFT | (data0) << A_DATA0_SHIFT | \
+ (data1) << A_DATA1_SHIFT)
typedef struct action_node_s {
struct action_node_s *next;
@@ -64,15 +63,15 @@ extern int8_t move_deltas[4];
// Methods
// ===================================================================
-void action_list_init(void);
+void action_list_init(const uint8_t board_size);
void action_list_free(action_list_t *list);
-action_list_t *action_list_generate(void);
+action_list_t *action_list_generate(tak_state_p state);
int action_move_to_front(const action_t action, action_list_t *list);
-void action_take(const action_t action);
-void action_undo(const action_t action);
+void action_take(tak_state_p state, const action_t action);
+void action_undo(tak_state_p state, const action_t action);
-void action_to_ptn(const action_t action, char* out_ptn);
+void action_to_ptn(const action_t action, char *out_ptn);
#endif