diff options
author | Olivier Gayot <duskcoder@gmail.com> | 2015-01-08 15:04:26 +0100 |
---|---|---|
committer | Olivier Gayot <duskcoder@gmail.com> | 2015-01-08 15:37:48 +0100 |
commit | 1f9c71b49eeef9cd05b542515c06200b4a25f693 (patch) | |
tree | 6a29ab8af1ae447236013cbd78e5089937b72b1f /priv_entries.h | |
parent | adceeb1192fdd1d14e0f55219bbd1bcb14eacc05 (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.h | 137 |
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 */ |