summaryrefslogtreecommitdiff
path: root/include/global.fieldmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/global.fieldmap.h')
-rw-r--r--include/global.fieldmap.h36
1 files changed, 22 insertions, 14 deletions
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 3623737ea..bf142d265 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -120,26 +120,34 @@ struct CoordEvent
u8 *script;
};
+struct HiddenItemStruct
+{
+ u32 itemId:16;
+ u32 hiddenItemId:8; // flag offset to determine flag lookup
+ u32 quantity:7;
+ u32 isUnderfoot:1;
+};
+
+union BgUnion
+{ // carried over from diego's FR/LG work, seems to be the same struct
+ // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
+ u8 *script;
+
+ // hidden item type probably
+ struct HiddenItemStruct hiddenItem;
+
+ // secret base type
+ u32 secretBaseId;
+
+};
+
struct BgEvent
{
u16 x, y;
u8 unk4;
u8 kind;
// 0x2 padding for the union beginning.
- union { // carried over from diego's FR/LG work, seems to be the same struct
- // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
- u8 *script;
-
- // hidden item type probably
- struct {
- u8 filler6[0x2];
- u16 hiddenItemId; // flag offset to determine flag lookup
- } hiddenItem;
-
- // secret base type
- u32 secretBaseId;
-
- } bgUnion;
+ union BgUnion bgUnion;
};
struct MapEvents