summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-11-11 12:53:51 -0800
committerGitHub <noreply@github.com>2017-11-11 12:53:51 -0800
commit999c4d59793e761ca71ab7b27272de46d78de138 (patch)
treee92c7c464611db96d956a97f033f9f4d63d23493 /src
parented8c51dd404287c6355ba75dc4b9e2944d80e1d9 (diff)
parent4b1db681ea1e6a3b1e2d1c28699a94cb1393dc88 (diff)
Merge pull request #455 from ProjectRevoTPP/remove_pointers
eliminate remaining pointers from dissassembly
Diffstat (limited to 'src')
-rw-r--r--src/battle/battle_4.c282
-rw-r--r--src/battle/battle_7.c16
-rw-r--r--src/battle/battle_ai.c10
-rw-r--r--src/battle/battle_anim.c8
-rw-r--r--src/battle/battle_interface.c44
-rwxr-xr-xsrc/data/credits_de.h624
-rwxr-xr-xsrc/data/credits_en.h654
-rw-r--r--src/de_rom_8040FE0.c4
-rw-r--r--src/engine/decompress.c3
-rw-r--r--src/engine/trade.c4
-rw-r--r--src/engine/trainer_card.c12
-rw-r--r--src/field/party_menu.c16
-rw-r--r--src/field/shop.c2
-rw-r--r--src/field/slot_machine.c9
-rw-r--r--src/pokemon/pokedex.c159
-rw-r--r--src/scene/contest_painting.c4
-rw-r--r--src/scene/credits.c222
-rw-r--r--src/scene/evolution_scene.c224
-rw-r--r--src/scene/intro.c16
19 files changed, 1893 insertions, 420 deletions
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index d7ca298c3..6f3be7804 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -265,7 +265,7 @@ extern u8 gUnknown_081D9468[];
#define TARGET_TURN_DAMAGED (((gSpecialStatuses[gBankTarget].moveturnLostHP_physical || gSpecialStatuses[gBankTarget].moveturnLostHP_physical.moveturnLostHP_special)))
-#define HP_ON_SWITCHOUT (((u16*)(0x020160bc)))
+#define HP_ON_SWITCHOUT (((u16*)(ewram_addr + 0x160BC)))
static void atk00_attackcanceler(void);
static void atk01_accuracycheck(void);
@@ -2773,21 +2773,21 @@ void SetMoveEffect(bool8 primary, u8 certainArg)
ands r0, r3\n\
strb r0, [r7, 0x3]\n\
movs r6, 0x40\n\
- ldr r0, _0801E43C @ =0x02000000\n\
+ ldr r0, _0801E43C @ =gSharedMem\n\
ldr r1, _0801E440 @ =gBankTarget\n\
b _0801E450\n\
.align 2, 0\n\
_0801E430: .4byte gBattleCommunication\n\
_0801E434: .4byte gEffectBank\n\
_0801E438: .4byte gBankAttacker\n\
-_0801E43C: .4byte 0x02000000\n\
+_0801E43C: .4byte gSharedMem\n\
_0801E440: .4byte gBankTarget\n\
_0801E444:\n\
ldr r2, _0801E538 @ =gEffectBank\n\
ldr r0, _0801E53C @ =gBankTarget\n\
ldrb r0, [r0]\n\
strb r0, [r2]\n\
- ldr r0, _0801E540 @ =0x02000000\n\
+ ldr r0, _0801E540 @ =gSharedMem\n\
ldr r1, _0801E544 @ =gBankAttacker\n\
_0801E450:\n\
ldrb r1, [r1]\n\
@@ -2911,7 +2911,7 @@ _0801E536:\n\
.align 2, 0\n\
_0801E538: .4byte gEffectBank\n\
_0801E53C: .4byte gBankTarget\n\
-_0801E540: .4byte 0x02000000\n\
+_0801E540: .4byte gSharedMem\n\
_0801E544: .4byte gBankAttacker\n\
_0801E548: .4byte 0x00016003\n\
_0801E54C: .4byte gBattleMons\n\
@@ -3654,7 +3654,7 @@ _0801EAFA:\n\
beq _0801EB14\n\
bl _0801F5FA\n\
_0801EB14:\n\
- ldr r0, _0801EB30 @ =0x02000000\n\
+ ldr r0, _0801EB30 @ =gSharedMem\n\
ldrb r1, [r7, 0x3]\n\
ldr r2, _0801EB34 @ =0x000160ca\n\
adds r0, r2\n\
@@ -3666,7 +3666,7 @@ _0801EB14:\n\
bl _0801F4F2\n\
.align 2, 0\n\
_0801EB2C: .4byte gBattleCommunication\n\
-_0801EB30: .4byte 0x02000000\n\
+_0801EB30: .4byte gSharedMem\n\
_0801EB34: .4byte 0x000160ca\n\
_0801EB38: .4byte gHitMarker\n\
_0801EB3C:\n\
@@ -4075,7 +4075,7 @@ _0801EEE8:\n\
ldr r0, [r2]\n\
orrs r0, r1\n\
str r0, [r2]\n\
- ldr r2, _0801EF80 @ =0x02000000\n\
+ ldr r2, _0801EF80 @ =gSharedMem\n\
mov r3, r8\n\
ldrb r0, [r3]\n\
lsls r0, 1\n\
@@ -4140,7 +4140,7 @@ _0801EF70:\n\
bne _0801EF60\n\
b _0801F5FA\n\
.align 2, 0\n\
-_0801EF80: .4byte 0x02000000\n\
+_0801EF80: .4byte gSharedMem\n\
_0801EF84: .4byte 0x00016004\n\
_0801EF88: .4byte gCurrentMove\n\
_0801EF8C: .4byte 0x00016005\n\
@@ -4197,7 +4197,7 @@ _0801EFEC:\n\
beq _0801F008\n\
b _0801F5DC\n\
_0801F008:\n\
- ldr r2, _0801F02C @ =0x02000000\n\
+ ldr r2, _0801F02C @ =gSharedMem\n\
ldrb r1, [r7, 0x3]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
@@ -4214,7 +4214,7 @@ _0801F008:\n\
ldr r0, _0801F03C @ =BattleScript_StatUp\n\
b _0801F5F8\n\
.align 2, 0\n\
-_0801F02C: .4byte 0x02000000\n\
+_0801F02C: .4byte gSharedMem\n\
_0801F030: .4byte 0x000160a4\n\
_0801F034: .4byte 0x000160a5\n\
_0801F038: .4byte gBattlescriptCurrInstr\n\
@@ -4235,7 +4235,7 @@ _0801F040:\n\
beq _0801F05E\n\
b _0801F5DC\n\
_0801F05E:\n\
- ldr r2, _0801F080 @ =0x02000000\n\
+ ldr r2, _0801F080 @ =gSharedMem\n\
ldrb r1, [r7, 0x3]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
@@ -4252,7 +4252,7 @@ _0801F05E:\n\
ldr r0, _0801F090 @ =BattleScript_StatDown\n\
b _0801F5F8\n\
.align 2, 0\n\
-_0801F080: .4byte 0x02000000\n\
+_0801F080: .4byte gSharedMem\n\
_0801F084: .4byte 0x000160a4\n\
_0801F088: .4byte 0x000160a5\n\
_0801F08C: .4byte gBattlescriptCurrInstr\n\
@@ -4272,7 +4272,7 @@ _0801F094:\n\
beq _0801F0B0\n\
b _0801F5DC\n\
_0801F0B0:\n\
- ldr r2, _0801F0D4 @ =0x02000000\n\
+ ldr r2, _0801F0D4 @ =gSharedMem\n\
ldrb r1, [r7, 0x3]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
@@ -4289,7 +4289,7 @@ _0801F0B0:\n\
ldr r0, _0801F0E4 @ =BattleScript_StatUp\n\
b _0801F5F8\n\
.align 2, 0\n\
-_0801F0D4: .4byte 0x02000000\n\
+_0801F0D4: .4byte gSharedMem\n\
_0801F0D8: .4byte 0x000160a4\n\
_0801F0DC: .4byte 0x000160a5\n\
_0801F0E0: .4byte gBattlescriptCurrInstr\n\
@@ -4310,7 +4310,7 @@ _0801F0E8:\n\
beq _0801F106\n\
b _0801F5DC\n\
_0801F106:\n\
- ldr r2, _0801F128 @ =0x02000000\n\
+ ldr r2, _0801F128 @ =gSharedMem\n\
ldrb r1, [r7, 0x3]\n\
movs r0, 0x3F\n\
ands r0, r1\n\
@@ -4327,7 +4327,7 @@ _0801F106:\n\
ldr r0, _0801F138 @ =BattleScript_StatDown\n\
b _0801F5F8\n\
.align 2, 0\n\
-_0801F128: .4byte 0x02000000\n\
+_0801F128: .4byte gSharedMem\n\
_0801F12C: .4byte 0x000160a4\n\
_0801F130: .4byte 0x000160a5\n\
_0801F134: .4byte gBattlescriptCurrInstr\n\
@@ -4515,7 +4515,7 @@ _0801F2B0:\n\
b _0801F5DC\n\
_0801F2B6:\n\
lsls r0, r1, 1\n\
- ldr r5, _0801F344 @ =0x020160f0\n\
+ ldr r5, _0801F344 @ =gSharedMem + 0x160F0\n\
adds r0, r5\n\
ldr r1, _0801F348 @ =gLastUsedItem\n\
strh r2, [r0]\n\
@@ -4580,7 +4580,7 @@ _0801F2B6:\n\
b _0801F5FA\n\
.align 2, 0\n\
_0801F340: .4byte gBankAttacker\n\
-_0801F344: .4byte 0x020160f0\n\
+_0801F344: .4byte gSharedMem + 0x160F0\n\
_0801F348: .4byte gLastUsedItem\n\
_0801F34C: .4byte gActiveBank\n\
_0801F350: .4byte gBattlescriptCurrInstr\n\
@@ -4851,7 +4851,7 @@ _0801F540:\n\
bl b_movescr_stack_push\n\
ldr r0, _0801F5CC @ =BattleScript_KnockedOff\n\
str r0, [r4]\n\
- ldr r1, _0801F5D0 @ =0x02000000\n\
+ ldr r1, _0801F5D0 @ =gSharedMem\n\
mov r2, r8\n\
ldrb r0, [r2]\n\
lsls r0, 1\n\
@@ -4873,7 +4873,7 @@ _0801F5C0: .4byte gBitTable\n\
_0801F5C4: .4byte gBattlePartyID\n\
_0801F5C8: .4byte gBattlescriptCurrInstr\n\
_0801F5CC: .4byte BattleScript_KnockedOff\n\
-_0801F5D0: .4byte 0x02000000\n\
+_0801F5D0: .4byte gSharedMem\n\
_0801F5D4: .4byte 0x000160e8\n\
_0801F5D8: .4byte 0x000160e9\n\
_0801F5DC:\n\
@@ -5540,7 +5540,7 @@ static void atk23_getexp(void)
mov r5, r8\n\
push {r5-r7}\n\
movs r6, 0\n\
- ldr r0, _0802004C @ =0x0201605c\n\
+ ldr r0, _0802004C @ =gSharedMem + 0x1605C\n\
mov r10, r0\n\
ldr r0, _08020050 @ =gBattlescriptCurrInstr\n\
ldr r0, [r0]\n\
@@ -5569,7 +5569,7 @@ _08020040:\n\
ldr r0, [r0]\n\
mov pc, r0\n\
.align 2, 0\n\
-_0802004C: .4byte 0x0201605c\n\
+_0802004C: .4byte gSharedMem + 0x1605C\n\
_08020050: .4byte gBattlescriptCurrInstr\n\
_08020054: .4byte gBank1\n\
_08020058: .4byte gSentPokesToOpponent\n\
@@ -5598,7 +5598,7 @@ _0802007C:\n\
cmp r0, 0\n\
beq _080200BC\n\
_08020098:\n\
- ldr r0, _080200B4 @ =0x02000000\n\
+ ldr r0, _080200B4 @ =gSharedMem\n\
ldr r1, _080200B8 @ =0x0001600f\n\
adds r0, r1\n\
movs r1, 0x6\n\
@@ -5608,10 +5608,10 @@ _08020098:\n\
_080200A8: .4byte gBank1\n\
_080200AC: .4byte gBattleTypeFlags\n\
_080200B0: .4byte 0x00000982\n\
-_080200B4: .4byte 0x02000000\n\
+_080200B4: .4byte gSharedMem\n\
_080200B8: .4byte 0x0001600f\n\
_080200BC:\n\
- ldr r2, _080200E8 @ =0x02000000\n\
+ ldr r2, _080200E8 @ =gSharedMem\n\
ldr r3, _080200EC @ =0x0001600f\n\
adds r1, r2, r3\n\
ldrb r0, [r1]\n\
@@ -5633,7 +5633,7 @@ _080200BC:\n\
strb r0, [r2]\n\
bl _08020996\n\
.align 2, 0\n\
-_080200E8: .4byte 0x02000000\n\
+_080200E8: .4byte gSharedMem\n\
_080200EC: .4byte 0x0001600f\n\
_080200F0: .4byte 0x00016113\n\
_080200F4: .4byte gBitTable\n\
@@ -5760,7 +5760,7 @@ _080201F6:\n\
ldr r0, _08020248 @ =gExpShareExp\n\
strh r6, [r0]\n\
_080201FA:\n\
- ldr r1, _0802024C @ =0x02000000\n\
+ ldr r1, _0802024C @ =gSharedMem\n\
ldr r3, _08020250 @ =0x0001600f\n\
adds r2, r1, r3\n\
ldrb r0, [r2]\n\
@@ -5781,7 +5781,7 @@ _08020216:\n\
beq _08020220\n\
b _08020996\n\
_08020220:\n\
- ldr r0, _0802024C @ =0x02000000\n\
+ ldr r0, _0802024C @ =gSharedMem\n\
ldr r1, _08020254 @ =0x00016018\n\
adds r0, r1\n\
ldrb r1, [r0]\n\
@@ -5802,7 +5802,7 @@ _08020220:\n\
b _08020274\n\
.align 2, 0\n\
_08020248: .4byte gExpShareExp\n\
-_0802024C: .4byte 0x02000000\n\
+_0802024C: .4byte gSharedMem\n\
_08020250: .4byte 0x0001600f\n\
_08020254: .4byte 0x00016018\n\
_08020258: .4byte 0x0001605f\n\
@@ -5815,7 +5815,7 @@ _0802026C:\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
_08020274:\n\
- ldr r5, _08020294 @ =0x02000000\n\
+ ldr r5, _08020294 @ =gSharedMem\n\
cmp r4, 0x19\n\
beq _080202A0\n\
ldr r3, _08020298 @ =0x0001605f\n\
@@ -5831,7 +5831,7 @@ _08020274:\n\
adds r1, r5, r0\n\
b _080202C8\n\
.align 2, 0\n\
-_08020294: .4byte 0x02000000\n\
+_08020294: .4byte gSharedMem\n\
_08020298: .4byte 0x0001605f\n\
_0802029C: .4byte 0x0001600f\n\
_080202A0:\n\
@@ -5889,7 +5889,7 @@ _080202E8:\n\
adds r0, 0x1\n\
strb r0, [r5]\n\
_08020316:\n\
- ldr r5, _0802035C @ =0x02000000\n\
+ ldr r5, _0802035C @ =gSharedMem\n\
ldr r1, _08020360 @ =0x00016018\n\
adds r0, r5, r1\n\
ldrb r1, [r0]\n\
@@ -5921,7 +5921,7 @@ _0802034C: .4byte gBattleTypeFlags\n\
_08020350: .4byte gBattleMons\n\
_08020354: .4byte 0x0001601b\n\
_08020358: .4byte 0x00000161\n\
-_0802035C: .4byte 0x02000000\n\
+_0802035C: .4byte gSharedMem\n\
_08020360: .4byte 0x00016018\n\
_08020364: .4byte gPlayerParty\n\
_08020368: .4byte 0x0001605f\n\
@@ -5965,7 +5965,7 @@ _0802039C:\n\
bl __divsi3\n\
str r0, [r4]\n\
_080203B8:\n\
- ldr r0, _080203F8 @ =0x02000000\n\
+ ldr r0, _080203F8 @ =gSharedMem\n\
ldr r2, _080203FC @ =0x00016018\n\
adds r0, r2\n\
ldrb r1, [r0]\n\
@@ -5992,7 +5992,7 @@ _080203B8:\n\
_080203EC: .4byte gBattleMoveDamage\n\
_080203F0: .4byte gExpShareExp\n\
_080203F4: .4byte gBattleTypeFlags\n\
-_080203F8: .4byte 0x02000000\n\
+_080203F8: .4byte gSharedMem\n\
_080203FC: .4byte 0x00016018\n\
_08020400: .4byte gPlayerParty\n\
_08020404:\n\
@@ -6007,7 +6007,7 @@ _0802040A:\n\
cmp r1, 0\n\
beq _08020488\n\
ldr r1, _08020448 @ =gBattlePartyID\n\
- ldr r0, _0802044C @ =0x02000000\n\
+ ldr r0, _0802044C @ =gSharedMem\n\
ldr r3, _08020450 @ =0x00016018\n\
adds r2, r0, r3\n\
ldrh r1, [r1, 0x4]\n\
@@ -6030,7 +6030,7 @@ _0802043C: .4byte 0x00000149\n\
_08020440: .4byte gBattleMoveDamage\n\
_08020444: .4byte gBattleTypeFlags\n\
_08020448: .4byte gBattlePartyID\n\
-_0802044C: .4byte 0x02000000\n\
+_0802044C: .4byte gSharedMem\n\
_08020450: .4byte 0x00016018\n\
_08020454: .4byte gBitTable\n\
_08020458: .4byte gAbsentBankFlags\n\
@@ -6057,7 +6057,7 @@ _0802047C:\n\
.align 2, 0\n\
_08020484: .4byte 0x000160a2\n\
_08020488:\n\
- ldr r0, _08020530 @ =0x02000000\n\
+ ldr r0, _08020530 @ =gSharedMem\n\
ldr r3, _08020534 @ =0x000160a2\n\
adds r0, r3\n\
strb r1, [r0]\n\
@@ -6068,7 +6068,7 @@ _08020490:\n\
strb r2, [r1]\n\
movs r5, 0x4\n\
strb r5, [r1, 0x1]\n\
- ldr r4, _08020530 @ =0x02000000\n\
+ ldr r4, _08020530 @ =gSharedMem\n\
ldr r0, _08020534 @ =0x000160a2\n\
adds r6, r4, r0\n\
ldrb r0, [r6]\n\
@@ -6132,7 +6132,7 @@ _08020490:\n\
ldrh r1, [r1]\n\
bl MonGainEVs\n\
_0802051E:\n\
- ldr r1, _08020530 @ =0x02000000\n\
+ ldr r1, _08020530 @ =gSharedMem\n\
ldr r3, _08020554 @ =0x0001605f\n\
adds r2, r1, r3\n\
ldrb r0, [r2]\n\
@@ -6142,7 +6142,7 @@ _0802051E:\n\
adds r1, r0\n\
b _08020618\n\
.align 2, 0\n\
-_08020530: .4byte 0x02000000\n\
+_08020530: .4byte gSharedMem\n\
_08020534: .4byte 0x000160a2\n\
_08020538: .4byte gBattleTextBuff1\n\
_0802053C: .4byte 0x00016018\n\
@@ -6161,7 +6161,7 @@ _0802055C:\n\
b _08020996\n\
_08020566:\n\
ldr r1, _08020624 @ =gBattleBufferB\n\
- ldr r4, _08020628 @ =0x02000000\n\
+ ldr r4, _08020628 @ =gSharedMem\n\
ldr r3, _0802062C @ =0x000160a2\n\
adds r3, r4\n\
mov r8, r3\n\
@@ -6237,7 +6237,7 @@ _08020566:\n\
ldrb r0, [r4]\n\
bl MarkBufferBankForExecution\n\
_08020612:\n\
- ldr r1, _08020628 @ =0x02000000\n\
+ ldr r1, _08020628 @ =gSharedMem\n\
ldr r3, _08020644 @ =0x0001600f\n\
adds r1, r3\n\
_08020618:\n\
@@ -6248,7 +6248,7 @@ _08020618:\n\
.align 2, 0\n\
_08020620: .4byte gBattleExecBuffer\n\
_08020624: .4byte gBattleBufferB\n\
-_08020628: .4byte 0x02000000\n\
+_08020628: .4byte gSharedMem\n\
_0802062C: .4byte 0x000160a2\n\
_08020630: .4byte 0x00016018\n\
_08020634: .4byte gPlayerParty\n\
@@ -6264,7 +6264,7 @@ _08020648:\n\
b _08020996\n\
_08020652:\n\
ldr r1, _080208B0 @ =gActiveBank\n\
- ldr r4, _080208B4 @ =0x02000000\n\
+ ldr r4, _080208B4 @ =gSharedMem\n\
ldr r2, _080208B8 @ =0x000160a2\n\
adds r0, r4, r2\n\
ldrb r0, [r0]\n\
@@ -6316,7 +6316,7 @@ _080206A8:\n\
ldr r5, _080208B0 @ =gActiveBank\n\
ldrb r0, [r5]\n\
strb r0, [r1, 0x2]\n\
- ldr r0, _080208B4 @ =0x02000000\n\
+ ldr r0, _080208B4 @ =gSharedMem\n\
ldr r3, _080208C8 @ =0x00016018\n\
adds r6, r0, r3\n\
ldrb r0, [r6]\n\
@@ -6460,7 +6460,7 @@ _080206A8:\n\
strh r0, [r4, 0xA]\n\
_080207EC:\n\
ldr r0, _080208C4 @ =gBattlePartyID\n\
- ldr r1, _080208B4 @ =0x02000000\n\
+ ldr r1, _080208B4 @ =gSharedMem\n\
ldr r3, _080208C8 @ =0x00016018\n\
adds r7, r1, r3\n\
ldrb r2, [r7]\n\
@@ -6549,7 +6549,7 @@ _080207EC:\n\
.align 2, 0\n\
_080208AC: .4byte gBattleExecBuffer\n\
_080208B0: .4byte gActiveBank\n\
-_080208B4: .4byte 0x02000000\n\
+_080208B4: .4byte gSharedMem\n\
_080208B8: .4byte 0x000160a2\n\
_080208BC: .4byte gBattleBufferB\n\
_080208C0: .4byte gBattleTypeFlags\n\
@@ -6569,7 +6569,7 @@ _080208F0:\n\
movs r0, 0\n\
str r0, [r1]\n\
_080208F6:\n\
- ldr r0, _08020908 @ =0x02000000\n\
+ ldr r0, _08020908 @ =gSharedMem\n\
ldr r1, _0802090C @ =0x0001600f\n\
adds r0, r1\n\
movs r1, 0x5\n\
@@ -6577,14 +6577,14 @@ _080208F6:\n\
b _08020996\n\
.align 2, 0\n\
_08020904: .4byte gBattleMoveDamage\n\
-_08020908: .4byte 0x02000000\n\
+_08020908: .4byte gSharedMem\n\
_0802090C: .4byte 0x0001600f\n\
_08020910:\n\
ldr r0, _08020924 @ =gBattleMoveDamage\n\
ldr r0, [r0]\n\
cmp r0, 0\n\
beq _08020930\n\
- ldr r0, _08020928 @ =0x02000000\n\
+ ldr r0, _08020928 @ =gSharedMem\n\
ldr r2, _0802092C @ =0x0001600f\n\
adds r0, r2\n\
movs r1, 0x3\n\
@@ -6592,10 +6592,10 @@ _08020910:\n\
b _08020996\n\
.align 2, 0\n\
_08020924: .4byte gBattleMoveDamage\n\
-_08020928: .4byte 0x02000000\n\
+_08020928: .4byte gSharedMem\n\
_0802092C: .4byte 0x0001600f\n\
_08020930:\n\
- ldr r2, _08020950 @ =0x02000000\n\
+ ldr r2, _08020950 @ =gSharedMem\n\
ldr r3, _08020954 @ =0x00016018\n\
adds r1, r2, r3\n\
ldrb r0, [r1]\n\
@@ -6611,7 +6611,7 @@ _08020930:\n\
strb r0, [r1]\n\
b _08020996\n\
.align 2, 0\n\
-_08020950: .4byte 0x02000000\n\
+_08020950: .4byte gSharedMem\n\
_08020954: .4byte 0x00016018\n\
_08020958: .4byte 0x0001600f\n\
_0802095C:\n\
@@ -7919,7 +7919,7 @@ _0802178C: .4byte gUnknown_02024A98\n\
_08021790:\n\
cmp r3, 0\n\
beq _080217E0\n\
- ldr r0, _080217D0 @ =0x02000000\n\
+ ldr r0, _080217D0 @ =gSharedMem\n\
ldr r1, _080217D4 @ =0x000160dc\n\
adds r4, r0, r1\n\
ldrb r0, [r4]\n\
@@ -7949,7 +7949,7 @@ _080217CC:\n\
ldr r1, _080217DC @ =gBattlescriptCurrInstr\n\
b _080217E2\n\
.align 2, 0\n\
-_080217D0: .4byte 0x02000000\n\
+_080217D0: .4byte gSharedMem\n\
_080217D4: .4byte 0x000160dc\n\
_080217D8: .4byte gActiveBank\n\
_080217DC: .4byte gBattlescriptCurrInstr\n\
@@ -7990,7 +7990,7 @@ static void atk49_moveendturn(void)
else
hold_effect_atk = ItemId_GetHoldEffect(gBattleMons[gBankTarget].item);
- choiced_move_atk = (u16*)(gBankAttacker * 0x020160e8);
+ choiced_move_atk = (u16*)(gBankAttacker * (ewram_addr + 0x160E8));
if (BATTLE_STRUCT->dynamicMoveType)
move_type = BATTLE_STRUCT->dynamicMoveType & 0x3F;
else
@@ -8066,7 +8066,7 @@ static void atk49_moveendturn(void)
case 7: //changed held items
for (i = 0; i < gNoOfAllBanks; i++)
{
- #define CHANGED_ITEM (((*u16)(0x020160f0)))
+ #define CHANGED_ITEM (((*u16)(gSharedMem + 0x160F0)))
if (CHANGED_ITEM(i))
gBattleMons[i].item = CHANGED_ITEM(i);
}
@@ -8162,7 +8162,7 @@ _0802184E:\n\
ldr r0, _0802186C @ =gBankAttacker\n\
ldrb r1, [r0]\n\
lsls r1, 1\n\
- ldr r0, _08021870 @ =0x020160e8\n\
+ ldr r0, _08021870 @ =gSharedMem + 0x160E8\n\
adds r1, r0\n\
str r1, [sp, 0xC]\n\
subs r0, 0xCC\n\
@@ -8175,13 +8175,13 @@ _0802184E:\n\
b _080218D2\n\
.align 2, 0\n\
_0802186C: .4byte gBankAttacker\n\
-_08021870: .4byte 0x020160e8\n\
+_08021870: .4byte gSharedMem + 0x160E8\n\
_08021874:\n\
strb r2, [r7]\n\
ldr r0, [r5]\n\
orrs r0, r6\n\
str r0, [r5]\n\
- ldr r0, _080218AC @ =0x02000000\n\
+ ldr r0, _080218AC @ =gSharedMem\n\
ldr r3, _080218B0 @ =0x0001600c\n\
adds r0, r3\n\
strb r4, [r0]\n\
@@ -8202,7 +8202,7 @@ _08021874:\n\
ldr r0, _080218BC @ =gUnknown_081D9B2D\n\
bl _0802229C\n\
.align 2, 0\n\
-_080218AC: .4byte 0x02000000\n\
+_080218AC: .4byte gSharedMem\n\
_080218B0: .4byte 0x0001600c\n\
_080218B4: .4byte gBattleScriptsEffectsTable\n\
_080218B8: .4byte gBattlescriptCurrInstr\n\
@@ -8218,13 +8218,13 @@ _080218C0:\n\
ldrb r0, [r0, 0x2]\n\
str r0, [sp, 0x4]\n\
_080218D2:\n\
- ldr r5, _080218E0 @ =0x02000000\n\
+ ldr r5, _080218E0 @ =gSharedMem\n\
mov r12, r5\n\
b _080218EE\n\
.align 2, 0\n\
_080218D8: .4byte gBattleMoves\n\
_080218DC: .4byte gCurrentMove\n\
-_080218E0: .4byte 0x02000000\n\
+_080218E0: .4byte gSharedMem\n\
_080218E4:\n\
mov r0, r10\n\
cmp r0, 0\n\
@@ -8349,7 +8349,7 @@ _080219C8:\n\
movs r5, 0x1\n\
mov r10, r5\n\
_080219FE:\n\
- ldr r2, _08021A2C @ =0x02000000\n\
+ ldr r2, _08021A2C @ =gSharedMem\n\
ldr r0, _08021A30 @ =0x0001600c\n\
adds r1, r2, r0\n\
b _08021E00\n\
@@ -8363,7 +8363,7 @@ _08021A1C: .4byte gBattleMoves\n\
_08021A20: .4byte gCurrentMove\n\
_08021A24: .4byte gBattlescriptCurrInstr\n\
_08021A28: .4byte gUnknown_081D9132\n\
-_08021A2C: .4byte 0x02000000\n\
+_08021A2C: .4byte gSharedMem\n\
_08021A30: .4byte 0x0001600c\n\
_08021A34:\n\
ldr r2, _08021AD0 @ =gBattleMons\n\
@@ -8471,13 +8471,13 @@ _08021AF0:\n\
movs r4, 0x1\n\
mov r10, r4\n\
_08021B0C:\n\
- ldr r2, _08021B18 @ =0x02000000\n\
+ ldr r2, _08021B18 @ =gSharedMem\n\
ldr r5, _08021B1C @ =0x0001600c\n\
adds r1, r2, r5\n\
b _08021E00\n\
.align 2, 0\n\
_08021B14: .4byte gBankTarget\n\
-_08021B18: .4byte 0x02000000\n\
+_08021B18: .4byte gSharedMem\n\
_08021B1C: .4byte 0x0001600c\n\
_08021B20:\n\
ldr r0, _08021B40 @ =gBankTarget\n\
@@ -8511,18 +8511,18 @@ _08021B44:\n\
beq _08021B68\n\
movs r4, 0x1\n\
mov r10, r4\n\
- ldr r5, _08021B64 @ =0x02000000\n\
+ ldr r5, _08021B64 @ =gSharedMem\n\
mov r12, r5\n\
b _0802224E\n\
.align 2, 0\n\
-_08021B64: .4byte 0x02000000\n\
+_08021B64: .4byte gSharedMem\n\
_08021B68:\n\
- ldr r2, _08021B70 @ =0x02000000\n\
+ ldr r2, _08021B70 @ =gSharedMem\n\
ldr r0, _08021B74 @ =0x0001600c\n\
adds r1, r2, r0\n\
b _08021E00\n\
.align 2, 0\n\
-_08021B70: .4byte 0x02000000\n\
+_08021B70: .4byte gSharedMem\n\
_08021B74: .4byte 0x0001600c\n\
_08021B78:\n\
ldr r0, _08021B98 @ =gBankAttacker\n\
@@ -8636,7 +8636,7 @@ _08021C40:\n\
b _08022244\n\
_08021C4C:\n\
movs r5, 0\n\
- ldr r2, _08021C70 @ =0x020160f0\n\
+ ldr r2, _08021C70 @ =gSharedMem + 0x160F0\n\
ldr r3, _08021C74 @ =gBattleMons\n\
_08021C52:\n\
ldrh r1, [r2]\n\
@@ -8654,7 +8654,7 @@ _08021C5C:\n\
b _08022244\n\
.align 2, 0\n\
_08021C6C: .4byte gNoOfAllBanks\n\
-_08021C70: .4byte 0x020160f0\n\
+_08021C70: .4byte gSharedMem + 0x160F0\n\
_08021C74: .4byte gBattleMons\n\
_08021C78:\n\
movs r0, 0x3\n\
@@ -8666,18 +8666,18 @@ _08021C78:\n\
beq _08021C98\n\
movs r2, 0x1\n\
mov r10, r2\n\
- ldr r3, _08021C94 @ =0x02000000\n\
+ ldr r3, _08021C94 @ =gSharedMem\n\
mov r12, r3\n\
b _0802224E\n\
.align 2, 0\n\
-_08021C94: .4byte 0x02000000\n\
+_08021C94: .4byte gSharedMem\n\
_08021C98:\n\
- ldr r2, _08021CA0 @ =0x02000000\n\
+ ldr r2, _08021CA0 @ =gSharedMem\n\
ldr r4, _08021CA4 @ =0x0001600c\n\
adds r1, r2, r4\n\
b _08021E00\n\
.align 2, 0\n\
-_08021CA0: .4byte 0x02000000\n\
+_08021CA0: .4byte gSharedMem\n\
_08021CA4: .4byte 0x0001600c\n\
_08021CA8:\n\
movs r0, 0x4\n\
@@ -8690,12 +8690,12 @@ _08021CA8:\n\
movs r5, 0x1\n\
mov r10, r5\n\
_08021CBC:\n\
- ldr r2, _08021CC4 @ =0x02000000\n\
+ ldr r2, _08021CC4 @ =gSharedMem\n\
ldr r0, _08021CC8 @ =0x0001600c\n\
adds r1, r2, r0\n\
b _08021E00\n\
.align 2, 0\n\
-_08021CC4: .4byte 0x02000000\n\
+_08021CC4: .4byte gSharedMem\n\
_08021CC8: .4byte 0x0001600c\n\
_08021CCC:\n\
ldr r1, _08021D04 @ =gStatuses3\n\
@@ -8783,7 +8783,7 @@ _08021D44:\n\
orrs r1, r2\n\
strb r1, [r0]\n\
_08021D7E:\n\
- ldr r2, _08021DA4 @ =0x02000000\n\
+ ldr r2, _08021DA4 @ =gSharedMem\n\
ldr r4, _08021DA8 @ =0x0001600c\n\
adds r1, r2, r4\n\
b _08021E00\n\
@@ -8795,7 +8795,7 @@ _08021D94: .4byte 0x000400c0\n\
_08021D98: .4byte gActiveBank\n\
_08021D9C: .4byte 0xfffbff3f\n\
_08021DA0: .4byte gSpecialStatuses\n\
-_08021DA4: .4byte 0x02000000\n\
+_08021DA4: .4byte gSharedMem\n\
_08021DA8: .4byte 0x0001600c\n\
_08021DAC:\n\
ldr r2, _08021E0C @ =gSpecialStatuses\n\
@@ -8836,7 +8836,7 @@ _08021DAC:\n\
ands r0, r1\n\
str r0, [r2]\n\
_08021DFA:\n\
- ldr r2, _08021E28 @ =0x02000000\n\
+ ldr r2, _08021E28 @ =gSharedMem\n\
ldr r3, _08021E2C @ =0x0001600c\n\
adds r1, r2, r3\n\
_08021E00:\n\
@@ -8853,7 +8853,7 @@ _08021E18: .4byte gStatuses3\n\
_08021E1C: .4byte 0x000400c0\n\
_08021E20: .4byte gActiveBank\n\
_08021E24: .4byte 0xfffbff3f\n\
-_08021E28: .4byte 0x02000000\n\
+_08021E28: .4byte gSharedMem\n\
_08021E2C: .4byte 0x0001600c\n\
_08021E30:\n\
movs r4, 0\n\
@@ -9347,7 +9347,7 @@ _0802223A:\n\
ldr r0, [r5]\n\
orrs r0, r6\n\
str r0, [r5]\n\
- ldr r2, _080222D0 @ =0x02000000\n\
+ ldr r2, _080222D0 @ =gSharedMem\n\
mov r12, r2\n\
_08022244:\n\
ldr r1, _080222D4 @ =0x0001600c\n\
@@ -9417,7 +9417,7 @@ _080222C0: .4byte gBattleMoves\n\
_080222C4: .4byte gCurrentMove\n\
_080222C8: .4byte gBankTarget\n\
_080222CC: .4byte gBattleMons\n\
-_080222D0: .4byte 0x02000000\n\
+_080222D0: .4byte gSharedMem\n\
_080222D4: .4byte 0x0001600c\n\
_080222D8: .4byte gBattlescriptCurrInstr\n\
.syntax divided"
@@ -9930,7 +9930,7 @@ _08022C2C:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _08022C6C\n\
- ldr r0, _08022C64 @ =0x02000000\n\
+ ldr r0, _08022C64 @ =gSharedMem\n\
ldr r1, _08022C68 @ =0x0001606a\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -9947,7 +9947,7 @@ _08022C2C:\n\
b _08022C7E\n\
.align 2, 0\n\
_08022C60: .4byte gSpecialStatuses\n\
-_08022C64: .4byte 0x02000000\n\
+_08022C64: .4byte gSharedMem\n\
_08022C68: .4byte 0x0001606a\n\
_08022C6C:\n\
movs r0, 0\n\
@@ -10015,7 +10015,7 @@ _08022CE8:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _08022D28\n\
- ldr r0, _08022D20 @ =0x02000000\n\
+ ldr r0, _08022D20 @ =gSharedMem\n\
ldr r1, _08022D24 @ =0x00016068\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -10032,7 +10032,7 @@ _08022CE8:\n\
b _08022D40\n\
.align 2, 0\n\
_08022D1C: .4byte gSpecialStatuses\n\
-_08022D20: .4byte 0x02000000\n\
+_08022D20: .4byte gSharedMem\n\
_08022D24: .4byte 0x00016068\n\
_08022D28:\n\
movs r0, 0x1\n\
@@ -10099,7 +10099,7 @@ _08022DA0:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _08022DE0\n\
- ldr r0, _08022DD8 @ =0x02000000\n\
+ ldr r0, _08022DD8 @ =gSharedMem\n\
ldr r1, _08022DDC @ =0x0001606b\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -10116,7 +10116,7 @@ _08022DA0:\n\
b _08022DF6\n\
.align 2, 0\n\
_08022DD4: .4byte gSpecialStatuses\n\
-_08022DD8: .4byte 0x02000000\n\
+_08022DD8: .4byte gSharedMem\n\
_08022DDC: .4byte 0x0001606b\n\
_08022DE0:\n\
movs r0, 0\n\
@@ -10186,7 +10186,7 @@ _08022E60:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _08022EA0\n\
- ldr r0, _08022E98 @ =0x02000000\n\
+ ldr r0, _08022E98 @ =gSharedMem\n\
ldr r1, _08022E9C @ =0x00016069\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -10203,7 +10203,7 @@ _08022E60:\n\
b _08022EB8\n\
.align 2, 0\n\
_08022E94: .4byte gSpecialStatuses\n\
-_08022E98: .4byte 0x02000000\n\
+_08022E98: .4byte gSharedMem\n\
_08022E9C: .4byte 0x00016069\n\
_08022EA0:\n\
movs r0, 0x2\n\
@@ -10386,7 +10386,7 @@ _08023008:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _0802303A\n\
- ldr r0, _0802309C @ =0x02000000\n\
+ ldr r0, _0802309C @ =gSharedMem\n\
ldr r1, _080230A0 @ =0x00016068\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -10447,7 +10447,7 @@ _0802303A:\n\
b _080230EE\n\
.align 2, 0\n\
_08023098: .4byte gSpecialStatuses\n\
-_0802309C: .4byte 0x02000000\n\
+_0802309C: .4byte gSharedMem\n\
_080230A0: .4byte 0x00016068\n\
_080230A4: .4byte gBitTable\n\
_080230A8: .4byte gActiveBank\n\
@@ -10466,7 +10466,7 @@ _080230BC:\n\
lsls r0, 25\n\
cmp r0, 0\n\
blt _080230EE\n\
- ldr r0, _08023100 @ =0x02000000\n\
+ ldr r0, _08023100 @ =gSharedMem\n\
ldr r1, _08023104 @ =0x00016069\n\
adds r0, r1\n\
ldrb r0, [r0]\n\
@@ -10489,7 +10489,7 @@ _080230EE:\n\
b _08023110\n\
.align 2, 0\n\
_080230FC: .4byte gSpecialStatuses\n\
-_08023100: .4byte 0x02000000\n\
+_08023100: .4byte gSharedMem\n\
_08023104: .4byte 0x00016069\n\
_08023108: .4byte gBattlescriptCurrInstr\n\
_0802310C:\n\
@@ -10610,7 +10610,7 @@ _080231F4: .4byte gHitMarker\n\
_080231F8:\n\
ldr r4, _080232A0 @ =gActiveBank\n\
strb r7, [r4]\n\
- ldr r3, _080232A4 @ =0x02000000\n\
+ ldr r3, _080232A4 @ =gSharedMem\n\
ldrb r0, [r4]\n\
ldr r2, _080232A8 @ =0x00016064\n\
adds r1, r0, r2\n\
@@ -10691,7 +10691,7 @@ _0802328A:\n\
b _08023302\n\
.align 2, 0\n\
_080232A0: .4byte gActiveBank\n\
-_080232A4: .4byte 0x02000000\n\
+_080232A4: .4byte gSharedMem\n\
_080232A8: .4byte 0x00016064\n\
_080232AC: .4byte gBattlePartyID\n\
_080232B0: .4byte 0x00016068\n\
@@ -11134,7 +11134,7 @@ static void atk5C_hitanimation(void)
gBattlescriptCurrInstr += 2;
}
-#define MONEY_UNKNOWN ((*(u8*)(0x02017000 + 0x94)))
+#define MONEY_UNKNOWN ((*(u8*)(ewram_addr + 0x17000 + 0x94)))
#ifdef NONMATCHING
static void atk5D_getmoneyreward(void)
@@ -11208,7 +11208,7 @@ static void atk5D_getmoneyreward(void)
lsls r1, 3\n\
cmp r2, r1\n\
bne _08024058\n\
- ldr r0, _0802404C @ =0x02017000\n\
+ ldr r0, _0802404C @ =gSharedMem + 0x17000\n\
adds r1, r0, 0\n\
adds r1, 0x94\n\
ldrb r2, [r1]\n\
@@ -11225,7 +11225,7 @@ static void atk5D_getmoneyreward(void)
b _08024140\n\
.align 2, 0\n\
_08024048: .4byte gTrainerBattleOpponent\n\
-_0802404C: .4byte 0x02017000\n\
+_0802404C: .4byte gSharedMem + 0x17000\n\
_08024050: .4byte 0xfffff056\n\
_08024054: .4byte gSaveBlock1 + 0x490\n\
_08024058:\n\
@@ -11295,7 +11295,7 @@ _080240C4:\n\
ldrb r1, [r3]\n\
mov r12, r0\n\
lsls r4, r5, 2\n\
- ldr r5, _08024124 @ =0x02000000\n\
+ ldr r5, _08024124 @ =gSharedMem\n\
ldr r7, _08024128 @ =gBattleTypeFlags\n\
ldr r0, _0802412C @ =gSaveBlock1 + 0x490\n\
mov r8, r0\n\
@@ -11339,7 +11339,7 @@ _080240FE:\n\
b _08024140\n\
.align 2, 0\n\
_08024120: .4byte gTrainerMoney\n\
-_08024124: .4byte 0x02000000\n\
+_08024124: .4byte gSharedMem\n\
_08024128: .4byte gBattleTypeFlags\n\
_0802412C: .4byte gSaveBlock1 + 0x490\n\
_08024130: .4byte gTrainers\n\
@@ -11678,7 +11678,7 @@ static void atk6C_lvlbox_display(void)
sub sp, 0x4\n\
movs r1, 0\n\
movs r7, 0\n\
- ldr r0, _08024928 @ =0x02000000\n\
+ ldr r0, _08024928 @ =gSharedMem\n\
mov r10, r0\n\
ldr r4, _0802492C @ =0x0001609c\n\
add r4, r10\n\
@@ -11693,7 +11693,7 @@ _0802491C:\n\
beq _0802493E\n\
b _08024C38\n\
.align 2, 0\n\
-_08024928: .4byte 0x02000000\n\
+_08024928: .4byte gSharedMem\n\
_0802492C: .4byte 0x0001609c\n\
_08024930:\n\
cmp r0, 0x2\n\
@@ -11729,7 +11729,7 @@ _0802495A:\n\
adds r0, r5, 0\n\
bl StringAppend\n\
adds r5, r0, 0\n\
- ldr r0, _080249A8 @ =0x02000000\n\
+ ldr r0, _080249A8 @ =gSharedMem\n\
ldr r2, _080249AC @ =0x00016018\n\
adds r0, r2\n\
ldrb r1, [r0]\n\
@@ -11754,7 +11754,7 @@ _0802495A:\n\
_0802499C: .4byte gStringVar4\n\
_080249A0: .4byte gUnknown_08400D9F\n\
_080249A4: .4byte gUnknown_0840165C\n\
-_080249A8: .4byte 0x02000000\n\
+_080249A8: .4byte gSharedMem\n\
_080249AC: .4byte 0x00016018\n\
_080249B0: .4byte gPlayerParty\n\
_080249B4: .4byte gLevelUpStatBoxStats\n\
@@ -11768,37 +11768,37 @@ _080249BC:\n\
.4byte _08024A04\n\
.4byte _08024A10\n\
_080249D4:\n\
- ldr r0, _080249DC @ =0x02017180\n\
+ ldr r0, _080249DC @ =gSharedMem + 0x17180\n\
ldrh r0, [r0]\n\
b _08024A14\n\
.align 2, 0\n\
-_080249DC: .4byte 0x02017180\n\
+_080249DC: .4byte gSharedMem + 0x17180\n\
_080249E0:\n\
- ldr r0, _080249E8 @ =0x02017180\n\
+ ldr r0, _080249E8 @ =gSharedMem + 0x17180\n\
ldrh r0, [r0, 0x8]\n\
b _08024A14\n\
.align 2, 0\n\
-_080249E8: .4byte 0x02017180\n\
+_080249E8: .4byte gSharedMem + 0x17180\n\
_080249EC:\n\
- ldr r0, _080249F4 @ =0x02017180\n\
+ ldr r0, _080249F4 @ =gSharedMem + 0x17180\n\
ldrh r0, [r0, 0x2]\n\
b _08024A14\n\
.align 2, 0\n\
-_080249F4: .4byte 0x02017180\n\
+_080249F4: .4byte gSharedMem + 0x17180\n\
_080249F8:\n\
- ldr r0, _08024A00 @ =0x02017180\n\
+ ldr r0, _08024A00 @ =gSharedMem + 0x17180\n\
ldrh r0, [r0, 0xA]\n\
b _08024A14\n\
.align 2, 0\n\
-_08024A00: .4byte 0x02017180\n\
+_08024A00: .4byte gSharedMem + 0x17180\n\
_08024A04:\n\
- ldr r0, _08024A0C @ =0x02017180\n\
+ ldr r0, _08024A0C @ =gSharedMem + 0x17180\n\
ldrh r0, [r0, 0x4]\n\
b _08024A14\n\
.align 2, 0\n\
-_08024A0C: .4byte 0x02017180\n\
+_08024A0C: .4byte gSharedMem + 0x17180\n\
_08024A10:\n\
- ldr r0, _08024A54 @ =0x02017180\n\
+ ldr r0, _08024A54 @ =gSharedMem + 0x17180\n\
ldrh r0, [r0, 0x6]\n\
_08024A14:\n\
subs r0, r1, r0\n\
@@ -11835,7 +11835,7 @@ _08024A2C:\n\
ldr r1, _08024A58 @ =gUnknown_08400DAC\n\
b _08024A5E\n\
.align 2, 0\n\
-_08024A54: .4byte 0x02017180\n\
+_08024A54: .4byte gSharedMem + 0x17180\n\
_08024A58: .4byte gUnknown_08400DAC\n\
_08024A5C:\n\
ldr r1, _08024AA4 @ =gUnknown_08400DAA\n\
@@ -11902,14 +11902,14 @@ _08024AC4:\n\
bl InitWindow\n\
adds r0, r4, 0\n\
bl sub_8002F44\n\
- ldr r1, _08024AEC @ =0x02000000\n\
+ ldr r1, _08024AEC @ =gSharedMem\n\
ldr r2, _08024AF0 @ =0x0001609c\n\
adds r1, r2\n\
b _08024BEA\n\
.align 2, 0\n\
_08024AE4: .4byte gUnknown_03004210\n\
_08024AE8: .4byte gStringVar4\n\
-_08024AEC: .4byte 0x02000000\n\
+_08024AEC: .4byte gSharedMem\n\
_08024AF0: .4byte 0x0001609c\n\
_08024AF4:\n\
ldr r0, _08024B94 @ =gMain\n\
@@ -12023,7 +12023,7 @@ _08024BC0:\n\
bl InitWindow\n\
adds r0, r4, 0\n\
bl sub_8002F44\n\
- ldr r1, _08024BFC @ =0x02000000\n\
+ ldr r1, _08024BFC @ =gSharedMem\n\
ldr r0, _08024C00 @ =0x0001609c\n\
adds r1, r0\n\
_08024BEA:\n\
@@ -12034,7 +12034,7 @@ _08024BEA:\n\
.align 2, 0\n\
_08024BF4: .4byte gUnknown_03004210\n\
_08024BF8: .4byte gStringVar4\n\
-_08024BFC: .4byte 0x02000000\n\
+_08024BFC: .4byte gSharedMem\n\
_08024C00: .4byte 0x0001609c\n\
_08024C04:\n\
ldr r0, _08024C2C @ =gMain\n\
@@ -12954,7 +12954,7 @@ _08025F10: .4byte gBattlescriptCurrInstr\n\
_08025F14:\n\
mov r0, r8\n\
bl b_movescr_stack_push\n\
- ldr r0, _08025F40 @ =0x02000000\n\
+ ldr r0, _08025F40 @ =gSharedMem\n\
ldr r6, _08025F44 @ =gActiveBank\n\
ldrb r1, [r6]\n\
ldr r2, _08025F48 @ =0x00016003\n\
@@ -12974,7 +12974,7 @@ _08025F14:\n\
strb r1, [r0]\n\
b _08025F74\n\
.align 2, 0\n\
-_08025F40: .4byte 0x02000000\n\
+_08025F40: .4byte gSharedMem\n\
_08025F44: .4byte gActiveBank\n\
_08025F48: .4byte 0x00016003\n\
_08025F4C: .4byte gBattlescriptCurrInstr\n\
@@ -13049,7 +13049,7 @@ _08025FDC: .4byte gBattlescriptCurrInstr\n\
_08025FE0:\n\
mov r0, r8\n\
bl b_movescr_stack_push\n\
- ldr r0, _08026028 @ =0x02000000\n\
+ ldr r0, _08026028 @ =gSharedMem\n\
ldr r2, _0802602C @ =gActiveBank\n\
ldrb r1, [r2]\n\
ldr r3, _08026030 @ =0x00016003\n\
@@ -13081,7 +13081,7 @@ _08025FE0:\n\
strb r1, [r0]\n\
b _08025F74\n\
.align 2, 0\n\
-_08026028: .4byte 0x02000000\n\
+_08026028: .4byte gSharedMem\n\
_0802602C: .4byte gActiveBank\n\
_08026030: .4byte 0x00016003\n\
_08026034: .4byte gBattlescriptCurrInstr\n\
@@ -13106,7 +13106,7 @@ _08026040:\n\
bne _08025F74\n\
mov r0, r8\n\
bl b_movescr_stack_push\n\
- ldr r0, _08026094 @ =0x02000000\n\
+ ldr r0, _08026094 @ =gSharedMem\n\
ldr r3, _08026090 @ =gActiveBank\n\
ldrb r1, [r3]\n\
ldr r6, _08026098 @ =0x00016003\n\
@@ -13128,7 +13128,7 @@ _08026040:\n\
b _08025F74\n\
.align 2, 0\n\
_08026090: .4byte gActiveBank\n\
-_08026094: .4byte 0x02000000\n\
+_08026094: .4byte gSharedMem\n\
_08026098: .4byte 0x00016003\n\
_0802609C: .4byte gBattlescriptCurrInstr\n\
_080260A0: .4byte BattleScript_AbilityNoSpecificStatLoss\n\
@@ -13154,7 +13154,7 @@ _080260A8:\n\
_080260CA:\n\
mov r0, r8\n\
bl b_movescr_stack_push\n\
- ldr r0, _08026100 @ =0x02000000\n\
+ ldr r0, _08026100 @ =gSharedMem\n\
ldr r3, _080260FC @ =gActiveBank\n\
ldrb r1, [r3]\n\
ldr r6, _08026104 @ =0x00016003\n\
@@ -13176,7 +13176,7 @@ _080260CA:\n\
b _08025F74\n\
.align 2, 0\n\
_080260FC: .4byte gActiveBank\n\
-_08026100: .4byte 0x02000000\n\
+_08026100: .4byte gSharedMem\n\
_08026104: .4byte 0x00016003\n\
_08026108: .4byte gBattlescriptCurrInstr\n\
_0802610C: .4byte BattleScript_AbilityNoSpecificStatLoss\n\
@@ -15656,7 +15656,7 @@ push {r4-r7,lr}\n\
bl __divsi3\n\
adds r0, 0x1E\n\
strh r0, [r5]\n\
- ldr r5, _080298A0 @ =0x02000000\n\
+ ldr r5, _080298A0 @ =gSharedMem\n\
lsls r0, r4, 4\n\
subs r0, r4\n\
movs r1, 0x3F\n\
@@ -15691,7 +15691,7 @@ _08029876:\n\
_08029894: .4byte gBattleMons\n\
_08029898: .4byte gBankAttacker\n\
_0802989C: .4byte gDynamicBasePower\n\
-_080298A0: .4byte 0x02000000\n\
+_080298A0: .4byte gSharedMem\n\
_080298A4: .4byte 0x0001601c\n\
_080298A8: .4byte gBattlescriptCurrInstr\n\
.syntax divided");
@@ -16372,7 +16372,7 @@ _0802A364: .4byte BattleScript_NoItemSteal\n\
_0802A368: .4byte gLastUsedAbility\n\
_0802A36C:\n\
lsls r0, r4, 1\n\
- ldr r4, _0802A458 @ =0x020160f0\n\
+ ldr r4, _0802A458 @ =gSharedMem + 0x160F0\n\
adds r6, r0, r4\n\
ldrh r5, [r5, 0x2E]\n\
mov r10, r5\n\
@@ -16486,7 +16486,7 @@ _0802A36C:\n\
movs r0, 0x2\n\
b _0802A498\n\
.align 2, 0\n\
-_0802A458: .4byte 0x020160f0\n\
+_0802A458: .4byte gSharedMem + 0x160F0\n\
_0802A45C: .4byte gBankAttacker\n\
_0802A460: .4byte gActiveBank\n\
_0802A464: .4byte 0xfffe9f10\n\
@@ -16820,7 +16820,7 @@ _0802AAAE:\n\
mov r9, r6\n\
mov r1, r10\n\
lsls r0, r1, 1\n\
- ldr r1, _0802ABB0 @ =0x02016024\n\
+ ldr r1, _0802ABB0 @ =gSharedMem + 0x16024\n\
adds r6, r0, r1\n\
_0802AAF8:\n\
movs r7, 0\n\
@@ -16891,7 +16891,7 @@ _0802AB54:\n\
muls r0, r1\n\
asrs r0, 8\n\
lsls r0, 1\n\
- ldr r1, _0802ABB0 @ =0x02016024\n\
+ ldr r1, _0802ABB0 @ =gSharedMem + 0x16024\n\
adds r0, r1\n\
ldrh r0, [r0]\n\
strh r0, [r4]\n\
@@ -16911,7 +16911,7 @@ _0802ABA0: .4byte gPlayerParty\n\
_0802ABA4: .4byte gEnemyParty\n\
_0802ABA8: .4byte gBattlePartyID\n\
_0802ABAC: .4byte 0x0000ffff\n\
-_0802ABB0: .4byte 0x02016024\n\
+_0802ABB0: .4byte gSharedMem + 0x16024\n\
_0802ABB4: .4byte sUnknown_081FACFE\n\
_0802ABB8: .4byte gHitMarker\n\
_0802ABBC: .4byte 0xfffffbff\n\
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index ceac8ff24..fe1d0b159 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -284,7 +284,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
- 0x02000000,
+ eVoidSharedArr2,
gUnknown_081FAF4C[var],
species,
r7);
@@ -336,7 +336,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- 0x02000000,
+ eVoidSharedArr2,
gUnknown_081FAF4C[var],
species,
r7);
@@ -379,7 +379,7 @@ void sub_8031A6C(u16 a, u8 b)
&gTrainerFrontPicTable[a],
gTrainerFrontPicCoords[a].coords,
gTrainerFrontPicCoords[a].y_offset,
- (void *)0x02000000,
+ eVoidSharedArr,
gUnknown_081FAF4C[status],
0);
spriteSheet.data = gUnknown_081FAF4C[status];
@@ -398,7 +398,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b)
&gTrainerBackPicTable[a],
gTrainerBackPicCoords[a].coords,
gTrainerBackPicCoords[a].y_offset,
- (void *)0x02000000,
+ eVoidSharedArr,
gUnknown_081FAF4C[status],
0);
LoadCompressedPalette(gTrainerBackPicPaletteTable[a].data, 0x100 + b * 16, 32);
@@ -495,7 +495,7 @@ bool8 sub_8031C30(u8 a)
void load_gfxc_health_bar(void)
{
- LZDecompressWram(gUnknown_08D09C48, (void *)0x02000000);
+ LZDecompressWram(gUnknown_08D09C48, eVoidSharedArr);
}
u8 battle_load_something(u8 *pState, u8 *b)
@@ -636,7 +636,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- 0x02000000,
+ eVoidSharedArr2,
gUnknown_081FAF4C[0],
species,
ewram19348.unk10);
@@ -656,7 +656,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- 0x02000000,
+ eVoidSharedArr2,
gUnknown_081FAF4C[r10],
species,
gPID_perBank[a]);
@@ -669,7 +669,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
- 0x02000000,
+ eVoidSharedArr2,
gUnknown_081FAF4C[r10],
species,
gPID_perBank[a]);
diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c
index 5145d4980..cb6c10676 100644
--- a/src/battle/battle_ai.c
+++ b/src/battle/battle_ai.c
@@ -1017,7 +1017,7 @@ static void BattleAICmd_is_most_powerful_move(void)
ldrh r1, [r0]\n\
ldr r4, _0810832C @ =0x0000ffff\n\
ldr r6, _08108330 @ =gBattleMoves\n\
- ldr r5, _08108334 @ =0x02016800\n\
+ ldr r5, _08108334 @ =gSharedMem + 0x16800\n\
cmp r1, r4\n\
beq _0810822E\n\
ldrh r1, [r5, 0x2]\n\
@@ -1150,7 +1150,7 @@ _081082BA:\n\
mov r4, sp\n\
add r4, r8\n\
ldr r2, _08108358 @ =gBattleMoveDamage\n\
- ldr r0, _08108334 @ =0x02016800\n\
+ ldr r0, _08108334 @ =gSharedMem + 0x16800\n\
adds r0, 0x18\n\
adds r0, r6, r0\n\
ldrb r1, [r0]\n\
@@ -1168,7 +1168,7 @@ _081082BA:\n\
_08108328: .4byte sDiscouragedPowerfulMoveEffects\n\
_0810832C: .4byte 0x0000ffff\n\
_08108330: .4byte gBattleMoves\n\
-_08108334: .4byte 0x02016800\n\
+_08108334: .4byte gSharedMem + 0x16800\n\
_08108338: .4byte gDynamicBasePower\n\
_0810833C: .4byte 0xfffff81c\n\
_08108340: .4byte gBattleMoveFlags\n\
@@ -1188,7 +1188,7 @@ _08108364:\n\
cmp r6, 0x3\n\
ble _08108276\n\
movs r6, 0\n\
- ldr r1, _081083A4 @ =0x02016800\n\
+ ldr r1, _081083A4 @ =gSharedMem + 0x16800\n\
ldrb r0, [r1, 0x1]\n\
lsls r0, 2\n\
add r0, sp\n\
@@ -1219,7 +1219,7 @@ _0810839A:\n\
str r0, [r5, 0x8]\n\
b _081083B8\n\
.align 2, 0\n\
-_081083A4: .4byte 0x02016800\n\
+_081083A4: .4byte gSharedMem + 0x16800\n\
_081083A8: .4byte gAIScriptPtr\n\
_081083AC:\n\
movs r0, 0x1\n\
diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c
index 408a21f86..1a78b2863 100644
--- a/src/battle/battle_anim.c
+++ b/src/battle/battle_anim.c
@@ -801,7 +801,7 @@ _08075FDC:\n\
cmp r0, 0\n\
bne _0807601C\n\
lsls r0, r5, 2\n\
- ldr r1, _08076020 @ =0x02017800\n\
+ ldr r1, _08076020 @ =gSharedMem + 0x17800\n\
adds r0, r1\n\
ldrb r1, [r0]\n\
movs r0, 0x1\n\
@@ -825,7 +825,7 @@ _0807601C:\n\
movs r0, 0x1\n\
b _0807602E\n\
.align 2, 0\n\
-_08076020: .4byte 0x02017800\n\
+_08076020: .4byte gSharedMem + 0x17800\n\
_08076024: .4byte gSprites\n\
_08076028: .4byte gObjectBankIDs\n\
_0807602C:\n\
@@ -1533,7 +1533,7 @@ s8 sub_8076F98(s8 a)
lsls r0, r2, 1\n\
adds r0, r2\n\
lsls r0, 2\n\
- ldr r1, _08076FD8 @ =0x02017810\n\
+ ldr r1, _08076FD8 @ =gSharedMem + 0x17810\n\
adds r0, r1\n\
ldrb r1, [r0]\n\
movs r0, 0x10\n\
@@ -1550,7 +1550,7 @@ s8 sub_8076F98(s8 a)
b _0807706E\n\
.align 2, 0\n\
_08076FD4: .4byte gBattleAnimBankAttacker\n\
-_08076FD8: .4byte 0x02017810\n\
+_08076FD8: .4byte gSharedMem + 0x17810\n\
_08076FDC:\n\
bl NotInBattle\n\
lsls r0, 24\n\
diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c
index 09837bfee..0bd2e882f 100644
--- a/src/battle/battle_interface.c
+++ b/src/battle/battle_interface.c
@@ -700,11 +700,11 @@ static void sub_8043FC0(u8 a, u8 b)
*(ptr++) = 0x13;
*(ptr++) = 0xF;
*(ptr++) = EOS;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
two = 2;
for (i = 0; i < two; i++)
- CpuCopy32((void *)(0x02000020 + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32);
+ CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32);
}
#ifdef NONMATCHING
@@ -738,7 +738,7 @@ void sub_80440EC(u8 a, s16 b, u8 c)
ptr = sub_8003504(ptr, b, 0x13, 1);
*(ptr++) = 0xBA;
*(ptr++) = 0xFF;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
}
else
{
@@ -748,14 +748,14 @@ void sub_80440EC(u8 a, s16 b, u8 c)
r4 = gUnknown_0820A85C;
c = 2;
sub_8003504(ptr, b, 0xF, 1);
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
}
//asm(""::"r"(a));
//_080441B6
for (i = 0; i < c; i++) // _080440BC
{
void *temp = r4[i] + gSprites[a].oam.tileNum * 32;
- CpuCopy32((void *)(0x02000020 + i * 0x40), temp, 0x20);
+ CpuCopy32((void *)(ewram0_9(1) + i * 0x40), temp, 0x20);
}
}
#else
@@ -873,7 +873,7 @@ _080441B6:\n\
lsls r0, 2\n\
adds r6, r0, r1\n\
adds r7, r4, 0\n\
- ldr r5, _08044208 @ =0x02000020\n\
+ ldr r5, _08044208 @ =gSharedMem + 0x20\n\
mov r4, r8\n\
_080441D6:\n\
ldrh r0, [r6, 0x4]\n\
@@ -899,7 +899,7 @@ _080441F0:\n\
_080441FC: .4byte gUnknown_0820A85C\n\
_08044200: .4byte gUnknown_0820A854\n\
_08044204: .4byte gSprites\n\
-_08044208: .4byte 0x02000020\n\
+_08044208: .4byte gSharedMem + 0x20\n\
_0804420C: .4byte 0x04000008\n\
.syntax divided\n");
}
@@ -939,10 +939,10 @@ static void sub_8044210(u8 a, s16 b, u8 c)
}
}
r4 = gSprites[a].data5;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
for (i = 0; i < r10; i++)
{
- CpuCopy32((void *)(0x02000020 + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20);
+ CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 0x20);
}
}
@@ -999,19 +999,19 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
ConvertIntToDecimalStringN(str + 9, ewram16088, 1, 2);
str[5] = 0;
str[8] = 0xBA;
- sub_80034D4((u8 *)0x02000000, str);
+ sub_80034D4(ewram0_9(0), str);
for (r7 = 0; r7 < 5; r7++)
{
if (r7 <= 1)
{
int foo = (gSprites[r5].oam.tileNum + 2 + r7);
- CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32);
+ CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x06010000 + foo * 32, 32);
}
else
{
int foo = (r7 + gSprites[r5].oam.tileNum);
- CpuCopy32((u8 *)0x02000020 + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32);
+ CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)0x060100C0 + foo * 32, 32);
}
}
}
@@ -1049,7 +1049,7 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
lsls r1, r0, 1\n\
adds r1, r0\n\
lsls r1, 7\n\
- ldr r3, _080443D4 @ =0x02000520\n\
+ ldr r3, _080443D4 @ =gSharedMem + 0x520\n\
adds r6, r1, r3\n\
movs r0, 0x5\n\
mov r8, r0\n\
@@ -1094,7 +1094,7 @@ _080443C8:\n\
.align 2, 0\n\
_080443CC: .4byte gUnknown_0820A864\n\
_080443D0: .4byte gSprites\n\
-_080443D4: .4byte 0x02000520\n\
+_080443D4: .4byte gSharedMem + 0x520\n\
_080443D8: .4byte gNatureNames\n\
_080443DC:\n\
adds r0, r1, 0\n\
@@ -1193,7 +1193,7 @@ _08044486:\n\
ldrh r5, [r0, 0x38]\n\
lsls r5, 24\n\
lsrs r5, 24\n\
- ldr r4, _08044504 @ =0x02000000\n\
+ ldr r4, _08044504 @ =gSharedMem\n\
ldr r2, _08044508 @ =0x00016089\n\
adds r0, r4, r2\n\
ldrb r1, [r0]\n\
@@ -1222,7 +1222,7 @@ _08044486:\n\
adds r0, r5\n\
lsls r0, 2\n\
adds r5, r0, r6\n\
- ldr r4, _08044510 @ =0x02000020\n\
+ ldr r4, _08044510 @ =gSharedMem + 0x20\n\
_080444DA:\n\
cmp r7, 0x1\n\
bgt _08044514\n\
@@ -1242,10 +1242,10 @@ _080444DA:\n\
_080444F8: .4byte 0x04000008\n\
_080444FC: .4byte gSprites\n\
_08044500: .4byte 0x06010000\n\
-_08044504: .4byte 0x02000000\n\
+_08044504: .4byte gSharedMem\n\
_08044508: .4byte 0x00016089\n\
_0804450C: .4byte 0x00016088\n\
-_08044510: .4byte 0x02000020\n\
+_08044510: .4byte gSharedMem + 0x20\n\
_08044514:\n\
ldrh r1, [r5, 0x4]\n\
lsls r1, 22\n\
@@ -2409,7 +2409,7 @@ static void sub_80451A0(u8 a, struct Pokemon *pkmn)
ptr[1] = 0x13;
ptr[2] = 0x37;
ptr[3] = EOS;
- ptr = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180;
+ ptr = ewram520_2 + GetBankIdentity(gSprites[a].data6) * 0x180;
sub_80034D4(ptr, gDisplayedStringBattle);
i = 0;
@@ -2657,7 +2657,7 @@ static void sub_80458B0(u8 a)
s32 r7;
u8 *addr;
- r6 = (u8 *)0x02000520 + GetBankIdentity(gSprites[a].data6) * 0x180;
+ r6 = ewram520_2 + GetBankIdentity(gSprites[a].data6) * 0x180;
r8 = 7;
sub_80034D4(r6, BattleText_SafariBalls);
for (i = 0; i < r8; i++)
@@ -2686,10 +2686,10 @@ static void sub_8045998(u8 a)
r7 = sub_8003504(r7, gNumSafariBalls, 10, 1);
StringAppend(r7, BattleText_HighlightRed);
status = GetBankIdentity(gSprites[a].data6);
- r7 = (u8 *)0x02000520 + status * 0x180;
+ r7 = ewram520_2 + status * 0x180;
r6 = 5;
sub_80034D4(r7, gDisplayedStringBattle);
- r7 = (u8 *)0x02000520 + status * 0x180 + 32;
+ r7 = ewram520_2 + status * 0x180 + 32;
for (i = 6; i < 6 + r6; i++)
{
CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32);
diff --git a/src/data/credits_de.h b/src/data/credits_de.h
new file mode 100755
index 000000000..570c0d4c5
--- /dev/null
+++ b/src/data/credits_de.h
@@ -0,0 +1,624 @@
+static const u8 Text_Version_Ruby[] = _("POKéMON RUBIN-EDITION");
+static const u8 Text_Version_Sapphire[] = _("POKéMON SAPHIR-EDITION");
+static const u8 Category_Credits[] = _("{PALETTE 9}Credits");
+static const u8 Category_ExecutiveDirector[] = _("{PALETTE 9}Executive Director");
+static const u8 Category_Director[] = _("{PALETTE 9}Director");
+static const u8 Category_ArtDirector[] = _("{PALETTE 9}Art Director");
+static const u8 Category_BattleDirector[] = _("{PALETTE 9}Battle Director");
+static const u8 Category_MainProgrammer[] = _("{PALETTE 9}Main Programmer");
+static const u8 Category_BattleSystemProgrammer[] = _("{PALETTE 9}Battle System Programmer");
+static const u8 Category_FieldSystemProgrammer[] = _("{PALETTE 9}Field System Programmer");
+static const u8 Category_Programmers[] = _("{PALETTE 9}Programmers");
+static const u8 Category_MainGraphicDesigner[] = _("{PALETTE 9}Main Graphic Designer");
+static const u8 Category_POKeMONGraphicDesigners[] = _("{PALETTE 9}POKéMON & Graphic Designers");
+static const u8 Category_POKeMONDesigners[] = _("{PALETTE 9}POKéMON Designers");
+static const u8 Category_MusicComposition[] = _("{PALETTE 9}Music Composition");
+static const u8 Category_SoundEffectsPOKeMONVoices[] = _("{PALETTE 9}Sound Effects & POKéMON Voices");
+static const u8 Category_GameDesigners[] = _("{PALETTE 9}Game Designers");
+static const u8 Category_PlotScenario[] = _("{PALETTE 9}Plot Scenario");
+static const u8 Category_GameScenario[] = _("{PALETTE 9}Game Scenario");
+static const u8 Category_ScriptDesigners[] = _("{PALETTE 9}Script Designers");
+static const u8 Category_MapDesigners[] = _("{PALETTE 9}Map Designers");
+static const u8 Category_MapDataDesigners[] = _("{PALETTE 9}Map Data Designers");
+static const u8 Category_ParametricDesigners[] = _("{PALETTE 9}Parametric Designers");
+static const u8 Category_POKeDEXText[] = _("{PALETTE 9}POKéDEX Text");
+static const u8 Category_EnvironmentToolProgrammers[] = _("{PALETTE 9}Environment & Tool Programmers");
+static const u8 Category_ProductTesting[] = _("{PALETTE 9}Product Testing");
+static const u8 Category_SpecialThanks[] = _("{PALETTE 9}Special Thanks");
+static const u8 Category_Coordinators[] = _("{PALETTE 9}Coordinators");
+static const u8 Category_Producers[] = _("{PALETTE 9}Producers");
+static const u8 Category_ExecutiveProducers[] = _("{PALETTE 9}Executive Producers");
+static const u8 Category_InformationSupervisors[] = _("{PALETTE 9}Information Supervisors");
+static const u8 Category_TaskManagers[] = _("{PALETTE 9}Task Managers");
+static const u8 Category_BrailleCodeCheck[] = _("{PALETTE 9}Braille Code Check");
+static const u8 Category_GermanVersionCoordinators[] = _("{PALETTE 9}German Version Coordinators");
+static const u8 Category_Translators[] = _("{PALETTE 9}Translators");
+static const u8 Category_ProductSupport[] = _("{PALETTE 9}Product Support");
+static const u8 Category_Artwork[] = _("{PALETTE 9}Artwork");
+static const u8 Category_TextEditor[] = _("{PALETTE 9}Text Editor");
+static const u8 Category_NOEProductTesting[] = _("{PALETTE 9}NOE Product Testing");
+static const u8 Category_GraphicDesigners[] = _("{PALETTE 9}Graphic Designers");
+static const u8 Text_SatoshiTajiri[] = _("Satoshi Tajiri");
+static const u8 Text_Masuda[] = _("Junichi Masuda");
+static const u8 Text_Sugimori[] = _("Ken Sugimori");
+static const u8 Text_Morimoto[] = _("Shigeki Morimoto");
+static const u8 Text_TetsuyaWatanabe[] = _("Tetsuya Watanabe");
+static const u8 Text_Sogabe[] = _("Hisashi Sogabe");
+static const u8 Text_Tamada[] = _("Sousuke Tamada");
+static const u8 Text_Mori[] = _("Akito Mori");
+static const u8 Text_Kagaya[] = _("Keita Kagaya");
+static const u8 Text_Matsuda[] = _("Yoshinori Matsuda");
+static const u8 Text_HiroyukiNakamura[] = _("Hiroyuki Nakamura");
+static const u8 Text_Taya[] = _("Masao Taya");
+static const u8 Text_Nohara[] = _("Satoshi Nohara");
+static const u8 Text_TomomichiOhta[] = _("Tomomichi Ohta");
+static const u8 Text_Iwasawa[] = _("Miyuki Iwasawa");
+static const u8 Text_TakenoriOhta[] = _("Takenori Ohta");
+static const u8 Text_Yoshida[] = _("Hironobu Yoshida");
+static const u8 Text_Fujiwara[] = _("Motofumi Fujiwara");
+static const u8 Text_SatoshiOhta[] = _("Satoshi Ohta");
+static const u8 Text_Iwashita[] = _("Asuka Iwashita");
+static const u8 Text_Tomita[] = _("Aimi Tomita");
+static const u8 Text_Unno[] = _("Takao Unno");
+static const u8 Text_Eo[] = _("Kanako Eo");
+static const u8 Text_Okutani[] = _("Jun Okutani");
+static const u8 Text_Nishida[] = _("Atsuko Nishida");
+static const u8 Text_Saito[] = _("Muneo Saito");
+static const u8 Text_Yoshikawa[] = _("Rena Yoshikawa");
+static const u8 Text_Ichinose[] = _("Go Ichinose");
+static const u8 Text_Aoki[] = _("Morikazu Aoki");
+static const u8 Text_Nishino[] = _("Koji Nishino");
+static const u8 Text_Matsushima[] = _("Kenji Matsushima");
+static const u8 Text_TetsujiOhta[] = _("Tetsuji Ohta");
+static const u8 Text_Sato[] = _("Hitomi Sato");
+static const u8 Text_Kawachimaru[] = _("Takeshi Kawachimaru");
+static const u8 Text_Shimoyamada[] = _("Teruyuki Shimoyamada");
+static const u8 Text_Ohmori[] = _("Shigeru Ohmori");
+static const u8 Text_Takahashi[] = _("Tadashi Takahashi");
+static const u8 Text_ToshinobuMatsumiya[] = _("Toshinobu Matsumiya");
+static const u8 Text_Tomisawa[] = _("Akihito Tomisawa");
+static const u8 Text_Enomoto[] = _("Hiroki Enomoto");
+static const u8 Text_Terada[] = _("Kazuyuki Terada");
+static const u8 Text_Sakurai[] = _("Yuri Sakurai");
+static const u8 Text_Sagawa[] = _("Hiromi Sagawa");
+static const u8 Text_Tominaga[] = _("Kenji Tominaga");
+static const u8 Text_YoshioTajiri[] = _("Yoshio Tajiri");
+static const u8 Text_Sasaki[] = _("Teiko Sasaki");
+static const u8 Text_Hamano[] = _("Sachiko Hamano");
+static const u8 Text_ChieMatsumiya[] = _("Chie Matsumiya");
+static const u8 Text_Shinozaki[] = _("Akiko Shinozaki");
+static const u8 Text_Fujii[] = _("Atsuko Fujii");
+static const u8 Text_SuperMarioClub[] = _("NCL Super Mario Club");
+static const u8 Text_Tada[] = _("Atsushi Tada");
+static const u8 Text_Ohnishi[] = _("Takahiro Ohnishi");
+static const u8 Text_Okamura[] = _("Norihide Okamura");
+static const u8 Text_HiroNakamura[] = _("Hiro Nakamura");
+static const u8 Text_Uesugi[] = _("Hiroyuki Uesugi");
+static const u8 Text_Murakawa[] = _("Teruki Murakawa");
+static const u8 Text_Kinashi[] = _("Akira Kinashi");
+static const u8 Text_Takizawa[] = _("Michiko Takizawa");
+static const u8 Text_Takada[] = _("Makiko Takada");
+static const u8 Text_Kondo[] = _("Takanao Kondo");
+static const u8 Text_Mashima[] = _("Ai Mashima");
+static const u8 Text_Nomoto[] = _("Gakuji Nomoto");
+static const u8 Text_Izushi[] = _("Takehiro Izushi");
+static const u8 Text_Yamagami[] = _("Hitoshi Yamagami");
+static const u8 Text_KyokoWatanabe[] = _("Kyoko Watanabe");
+static const u8 Text_Nakano[] = _("Takao Nakano");
+static const u8 Text_Jinnai[] = _("Hiroyuki Jinnai");
+static const u8 Text_Tsuru[] = _("Hiroaki Tsuru");
+static const u8 Text_Ishihara[] = _("Tsunekaz Ishihara");
+static const u8 Text_Iwata[] = _("Satoru Iwata");
+static const u8 Text_Suyama[] = _("Kazuya Suyama");
+static const u8 Text_Mitsuhara[] = _("Satoshi Mitsuhara");
+static const u8 Text_JapanBrailleLibrary[] = _("Japan Braille Library");
+static const u8 Text_Komura[] = _("Tomotaka Komura");
+static const u8 Text_Ohashi[] = _("Mikiko Ohashi");
+static const u8 Text_Yamamoto[] = _("Souichi Yamamoto");
+static const u8 Text_Funakoshi[] = _("Masanori Funakoshi");
+static const u8 Text_Nakamichi[] = _("Kimiko Nakamichi");
+static const u8 Text_Hara[] = _("Daisuke Hara");
+static const u8 Text_Ford[] = _("Sayoko Blodgett-Ford");
+static const u8 Text_Barlow[] = _("Nicola Pratt-Barlow");
+static const u8 Text_Uyama[] = _("Koji Uyama");
+static const u8 Text_EBU[] = _("European Blind Union");
+static const u8 Text_Saeki[] = _("Naoko Saeki");
+static const u8 Text_Sadahisa[] = _("Kayo Sadahisa");
+static const u8 Text_Schafer[] = _("Daniel Schäfers");
+static const u8 Text_Deimel[] = _("Martina Deimel");
+static const u8 Text_Jahn[] = _("Andrea Jähn");
+static const u8 Text_Victoria[] = _("Ángel Victoria");
+static const u8 Text_Mawer[] = _("Matthew Mawer");
+static const u8 Text_Danieli[] = _("Alessio Danieli");
+static const u8 Text_Schnitzer[] = _("Rudi Schnitzer");
+static const u8 Text_Pujos[] = _("Gabriera Pujós");
+static const u8 Text_CreditsTerminator[] = _("");
+
+static const struct CreditsEntry CreditsTerminator[] = {0, Text_CreditsTerminator};
+static const struct CreditsEntry CreditsCredits[] = {11, Category_Credits};
+static const struct CreditsEntry CreditsExecutiveDirector[] = {8, Category_ExecutiveDirector};
+static const struct CreditsEntry CreditsDirector[] = {12, Category_Director};
+static const struct CreditsEntry CreditsArtDirector[] = {10, Category_ArtDirector};
+static const struct CreditsEntry CreditsBattleDirector[] = {10, Category_BattleDirector};
+static const struct CreditsEntry CreditsMainProgrammer[] = {10, Category_MainProgrammer};
+static const struct CreditsEntry CreditsBattleSystemProgrammer[] = {8, Category_BattleSystemProgrammer};
+static const struct CreditsEntry CreditsFieldSystemProgrammer[] = {7, Category_FieldSystemProgrammer};
+static const struct CreditsEntry CreditsProgrammers[] = {12, Category_Programmers};
+static const struct CreditsEntry CreditsMainGraphicDesigner[] = {7, Category_MainGraphicDesigner};
+static const struct CreditsEntry CreditsPOKeMONGraphicDesigners[] = {6, Category_POKeMONGraphicDesigners};
+static const struct CreditsEntry CreditsPOKeMONDesigners[] = {10, Category_POKeMONDesigners};
+static const struct CreditsEntry CreditsMusicComposition[] = {13, Category_MusicComposition};
+static const struct CreditsEntry CreditsSoundEffectsPOKeMONVoices[] = {4, Category_SoundEffectsPOKeMONVoices};
+static const struct CreditsEntry CreditsGameDesigners[] = {11, Category_GameDesigners};
+static const struct CreditsEntry CreditsPlotScenario[] = {11, Category_PlotScenario};
+static const struct CreditsEntry CreditsGameScenario[] = {13, Category_GameScenario};
+static const struct CreditsEntry CreditsScriptDesigners[] = {10, Category_ScriptDesigners};
+static const struct CreditsEntry CreditsMapDesigners[] = {11, Category_MapDesigners};
+static const struct CreditsEntry CreditsMapDataDesigners[] = {9, Category_MapDataDesigners};
+static const struct CreditsEntry CreditsParametricDesigners[] = {9, Category_ParametricDesigners};
+static const struct CreditsEntry CreditsPOKeDEXText[] = {11, Category_POKeDEXText};
+static const struct CreditsEntry CreditsEnvironmentToolProgrammers[] = {6, Category_EnvironmentToolProgrammers};
+static const struct CreditsEntry CreditsProductTesting[] = {11, Category_ProductTesting};
+static const struct CreditsEntry CreditsSpecialThanks[] = {10, Category_SpecialThanks};
+static const struct CreditsEntry CreditsCoordinators[] = {11, Category_Coordinators};
+static const struct CreditsEntry CreditsProducers[] = {11, Category_Producers};
+static const struct CreditsEntry CreditsExecutiveProducers[] = {7, Category_ExecutiveProducers};
+static const struct CreditsEntry CreditsInformationSupervisors[] = {10, Category_InformationSupervisors};
+static const struct CreditsEntry CreditsTaskManagers[] = {8, Category_TaskManagers};
+static const struct CreditsEntry CreditsBrailleCodeCheck[] = {10, Category_BrailleCodeCheck};
+static const struct CreditsEntry CreditsSatoshiTajiri[] = {11, Text_SatoshiTajiri};
+static const struct CreditsEntry CreditsMasuda[] = {11, Text_Masuda};
+static const struct CreditsEntry CreditsSugimori[] = {11, Text_Sugimori};
+static const struct CreditsEntry CreditsMorimoto[] = {11, Text_Morimoto};
+static const struct CreditsEntry CreditsTetsuyaWatanabe[] = {11, Text_TetsuyaWatanabe};
+static const struct CreditsEntry CreditsSogabe[] = {11, Text_Sogabe};
+static const struct CreditsEntry CreditsTamada[] = {11, Text_Tamada};
+static const struct CreditsEntry CreditsMori[] = {11, Text_Mori};
+static const struct CreditsEntry CreditsKagaya[] = {11, Text_Kagaya};
+static const struct CreditsEntry CreditsMatsuda[] = {11, Text_Matsuda};
+static const struct CreditsEntry CreditsHiroyukiNakamura[] = {11, Text_HiroyukiNakamura};
+static const struct CreditsEntry CreditsTaya[] = {11, Text_Taya};
+static const struct CreditsEntry CreditsNohara[] = {11, Text_Nohara};
+static const struct CreditsEntry CreditsTomomichiOhta[] = {11, Text_TomomichiOhta};
+static const struct CreditsEntry CreditsIwasawa[] = {11, Text_Iwasawa};
+static const struct CreditsEntry CreditsTakenoriOhta[] = {11, Text_TakenoriOhta};
+static const struct CreditsEntry CreditsYoshida[] = {11, Text_Yoshida};
+static const struct CreditsEntry CreditsFujiwara[] = {11, Text_Fujiwara};
+static const struct CreditsEntry CreditsSatoshiOhta[] = {11, Text_SatoshiOhta};
+static const struct CreditsEntry CreditsIwashita[] = {11, Text_Iwashita};
+static const struct CreditsEntry CreditsTomita[] = {11, Text_Tomita};
+static const struct CreditsEntry CreditsUnno[] = {11, Text_Unno};
+static const struct CreditsEntry CreditsEo[] = {11, Text_Eo};
+static const struct CreditsEntry CreditsOkutani[] = {11, Text_Okutani};
+static const struct CreditsEntry CreditsNishida[] = {11, Text_Nishida};
+static const struct CreditsEntry CreditsSaito[] = {11, Text_Saito};
+static const struct CreditsEntry CreditsYoshikawa[] = {11, Text_Yoshikawa};
+static const struct CreditsEntry CreditsIchinose[] = {11, Text_Ichinose};
+static const struct CreditsEntry CreditsAoki[] = {11, Text_Aoki};
+static const struct CreditsEntry CreditsNishino[] = {11, Text_Nishino};
+static const struct CreditsEntry CreditsMatsushima[] = {11, Text_Matsushima};
+static const struct CreditsEntry CreditsTetsujiOhta[] = {11, Text_TetsujiOhta};
+static const struct CreditsEntry CreditsSato[] = {11, Text_Sato};
+static const struct CreditsEntry CreditsKawachimaru[] = {11, Text_Kawachimaru};
+static const struct CreditsEntry CreditsShimoyamada[] = {11, Text_Shimoyamada};
+static const struct CreditsEntry CreditsOhmori[] = {11, Text_Ohmori};
+static const struct CreditsEntry CreditsTakahashi[] = {11, Text_Takahashi};
+static const struct CreditsEntry CreditsToshinobuMatsumiya[] = {11, Text_ToshinobuMatsumiya};
+static const struct CreditsEntry CreditsTomisawa[] = {11, Text_Tomisawa};
+static const struct CreditsEntry CreditsEnomoto[] = {11, Text_Enomoto};
+static const struct CreditsEntry CreditsTerada[] = {11, Text_Terada};
+static const struct CreditsEntry CreditsSakurai[] = {11, Text_Sakurai};
+static const struct CreditsEntry CreditsSagawa[] = {11, Text_Sagawa};
+static const struct CreditsEntry CreditsTominaga[] = {11, Text_Tominaga};
+static const struct CreditsEntry CreditsYoshioTajiri[] = {11, Text_YoshioTajiri};
+static const struct CreditsEntry CreditsSasaki[] = {11, Text_Sasaki};
+static const struct CreditsEntry CreditsHamano[] = {11, Text_Hamano};
+static const struct CreditsEntry CreditsChieMatsumiya[] = {11, Text_ChieMatsumiya};
+static const struct CreditsEntry CreditsShinozaki[] = {11, Text_Shinozaki};
+static const struct CreditsEntry CreditsFujii[] = {11, Text_Fujii};
+static const struct CreditsEntry CreditsSuperMarioClub[] = {11, Text_SuperMarioClub};
+static const struct CreditsEntry CreditsTada[] = {11, Text_Tada};
+static const struct CreditsEntry CreditsOhnishi[] = {11, Text_Ohnishi};
+static const struct CreditsEntry CreditsOkamura[] = {11, Text_Okamura};
+static const struct CreditsEntry CreditsHiroNakamura[] = {11, Text_HiroNakamura};
+static const struct CreditsEntry CreditsUesugi[] = {11, Text_Uesugi};
+static const struct CreditsEntry CreditsMurakawa[] = {11, Text_Murakawa};
+static const struct CreditsEntry CreditsKinashi[] = {11, Text_Kinashi};
+static const struct CreditsEntry CreditsTakizawa[] = {11, Text_Takizawa};
+static const struct CreditsEntry CreditsTakada[] = {11, Text_Takada};
+static const struct CreditsEntry CreditsKondo[] = {11, Text_Kondo};
+static const struct CreditsEntry CreditsMashima[] = {11, Text_Mashima};
+static const struct CreditsEntry CreditsNomoto[] = {11, Text_Nomoto};
+static const struct CreditsEntry CreditsIzushi[] = {11, Text_Izushi};
+static const struct CreditsEntry CreditsYamagami[] = {11, Text_Yamagami};
+static const struct CreditsEntry CreditsKyokoWatanabe[] = {11, Text_KyokoWatanabe};
+static const struct CreditsEntry CreditsNakano[] = {11, Text_Nakano};
+static const struct CreditsEntry CreditsJinnai[] = {11, Text_Jinnai};
+static const struct CreditsEntry CreditsTsuru[] = {11, Text_Tsuru};
+static const struct CreditsEntry CreditsIshihara[] = {11, Text_Ishihara};
+static const struct CreditsEntry CreditsIwata[] = {11, Text_Iwata};
+static const struct CreditsEntry CreditsSuyama[] = {11, Text_Suyama};
+static const struct CreditsEntry CreditsMitsuhara[] = {11, Text_Mitsuhara};
+static const struct CreditsEntry CreditsJapanBrailleLibrary[] = {9, Text_JapanBrailleLibrary};
+static const struct CreditsEntry CreditsKomura[] = {11, Text_Komura};
+static const struct CreditsEntry CreditsOhashi[] = {11, Text_Ohashi};
+static const struct CreditsEntry CreditsTranslators[] = {0, Category_Translators};
+static const struct CreditsEntry CreditsProductSupport[] = {0, Category_ProductSupport};
+static const struct CreditsEntry CreditsArtwork[] = {0, Category_Artwork};
+static const struct CreditsEntry CreditsTextEditor[] = {0, Category_TextEditor};
+static const struct CreditsEntry CreditsGraphicDesigners[] = {0, Category_GraphicDesigners};
+static const struct CreditsEntry CreditsYamamoto[] = {0, Text_Yamamoto};
+static const struct CreditsEntry CreditsFunakoshi[] = {0, Text_Funakoshi};
+static const struct CreditsEntry CreditsNakamichi[] = {0, Text_Nakamichi};
+static const struct CreditsEntry CreditsHara[] = {0, Text_Hara};
+static const struct CreditsEntry CreditsFord[] = {0, Text_Ford};
+static const struct CreditsEntry CreditsBarlow[] = {0, Text_Barlow};
+static const struct CreditsEntry CreditsUyama[] = {0, Text_Uyama};
+static const struct CreditsEntry CreditsEBU[] = {0, Text_EBU};
+#ifdef SAPPHIRE
+static const struct CreditsEntry CreditsVersion[] = {0, Text_Version_Sapphire};
+#else
+static const struct CreditsEntry CreditsVersion[] = {0, Text_Version_Ruby};
+#endif
+static const struct CreditsEntry CreditsNOEProductTesting[] = {0, Category_NOEProductTesting};
+static const struct CreditsEntry CreditsSaeki[] = {0, Text_Saeki};
+static const struct CreditsEntry CreditsSadahisa[] = {0, Text_Sadahisa};
+static const struct CreditsEntry CreditsGermanVersionCoordinators[] = {0, Category_GermanVersionCoordinators};
+static const struct CreditsEntry CreditsSchafer[] = {0, Text_Schafer};
+static const struct CreditsEntry CreditsDeimel[] = {0, Text_Deimel};
+static const struct CreditsEntry CreditsJahn[] = {0, Text_Jahn};
+static const struct CreditsEntry CreditsVictoria[] = {0, Text_Victoria};
+static const struct CreditsEntry CreditsMawer[] = {0, Text_Mawer};
+static const struct CreditsEntry CreditsDanieli[] = {0, Text_Danieli};
+static const struct CreditsEntry CreditsSchnitzer[] = {0, Text_Schnitzer};
+static const struct CreditsEntry CreditsPujos[] = {0, Text_Pujos};
+
+#define LINES_PER_PAGE 5
+#define _ CreditsTerminator
+const struct CreditsEntry *const gCreditsEntryPointerTable[][LINES_PER_PAGE] =
+{
+ {
+ _,
+ CreditsVersion,
+ CreditsCredits,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsDirector,
+ CreditsMasuda,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsArtDirector,
+ CreditsSugimori,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsBattleDirector,
+ CreditsMorimoto,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsMainProgrammer,
+ CreditsTetsuyaWatanabe,
+ _,
+ _
+ },
+ {
+ CreditsBattleSystemProgrammer,
+ CreditsSogabe,
+ CreditsFieldSystemProgrammer,
+ CreditsTamada,
+ _
+ },
+ {
+ CreditsProgrammers,
+ CreditsMori,
+ CreditsKagaya,
+ CreditsMatsuda,
+ _
+ },
+ {
+ CreditsProgrammers,
+ CreditsHiroyukiNakamura,
+ CreditsTaya,
+ CreditsNohara,
+ _
+ },
+ {
+ CreditsProgrammers,
+ CreditsTomomichiOhta,
+ CreditsIwasawa,
+ CreditsTakenoriOhta,
+ _
+ },
+ {
+ _,
+ CreditsMainGraphicDesigner,
+ CreditsYoshida,
+ _,
+ _
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsSugimori,
+ CreditsYoshida,
+ _,
+ _
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsFujiwara,
+ CreditsSatoshiOhta,
+ CreditsIwashita,
+ _
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsTomita,
+ CreditsUnno,
+ CreditsEo,
+ _
+ },
+ {
+ CreditsPOKeMONDesigners,
+ CreditsMorimoto,
+ CreditsOkutani,
+ CreditsNishida,
+ _
+ },
+ {
+ CreditsPOKeMONDesigners,
+ CreditsSaito,
+ CreditsYoshikawa,
+ _,
+ _
+ },
+ {
+ CreditsMusicComposition,
+ CreditsIchinose,
+ CreditsAoki,
+ CreditsMasuda,
+ _
+ },
+ {
+ _,
+ CreditsSoundEffectsPOKeMONVoices,
+ CreditsAoki,
+ _,
+ _
+ },
+ {
+ CreditsGameDesigners,
+ CreditsMasuda,
+ CreditsMorimoto,
+ CreditsNishino,
+ _
+ },
+ {
+ CreditsGameDesigners,
+ CreditsMatsushima,
+ CreditsTetsujiOhta,
+ CreditsSato,
+ CreditsKawachimaru
+ },
+ {
+ CreditsGameDesigners,
+ CreditsShimoyamada,
+ CreditsOhmori,
+ CreditsTakahashi,
+ _
+ },
+ {
+ CreditsPlotScenario,
+ CreditsMasuda,
+ CreditsTomisawa,
+ CreditsNishino,
+ _
+ },
+ {
+ CreditsGameScenario,
+ CreditsToshinobuMatsumiya,
+ CreditsTomisawa,
+ _,
+ _
+ },
+ {
+ CreditsScriptDesigners,
+ CreditsNohara,
+ CreditsTetsujiOhta,
+ CreditsTomomichiOhta,
+ _
+ },
+ {
+ CreditsMapDesigners,
+ CreditsOhmori,
+ CreditsTetsujiOhta,
+ CreditsNishino,
+ _
+ },
+ {
+ CreditsMapDataDesigners,
+ CreditsTetsujiOhta,
+ CreditsTakahashi,
+ _,
+ _
+ },
+ {
+ CreditsParametricDesigners,
+ CreditsNishino,
+ CreditsMorimoto,
+ CreditsTetsujiOhta,
+ CreditsShimoyamada
+ },
+ {
+ _,
+ CreditsPOKeDEXText,
+ CreditsMatsushima,
+ _,
+ _
+ },
+ {
+ CreditsEnvironmentToolProgrammers,
+ CreditsSogabe,
+ CreditsTamada,
+ CreditsHiroyukiNakamura,
+ CreditsMori
+ },
+ {
+ CreditsProductTesting,
+ CreditsSuperMarioClub,
+ CreditsTada,
+ CreditsOhnishi,
+ CreditsOkamura
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsTominaga,
+ CreditsYoshioTajiri,
+ CreditsSasaki,
+ _
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsHamano,
+ CreditsChieMatsumiya,
+ CreditsShinozaki,
+ CreditsFujii
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsSuyama,
+ CreditsMitsuhara,
+ CreditsKomura,
+ CreditsOhashi
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsTakizawa,
+ CreditsTakada,
+ CreditsKondo,
+ CreditsMashima
+ },
+ {
+ CreditsInformationSupervisors,
+ CreditsEnomoto,
+ CreditsTerada,
+ CreditsSakurai,
+ CreditsSagawa
+ },
+ {
+ CreditsCoordinators,
+ CreditsKyokoWatanabe,
+ CreditsNakano,
+ _,
+ _
+ },
+ {
+ CreditsTaskManagers,
+ CreditsYamagami,
+ CreditsNomoto,
+ _,
+ _
+ },
+ {
+ CreditsProducers,
+ CreditsJinnai,
+ CreditsIzushi,
+ CreditsTsuru,
+ _
+ },
+ {
+ _,
+ CreditsExecutiveDirector,
+ CreditsSatoshiTajiri,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsExecutiveProducers,
+ CreditsIwata,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsExecutiveProducers,
+ CreditsIshihara,
+ _,
+ _
+ },
+ {
+ CreditsGermanVersionCoordinators,
+ CreditsUesugi,
+ CreditsSadahisa,
+ _,
+ _
+ },
+ {
+ CreditsTranslators,
+ CreditsSchafer,
+ CreditsDeimel,
+ CreditsJahn,
+ _
+ },
+ {
+ CreditsProgrammers,
+ CreditsMurakawa,
+ CreditsYamamoto,
+ CreditsKinashi,
+ _
+ },
+ {
+ CreditsGraphicDesigners,
+ CreditsYamamoto,
+ CreditsKinashi,
+ _,
+ _
+ },
+ {
+ CreditsProductSupport,
+ CreditsNakamichi,
+ CreditsSaeki,
+ CreditsHara,
+ _
+ },
+ {
+ CreditsNOEProductTesting,
+ CreditsVictoria,
+ CreditsMawer,
+ CreditsDanieli,
+ CreditsSchnitzer
+ },
+ {
+ _,
+ CreditsBrailleCodeCheck,
+ CreditsEBU,
+ _,
+ _
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsHiroNakamura,
+ CreditsFord,
+ CreditsBarlow,
+ _
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsUyama,
+ CreditsPujos,
+ _,
+ _
+ },
+};
+#undef _
diff --git a/src/data/credits_en.h b/src/data/credits_en.h
new file mode 100755
index 000000000..8ce0bad03
--- /dev/null
+++ b/src/data/credits_en.h
@@ -0,0 +1,654 @@
+const u8 Category_Credits[] = _("{PALETTE 9}Credits");
+const u8 Category_ExecutiveDirector[] = _("{PALETTE 9}Executive Director");
+const u8 Category_Director[] = _("{PALETTE 9}Director");
+const u8 Category_ArtDirector[] = _("{PALETTE 9}Art Director");
+const u8 Category_BattleDirector[] = _("{PALETTE 9}Battle Director");
+const u8 Category_MainProgrammer[] = _("{PALETTE 9}Main Programmer");
+const u8 Category_BattleSystemProgrammer[] = _("{PALETTE 9}Battle System Programmer");
+const u8 Category_FieldSystemProgrammer[] = _("{PALETTE 9}Field System Programmer");
+const u8 Category_Programmers[] = _("{PALETTE 9}Programmers");
+const u8 Category_MainGraphicDesigner[] = _("{PALETTE 9}Main Graphic Designer");
+const u8 Category_POKeMONGraphicDesigners[] = _("{PALETTE 9}POKéMON & Graphic Designers");
+const u8 Category_POKeMONDesigners[] = _("{PALETTE 9}POKéMON Designers");
+const u8 Category_MusicComposition[] = _("{PALETTE 9}Music Composition");
+const u8 Category_SoundEffectsPOKeMONVoices[] = _("{PALETTE 9}Sound Effects & POKéMON Voices");
+const u8 Category_GameDesigners[] = _("{PALETTE 9}Game Designers");
+const u8 Category_PlotScenario[] = _("{PALETTE 9}Plot Scenario");
+const u8 Category_GameScenario[] = _("{PALETTE 9}Game Scenario");
+const u8 Category_ScriptDesigners[] = _("{PALETTE 9}Script Designers");
+const u8 Category_MapDesigners[] = _("{PALETTE 9}Map Designers");
+const u8 Category_MapDataDesigners[] = _("{PALETTE 9}Map Data Designers");
+const u8 Category_ParametricDesigners[] = _("{PALETTE 9}Parametric Designers");
+const u8 Category_POKeDEXText[] = _("{PALETTE 9}POKéDEX Text");
+const u8 Category_EnvironmentToolProgrammers[] = _("{PALETTE 9}Environment & Tool Programmers");
+const u8 Category_ProductTesting[] = _("{PALETTE 9}Product Testing");
+const u8 Category_SpecialThanks[] = _("{PALETTE 9}Special Thanks");
+const u8 Category_Coordinators[] = _("{PALETTE 9}Coordinators");
+const u8 Category_Producers[] = _("{PALETTE 9}Producers");
+const u8 Category_ExecutiveProducers[] = _("{PALETTE 9}Executive Producers");
+const u8 Category_InformationSupervisors[] = _("{PALETTE 9}Information Supervisors");
+const u8 Category_TaskManagers[] = _("{PALETTE 9}Task Managers");
+const u8 Category_BrailleCodeCheck[] = _("{PALETTE 9}Braille Code Check");
+const u8 Category_EnglishVersionCoordinators[] = _("{PALETTE 9}English Version Coordinators");
+const u8 Category_Translator[] = _("{PALETTE 9}Translator");
+const u8 Category_ProductSupport[] = _("{PALETTE 9}Product Support");
+const u8 Category_Artwork[] = _("{PALETTE 9}Artwork");
+const u8 Category_TextEditor[] = _("{PALETTE 9}Text Editor");
+const u8 Category_NOAProductTesting[] = _("{PALETTE 9}NOA Product Testing");
+const u8 Category_GraphicDesigners[] = _("{PALETTE 9}Graphic Designers");
+const u8 Text_SatoshiTajiri[] = _("Satoshi Tajiri");
+const u8 Text_Masuda[] = _("Junichi Masuda");
+const u8 Text_Sugimori[] = _("Ken Sugimori");
+const u8 Text_Morimoto[] = _("Shigeki Morimoto");
+const u8 Text_TetsuyaWatanabe[] = _("Tetsuya Watanabe");
+const u8 Text_Sogabe[] = _("Hisashi Sogabe");
+const u8 Text_Tamada[] = _("Sousuke Tamada");
+const u8 Text_Mori[] = _("Akito Mori");
+const u8 Text_Kagaya[] = _("Keita Kagaya");
+const u8 Text_Matsuda[] = _("Yoshinori Matsuda");
+const u8 Text_HiroyukiNakamura[] = _("Hiroyuki Nakamura");
+const u8 Text_Taya[] = _("Masao Taya");
+const u8 Text_Nohara[] = _("Satoshi Nohara");
+const u8 Text_TomomichiOhta[] = _("Tomomichi Ohta");
+const u8 Text_Iwasawa[] = _("Miyuki Iwasawa");
+const u8 Text_TakenoriOhta[] = _("Takenori Ohta");
+const u8 Text_Yoshida[] = _("Hironobu Yoshida");
+const u8 Text_Fujiwara[] = _("Motofumi Fujiwara");
+const u8 Text_SatoshiOhta[] = _("Satoshi Ohta");
+const u8 Text_Iwashita[] = _("Asuka Iwashita");
+const u8 Text_Tomita[] = _("Aimi Tomita");
+const u8 Text_Unno[] = _("Takao Unno");
+const u8 Text_Eo[] = _("Kanako Eo");
+const u8 Text_Okutani[] = _("Jun Okutani");
+const u8 Text_Nishida[] = _("Atsuko Nishida");
+const u8 Text_Saito[] = _("Muneo Saito");
+const u8 Text_Yoshikawa[] = _("Rena Yoshikawa");
+const u8 Text_Ichinose[] = _("Go Ichinose");
+const u8 Text_Aoki[] = _("Morikazu Aoki");
+const u8 Text_Nishino[] = _("Koji Nishino");
+const u8 Text_Matsushima[] = _("Kenji Matsushima");
+const u8 Text_TetsujiOhta[] = _("Tetsuji Ohta");
+const u8 Text_Sato[] = _("Hitomi Sato");
+const u8 Text_Kawachimaru[] = _("Takeshi Kawachimaru");
+const u8 Text_Shimoyamada[] = _("Teruyuki Shimoyamada");
+const u8 Text_Ohmori[] = _("Shigeru Ohmori");
+const u8 Text_Takahashi[] = _("Tadashi Takahashi");
+const u8 Text_ToshinobuMatsumiya[] = _("Toshinobu Matsumiya");
+const u8 Text_Tomisawa[] = _("Akihito Tomisawa");
+const u8 Text_Enomoto[] = _("Hiroki Enomoto");
+const u8 Text_Terada[] = _("Kazuyuki Terada");
+const u8 Text_Sakurai[] = _("Yuri Sakurai");
+const u8 Text_Sagawa[] = _("Hiromi Sagawa");
+const u8 Text_Tominaga[] = _("Kenji Tominaga");
+const u8 Text_YoshioTajiri[] = _("Yoshio Tajiri");
+const u8 Text_Sasaki[] = _("Teiko Sasaki");
+const u8 Text_Hamano[] = _("Sachiko Hamano");
+const u8 Text_ChieMatsumiya[] = _("Chie Matsumiya");
+const u8 Text_Shinozaki[] = _("Akiko Shinozaki");
+const u8 Text_Fujii[] = _("Atsuko Fujii");
+const u8 Text_SuperMarioClub[] = _("NCL Super Mario Club");
+const u8 Text_Tada[] = _("Atsushi Tada");
+const u8 Text_Ohnishi[] = _("Takahiro Ohnishi");
+const u8 Text_Okamura[] = _("Norihide Okamura");
+const u8 Text_HiroNakamura[] = _("Hiro Nakamura");
+const u8 Text_Uesugi[] = _("Hiroyuki Uesugi");
+const u8 Text_Murakawa[] = _("Teruki Murakawa");
+const u8 Text_Kinashi[] = _("Akira Kinashi");
+const u8 Text_Takizawa[] = _("Michiko Takizawa");
+const u8 Text_Takada[] = _("Makiko Takada");
+const u8 Text_Kondo[] = _("Takanao Kondo");
+const u8 Text_Mashima[] = _("Ai Mashima");
+const u8 Text_Nomoto[] = _("Gakuji Nomoto");
+const u8 Text_Izushi[] = _("Takehiro Izushi");
+const u8 Text_Yamagami[] = _("Hitoshi Yamagami");
+const u8 Text_KyokoWatanabe[] = _("Kyoko Watanabe");
+const u8 Text_Nakano[] = _("Takao Nakano");
+const u8 Text_Jinnai[] = _("Hiroyuki Jinnai");
+const u8 Text_Tsuru[] = _("Hiroaki Tsuru");
+const u8 Text_Ishihara[] = _("Tsunekaz Ishihara");
+const u8 Text_Iwata[] = _("Satoru Iwata");
+const u8 Text_Suyama[] = _("Kazuya Suyama");
+const u8 Text_Mitsuhara[] = _("Satoshi Mitsuhara");
+const u8 Text_JapanBrailleLibrary[] = _("Japan Braille Library");
+const u8 Text_Komura[] = _("Tomotaka Komura");
+const u8 Text_Ohashi[] = _("Mikiko Ohashi");
+const u8 Text_McMahill[] = _("Seth McMahill");
+const u8 Text_Ogasawara[] = _("Nob Ogasawara");
+const u8 Text_Yamamoto[] = _("Souichi Yamamoto");
+const u8 Text_Funakoshi[] = _("Masanori Funakoshi");
+const u8 Text_Fujihara[] = _("Kazuhiro Fujihara");
+const u8 Text_Nakamichi[] = _("Kimiko Nakamichi");
+const u8 Text_Hara[] = _("Daisuke Hara");
+const u8 Text_Okada[] = _("Atsushi Okada");
+const u8 Text_Lillygren[] = _("Teresa Lillygren");
+const u8 Text_Hertzog[] = _("Thomas Hertzog");
+const u8 Text_Ridgeway[] = _("Ed Ridgeway");
+const u8 Text_NFotB[] = _("National Federation of the Blind");
+const u8 Text_Maurer[] = _("Patricia A. Maurer");
+const u8 Text_Ford[] = _("Sayoko Blodgett-Ford");
+const u8 Text_Barlow[] = _("Nicola Pratt-Barlow");
+const u8 Text_Uyama[] = _("Koji Uyama");
+const u8 Text_Howitt[] = _("Anthony Howitt");
+const u8 Text_Tilden[] = _("Gail Tilden");
+const u8 Text_EBU[] = _("European Blind Union");
+const u8 Text_ABA[] = _("Australian Braille Authority");
+const u8 Text_RNZFotB[] = _("Royal New Zealand Federation for the Blind");
+const u8 Text_CreditsTerminator[] = _("");
+#ifdef SAPPHIRE
+const u8 Text_Version[] = _("{PALETTE 9}POKéMON SAPPHIRE VERSION");
+#else
+const u8 Text_Version[] = _("{PALETTE 9}POKéMON RUBY VERSION");
+#endif
+
+const struct CreditsEntry CreditsTerminator[] = {0, Text_CreditsTerminator};
+#ifdef SAPPHIRE
+const struct CreditsEntry CreditsVersion[] = {7, Text_Version};
+#else
+const struct CreditsEntry CreditsVersion[] = {8, Text_Version};
+#endif
+const struct CreditsEntry CreditsCredits[] = {11, Category_Credits};
+const struct CreditsEntry CreditsExecutiveDirector[] = {8, Category_ExecutiveDirector};
+const struct CreditsEntry CreditsDirector[] = {12, Category_Director};
+const struct CreditsEntry CreditsArtDirector[] = {10, Category_ArtDirector};
+const struct CreditsEntry CreditsBattleDirector[] = {10, Category_BattleDirector};
+const struct CreditsEntry CreditsMainProgrammer[] = {10, Category_MainProgrammer};
+const struct CreditsEntry CreditsBattleSystemProgrammer[] = {8, Category_BattleSystemProgrammer};
+const struct CreditsEntry CreditsFieldSystemProgrammer[] = {7, Category_FieldSystemProgrammer};
+const struct CreditsEntry CreditsProgrammers[] = {12, Category_Programmers};
+const struct CreditsEntry CreditsMainGraphicDesigner[] = {7, Category_MainGraphicDesigner};
+const struct CreditsEntry CreditsPOKeMONGraphicDesigners[] = {6, Category_POKeMONGraphicDesigners};
+const struct CreditsEntry CreditsPOKeMONDesigners[] = {10, Category_POKeMONDesigners};
+const struct CreditsEntry CreditsMusicComposition[] = {13, Category_MusicComposition};
+const struct CreditsEntry CreditsSoundEffectsPOKeMONVoices[] = {4, Category_SoundEffectsPOKeMONVoices};
+const struct CreditsEntry CreditsGameDesigners[] = {11, Category_GameDesigners};
+const struct CreditsEntry CreditsPlotScenario[] = {11, Category_PlotScenario};
+const struct CreditsEntry CreditsGameScenario[] = {13, Category_GameScenario};
+const struct CreditsEntry CreditsScriptDesigners[] = {10, Category_ScriptDesigners};
+const struct CreditsEntry CreditsMapDesigners[] = {11, Category_MapDesigners};
+const struct CreditsEntry CreditsMapDataDesigners[] = {9, Category_MapDataDesigners};
+const struct CreditsEntry CreditsParametricDesigners[] = {9, Category_ParametricDesigners};
+const struct CreditsEntry CreditsPOKeDEXText[] = {11, Category_POKeDEXText};
+const struct CreditsEntry CreditsEnvironmentToolProgrammers[] = {6, Category_EnvironmentToolProgrammers};
+const struct CreditsEntry CreditsProductTesting[] = {11, Category_ProductTesting};
+const struct CreditsEntry CreditsSpecialThanks[] = {10, Category_SpecialThanks};
+const struct CreditsEntry CreditsCoordinators[] = {11, Category_Coordinators};
+const struct CreditsEntry CreditsProducers[] = {11, Category_Producers};
+const struct CreditsEntry CreditsExecutiveProducers[] = {7, Category_ExecutiveProducers};
+const struct CreditsEntry CreditsInformationSupervisors[] = {10, Category_InformationSupervisors};
+const struct CreditsEntry CreditsTaskManagers[] = {8, Category_TaskManagers};
+const struct CreditsEntry CreditsBrailleCodeCheck[] = {10, Category_BrailleCodeCheck};
+const struct CreditsEntry CreditsSatoshiTajiri[] = {11, Text_SatoshiTajiri};
+const struct CreditsEntry CreditsMasuda[] = {11, Text_Masuda};
+const struct CreditsEntry CreditsSugimori[] = {11, Text_Sugimori};
+const struct CreditsEntry CreditsMorimoto[] = {11, Text_Morimoto};
+const struct CreditsEntry CreditsTetsuyaWatanabe[] = {11, Text_TetsuyaWatanabe};
+const struct CreditsEntry CreditsSogabe[] = {11, Text_Sogabe};
+const struct CreditsEntry CreditsTamada[] = {11, Text_Tamada};
+const struct CreditsEntry CreditsMori[] = {11, Text_Mori};
+const struct CreditsEntry CreditsKagaya[] = {11, Text_Kagaya};
+const struct CreditsEntry CreditsMatsuda[] = {11, Text_Matsuda};
+const struct CreditsEntry CreditsHiroyukiNakamura[] = {11, Text_HiroyukiNakamura};
+const struct CreditsEntry CreditsTaya[] = {11, Text_Taya};
+const struct CreditsEntry CreditsNohara[] = {11, Text_Nohara};
+const struct CreditsEntry CreditsTomomichiOhta[] = {11, Text_TomomichiOhta};
+const struct CreditsEntry CreditsIwasawa[] = {11, Text_Iwasawa};
+const struct CreditsEntry CreditsTakenoriOhta[] = {11, Text_TakenoriOhta};
+const struct CreditsEntry CreditsYoshida[] = {11, Text_Yoshida};
+const struct CreditsEntry CreditsFujiwara[] = {11, Text_Fujiwara};
+const struct CreditsEntry CreditsSatoshiOhta[] = {11, Text_SatoshiOhta};
+const struct CreditsEntry CreditsIwashita[] = {11, Text_Iwashita};
+const struct CreditsEntry CreditsTomita[] = {11, Text_Tomita};
+const struct CreditsEntry CreditsUnno[] = {11, Text_Unno};
+const struct CreditsEntry CreditsEo[] = {11, Text_Eo};
+const struct CreditsEntry CreditsOkutani[] = {11, Text_Okutani};
+const struct CreditsEntry CreditsNishida[] = {11, Text_Nishida};
+const struct CreditsEntry CreditsSaito[] = {11, Text_Saito};
+const struct CreditsEntry CreditsYoshikawa[] = {11, Text_Yoshikawa};
+const struct CreditsEntry CreditsIchinose[] = {11, Text_Ichinose};
+const struct CreditsEntry CreditsAoki[] = {11, Text_Aoki};
+const struct CreditsEntry CreditsNishino[] = {11, Text_Nishino};
+const struct CreditsEntry CreditsMatsushima[] = {11, Text_Matsushima};
+const struct CreditsEntry CreditsTetsujiOhta[] = {11, Text_TetsujiOhta};
+const struct CreditsEntry CreditsSato[] = {11, Text_Sato};
+const struct CreditsEntry CreditsKawachimaru[] = {11, Text_Kawachimaru};
+const struct CreditsEntry CreditsShimoyamada[] = {11, Text_Shimoyamada};
+const struct CreditsEntry CreditsOhmori[] = {11, Text_Ohmori};
+const struct CreditsEntry CreditsTakahashi[] = {11, Text_Takahashi};
+const struct CreditsEntry CreditsToshinobuMatsumiya[] = {11, Text_ToshinobuMatsumiya};
+const struct CreditsEntry CreditsTomisawa[] = {11, Text_Tomisawa};
+const struct CreditsEntry CreditsEnomoto[] = {11, Text_Enomoto};
+const struct CreditsEntry CreditsTerada[] = {11, Text_Terada};
+const struct CreditsEntry CreditsSakurai[] = {11, Text_Sakurai};
+const struct CreditsEntry CreditsSagawa[] = {11, Text_Sagawa};
+const struct CreditsEntry CreditsTominaga[] = {11, Text_Tominaga};
+const struct CreditsEntry CreditsYoshiroTajiri[] = {11, Text_YoshioTajiri};
+const struct CreditsEntry CreditsSasaki[] = {11, Text_Sasaki};
+const struct CreditsEntry CreditsHamano[] = {11, Text_Hamano};
+const struct CreditsEntry CreditsChieMatsumiya[] = {11, Text_ChieMatsumiya};
+const struct CreditsEntry CreditsShinozaki[] = {11, Text_Shinozaki};
+const struct CreditsEntry CreditsFujii[] = {11, Text_Fujii};
+const struct CreditsEntry CreditsSuperMarioClub[] = {11, Text_SuperMarioClub};
+const struct CreditsEntry CreditsTada[] = {11, Text_Tada};
+const struct CreditsEntry CreditsOhnishi[] = {11, Text_Ohnishi};
+const struct CreditsEntry CreditsOkamura[] = {11, Text_Okamura};
+const struct CreditsEntry CreditsHiroNakamura[] = {11, Text_HiroNakamura};
+const struct CreditsEntry CreditsUesugi[] = {11, Text_Uesugi};
+const struct CreditsEntry CreditsMurakawa[] = {11, Text_Murakawa};
+const struct CreditsEntry CreditsKinashi[] = {11, Text_Kinashi};
+const struct CreditsEntry CreditsTakizawa[] = {11, Text_Takizawa};
+const struct CreditsEntry CreditsTakada[] = {11, Text_Takada};
+const struct CreditsEntry CreditsKondo[] = {11, Text_Kondo};
+const struct CreditsEntry CreditsMashima[] = {11, Text_Mashima};
+const struct CreditsEntry CreditsNomoto[] = {11, Text_Nomoto};
+const struct CreditsEntry CreditsIzushi[] = {11, Text_Izushi};
+const struct CreditsEntry CreditsYamagami[] = {11, Text_Yamagami};
+const struct CreditsEntry CreditsKyokoWatanabe[] = {11, Text_KyokoWatanabe};
+const struct CreditsEntry CreditsNakano[] = {11, Text_Nakano};
+const struct CreditsEntry CreditsJinnai[] = {11, Text_Jinnai};
+const struct CreditsEntry CreditsTsuru[] = {11, Text_Tsuru};
+const struct CreditsEntry CreditsIshihara[] = {11, Text_Ishihara};
+const struct CreditsEntry CreditsIwata[] = {11, Text_Iwata};
+const struct CreditsEntry CreditsSuyama[] = {11, Text_Suyama};
+const struct CreditsEntry CreditsMitsuhara[] = {11, Text_Mitsuhara};
+const struct CreditsEntry CreditsJapanBrailleLibrary[] = {9, Text_JapanBrailleLibrary};
+const struct CreditsEntry CreditsKomura[] = {11, Text_Komura};
+const struct CreditsEntry CreditsOhashi[] = {11, Text_Ohashi};
+const struct CreditsEntry CreditsEnglishVersionCoordinators[] = {0, Category_EnglishVersionCoordinators};
+const struct CreditsEntry CreditsTranslator[] = {0, Category_Translator};
+const struct CreditsEntry CreditsProductSupport[] = {0, Category_ProductSupport};
+const struct CreditsEntry CreditsArtwork[] = {0, Category_Artwork};
+const struct CreditsEntry CreditsTextEditor[] = {0, Category_TextEditor};
+const struct CreditsEntry CreditsNOAProductTesting[] = {0, Category_NOAProductTesting};
+const struct CreditsEntry CreditsGraphicDesigners[] = {0, Category_GraphicDesigners};
+const struct CreditsEntry CreditsMcMahill[] = {0, Text_McMahill};
+const struct CreditsEntry CreditsOgasawara[] = {0, Text_Ogasawara};
+const struct CreditsEntry CreditsYamamoto[] = {0, Text_Yamamoto};
+const struct CreditsEntry CreditsFunakoshi[] = {0, Text_Funakoshi};
+const struct CreditsEntry CreditsFujihara[] = {0, Text_Fujihara};
+const struct CreditsEntry CreditsNakamichi[] = {0, Text_Nakamichi};
+const struct CreditsEntry CreditsHara[] = {0, Text_Hara};
+const struct CreditsEntry CreditsOkada[] = {0, Text_Okada};
+const struct CreditsEntry CreditsLillygren[] = {0, Text_Lillygren};
+const struct CreditsEntry CreditsHertzog[] = {0, Text_Hertzog};
+const struct CreditsEntry CreditsRidgeway[] = {0, Text_Ridgeway};
+const struct CreditsEntry CreditsNFotB[] = {0, Text_NFotB};
+const struct CreditsEntry CreditsMaurer[] = {0, Text_Maurer};
+const struct CreditsEntry CreditsFord[] = {0, Text_Ford};
+const struct CreditsEntry CreditsBarlow[] = {0, Text_Barlow};
+const struct CreditsEntry CreditsUyama[] = {0, Text_Uyama};
+const struct CreditsEntry CreditsHowitt[] = {0, Text_Howitt};
+const struct CreditsEntry CreditsTilden[] = {0, Text_Tilden};
+const struct CreditsEntry CreditsEBU[] = {0, Text_EBU};
+const struct CreditsEntry CreditsABA[] = {0, Text_ABA};
+const struct CreditsEntry CreditsRNZFotB[] = {0, Text_RNZFotB};
+
+#define LINES_PER_PAGE 5
+#define _ CreditsTerminator
+const struct CreditsEntry *const gCreditsEntryPointerTable[][LINES_PER_PAGE] =
+{
+ {
+ _,
+ CreditsVersion,
+ CreditsCredits,
+ _,
+ _
+ },
+ {
+ _,
+ CreditsDirector,
+ CreditsMasuda,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsArtDirector,
+ CreditsSugimori,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsBattleDirector,
+ CreditsMorimoto,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsMainProgrammer,
+ CreditsTetsuyaWatanabe,
+ _,
+ _,
+ },
+ {
+ CreditsBattleSystemProgrammer,
+ CreditsSogabe,
+ CreditsFieldSystemProgrammer,
+ CreditsTamada,
+ _,
+ },
+ {
+ CreditsProgrammers,
+ CreditsMori,
+ CreditsKagaya,
+ CreditsMatsuda,
+ _,
+ },
+ {
+ CreditsProgrammers,
+ CreditsHiroyukiNakamura,
+ CreditsTaya,
+ CreditsNohara,
+ _,
+ },
+ {
+ CreditsProgrammers,
+ CreditsTomomichiOhta,
+ CreditsIwasawa,
+ CreditsTakenoriOhta,
+ _,
+ },
+ {
+ _,
+ CreditsMainGraphicDesigner,
+ CreditsYoshida,
+ _,
+ _,
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsSugimori,
+ CreditsYoshida,
+ _,
+ _,
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsFujiwara,
+ CreditsSatoshiOhta,
+ CreditsIwashita,
+ _,
+ },
+ {
+ CreditsPOKeMONGraphicDesigners,
+ CreditsTomita,
+ CreditsUnno,
+ CreditsEo,
+ _,
+ },
+ {
+ CreditsPOKeMONDesigners,
+ CreditsMorimoto,
+ CreditsOkutani,
+ CreditsNishida,
+ _,
+ },
+ {
+ CreditsPOKeMONDesigners,
+ CreditsSaito,
+ CreditsYoshikawa,
+ _,
+ _,
+ },
+ {
+ CreditsMusicComposition,
+ CreditsIchinose,
+ CreditsAoki,
+ CreditsMasuda,
+ _,
+ },
+ {
+ _,
+ CreditsSoundEffectsPOKeMONVoices,
+ CreditsAoki,
+ _,
+ _,
+ },
+ {
+ CreditsGameDesigners,
+ CreditsMasuda,
+ CreditsMorimoto,
+ CreditsNishino,
+ _,
+ },
+ {
+ CreditsGameDesigners,
+ CreditsMatsushima,
+ CreditsTetsujiOhta,
+ CreditsSato,
+ CreditsKawachimaru,
+ },
+ {
+ CreditsGameDesigners,
+ CreditsShimoyamada,
+ CreditsOhmori,
+ CreditsTakahashi,
+ _,
+ },
+ {
+ CreditsPlotScenario,
+ CreditsMasuda,
+ CreditsTomisawa,
+ CreditsNishino,
+ _,
+ },
+ {
+ CreditsGameScenario,
+ CreditsToshinobuMatsumiya,
+ CreditsTomisawa,
+ _,
+ _,
+ },
+ {
+ CreditsScriptDesigners,
+ CreditsNohara,
+ CreditsTetsujiOhta,
+ CreditsTomomichiOhta,
+ _,
+ },
+ {
+ CreditsMapDesigners,
+ CreditsOhmori,
+ CreditsTetsujiOhta,
+ CreditsNishino,
+ _,
+ },
+ {
+ CreditsMapDataDesigners,
+ CreditsTetsujiOhta,
+ CreditsTakahashi,
+ _,
+ _,
+ },
+ {
+ CreditsParametricDesigners,
+ CreditsNishino,
+ CreditsMorimoto,
+ CreditsTetsujiOhta,
+ CreditsShimoyamada,
+ },
+ {
+ _,
+ CreditsPOKeDEXText,
+ CreditsMatsushima,
+ _,
+ _,
+ },
+ {
+ CreditsEnvironmentToolProgrammers,
+ CreditsSogabe,
+ CreditsTamada,
+ CreditsHiroyukiNakamura,
+ CreditsMori,
+ },
+ {
+ CreditsProductTesting,
+ CreditsSuperMarioClub,
+ CreditsTada,
+ CreditsOhnishi,
+ CreditsOkamura,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsTominaga,
+ CreditsYoshiroTajiri,
+ CreditsSasaki,
+ _,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsHamano,
+ CreditsChieMatsumiya,
+ CreditsShinozaki,
+ CreditsFujii,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsSuyama,
+ CreditsMitsuhara,
+ CreditsKomura,
+ CreditsOhashi,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsTakizawa,
+ CreditsTakada,
+ CreditsKondo,
+ CreditsMashima,
+ },
+ {
+ CreditsInformationSupervisors,
+ CreditsEnomoto,
+ CreditsTerada,
+ CreditsSakurai,
+ CreditsSagawa,
+ },
+ {
+ CreditsCoordinators,
+ CreditsKyokoWatanabe,
+ CreditsNakano,
+ _,
+ _,
+ },
+ {
+ CreditsTaskManagers,
+ CreditsYamagami,
+ CreditsNomoto,
+ _,
+ _,
+ },
+ {
+ CreditsProducers,
+ CreditsJinnai,
+ CreditsIzushi,
+ CreditsTsuru,
+ _,
+ },
+ {
+ _,
+ CreditsExecutiveDirector,
+ CreditsSatoshiTajiri,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsExecutiveProducers,
+ CreditsIwata,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsExecutiveProducers,
+ CreditsIshihara,
+ _,
+ _,
+ },
+ {
+ CreditsEnglishVersionCoordinators,
+ CreditsHiroNakamura,
+ CreditsMcMahill,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsTranslator,
+ CreditsOgasawara,
+ _,
+ _,
+ },
+ {
+ CreditsProgrammers,
+ CreditsMurakawa,
+ CreditsYamamoto,
+ CreditsFunakoshi,
+ CreditsKinashi,
+ },
+ {
+ CreditsGraphicDesigners,
+ CreditsYamamoto,
+ CreditsKinashi,
+ _,
+ _,
+ },
+ {
+ CreditsProductSupport,
+ CreditsNakamichi,
+ CreditsHara,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsArtwork,
+ CreditsOkada,
+ _,
+ _,
+ },
+ {
+ _,
+ CreditsTextEditor,
+ CreditsLillygren,
+ _,
+ _,
+ },
+ {
+ CreditsNOAProductTesting,
+ CreditsHertzog,
+ CreditsRidgeway,
+ _,
+ _,
+ },
+ {
+ CreditsBrailleCodeCheck,
+ CreditsNFotB,
+ CreditsMaurer,
+ CreditsJapanBrailleLibrary,
+ CreditsEBU,
+ },
+ {
+ CreditsBrailleCodeCheck,
+ CreditsABA,
+ CreditsRNZFotB,
+ _,
+ _,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsFord,
+ CreditsBarlow,
+ CreditsUesugi,
+ CreditsUyama,
+ },
+ {
+ CreditsSpecialThanks,
+ CreditsHowitt,
+ CreditsTilden,
+ CreditsFujihara,
+ _,
+ },
+};
+#undef _
diff --git a/src/de_rom_8040FE0.c b/src/de_rom_8040FE0.c
index 8adad3245..53ad4a806 100644
--- a/src/de_rom_8040FE0.c
+++ b/src/de_rom_8040FE0.c
@@ -165,7 +165,7 @@ _0804104A:\n\
bl GetSecretBaseTrainerNameIndex\n\
lsls r0, 24\n\
lsrs r5, r0, 24\n\
- ldr r0, _08041060 @ =0x02017000\n\
+ ldr r0, _08041060 @ =gSharedMem + 0x17000\n\
ldrb r0, [r0, 0x1]\n\
lsls r0, 27\n\
lsrs r2, r0, 31\n\
@@ -173,7 +173,7 @@ _0804104A:\n\
beq _080410B8\n\
b _080410F8\n\
.align 2, 0\n\
-_08041060: .4byte 0x02017000\n\
+_08041060: .4byte gSharedMem + 0x17000\n\
_08041064:\n\
bl de_sub_81364AC\n\
lsls r0, 24\n\
diff --git a/src/engine/decompress.c b/src/engine/decompress.c
index 3e5993118..0893a8492 100644
--- a/src/engine/decompress.c
+++ b/src/engine/decompress.c
@@ -3,8 +3,9 @@
#include "data2.h"
#include "species.h"
#include "text.h"
+#include "ewram.h"
-#define WRAM 0x02000000
+#define WRAM ewram_addr // using gSharedMem doesn't match
void LZDecompressWram(const void *src, void *dest)
{
diff --git a/src/engine/trade.c b/src/engine/trade.c
index 7477b05ac..41146a22c 100644
--- a/src/engine/trade.c
+++ b/src/engine/trade.c
@@ -4175,7 +4175,7 @@ static __attribute__((naked)) void sub_804B41C(void)
"\tbl ResetTasks\n"
"\tbl CloseLink\n"
"\tldr r6, _0804B570 @ =gUnknown_03004828\n"
- "\tldr r5, _0804B574 @ =0x0201f000\n"
+ "\tldr r5, _0804B574 @ =gSharedMem + 0x1F000\n"
"\tstr r5, [r6]\n"
"\tbl ResetSpriteData\n"
"\tbl FreeAllSpritePalettes\n"
@@ -4277,7 +4277,7 @@ static __attribute__((naked)) void sub_804B41C(void)
"\tb _0804B76E_break\n"
"\t.align 2, 0\n"
"_0804B570: .4byte gUnknown_03004828\n"
- "_0804B574: .4byte 0x0201f000\n"
+ "_0804B574: .4byte gSharedMem + 0x1F000\n"
"_0804B578: .4byte sub_804B210\n"
"_0804B57C: .4byte gWindowConfig_81E6F84\n"
"_0804B580: .4byte gLinkType\n"
diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c
index 025d19ffc..6d105f512 100644
--- a/src/engine/trainer_card.c
+++ b/src/engine/trainer_card.c
@@ -808,7 +808,7 @@ bool8 sub_8093AF0(struct Task *task)
push {r5-r7}\n\
sub sp, 0x4\n\
mov r8, r0\n\
- ldr r1, _08093BFC @ =0x02000000\n\
+ ldr r1, _08093BFC @ =gSharedMem\n\
movs r0, 0\n\
strb r0, [r1, 0x4]\n\
mov r2, r8\n\
@@ -921,7 +921,7 @@ _08093BBE:\n\
ble _08093BBE\n\
_08093BD4:\n\
movs r0, 0x1\n\
- ldr r1, _08093BFC @ =0x02000000\n\
+ ldr r1, _08093BFC @ =gSharedMem\n\
strb r0, [r1, 0x4]\n\
mov r2, r8\n\
movs r4, 0xA\n\
@@ -942,7 +942,7 @@ _08093BEA:\n\
pop {r1}\n\
bx r1\n\
.align 2, 0\n\
-_08093BFC: .4byte 0x02000000\n\
+_08093BFC: .4byte gSharedMem\n\
_08093C00: .4byte 0xffff0000\n\
_08093C04: .4byte gUnknown_03004DE0\n\
_08093C08: .4byte 0x0000fffc\n\
@@ -970,7 +970,7 @@ bool8 sub_8093C38(struct Task *task)
push {r5-r7}\n\
sub sp, 0x4\n\
mov r8, r0\n\
- ldr r1, _08093D40 @ =0x02000000\n\
+ ldr r1, _08093D40 @ =gSharedMem\n\
movs r2, 0\n\
strb r2, [r1, 0x4]\n\
ldrh r0, [r0, 0xA]\n\
@@ -1081,7 +1081,7 @@ _08093D02:\n\
ble _08093D02\n\
_08093D18:\n\
movs r0, 0x1\n\
- ldr r1, _08093D40 @ =0x02000000\n\
+ ldr r1, _08093D40 @ =gSharedMem\n\
strb r0, [r1, 0x4]\n\
mov r2, r8\n\
movs r3, 0xA\n\
@@ -1102,7 +1102,7 @@ _08093D2E:\n\
pop {r1}\n\
bx r1\n\
.align 2, 0\n\
-_08093D40: .4byte 0x02000000\n\
+_08093D40: .4byte gSharedMem\n\
_08093D44: .4byte 0xffff0000\n\
_08093D48: .4byte gUnknown_03004DE0\n\
_08093D4C: .4byte 0x0000fffc\n\
diff --git a/src/field/party_menu.c b/src/field/party_menu.c
index 25fd63463..42bb66f6f 100644
--- a/src/field/party_menu.c
+++ b/src/field/party_menu.c
@@ -1109,7 +1109,7 @@ _0806B980:\n\
movs r3, 0x3\n\
bl sub_806BA94\n\
_0806B98C:\n\
- ldr r0, _0806B99C @ =0x0201b000\n\
+ ldr r0, _0806B99C @ =gSharedMem + 0x1B000\n\
ldr r1, _0806B9A0 @ =0x00000261\n\
adds r0, r1\n\
movs r1, 0x2\n\
@@ -1118,7 +1118,7 @@ _0806B98C:\n\
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_0806B99C: .4byte 0x0201b000\n\
+_0806B99C: .4byte gSharedMem + 0x1B000\n\
_0806B9A0: .4byte 0x00000261\n\
.syntax divided\n");
}
@@ -2548,7 +2548,7 @@ void sub_806CF04(void)
{
asm(".syntax unified\n\
push {r4,r5,lr}\n\
- ldr r4, _0806CF94 @ =0x02001000\n\
+ ldr r4, _0806CF94 @ =gSharedMem + 0x1000\n\
ldrb r1, [r4, 0x3]\n\
lsls r0, r1, 4\n\
adds r0, r1\n\
@@ -2616,7 +2616,7 @@ void sub_806CF04(void)
pop {r0}\n\
bx r0\n\
.align 2, 0\n\
-_0806CF94: .4byte 0x02001000\n\
+_0806CF94: .4byte gSharedMem + 0x1000\n\
_0806CF98: .4byte gSprites + 0x20\n\
_0806CF9C: .4byte SpriteCB_sub_806D37C\n\
.syntax divided\n");
@@ -5033,7 +5033,7 @@ void PrintStatGrowthsInLevelUpWindow(u8 taskId) {
movs r2, 0x13\n\
mov r8, r2\n\
_0807086C:\n\
- ldr r1, _08070930 @ =0x0201c000\n\
+ ldr r1, _08070930 @ =gSharedMem + 0x1C000\n\
ldr r0, [r1]\n\
ldr r1, _08070934 @ =StatDataTypes\n\
adds r1, r7, r1\n\
@@ -5041,7 +5041,7 @@ _0807086C:\n\
bl GetMonData\n\
adds r1, r7, 0x6\n\
lsls r1, 1\n\
- ldr r2, _08070938 @ =0x0201b264\n\
+ ldr r2, _08070938 @ =gSharedMem + 0x1B264\n\
adds r1, r2, r1\n\
strh r0, [r1]\n\
lsls r6, r7, 1\n\
@@ -5123,9 +5123,9 @@ _0807086C:\n\
bx r0\n\
.align 2, 0\n\
_0807092C: .4byte gStringVar1\n\
-_08070930: .4byte 0x0201c000\n\
+_08070930: .4byte gSharedMem + 0x1C000\n\
_08070934: .4byte StatDataTypes\n\
-_08070938: .4byte 0x0201b264\n\
+_08070938: .4byte gSharedMem + 0x1B264\n\
_0807093C: .4byte StatNames\n\
_08070940: .4byte gOtherText_TallPlusAndRightArrow\n\
.syntax divided\n");
diff --git a/src/field/shop.c b/src/field/shop.c
index 67e9b006e..493d8c748 100644
--- a/src/field/shop.c
+++ b/src/field/shop.c
@@ -279,7 +279,7 @@ void BuyMenuDrawGraphics(void)
register const u32 zero asm("r6") = 0;
DmaFill32(3, zero, addr, OAM_SIZE);
LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00));
- LZDecompressWram(gBuyMenuFrame_Tilemap, (void *)0x02018000);
+ LZDecompressWram(gBuyMenuFrame_Tilemap, ewram18000_2);
LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal));
FreeAllSpritePalettes();
ResetPaletteFade();
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index d6b20feaa..89ec68b0a 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -3,6 +3,7 @@
#include "decompress.h"
#include "palette.h"
#include "task.h"
+#include "ewram.h"
struct UnkStruct2000000 {
/*0x00*/ u8 filler00[61];
@@ -15,8 +16,6 @@ struct UnkStruct1 {
/*0x02*/ s16 unk02;
};
-extern struct UnkStruct2000000 gSharedMem;
-
extern struct UnkStruct1 *gUnknown_083ED048[];
extern const u16 gPalette_83EDE24[];
@@ -40,7 +39,7 @@ void sub_8104CAC(u8 arg0) {
sub_8104DA4();
- task = &gTasks[gSharedMem.unk3D];
+ task = &gTasks[ewram0_8->unk3D];
task->data[1] = arg0;
i = 0;
@@ -71,9 +70,9 @@ void sub_8106448(void) {
u32 offsetRead, offsetWrite;
u32 size;
- LZDecompressWram(gSlotMachine_Gfx, (void *) 0x02010000);
+ LZDecompressWram(gSlotMachine_Gfx, ewram10000_2);
- offsetRead = 0x02010000;
+ offsetRead = (u32)ewram10000_2;
offsetWrite = BG_VRAM;
size = SLOTMACHINE_GFX_TILES * 32;
while (TRUE)
diff --git a/src/pokemon/pokedex.c b/src/pokemon/pokedex.c
index 947dfd218..18e98ca5f 100644
--- a/src/pokemon/pokedex.c
+++ b/src/pokemon/pokedex.c
@@ -24,6 +24,7 @@
#include "task.h"
#include "trig.h"
#include "unknown_task.h"
+#include "ewram.h"
#define NATIONAL_DEX_COUNT 386
@@ -954,86 +955,86 @@ static const struct OamData gOamData_83B557C =
};
static void *const gUnknown_083B5584[] =
{
- (void *)0x02008000,
- (void *)0x0200C000,
- (void *)0x02010000,
- (void *)0x02014000,
+ ePokedexPalAddr1,
+ ePokedexPalAddr2,
+ ePokedexPalAddr3,
+ ePokedexPalAddr4,
};
static const struct SpriteFrameImage gSpriteImageTable_83B5594[] =
{
- {(u8 *)0x02008000, 0x800},
- {(u8 *)0x02008800, 0x800},
- {(u8 *)0x02009000, 0x800},
- {(u8 *)0x02009800, 0x800},
- {(u8 *)0x0200A000, 0x800},
- {(u8 *)0x0200A800, 0x800},
- {(u8 *)0x0200B000, 0x800},
- {(u8 *)0x0200B800, 0x800},
- {(u8 *)0x0200C000, 0x800},
- {(u8 *)0x0200C800, 0x800},
- {(u8 *)0x0200D000, 0x800},
- {(u8 *)0x0200D800, 0x800},
- {(u8 *)0x0200E000, 0x800},
- {(u8 *)0x0200E800, 0x800},
- {(u8 *)0x0200F000, 0x800},
- {(u8 *)0x0200F800, 0x800},
+ {ewram8000, 0x800},
+ {ewram8800, 0x800},
+ {ewram9000, 0x800},
+ {ewram9800, 0x800},
+ {ewramA000, 0x800},
+ {ewramA800, 0x800},
+ {ewramB000, 0x800},
+ {ewramB800, 0x800},
+ {ewramC000, 0x800},
+ {ewramC800, 0x800},
+ {ewramD000, 0x800},
+ {ewramD800, 0x800},
+ {ewramE000, 0x800},
+ {ewramE800, 0x800},
+ {ewramF000, 0x800},
+ {ewramF800, 0x800},
};
static const struct SpriteFrameImage gSpriteImageTable_83B5614[] =
{
- {(u8 *)0x0200C000, 0x800},
- {(u8 *)0x0200C800, 0x800},
- {(u8 *)0x0200D000, 0x800},
- {(u8 *)0x0200D800, 0x800},
- {(u8 *)0x0200E000, 0x800},
- {(u8 *)0x0200E800, 0x800},
- {(u8 *)0x0200F000, 0x800},
- {(u8 *)0x0200F800, 0x800},
- {(u8 *)0x02010000, 0x800},
- {(u8 *)0x02010800, 0x800},
- {(u8 *)0x02011000, 0x800},
- {(u8 *)0x02011800, 0x800},
- {(u8 *)0x02012000, 0x800},
- {(u8 *)0x02012800, 0x800},
- {(u8 *)0x02013000, 0x800},
- {(u8 *)0x02013800, 0x800},
+ {ewramC000, 0x800},
+ {ewramC800, 0x800},
+ {ewramD000, 0x800},
+ {ewramD800, 0x800},
+ {ewramE000, 0x800},
+ {ewramE800, 0x800},
+ {ewramF000, 0x800},
+ {ewramF800, 0x800},
+ {ewram10000, 0x800},
+ {ewram10800, 0x800},
+ {ewram11000, 0x800},
+ {ewram11800, 0x800},
+ {ewram12000, 0x800},
+ {ewram12800, 0x800},
+ {ewram13000, 0x800},
+ {ewram13800, 0x800},
};
static const struct SpriteFrameImage gSpriteImageTable_83B5694[] =
{
- {(u8 *)0x02010000, 0x800},
- {(u8 *)0x02010800, 0x800},
- {(u8 *)0x02011000, 0x800},
- {(u8 *)0x02011800, 0x800},
- {(u8 *)0x02012000, 0x800},
- {(u8 *)0x02012800, 0x800},
- {(u8 *)0x02013000, 0x800},
- {(u8 *)0x02013800, 0x800},
- {(u8 *)0x02014000, 0x800},
- {(u8 *)0x02014800, 0x800},
- {(u8 *)0x02015000, 0x800},
- {(u8 *)0x02015800, 0x800},
- {(u8 *)0x02016000, 0x800},
- {(u8 *)0x02016800, 0x800},
- {(u8 *)0x02017000, 0x800},
- {(u8 *)0x02017800, 0x800},
+ {ewram10000, 0x800},
+ {ewram10800, 0x800},
+ {ewram11000, 0x800},
+ {ewram11800, 0x800},
+ {ewram12000, 0x800},
+ {ewram12800, 0x800},
+ {ewram13000, 0x800},
+ {ewram13800, 0x800},
+ {ewram14000, 0x800},
+ {ewram14800, 0x800},
+ {ewram15000, 0x800},
+ {ewram15800, 0x800},
+ {ewram16000_2, 0x800},
+ {ewram16800, 0x800},
+ {ewram17000, 0x800},
+ {ewram17800_2, 0x800},
};
static const struct SpriteFrameImage gSpriteImageTable_83B5714[] =
{
- {(u8 *)0x02014000, 0x800},
- {(u8 *)0x02014800, 0x800},
- {(u8 *)0x02015000, 0x800},
- {(u8 *)0x02015800, 0x800},
- {(u8 *)0x02016000, 0x800},
- {(u8 *)0x02016800, 0x800},
- {(u8 *)0x02017000, 0x800},
- {(u8 *)0x02017800, 0x800},
- {(u8 *)0x02018000, 0x800},
- {(u8 *)0x02018800, 0x800},
- {(u8 *)0x02019000, 0x800},
- {(u8 *)0x02019800, 0x800},
- {(u8 *)0x0201A000, 0x800},
- {(u8 *)0x0201A800, 0x800},
- {(u8 *)0x0201B000, 0x800},
- {(u8 *)0x0201B800, 0x800},
+ {ewram14000, 0x800},
+ {ewram14800, 0x800},
+ {ewram15000, 0x800},
+ {ewram15800, 0x800},
+ {ewram16000_2, 0x800},
+ {ewram16800, 0x800},
+ {ewram17000, 0x800},
+ {ewram17800_2, 0x800},
+ {ewram18000_2, 0x800},
+ {ewram18800, 0x800},
+ {ewram19000, 0x800},
+ {ewram19800, 0x800},
+ {ewram1A000, 0x800},
+ {ewram1A800, 0x800},
+ {ewram1B000_2, 0x800},
+ {ewram1B800, 0x800},
};
static const struct SpriteFrameImage *const gUnknown_083B5794[] =
{
@@ -1275,8 +1276,8 @@ static void sub_8091564(u16 weight, u8 i, u8 i1);
static void sub_8091738(u16, u16, u16);
static void sub_80917CC(u16 i, u16 i1);
static u16 sub_8091818(u8, u16, u16, u16);
-static u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d);
-static u8 sub_8091A4C(u16 gender, s16, s16, u16);
+u16 sub_80918EC(u16 a, s16 b, s16 c, u16 d);
+u8 sub_8091A4C(u16 gender, s16, s16, u16);
static void sub_8091E54(u8);
static void sub_809204C(u8);
static void sub_809207C(u8);
@@ -1433,16 +1434,16 @@ void CB2_InitPokedex(void)
{
case 0:
default:
- gPokedexView = (struct PokedexView *)0x02018000;
+ gPokedexView = ePokedexView1;
break;
case 1:
- gPokedexView = (struct PokedexView *)0x02018800;
+ gPokedexView = ePokedexView2;
break;
case 2:
- gPokedexView = (struct PokedexView *)0x02019000;
+ gPokedexView = ePokedexView3;
break;
case 3:
- gPokedexView = (struct PokedexView *)0x02019800;
+ gPokedexView = ePokedexView4;
break;
}
ClearPokedexView(gPokedexView);
@@ -4557,7 +4558,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum)
&gMonFrontPicTable[num],
gMonFrontPicCoords[num].coords,
gMonFrontPicCoords[num].y_offset,
- (void *)0x02000000,
+ (void*)ewram_addr,
gUnknown_083B5584[paletteNum],
num);
break;
@@ -4566,7 +4567,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum)
&gMonFrontPicTable[num],
gMonFrontPicCoords[num].coords,
gMonFrontPicCoords[num].y_offset,
- 0x02000000,
+ ewram_addr,
gUnknown_083B5584[paletteNum],
num,
gSaveBlock2.pokedex.spindaPersonality,
@@ -4577,7 +4578,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum)
&gMonFrontPicTable[num],
gMonFrontPicCoords[num].coords,
gMonFrontPicCoords[num].y_offset,
- 0x02000000,
+ ewram_addr,
gUnknown_083B5584[paletteNum],
num,
gSaveBlock2.pokedex.unownPersonality,
@@ -4591,7 +4592,7 @@ u16 sub_80918EC(u16 num, s16 x, s16 y, u16 paletteNum)
return spriteId;
}
-static u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum)
+u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum)
{
u8 spriteId;
@@ -4599,7 +4600,7 @@ static u8 sub_8091A4C(u16 gender, s16 x, s16 y, u16 paletteNum)
&gTrainerFrontPicTable[gender],
gTrainerFrontPicCoords[gender].coords,
gTrainerFrontPicCoords[gender].y_offset,
- (void *)0x02000000,
+ (void*)ewram_addr,
gUnknown_083B5584[0],
gender);
sub_80918B0(gender, 0);
diff --git a/src/scene/contest_painting.c b/src/scene/contest_painting.c
index 0f745b391..2600076c3 100644
--- a/src/scene/contest_painting.c
+++ b/src/scene/contest_painting.c
@@ -109,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\
@@ -131,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");
diff --git a/src/scene/credits.c b/src/scene/credits.c
index d9e97c570..077fc5e0d 100644
--- a/src/scene/credits.c
+++ b/src/scene/credits.c
@@ -160,7 +160,7 @@ struct Unk201C000
struct CreditsEntry
{
u8 var_0;
- u8 *text;
+ const u8 *text;
};
extern u8 unk_201e800[0x800];
@@ -185,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[];
@@ -432,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;
@@ -1151,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/evolution_scene.c b/src/scene/evolution_scene.c
index 742f663f6..755176c81 100644
--- a/src/scene/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -1520,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\
@@ -1534,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\
@@ -1551,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\
@@ -1562,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\
@@ -1571,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\
@@ -1652,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\
@@ -1661,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\
@@ -1675,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\
@@ -1782,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\
@@ -1809,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\
@@ -1915,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\
@@ -1932,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\
@@ -1943,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\
@@ -1951,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\
@@ -1982,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\
@@ -2002,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\
@@ -2013,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\
@@ -2039,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\
@@ -2057,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\
@@ -2090,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\
@@ -2120,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\
@@ -2165,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\
@@ -2190,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\
@@ -2215,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\
@@ -2246,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\
@@ -2278,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\
@@ -2325,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\
@@ -2359,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\
@@ -2384,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");
}
@@ -2453,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\
@@ -2476,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\
@@ -2583,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\
@@ -2643,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\
@@ -2717,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\
@@ -2777,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\
@@ -2785,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\
@@ -2810,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\
@@ -2840,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\
@@ -2870,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\
@@ -2900,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\
@@ -2931,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\
@@ -2946,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\
@@ -2970,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\
@@ -3005,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\
@@ -3040,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\
@@ -3073,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\
@@ -3091,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\
@@ -3177,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\
@@ -3233,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\
@@ -3306,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\
@@ -3362,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\
@@ -3370,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\
@@ -3390,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\
@@ -3416,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\
@@ -3442,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\
@@ -3468,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\
@@ -3498,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\
@@ -3513,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\
@@ -3535,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\
@@ -3564,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\
@@ -3596,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\
@@ -3633,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\
@@ -3662,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");
}
@@ -3701,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\
@@ -3717,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\
@@ -3829,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\
@@ -3852,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\
@@ -3872,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\
@@ -3891,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/intro.c b/src/scene/intro.c
index c4bb1f9ea..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,8 +1212,7 @@ static void Task_IntroWaitToSetupPart3DoubleFight(u8 taskId)
gTasks[taskId].func = Task_IntroLoadPart3Streaks;
}
-// TODO: use ewram define instead
-extern u8 gSharedMem[][32];
+//extern u8 gSharedMem[][32];
static void Task_IntroLoadPart3Streaks(u8 taskId)
{
@@ -1218,9 +1222,9 @@ static void Task_IntroLoadPart3Streaks(u8 taskId)
intro_reset_and_hide_bgs();
for (i = 0; i < 32; i++)
{
- gSharedMem[0][i] = 0;
- gSharedMem[1][i] = 17;
- gSharedMem[2][i] = 34;
+ ewram0arr[0][i] = 0;
+ ewram0arr[1][i] = 17;
+ ewram0arr[2][i] = 34;
}
vram = (void *)VRAM;
DmaCopy16(3, gSharedMem, vram, 0x60);