summaryrefslogtreecommitdiff
path: root/spec/spell.fspec
diff options
context:
space:
mode:
authorJari Vetoniemi <mailroxas@gmail.com>2017-04-20 16:49:35 +0300
committerJari Vetoniemi <mailroxas@gmail.com>2017-05-01 22:58:22 +0300
commit29086b1d12a2c28cffdbfbf0b3990a7bd75506b9 (patch)
tree8acd48bc30932812744c0adb102d7a7add494357 /spec/spell.fspec
parent76b8c9e03c97b16d9ff97f3b79c0ecbff0f5e7f2 (diff)
work in progress
Diffstat (limited to 'spec/spell.fspec')
-rw-r--r--spec/spell.fspec36
1 files changed, 20 insertions, 16 deletions
diff --git a/spec/spell.fspec b/spec/spell.fspec
index f65b5ad..68aa5fb 100644
--- a/spec/spell.fspec
+++ b/spec/spell.fspec
@@ -1,18 +1,22 @@
struct spell {
- u16 index;
- u16 type; // 1-6 for White/Black/Summon/Ninja/Bard/Blue
- u16 element;
- u16 targets;
- u16 skill;
- u16 mp_cost;
- u8 casting_time; // in quarter of seconds
- u8 recast_delay; // in quarter of seconds
- u8 level[24]; // 1 byte per job, 0xxFF if not learnable, first slot is NONE job so always 0xFF
- u16 id; // 0 for "unused" spells; often, but not always, equal to index
- u8 unknown;
- u8 jp_name[20] = sjis;
- u8 en_name[20] = ascii;
- u8 jp_description[128] = sjis;
- u8 en_description[128] = ascii;
- u8 padding[687] = pad;
+ index: u16;
+ type: u16; // 1-6 for White/Black/Summon/Ninja/Bard/Blue
+ element: u16;
+ targets: u16;
+ skill: u16;
+ mp_cost: u16;
+ casting_time: u8; // in quarter of seconds
+ recast_delay: u8; // in quarter of seconds
+ level: u8[24] hex; // 1 byte per job, 0xxFF if not learnable, first slot is NONE job so always 0xFF
+ id: u16; // 0 for "unused" spells; often, but not always, equal to index
+ unknown: u8;
+ jp_name: u8[20] | encoding('sjis') str;
+ en_name: u8[20] | encoding('ascii') str;
+ jp_description: u8[128] | encoding('sjis') str;
+ en_description: u8[128] | encoding('ascii') str;
+ padding: u8[687] nul;
+};
+
+struct dat {
+ spell: struct spell[$];
};