forked from three-houses-research-team/010-binary-templates
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDispos_bai.bt
75 lines (68 loc) · 3.67 KB
/
Dispos_bai.bt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//------------------------------------------------
//--- 010 Editor v9.0.2 Binary Template
//
// File: Starts at 83.bin/ SC00_00.bai
// Authors: TildeHat
// Version: 1.01
// Purpose: Mapping of dispos files/bai files.
// History
// 1.00 2019-08-05 TildeHat - Start
// 1.01 2019-08-12 TildeHat - Added blocks for other routes
//------------------------------------------------
LittleEndian();
//One entry is 0x2c bytes
//All IDs in this file are +1 from regular list. 0 Seems to be default.
struct File{
struct HEADER{
uint32 Header;
uint32 UnkPointer;
uint32 UnkPointer;
//uint32 BERelativePointer<bgcolor=cRed>;//always at 0x18
//uint32 BLRelativePointer<bgcolor=cBlue>;//This + 0x18
//uint32 GDRelativePointer<bgcolor=cYellow>;//This + 0x18
}header<bgcolor=cGreen>;
struct PTRTable{
uint32 offset<format=hex>;
}Ptrtable[3]<name="Relative offset", bgcolor=cDkRed>;
local int i = 0;
local int j = 0;
for(i = 0; i <3; i++){
FSeek(Ptrtable[i].offset + 24);
struct RouteBlock{
for(j = 0; j<100;j++) {
struct CharacterBlocks{
uint16 characterID<name="Character ID", comment="+1 From Regular List", bgcolor=cPurple>;
uint16 unknown<name="unknown", fgcolor=cBlack>;
uint16 Class<name="Class",comment="Only usable for enemy and NPC + 1 From regular List",bgcolor=cYellow>;
uint16 itemID<name="Item ID 1",comment="Slot 1", bgcolor=cRed>;
uint16 itemID<name="Item ID 2",comment="Slot 2", bgcolor=cRed>;
uint16 itemID<name="Item ID 3",comment="Slot 3", bgcolor=cRed>;
uint16 itemID<name="Item ID 4",comment="Slot 4", bgcolor=cRed>;
uint16 itemID<name="Item ID 5",comment="Slot 5", bgcolor=cRed>;
uint16 itemID<name="Item ID 6",comment="Slot 6", bgcolor=cRed>;
uint16 itemFlags<name="Item flags?",comment="Setting to 2 makes item drop", bgcolor=cGray>;
byte abilityID<name="Ability ID 1",comment="Slot 1", bgcolor=cBlue>;
byte abilityID<name="Ability ID 2",comment="Slot 2", bgcolor=cBlue>;
byte abilityID<name="Ability ID 3",comment="Slot 3", bgcolor=cBlue>;
byte abilityID<name="Ability ID 4",comment="Slot 4", bgcolor=cBlue>;
byte abilityID<name="Ability ID 5",comment="Slot 5", bgcolor=cBlue>;
byte xCoor<name="X coordinet ", bgcolor=cGreen>;
byte yCoor<name="Y coordinet ", bgcolor=cGreen>;
byte spawnGroup<name="Spawn Group ",comment="Not 100% sure", bgcolor=cBlue>;
byte fixedLevel<name="Fixed Level ",comment="Enemy/NPC only", bgcolor=cLtPurple>;
byte allegiance<name="Allegiance byte",comment="0 = Player, 1 = Enemy, 2 = NPC", bgcolor=cLtYellow>;
byte unknown<name="ScriptSpawn?",comment="0 = Spawns auto, 1 = Only Spawns from script.", bgcolor=cBlack>;
byte characterFlags<name="Flags",comment="3 - No movement, 2 - Movement", bgcolor=cGray>;
byte Spell<name="Spell 1", bgcolor=cAqua>;
byte Spell<name="Spell 2", bgcolor=cAqua>;
byte Spell<name="Spell 3", bgcolor=cAqua>;
byte SpellRemove<name="Remove Spell", bgcolor=cLtBlue>;
byte SpellRemove<name="Remove Spell", bgcolor=cLtBlue>;
byte SpellRemove<name="Remove Spell", bgcolor=cLtBlue>;
byte unknown1[0x2]<name="Unknown", fgcolor=cBlack>;
uint32 AI<name="AI byte?", bgcolor=cLtGreen>;
}characterBlock;
}
}routeBlock;
}
}file;