summaryrefslogtreecommitdiff
path: root/include/ewram.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ewram.h')
-rw-r--r--include/ewram.h63
1 files changed, 30 insertions, 33 deletions
diff --git a/include/ewram.h b/include/ewram.h
index 947fa274e..0f5abd9c7 100644
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -89,40 +89,37 @@ extern u8 gSharedMem[];
// Battle Struct
// For matching purposes, the struct is placed at 0x02000000 and
// there's a ton of filler.
-#define ewram16004arr(i, battler) (gSharedMem[0x16004 + i + battler * 2])
-#define ewram16010arr(battler) (gSharedMem[0x16010 + battler])
-#define ewram16020arr(i) (gSharedMem[0x16020 + i])
-#define ewram16058 (gSharedMem[0x16058])
-#define ewram16060(battler) (gSharedMem[0x16060 + battler])
-#define BATTLE_PARTY_ID(battler) (gSharedMem[0x16064 + battler])
-#define ewram16064arr(battler) (gSharedMem[0x16064 + battler])
-#define ewram16068arr(i) (gSharedMem[0x16068 + i])
-#define ewram1606Carr(i, a) (gSharedMem[0x1606C + i + a * 3])
-#define ewram16088 (gSharedMem[0x16088])
-#define ewram16089 (gSharedMem[0x16089])
-
-#define ewram1608Carr(battler) (gSharedMem[0x1608C + battler])
-#define ewram16094arr(battler) (gSharedMem[0x16094 + battler])
-#define eLastTakenMove_flat(i) (gSharedMem[0x160AC + i])
-#define eLastTakenMove_2d(i, battler) (gSharedMem[0x160AC + i + battler * 2])
-#define eHpOnSwitchout(battler) (gSharedMem[0x160BC + battler * 2])
-#define ewram160C8arr(battler) (gSharedMem[0x160C8 + (battler / 2)])
-#define ewram160CCarr(i) (gSharedMem[0x160CC + i])
-#define USED_HELD_ITEM(battler) ((((u16*)(&gSharedMem[0x160CC + battler * 2]))))
-#define USED_HELD_ITEMS(battler) (*(u16 *)&gSharedMem[0x160CC + 2 * (battler)])
-#define ewram160D4(battler) (gSharedMem[0x160D4 + (battler / 2) * 2])
-#define ewram160D8(battler) (gSharedMem[0x160D8 + (battler / 2)])
-#define ewram160DA(battler) (gSharedMem[0x160DA + (battler >> 1)])
-#define ewram160E0(i) (gSharedMem[0x160E0 + i])
-#define CHOICED_MOVE(battler) (((u16*)(&gSharedMem[0x160E8 + battler * 2])))
-#define ewram160E8arr(i) (gSharedMem[0x160E8 + i])
-#define ewram160E8arr2(i, battler) (gSharedMem[0x160E8 + i + battler * 2])
-#define ewram160F0arr(i) (gSharedMem[0x160F0 + i])
-#define ewram16100arr(i) (gSharedMem[0x16100 + i])
-#define ewram16100arr2(i, battler) (gSharedMem[0x16100 + i + battler * 4])
-#define ewram16108arr(i) (gSharedMem[0x16108 + i])
+#define BSTRUCT_OFF(member) (offsetof(struct BattleStruct, member) + ((u8 *)gBattleStruct - gSharedMem))
+
+#define ewram16004arr(i, battler) (gSharedMem[BSTRUCT_OFF(wrappedMove) + i + battler * 2])
+#define ewram16010arr(battler) (gSharedMem[BSTRUCT_OFF(moveTarget) + battler])
+#define ewram16020arr(i) (gSharedMem[BSTRUCT_OFF(wrappedBy) + i])
+#define ewram16060(battler) (gSharedMem[BSTRUCT_OFF(unk16060) + battler])
+#define BATTLE_PARTY_ID(battler) (gSharedMem[BSTRUCT_OFF(unk16064) + battler])
+#define ewram16068arr(i) (gSharedMem[BSTRUCT_OFF(monToSwitchIntoId) + i])
+#define ewram1606Carr(i, a) (gSharedMem[BSTRUCT_OFF(unk1606C) + i + a * 3])
+#define ewram1608Carr(battler) (gSharedMem[BSTRUCT_OFF(ChosenMoveID) + battler])
+#define ewram16094arr(battler) (gSharedMem[BSTRUCT_OFF(unk16094) + battler])
+#define eLastTakenMove_flat(i) (gSharedMem[BSTRUCT_OFF(lastTakenMove) + i])
+#define eLastTakenMove_2d(i, battler) (gSharedMem[BSTRUCT_OFF(lastTakenMove) + i + battler * 2])
+#define eHpOnSwitchout(battler) (gSharedMem[BSTRUCT_OFF(HP_OnSwitchout) + battler * 2])
+#define ewram160C8arr(battler) (gSharedMem[BSTRUCT_OFF(AI_monToSwitchIntoId) + (battler / 2)])
+#define ewram160CCarr(i) (gSharedMem[BSTRUCT_OFF(usedHeldItems) + i])
+#define USED_HELD_ITEM(battler) ((((u16*)(&gSharedMem[BSTRUCT_OFF(usedHeldItems) + battler * 2]))))
+#define USED_HELD_ITEMS(battler) (*(u16 *)&gSharedMem[BSTRUCT_OFF(usedHeldItems) + 2 * (battler)])
+#define AI_ARRAY_160CC(i) (gSharedMem[BSTRUCT_OFF(usedHeldItems) + i * 2])
+#define ewram160D4(battler) (gSharedMem[BSTRUCT_OFF(unk160D4) + (battler / 2) * 2])
+#define ewram160D8(battler) (gSharedMem[BSTRUCT_OFF(unk160D8) + (battler / 2)])
+#define ewram160DA(battler) (gSharedMem[BSTRUCT_OFF(unk160DA) + (battler >> 1)])
+#define ewram160E0(i) (gSharedMem[BSTRUCT_OFF(unk160E0) + i])
+#define CHOICED_MOVE(battler) (((u16*)(&gSharedMem[BSTRUCT_OFF(choicedMove) + battler * 2])))
+#define ewram160E8arr(i) (gSharedMem[BSTRUCT_OFF(choicedMove) + i])
+#define ewram160E8arr2(i, battler) (gSharedMem[BSTRUCT_OFF(choicedMove) + i + battler * 2])
+#define ewram160F0arr(i) (gSharedMem[BSTRUCT_OFF(changedItems) + i])
+#define ewram16100arr(i) (gSharedMem[BSTRUCT_OFF(lastTakenMoveFrom) + i])
+#define ewram16100arr2(i, battler) (gSharedMem[BSTRUCT_OFF(lastTakenMoveFrom) + i + battler * 4])
+#define ewram16108arr(i) (gSharedMem[BSTRUCT_OFF(lastTakenMoveFrom) + 8 + i])
#define ewram16400 (gSharedMem + 0x16400)
-#define AI_ARRAY_160CC(i) (gSharedMem[0x160CC + i * 2])
// gBattleResources
#define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(gSharedMem + 0x16800))