From 1f9c71b49eeef9cd05b542515c06200b4a25f693 Mon Sep 17 00:00:00 2001 From: Olivier Gayot Date: Thu, 8 Jan 2015 15:04:26 +0100 Subject: use a generic way to navigate through entries entries are actually any action or subaction that can be performed. Attack, White Magic and so on are root actions. Fire, Ice X are subactions of Black Magic. Signed-off-by: Olivier Gayot --- entry.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 entry.h (limited to 'entry.h') diff --git a/entry.h b/entry.h new file mode 100644 index 0000000..00b58e9 --- /dev/null +++ b/entry.h @@ -0,0 +1,30 @@ +#ifndef ENTRY_H +#define ENTRY_H + +#include "structures.h" +#include "players.h" + +struct entry_t { + /* displayed name */ + char *name; + int children_cnt; + + union { + struct entry_t *children; + + struct { + void *data; + enum action_state_t (*f)(SURFACES *, POSITIONS *, struct team_t *, struct team_t *, void *data); + }; + }; +}; + +struct action_params_t { + SURFACES *surfaces; + POSITIONS *positions; + + struct team_t *t1; + struct team_t *t2; +}; + +#endif /* ENTRY_H */ -- cgit v1.2.3