diff options
author | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2017-11-06 03:46:09 -0500 |
---|---|---|
committer | ProjectRevoTPP <projectrevotpp@hotmail.com> | 2017-11-06 03:46:09 -0500 |
commit | 5711615c6067e49c3254f9568be55dc6ed3d5c2f (patch) | |
tree | ac0e55b1797d8b2a913bb500cb31e2fff67c8211 | |
parent | 618240c62639bc4da73d400965b6df67b2c3619e (diff) |
finish refactoring ewram defines into ewram.h.
-rwxr-xr-x | include/ewram.h | 58 | ||||
-rw-r--r-- | src/battle/battle_2.c | 8 | ||||
-rw-r--r-- | src/battle/battle_4.c | 12 | ||||
-rw-r--r-- | src/battle/battle_7.c | 12 | ||||
-rw-r--r-- | src/battle/battle_party_menu.c | 2 | ||||
-rw-r--r-- | src/debug/matsuda_debug_menu.c | 6 | ||||
-rw-r--r-- | src/engine/main_menu.c | 7 | ||||
-rw-r--r-- | src/engine/mystery_event_menu.c | 3 | ||||
-rw-r--r-- | src/engine/save_failed_screen.c | 3 | ||||
-rw-r--r-- | src/field/dewford_trend.c | 2 | ||||
-rw-r--r-- | src/field/pokeblock.c | 18 | ||||
-rw-r--r-- | src/pokemon/learn_move.c | 6 | ||||
-rw-r--r-- | src/pokemon/pokeblock_feed.c | 32 | ||||
-rw-r--r-- | src/pokemon/pokemon_1.c | 8 | ||||
-rw-r--r-- | src/pokemon/pokemon_menu.c | 1 | ||||
-rw-r--r-- | src/rom3.c | 46 | ||||
-rw-r--r-- | src/scene/berry_blender.c | 22 | ||||
-rw-r--r-- | src/scene/contest_painting.c | 9 | ||||
-rw-r--r-- | src/scene/egg_hatch.c | 10 | ||||
-rw-r--r-- | src/scene/hall_of_fame.c | 102 | ||||
-rw-r--r-- | src/scene/intro.c | 1 |
21 files changed, 210 insertions, 158 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 diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c index 38c60dee1..8d27750bd 100644 --- a/src/battle/battle_2.c +++ b/src/battle/battle_2.c @@ -2290,7 +2290,7 @@ void sub_8012258(u8 a) u8 r1; for (i = 0; i < 3; i++) - gUnknown_02038470[i] = ewram1606Carr(i, a, 3); + gUnknown_02038470[i] = ewram1606Carr(i, a); r4 = pokemon_order_func(gBattlePartyID[a]); r1 = pokemon_order_func(ewram16068arr(a)); sub_8094C98(r4, r1); @@ -2298,15 +2298,15 @@ void sub_8012258(u8 a) { for (i = 0; i < 3; i++) { - ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; - ewram1606Carr(i, (a ^ 2), 3) = gUnknown_02038470[i]; + ewram1606Carr(i, a) = gUnknown_02038470[i]; + ewram1606Carr(i, (a ^ 2)) = gUnknown_02038470[i]; } } else { for (i = 0; i < 3; i++) { - ewram1606Carr(i, a, 3) = gUnknown_02038470[i]; + ewram1606Carr(i, a) = gUnknown_02038470[i]; } } } diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c index 5c028d86b..d7ca298c3 100644 --- a/src/battle/battle_4.c +++ b/src/battle/battle_4.c @@ -10768,12 +10768,12 @@ static void atk51_switch_handle_order(void) ewram16068arr(gActiveBank) = gBattleBufferB[gActiveBank][1]; if (gBattleTypeFlags & BATTLE_TYPE_MULTI) { - ewram1606Carr(0, gActiveBank, 3) &= 0xF; - ewram1606Carr(0, gActiveBank, 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0); - ewram1606Carr(1, gActiveBank, 3) = gBattleBufferB[gActiveBank][3]; - ewram1606Carr(0, (gActiveBank ^ 2), 3) &= (0xF0); - ewram1606Carr(0, (gActiveBank ^ 2), 3) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; - ewram1606Carr(2, (gActiveBank ^ 2), 3) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, gActiveBank) &= 0xF; + ewram1606Carr(0, gActiveBank) |= (gBattleBufferB[gActiveBank][2] & 0xF0); + ewram1606Carr(1, gActiveBank) = gBattleBufferB[gActiveBank][3]; + ewram1606Carr(0, (gActiveBank ^ 2)) &= (0xF0); + ewram1606Carr(0, (gActiveBank ^ 2)) |= (gBattleBufferB[gActiveBank][2] & 0xF0) >> 4; + ewram1606Carr(2, (gActiveBank ^ 2)) = gBattleBufferB[gActiveBank][3]; } else sub_8012258(gActiveBank); diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c index 6c0a4489c..4ca1baa53 100644 --- a/src/battle/battle_7.c +++ b/src/battle/battle_7.c @@ -309,8 +309,8 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b) if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - LZDecompressWram(lzPaletteData, ewram + 0x16400); - LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); + LZDecompressWram(lzPaletteData, ewram16400); + LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) { @@ -361,8 +361,8 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b) if (species == SPECIES_CASTFORM) { paletteOffset = 0x100 + b * 16; - LZDecompressWram(lzPaletteData, ewram + 0x16400); - LoadPalette(ewram + 0x16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); + LZDecompressWram(lzPaletteData, ewram16400); + LoadPalette(ewram16400 + gBattleMonForms[b] * 32, paletteOffset, 0x20); } if (ewram17800[b].transformedSpecies != 0) { @@ -622,7 +622,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) { StartSpriteAnim(&gSprites[gObjectBankIDs[a]], ewram17840.unk0); paletteOffset = 0x100 + a * 16; - LoadPalette(ewram + 0x16400 + ewram17840.unk0 * 32, paletteOffset, 32); + LoadPalette(ewram16400 + ewram17840.unk0 * 32, paletteOffset, 32); gBattleMonForms[a] = ewram17840.unk0; if (ewram17800[a].transformedSpecies != 0) { @@ -694,7 +694,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c) LoadPalette(ewram, paletteOffset, 32); if (species == SPECIES_CASTFORM) { - u16 *paletteSrc = (u16 *)(ewram + 0x16400); + u16 *paletteSrc = (u16 *)ewram16400; // TODO: avoid casting? LZDecompressWram(lzPaletteData, paletteSrc); LoadPalette(paletteSrc + gBattleMonForms[b] * 16, paletteOffset, 32); diff --git a/src/battle/battle_party_menu.c b/src/battle/battle_party_menu.c index ab8b7a694..97e9dc0fc 100644 --- a/src/battle/battle_party_menu.c +++ b/src/battle/battle_party_menu.c @@ -204,7 +204,7 @@ void sub_8094B6C(u8 a, u8 b, u8 c) if (IsLinkDoubleBattle()) { - u8 *arr = ewram + 0x1606C + a * 3; + u8 *arr = &ewram1606Carr(0, a); for (i = 0, j = 0; i < 3; i++) { diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index 765ec1f26..ab96ada23 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -15,6 +15,7 @@ #include "task.h" #include "text.h" #include "unknown_task.h" +#include "ewram.h" extern u8 gUnknown_0203856C; extern u8 gUnknown_0203857D[][64]; @@ -45,7 +46,6 @@ extern u8 gUnknown_083C9282[]; extern const u8 gUnknown_083C928E[][2]; extern u8 gUnknown_083C9296[]; extern u8 gUnknown_083C92A8[]; -extern u8 ewram[]; extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; extern u8 gMatsudaDebugMenu_StartText[]; @@ -739,7 +739,7 @@ void sub_80AACC4(void) { SetDebugMonForContest(); if (!(gIsLinkContest & 1)) - sub_80AE82C(ewram[0]); + sub_80AE82C(eMatsudaDebugVar); SetMainCallback2(sub_80AB47C); } } @@ -748,7 +748,7 @@ void sub_80AAD08(struct Sprite *sprite, s8 var2) { if (var2 == 1) { - ewram[0] = sprite->data3; + eMatsudaDebugVar = sprite->data3; SetMainCallback2(sub_80AACC4); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); } diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c index 3a343a0de..bfbf0dcd6 100644 --- a/src/engine/main_menu.c +++ b/src/engine/main_menu.c @@ -22,6 +22,7 @@ #include "text.h" #include "title_screen.h" #include "unknown_task.h" +#include "ewram.h" #define BirchSpeechUpdateWindowText() ((u8)MenuUpdateWindowText_OverrideLineLength(24)) @@ -54,8 +55,6 @@ extern const u8 gUnknown_081E796C[]; extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[]; -extern u8 ewram[]; - //Menu layouts enum { @@ -1419,14 +1418,14 @@ void AddBirchSpeechObjects(u8 taskId) gTasks[taskId].tAzurillSpriteId = spriteId; //Create Brendan sprite - spriteId = CreateTrainerSprite(0, 120, 60, 0, ewram); + spriteId = CreateTrainerSprite(0, 120, 60, 0, eBrendanSprite); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; gTasks[taskId].tBrendanSpriteId = spriteId; //Create May sprite - spriteId = CreateTrainerSprite(1, 120, 60, 0, ewram + 0x800); + spriteId = CreateTrainerSprite(1, 120, 60, 0, eMaySprite); gSprites[spriteId].callback = nullsub_34; gSprites[spriteId].invisible = 1; gSprites[spriteId].oam.priority = 0; diff --git a/src/engine/mystery_event_menu.c b/src/engine/mystery_event_menu.c index d70414da4..38912be86 100644 --- a/src/engine/mystery_event_menu.c +++ b/src/engine/mystery_event_menu.c @@ -13,8 +13,7 @@ #include "strings2.h" #include "task.h" #include "text.h" - -extern u8 ewram[]; +#include "ewram.h" static EWRAM_DATA u8 gUnknown_02039338 = 0; diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c index d194c1625..06505c0c2 100644 --- a/src/engine/save_failed_screen.c +++ b/src/engine/save_failed_screen.c @@ -11,6 +11,7 @@ #include "strings.h" #include "task.h" #include "text.h" +#include "ewram.h" // In English 1.0, the text window is too small, causing text to overflow. @@ -22,8 +23,6 @@ #define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) -extern u8 ewram[]; - static EWRAM_DATA u16 gSaveFailedType = 0; static EWRAM_DATA u16 gSaveFailedClockInfo[9] = {0}; diff --git a/src/field/dewford_trend.c b/src/field/dewford_trend.c index 5f4d5abfe..102784066 100644 --- a/src/field/dewford_trend.c +++ b/src/field/dewford_trend.c @@ -7,8 +7,6 @@ #include "text.h" #include "ewram.h" -extern u8 ewram[]; - extern u16 gScriptResult; extern u16 gSpecialVar_0x8004; diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c index e5084da18..a4497295f 100644 --- a/src/field/pokeblock.c +++ b/src/field/pokeblock.c @@ -299,7 +299,7 @@ static bool8 sub_810B6C0(void) case 10: if (MultistepInitMenuWindowContinue()) { - ewram[0x1ffff] = 0; + ewram1FFFF = 0; gMain.state++; } break; @@ -317,7 +317,7 @@ static bool8 sub_810B6C0(void) gMain.state++; break; case 13: - ewram[0x1fffe] = sub_810BA50(0x38, 0x40, 0); + ewram1FFFE = sub_810BA50(0x38, 0x40, 0); gMain.state++; break; case 14: @@ -369,27 +369,27 @@ void sub_810B96C(void) static bool8 sub_810B998(void) { - switch (ewram[0x1ffff]) + switch (ewram1FFFF) { case 0: LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2)); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 1: LZDecompressWram(gMenuPokeblock_Tilemap, gBGTilemapBuffers[2]); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 2: LoadCompressedPalette(gMenuPokeblock_Pal, 0, 0xc0); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 3: LoadCompressedObjectPic(&gUnknown_083F7F74); - ewram[0x1ffff]++; + ewram1FFFF++; break; case 4: LoadCompressedObjectPalette(&gUnknown_083F7F7C); - ewram[0x1ffff] = 0; + ewram1FFFF = 0; return TRUE; } return FALSE; @@ -611,7 +611,7 @@ static void sub_810BDAC(bool8 flag) static void sub_810BF38(bool8 flag) { PlaySE(SE_SELECT); - gSprites[ewram[0x1fffe]].callback = sub_810C8D4; + gSprites[ewram1FFFE].callback = sub_810C8D4; sub_810BDAC(flag); } diff --git a/src/pokemon/learn_move.c b/src/pokemon/learn_move.c index 33252c66b..a47896ea5 100644 --- a/src/pokemon/learn_move.c +++ b/src/pokemon/learn_move.c @@ -16,8 +16,8 @@ #include "strings2.h" #include "task.h" #include "trig.h" +#include "ewram.h" -extern u8 ewram[]; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; extern u8 gTileBuffer[]; @@ -277,7 +277,7 @@ void CB2_InitLearnMove(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sLearnMoveStruct = (struct LearnMoveStruct *)(ewram + 0x17000); + sLearnMoveStruct = eLearnMoveStruct; ClearLearnMoveVars(); sLearnMoveStruct->partyMon = gSpecialVar_0x8004; sub_8133558(); @@ -312,7 +312,7 @@ void sub_81327A4(void) ResetSpriteData(); FreeAllSpritePalettes(); ResetTasks(); - sLearnMoveStruct = (struct LearnMoveStruct *)(ewram + 0x17000); + sLearnMoveStruct = eLearnMoveStruct; sub_8133558(); sLearnMoveStruct->unk2C6 = gSpecialVar_0x8005; SetVBlankCallback(VBlankCB_LearnMove); diff --git a/src/pokemon/pokeblock_feed.c b/src/pokemon/pokeblock_feed.c index b0b710803..5f218a6f6 100644 --- a/src/pokemon/pokeblock_feed.c +++ b/src/pokemon/pokeblock_feed.c @@ -540,7 +540,7 @@ static bool8 TransitionToPokeblockFeedScene(void) case 6: if (MultistepInitMenuWindowContinue()) { - ewram[0x1FFFF] = 0; + ewram1FFFF = 0; gMain.state++; } break; @@ -551,11 +551,11 @@ static bool8 TransitionToPokeblockFeedScene(void) } break; case 8: - ewram[0x1FFFD] = sub_81480B4(); + ewram1FFFD = sub_81480B4(); gMain.state++; break; case 9: - ewram[0x1FFFE] = PokeblockFeed_CreatePokeSprite(&gPlayerParty[gPokeblockMonID]); + ewram1FFFE = PokeblockFeed_CreatePokeSprite(&gPlayerParty[gPokeblockMonID]); gMain.state++; break; case 10: @@ -611,13 +611,13 @@ static bool8 sub_8147B20(struct Pokemon* mon) { u16 species; u32 PiD, TiD; - switch (ewram[0x1FFFF]) + switch (ewram1FFFF) { case 0: species = GetMonData(mon, MON_DATA_SPECIES2); PiD = GetMonData(mon, MON_DATA_PERSONALITY); HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, 0x2000000, gUnknown_081FAF4C[1], species, PiD); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 1: { @@ -629,37 +629,37 @@ static bool8 sub_8147B20(struct Pokemon* mon) palette = GetMonSpritePalStructFromOtIdPersonality(species, TiD, PiD); LoadCompressedObjectPalette(palette); GetMonSpriteTemplate_803C56C(palette->tag, 1); - ewram[0x1FFFF]++; + ewram1FFFF++; } break; case 2: LoadCompressedObjectPic(&gUnknown_083F7F74); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 3: LoadCompressedObjectPalette(&gUnknown_083F7F7C); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 4: LoadCompressedObjectPic(&sUnknown_084121DC); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 5: SetPokeblockFeedSpritePal(gScriptItemId); LoadCompressedObjectPalette(&sPokeblockFeedSpritePal); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 6: LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM)); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 7: LZDecompressVram(gUnknown_08E782FC, (void*)(VRAM + 0xE800)); - ewram[0x1FFFF]++; + ewram1FFFF++; break; case 8: LoadCompressedPalette(gBattleTerrainPalette_BattleTower, 0x20, 0x60); - ewram[0x1FFFF] = 0; + ewram1FFFF = 0; return TRUE; } return FALSE; @@ -684,13 +684,13 @@ static void sub_8147CC8(u8 taskID) sub_81481DC(); break; case 255: - sub_8148108(ewram[0x1FFFD], gTasks[taskID].data[1]); + sub_8148108(ewram1FFFD, gTasks[taskID].data[1]); break; case 269: - ewram[0x1FFFC] = CreatePokeblockSprite(); + ewram1FFFC = CreatePokeblockSprite(); break; case 281: - sub_8148044(ewram[0x1FFFE]); + sub_8148044(ewram1FFFE); break; case 297: gTasks[taskID].func = Task_PrintAtePokeblockText; diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c index 9a92f379d..750a9892a 100644 --- a/src/pokemon/pokemon_1.c +++ b/src/pokemon/pokemon_1.c @@ -9,6 +9,7 @@ #include "sprite.h" #include "string_util.h" #include "text.h" +#include "ewram.h" //Extracts the upper 16 bits of a 32-bit number #define HIHALF(n) (((n) & 0xFFFF0000) >> 16) @@ -16,7 +17,6 @@ //Extracts the lower 16 bits of a 32-bit number #define LOHALF(n) ((n) & 0xFFFF) -extern u8 ewram[]; extern u16 gMoveToLearn; static EWRAM_DATA u8 sLearningMoveTableID = 0; @@ -436,9 +436,9 @@ void CalculateMonStats(struct Pokemon *mon) newMaxHP = (((n + hpEV / 4) * level) / 100) + level + 10; } - ewram[0x160FA] = newMaxHP - oldMaxHP; - if (ewram[0x160FA] == 0) - ewram[0x160FA] = 1; + eStatHp = newMaxHP - oldMaxHP; + if (eStatHp == 0) + eStatHp = 1; SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP); diff --git a/src/pokemon/pokemon_menu.c b/src/pokemon/pokemon_menu.c index 93a3dd797..3a2c12db5 100644 --- a/src/pokemon/pokemon_menu.c +++ b/src/pokemon/pokemon_menu.c @@ -50,7 +50,6 @@ extern u8 gUnknown_0202E8F5; extern u8 gUnknown_0202E8F6; extern u8 gUnknown_02038561; extern u16 gUnknown_0202E8F8; -extern u8 ewram[]; extern void (*gUnknown_03004AE4)(u8 taskID, u16 itemID, TaskFunc func); extern TaskFunc gUnknown_03005CF0; diff --git a/src/rom3.c b/src/rom3.c index 0cd73c44a..ceb7785ac 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -399,16 +399,18 @@ void PrepareBufferDataTransferLink(u8 a, u16 size, u8 *data) gTasks[gUnknown_020238C4].data[12] = gTasks[gUnknown_020238C4].data[14]; gTasks[gUnknown_020238C4].data[14] = 0; } - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14000] = a; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14001] = gActiveBank; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14002] = gBankAttacker; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14003] = gBankTarget; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14004] = r9; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14005] = (r9 & 0x0000FF00) >> 8; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14006] = gAbsentBankFlags; - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14007] = gEffectBank; + + ewram14000arr(0, gTasks[gUnknown_020238C4].data[14]) = a; + ewram14000arr(1, gTasks[gUnknown_020238C4].data[14]) = gActiveBank; + ewram14000arr(2, gTasks[gUnknown_020238C4].data[14]) = gBankAttacker; + ewram14000arr(3, gTasks[gUnknown_020238C4].data[14]) = gBankTarget; + ewram14000arr(4, gTasks[gUnknown_020238C4].data[14]) = r9; + ewram14000arr(5, gTasks[gUnknown_020238C4].data[14]) = (r9 & 0x0000FF00) >> 8; + ewram14000arr(6, gTasks[gUnknown_020238C4].data[14]) = gAbsentBankFlags; + ewram14000arr(7, gTasks[gUnknown_020238C4].data[14]) = gEffectBank; + for (i = 0; i < size; i++) - ewram[gTasks[gUnknown_020238C4].data[14] + 0x14008 + i] = data[i]; + ewram14008arr(i, gTasks[gUnknown_020238C4].data[14]) = data[i]; gTasks[gUnknown_020238C4].data[14] = gTasks[gUnknown_020238C4].data[14] + r9 + 8; } @@ -448,8 +450,8 @@ void sub_800C1A8(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - var = (ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8)) + 8; - SendBlock(bitmask_all_link_players_but_self(), &ewram[gTasks[taskId].data[15] + 0x14000], var); + var = (ewram14004arr(0, gTasks[taskId].data[15]) | (ewram14004arr(1, gTasks[taskId].data[15]) << 8)) + 8; + SendBlock(bitmask_all_link_players_but_self(), &ewram14000arr(0, gTasks[taskId].data[15]), var); gTasks[taskId].data[11]++; } else @@ -462,7 +464,7 @@ void sub_800C1A8(u8 taskId) case 4: if (sub_8007ECC()) { - var = ewram[gTasks[taskId].data[15] + 0x14004] | (ewram[gTasks[taskId].data[15] + 0x14005] << 8); + var = (ewram14004arr(0, gTasks[taskId].data[15]) | (ewram14004arr(1, gTasks[taskId].data[15]) << 8)); gTasks[taskId].data[13] = 1; gTasks[taskId].data[15] = gTasks[taskId].data[15] + var + 8; gTasks[taskId].data[11] = 3; @@ -533,28 +535,28 @@ void sub_800C47C(u8 taskId) gTasks[taskId].data[12] = 0; gTasks[taskId].data[15] = 0; } - r4 = ewram[0x15000 + gTasks[taskId].data[15] + 1]; - r7 = ewram[0x15000 + gTasks[taskId].data[15] + 4] | (ewram[0x15000 + gTasks[taskId].data[15] + 5] << 8); - switch (ewram[0x15000 + gTasks[taskId].data[15] + 0]) + r4 = ewram15000arr(1, gTasks[taskId].data[15]); + r7 = ewram15000arr(4, gTasks[taskId].data[15]) | (ewram15000arr(5, gTasks[taskId].data[15]) << 8); + switch (ewram15000arr(0, gTasks[taskId].data[15])) { case 0: if (gBattleExecBuffer & gBitTable[r4]) return; - memcpy(gBattleBufferA[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferA[r4], &ewram15000arr(8, gTasks[taskId].data[15]), r7); sub_80155A4(r4); if (!(gBattleTypeFlags & BATTLE_TYPE_WILD)) { - gBankAttacker = ewram[0x15000 + gTasks[taskId].data[15] + 2]; - gBankTarget = ewram[0x15000 + gTasks[taskId].data[15] + 3]; - gAbsentBankFlags = ewram[0x15000 + gTasks[taskId].data[15] + 6]; - gEffectBank = ewram[0x15000 + gTasks[taskId].data[15] + 7]; + gBankAttacker = ewram15000arr(2, gTasks[taskId].data[15]); + gBankTarget = ewram15000arr(3, gTasks[taskId].data[15]); + gAbsentBankFlags = ewram15000arr(6, gTasks[taskId].data[15]); + gEffectBank = ewram15000arr(7, gTasks[taskId].data[15]); } break; case 1: - memcpy(gBattleBufferB[r4], &ewram[0x15000 + gTasks[taskId].data[15] + 8], r7); + memcpy(gBattleBufferB[r4], &ewram15000arr(8, gTasks[taskId].data[15]), r7); break; case 2: - r2 = ewram[0x15000 + gTasks[taskId].data[15] + 8]; + r2 = ewram15000arr(8, gTasks[taskId].data[15]); gBattleExecBuffer &= ~(gBitTable[r4] << (r2 * 4)); break; } diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c index 7ffcc5185..b5d36ad1e 100644 --- a/src/scene/berry_blender.c +++ b/src/scene/berry_blender.c @@ -20,6 +20,7 @@ #include "menu_cursor.h" #include "trig.h" #include "pokeblock.h" +#include "ewram.h" //needed to match Blender_ControlHitPitch struct MusicPlayerInfo @@ -207,7 +208,6 @@ extern void de_sub_8073110(); extern struct MusicPlayerInfo gMPlay_SE2; extern struct MusicPlayerInfo gMPlay_BGM; -extern u8 ewram[]; extern u16 gScriptItemId; extern u8 gUnknown_020297ED; extern u8 byte_3002A68; @@ -828,7 +828,7 @@ static bool8 sub_804E2EC(void) switch (gBerryBlenderData->field_1) { case 0: - LZDecompressWram(gUnknown_08E6C100, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C100, ewram10000); gBerryBlenderData->field_1++; break; case 1: @@ -843,7 +843,7 @@ static bool8 sub_804E2EC(void) break; case 2: { - void* offsetRead = &ewram[0x10000]; + void* offsetRead = ewram10000; void* offsetWrite = (void*)(VRAM); u32 size = 0x2000; while (TRUE) @@ -862,16 +862,16 @@ static bool8 sub_804E2EC(void) } break; case 3: - LZDecompressWram(gUnknown_08E6C920, &ewram[0x10000]); + LZDecompressWram(gUnknown_08E6C920, ewram10000); gBerryBlenderData->field_1++; break; case 4: - LZDecompressWram(gUnknown_08E6D354, &ewram[0x13000]); + LZDecompressWram(gUnknown_08E6D354, ewram13000); gBerryBlenderData->field_1++; break; case 5: { - void* offsetRead = &ewram[0x10000]; + void* offsetRead = ewram10000; void* offsetWrite = (void*)(VRAM + 0xE000); DmaCopy16(3, offsetRead, offsetWrite, 0x1000); @@ -880,7 +880,7 @@ static bool8 sub_804E2EC(void) break; case 6: { - void* offsetRead = &ewram[0x11000]; + void* offsetRead = ewram11000; void* offsetWrite = (void*)(VRAM + 0xF000); DmaCopy16(3, offsetRead, offsetWrite, 0x1000); @@ -890,7 +890,7 @@ static bool8 sub_804E2EC(void) case 7: { u16 i; - u16* palStore = (u16*)(&ewram[0x13000]); + u16* palStore = (u16*)(ewram13000); void* offsetRead; void* offsetWrite; @@ -898,7 +898,7 @@ static bool8 sub_804E2EC(void) { *(palStore + i) |= 0x100; } - offsetRead = &ewram[0x13000]; + offsetRead = ewram13000; offsetWrite = (void*)(VRAM + 0x6000); DmaCopy16(3, offsetRead, offsetWrite, 0x500); LoadPalette(sBlenderOuterPal, 0x80, 0x20); @@ -937,7 +937,7 @@ void sub_804E538(void) { u8* field6F; //this temp value is needed to match - gBerryBlenderData = (struct BerryBlenderData*)(&ewram[0x18000]); + gBerryBlenderData = eBerryBlenderData; field6F = &gBerryBlenderData->field_6F; gBerryBlenderData->field_0 = 0; @@ -1111,7 +1111,7 @@ void sub_804E990(void) s32 i; REG_DISPCNT = 0; - gBerryBlenderData = (struct BerryBlenderData*)(&ewram[0x18000]); + gBerryBlenderData = eBerryBlenderData; gBerryBlenderData->field_0 = 0; gBerryBlenderData->field_134 = 0; for (i = 0; i < BLENDER_MAX_PLAYERS; i++) diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c index 928b59760..9df2d56da 100644 --- a/src/scene/contest_painting.c +++ b/src/scene/contest_painting.c @@ -12,8 +12,7 @@ #include "strings.h" #include "text.h" #include "unknown_task.h" - -extern u8 ewram[]; +#include "ewram.h" static u8 gUnknown_03000750; static u16 gUnknown_03000752; @@ -184,15 +183,15 @@ static void ShowContestPainting(void) case 2: SeedRng(gMain.vblankCounter1); InitKeys(); - ContestPaintingInitWindow(ewram[0x15DDF]); + ContestPaintingInitWindow(ewram15DDF); gMain.state++; break; case 3: - sub_8107090(ewram[0x15DDE], ewram[0x15DDF]); + sub_8107090(ewram15DDE, ewram15DDF); gMain.state++; break; case 4: - ContestPaintingPrintCaption(ewram[0x15DDE], ewram[0x15DDF]); + ContestPaintingPrintCaption(ewram15DDE, ewram15DDF); LoadPalette(gUnknown_083F6140, 0, 1 * 2); DmaClear32(3, PLTT, 0x400); BeginFastPaletteFade(2); diff --git a/src/scene/egg_hatch.c b/src/scene/egg_hatch.c index 032dcd284..d363e4bcd 100644 --- a/src/scene/egg_hatch.c +++ b/src/scene/egg_hatch.c @@ -20,8 +20,8 @@ #include "trig.h" #include "rng.h" #include "trade.h" +#include "ewram.h" -extern u8 ewram[]; extern struct SpriteTemplate gUnknown_02024E8C; struct EggHatchData @@ -416,7 +416,7 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID) { u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 pid = GetMonData(mon, MON_DATA_PERSONALITY); - HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset,(u32)(&ewram[0]), gUnknown_081FAF4C[2 * a0 + 1], species, pid); + HandleLoadSpecialPokePic(&gMonFrontPicTable[species], gMonFrontPicCoords[species].coords, gMonFrontPicCoords[species].y_offset, ewram0_6, gUnknown_081FAF4C[2 * a0 + 1], species, pid); LoadCompressedObjectPalette(GetMonSpritePalStruct(mon)); } break; @@ -460,7 +460,7 @@ static void CB2_EggHatch_0(void) { case 0: REG_DISPCNT = 0; - gEggHatchData = (struct EggHatchData*)(&ewram[0x18000]); + gEggHatchData = eEggHatchData; gEggHatchData->eggPartyID = gSpecialVar_0x8004; gEggHatchData->eggShardVelocityID = 0; ResetTasks(); @@ -479,8 +479,8 @@ static void CB2_EggHatch_0(void) break; case 2: LZDecompressVram(&gUnknown_08D00000, (void*)(VRAM)); - CpuSet(&gUnknown_08D00524, &ewram[0], 0x800); - DmaCopy16(3, &ewram[0], (void*)(VRAM + 0x2800), 0x500); + CpuSet(&gUnknown_08D00524, ewram0_7, 0x800); + DmaCopy16(3, ewram0_7, (void*)(VRAM + 0x2800), 0x500); LoadCompressedPalette(&gUnknown_08D004E0, 0, 0x20); gMain.state++; break; diff --git a/src/scene/hall_of_fame.c b/src/scene/hall_of_fame.c index 6f7df576b..72bd051da 100644 --- a/src/scene/hall_of_fame.c +++ b/src/scene/hall_of_fame.c @@ -17,10 +17,10 @@ #include "decompress.h" #include "rng.h" #include "trig.h" +#include "ewram.h" static EWRAM_DATA u32 sUnknown_0203931C = 0; -extern u8 ewram[]; extern bool8 gUnknown_02039324; // has hall of fame records extern void (*gGameContinueCallback)(void); extern struct MusicPlayerInfo gMPlay_BGM; @@ -156,69 +156,69 @@ static const struct OamData sOamData_840B598 = void* const gUnknown_0840B5A0[] = { - &ewram[0x08000], - &ewram[0x0A000], - &ewram[0x0C000], - &ewram[0x0E000], - &ewram[0x10000], - &ewram[0x14000], - &ewram[0x18000] + ewram8000, + ewramA000, + ewramC000, + ewramE000, + ewram10000, + ewram14000, + ewram18000_2 }; static const struct SpriteFrameImage sSpriteImageTable_840B5BC[] = { - {&ewram[0x8000], 0x800}, - {&ewram[0x8800], 0x800}, - {&ewram[0x9000], 0x800}, - {&ewram[0x9800], 0x800} + {ewram8000, 0x800}, + {ewram8800, 0x800}, + {ewram9000, 0x800}, + {ewram9800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B5DC[] = { - {&ewram[0xA000], 0x800}, - {&ewram[0xA800], 0x800}, - {&ewram[0xB000], 0x800}, - {&ewram[0xB800], 0x800} + {ewramA000, 0x800}, + {ewramA800, 0x800}, + {ewramB000, 0x800}, + {ewramB800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B5FC[] = { - {&ewram[0xC000], 0x800}, - {&ewram[0xC800], 0x800}, - {&ewram[0xD000], 0x800}, - {&ewram[0xD800], 0x800} + {ewramC000, 0x800}, + {ewramC800, 0x800}, + {ewramD000, 0x800}, + {ewramD800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B61C[] = { - {&ewram[0xE000], 0x800}, - {&ewram[0xE800], 0x800}, - {&ewram[0xF000], 0x800}, - {&ewram[0xF800], 0x800} + {ewramE000, 0x800}, + {ewramE800, 0x800}, + {ewramF000, 0x800}, + {ewramF800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B63C[] = { - {&ewram[0x10000], 0x800}, - {&ewram[0x10800], 0x800}, - {&ewram[0x11000], 0x800}, - {&ewram[0x11800], 0x800} + {ewram10000, 0x800}, + {ewram10800, 0x800}, + {ewram11000, 0x800}, + {ewram11800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B65C[] = { - {&ewram[0x14000], 0x800}, - {&ewram[0x14800], 0x800}, - {&ewram[0x15000], 0x800}, - {&ewram[0x15800], 0x800} + {ewram14000, 0x800}, + {ewram14800, 0x800}, + {ewram15000, 0x800}, + {ewram15800, 0x800} }; static const struct SpriteFrameImage sSpriteImageTable_840B67C[] = { - {&ewram[0x18000], 0x800}, - {&ewram[0x18800], 0x800}, - {&ewram[0x19000], 0x800}, - {&ewram[0x19800], 0x800} + {ewram18000_2, 0x800}, + {ewram18800, 0x800}, + {ewram19000, 0x800}, + {ewram19800, 0x800} }; static const struct SpriteFrameImage* const sUnknown_0840B69C[7] = @@ -486,7 +486,7 @@ static void sub_8141FC4(void) static void sub_8141FF8(u8 taskID) { u16 i, j; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; gTasks[taskID].tPokesNumber = 0; // valid pokes for (i = 0; i < 6; i++) @@ -530,13 +530,13 @@ static void sub_8141FF8(u8 taskID) static void sub_814217C(u8 taskID) { u16 i; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); - struct HallofFameMons* lastSavedTeam = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; + struct HallofFameMons* lastSavedTeam = eHallOfFameMons2; if (gUnknown_02039324 == FALSE) { for (i = 0; i < 0x2000; i++) - ewram[i + 0x1E000] = 0; + ewram1E000(i) = 0; } else sub_8125EC8(3); @@ -548,8 +548,8 @@ static void sub_814217C(u8 taskID) } if (i >= HALL_OF_FAME_MAX_TEAMS) { - struct HallofFameMons* r5 = (struct HallofFameMons*)(&ewram[0x1E000]); - struct HallofFameMons* r6 = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* r5 = eHallOfFameMons2; + struct HallofFameMons* r6 = eHallOfFameMons2; r5++; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS - 1; i++, r6++, r5++) { @@ -592,7 +592,7 @@ static void sub_8142320(u8 taskID) u8 spriteID; s16 xPos, yPos, field4, field6; - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -623,7 +623,7 @@ static void sub_8142320(u8 taskID) static void sub_8142404(u8 taskID) { - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -639,7 +639,7 @@ static void sub_8142404(u8 taskID) static void sub_8142484(u8 taskID) { - struct HallofFameMons* fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + struct HallofFameMons* fameMons = eHallOfFameMons1; u16 currPokeID = gTasks[taskID].tDisplayedPoke; struct HallofFameMon* currMon = &fameMons->mons[currPokeID]; @@ -808,7 +808,7 @@ void sub_81428CC(void) REG_BLDY = 0; sub_81435B8(); - fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + fameMons = eHallOfFameMons1; fameMons->mons[0] = sDummyFameMon; sub_80C5CD4(fameMons); @@ -847,7 +847,7 @@ static void sub_8142A28(u8 taskID) u16 *vram1, *vram2; u16 i; - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; for (i = 0; i < HALL_OF_FAME_MAX_TEAMS; i++, savedTeams++) { if (savedTeams->mons[0].species == 0) @@ -872,7 +872,7 @@ static void sub_8142A28(u8 taskID) static void sub_8142B04(u8 taskID) { - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; struct HallofFameMon* currMon; u16 i; u8* stringPtr; @@ -937,7 +937,7 @@ static void sub_8142B04(u8 taskID) static void sub_8142CC8(u8 taskID) { - struct HallofFameMons* savedTeams = (struct HallofFameMons*)(&ewram[0x1E000]); + struct HallofFameMons* savedTeams = eHallOfFameMons2; struct HallofFameMon* currMon; u16 i; u16 currMonID; @@ -1025,7 +1025,7 @@ static void sub_8142F78(u8 taskID) struct HallofFameMons* fameMons; CpuSet(gPlttBufferFaded, gPlttBufferUnfaded, 0x200); - fameMons = (struct HallofFameMons*)(&ewram[0x1C000]); + fameMons = eHallOfFameMons1; fameMons->mons[0] = sDummyFameMon; sub_80C5E38(fameMons); gTasks[taskID].func = sub_8142FCC; @@ -1258,7 +1258,7 @@ static void sub_81433E0(void) *((u16*)(VRAM + 0x3000) + i) = 2; } - offsetWrite4 = (u32)(&ewram[0]); + offsetWrite4 = ewram0_6; size4 = 0x4000; while (TRUE) { diff --git a/src/scene/intro.c b/src/scene/intro.c index af9b565a3..04173b86a 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1207,6 +1207,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId) gTasks[taskId].func = Task_IntroLoadPart3Streaks; } +// TODO: use ewram define instead extern u8 ewram[][32]; static void Task_IntroLoadPart3Streaks(u8 taskId) |