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 --- priv_entries.h | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 priv_entries.h (limited to 'priv_entries.h') 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 */ -- cgit v1.2.3