Athena IO Library
ALTTPStructs.hpp
1 #ifndef ALTTP_STRUCTS_HPP
2 #define ALTTP_STRUCTS_HPP
3 
4 #include <string>
5 #include "athena/Types.hpp"
6 
7 namespace athena
8 {
9 
11 {
12  bool Chest1: 1;
13  bool Chest2: 1;
14  bool Chest3: 1;
15  bool Chest4: 1;
16  bool Quadrant1: 1;
17  bool Quadrant2: 1;
18  bool Quadrant3: 1;
19  bool Quadrant4: 1;
20  bool Door1: 1;
21  bool Door2: 1;
22  bool Door3: 1;
23  bool Door4: 1;
24  bool BossBattleWon: 1;
25  bool Key: 1;
26  bool KeyOrChest: 1;
27  bool ChestOrTile: 1;
28 };
29 
31 {
32  bool Unused1: 1;
33  bool HeartPiece: 1;
34  bool Overlay: 1;
35  bool Unused2: 1;
36  bool Unused3: 1;
37  bool Unused4: 1;
38  bool Set: 1;
39  bool Unused5: 1;
40 };
41 
43 {
44  char Bow;
45  char Boomerang;
46  bool Hookshot;
47  char Bombs; // Bomb count
48  char Magic;
49  bool FireRod;
50  bool IceRod;
51  bool Bombos;
52  bool Ether;
53  bool Quake;
54  bool Torch;
55  bool Hammer;
56  char Flute;
57  bool BugNet;
58  bool Book;
59  bool Bottles;
60  bool Somaria;
61  bool Byrna;
62  bool MagicCape;
63  char MagicMirror;
64  char Gloves;
65  char Boots;
66  bool Flippers;
67  bool MoonPearl;
68  char Unused; //?
69  char Sword;
70  char Shield;
71  char Armor;
72  char BottleTypes[4];
73 };
74 
78 {
79  bool Unused1: 1;
80  bool Unused2: 1;
81  bool Unused3: 1;
82  bool Unused4: 1;
83  bool Unused5: 1;
84  bool Unused6: 1;
85  bool IsDarkWorld: 1;
86  bool Unused7: 1;
87 };
88 
89 
91 {
92  union
93  {
94  struct
95  {
96  bool Unused1: 1;
97  bool Unused2: 1;
98  bool GanonsTower: 1;
99  bool TurtleRock: 1;
100  bool GargoylesDomain: 1;
101  bool TowerOfHera: 1;
102  bool IcePalace: 1;
103  bool SkullWoods: 1;
104  };
105  atUint8 flags1;
106  };
107 
108  union
109  {
110  struct
111  {
112  bool MiseryMire: 1;
113  bool DarkPalace: 1;
114  bool SwampPalace: 1;
115  bool HyruleCastle2: 1; // unused in orignal game
116  bool DesertPalace: 1;
117  bool EasternPalace: 1;
118  bool HyruleCastle: 1; // unused exist in original game
119  bool SewerPassage: 1; // unused exist in original game
120  };
121  atUint8 flags2;
122  };
123 };
124 
126 {
127  bool Courage: 1;
128  bool Wisdom: 1;
129  bool Power: 1;
130  bool Unused1: 1;
131  bool Unused2: 1;
132  bool Unused3: 1;
133  bool Unused4: 1;
134  bool Unused5: 1;
135 };
136 
138 {
139  bool Nothing: 1; //?
140  bool Swim: 1;
141  bool Dash: 1;
142  bool Pull: 1;
143  bool Unknown1: 1; //---
144  bool Talk: 1;
145  bool Read: 1;
146  bool Unknown2: 1; //---
147 };
148 
150 {
151  bool MiseryMire: 1;
152  bool DarkPalace: 1;
153  bool IcePalace: 1;
154  bool TurtleRock: 1;
155  bool SwampPalace: 1;
156  bool GargoyleDomain: 1;
157  bool SkullWoods: 1;
158 };
159 
161 {
162  bool Normal: 1;
163  bool Half: 1;
164  bool Quarter: 1;
165  bool Unused1: 1;
166  bool Unused2: 1;
167  bool Unused3: 1;
168  bool Unused4: 1;
169  bool Unused5: 1;
170 };
171 
172 
174 {
175  bool UncleSecretPassage: 1;
176  bool DyingPriest: 1; //?
177  bool ZeldaSanctuary: 1; //?
178  bool Unused1: 1;
179  bool UncleLeftHouse: 1;
180  bool BookOfMudora: 1; //? Math says it's a guess need to investigate
181  bool DwarfPartner: 1; //?
182  bool Unused2: 1;
183 };
184 
185 
187 {
188  bool BottleFromBum: 1;
189  bool BottleFromSalesMen: 1;
190  bool Unused1: 1; //?
191  bool FluteBoy: 1;
192  bool ThiefsChest: 1;
193  bool SavedSmithPartner: 1;
194  bool Unused2: 1; //?
195  bool SmithsHaveSword: 1;
196 };
197 
198 }
199 
200 #endif // ALTTP_STRUCTS_HPP