summaryrefslogtreecommitdiff
path: root/priv_entries.h
diff options
context:
space:
mode:
authorOlivier Gayot <duskcoder@gmail.com>2015-01-08 15:04:26 +0100
committerOlivier Gayot <duskcoder@gmail.com>2015-01-08 15:37:48 +0100
commit1f9c71b49eeef9cd05b542515c06200b4a25f693 (patch)
tree6a29ab8af1ae447236013cbd78e5089937b72b1f /priv_entries.h
parentadceeb1192fdd1d14e0f55219bbd1bcb14eacc05 (diff)
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 <duskcoder@gmail.com>
Diffstat (limited to 'priv_entries.h')
-rw-r--r--priv_entries.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/priv_entries.h b/priv_entries.h
new file mode 100644
index 0000000..c2fa5c6
--- /dev/null
+++ b/priv_entries.h
@@ -0,0 +1,137 @@
+#ifndef PRIV_ENTRIES_H
+#define PRIV_ENTRIES_H
+
+#include "prototypes.h"
+#include "entry.h"
+
+/* TODO general make difference between action / action + and action x */
+
+struct entry_t white_magic_entries[] = {
+ {
+ .name = "Cure",
+ .children_cnt = 0,
+ .f = Fattaquer,
+ .data = NULL,
+ }, {
+ .name = "Cure +",
+ .children_cnt = 0,
+ .f = Fattaquer,
+ .data = NULL,
+ },
+};
+
+struct entry_t black_magic_entries[] = {
+ {
+ .name = "Fire",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_FIRE },
+ }, {
+ .name = "Fire +",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_FIRE },
+ }, {
+ .name = "Fire x",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_FIRE },
+ }, {
+ .name = "Ice -",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_ICE },
+ }, {
+ .name = "Ice +",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_ICE },
+ }, {
+ .name = "Ice x",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_ICE },
+ }, {
+ .name = "Thunder",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_THUNDER },
+ }, {
+ .name = "Thunder +",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_THUNDER },
+ }, {
+ .name = "Thunder x",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_THUNDER },
+ }, {
+ .name = "Water",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_WATER },
+ }, {
+ .name = "Water + ",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_WATER },
+ }, {
+ .name = "Water x",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_WATER },
+ }, {
+ .name = "Choc",
+ .children_cnt = 0,
+ .f = Fmagieelement,
+ .data = (enum element_t []) { ELEMENT_NONE },
+ },
+};
+
+struct entry_t object_entries[] = {
+ {
+ .name = "Potion",
+ .children_cnt = 0,
+ .f = Fpotion,
+ .data = (int []) { POTION },
+ }, {
+ .name = "Potion +",
+ .children_cnt = 0,
+ .f = Fpotion,
+ .data = (int []) { POTIONPLUS },
+ }, {
+ .name = "Ether",
+ .children_cnt = 0,
+ .f = Fether,
+ .data = (int []) { ETHER },
+ }, {
+ .name = "Ether + ",
+ .children_cnt = 0,
+ .f = Fether,
+ .data = (int []) { ETHERPLUS },
+ },
+};
+
+struct entry_t action_entries_g[] = {
+ {
+ .name = "Attack",
+ .children_cnt = 0,
+ .f = Fattaquer,
+ .data = NULL,
+ }, {
+ .name = "White Magic",
+ .children = white_magic_entries,
+ .children_cnt = countof(white_magic_entries),
+ }, {
+ .name = "Black Magic",
+ .children = black_magic_entries,
+ .children_cnt = countof(black_magic_entries),
+ }, {
+ .name = "Use",
+ .children = object_entries,
+ .children_cnt = countof(object_entries),
+ },
+};
+
+#endif /* PRIV_ENTRIES_H */