diff options
Diffstat (limited to 'include/ewram.h')
-rwxr-xr-x | include/ewram.h | 58 |
1 files changed, 57 insertions, 1 deletions
diff --git a/include/ewram.h b/include/ewram.h index fa405e59c..341f23432 100755 --- a/include/ewram.h +++ b/include/ewram.h @@ -3,6 +3,10 @@ extern u8 ewram[]; +// Note: we have duplicate ewram labels because its clear some memory +// regions overlap others but have different definitions. Until some +// dupes can be determined to be the same, they will be deliberate +// seperated. #define BATTLE_STRUCT ((struct BattleStruct *) (ewram + 0x0)) #define ewram0_2 (*(struct Struct2000000 *)(ewram + 0x0)) #define namingScreenData (*(struct NamingScreenData *)(ewram + 0x0)) @@ -10,8 +14,13 @@ extern u8 ewram[]; #define ewram0_3 (*(struct UnknownStruct3 *)(ewram + 0x0)) #define ewram0_4 (*(struct Unk2000000 *)(ewram + 0x0)) #define ewram0_5 (*(struct UnkStruct *)(ewram + 0x0)) +#define eMatsudaDebugVar (ewram[0x0]) +#define eBrendanSprite (ewram + 0x0) +#define ewram0_6 (u32)(&ewram[0]) +#define ewram0_7 (&ewram[0]) #define ewram4 (*(struct UnknownStruct8 *)(ewram + 0x4)) #define ewram520 ((struct UnknownStruct7 *)(ewram + 0x00520)) +#define eMaySprite (ewram + 0x800) #define ewram888 (ewram + 0x888) #define ewramBlankMapName (ewram + 0xA48) #define ewramA6E (ewram[0xA6E]) @@ -26,13 +35,44 @@ extern u8 ewram[]; #define ARRAY_2007800 ((struct EasyChatPair *)(ewram + 0x7800)) #define ARRAY_2007900 ((struct EasyChatPair *)(ewram + 0x7900)) #define unk_2008000 (*(struct PlayerRecords *)(ewram + 0x08000)) +#define ewram8000 (&ewram[0x8000]) +#define ewram8800 (&ewram[0x8800]) +#define ewram9000 (&ewram[0x9000]) +#define ewram9800 (&ewram[0x9800]) +#define ewramA000 (&ewram[0xA000]) +#define ewramA800 (&ewram[0xA800]) +#define ewramB000 (&ewram[0xB000]) +#define ewramB800 (&ewram[0xB800]) #define TRANSITION_STRUCT (*(struct TransitionData *) (ewram + 0xC000)) +#define ewramC000 (&ewram[0xC000]) #define ewramC03C (&ewram[0xC03C]) +#define ewramC800 (&ewram[0xC800]) +#define ewramD000 (&ewram[0xD000]) +#define ewramD800 (&ewram[0xD800]) +#define ewramE000 (&ewram[0xE000]) +#define ewramE800 (&ewram[0xE800]) +#define ewramF000 (&ewram[0xF000]) +#define ewramF800 (&ewram[0xF800]) #define ewram_2010000 (*(struct TradeEwramStruct *)(ewram + 0x10000)) +#define ewram10000 (&ewram[0x10000]) +#define ewram10800 (&ewram[0x10800]) +#define ewram11000 (&ewram[0x11000]) +#define ewram11800 (&ewram[0x11800]) +#define ewram13000 (&ewram[0x13000]) #define EWRAM_14000 ((u8 *)(ewram + 0x14000)) +#define ewram14000 (&ewram[0x14000]) +#define ewram14000arr(i, data) (ewram[0x14000 + i + data]) +#define ewram14004arr(i, data) (ewram[0x14004 + i + data]) +#define ewram14008arr(i, data) (ewram[0x14008 + data + i]) +#define ewram14800 (&ewram[0x14800]) #define EWRAM_14800 ((u16 *)(ewram + 0x14800)) #define sEvoInfo ((*(struct EvoInfo*)(ewram + 0x14800))) #define EWRAM_15000 ((u8 *)(ewram + 0x15000)) +#define ewram15000 (&ewram[0x15000]) +#define ewram15000arr(i, data) (ewram[0x15000 + data + i]) +#define ewram15800 (&ewram[0x15800]) +#define ewram15DDE (ewram[0x15DDE]) +#define ewram15DDF (ewram[0x15DDF]) #define ewram16000 (ewram[0x16000]) #define ewram16001 (ewram[0x16001]) #define ewram16002 (ewram[0x16002]) @@ -56,7 +96,7 @@ extern u8 ewram[]; #define ewram16064arr(bank) (ewram[0x16064 + bank]) #define ewram16068arr(i) (ewram[0x16068 + i]) #define UNK_201606C_ARRAY (ewram + 0x1606C) // lazy define but whatever. -#define ewram1606Carr(i, a, mul) (ewram[0x1606C + i + a * mul]) +#define ewram1606Carr(i, a) (ewram[0x1606C + i + a * 3]) #define ewram16078 (ewram[0x16078]) #define ewram16084 (ewram[0x16084]) #define ewram16086 (ewram[0x16086]) @@ -101,6 +141,7 @@ extern u8 ewram[]; #define ewram160F0arr(i) (ewram[0x160F0 + i]) #define ewram160F8 (ewram[0x160F8]) #define ewram160F9 (ewram[0x160F9]) +#define eStatHp (ewram[0x160FA]) #define ewram160FB (ewram[0x160FB]) #define ewram16100 ((u8 *)(ewram + 0x16100)) #define ewram16100arr(i) (ewram[0x16100 + i]) @@ -110,10 +151,12 @@ extern u8 ewram[]; #define ewram16110 (ewram[0x16110]) #define ewram16111 (ewram[0x16111]) #define ewram16113 (ewram[0x16113]) +#define ewram16400 (ewram + 0x16400) #define AI_THINKING_STRUCT ((struct AI_ThinkingStruct *)(ewram + 0x16800)) #define UNK_2016A00_STRUCT ((struct UnkBattleStruct1 *) (ewram + 0x16A00)) #define AI_STACK ((struct AI_Stack *) (ewram + 0x16C00)) #define AI_ARRAY_160CC(i) (ewram[0x160CC + i * 2]) +#define eLearnMoveStruct (struct LearnMoveStruct *)(ewram + 0x17000) #define ewram17002 (&ewram[0x17002]) #define ewram17100 (*(struct Struct2017100 *)(ewram + 0x17100)) #define B_BATTLESCRIPTS_STACK ((struct scriptsStack *) (ewram + 0x17110)) @@ -129,10 +172,16 @@ extern u8 ewram[]; #define unk_2018000 (*(struct PlayerRecords *)(ewram + 0x18000)) #define EWRAM_18000 ((u16 *)(ewram + 0x18000)) #define ewram18000 ((u16 *)(ewram + 0x18000)) +#define ewram18000_2 (&ewram[0x18000]) +#define eBerryBlenderData (struct BerryBlenderData*)(&ewram[0x18000]) +#define eEggHatchData (struct EggHatchData*)(&ewram[0x18000]) #define UNK_2018000_STRUCT (*(struct UnknownStruct2018000 *)(ewram + 0x18000)) #define ewram18300 ((u16 *)(ewram + 0x18300)) +#define ewram18800 (&ewram[0x18800]) +#define ewram19000 (&ewram[0x19000]) #define EWRAM_19348 (*(u16 *)(ewram + 0x19348)) #define ewram19348 (*(struct Struct2019348 *)(ewram + 0x19348)) +#define ewram19800 (&ewram[0x19800]) #define ewram1B000 (*(struct Unk201B000 *)(ewram + 0x1B000)) #define ewram1B000_alt (*(struct Struct201B000 *)(ewram + 0x1B000)) #define EWRAM_1B000 ewram1B000_alt // FIXME @@ -140,10 +189,13 @@ extern u8 ewram[]; #define EWRAM_1C000 (*(struct Struct201C000 *)(ewram + 0x1C000)) #define ewram1C000 (*(struct Unk201C000 *)(ewram + 0x1C000)) #define ewram1c000 (*(struct Unk201C000 *)(ewram + 0x1C000)) // FIXME, names too similar +#define eHallOfFameMons1 (struct HallofFameMons*)(&ewram[0x1C000]) #define ewram1D000 ((struct Pokemon *)(ewram + 0x1D000)) #define ewram1D000_2 ((u16 *)(ewram + 0x1D000)) #define ewram1D400 ((u16 *)(ewram + 0x1D400)) #define ewramSavedItemsPocket ((struct ItemSlot *)(ewram + 0x1E000)) // saved items pocket (for Wally battle) +#define ewram1E000(i) (ewram[0x1E000 + i]) +#define eHallOfFameMons2 (struct HallofFameMons*)(&ewram[0x1E000]) #define HALL_OF_FAME_SHEET_0 ((u8 *)(ewram + 0x1E000)) #define HALL_OF_FAME_SHEET_1 ((u8 *)(ewram + 0x1E800)) #define ewram_1f000 (*(struct DecoPCPointers *)(ewram + 0x1f000)) @@ -151,8 +203,12 @@ extern u8 ewram[]; #define HALL_OF_FAME_SHEET_2 ((u8 *)(ewram + 0x1F000)) #define EWRAM_1F800 ((u16 *)(ewram + 0x1F800)) #define ewram1FE00 (*(struct Unk201FE00 *)(ewram + 0x1FE00)) +#define ewram1FFFC (ewram[0x1FFFC]) +#define ewram1FFFD (ewram[0x1FFFD]) #define gHelperState (ewram[0x1FFFE]) +#define ewram1FFFE (ewram[0x1FFFE]) #define gReshowState (ewram[0x1FFFF]) #define ewramBagSetupStep (ewram[0x1FFFF]) +#define ewram1FFFF (ewram[0x1FFFF]) #endif |