summaryrefslogtreecommitdiff
path: root/src/scene
diff options
context:
space:
mode:
Diffstat (limited to 'src/scene')
-rw-r--r--src/scene/berry_blender.c26
-rw-r--r--src/scene/contest_painting.c22
-rw-r--r--src/scene/credits.c233
-rw-r--r--src/scene/egg_hatch.c10
-rw-r--r--src/scene/evolution_scene.c234
-rw-r--r--src/scene/hall_of_fame.c102
-rw-r--r--src/scene/intro.c17
7 files changed, 412 insertions, 232 deletions
diff --git a/src/scene/berry_blender.c b/src/scene/berry_blender.c
index 7ffcc5185..398f62833 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++)
@@ -3710,7 +3710,7 @@ static void sub_80527BC(void)
gUnknown_020297E0 = 0;
gUnknown_020297DC = 2;
for (i = 0; i < 200; i++)
- ewram[i] = 0;
+ gSharedMem[i] = 0;
gUnknown_020297E8 = 0;
}
for (i = 0; i < 100; i++)
@@ -3719,7 +3719,7 @@ static void sub_80527BC(void)
gUnknown_020297E0++;
else
{
- u16* ewramPtr = ((u16*)(ewram));
+ u16* ewramPtr = ((u16*)(gSharedMem));
ewramPtr[gUnknown_020297E4] = gUnknown_020297E0;
gUnknown_020297E4++;
gUnknown_020297E0 = 0;
diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c
index 3662efdec..2600076c3 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 unk_2000000[];
+#include "ewram.h"
static u8 gUnknown_03000750;
static u16 gUnknown_03000752;
@@ -26,9 +25,6 @@ u8 gUnknown_03005E40[0x4C];
struct ContestEntry *gUnknown_03005E8C;
u16 (*gUnknown_03005E90)[];
-extern struct ContestEntry unk_2015de0;
-extern struct Unk2015E00 unk_2015e00;
-
static const u16 gPictureFramePalettes[][16] =
{
INCBIN_U16("graphics/picture_frame/bg0.gbapal"),
@@ -113,7 +109,7 @@ void sub_8106630(u32 arg0)
{
asm(".syntax unified\n\
push {r4-r7,lr}\n\
- ldr r2, _0810665C @ =0x02015de0\n\
+ ldr r2, _0810665C @ =gSharedMem + 0x15DE0\n\
subs r4, r2, 0x2\n\
subs r5, r2, 0x1\n\
ldr r3, _08106660 @ =gSaveBlock1\n\
@@ -135,7 +131,7 @@ void sub_8106630(u32 arg0)
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_0810665C: .4byte 0x02015de0\n\
+_0810665C: .4byte gSharedMem + 0x15DE0\n\
_08106660: .4byte gSaveBlock1\n\
_08106664: .4byte 0x00002dfc\n\
.syntax divided\n");
@@ -153,7 +149,7 @@ static void ShowContestPainting(void)
case 0:
remove_some_task();
SetVBlankCallback(NULL);
- gUnknown_03005E8C = &unk_2015de0;
+ gUnknown_03005E8C = &ewram15DE0;
ContestPaintingInitVars(TRUE);
ContestPaintingInitBG();
gMain.state++;
@@ -184,15 +180,15 @@ static void ShowContestPainting(void)
case 2:
SeedRng(gMain.vblankCounter1);
InitKeys();
- ContestPaintingInitWindow(unk_2000000[0x15DDF]);
+ ContestPaintingInitWindow(ewram15DDF);
gMain.state++;
break;
case 3:
- sub_8107090(unk_2000000[0x15DDE], unk_2000000[0x15DDF]);
+ sub_8107090(ewram15DDE, ewram15DDF);
gMain.state++;
break;
case 4:
- ContestPaintingPrintCaption(unk_2000000[0x15DDE], unk_2000000[0x15DDF]);
+ ContestPaintingPrintCaption(ewram15DDE, ewram15DDF);
LoadPalette(gUnknown_083F6140, 0, 1 * 2);
DmaClear32(3, PLTT, 0x400);
BeginFastPaletteFade(2);
@@ -753,8 +749,8 @@ static u8 sub_8106EE0(u8 arg0)
static void sub_8106F4C(void)
{
- gUnknown_03005E90 = &unk_2015e00.unk2017e00;
- gUnknown_03005E10 = &unk_2015e00.unk2015e00;
+ gUnknown_03005E90 = &ewram15E00.unk2017e00;
+ gUnknown_03005E10 = &ewram15E00.unk2015e00;
}
static void sub_8106F6C(u8 arg0)
diff --git a/src/scene/credits.c b/src/scene/credits.c
index cf10137c1..077fc5e0d 100644
--- a/src/scene/credits.c
+++ b/src/scene/credits.c
@@ -16,6 +16,7 @@
#include "starter_choose.h"
#include "task.h"
#include "trig.h"
+#include "ewram.h"
asm(".set REG_BASE, 0x4000000");
asm(".set OFFSET_REG_BLDCNT, 0x50");
@@ -159,21 +160,11 @@ struct Unk201C000
struct CreditsEntry
{
u8 var_0;
- u8 *text;
+ const u8 *text;
};
-extern u8 ewram[];
-
-#define EWRAM_1F800 ((u16 *)(ewram + 0x1F800))
-#define HALL_OF_FAME_SHEET_0 ((u8 *)(ewram + 0x1E000))
-#define HALL_OF_FAME_SHEET_1 ((u8 *)(ewram + 0x1E800))
-#define HALL_OF_FAME_SHEET_2 ((u8 *)(ewram + 0x1F000))
-#define ewram1c000 (*(struct Unk201C000 *)(ewram + 0x1C000))
-
-extern struct HallOfFame gHallOfFame;
extern u8 unk_201e800[0x800];
extern u8 unk_201f000[0x800];
-extern u16 unk_201f800[];
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -194,18 +185,208 @@ extern void *gUnknown_0840B5A0[];
// data/credits
const u16 gUnknown_0840B7BC[] = INCBIN_U16("graphics/credits/palette_1.gbapal");
const u8 gUnknown_0840B7FC[] = INCBIN_U8("graphics/credits/ampersand.4bpp");
-extern u8 gUnknown_0840B83C[];
-extern u8 gUnknown_0840B84B[];
-extern u8 gUnknown_0840B85A[];
-extern u8 gUnknown_0840B869[];
-extern u8 gUnknown_0840B878[];
-extern struct CreditsEntry *gCreditsEntryPointerTable[][5];
-extern u8 gUnknown_0840CA00[][2];
-extern struct SpriteSheet gUnknown_0840CAA0;
-extern struct SpritePalette gUnknown_0840CAB0;
-extern const union AnimCmd *const gSpriteAnimTable_0840CA54[];
-extern const union AnimCmd *const gSpriteAnimTable_0840CA94[];
-extern struct SpriteTemplate gSpriteTemplate_840CAEC;
+
+void spritecb_814580C(struct Sprite *sprite);
+
+const u8 gUnknown_0840B83C[] =
+{
+ 0, 1, 0,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+};
+
+const u8 gUnknown_0840B84B[] =
+{
+ 1, 0xFF, 1,
+ 1, 0xFF, 1,
+ 1, 2, 1,
+ 1, 0xFF, 1,
+ 1, 0xFF, 1,
+};
+
+const u8 gUnknown_0840B85A[] =
+{
+ 1, 0, 0,
+ 1, 0xFF, 0xFF,
+ 1, 2, 2,
+ 1, 0xFF, 0xFF,
+ 1, 0x80, 0x80,
+};
+
+const u8 gUnknown_0840B869[] =
+{
+ 1, 3, 1,
+ 1, 4, 1,
+ 1, 5, 1,
+ 1, 0xC4, 1,
+ 1, 0xC3, 1,
+};
+
+const u8 gUnknown_0840B878[] =
+{
+ 1, 6, 7,
+ 1, 8, 9,
+ 1, 0xFF, 1,
+ 1, 0x88, 0x89,
+ 1, 0x86, 0x87,
+#ifdef GERMAN
+ 1, 0, 0,
+ 1, 0xFF, 0xFF,
+ 1, 0x80, 0x8A,
+ 1, 0xFF, 0xFF,
+ 1, 0xFF, 0xFF,
+ 0, 1, 0,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0xFF, 1, 0xFF,
+ 0x80, 1, 0x80,
+#endif
+};
+
+#ifdef GERMAN
+#include "../data/credits_de.h"
+#else
+#include "../data/credits_en.h"
+#endif
+
+const u8 gUnknown_0840CA00[][2] =
+{
+ {104, 36},
+ {120, 36},
+ {136, 36},
+};
+
+static const union AnimCmd gSpriteAnim_840CA08[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_FRAME(192, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gSpriteAnim_840CA1C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(128, 4),
+ ANIMCMD_FRAME(192, 4),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gSpriteAnim_840CA30[] =
+{
+ ANIMCMD_FRAME(256, 4),
+ ANIMCMD_FRAME(320, 4),
+ ANIMCMD_FRAME(384, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_840CA40[] =
+{
+ ANIMCMD_FRAME(384, 30),
+ ANIMCMD_FRAME(320, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_FRAME(256, 30),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_0840CA54[] =
+{
+ gSpriteAnim_840CA08,
+ gSpriteAnim_840CA1C,
+ gSpriteAnim_840CA30,
+ gSpriteAnim_840CA40,
+};
+
+static const union AnimCmd gSpriteAnim_840CA64[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_FRAME(192, 8),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gSpriteAnim_840CA78[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_FRAME(64, 4),
+ ANIMCMD_FRAME(128, 4),
+ ANIMCMD_FRAME(192, 4),
+ ANIMCMD_JUMP(0),
+};
+
+static const union AnimCmd gSpriteAnim_840CA8C[] =
+{
+ ANIMCMD_FRAME(0, 4),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_0840CA94[] =
+{
+ gSpriteAnim_840CA64,
+ gSpriteAnim_840CA78,
+ gSpriteAnim_840CA8C,
+};
+
+static const struct SpriteSheet gUnknown_0840CAA0[] = {{ewram1E000_2, 6144, 1001}, {0}};
+static const struct SpritePalette gUnknown_0840CAB0[] = {{ewram_1F800_2, 1001}, {0}};
+
+static const struct OamData gOamData_840CAC0 =
+{
+ .y = 160,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 3,
+ .tileNum = 0,
+ .priority = 1,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+static const union AnimCmd gSpriteAnim_840CAC8[] =
+{
+ ANIMCMD_FRAME(0, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_840CAD0[] =
+{
+ ANIMCMD_FRAME(64, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd gSpriteAnim_840CAD8[] =
+{
+ ANIMCMD_FRAME(128, 8),
+ ANIMCMD_END,
+};
+
+static const union AnimCmd *const gSpriteAnimTable_840CAE0[] =
+{
+ gSpriteAnim_840CAC8,
+ gSpriteAnim_840CAD0,
+ gSpriteAnim_840CAD8,
+};
+
+static const struct SpriteTemplate gSpriteTemplate_840CAEC =
+{
+ .tileTag = 1001,
+ .paletteTag = 1001,
+ .oam = &gOamData_840CAC0,
+ .anims = gSpriteAnimTable_840CAE0,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = spritecb_814580C,
+};
// graphics
extern u8 gCreditsCopyrightEnd_Gfx[];
@@ -441,8 +622,8 @@ void task_a_8143D04(u8 taskIdA)
EWRAM_1F800[2] = 0x529F; // light red
EWRAM_1F800[3] = 0x7E94; // light blue
- LoadSpriteSheet(&gUnknown_0840CAA0);
- LoadSpritePalette(&gUnknown_0840CAB0);
+ LoadSpriteSheet(gUnknown_0840CAA0);
+ LoadSpritePalette(gUnknown_0840CAB0);
gMain.state += 1;
break;
@@ -1160,7 +1341,7 @@ u16 sub_8145208(u8 arg0)
return out;
}
-void sub_814524C(u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette)
+void sub_814524C(const u8 arg0[], u8 baseX, u8 baseY, u16 arg3, u16 palette)
{
u8 y, x;
const u16 tileOffset = (palette / 16) << 12;
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/evolution_scene.c b/src/scene/evolution_scene.c
index 24168dc56..755176c81 100644
--- a/src/scene/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -24,6 +24,7 @@
#include "pokemon_summary_screen.h"
#include "menu_cursor.h"
#include "strings2.h"
+#include "ewram.h"
struct EvoInfo
{
@@ -55,8 +56,6 @@ struct EvoInfo
u8 unkA0C4; // 0x201E8C4
};
-#define sEvoInfo ((*(struct EvoInfo*)(ewram + 0x14800)))
-
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
void sub_8024CEC(void);
void sub_8023A80(void);
@@ -78,7 +77,6 @@ extern u8 gBattleTerrain;
extern u8 gReservedSpritePaletteCount;
extern u16 gMoveToLearn;
extern struct SpriteTemplate gUnknown_02024E8C;
-extern u8 gUnk_2009000[]; // won't match if I 'ewram' it
extern bool8 gAffineAnimsDisabled;
extern u8 gDisplayedStringBattle[];
extern u8 gBattleTextBuff2[];
@@ -276,7 +274,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
gTasks[ID].tEvoWasStopped = FALSE;
gTasks[ID].tPartyID = partyID;
- memcpy(gUnk_2009000, &gPlttBufferUnfaded[0x20], 0x60);
+ memcpy(ewram9000_hack, &gPlttBufferUnfaded[0x20], 0x60);
REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP;
SetHBlankCallback(EvoDummyFunc);
@@ -639,7 +637,7 @@ static void Task_EvolutionScene(u8 taskID)
{
m4aMPlayAllStop();
PlayCry1(gTasks[taskID].tPostEvoSpecies, 0);
- memcpy(&gPlttBufferUnfaded[0x20], gUnk_2009000, 0x60);
+ memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60);
BeginNormalPaletteFade(0x1C, 0, 0x10, 0, 0);
gTasks[taskID].tState++;
}
@@ -981,7 +979,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
if (IsSEPlaying())
{
PlayCry1(gTasks[taskID].tPostEvoSpecies, 0);
- memcpy(&gPlttBufferUnfaded[0x20], gUnk_2009000, 0x60);
+ memcpy(&gPlttBufferUnfaded[0x20], ewram9000_hack, 0x60);
BeginNormalPaletteFade(1, 0, 0x10, 0, 0);
gTasks[taskID].tState++;
}
@@ -1522,7 +1520,7 @@ __attribute__((naked))
void unref_sub_8113B50()
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
+ push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
@@ -1536,7 +1534,7 @@ void unref_sub_8113B50()
str r1, [sp, 0x10]\n\
movs r2, 0\n\
str r2, [sp, 0x8]\n\
- ldr r3, _08113C60 @ =0x02014800\n\
+ ldr r3, _08113C60 @ =gSharedMem + 0x14800\n\
mov r12, r3\n\
ldr r4, _08113C64 @ =0x000018c4\n\
add r4, r12\n\
@@ -1553,7 +1551,7 @@ _08113B7C:\n\
adds r0, r3, 0x4\n\
adds r0, r1, r0\n\
strb r2, [r0]\n\
- ldr r4, _08113C6C @ =0x02014844\n\
+ ldr r4, _08113C6C @ =gSharedMem + 0x14844\n\
adds r0, r1, r4\n\
strb r2, [r0]\n\
movs r6, 0\n\
@@ -1564,7 +1562,7 @@ _08113B7C:\n\
_08113B9C:\n\
mov r0, r9\n\
adds r1, r6, r0\n\
- ldr r5, _08113C70 @ =0x020158c4\n\
+ ldr r5, _08113C70 @ =gSharedMem + 0x158C4\n\
adds r0, r1, r5\n\
strb r2, [r0]\n\
mov r5, r10\n\
@@ -1573,7 +1571,7 @@ _08113B9C:\n\
mov r5, r8\n\
adds r0, r1, r5\n\
strb r2, [r0]\n\
- ldr r5, _08113C74 @ =0x020170c4\n\
+ ldr r5, _08113C74 @ =gSharedMem + 0x170C4\n\
adds r0, r1, r5\n\
strb r2, [r0]\n\
adds r7, r3, 0\n\
@@ -1654,7 +1652,7 @@ _08113C4A:\n\
asrs r0, r6, 1\n\
lsls r0, 2\n\
add r0, r10\n\
- ldr r1, _08113C98 @ =0x020188c4\n\
+ ldr r1, _08113C98 @ =gSharedMem + 0x188C4\n\
adds r0, r1\n\
str r2, [r0]\n\
cmp r3, 0\n\
@@ -1663,12 +1661,12 @@ _08113C4A:\n\
beq _08113CC6\n\
b _08113CF4\n\
.align 2, 0\n\
-_08113C60: .4byte 0x02014800\n\
+_08113C60: .4byte gSharedMem + 0x14800\n\
_08113C64: .4byte 0x000018c4\n\
_08113C68: .4byte 0x000020c4\n\
-_08113C6C: .4byte 0x02014844\n\
-_08113C70: .4byte 0x020158c4\n\
-_08113C74: .4byte 0x020170c4\n\
+_08113C6C: .4byte gSharedMem + 0x14844\n\
+_08113C70: .4byte gSharedMem + 0x158C4\n\
+_08113C74: .4byte gSharedMem + 0x170C4\n\
_08113C78: .4byte 0x000008c4\n\
_08113C7C: .4byte 0x000030c4\n\
_08113C80: .4byte 0x000038c4\n\
@@ -1677,7 +1675,7 @@ _08113C88: .4byte 0x000070c4\n\
_08113C8C: .4byte 0x000080c4\n\
_08113C90: .4byte 0x000090c4\n\
_08113C94: .4byte 0x0000a0c4\n\
-_08113C98: .4byte 0x020188c4\n\
+_08113C98: .4byte gSharedMem + 0x188C4\n\
_08113C9C:\n\
movs r0, 0x1\n\
ands r0, r6\n\
@@ -1784,7 +1782,7 @@ _08113D4A:\n\
mov r8, r2\n\
movs r3, 0\n\
str r3, [sp, 0x8]\n\
- ldr r0, _08113D84 @ =0x02014844\n\
+ ldr r0, _08113D84 @ =gSharedMem + 0x14844\n\
movs r4, 0x82\n\
lsls r4, 6\n\
adds r4, r0\n\
@@ -1811,7 +1809,7 @@ _08113D78:\n\
beq _08113DB4\n\
b _08113DE4\n\
.align 2, 0\n\
-_08113D84: .4byte 0x02014844\n\
+_08113D84: .4byte gSharedMem + 0x14844\n\
_08113D88:\n\
adds r0, r6, 0\n\
mov r1, r9\n\
@@ -1917,9 +1915,9 @@ _08113E28:\n\
str r1, [sp, 0x8]\n\
_08113E3A:\n\
ldr r3, [sp, 0x8]\n\
- ldr r4, _08113EBC @ =0x02014804\n\
+ ldr r4, _08113EBC @ =gSharedMem + 0x14804\n\
adds r2, r3, r4\n\
- ldr r5, _08113EC0 @ =0x02014844\n\
+ ldr r5, _08113EC0 @ =gSharedMem + 0x14844\n\
adds r1, r3, r5\n\
ldrb r0, [r2]\n\
adds r3, 0x1\n\
@@ -1934,7 +1932,7 @@ _08113E52:\n\
ldrb r2, [r2]\n\
cmp r0, r2\n\
bge _08113F54\n\
- ldr r0, _08113EC4 @ =0x02014800\n\
+ ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\
adds r0, 0x4\n\
ldr r1, [sp, 0x8]\n\
adds r0, r1, r0\n\
@@ -1945,7 +1943,7 @@ _08113E66:\n\
str r2, [sp, 0x14]\n\
movs r6, 0\n\
ldr r3, [sp, 0x8]\n\
- ldr r4, _08113EC0 @ =0x02014844\n\
+ ldr r4, _08113EC0 @ =gSharedMem + 0x14844\n\
adds r0, r3, r4\n\
ldr r5, [sp, 0xC]\n\
adds r5, 0x1\n\
@@ -1953,18 +1951,18 @@ _08113E66:\n\
ldrb r0, [r0]\n\
cmp r6, r0\n\
bge _08113F3E\n\
- ldr r0, _08113EC4 @ =0x02014800\n\
+ ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\
mov r10, r0\n\
lsls r0, r3, 5\n\
ldr r2, [sp, 0xC]\n\
adds r1, r2, r0\n\
mov r9, r0\n\
- ldr r0, _08113EC4 @ =0x02014800\n\
+ ldr r0, _08113EC4 @ =gSharedMem + 0x14800\n\
adds r0, 0xC4\n\
mov r3, r9\n\
adds r7, r3, r0\n\
mov r5, r9\n\
- ldr r4, _08113EC4 @ =0x02014800\n\
+ ldr r4, _08113EC4 @ =gSharedMem + 0x14800\n\
ldr r2, _08113EC8 @ =0x000010c4\n\
adds r0, r4, r2\n\
adds r1, r0\n\
@@ -1984,9 +1982,9 @@ _08113EA4:\n\
ldrb r0, [r0]\n\
b _08113ED6\n\
.align 2, 0\n\
-_08113EBC: .4byte 0x02014804\n\
-_08113EC0: .4byte 0x02014844\n\
-_08113EC4: .4byte 0x02014800\n\
+_08113EBC: .4byte gSharedMem + 0x14804\n\
+_08113EC0: .4byte gSharedMem + 0x14844\n\
+_08113EC4: .4byte gSharedMem + 0x14800\n\
_08113EC8: .4byte 0x000010c4\n\
_08113ECC: .4byte 0x000020c4\n\
_08113ED0:\n\
@@ -2004,7 +2002,7 @@ _08113ED6:\n\
add r0, r10\n\
adds r2, r5, r0\n\
ldrb r0, [r4]\n\
- ldr r1, _08113F04 @ =0x02014800\n\
+ ldr r1, _08113F04 @ =gSharedMem + 0x14800\n\
mov r12, r1\n\
ldrb r1, [r2]\n\
cmp r0, r1\n\
@@ -2015,7 +2013,7 @@ _08113ED6:\n\
.align 2, 0\n\
_08113EFC: .4byte 0x000018c4\n\
_08113F00: .4byte 0x000028c4\n\
-_08113F04: .4byte 0x02014800\n\
+_08113F04: .4byte gSharedMem + 0x14800\n\
_08113F08:\n\
ldrb r1, [r2]\n\
ldrb r0, [r4]\n\
@@ -2041,7 +2039,7 @@ _08113F2C:\n\
adds r5, 0x1\n\
adds r6, 0x1\n\
ldr r3, [sp, 0x8]\n\
- ldr r4, _08114054 @ =0x02014844\n\
+ ldr r4, _08114054 @ =gSharedMem + 0x14844\n\
adds r0, r3, r4\n\
ldrb r0, [r0]\n\
cmp r6, r0\n\
@@ -2059,9 +2057,9 @@ _08113F3E:\n\
blt _08113E66\n\
_08113F54:\n\
movs r6, 0\n\
- ldr r2, _08114058 @ =0x02014800\n\
+ ldr r2, _08114058 @ =gSharedMem + 0x14800\n\
ldr r1, [sp, 0x8]\n\
- ldr r3, _08114054 @ =0x02014844\n\
+ ldr r3, _08114054 @ =gSharedMem + 0x14844\n\
adds r0, r1, r3\n\
adds r4, r2, 0\n\
mov r12, r4\n\
@@ -2092,15 +2090,15 @@ _08113F6E:\n\
bl sub_811430C\n\
_08113F94:\n\
adds r6, 0x1\n\
- ldr r2, _08114058 @ =0x02014800\n\
+ ldr r2, _08114058 @ =gSharedMem + 0x14800\n\
ldrb r5, [r4]\n\
cmp r6, r5\n\
blt _08113F6E\n\
_08113F9E:\n\
ldr r0, [sp, 0x8]\n\
- ldr r1, _0811405C @ =0x02014804\n\
+ ldr r1, _0811405C @ =gSharedMem + 0x14804\n\
adds r2, r0, r1\n\
- ldr r3, _08114054 @ =0x02014844\n\
+ ldr r3, _08114054 @ =gSharedMem + 0x14844\n\
adds r1, r0, r3\n\
ldrb r0, [r2]\n\
ldrb r1, [r1]\n\
@@ -2122,12 +2120,12 @@ _08113FBA:\n\
blt _08113FBA\n\
_08113FCC:\n\
ldr r0, [sp, 0x8]\n\
- ldr r1, _0811405C @ =0x02014804\n\
+ ldr r1, _0811405C @ =gSharedMem + 0x14804\n\
adds r2, r0, r1\n\
- ldr r3, _08114054 @ =0x02014844\n\
+ ldr r3, _08114054 @ =gSharedMem + 0x14844\n\
adds r1, r0, r3\n\
ldrb r0, [r2]\n\
- ldr r4, _08114058 @ =0x02014800\n\
+ ldr r4, _08114058 @ =gSharedMem + 0x14800\n\
ldrb r5, [r1]\n\
cmp r0, r5\n\
bhi _08113FE2\n\
@@ -2167,16 +2165,16 @@ _08114004:\n\
ldr r2, [sp, 0x24]\n\
adds r1, r2\n\
mov r10, r1\n\
- ldr r0, _08114058 @ =0x02014800\n\
+ ldr r0, _08114058 @ =gSharedMem + 0x14800\n\
adds r0, 0xC4\n\
adds r2, r0\n\
mov r8, r2\n\
ldr r7, [sp, 0x24]\n\
- ldr r3, _08114058 @ =0x02014800\n\
+ ldr r3, _08114058 @ =gSharedMem + 0x14800\n\
ldr r4, _08114060 @ =0x000010c4\n\
adds r0, r3, r4\n\
adds r5, r7, r0\n\
- ldr r0, _08114064 @ =0x020168c4\n\
+ ldr r0, _08114064 @ =gSharedMem + 0x168C4\n\
add r0, r10\n\
mov r12, r0\n\
ldrb r1, [r0]\n\
@@ -2192,22 +2190,22 @@ _0811403E:\n\
b _0811406E\n\
.align 2, 0\n\
_08114050: .4byte 0x000008c4\n\
-_08114054: .4byte 0x02014844\n\
-_08114058: .4byte 0x02014800\n\
-_0811405C: .4byte 0x02014804\n\
+_08114054: .4byte gSharedMem + 0x14844\n\
+_08114058: .4byte gSharedMem + 0x14800\n\
+_0811405C: .4byte gSharedMem + 0x14804\n\
_08114060: .4byte 0x000010c4\n\
-_08114064: .4byte 0x020168c4\n\
+_08114064: .4byte gSharedMem + 0x168C4\n\
_08114068:\n\
mov r4, r12\n\
ldrb r1, [r4]\n\
ldrb r0, [r5]\n\
_0811406E:\n\
subs r3, r1, r0\n\
- ldr r1, _0811408C @ =0x02014800\n\
+ ldr r1, _0811408C @ =gSharedMem + 0x14800\n\
ldr r2, _08114090 @ =0x000018c4\n\
adds r0, r1, r2\n\
adds r4, r7, r0\n\
- ldr r2, _08114094 @ =0x020170c4\n\
+ ldr r2, _08114094 @ =gSharedMem + 0x170C4\n\
add r2, r10\n\
ldrb r0, [r4]\n\
ldrb r1, [r2]\n\
@@ -2217,9 +2215,9 @@ _0811406E:\n\
ldrb r0, [r2]\n\
b _0811409C\n\
.align 2, 0\n\
-_0811408C: .4byte 0x02014800\n\
+_0811408C: .4byte gSharedMem + 0x14800\n\
_08114090: .4byte 0x000018c4\n\
-_08114094: .4byte 0x020170c4\n\
+_08114094: .4byte gSharedMem + 0x170C4\n\
_08114098:\n\
ldrb r1, [r2]\n\
ldrb r0, [r4]\n\
@@ -2248,25 +2246,25 @@ _081140B2:\n\
_081140C4:\n\
ldr r3, [sp, 0xC]\n\
add r3, r9\n\
- ldr r2, _08114164 @ =0x02014800\n\
+ ldr r2, _08114164 @ =gSharedMem + 0x14800\n\
ldr r4, _08114168 @ =0x000030c4\n\
adds r1, r2, r4\n\
adds r1, r3, r1\n\
ldr r2, [sp, 0x10]\n\
add r2, r9\n\
- ldr r5, _0811416C @ =0x020168c4\n\
+ ldr r5, _0811416C @ =gSharedMem + 0x168C4\n\
adds r0, r2, r5\n\
ldrb r0, [r0]\n\
strb r0, [r1]\n\
- ldr r0, _08114164 @ =0x02014800\n\
+ ldr r0, _08114164 @ =gSharedMem + 0x14800\n\
ldr r4, _08114170 @ =0x000038c4\n\
adds r1, r0, r4\n\
adds r1, r3, r1\n\
- ldr r5, _08114174 @ =0x020170c4\n\
+ ldr r5, _08114174 @ =gSharedMem + 0x170C4\n\
adds r2, r5\n\
ldrb r0, [r2]\n\
strb r0, [r1]\n\
- ldr r0, _08114164 @ =0x02014800\n\
+ ldr r0, _08114164 @ =gSharedMem + 0x14800\n\
adds r0, 0xC4\n\
adds r3, r0\n\
movs r0, 0x1\n\
@@ -2280,9 +2278,9 @@ _081140C4:\n\
b _08114004\n\
_08114104:\n\
movs r6, 0\n\
- ldr r4, _08114164 @ =0x02014800\n\
+ ldr r4, _08114164 @ =gSharedMem + 0x14800\n\
ldr r2, [sp, 0x8]\n\
- ldr r3, _08114178 @ =0x02014804\n\
+ ldr r3, _08114178 @ =gSharedMem + 0x14804\n\
adds r0, r2, r3\n\
ldrb r0, [r0]\n\
cmp r6, r0\n\
@@ -2327,12 +2325,12 @@ _0811411E:\n\
bl sub_81141F0\n\
b _081141B4\n\
.align 2, 0\n\
-_08114164: .4byte 0x02014800\n\
+_08114164: .4byte gSharedMem + 0x14800\n\
_08114168: .4byte 0x000030c4\n\
-_0811416C: .4byte 0x020168c4\n\
+_0811416C: .4byte gSharedMem + 0x168C4\n\
_08114170: .4byte 0x000038c4\n\
-_08114174: .4byte 0x020170c4\n\
-_08114178: .4byte 0x02014804\n\
+_08114174: .4byte gSharedMem + 0x170C4\n\
+_08114178: .4byte gSharedMem + 0x14804\n\
_0811417C: .4byte 0x000020c4\n\
_08114180: .4byte 0x000028c4\n\
_08114184:\n\
@@ -2361,9 +2359,9 @@ _08114184:\n\
bl sub_81141F0\n\
_081141B4:\n\
adds r6, 0x1\n\
- ldr r4, _081141E8 @ =0x02014800\n\
+ ldr r4, _081141E8 @ =gSharedMem + 0x14800\n\
ldr r1, [sp, 0x8]\n\
- ldr r2, _081141EC @ =0x02014804\n\
+ ldr r2, _081141EC @ =gSharedMem + 0x14804\n\
adds r0, r1, r2\n\
ldrb r0, [r0]\n\
cmp r6, r0\n\
@@ -2386,8 +2384,8 @@ _081141CE:\n\
.align 2, 0\n\
_081141E0: .4byte 0x000010c4\n\
_081141E4: .4byte 0x000018c4\n\
-_081141E8: .4byte 0x02014800\n\
-_081141EC: .4byte 0x02014804\n\
+_081141E8: .4byte gSharedMem + 0x14800\n\
+_081141EC: .4byte gSharedMem + 0x14804\n\
.syntax divided");
}
@@ -2455,7 +2453,7 @@ void unref_sub_81143CC()
sub sp, 0x14\n\
movs r0, 0x1\n\
str r0, [sp, 0x4]\n\
- ldr r0, _08114408 @ =0x02014800\n\
+ ldr r0, _08114408 @ =gSharedMem + 0x14800\n\
ldr r2, _0811440C @ =0x0000a0c4\n\
adds r1, r0, r2\n\
ldrb r3, [r1]\n\
@@ -2478,7 +2476,7 @@ _081143F2:\n\
str r1, [sp, 0x8]\n\
bl _08114D84\n\
.align 2, 0\n\
-_08114408: .4byte 0x02014800\n\
+_08114408: .4byte gSharedMem + 0x14800\n\
_0811440C: .4byte 0x0000a0c4\n\
_08114410:\n\
ldr r5, [sp]\n\
@@ -2585,7 +2583,7 @@ _081144EC: .4byte 0x000020c4\n\
_081144F0:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r4, _08114568 @ =0x02014800\n\
+ ldr r4, _08114568 @ =gSharedMem + 0x14800\n\
lsls r0, r3, 1\n\
ldr r5, [sp]\n\
lsls r1, r5, 6\n\
@@ -2645,7 +2643,7 @@ _08114548:\n\
blt _0811453E\n\
b _081148D2\n\
.align 2, 0\n\
-_08114568: .4byte 0x02014800\n\
+_08114568: .4byte gSharedMem + 0x14800\n\
_0811456C: .4byte 0x000060c4\n\
_08114570: .4byte 0x000080c4\n\
_08114574: .4byte 0x000030c4\n\
@@ -2719,7 +2717,7 @@ _081145FC: .4byte 0x000020c4\n\
_08114600:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r4, _08114678 @ =0x02014800\n\
+ ldr r4, _08114678 @ =gSharedMem + 0x14800\n\
lsls r0, r3, 1\n\
ldr r5, [sp]\n\
lsls r1, r5, 6\n\
@@ -2779,7 +2777,7 @@ _08114658:\n\
blt _0811464E\n\
b _081148D2\n\
.align 2, 0\n\
-_08114678: .4byte 0x02014800\n\
+_08114678: .4byte gSharedMem + 0x14800\n\
_0811467C: .4byte 0x000060c4\n\
_08114680: .4byte 0x000080c4\n\
_08114684: .4byte 0x000030c4\n\
@@ -2787,7 +2785,7 @@ _08114688: .4byte 0x000020c4\n\
_0811468C:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r5, _081146C0 @ =0x02014800\n\
+ ldr r5, _081146C0 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _081146C4 @ =0x000030c4\n\
@@ -2812,12 +2810,12 @@ _081146B4:\n\
strb r1, [r0]\n\
b _081148D2\n\
.align 2, 0\n\
-_081146C0: .4byte 0x02014800\n\
+_081146C0: .4byte gSharedMem + 0x14800\n\
_081146C4: .4byte 0x000030c4\n\
_081146C8:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _081146FC @ =0x02014800\n\
+ ldr r5, _081146FC @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114700 @ =0x000030c4\n\
@@ -2842,12 +2840,12 @@ _081146F0:\n\
strb r1, [r0]\n\
b _081148D2\n\
.align 2, 0\n\
-_081146FC: .4byte 0x02014800\n\
+_081146FC: .4byte gSharedMem + 0x14800\n\
_08114700: .4byte 0x000030c4\n\
_08114704:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _08114738 @ =0x02014800\n\
+ ldr r5, _08114738 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _0811473C @ =0x000030c4\n\
@@ -2872,12 +2870,12 @@ _0811472C:\n\
strb r1, [r0]\n\
b _081148D2\n\
.align 2, 0\n\
-_08114738: .4byte 0x02014800\n\
+_08114738: .4byte gSharedMem + 0x14800\n\
_0811473C: .4byte 0x000030c4\n\
_08114740:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _08114774 @ =0x02014800\n\
+ ldr r5, _08114774 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114778 @ =0x000030c4\n\
@@ -2902,12 +2900,12 @@ _08114768:\n\
strb r1, [r0]\n\
b _081148D2\n\
.align 2, 0\n\
-_08114774: .4byte 0x02014800\n\
+_08114774: .4byte gSharedMem + 0x14800\n\
_08114778: .4byte 0x000030c4\n\
_0811477C:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r6, _081147B4 @ =0x02014800\n\
+ ldr r6, _081147B4 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r5, r3, r0\n\
ldr r1, _081147B8 @ =0x000030c4\n\
@@ -2933,7 +2931,7 @@ _0811477C:\n\
strb r4, [r0]\n\
b _08114844\n\
.align 2, 0\n\
-_081147B4: .4byte 0x02014800\n\
+_081147B4: .4byte gSharedMem + 0x14800\n\
_081147B8: .4byte 0x000030c4\n\
_081147BC: .4byte 0x000020c4\n\
_081147C0:\n\
@@ -2948,7 +2946,7 @@ _081147C0:\n\
_081147D0:\n\
movs r1, 0\n\
str r1, [sp, 0x4]\n\
- ldr r6, _08114804 @ =0x02014800\n\
+ ldr r6, _08114804 @ =gSharedMem + 0x14800\n\
mov r2, r8\n\
adds r5, r3, r2\n\
ldr r0, _08114808 @ =0x000030c4\n\
@@ -2972,13 +2970,13 @@ _081147D0:\n\
movs r1, 0x2\n\
b _08114842\n\
.align 2, 0\n\
-_08114804: .4byte 0x02014800\n\
+_08114804: .4byte gSharedMem + 0x14800\n\
_08114808: .4byte 0x000030c4\n\
_0811480C: .4byte 0x000020c4\n\
_08114810:\n\
movs r0, 0\n\
str r0, [sp, 0x4]\n\
- ldr r6, _0811484C @ =0x02014800\n\
+ ldr r6, _0811484C @ =gSharedMem + 0x14800\n\
mov r1, r8\n\
adds r5, r3, r1\n\
ldr r2, _08114850 @ =0x000030c4\n\
@@ -3007,13 +3005,13 @@ _08114844:\n\
mov r10, r5\n\
b _081148D2\n\
.align 2, 0\n\
-_0811484C: .4byte 0x02014800\n\
+_0811484C: .4byte gSharedMem + 0x14800\n\
_08114850: .4byte 0x000030c4\n\
_08114854: .4byte 0x000020c4\n\
_08114858:\n\
movs r0, 0\n\
str r0, [sp, 0x4]\n\
- ldr r6, _08114894 @ =0x02014800\n\
+ ldr r6, _08114894 @ =gSharedMem + 0x14800\n\
mov r1, r8\n\
adds r5, r3, r1\n\
ldr r2, _08114898 @ =0x000030c4\n\
@@ -3042,7 +3040,7 @@ _08114882:\n\
mov r10, r4\n\
b _081148D2\n\
.align 2, 0\n\
-_08114894: .4byte 0x02014800\n\
+_08114894: .4byte gSharedMem + 0x14800\n\
_08114898: .4byte 0x000030c4\n\
_0811489C: .4byte 0x000020c4\n\
_081148A0:\n\
@@ -3075,7 +3073,7 @@ _081148C4:\n\
adds r2, r3, 0x1\n\
mov r10, r2\n\
_081148D2:\n\
- ldr r0, _081148F4 @ =0x02014800\n\
+ ldr r0, _081148F4 @ =gSharedMem + 0x14800\n\
mov r4, r8\n\
adds r1, r3, r4\n\
ldr r5, _081148F8 @ =0x000008c4\n\
@@ -3093,7 +3091,7 @@ _081148E8:\n\
ldr r0, [r0]\n\
mov pc, r0\n\
.align 2, 0\n\
-_081148F4: .4byte 0x02014800\n\
+_081148F4: .4byte gSharedMem + 0x14800\n\
_081148F8: .4byte 0x000008c4\n\
_081148FC: .4byte _08114900\n\
.align 2, 0\n\
@@ -3179,7 +3177,7 @@ _081149B4: .4byte 0x000028c4\n\
_081149B8:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r4, _08114A28 @ =0x02014800\n\
+ ldr r4, _08114A28 @ =gSharedMem + 0x14800\n\
lsls r0, r3, 1\n\
ldr r5, [sp]\n\
lsls r1, r5, 6\n\
@@ -3235,7 +3233,7 @@ _08114A0C:\n\
blt _08114A02\n\
b _08114D76\n\
.align 2, 0\n\
-_08114A28: .4byte 0x02014800\n\
+_08114A28: .4byte gSharedMem + 0x14800\n\
_08114A2C: .4byte 0x000070c4\n\
_08114A30: .4byte 0x000090c4\n\
_08114A34: .4byte 0x000038c4\n\
@@ -3308,7 +3306,7 @@ _08114ABC: .4byte 0x000028c4\n\
_08114AC0:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r4, _08114B30 @ =0x02014800\n\
+ ldr r4, _08114B30 @ =gSharedMem + 0x14800\n\
lsls r0, r3, 1\n\
ldr r5, [sp]\n\
lsls r1, r5, 6\n\
@@ -3364,7 +3362,7 @@ _08114B14:\n\
blt _08114B0A\n\
b _08114D76\n\
.align 2, 0\n\
-_08114B30: .4byte 0x02014800\n\
+_08114B30: .4byte gSharedMem + 0x14800\n\
_08114B34: .4byte 0x000070c4\n\
_08114B38: .4byte 0x000090c4\n\
_08114B3C: .4byte 0x000038c4\n\
@@ -3372,7 +3370,7 @@ _08114B40: .4byte 0x000028c4\n\
_08114B44:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r5, _08114B70 @ =0x02014800\n\
+ ldr r5, _08114B70 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114B74 @ =0x000038c4\n\
@@ -3392,13 +3390,13 @@ _08114B64:\n\
movs r1, 0x9\n\
b _08114D74\n\
.align 2, 0\n\
-_08114B70: .4byte 0x02014800\n\
+_08114B70: .4byte gSharedMem + 0x14800\n\
_08114B74: .4byte 0x000038c4\n\
_08114B78: .4byte 0x000008c4\n\
_08114B7C:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _08114BA8 @ =0x02014800\n\
+ ldr r5, _08114BA8 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114BAC @ =0x000038c4\n\
@@ -3418,13 +3416,13 @@ _08114B9C:\n\
movs r1, 0xA\n\
b _08114D74\n\
.align 2, 0\n\
-_08114BA8: .4byte 0x02014800\n\
+_08114BA8: .4byte gSharedMem + 0x14800\n\
_08114BAC: .4byte 0x000038c4\n\
_08114BB0: .4byte 0x000008c4\n\
_08114BB4:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _08114BE0 @ =0x02014800\n\
+ ldr r5, _08114BE0 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114BE4 @ =0x000038c4\n\
@@ -3444,13 +3442,13 @@ _08114BD4:\n\
movs r1, 0xB\n\
b _08114D74\n\
.align 2, 0\n\
-_08114BE0: .4byte 0x02014800\n\
+_08114BE0: .4byte gSharedMem + 0x14800\n\
_08114BE4: .4byte 0x000038c4\n\
_08114BE8: .4byte 0x000008c4\n\
_08114BEC:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r5, _08114C18 @ =0x02014800\n\
+ ldr r5, _08114C18 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r4, r3, r0\n\
ldr r1, _08114C1C @ =0x000038c4\n\
@@ -3470,13 +3468,13 @@ _08114C0C:\n\
movs r1, 0xC\n\
b _08114D74\n\
.align 2, 0\n\
-_08114C18: .4byte 0x02014800\n\
+_08114C18: .4byte gSharedMem + 0x14800\n\
_08114C1C: .4byte 0x000038c4\n\
_08114C20: .4byte 0x000008c4\n\
_08114C24:\n\
movs r4, 0\n\
str r4, [sp, 0x4]\n\
- ldr r6, _08114C58 @ =0x02014800\n\
+ ldr r6, _08114C58 @ =gSharedMem + 0x14800\n\
mov r0, r8\n\
adds r5, r3, r0\n\
ldr r1, _08114C5C @ =0x000038c4\n\
@@ -3500,7 +3498,7 @@ _08114C24:\n\
strb r5, [r0]\n\
b _08114D76\n\
.align 2, 0\n\
-_08114C58: .4byte 0x02014800\n\
+_08114C58: .4byte gSharedMem + 0x14800\n\
_08114C5C: .4byte 0x000038c4\n\
_08114C60: .4byte 0x000028c4\n\
_08114C64: .4byte 0x000008c4\n\
@@ -3515,7 +3513,7 @@ _08114C74: .4byte 0x000008c4\n\
_08114C78:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r6, _08114CA8 @ =0x02014800\n\
+ ldr r6, _08114CA8 @ =gSharedMem + 0x14800\n\
mov r4, r8\n\
adds r5, r3, r4\n\
ldr r0, _08114CAC @ =0x000038c4\n\
@@ -3537,14 +3535,14 @@ _08114C78:\n\
movs r1, 0x2\n\
b _08114D74\n\
.align 2, 0\n\
-_08114CA8: .4byte 0x02014800\n\
+_08114CA8: .4byte gSharedMem + 0x14800\n\
_08114CAC: .4byte 0x000038c4\n\
_08114CB0: .4byte 0x000028c4\n\
_08114CB4: .4byte 0x000008c4\n\
_08114CB8:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r6, _08114CE8 @ =0x02014800\n\
+ ldr r6, _08114CE8 @ =gSharedMem + 0x14800\n\
mov r4, r8\n\
adds r5, r3, r4\n\
ldr r0, _08114CEC @ =0x000038c4\n\
@@ -3566,14 +3564,14 @@ _08114CB8:\n\
movs r1, 0x3\n\
b _08114D74\n\
.align 2, 0\n\
-_08114CE8: .4byte 0x02014800\n\
+_08114CE8: .4byte gSharedMem + 0x14800\n\
_08114CEC: .4byte 0x000038c4\n\
_08114CF0: .4byte 0x000028c4\n\
_08114CF4: .4byte 0x000008c4\n\
_08114CF8:\n\
movs r2, 0\n\
str r2, [sp, 0x4]\n\
- ldr r6, _08114D2C @ =0x02014800\n\
+ ldr r6, _08114D2C @ =gSharedMem + 0x14800\n\
mov r4, r8\n\
adds r5, r3, r4\n\
ldr r0, _08114D30 @ =0x000038c4\n\
@@ -3598,7 +3596,7 @@ _08114D1E:\n\
strb r4, [r0]\n\
b _08114D76\n\
.align 2, 0\n\
-_08114D2C: .4byte 0x02014800\n\
+_08114D2C: .4byte gSharedMem + 0x14800\n\
_08114D30: .4byte 0x000038c4\n\
_08114D34: .4byte 0x000028c4\n\
_08114D38: .4byte 0x000008c4\n\
@@ -3635,7 +3633,7 @@ _08114D74:\n\
strb r1, [r0]\n\
_08114D76:\n\
mov r3, r10\n\
- ldr r2, _08114DB0 @ =0x02014800\n\
+ ldr r2, _08114DB0 @ =gSharedMem + 0x14800\n\
adds r0, r2, 0\n\
adds r0, 0x84\n\
ldr r4, [sp]\n\
@@ -3664,7 +3662,7 @@ _08114D9A:\n\
bx r1\n\
.align 2, 0\n\
_08114DAC: .4byte 0x000008c4\n\
-_08114DB0: .4byte 0x02014800\n\
+_08114DB0: .4byte gSharedMem + 0x14800\n\
.syntax divided");
}
@@ -3703,7 +3701,7 @@ void sub_8114E48()
adds r4, r0, 0\n\
lsls r1, 24\n\
lsrs r6, r1, 24\n\
- ldr r1, _08114E6C @ =0x02014800\n\
+ ldr r1, _08114E6C @ =gSharedMem + 0x14800\n\
ldr r2, _08114E70 @ =0x0000a0c4\n\
adds r0, r1, r2\n\
ldrb r0, [r0]\n\
@@ -3719,7 +3717,7 @@ _08114E60:\n\
movs r1, 0x1\n\
b _08114EA6\n\
.align 2, 0\n\
-_08114E6C: .4byte 0x02014800\n\
+_08114E6C: .4byte gSharedMem + 0x14800\n\
_08114E70: .4byte 0x0000a0c4\n\
_08114E74:\n\
subs r0, r4, 0x1\n\
@@ -3831,7 +3829,7 @@ _08114F26:\n\
beq _08114F7C\n\
subs r0, r4, 0x1\n\
lsls r5, r0, 7\n\
- ldr r0, _08114F68 @ =0x020188c4\n\
+ ldr r0, _08114F68 @ =gSharedMem + 0x188C4\n\
mov r12, r0\n\
_08114F42:\n\
asrs r0, r3, 1\n\
@@ -3854,7 +3852,7 @@ _08114F5E:\n\
b _08114FCA\n\
.align 2, 0\n\
_08114F64: .4byte 0x000008c4\n\
-_08114F68: .4byte 0x020188c4\n\
+_08114F68: .4byte gSharedMem + 0x188C4\n\
_08114F6C:\n\
ldrb r1, [r1]\n\
movs r0, 0xF\n\
@@ -3874,7 +3872,7 @@ _08114F7C:\n\
beq _08114FC8\n\
adds r0, r4, 0x1\n\
lsls r5, r0, 7\n\
- ldr r6, _08114FB0 @ =0x020188c4\n\
+ ldr r6, _08114FB0 @ =gSharedMem + 0x188C4\n\
adds r2, r1, 0\n\
_08114F90:\n\
asrs r0, r3, 1\n\
@@ -3893,7 +3891,7 @@ _08114F90:\n\
beq _08114FBE\n\
b _08114F5E\n\
.align 2, 0\n\
-_08114FB0: .4byte 0x020188c4\n\
+_08114FB0: .4byte gSharedMem + 0x188C4\n\
_08114FB4:\n\
ldrb r1, [r1]\n\
movs r0, 0xF\n\
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 a6dd23c92..03a573c90 100644
--- a/src/scene/intro.c
+++ b/src/scene/intro.c
@@ -20,6 +20,7 @@
#include "title_screen.h"
#include "trig.h"
#include "unknown_task.h"
+#include "ewram.h"
extern struct SpriteTemplate gUnknown_02024E8C;
extern u16 gUnknown_02039358;
@@ -765,7 +766,11 @@ const struct SpritePalette gIntro3MiscPal_Table[] =
{gIntro3Misc2Palette, 2004},
{NULL},
};
-const u32 unusedData = 0x02000000;
+
+// Game Freak probably used the raw address here.
+// Treating this like a u8 * causes the compiler
+// to remove it at link time.
+const u32 unusedSharedMemPtr = (u32)gSharedMem;
static void MainCB2_EndIntro(void);
void Task_IntroLoadPart1Graphics(u8);
@@ -1207,7 +1212,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId)
gTasks[taskId].func = Task_IntroLoadPart3Streaks;
}
-extern u8 unk_2000000[][32];
+//extern u8 gSharedMem[][32];
static void Task_IntroLoadPart3Streaks(u8 taskId)
{
@@ -1217,12 +1222,12 @@ static void Task_IntroLoadPart3Streaks(u8 taskId)
intro_reset_and_hide_bgs();
for (i = 0; i < 32; i++)
{
- unk_2000000[0][i] = 0;
- unk_2000000[1][i] = 17;
- unk_2000000[2][i] = 34;
+ ewram0arr[0][i] = 0;
+ ewram0arr[1][i] = 17;
+ ewram0arr[2][i] = 34;
}
vram = (void *)VRAM;
- DmaCopy16(3, unk_2000000, vram, 0x60);
+ DmaCopy16(3, gSharedMem, vram, 0x60);
for (i = 0; i < 0x280; i++)
((u16 *)(VRAM + 0x3000))[i] = 0xF001;
for (i = 0; i < 0x80; i++)