diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-17 13:22:46 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-17 13:22:46 -0800 |
commit | b849ce93dbafac8e4961b531ab40585c0fdd103a (patch) | |
tree | 1cfd5cf3b7223a8e91dd0a0d4e6e112bd3458d8b | |
parent | 3ddda066d91cbbd377584acacaea62a9deba8873 (diff) |
decompile main
305 files changed, 18946 insertions, 3564 deletions
@@ -79,7 +79,7 @@ src/isagbprn.o: CFLAGS := -mthumb-interwork $(C_OBJS): %.o : %.c @$(CPP) $(CPPFLAGS) $< -o $*.i - @$(CC1) $(CFLAGS) $*.i -o $*.s + @$(PREPROC) $*.i charmap.txt | $(CC1) $(CFLAGS) $*.i -o $*.s @printf ".text\n\t.align\t2, 0\n" >> $*.s $(AS) $(ASFLAGS) -o $@ $*.s @@ -398,7 +398,7 @@ sub_810BB40: @ 810BB40 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0810BB70 @ =gUnknown_3005008 + ldr r0, _0810BB70 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -413,7 +413,7 @@ sub_810BB40: @ 810BB40 pop {r0} bx r0 .align 2, 0 -_0810BB70: .4byte gUnknown_3005008 +_0810BB70: .4byte gSaveBlock1Ptr thumb_func_end sub_810BB40 thumb_func_start sub_810BB74 diff --git a/asm/battle_1.s b/asm/battle_1.s index 469f9b299..e25330776 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -1231,7 +1231,7 @@ _0800FBA6: ands r0, r1 cmp r0, 0 beq _0800FBD8 - ldr r0, _0800FBCC @ =gUnknown_81E9F10 + ldr r0, _0800FBCC @ =gGameVersion ldrb r0, [r0] cmp r0, 0x4 bne _0800FBD0 @@ -1240,7 +1240,7 @@ _0800FBA6: b _0800FC26 .align 2, 0 _0800FBC8: .4byte 0x00080902 -_0800FBCC: .4byte gUnknown_81E9F10 +_0800FBCC: .4byte gGameVersion _0800FBD0: movs r0, 0x4 bl sub_800F2AC diff --git a/asm/battle_2.s b/asm/battle_2.s index a5dca1033..681c34b21 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -218,7 +218,7 @@ _0800FF7E: bl sub_80112E0 bl SetWildMonHeldItem _0800FF98: - ldr r0, _0800FFDC @ =gUnknown_30030F0 + ldr r0, _0800FFDC @ =gMain ldr r1, _0800FFE0 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -248,7 +248,7 @@ _0800FFCC: .4byte sub_8010508 _0800FFD0: .4byte gUnknown_2022B4C _0800FFD4: .4byte gUnknown_202402C _0800FFD8: .4byte gUnknown_20386AE -_0800FFDC: .4byte gUnknown_30030F0 +_0800FFDC: .4byte gMain _0800FFE0: .4byte 0x00000439 _0800FFE4: .4byte gUnknown_2024284 _0800FFE8: .4byte gUnknown_2023E82 @@ -373,7 +373,7 @@ sub_80100B8: @ 80100B8 cmp r0, 0x1 bne _08010134 movs r2, 0 - ldr r7, _08010124 @ =gUnknown_3005008 + ldr r7, _08010124 @ =gSaveBlock1Ptr movs r1, 0xC8 lsls r1, 1 adds r5, r1 @@ -394,7 +394,7 @@ _080100DA: strb r0, [r1] movs r2, 0 adds r3, r5, 0 - ldr r6, _08010124 @ =gUnknown_3005008 + ldr r6, _08010124 @ =gSaveBlock1Ptr ldr r5, _0801012C @ =0x00003108 _080100FA: adds r0, r3, r2 @@ -418,7 +418,7 @@ _080100FA: b _08010174 .align 2, 0 _08010120: .4byte gUnknown_2023FE8 -_08010124: .4byte gUnknown_3005008 +_08010124: .4byte gSaveBlock1Ptr _08010128: .4byte 0x000030ec _0801012C: .4byte 0x00003108 _08010130: .4byte 0x0000311a @@ -482,7 +482,7 @@ _08010194: bne _08010250 movs r5, 0 ldr r3, _08010238 @ =gUnknown_2023F54 - ldr r0, _0801023C @ =gUnknown_3005008 + ldr r0, _0801023C @ =gSaveBlock1Ptr mov r8, r0 adds r6, r3, 0 mov r4, r8 @@ -517,7 +517,7 @@ _080101AE: movs r5, 0 adds r7, r3, 0 adds r7, 0x8 - ldr r4, _0801023C @ =gUnknown_3005008 + ldr r4, _0801023C @ =gSaveBlock1Ptr ldr r2, _08010244 @ =0x00003108 adds r6, r3, 0 adds r6, 0x40 @@ -561,7 +561,7 @@ _080101EC: .align 2, 0 _08010234: .4byte gUnknown_2022B4C _08010238: .4byte gUnknown_2023F54 -_0801023C: .4byte gUnknown_3005008 +_0801023C: .4byte gSaveBlock1Ptr _08010240: .4byte 0x000030ec _08010244: .4byte 0x00003108 _08010248: .4byte 0x0000311a @@ -1296,7 +1296,7 @@ _0801084C: cmp r0, 0 beq _080108B8 ldr r2, _08010884 @ =gUnknown_3004F80 - ldr r1, _08010888 @ =gUnknown_30030F0 + ldr r1, _08010888 @ =gMain ldr r0, [r1] str r0, [r2] ldr r0, _0801088C @ =sub_80123E4 @@ -1316,7 +1316,7 @@ _0801084C: .align 2, 0 _08010880: .4byte gUnknown_2023E83 _08010884: .4byte gUnknown_3004F80 -_08010888: .4byte gUnknown_30030F0 +_08010888: .4byte gMain _0801088C: .4byte sub_80123E4 _08010890: .4byte sub_8011100 _08010894: .4byte gUnknown_2022B4C @@ -1600,7 +1600,7 @@ _08010ABA: ldrb r0, [r1] adds r0, 0x1 strb r0, [r1] - ldr r1, _08010AF0 @ =gUnknown_30030F0 + ldr r1, _08010AF0 @ =gMain ldr r0, [r1, 0x8] mov r2, r9 str r0, [r2] @@ -1616,7 +1616,7 @@ _08010ABA: _08010AE4: .4byte gUnknown_2022118 _08010AE8: .4byte gUnknown_2022B58 _08010AEC: .4byte gUnknown_2023E82 -_08010AF0: .4byte gUnknown_30030F0 +_08010AF0: .4byte gMain _08010AF4: .4byte gUnknown_2022B4C _08010AF8: .4byte sub_80109C8 _08010AFC: @@ -1653,7 +1653,7 @@ _08010B2A: mov r2, r8 ldrh r0, [r2] str r0, [r1] - ldr r1, _08010B5C @ =gUnknown_30030F0 + ldr r1, _08010B5C @ =gMain mov r2, r9 ldr r0, [r2] str r0, [r1, 0x8] @@ -1663,7 +1663,7 @@ _08010B2A: .align 2, 0 _08010B54: .4byte gUnknown_3003F3C _08010B58: .4byte gUnknown_2022B4C -_08010B5C: .4byte gUnknown_30030F0 +_08010B5C: .4byte gMain _08010B60: .4byte sub_800FE24 _08010B64: ldr r0, _08010B90 @ =gUnknown_3003F64 @@ -1674,7 +1674,7 @@ _08010B64: mov r2, r8 ldrh r0, [r2] str r0, [r1] - ldr r1, _08010B98 @ =gUnknown_30030F0 + ldr r1, _08010B98 @ =gMain mov r2, r9 ldr r0, [r2] str r0, [r1, 0x8] @@ -1690,7 +1690,7 @@ _08010B82: .align 2, 0 _08010B90: .4byte gUnknown_3003F64 _08010B94: .4byte gUnknown_2022B4C -_08010B98: .4byte gUnknown_30030F0 +_08010B98: .4byte gMain _08010B9C: .4byte sub_800FE24 thumb_func_end sub_80109C8 @@ -2300,7 +2300,7 @@ _08011084: cmp r0, 0 beq _080110F0 ldr r2, _080110BC @ =gUnknown_3004F80 - ldr r1, _080110C0 @ =gUnknown_30030F0 + ldr r1, _080110C0 @ =gMain ldr r0, [r1] str r0, [r2] ldr r0, _080110C4 @ =sub_80123E4 @@ -2320,7 +2320,7 @@ _08011084: .align 2, 0 _080110B8: .4byte gUnknown_2023E83 _080110BC: .4byte gUnknown_3004F80 -_080110C0: .4byte gUnknown_30030F0 +_080110C0: .4byte gMain _080110C4: .4byte sub_80123E4 _080110C8: .4byte sub_8011100 _080110CC: .4byte gUnknown_2022B4C @@ -2362,7 +2362,7 @@ sub_8011100: @ 8011100 bl sub_8002DE8 bl UpdatePaletteFade bl RunTasks - ldr r0, _08011160 @ =gUnknown_30030F0 + ldr r0, _08011160 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x2 ands r0, r1 @@ -2396,7 +2396,7 @@ _08011158: pop {r0} bx r0 .align 2, 0 -_08011160: .4byte gUnknown_30030F0 +_08011160: .4byte gMain _08011164: .4byte gUnknown_2022B4C _08011168: .4byte gUnknown_20370D0 _0801116C: .4byte gUnknown_2023E8A @@ -2406,7 +2406,7 @@ _08011170: .4byte CB2_QuitRecordedBattle thumb_func_start FreeRestoreBattleData FreeRestoreBattleData: @ 8011174 push {lr} - ldr r1, _080111AC @ =gUnknown_30030F0 + ldr r1, _080111AC @ =gMain ldr r0, _080111B0 @ =gUnknown_3004F80 ldr r0, [r0] str r0, [r1] @@ -2429,7 +2429,7 @@ FreeRestoreBattleData: @ 8011174 pop {r0} bx r0 .align 2, 0 -_080111AC: .4byte gUnknown_30030F0 +_080111AC: .4byte gMain _080111B0: .4byte gUnknown_3004F80 _080111B4: .4byte gUnknown_2039600 _080111B8: .4byte 0x00000439 @@ -2447,7 +2447,7 @@ CB2_QuitRecordedBattle: @ 80111BC bne _080111DE bl FreeRestoreBattleData bl FreeAllWindowBuffers - ldr r0, _080111E8 @ =gUnknown_30030F0 + ldr r0, _080111E8 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _080111DE: @@ -2455,7 +2455,7 @@ _080111DE: bx r0 .align 2, 0 _080111E4: .4byte gUnknown_2037AB8 -_080111E8: .4byte gUnknown_30030F0 +_080111E8: .4byte gMain thumb_func_end CB2_QuitRecordedBattle thumb_func_start sub_80111EC @@ -3732,7 +3732,7 @@ _08011C10: ands r0, r1 cmp r0, 0 bne _08011C34 - ldr r0, _08011C40 @ =gUnknown_30030F0 + ldr r0, _08011C40 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 bl sub_812C224 @@ -3746,7 +3746,7 @@ _08011C34: bx r0 .align 2, 0 _08011C3C: .4byte gUnknown_2037AB8 -_08011C40: .4byte gUnknown_30030F0 +_08011C40: .4byte gMain thumb_func_end sub_8011BB0 thumb_func_start sub_8011C44 @@ -4945,7 +4945,7 @@ _080124F2: ands r0, r1 cmp r0, 0 bne _08012522 - ldr r1, _0801271C @ =gUnknown_300500C + ldr r1, _0801271C @ =gSaveBlock2Ptr ldr r0, [r1] ldrb r1, [r0, 0x15] movs r0, 0x4 @@ -4956,7 +4956,7 @@ _080124F2: ldr r2, _08012710 @ =gUnknown_2023DD0 str r0, [r2] _08012522: - ldr r1, _0801271C @ =gUnknown_300500C + ldr r1, _0801271C @ =gSaveBlock2Ptr ldr r0, [r1] ldrb r0, [r0, 0x15] lsls r0, 30 @@ -5191,7 +5191,7 @@ _0801270C: .4byte gUnknown_2023F20 _08012710: .4byte gUnknown_2023DD0 _08012714: .4byte gUnknown_2022B4C _08012718: .4byte 0x00010002 -_0801271C: .4byte gUnknown_300500C +_0801271C: .4byte gSaveBlock2Ptr _08012720: .4byte gUnknown_2023FC4 _08012724: .4byte gUnknown_2023D72 _08012728: .4byte gUnknown_2023E8A @@ -11609,7 +11609,7 @@ _08015B2C: .4byte ReturnFromBattleToOverworld thumb_func_start sub_8015B30 sub_8015B30: @ 8015B30 push {lr} - ldr r0, _08015B48 @ =gUnknown_30030F0 + ldr r0, _08015B48 @ =gMain ldr r1, [r0, 0x4] ldr r0, _08015B4C @ =sub_8011100 cmp r1, r0 @@ -11621,7 +11621,7 @@ _08015B42: pop {r0} bx r0 .align 2, 0 -_08015B48: .4byte gUnknown_30030F0 +_08015B48: .4byte gMain _08015B4C: .4byte sub_8011100 _08015B50: .4byte gUnknown_3004F84 _08015B54: .4byte sub_8015AA0 @@ -11656,7 +11656,7 @@ _08015B86: ldr r5, _08015BEC @ =gUnknown_2023E8A ldrb r0, [r5] strh r0, [r1] - ldr r3, _08015BF0 @ =gUnknown_30030F0 + ldr r3, _08015BF0 @ =gMain ldr r0, _08015BF4 @ =0x00000439 adds r2, r3, r0 ldrb r1, [r2] @@ -11686,7 +11686,7 @@ _08015BC2: _08015BC6: movs r0, 0x53 bl m4aSongNumStop - ldr r0, _08015BF0 @ =gUnknown_30030F0 + ldr r0, _08015BF0 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _08015BD4: @@ -11699,7 +11699,7 @@ _08015BE0: .4byte gUnknown_2024284 _08015BE4: .4byte gUnknown_3003F64 _08015BE8: .4byte gUnknown_20370D0 _08015BEC: .4byte gUnknown_2023E8A -_08015BF0: .4byte gUnknown_30030F0 +_08015BF0: .4byte gMain _08015BF4: .4byte 0x00000439 _08015BF8: .4byte gUnknown_3004F80 _08015BFC: .4byte gUnknown_202402C diff --git a/asm/battle_ai_switch_items.s b/asm/battle_ai_switch_items.s index c9f49c472..0baf7014e 100644 --- a/asm/battle_ai_switch_items.s +++ b/asm/battle_ai_switch_items.s @@ -2163,7 +2163,7 @@ _0803A296: mov r0, r9 cmp r0, 0xAF bne _0803A2BC - ldr r0, _0803A2B4 @ =gUnknown_3005008 + ldr r0, _0803A2B4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0803A2B8 @ =0x00003108 adds r5, r0, r1 @@ -2172,7 +2172,7 @@ _0803A296: _0803A2A8: .4byte gUnknown_202402C _0803A2AC: .4byte gUnknown_2023FF4 _0803A2B0: .4byte gUnknown_82528BC -_0803A2B4: .4byte gUnknown_3005008 +_0803A2B4: .4byte gSaveBlock1Ptr _0803A2B8: .4byte 0x00003108 _0803A2BC: adds r5, r1, 0 diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index d57db1b75..e36e9e23f 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -53813,7 +53813,7 @@ _080BC3C0: ands r1, r0 cmp r1, 0 beq _080BC3E0 - ldr r0, _080BC3D8 @ =gUnknown_81E9F10 + ldr r0, _080BC3D8 @ =gGameVersion ldrb r0, [r0] cmp r0, 0x2 beq _080BC3E0 @@ -53821,7 +53821,7 @@ _080BC3C0: ldr r0, _080BC3DC @ =task00_battle_intro_80BC6C8 b _080BC3E8 .align 2, 0 -_080BC3D8: .4byte gUnknown_81E9F10 +_080BC3D8: .4byte gGameVersion _080BC3DC: .4byte task00_battle_intro_80BC6C8 _080BC3E0: ldr r1, _080BC414 @ =gUnknown_83E7CD4 diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index b5bd5e1f4..4630d5e28 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -1362,7 +1362,7 @@ _080EF6F4: .4byte gUnknown_2022B4C _080EF6F8: movs r5, 0x17 movs r6, 0xB - ldr r0, _080EF7C4 @ =gUnknown_300500C + ldr r0, _080EF7C4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0x1 @@ -1456,7 +1456,7 @@ _080EF708: pop {r0} bx r0 .align 2, 0 -_080EF7C4: .4byte gUnknown_300500C +_080EF7C4: .4byte gSaveBlock2Ptr _080EF7C8: .4byte gUnknown_2023D68 _080EF7CC: .4byte gUnknown_82606F4 _080EF7D0: .4byte gUnknown_202063C @@ -3348,7 +3348,7 @@ _080F0670: .4byte gUnknown_3005090 thumb_func_start sub_80F0674 sub_80F0674: @ 80F0674 push {lr} - ldr r0, _080F0698 @ =gUnknown_30030F0 + ldr r0, _080F0698 @ =gMain ldr r1, _080F069C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -3366,7 +3366,7 @@ _080F0692: pop {r0} bx r0 .align 2, 0 -_080F0698: .4byte gUnknown_30030F0 +_080F0698: .4byte gMain _080F069C: .4byte 0x00000439 _080F06A0: .4byte gUnknown_2024018 thumb_func_end sub_80F0674 @@ -3461,7 +3461,7 @@ _080F0740: adds r2, r0, 0 cmp r1, 0xF bne _080F079C - ldr r0, _080F0794 @ =gUnknown_30030F0 + ldr r0, _080F0794 @ =gMain ldr r4, _080F0798 @ =0x00000439 adds r0, r4 ldrb r1, [r0] @@ -3487,7 +3487,7 @@ _080F0784: .4byte gUnknown_840C0A4 _080F0788: .4byte gUnknown_202063C _080F078C: .4byte gUnknown_840C068 _080F0790: .4byte sub_80F07BC -_080F0794: .4byte gUnknown_30030F0 +_080F0794: .4byte gMain _080F0798: .4byte 0x00000439 _080F079C: mov r4, r8 @@ -3651,7 +3651,7 @@ _080F08BE: lsrs r7, r0, 24 cmp r7, 0x7 bls _080F085E - ldr r0, _080F0914 @ =gUnknown_30030F0 + ldr r0, _080F0914 @ =gMain ldr r1, _080F0918 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -3684,7 +3684,7 @@ _080F0904: .4byte gUnknown_840C0A4 _080F0908: .4byte gUnknown_840C068 _080F090C: .4byte gUnknown_2020658 _080F0910: .4byte sub_80F0D5C -_080F0914: .4byte gUnknown_30030F0 +_080F0914: .4byte gMain _080F0918: .4byte 0x00000439 thumb_func_end sub_80F0818 @@ -3777,7 +3777,7 @@ _080F09C2: lsrs r7, r0, 24 cmp r7, 0x7 bls _080F0962 - ldr r0, _080F0A18 @ =gUnknown_30030F0 + ldr r0, _080F0A18 @ =gMain ldr r1, _080F0A1C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -3810,7 +3810,7 @@ _080F0A08: .4byte gUnknown_840C0A4 _080F0A0C: .4byte gUnknown_840C068 _080F0A10: .4byte gUnknown_2020658 _080F0A14: .4byte sub_80F0D5C -_080F0A18: .4byte gUnknown_30030F0 +_080F0A18: .4byte gMain _080F0A1C: .4byte 0x00000439 thumb_func_end sub_80F091C @@ -3901,7 +3901,7 @@ _080F0AC2: lsrs r7, r0, 24 cmp r7, 0x7 bls _080F0A66 - ldr r0, _080F0B18 @ =gUnknown_30030F0 + ldr r0, _080F0B18 @ =gMain ldr r1, _080F0B1C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -3934,7 +3934,7 @@ _080F0B08: .4byte gUnknown_840C068 _080F0B0C: .4byte gUnknown_840C0A4 _080F0B10: .4byte gUnknown_2020658 _080F0B14: .4byte sub_80F0D5C -_080F0B18: .4byte gUnknown_30030F0 +_080F0B18: .4byte gMain _080F0B1C: .4byte 0x00000439 thumb_func_end sub_80F0A20 @@ -4029,7 +4029,7 @@ _080F0BCA: lsrs r7, r0, 24 cmp r7, 0x9 bls _080F0B66 - ldr r0, _080F0C20 @ =gUnknown_30030F0 + ldr r0, _080F0C20 @ =gMain ldr r1, _080F0C24 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4062,7 +4062,7 @@ _080F0C10: .4byte gUnknown_840C0A4 _080F0C14: .4byte gUnknown_840C068 _080F0C18: .4byte gUnknown_2020658 _080F0C1C: .4byte sub_80F0D5C -_080F0C20: .4byte gUnknown_30030F0 +_080F0C20: .4byte gMain _080F0C24: .4byte 0x00000439 thumb_func_end sub_80F0B20 @@ -4179,7 +4179,7 @@ _080F0CE0: asrs r2, r0, 16 cmp r2, 0x2 bne _080F0D2A - ldr r0, _080F0D54 @ =gUnknown_30030F0 + ldr r0, _080F0D54 @ =gMain ldr r4, _080F0D58 @ =0x00000439 adds r0, r4 ldrb r1, [r0] @@ -4213,7 +4213,7 @@ _080F0D44: .4byte gUnknown_840C0A4 _080F0D48: .4byte gUnknown_2020658 _080F0D4C: .4byte sub_80F0D5C _080F0D50: .4byte gUnknown_3005090 -_080F0D54: .4byte gUnknown_30030F0 +_080F0D54: .4byte gMain _080F0D58: .4byte 0x00000439 thumb_func_end sub_80F0C28 @@ -4347,7 +4347,7 @@ _080F0E52: lsrs r7, r0, 24 cmp r7, 0xB bls _080F0DFA - ldr r0, _080F0EA8 @ =gUnknown_30030F0 + ldr r0, _080F0EA8 @ =gMain ldr r1, _080F0EAC @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4380,7 +4380,7 @@ _080F0E98: .4byte gUnknown_840C068 _080F0E9C: .4byte gUnknown_840C0A4 _080F0EA0: .4byte gUnknown_2020658 _080F0EA4: .4byte sub_80F0EB0 -_080F0EA8: .4byte gUnknown_30030F0 +_080F0EA8: .4byte gMain _080F0EAC: .4byte 0x00000439 thumb_func_end sub_80F0DB4 @@ -4547,7 +4547,7 @@ _080F0FE4: mov r8, r0 cmp r0, 0x1 bls _080F0F54 - ldr r0, _080F1030 @ =gUnknown_30030F0 + ldr r0, _080F1030 @ =gMain ldr r2, _080F1034 @ =0x00000439 adds r0, r2 ldrb r1, [r0] @@ -4574,7 +4574,7 @@ _080F1018: pop {r0} bx r0 .align 2, 0 -_080F1030: .4byte gUnknown_30030F0 +_080F1030: .4byte gMain _080F1034: .4byte 0x00000439 _080F1038: .4byte gUnknown_202063C thumb_func_end sub_80F0F10 @@ -4661,7 +4661,7 @@ _080F10D4: lsrs r7, r0, 24 cmp r7, 0x7 bls _080F1082 - ldr r0, _080F112C @ =gUnknown_30030F0 + ldr r0, _080F112C @ =gMain ldr r1, _080F1130 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4694,7 +4694,7 @@ _080F111C: .4byte gUnknown_840C068 _080F1120: .4byte gUnknown_840C0A4 _080F1124: .4byte gUnknown_2020658 _080F1128: .4byte sub_80F1134 -_080F112C: .4byte gUnknown_30030F0 +_080F112C: .4byte gMain _080F1130: .4byte 0x00000439 thumb_func_end sub_80F103C @@ -4752,7 +4752,7 @@ _080F1190: sub_80F1198: @ 80F1198 push {r4-r7,lr} adds r7, r0, 0 - ldr r0, _080F11BC @ =gUnknown_30030F0 + ldr r0, _080F11BC @ =gMain ldr r1, _080F11C0 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4768,7 +4768,7 @@ sub_80F1198: @ 80F1198 bl DestroySpriteAndFreeResources b _080F1212 .align 2, 0 -_080F11BC: .4byte gUnknown_30030F0 +_080F11BC: .4byte gMain _080F11C0: .4byte 0x00000439 _080F11C4: ldr r2, _080F1200 @ =gUnknown_2024018 diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 8e9448f63..c975b7de2 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -107,7 +107,7 @@ sub_80E763C: @ 80E763C movs r2, 0x7 movs r3, 0x1 bl dp11b_obj_instanciate - ldr r0, _080E76A4 @ =gUnknown_30030F0 + ldr r0, _080E76A4 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -130,7 +130,7 @@ sub_80E763C: @ 80E763C .align 2, 0 _080E769C: .4byte gUnknown_2022BC4 _080E76A0: .4byte gUnknown_2023BC4 -_080E76A4: .4byte gUnknown_30030F0 +_080E76A4: .4byte gMain _080E76A8: .4byte gUnknown_2023FF8 _080E76AC: cmp r0, 0x2 @@ -470,7 +470,7 @@ sub_80E7930: @ 80E7930 ands r0, r1 cmp r0, 0 bne _080E795A - ldr r2, _080E7964 @ =gUnknown_30030F0 + ldr r2, _080E7964 @ =gMain ldr r0, _080E7968 @ =0x00000439 adds r3, r2, r0 ldrb r1, [r3] @@ -488,7 +488,7 @@ _080E795A: bx r0 .align 2, 0 _080E7960: .4byte gUnknown_2037AB8 -_080E7964: .4byte gUnknown_30030F0 +_080E7964: .4byte gMain _080E7968: .4byte 0x00000439 _080E796C: .4byte gUnknown_3004F80 thumb_func_end sub_80E7930 @@ -579,7 +579,7 @@ _080E7A10: .4byte gUnknown_3004FFC thumb_func_start sub_80E7A14 sub_80E7A14: @ 80E7A14 push {lr} - ldr r0, _080E7A44 @ =gUnknown_30030F0 + ldr r0, _080E7A44 @ =gMain ldr r1, [r0, 0x4] ldr r0, _080E7A48 @ =sub_8011100 cmp r1, r0 @@ -601,7 +601,7 @@ sub_80E7A14: @ 80E7A14 bl EmitChosenMonReturnValue b _080E7A66 .align 2, 0 -_080E7A44: .4byte gUnknown_30030F0 +_080E7A44: .4byte gMain _080E7A48: .4byte sub_8011100 _080E7A4C: .4byte gUnknown_2037AB8 _080E7A50: .4byte gUnknown_203B0C0 @@ -661,7 +661,7 @@ _080E7AC0: thumb_func_start sub_80E7AC4 sub_80E7AC4: @ 80E7AC4 push {lr} - ldr r0, _080E7B14 @ =gUnknown_30030F0 + ldr r0, _080E7B14 @ =gMain ldr r1, [r0, 0x4] ldr r0, _080E7B18 @ =sub_8011100 cmp r1, r0 @@ -698,7 +698,7 @@ sub_80E7AC4: @ 80E7AC4 str r1, [r0] b _080E7B42 .align 2, 0 -_080E7B14: .4byte gUnknown_30030F0 +_080E7B14: .4byte gMain _080E7B18: .4byte sub_8011100 _080E7B1C: .4byte gUnknown_2037AB8 _080E7B20: .4byte gUnknown_203AD30 @@ -4961,7 +4961,7 @@ sub_80E9E6C: @ 80E9E6C ands r0, r1 cmp r0, 0 beq _080E9EE0 - ldr r4, _080E9ECC @ =gUnknown_300500C + ldr r4, _080E9ECC @ =gSaveBlock2Ptr ldr r0, [r4] ldrb r0, [r0, 0x8] ldr r6, _080E9ED0 @ =gUnknown_2023BC4 @@ -4998,7 +4998,7 @@ sub_80E9E6C: @ 80E9E6C b _080E9F1C .align 2, 0 _080E9EC8: .4byte gUnknown_2022B4C -_080E9ECC: .4byte gUnknown_300500C +_080E9ECC: .4byte gSaveBlock2Ptr _080E9ED0: .4byte gUnknown_2023BC4 _080E9ED4: .4byte gUnknown_20244DC _080E9ED8: .4byte gUnknown_8239F8C @@ -5107,7 +5107,7 @@ sub_80E9FB0: @ 80E9FB0 ands r0, r1 cmp r0, 0 beq _080EA024 - ldr r4, _080EA010 @ =gUnknown_300500C + ldr r4, _080EA010 @ =gSaveBlock2Ptr ldr r0, [r4] ldrb r0, [r0, 0x8] ldr r6, _080EA014 @ =gUnknown_2023BC4 @@ -5144,7 +5144,7 @@ sub_80E9FB0: @ 80E9FB0 b _080EA060 .align 2, 0 _080EA00C: .4byte gUnknown_2022B4C -_080EA010: .4byte gUnknown_300500C +_080EA010: .4byte gSaveBlock2Ptr _080EA014: .4byte gUnknown_2023BC4 _080EA018: .4byte gUnknown_20244DC _080EA01C: .4byte gUnknown_8239F8C @@ -6892,7 +6892,7 @@ _080EAD64: adds r4, r0, 0 lsls r4, 24 ldr r1, _080EAEC0 @ =gUnknown_8239FD4 - ldr r0, _080EAEC4 @ =gUnknown_300500C + ldr r0, _080EAEC4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] lsls r0, 3 @@ -6974,7 +6974,7 @@ _080EAEB4: .4byte sub_8075590 _080EAEB8: .4byte sub_80335F8 _080EAEBC: .4byte 0x0000d6f8 _080EAEC0: .4byte gUnknown_8239FD4 -_080EAEC4: .4byte gUnknown_300500C +_080EAEC4: .4byte gSaveBlock2Ptr _080EAEC8: .4byte sub_80EB0A8 _080EAECC: .4byte gUnknown_3005090 _080EAED0: .4byte gUnknown_2024018 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index d1a2573dd..0571de07a 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -6704,7 +6704,7 @@ OpponentHandleCmd55: @ 8039140 ands r0, r1 cmp r0, 0x2 bne _0803916A - ldr r2, _08039178 @ =gUnknown_30030F0 + ldr r2, _08039178 @ =gMain ldr r0, _0803917C @ =0x00000439 adds r3, r2, r0 ldrb r1, [r3] @@ -6723,7 +6723,7 @@ _0803916A: bx r0 .align 2, 0 _08039174: .4byte gUnknown_2022B4C -_08039178: .4byte gUnknown_30030F0 +_08039178: .4byte gMain _0803917C: .4byte 0x00000439 _08039180: .4byte gUnknown_3004F80 thumb_func_end OpponentHandleCmd55 diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index 2473a2ad1..3dacf2d99 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -180,7 +180,7 @@ sub_802E438: @ 802E438 movs r2, 0x7 movs r3, 0x1 bl dp11b_obj_instanciate - ldr r0, _0802E4A0 @ =gUnknown_30030F0 + ldr r0, _0802E4A0 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -203,7 +203,7 @@ sub_802E438: @ 802E438 .align 2, 0 _0802E498: .4byte gUnknown_2022BC4 _0802E49C: .4byte gUnknown_2023BC4 -_0802E4A0: .4byte gUnknown_30030F0 +_0802E4A0: .4byte gMain _0802E4A4: .4byte gUnknown_2023FF8 _0802E4A8: cmp r0, 0x2 @@ -471,7 +471,7 @@ _0802E6AC: cmp r4, r0 blt _0802E69A _0802E6B6: - ldr r0, _0802E714 @ =gUnknown_30030F0 + ldr r0, _0802E714 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -512,7 +512,7 @@ _0802E6B6: _0802E708: .4byte gUnknown_8250980 _0802E70C: .4byte gUnknown_3004FF4 _0802E710: .4byte gUnknown_2023BCC -_0802E714: .4byte gUnknown_30030F0 +_0802E714: .4byte gMain _0802E718: .4byte gUnknown_202063C _0802E71C: .4byte gUnknown_2023D44 _0802E720: .4byte sub_8012098 @@ -885,7 +885,7 @@ sub_802EA10: @ 802EA10 ldr r1, _0802EA70 @ =gUnknown_2022BC8 adds r7, r0, r1 bl sub_8033AC8 - ldr r0, _0802EA74 @ =gUnknown_30030F0 + ldr r0, _0802EA74 @ =gMain ldrh r1, [r0, 0x2E] movs r5, 0x1 adds r0, r5, 0 @@ -921,7 +921,7 @@ _0802EA3A: .align 2, 0 _0802EA6C: .4byte gUnknown_2023BC4 _0802EA70: .4byte gUnknown_2022BC8 -_0802EA74: .4byte gUnknown_30030F0 +_0802EA74: .4byte gMain _0802EA78: .4byte gUnknown_2023FFC _0802EA7C: ldr r2, _0802EA9C @ =gUnknown_8250C04 @@ -1336,7 +1336,7 @@ _0802EDD8: .4byte sub_802EF58 sub_802EDDC: @ 802EDDC push {r4-r7,lr} movs r7, 0 - ldr r4, _0802EF40 @ =gUnknown_30030F0 + ldr r4, _0802EF40 @ =gMain ldrh r1, [r4, 0x2E] movs r6, 0x1 adds r0, r6, 0 @@ -1394,7 +1394,7 @@ _0802EE18: movs r1, 0 bl MoveSelectionCreateCursorAt _0802EE58: - ldr r0, _0802EF40 @ =gUnknown_30030F0 + ldr r0, _0802EF40 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x10 ands r0, r1 @@ -1431,7 +1431,7 @@ _0802EE58: movs r1, 0 bl MoveSelectionCreateCursorAt _0802EEA6: - ldr r0, _0802EF40 @ =gUnknown_30030F0 + ldr r0, _0802EF40 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -1462,7 +1462,7 @@ _0802EEA6: movs r1, 0 bl MoveSelectionCreateCursorAt _0802EEE8: - ldr r0, _0802EF40 @ =gUnknown_30030F0 + ldr r0, _0802EF40 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -1504,7 +1504,7 @@ _0802EF36: pop {r1} bx r1 .align 2, 0 -_0802EF40: .4byte gUnknown_30030F0 +_0802EF40: .4byte gMain _0802EF44: .4byte gUnknown_2022974 _0802EF48: .4byte gUnknown_2022976 _0802EF4C: .4byte gUnknown_2023FFC @@ -1520,7 +1520,7 @@ sub_802EF58: @ 802EF58 mov r5, r8 push {r5-r7} sub sp, 0x24 - ldr r0, _0802F2E4 @ =gUnknown_30030F0 + ldr r0, _0802F2E4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x5 ands r0, r1 @@ -1972,7 +1972,7 @@ _0802F2C8: ldr r1, _0802F314 @ =sub_80E7988 b _0802F324 .align 2, 0 -_0802F2E4: .4byte gUnknown_30030F0 +_0802F2E4: .4byte gMain _0802F2E8: .4byte gUnknown_2023FFC _0802F2EC: .4byte gUnknown_2023BC4 _0802F2F0: .4byte gUnknown_3004FF4 @@ -2010,7 +2010,7 @@ _0802F324: bl MoveSelectionDisplayPpNumber bl MoveSelectionDisplayMoveType _0802F34C: - ldr r0, _0802F3A4 @ =gUnknown_30030F0 + ldr r0, _0802F3A4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2046,7 +2046,7 @@ _0802F394: .4byte gUnknown_2023BC4 _0802F398: .4byte sub_802EA10 _0802F39C: .4byte gUnknown_2023FFC _0802F3A0: .4byte gUnknown_3004FF4 -_0802F3A4: .4byte gUnknown_30030F0 +_0802F3A4: .4byte gMain _0802F3A8: .4byte gUnknown_2022B4C _0802F3AC: .4byte sub_80E7988 _0802F3B0: @@ -2061,7 +2061,7 @@ _0802F3BA: bl MoveSelectionDisplayPpNumber bl MoveSelectionDisplayMoveType _0802F3C8: - ldr r0, _0802F400 @ =gUnknown_30030F0 + ldr r0, _0802F400 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x20 ands r0, r1 @@ -2087,7 +2087,7 @@ _0802F3C8: .align 2, 0 _0802F3F8: .4byte gUnknown_3004FE0 _0802F3FC: .4byte sub_802EA10 -_0802F400: .4byte gUnknown_30030F0 +_0802F400: .4byte gMain _0802F404: .4byte gUnknown_3004FF4 _0802F408: .4byte gUnknown_2023FFC _0802F40C: .4byte gUnknown_2023BC4 @@ -2123,7 +2123,7 @@ _0802F44C: movs r1, 0x1B bl MoveSelectionCreateCursorAt _0802F454: - ldr r0, _0802F490 @ =gUnknown_30030F0 + ldr r0, _0802F490 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x10 ands r0, r1 @@ -2153,7 +2153,7 @@ _0802F454: bl MoveSelectionCreateCursorAt b _0802F4AA .align 2, 0 -_0802F490: .4byte gUnknown_30030F0 +_0802F490: .4byte gMain _0802F494: .4byte gUnknown_3004FF4 _0802F498: .4byte gUnknown_3004FF8 _0802F49C: .4byte gUnknown_2023FFC @@ -2190,7 +2190,7 @@ _0802F4E0: movs r1, 0x1B bl MoveSelectionCreateCursorAt _0802F4E8: - ldr r0, _0802F518 @ =gUnknown_30030F0 + ldr r0, _0802F518 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -2214,7 +2214,7 @@ _0802F4E8: bl MoveSelectionCreateCursorAt b _0802F52E .align 2, 0 -_0802F518: .4byte gUnknown_30030F0 +_0802F518: .4byte gMain _0802F51C: .4byte gUnknown_3004FF4 _0802F520: .4byte gUnknown_2023FFC _0802F524: .4byte gUnknown_2023BC4 @@ -2250,7 +2250,7 @@ _0802F564: movs r1, 0x1B bl MoveSelectionCreateCursorAt _0802F56C: - ldr r0, _0802F5A8 @ =gUnknown_30030F0 + ldr r0, _0802F5A8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -2280,7 +2280,7 @@ _0802F56C: bl MoveSelectionCreateCursorAt b _0802F5C2 .align 2, 0 -_0802F5A8: .4byte gUnknown_30030F0 +_0802F5A8: .4byte gMain _0802F5AC: .4byte gUnknown_3004FF4 _0802F5B0: .4byte gUnknown_3004FF8 _0802F5B4: .4byte gUnknown_2023FFC @@ -2340,7 +2340,7 @@ sub_802F610: @ 802F610 bne _0802F694 movs r0, 0x53 bl m4aSongNumStop - ldr r3, _0802F654 @ =gUnknown_30030F0 + ldr r3, _0802F654 @ =gMain ldr r0, _0802F658 @ =0x00000439 adds r2, r3, r0 ldrb r1, [r2] @@ -2358,7 +2358,7 @@ sub_802F610: @ 802F610 .align 2, 0 _0802F64C: .4byte gUnknown_3003F3C _0802F650: .4byte gUnknown_3003F64 -_0802F654: .4byte gUnknown_30030F0 +_0802F654: .4byte gMain _0802F658: .4byte 0x00000439 _0802F65C: .4byte gUnknown_3004F80 _0802F660: .4byte sub_8011A1C @@ -2369,7 +2369,7 @@ _0802F664: beq _0802F694 movs r0, 0x53 bl m4aSongNumStop - ldr r3, _0802F698 @ =gUnknown_30030F0 + ldr r3, _0802F698 @ =gMain ldr r0, _0802F69C @ =0x00000439 adds r2, r3, r0 ldrb r1, [r2] @@ -2387,7 +2387,7 @@ _0802F694: pop {r0} bx r0 .align 2, 0 -_0802F698: .4byte gUnknown_30030F0 +_0802F698: .4byte gMain _0802F69C: .4byte 0x00000439 _0802F6A0: .4byte gUnknown_3004F80 _0802F6A4: .4byte sub_8011A1C @@ -2436,7 +2436,7 @@ _0802F6F8: .4byte sub_802F610 _0802F6FC: movs r0, 0x53 bl m4aSongNumStop - ldr r2, _0802F724 @ =gUnknown_30030F0 + ldr r2, _0802F724 @ =gMain ldr r0, _0802F728 @ =0x00000439 adds r3, r2, r0 ldrb r1, [r3] @@ -2453,7 +2453,7 @@ _0802F71E: pop {r0} bx r0 .align 2, 0 -_0802F724: .4byte gUnknown_30030F0 +_0802F724: .4byte gMain _0802F728: .4byte 0x00000439 _0802F72C: .4byte gUnknown_3004F80 thumb_func_end sub_802F6A8 @@ -2535,7 +2535,7 @@ sub_802F7A0: @ 802F7A0 ldr r0, _0802F808 @ =nullsub_8 cmp r1, r0 bne _0802F7F4 - ldr r0, _0802F80C @ =gUnknown_300500C + ldr r0, _0802F80C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] bl nullsub_16 @@ -2565,7 +2565,7 @@ _0802F7FC: .4byte gUnknown_202063C _0802F800: .4byte gUnknown_2023D44 _0802F804: .4byte gUnknown_2023BC4 _0802F808: .4byte nullsub_8 -_0802F80C: .4byte gUnknown_300500C +_0802F80C: .4byte gSaveBlock2Ptr thumb_func_end sub_802F7A0 thumb_func_start sub_802F810 @@ -4336,7 +4336,7 @@ _08030680: .4byte gUnknown_3004FFC thumb_func_start sub_8030684 sub_8030684: @ 8030684 push {lr} - ldr r0, _080306B4 @ =gUnknown_30030F0 + ldr r0, _080306B4 @ =gMain ldr r1, [r0, 0x4] ldr r0, _080306B8 @ =sub_8011100 cmp r1, r0 @@ -4358,7 +4358,7 @@ sub_8030684: @ 8030684 bl EmitChosenMonReturnValue b _080306D6 .align 2, 0 -_080306B4: .4byte gUnknown_30030F0 +_080306B4: .4byte gMain _080306B8: .4byte sub_8011100 _080306BC: .4byte gUnknown_2037AB8 _080306C0: .4byte gUnknown_203B0C0 @@ -4424,7 +4424,7 @@ _08030738: .4byte CompleteWhenChoseItem thumb_func_start CompleteWhenChoseItem CompleteWhenChoseItem: @ 803073C push {lr} - ldr r0, _08030768 @ =gUnknown_30030F0 + ldr r0, _08030768 @ =gMain ldr r1, [r0, 0x4] ldr r0, _0803076C @ =sub_8011100 cmp r1, r0 @@ -4444,7 +4444,7 @@ _08030762: pop {r0} bx r0 .align 2, 0 -_08030768: .4byte gUnknown_30030F0 +_08030768: .4byte gMain _0803076C: .4byte sub_8011100 _08030770: .4byte gUnknown_2037AB8 _08030774: .4byte gUnknown_203AD30 @@ -7796,7 +7796,7 @@ _08032328: ldrb r4, [r1, 0x13] b _08032342 _0803233C: - ldr r0, _08032400 @ =gUnknown_300500C + ldr r0, _08032400 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r4, [r0, 0x8] _08032342: @@ -7891,7 +7891,7 @@ _08032342: pop {r0} bx r0 .align 2, 0 -_08032400: .4byte gUnknown_300500C +_08032400: .4byte gSaveBlock2Ptr _08032404: .4byte gUnknown_2023BC4 _08032408: .4byte gUnknown_20244DC _0803240C: .4byte gUnknown_8239F8C @@ -7973,7 +7973,7 @@ _080324A4: ldrb r4, [r1, 0x13] b _080324BE _080324B8: - ldr r0, _08032568 @ =gUnknown_300500C + ldr r0, _08032568 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r4, [r0, 0x8] _080324BE: @@ -8059,7 +8059,7 @@ _080324BE: pop {r0} bx r0 .align 2, 0 -_08032568: .4byte gUnknown_300500C +_08032568: .4byte gSaveBlock2Ptr _0803256C: .4byte gUnknown_2023BC4 _08032570: .4byte gUnknown_20244DC _08032574: .4byte gUnknown_8239F8C @@ -10010,7 +10010,7 @@ PlayerHandleIntroTrainerBallThrow: @ 8033478 adds r4, r0, 0 lsls r4, 24 ldr r1, _080335D4 @ =gUnknown_8239FD4 - ldr r0, _080335D8 @ =gUnknown_300500C + ldr r0, _080335D8 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] lsls r0, 3 @@ -10093,7 +10093,7 @@ _080335C8: .4byte sub_80755B8 _080335CC: .4byte sub_80335F8 _080335D0: .4byte 0x0000d6f8 _080335D4: .4byte gUnknown_8239FD4 -_080335D8: .4byte gUnknown_300500C +_080335D8: .4byte gSaveBlock2Ptr _080335DC: .4byte task05_08033660 _080335E0: .4byte gUnknown_3005090 _080335E4: .4byte gUnknown_2024018 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 786b76da2..105922382 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -233,7 +233,7 @@ sub_8156254: @ 8156254 ands r0, r1 cmp r0, 0 bne _0815627E - ldr r2, _08156288 @ =gUnknown_30030F0 + ldr r2, _08156288 @ =gMain ldr r0, _0815628C @ =0x00000439 adds r3, r2, r0 ldrb r1, [r3] @@ -251,7 +251,7 @@ _0815627E: bx r0 .align 2, 0 _08156284: .4byte gUnknown_2037AB8 -_08156288: .4byte gUnknown_30030F0 +_08156288: .4byte gMain _0815628C: .4byte 0x00000439 _08156290: .4byte gUnknown_3004F80 thumb_func_end sub_8156254 @@ -584,7 +584,7 @@ _08156534: .4byte gUnknown_3004FFC thumb_func_start sub_8156538 sub_8156538: @ 8156538 push {lr} - ldr r0, _08156568 @ =gUnknown_30030F0 + ldr r0, _08156568 @ =gMain ldr r1, [r0, 0x4] ldr r0, _0815656C @ =sub_8011100 cmp r1, r0 @@ -606,7 +606,7 @@ sub_8156538: @ 8156538 bl EmitChosenMonReturnValue b _0815658A .align 2, 0 -_08156568: .4byte gUnknown_30030F0 +_08156568: .4byte gMain _0815656C: .4byte sub_8011100 _08156570: .4byte gUnknown_2037AB8 _08156574: .4byte gUnknown_203B0C0 @@ -669,7 +669,7 @@ _081565E2: thumb_func_start sub_81565E8 sub_81565E8: @ 81565E8 push {lr} - ldr r0, _08156614 @ =gUnknown_30030F0 + ldr r0, _08156614 @ =gMain ldr r1, [r0, 0x4] ldr r0, _08156618 @ =sub_8011100 cmp r1, r0 @@ -689,7 +689,7 @@ _0815660E: pop {r0} bx r0 .align 2, 0 -_08156614: .4byte gUnknown_30030F0 +_08156614: .4byte gMain _08156618: .4byte sub_8011100 _0815661C: .4byte gUnknown_2037AB8 _08156620: .4byte gUnknown_203AD30 @@ -7281,7 +7281,7 @@ _08159C64: lsrs r4, r0, 16 cmp r4, 0 bne _08159CEE - ldr r0, _08159CA8 @ =gUnknown_30030F0 + ldr r0, _08159CA8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -7310,7 +7310,7 @@ _08159C9E: strb r0, [r1, 0x2] b _08159CEE .align 2, 0 -_08159CA8: .4byte gUnknown_30030F0 +_08159CA8: .4byte gMain _08159CAC: .4byte gUnknown_3005EE0 _08159CB0: .4byte gUnknown_2023BC4 _08159CB4: @@ -7481,7 +7481,7 @@ _08159E0C: lsrs r4, r0, 16 cmp r4, 0 bne _08159EDE - ldr r0, _08159E58 @ =gUnknown_30030F0 + ldr r0, _08159E58 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -7511,7 +7511,7 @@ _08159E0C: movs r3, 0x8 b _08159E80 .align 2, 0 -_08159E58: .4byte gUnknown_30030F0 +_08159E58: .4byte gMain _08159E5C: .4byte gUnknown_825E45C _08159E60: .4byte gUnknown_2023FE8 _08159E64: diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index be5f15841..04269dca0 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -69,7 +69,7 @@ _080DD5A0: thumb_func_start HandleInputChooseAction_0 HandleInputChooseAction_0: @ 80DD5A4 push {r4,r5,lr} - ldr r0, _080DD5D4 @ =gUnknown_30030F0 + ldr r0, _080DD5D4 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -91,7 +91,7 @@ HandleInputChooseAction_0: @ 80DD5A4 beq _080DD5EA b _080DD60C .align 2, 0 -_080DD5D4: .4byte gUnknown_30030F0 +_080DD5D4: .4byte gMain _080DD5D8: .4byte gUnknown_2023FF8 _080DD5DC: .4byte gUnknown_2023BC4 _080DD5E0: @@ -336,7 +336,7 @@ sub_80DD7B0: @ 80DD7B0 ands r0, r1 cmp r0, 0 bne _080DD7DA - ldr r2, _080DD7E4 @ =gUnknown_30030F0 + ldr r2, _080DD7E4 @ =gMain ldr r0, _080DD7E8 @ =0x00000439 adds r3, r2, r0 ldrb r1, [r3] @@ -354,7 +354,7 @@ _080DD7DA: bx r0 .align 2, 0 _080DD7E0: .4byte gUnknown_2037AB8 -_080DD7E4: .4byte gUnknown_30030F0 +_080DD7E4: .4byte gMain _080DD7E8: .4byte 0x00000439 _080DD7EC: .4byte gUnknown_3004F80 thumb_func_end sub_80DD7B0 @@ -420,7 +420,7 @@ _080DD858: .4byte CompleteWhenChosePokeblock thumb_func_start CompleteWhenChosePokeblock CompleteWhenChosePokeblock: @ 80DD85C push {lr} - ldr r0, _080DD888 @ =gUnknown_30030F0 + ldr r0, _080DD888 @ =gMain ldr r1, [r0, 0x4] ldr r0, _080DD88C @ =sub_8011100 cmp r1, r0 @@ -440,7 +440,7 @@ _080DD882: pop {r0} bx r0 .align 2, 0 -_080DD888: .4byte gUnknown_30030F0 +_080DD888: .4byte gMain _080DD88C: .4byte sub_8011100 _080DD890: .4byte gUnknown_2037AB8 _080DD894: .4byte gUnknown_203AD30 @@ -614,7 +614,7 @@ sub_80DD9B8: @ 80DD9B8 thumb_func_start SafariHandleDrawTrainerPic SafariHandleDrawTrainerPic: @ 80DD9C4 push {r4-r6,lr} - ldr r4, _080DDA7C @ =gUnknown_300500C + ldr r4, _080DDA7C @ =gSaveBlock2Ptr ldr r0, [r4] ldrb r0, [r0, 0x8] ldr r5, _080DDA80 @ =gUnknown_2023BC4 @@ -702,7 +702,7 @@ SafariHandleDrawTrainerPic: @ 80DD9C4 pop {r0} bx r0 .align 2, 0 -_080DDA7C: .4byte gUnknown_300500C +_080DDA7C: .4byte gSaveBlock2Ptr _080DDA80: .4byte gUnknown_2023BC4 _080DDA84: .4byte gUnknown_20244DC _080DDA88: .4byte gUnknown_8239F8C diff --git a/asm/battle_gfx_sfx_util.s b/asm/battle_gfx_sfx_util.s index ec1e8ba19..49c778509 100644 --- a/asm/battle_gfx_sfx_util.s +++ b/asm/battle_gfx_sfx_util.s @@ -2711,7 +2711,7 @@ sub_803539C: @ 803539C mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _08035440 @ =gUnknown_30030F0 + ldr r0, _08035440 @ =gMain ldr r1, _08035444 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -2782,7 +2782,7 @@ _08035432: pop {r0} bx r0 .align 2, 0 -_08035440: .4byte gUnknown_30030F0 +_08035440: .4byte gMain _08035444: .4byte 0x00000439 _08035448: .4byte gUnknown_2023BCE _0803544C: .4byte gUnknown_2024284 diff --git a/asm/battle_message.s b/asm/battle_message.s index 04f11b70c..395b0ebcb 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -1895,11 +1895,11 @@ _080D81C8: _080D81D4: .4byte gUnknown_2023FC4 _080D81D8: .4byte gUnknown_2022744 _080D81DC: - ldr r0, _080D81E4 @ =gUnknown_300500C + ldr r0, _080D81E4 @ =gSaveBlock2Ptr ldr r4, [r0] b _080D8382 .align 2, 0 -_080D81E4: .4byte gUnknown_300500C +_080D81E4: .4byte gSaveBlock2Ptr _080D81E8: ldr r0, _080D8204 @ =gUnknown_2022B4C ldr r0, [r0] diff --git a/asm/battle_records.s b/asm/battle_records.s index e8a2c4af4..4f7ed298b 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -22,7 +22,7 @@ _080CD23C: .4byte sub_80CD240 sub_80CD240: @ 80CD240 push {r4,lr} sub sp, 0x4 - ldr r0, _080CD260 @ =gUnknown_30030F0 + ldr r0, _080CD260 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -37,7 +37,7 @@ _080CD254: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080CD260: .4byte gUnknown_30030F0 +_080CD260: .4byte gMain _080CD264: .4byte _080CD268 .align 2, 0 _080CD268: @@ -115,7 +115,7 @@ _080CD314: movs r3, 0 bl BeginNormalPaletteFade _080CD324: - ldr r1, _080CD334 @ =gUnknown_30030F0 + ldr r1, _080CD334 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -124,7 +124,7 @@ _080CD324: strb r0, [r1] b _080CD376 .align 2, 0 -_080CD334: .4byte gUnknown_30030F0 +_080CD334: .4byte gMain _080CD338: bl sub_80CD628 ldr r0, _080CD350 @ =sub_80CD38C @@ -146,7 +146,7 @@ _080CD35C: bl CreateTask ldr r0, _080CD384 @ =sub_80CD3A0 bl SetMainCallback2 - ldr r0, _080CD388 @ =gUnknown_30030F0 + ldr r0, _080CD388 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -160,7 +160,7 @@ _080CD376: .align 2, 0 _080CD380: .4byte sub_80CD3B8 _080CD384: .4byte sub_80CD3A0 -_080CD388: .4byte gUnknown_30030F0 +_080CD388: .4byte gMain thumb_func_end sub_80CD240 thumb_func_start sub_80CD38C @@ -221,7 +221,7 @@ sub_80CD3E8: @ 80CD3E8 lsls r1, 3 ldr r0, _080CD41C @ =gUnknown_3005090 adds r4, r1, r0 - ldr r0, _080CD420 @ =gUnknown_30030F0 + ldr r0, _080CD420 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -242,7 +242,7 @@ _080CD416: bx r0 .align 2, 0 _080CD41C: .4byte gUnknown_3005090 -_080CD420: .4byte gUnknown_30030F0 +_080CD420: .4byte gMain _080CD424: .4byte sub_80CD428 thumb_func_end sub_80CD3E8 @@ -859,7 +859,7 @@ _080CD8BE: thumb_func_start InitLinkBattleRecords InitLinkBattleRecords: @ 80CD8DC push {lr} - ldr r0, _080CD8F0 @ =gUnknown_300500C + ldr r0, _080CD8F0 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080CD8F4 @ =0x00000a98 adds r0, r1 @@ -867,7 +867,7 @@ InitLinkBattleRecords: @ 80CD8DC pop {r0} bx r0 .align 2, 0 -_080CD8F0: .4byte gUnknown_300500C +_080CD8F0: .4byte gSaveBlock2Ptr _080CD8F4: .4byte 0x00000a98 thumb_func_end InitLinkBattleRecords @@ -957,7 +957,7 @@ sub_80CD98C: @ 80CD98C push {r4-r6,lr} sub sp, 0x4 adds r6, r0, 0 - ldr r0, _080CD9DC @ =gUnknown_3005008 + ldr r0, _080CD9DC @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] movs r0, 0x80 @@ -966,7 +966,7 @@ sub_80CD98C: @ 80CD98C beq _080CD9D4 adds r0, r6, 0 bl sub_80CD950 - ldr r0, _080CD9E0 @ =gUnknown_300500C + ldr r0, _080CD9E0 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080CD9E4 @ =0x00000a98 adds r0, r1 @@ -994,8 +994,8 @@ _080CD9D4: pop {r0} bx r0 .align 2, 0 -_080CD9DC: .4byte gUnknown_3005008 -_080CD9E0: .4byte gUnknown_300500C +_080CD9DC: .4byte gSaveBlock1Ptr +_080CD9E0: .4byte gSaveBlock2Ptr _080CD9E4: .4byte 0x00000a98 _080CD9E8: .4byte gUnknown_2039654 _080CD9EC: .4byte gUnknown_2023E8A @@ -1292,7 +1292,7 @@ sub_80CDBE4: @ 80CDBE4 movs r1, 0x2 movs r3, 0x4 bl AddTextPrinterParametrized2 - ldr r5, _080CDCA8 @ =gUnknown_300500C + ldr r5, _080CDCA8 @ =gSaveBlock2Ptr ldr r0, [r5] ldr r1, _080CDCAC @ =0x00000a98 mov r8, r1 @@ -1340,7 +1340,7 @@ _080CDC70: _080CDC9C: .4byte gUnknown_2021D18 _080CDCA0: .4byte gUnknown_8418174 _080CDCA4: .4byte gUnknown_83F6C78 -_080CDCA8: .4byte gUnknown_300500C +_080CDCA8: .4byte gSaveBlock2Ptr _080CDCAC: .4byte 0x00000a98 _080CDCB0: .4byte gUnknown_84181A4 thumb_func_end sub_80CDBE4 diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index 0a99b658b..2c8756ae1 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -8481,7 +8481,7 @@ _08021B88: lsrs r0, 16 cmp r0, 0xAF bne _08021BB4 - ldr r0, _08021BAC @ =gUnknown_3005008 + ldr r0, _08021BAC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _08021BB0 @ =0x0000311a adds r0, r2 @@ -8490,7 +8490,7 @@ _08021B88: .align 2, 0 _08021BA4: .4byte gUnknown_2024284 _08021BA8: .4byte gUnknown_825E45C -_08021BAC: .4byte gUnknown_3005008 +_08021BAC: .4byte gSaveBlock1Ptr _08021BB0: .4byte 0x0000311a _08021BB4: bl ItemId_GetHoldEffect @@ -8601,7 +8601,7 @@ _08021C74: lsrs r0, 16 cmp r0, 0xAF bne _08021CB8 - ldr r0, _08021CB0 @ =gUnknown_3005008 + ldr r0, _08021CB0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08021CB4 @ =0x0000311a adds r0, r1 @@ -8613,7 +8613,7 @@ _08021CA0: .4byte gUnknown_2023FC4 _08021CA4: .4byte gUnknown_2023FE8 _08021CA8: .4byte gUnknown_2023BC8 _08021CAC: .4byte gUnknown_2024284 -_08021CB0: .4byte gUnknown_3005008 +_08021CB0: .4byte gSaveBlock1Ptr _08021CB4: .4byte 0x0000311a _08021CB8: bl ItemId_GetHoldEffect @@ -15573,7 +15573,7 @@ _080253F0: .4byte gUnknown_83FE791 _080253F4: .4byte gUnknown_2023FC4 _080253F8: .4byte gUnknown_2023E82 _080253FC: - ldr r0, _08025484 @ =gUnknown_30030F0 + ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -15590,7 +15590,7 @@ _080253FC: strb r0, [r4, 0x1] bl sub_802DCB8 _08025422: - ldr r0, _08025484 @ =gUnknown_30030F0 + ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -15607,7 +15607,7 @@ _08025422: strb r0, [r4, 0x1] bl sub_802DCB8 _08025448: - ldr r0, _08025484 @ =gUnknown_30030F0 + ldr r0, _08025484 @ =gMain ldrh r1, [r0, 0x2E] movs r5, 0x1 adds r0, r5, 0 @@ -15635,7 +15635,7 @@ _08025448: bl BeginNormalPaletteFade b _080254D8 .align 2, 0 -_08025484: .4byte gUnknown_30030F0 +_08025484: .4byte gMain _08025488: .4byte gUnknown_2023E82 _0802548C: movs r0, 0x2 @@ -15700,7 +15700,7 @@ _08025500: beq _0802550E b _080256D0 _0802550E: - ldr r0, _08025530 @ =gUnknown_30030F0 + ldr r0, _08025530 @ =gMain ldr r1, [r0, 0x4] ldr r0, _08025534 @ =sub_8011100 cmp r1, r0 @@ -15717,7 +15717,7 @@ _0802551A: b _080256D0 .align 2, 0 _0802552C: .4byte gUnknown_2037AB8 -_08025530: .4byte gUnknown_30030F0 +_08025530: .4byte gMain _08025534: .4byte sub_8011100 _08025538: .4byte gUnknown_2023FC4 _0802553C: @@ -15948,7 +15948,7 @@ _080256F8: _08025720: .4byte gUnknown_83FE791 _08025724: .4byte gUnknown_2023E82 _08025728: - ldr r0, _080257AC @ =gUnknown_30030F0 + ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -15965,7 +15965,7 @@ _08025728: strb r0, [r4, 0x1] bl sub_802DCB8 _0802574E: - ldr r0, _080257AC @ =gUnknown_30030F0 + ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -15982,7 +15982,7 @@ _0802574E: strb r0, [r4, 0x1] bl sub_802DCB8 _08025774: - ldr r0, _080257AC @ =gUnknown_30030F0 + ldr r0, _080257AC @ =gMain ldrh r1, [r0, 0x2E] movs r4, 0x1 adds r0, r4, 0 @@ -16010,7 +16010,7 @@ _08025774: str r1, [r3] b _080257C0 .align 2, 0 -_080257AC: .4byte gUnknown_30030F0 +_080257AC: .4byte gMain _080257B0: .4byte gUnknown_2023E82 _080257B4: .4byte gUnknown_2023D74 _080257B8: @@ -16167,7 +16167,7 @@ _080258C0: lsls r0, 2 adds r4, r2, 0 muls r4, r0 - ldr r0, _08025900 @ =gUnknown_3005008 + ldr r0, _08025900 @ =gSaveBlock1Ptr mov r8, r0 b _080259E8 .align 2, 0 @@ -16175,7 +16175,7 @@ _080258F0: .4byte gUnknown_2023E8A _080258F4: .4byte gUnknown_20386AE _080258F8: .4byte gUnknown_2023FF4 _080258FC: .4byte gUnknown_2023FE8 -_08025900: .4byte gUnknown_3005008 +_08025900: .4byte gSaveBlock1Ptr _08025904: ldr r2, _08025920 @ =gUnknown_823EAC8 ldrh r1, [r0] @@ -16245,7 +16245,7 @@ _08025970: mov r12, r0 lsls r4, r5, 2 ldr r5, _080259D4 @ =gUnknown_2022B4C - ldr r0, _080259D8 @ =gUnknown_3005008 + ldr r0, _080259D8 @ =gSaveBlock1Ptr mov r8, r0 cmp r1, 0xFF beq _080259AA @@ -16289,7 +16289,7 @@ _080259AA: _080259CC: .4byte gUnknown_824F220 _080259D0: .4byte gUnknown_2023FE8 _080259D4: .4byte gUnknown_2022B4C -_080259D8: .4byte gUnknown_3005008 +_080259D8: .4byte gSaveBlock1Ptr _080259DC: .4byte gUnknown_823EAC8 _080259E0: .4byte gUnknown_20386AE _080259E4: @@ -16942,7 +16942,7 @@ _08025EE4: .align 2, 0 _08025F08: .4byte gUnknown_83FE791 _08025F0C: - ldr r0, _08025F6C @ =gUnknown_30030F0 + ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -16958,7 +16958,7 @@ _08025F0C: strb r0, [r5, 0x1] bl sub_802DCB8 _08025F30: - ldr r0, _08025F6C @ =gUnknown_30030F0 + ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -16975,7 +16975,7 @@ _08025F30: strb r0, [r4, 0x1] bl sub_802DCB8 _08025F56: - ldr r0, _08025F6C @ =gUnknown_30030F0 + ldr r0, _08025F6C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -16986,7 +16986,7 @@ _08025F56: strb r4, [r0, 0x1] b _08025F7E .align 2, 0 -_08025F6C: .4byte gUnknown_30030F0 +_08025F6C: .4byte gMain _08025F70: .4byte gUnknown_2023E82 _08025F74: movs r4, 0x1 @@ -17444,7 +17444,7 @@ _08026318: .align 2, 0 _0802632C: .4byte gUnknown_202297A _08026330: - ldr r0, _0802634C @ =gUnknown_30030F0 + ldr r0, _0802634C @ =gMain ldrh r0, [r0, 0x2E] cmp r0, 0 beq _080263F6 @@ -17456,9 +17456,9 @@ _08026330: bl CopyWindowToVram b _0802636E .align 2, 0 -_0802634C: .4byte gUnknown_30030F0 +_0802634C: .4byte gMain _08026350: - ldr r0, _08026378 @ =gUnknown_30030F0 + ldr r0, _08026378 @ =gMain ldrh r0, [r0, 0x2E] cmp r0, 0 beq _080263F6 @@ -17478,7 +17478,7 @@ _0802636E: strb r0, [r1, 0x1E] b _080263F6 .align 2, 0 -_08026378: .4byte gUnknown_30030F0 +_08026378: .4byte gMain _0802637C: .4byte gUnknown_2023FC4 _08026380: bl sub_8026648 @@ -22088,7 +22088,7 @@ atk91_givepaydaymoney: @ 80287A8 ldrb r0, [r0] adds r4, r1, 0 muls r4, r0 - ldr r0, _08028818 @ =gUnknown_3005008 + ldr r0, _08028818 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -22122,7 +22122,7 @@ atk91_givepaydaymoney: @ 80287A8 _0802880C: .4byte gUnknown_2022B4C _08028810: .4byte gUnknown_2023E7E _08028814: .4byte gUnknown_2023FE8 -_08028818: .4byte gUnknown_3005008 +_08028818: .4byte gSaveBlock1Ptr _0802881C: .4byte gUnknown_2022AB8 _08028820: .4byte gUnknown_2023D74 _08028824: .4byte gUnknown_81D911D @@ -32469,7 +32469,7 @@ _0802DA64: beq _0802DA72 b _0802DB6C _0802DA72: - ldr r0, _0802DAB0 @ =gUnknown_30030F0 + ldr r0, _0802DAB0 @ =gMain ldr r1, [r0, 0x4] ldr r0, _0802DAB4 @ =sub_8011100 cmp r1, r0 @@ -32498,7 +32498,7 @@ _0802DA72: b _0802DB6C .align 2, 0 _0802DAAC: .4byte gUnknown_2037AB8 -_0802DAB0: .4byte gUnknown_30030F0 +_0802DAB0: .4byte gMain _0802DAB4: .4byte sub_8011100 _0802DAB8: .4byte gUnknown_3005090 _0802DABC: .4byte gUnknown_2023E82 @@ -32875,7 +32875,7 @@ _0802DD78: _0802DDA0: .4byte gUnknown_83FE791 _0802DDA4: .4byte gUnknown_2023E82 _0802DDA8: - ldr r0, _0802DE1C @ =gUnknown_30030F0 + ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -32891,7 +32891,7 @@ _0802DDA8: strb r0, [r4, 0x1] bl sub_802DCB8 _0802DDCC: - ldr r0, _0802DE1C @ =gUnknown_30030F0 + ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -32908,7 +32908,7 @@ _0802DDCC: strb r0, [r4, 0x1] bl sub_802DCB8 _0802DDF2: - ldr r0, _0802DE1C @ =gUnknown_30030F0 + ldr r0, _0802DE1C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -32927,7 +32927,7 @@ _0802DDF2: bl BeginFastPaletteFade b _0802DFA6 .align 2, 0 -_0802DE1C: .4byte gUnknown_30030F0 +_0802DE1C: .4byte gMain _0802DE20: .4byte gUnknown_2023E82 _0802DE24: movs r0, 0x2 @@ -33043,7 +33043,7 @@ _0802DF0C: .4byte gUnknown_2023FE8 _0802DF10: .4byte sub_8011100 _0802DF14: .4byte gUnknown_2023E82 _0802DF18: - ldr r0, _0802DF54 @ =gUnknown_30030F0 + ldr r0, _0802DF54 @ =gMain ldr r1, [r0, 0x4] ldr r0, _0802DF58 @ =sub_8011100 cmp r1, r0 @@ -33073,7 +33073,7 @@ _0802DF18: bl sub_804037C b _0802DF8C .align 2, 0 -_0802DF54: .4byte gUnknown_30030F0 +_0802DF54: .4byte gMain _0802DF58: .4byte sub_8011100 _0802DF5C: .4byte gUnknown_2037AB8 _0802DF60: .4byte gUnknown_2023BCE diff --git a/asm/battle_setup.s b/asm/battle_setup.s index 303c4ce77..3034167f4 100644 --- a/asm/battle_setup.s +++ b/asm/battle_setup.s @@ -128,7 +128,7 @@ sub_807F704: @ 807F704 bl sub_807F7D8 b _0807F744 _0807F714: - ldr r0, _0807F73C @ =gUnknown_3005008 + ldr r0, _0807F73C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -146,7 +146,7 @@ _0807F714: bl sub_807F810 b _0807F744 .align 2, 0 -_0807F73C: .4byte gUnknown_3005008 +_0807F73C: .4byte gSaveBlock1Ptr _0807F740: bl sub_807F748 _0807F744: @@ -160,7 +160,7 @@ sub_807F748: @ 807F748 bl ScriptContext2_Enable bl player_bitmagic bl sub_805C780 - ldr r1, _0807F780 @ =gUnknown_30030F0 + ldr r1, _0807F780 @ =gMain ldr r0, _0807F784 @ =sub_807FB40 str r0, [r1, 0x8] ldr r1, _0807F788 @ =gUnknown_2022B4C @@ -178,7 +178,7 @@ sub_807F748: @ 807F748 pop {r0} bx r0 .align 2, 0 -_0807F780: .4byte gUnknown_30030F0 +_0807F780: .4byte gMain _0807F784: .4byte sub_807FB40 _0807F788: .4byte gUnknown_2022B4C thumb_func_end sub_807F748 @@ -189,7 +189,7 @@ sub_807F78C: @ 807F78C bl ScriptContext2_Enable bl player_bitmagic bl sub_805C780 - ldr r1, _0807F7C8 @ =gUnknown_30030F0 + ldr r1, _0807F7C8 @ =gMain ldr r0, _0807F7CC @ =sub_807FB40 str r0, [r1, 0x8] ldr r1, _0807F7D0 @ =gUnknown_2022B4C @@ -208,7 +208,7 @@ sub_807F78C: @ 807F78C pop {r0} bx r0 .align 2, 0 -_0807F7C8: .4byte gUnknown_30030F0 +_0807F7C8: .4byte gMain _0807F7CC: .4byte sub_807FB40 _0807F7D0: .4byte gUnknown_2022B4C _0807F7D4: .4byte 0x00000155 @@ -220,7 +220,7 @@ sub_807F7D8: @ 807F7D8 bl ScriptContext2_Enable bl player_bitmagic bl sub_805C780 - ldr r1, _0807F804 @ =gUnknown_30030F0 + ldr r1, _0807F804 @ =gMain ldr r0, _0807F808 @ =sub_80A0F4C str r0, [r1, 0x8] ldr r1, _0807F80C @ =gUnknown_2022B4C @@ -234,7 +234,7 @@ sub_807F7D8: @ 807F7D8 pop {r0} bx r0 .align 2, 0 -_0807F804: .4byte gUnknown_30030F0 +_0807F804: .4byte gMain _0807F808: .4byte sub_80A0F4C _0807F80C: .4byte gUnknown_2022B4C thumb_func_end sub_807F7D8 @@ -245,7 +245,7 @@ sub_807F810: @ 807F810 bl ScriptContext2_Enable bl player_bitmagic bl sub_805C780 - ldr r1, _0807F854 @ =gUnknown_30030F0 + ldr r1, _0807F854 @ =gMain ldr r0, _0807F858 @ =sub_807FB40 str r0, [r1, 0x8] ldr r1, _0807F85C @ =gUnknown_2022B4C @@ -268,7 +268,7 @@ sub_807F810: @ 807F810 pop {r0} bx r0 .align 2, 0 -_0807F854: .4byte gUnknown_30030F0 +_0807F854: .4byte gMain _0807F858: .4byte sub_807FB40 _0807F85C: .4byte gUnknown_2022B4C _0807F860: .4byte gUnknown_202402C @@ -299,7 +299,7 @@ sub_807F888: @ 807F888 movs r2, 0x5 bl CreateMaleMon bl ScriptContext2_Enable - ldr r1, _0807F8B8 @ =gUnknown_30030F0 + ldr r1, _0807F8B8 @ =gMain ldr r0, _0807F8BC @ =c2_exit_to_overworld_1_continue_scripts_restart_music str r0, [r1, 0x8] ldr r1, _0807F8C0 @ =gUnknown_2022B4C @@ -313,7 +313,7 @@ sub_807F888: @ 807F888 bx r0 .align 2, 0 _0807F8B4: .4byte gUnknown_202402C -_0807F8B8: .4byte gUnknown_30030F0 +_0807F8B8: .4byte gMain _0807F8BC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music _0807F8C0: .4byte gUnknown_2022B4C thumb_func_end sub_807F888 @@ -322,7 +322,7 @@ _0807F8C0: .4byte gUnknown_2022B4C sub_807F8C4: @ 807F8C4 push {lr} bl ScriptContext2_Enable - ldr r1, _0807F8F8 @ =gUnknown_30030F0 + ldr r1, _0807F8F8 @ =gMain ldr r0, _0807F8FC @ =sub_807FBA0 str r0, [r1, 0x8] ldr r1, _0807F900 @ =gUnknown_2022B4C @@ -341,7 +341,7 @@ sub_807F8C4: @ 807F8C4 pop {r0} bx r0 .align 2, 0 -_0807F8F8: .4byte gUnknown_30030F0 +_0807F8F8: .4byte gMain _0807F8FC: .4byte sub_807FBA0 _0807F900: .4byte gUnknown_2022B4C thumb_func_end sub_807F8C4 @@ -351,7 +351,7 @@ sub_807F904: @ 807F904 push {lr} sub sp, 0xC bl ScriptContext2_Enable - ldr r1, _0807F944 @ =gUnknown_30030F0 + ldr r1, _0807F944 @ =gMain ldr r0, _0807F948 @ =sub_807FBF0 str r0, [r1, 0x8] ldr r0, _0807F94C @ =0x00000167 @@ -377,7 +377,7 @@ sub_807F904: @ 807F904 bl CreateMonWithGenderNatureLetter b _0807F960 .align 2, 0 -_0807F944: .4byte gUnknown_30030F0 +_0807F944: .4byte gMain _0807F948: .4byte sub_807FBF0 _0807F94C: .4byte 0x00000167 _0807F950: .4byte gUnknown_2022B4C @@ -414,7 +414,7 @@ _0807F994: .4byte gUnknown_841D148 sub_807F998: @ 807F998 push {lr} bl ScriptContext2_Enable - ldr r1, _0807F9CC @ =gUnknown_30030F0 + ldr r1, _0807F9CC @ =gMain ldr r0, _0807F9D0 @ =sub_807FBA0 str r0, [r1, 0x8] ldr r1, _0807F9D4 @ =gUnknown_2022B4C @@ -433,7 +433,7 @@ sub_807F998: @ 807F998 pop {r0} bx r0 .align 2, 0 -_0807F9CC: .4byte gUnknown_30030F0 +_0807F9CC: .4byte gMain _0807F9D0: .4byte sub_807FBA0 _0807F9D4: .4byte gUnknown_2022B4C thumb_func_end sub_807F998 @@ -442,7 +442,7 @@ _0807F9D4: .4byte gUnknown_2022B4C sub_807F9D8: @ 807F9D8 push {lr} bl ScriptContext2_Enable - ldr r1, _0807FA0C @ =gUnknown_30030F0 + ldr r1, _0807FA0C @ =gMain ldr r0, _0807FA10 @ =sub_807FBA0 str r0, [r1, 0x8] ldr r1, _0807FA14 @ =gUnknown_2022B4C @@ -465,7 +465,7 @@ sub_807F9D8: @ 807F9D8 blt _0807FA4C b _0807FA3C .align 2, 0 -_0807FA0C: .4byte gUnknown_30030F0 +_0807FA0C: .4byte gMain _0807FA10: .4byte sub_807FBA0 _0807FA14: .4byte gUnknown_2022B4C _0807FA18: .4byte gUnknown_202402C @@ -514,14 +514,14 @@ _0807FA56: sub_807FA68: @ 807FA68 push {lr} bl ScriptContext2_Enable - ldr r1, _0807FA90 @ =gUnknown_30030F0 + ldr r1, _0807FA90 @ =gMain ldr r0, _0807FA94 @ =sub_807FBA0 str r0, [r1, 0x8] ldr r1, _0807FA98 @ =gUnknown_2022B4C movs r0, 0xC0 lsls r0, 6 str r0, [r1] - ldr r0, _0807FA9C @ =gUnknown_81E9F10 + ldr r0, _0807FA9C @ =gGameVersion ldrb r0, [r0] cmp r0, 0x4 bne _0807FAA0 @@ -531,10 +531,10 @@ sub_807FA68: @ 807FA68 bl sub_807F690 b _0807FAAA .align 2, 0 -_0807FA90: .4byte gUnknown_30030F0 +_0807FA90: .4byte gMain _0807FA94: .4byte sub_807FBA0 _0807FA98: .4byte gUnknown_2022B4C -_0807FA9C: .4byte gUnknown_81E9F10 +_0807FA9C: .4byte gGameVersion _0807FAA0: movs r1, 0x85 lsls r1, 1 @@ -553,7 +553,7 @@ _0807FAAA: sub_807FABC: @ 807FABC push {lr} bl ScriptContext2_Enable - ldr r1, _0807FAEC @ =gUnknown_30030F0 + ldr r1, _0807FAEC @ =gMain ldr r0, _0807FAF0 @ =sub_807FBA0 str r0, [r1, 0x8] ldr r1, _0807FAF4 @ =gUnknown_2022B4C @@ -571,7 +571,7 @@ sub_807FABC: @ 807FABC pop {r0} bx r0 .align 2, 0 -_0807FAEC: .4byte gUnknown_30030F0 +_0807FAEC: .4byte gMain _0807FAF0: .4byte sub_807FBA0 _0807FAF4: .4byte gUnknown_2022B4C thumb_func_end sub_807FABC @@ -591,7 +591,7 @@ sub_807FB08: @ 807FB08 bl ScriptContext2_Enable bl player_bitmagic bl sub_805C780 - ldr r1, _0807FB38 @ =gUnknown_30030F0 + ldr r1, _0807FB38 @ =gMain ldr r0, _0807FB3C @ =sub_807FAF8 str r0, [r1, 0x8] bl copy_player_party_to_sav1 @@ -604,7 +604,7 @@ sub_807FB08: @ 807FB08 pop {r0} bx r0 .align 2, 0 -_0807FB38: .4byte gUnknown_30030F0 +_0807FB38: .4byte gMain _0807FB3C: .4byte sub_807FAF8 thumb_func_end sub_807FB08 @@ -1507,7 +1507,7 @@ battle_80801F0: @ 80801F0 strh r1, [r0] lsls r0, r1, 24 lsrs r0, 24 - ldr r1, _08080220 @ =gUnknown_3005008 + ldr r1, _08080220 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -1520,7 +1520,7 @@ _08080212: .align 2, 0 _08080218: .4byte gUnknown_20386B0 _0808021C: .4byte gUnknown_20370D2 -_08080220: .4byte gUnknown_3005008 +_08080220: .4byte gSaveBlock1Ptr _08080224: .4byte gUnknown_3005074 thumb_func_end battle_80801F0 @@ -1832,7 +1832,7 @@ sub_8080464: @ 8080464 orrs r0, r1 str r0, [r4] _0808048C: - ldr r1, _080804A4 @ =gUnknown_30030F0 + ldr r1, _080804A4 @ =gMain ldr r0, _080804A8 @ =sub_80804AC str r0, [r1, 0x8] bl sub_807F868 @@ -1842,7 +1842,7 @@ _0808048C: bx r0 .align 2, 0 _080804A0: .4byte gUnknown_2022B4C -_080804A4: .4byte gUnknown_30030F0 +_080804A4: .4byte gMain _080804A8: .4byte sub_80804AC thumb_func_end sub_8080464 @@ -1970,7 +1970,7 @@ sub_80805B0: @ 80805B0 ldr r1, _080805CC @ =gUnknown_2022B4C movs r0, 0x8 str r0, [r1] - ldr r1, _080805D0 @ =gUnknown_30030F0 + ldr r1, _080805D0 @ =gMain ldr r0, _080805D4 @ =sub_8080558 str r0, [r1, 0x8] bl sub_807F868 @@ -1979,7 +1979,7 @@ sub_80805B0: @ 80805B0 bx r0 .align 2, 0 _080805CC: .4byte gUnknown_2022B4C -_080805D0: .4byte gUnknown_30030F0 +_080805D0: .4byte gMain _080805D4: .4byte sub_8080558 thumb_func_end sub_80805B0 diff --git a/asm/battle_tower.s b/asm/battle_tower.s index b2735d96b..d44353044 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -11,7 +11,7 @@ sub_80E5970: @ 80E5970 movs r4, 0 movs r5, 0 _080E5976: - ldr r0, _080E5990 @ =gUnknown_300500C + ldr r0, _080E5990 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E5994 @ =0x0000055e adds r0, r1 @@ -25,7 +25,7 @@ _080E5976: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080E5990: .4byte gUnknown_300500C +_080E5990: .4byte gSaveBlock2Ptr _080E5994: .4byte 0x0000055e _080E5998: .4byte _080E599C .align 2, 0 @@ -79,7 +79,7 @@ _080E5A00: adds r5, 0x1 cmp r5, 0x1 ble _080E5976 - ldr r0, _080E5A2C @ =gUnknown_300500C + ldr r0, _080E5A2C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E5A30 @ =0x0000055e adds r0, r1 @@ -97,7 +97,7 @@ _080E5A20: pop {r0} bx r0 .align 2, 0 -_080E5A2C: .4byte gUnknown_300500C +_080E5A2C: .4byte gSaveBlock2Ptr _080E5A30: .4byte 0x0000055e _080E5A34: .4byte 0x00000303 thumb_func_end sub_80E5970 @@ -106,7 +106,7 @@ _080E5A34: .4byte 0x00000303 sub_80E5A38: @ 80E5A38 lsls r0, 24 lsrs r0, 24 - ldr r3, _080E5A64 @ =gUnknown_300500C + ldr r3, _080E5A64 @ =gSaveBlock2Ptr ldr r1, [r3] ldr r2, _080E5A68 @ =0x0000055e adds r1, r2 @@ -127,7 +127,7 @@ sub_80E5A38: @ 80E5A38 strh r3, [r2] bx lr .align 2, 0 -_080E5A64: .4byte gUnknown_300500C +_080E5A64: .4byte gSaveBlock2Ptr _080E5A68: .4byte 0x0000055e _080E5A6C: .4byte 0x00000564 thumb_func_end sub_80E5A38 @@ -149,7 +149,7 @@ sub_80E5A70: @ 80E5A70 adds r7, r4, 0 cmp r0, 0 bne _080E5A9E - ldr r0, _080E5AA8 @ =gUnknown_300500C + ldr r0, _080E5AA8 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E5AAC @ =0x000004a2 adds r0, r1 @@ -161,7 +161,7 @@ _080E5A9E: b _080E5B02 .align 2, 0 _080E5AA4: .4byte gUnknown_20370D0 -_080E5AA8: .4byte gUnknown_300500C +_080E5AA8: .4byte gSaveBlock2Ptr _080E5AAC: .4byte 0x000004a2 _080E5AB0: movs r6, 0x32 @@ -171,7 +171,7 @@ _080E5AB0: _080E5AB8: movs r4, 0 _080E5ABA: - ldr r0, _080E5B0C @ =gUnknown_300500C + ldr r0, _080E5B0C @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x2C muls r0, r4 @@ -213,7 +213,7 @@ _080E5B02: pop {r1} bx r1 .align 2, 0 -_080E5B0C: .4byte gUnknown_300500C +_080E5B0C: .4byte gSaveBlock2Ptr _080E5B10: .4byte 0x000004d4 thumb_func_end sub_80E5A70 @@ -227,7 +227,7 @@ sub_80E5B14: @ 80E5B14 sub sp, 0x24 movs r0, 0 str r0, [sp, 0x14] - ldr r4, _080E5B58 @ =gUnknown_300500C + ldr r4, _080E5B58 @ =gSaveBlock2Ptr ldr r0, [r4] ldr r1, _080E5B5C @ =0x0000055c adds r0, r1 @@ -252,7 +252,7 @@ sub_80E5B14: @ 80E5B14 strb r1, [r0] b _080E5C0C .align 2, 0 -_080E5B58: .4byte gUnknown_300500C +_080E5B58: .4byte gSaveBlock2Ptr _080E5B5C: .4byte 0x0000055c _080E5B60: .4byte 0x0000056c _080E5B64: @@ -262,7 +262,7 @@ _080E5B64: movs r7, 0xAA lsls r7, 1 mov r12, r7 - ldr r0, _080E5BE8 @ =gUnknown_300500C + ldr r0, _080E5BE8 @ =gSaveBlock2Ptr ldr r0, [r0] str r0, [sp, 0x18] mov r1, sp @@ -285,7 +285,7 @@ _080E5B8E: adds r1, 0x1 cmp r1, 0x27 bls _080E5B8E - ldr r7, _080E5BE8 @ =gUnknown_300500C + ldr r7, _080E5BE8 @ =gSaveBlock2Ptr ldr r2, [r7] mov r3, r10 muls r3, r6 @@ -326,10 +326,10 @@ _080E5BD8: movs r0, 0 b _080E5C0E .align 2, 0 -_080E5BE8: .4byte gUnknown_300500C +_080E5BE8: .4byte gSaveBlock2Ptr _080E5BEC: bl Random - ldr r1, _080E5C20 @ =gUnknown_300500C + ldr r1, _080E5C20 @ =gSaveBlock2Ptr ldr r4, [r1] lsls r0, 16 lsrs r0, 16 @@ -354,7 +354,7 @@ _080E5C0E: pop {r1} bx r1 .align 2, 0 -_080E5C20: .4byte gUnknown_300500C +_080E5C20: .4byte gSaveBlock2Ptr _080E5C24: .4byte 0x0000056c thumb_func_end sub_80E5B14 @@ -363,7 +363,7 @@ sub_80E5C28: @ 80E5C28 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r5, _080E5C6C @ =gUnknown_300500C + ldr r5, _080E5C6C @ =gSaveBlock2Ptr ldr r0, [r5] ldr r1, _080E5C70 @ =0x0000055c adds r0, r1 @@ -392,7 +392,7 @@ sub_80E5C28: @ 80E5C28 adds r1, r4 b _080E5E3E .align 2, 0 -_080E5C6C: .4byte gUnknown_300500C +_080E5C6C: .4byte gSaveBlock2Ptr _080E5C70: .4byte 0x0000055c _080E5C74: .4byte 0x0000056c _080E5C78: .4byte 0x00000571 @@ -472,7 +472,7 @@ _080E5CFC: adds r0, r6 ldrh r0, [r0] subs r0, 0x1 - ldr r4, _080E5D24 @ =gUnknown_300500C + ldr r4, _080E5D24 @ =gSaveBlock2Ptr cmp r3, r0 bne _080E5CA2 ldr r0, [r4] @@ -482,7 +482,7 @@ _080E5CFC: .align 2, 0 _080E5D1C: .4byte 0x00000564 _080E5D20: .4byte 0x00000572 -_080E5D24: .4byte gUnknown_300500C +_080E5D24: .4byte gSaveBlock2Ptr _080E5D28: .4byte 0x0000056c _080E5D2C: adds r7, r6, 0 @@ -541,7 +541,7 @@ _080E5D88: adds r0, r6 ldrh r0, [r0] subs r0, 0x1 - ldr r4, _080E5DB0 @ =gUnknown_300500C + ldr r4, _080E5DB0 @ =gSaveBlock2Ptr cmp r3, r0 bne _080E5D30 ldr r0, [r4] @@ -551,7 +551,7 @@ _080E5D88: .align 2, 0 _080E5DA8: .4byte 0x00000564 _080E5DAC: .4byte 0x00000572 -_080E5DB0: .4byte gUnknown_300500C +_080E5DB0: .4byte gSaveBlock2Ptr _080E5DB4: .4byte 0x0000056c _080E5DB8: adds r7, r5, 0 @@ -597,7 +597,7 @@ _080E5DFC: adds r0, r6 ldrh r0, [r0] subs r0, 0x1 - ldr r4, _080E5E50 @ =gUnknown_300500C + ldr r4, _080E5E50 @ =gSaveBlock2Ptr cmp r3, r0 bne _080E5DBA ldr r0, [r4] @@ -634,7 +634,7 @@ _080E5E42: bx r0 .align 2, 0 _080E5E4C: .4byte 0x00000572 -_080E5E50: .4byte gUnknown_300500C +_080E5E50: .4byte gSaveBlock2Ptr _080E5E54: .4byte 0x0000056c _080E5E58: .4byte 0x00000571 thumb_func_end sub_80E5C28 @@ -672,7 +672,7 @@ sub_80E5E7C: @ 80E5E7C mov r8, r1 mov r10, r0 movs r5, 0 - ldr r2, _080E5F08 @ =gUnknown_300500C + ldr r2, _080E5F08 @ =gSaveBlock2Ptr ldr r0, [r2] mov r4, r10 ldrb r4, [r4, 0xC] @@ -699,7 +699,7 @@ _080E5EBC: adds r3, 0x1 cmp r3, 0x3 bgt _080E5EDA - ldr r7, _080E5F08 @ =gUnknown_300500C + ldr r7, _080E5F08 @ =gSaveBlock2Ptr ldr r0, [r7] adds r1, r3, r4 movs r7, 0xB0 @@ -715,7 +715,7 @@ _080E5EDA: cmp r3, 0x4 bne _080E5F20 movs r6, 0 - ldr r1, _080E5F08 @ =gUnknown_300500C + ldr r1, _080E5F08 @ =gSaveBlock2Ptr ldr r0, [r1] movs r3, 0xAC lsls r3, 1 @@ -736,12 +736,12 @@ _080E5EFE: movs r6, 0x7 b _080E5F20 .align 2, 0 -_080E5F08: .4byte gUnknown_300500C +_080E5F08: .4byte gSaveBlock2Ptr _080E5F0C: adds r6, 0x1 cmp r6, 0x6 bgt _080E5F20 - ldr r7, _080E5F4C @ =gUnknown_300500C + ldr r7, _080E5F4C @ =gSaveBlock2Ptr ldr r0, [r7] adds r0, r3 adds r0, r2 @@ -763,7 +763,7 @@ _080E5F20: _080E5F36: cmp r5, 0x4 bgt _080E5F50 - ldr r2, _080E5F4C @ =gUnknown_300500C + ldr r2, _080E5F4C @ =gSaveBlock2Ptr ldr r0, [r2] movs r1, 0xA4 muls r1, r5 @@ -773,10 +773,10 @@ _080E5F36: adds r0, r4 b _080E5F90 .align 2, 0 -_080E5F4C: .4byte gUnknown_300500C +_080E5F4C: .4byte gSaveBlock2Ptr _080E5F50: movs r5, 0 - ldr r7, _080E5F9C @ =gUnknown_300500C + ldr r7, _080E5F9C @ =gSaveBlock2Ptr ldr r0, [r7] movs r1, 0xAB lsls r1, 1 @@ -801,7 +801,7 @@ _080E5F68: _080E5F7C: cmp r5, 0x4 bgt _080E5FA0 - ldr r1, _080E5F9C @ =gUnknown_300500C + ldr r1, _080E5F9C @ =gSaveBlock2Ptr ldr r0, [r1] movs r1, 0xA4 muls r1, r5 @@ -815,10 +815,10 @@ _080E5F90: bl memcpy b _080E6062 .align 2, 0 -_080E5F9C: .4byte gUnknown_300500C +_080E5F9C: .4byte gSaveBlock2Ptr _080E5FA0: mov r2, sp - ldr r4, _080E5FF8 @ =gUnknown_300500C + ldr r4, _080E5FF8 @ =gSaveBlock2Ptr ldr r0, [r4] movs r3, 0xAB lsls r3, 1 @@ -839,7 +839,7 @@ _080E5FC2: adds r7, r5, 0x1 cmp r3, r8 bge _080E6006 - ldr r1, _080E5FF8 @ =gUnknown_300500C + ldr r1, _080E5FF8 @ =gSaveBlock2Ptr ldr r0, [r1] movs r2, 0xA4 adds r1, r5, 0 @@ -864,7 +864,7 @@ _080E5FDC: strh r5, [r0] b _080E6006 .align 2, 0 -_080E5FF8: .4byte gUnknown_300500C +_080E5FF8: .4byte gSaveBlock2Ptr _080E5FFC: cmp r1, r0 bhi _080E6006 @@ -878,7 +878,7 @@ _080E6006: lsls r2, r1, 1 mov r4, sp adds r3, r4, r2 - ldr r1, _080E6074 @ =gUnknown_300500C + ldr r1, _080E6074 @ =gSaveBlock2Ptr ldr r0, [r1] movs r4, 0xA4 adds r1, r5, 0 @@ -901,7 +901,7 @@ _080E602C: mov r1, r8 bl __modsi3 adds r5, r0, 0 - ldr r0, _080E6074 @ =gUnknown_300500C + ldr r0, _080E6074 @ =gSaveBlock2Ptr ldr r0, [r0] lsls r1, r5, 1 add r1, sp @@ -926,13 +926,13 @@ _080E6062: pop {r0} bx r0 .align 2, 0 -_080E6074: .4byte gUnknown_300500C +_080E6074: .4byte gSaveBlock2Ptr thumb_func_end sub_80E5E7C thumb_func_start sub_80E6078 sub_80E6078: @ 80E6078 push {lr} - ldr r0, _080E6094 @ =gUnknown_300500C + ldr r0, _080E6094 @ =gSaveBlock2Ptr ldr r3, [r0] ldr r0, _080E6098 @ =0x0000056c adds r1, r3, r0 @@ -946,7 +946,7 @@ sub_80E6078: @ 80E6078 adds r0, r1 b _080E60D6 .align 2, 0 -_080E6094: .4byte gUnknown_300500C +_080E6094: .4byte gSaveBlock2Ptr _080E6098: .4byte 0x0000056c _080E609C: .4byte gUnknown_82538A8 _080E60A0: .4byte 0x000004a1 @@ -988,7 +988,7 @@ _080E60E0: .4byte gUnknown_83FFAC4 thumb_func_start sub_80E60E4 sub_80E60E4: @ 80E60E4 push {lr} - ldr r0, _080E6100 @ =gUnknown_300500C + ldr r0, _080E6100 @ =gSaveBlock2Ptr ldr r3, [r0] ldr r0, _080E6104 @ =0x0000056c adds r1, r3, r0 @@ -1002,7 +1002,7 @@ sub_80E60E4: @ 80E60E4 adds r0, r1 b _080E6144 .align 2, 0 -_080E6100: .4byte gUnknown_300500C +_080E6100: .4byte gSaveBlock2Ptr _080E6104: .4byte 0x0000056c _080E6108: .4byte gUnknown_825393E _080E610C: .4byte 0x000004a1 @@ -1045,7 +1045,7 @@ _080E614C: .4byte gUnknown_825393E sub_80E6150: @ 80E6150 push {r4-r6,lr} adds r4, r0, 0 - ldr r0, _080E6178 @ =gUnknown_300500C + ldr r0, _080E6178 @ =gSaveBlock2Ptr ldr r1, [r0] ldr r2, _080E617C @ =0x0000056c adds r0, r1, r2 @@ -1065,7 +1065,7 @@ _080E6168: ble _080E6168 b _080E61CE .align 2, 0 -_080E6178: .4byte gUnknown_300500C +_080E6178: .4byte gSaveBlock2Ptr _080E617C: .4byte 0x0000056c _080E6180: .4byte 0x000004a4 _080E6184: @@ -1134,7 +1134,7 @@ sub_80E61DC: @ 80E61DC movs r0, 0xFF strb r0, [r4] bl ZeroEnemyPartyMons - ldr r1, _080E6210 @ =gUnknown_300500C + ldr r1, _080E6210 @ =gSaveBlock2Ptr ldr r0, [r1] ldr r2, _080E6214 @ =0x0000056c adds r0, r2 @@ -1145,7 +1145,7 @@ sub_80E61DC: @ 80E61DC str r3, [sp, 0x14] b _080E62F4 .align 2, 0 -_080E6210: .4byte gUnknown_300500C +_080E6210: .4byte gSaveBlock2Ptr _080E6214: .4byte 0x0000056c _080E6218: cmp r0, 0x1D @@ -1237,7 +1237,7 @@ _080E62B2: muls r0, r6 ldr r1, _080E62E4 @ =gUnknown_202402C adds r0, r1 - ldr r1, _080E62E8 @ =gUnknown_300500C + ldr r1, _080E62E8 @ =gSaveBlock2Ptr ldr r1, [r1] ldr r3, _080E62EC @ =0x0000056c adds r2, r1, r3 @@ -1258,11 +1258,11 @@ _080E62B2: b _080E64A6 .align 2, 0 _080E62E4: .4byte gUnknown_202402C -_080E62E8: .4byte gUnknown_300500C +_080E62E8: .4byte gSaveBlock2Ptr _080E62EC: .4byte 0x0000056c _080E62F0: .4byte 0xffffc144 _080E62F4: - ldr r2, _080E6314 @ =gUnknown_300500C + ldr r2, _080E6314 @ =gSaveBlock2Ptr ldr r0, [r2] ldr r1, _080E6318 @ =0x0000055c adds r0, r1 @@ -1278,7 +1278,7 @@ _080E62F4: str r3, [sp, 0x10] b _080E6328 .align 2, 0 -_080E6314: .4byte gUnknown_300500C +_080E6314: .4byte gSaveBlock2Ptr _080E6318: .4byte 0x0000055c _080E631C: .4byte gUnknown_8400E04 _080E6320: @@ -1828,7 +1828,7 @@ _080E6750: ldr r1, _080E6780 @ =gUnknown_20370C0 movs r0, 0 strh r0, [r1] - ldr r0, _080E6784 @ =gUnknown_300500C + ldr r0, _080E6784 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r0, [r5] ldr r1, _080E6788 @ =0x0000055c @@ -1852,7 +1852,7 @@ _080E6770: bx r0 .align 2, 0 _080E6780: .4byte gUnknown_20370C0 -_080E6784: .4byte gUnknown_300500C +_080E6784: .4byte gSaveBlock2Ptr _080E6788: .4byte 0x0000055c thumb_func_end sub_80E6648 @@ -1921,7 +1921,7 @@ _080E67F8: .4byte gUnknown_2021D18 thumb_func_start sub_80E67FC sub_80E67FC: @ 80E67FC push {lr} - ldr r0, _080E6818 @ =gUnknown_300500C + ldr r0, _080E6818 @ =gSaveBlock2Ptr ldr r2, [r0] ldr r1, _080E681C @ =0x0000056c adds r0, r2, r1 @@ -1934,7 +1934,7 @@ sub_80E67FC: @ 80E67FC bl sub_80E678C b _080E684C .align 2, 0 -_080E6818: .4byte gUnknown_300500C +_080E6818: .4byte gSaveBlock2Ptr _080E681C: .4byte 0x0000056c _080E6820: cmp r1, 0x63 @@ -1981,7 +1981,7 @@ sub_80E6854: @ 80E6854 _080E686C: .4byte gUnknown_203AAB8 _080E6870: movs r5, 0 - ldr r6, _080E68A4 @ =gUnknown_3005008 + ldr r6, _080E68A4 @ =gSaveBlock1Ptr _080E6874: movs r0, 0x64 adds r4, r5, 0 @@ -2005,7 +2005,7 @@ _080E6874: ble _080E6874 b _080E68B0 .align 2, 0 -_080E68A4: .4byte gUnknown_3005008 +_080E68A4: .4byte gSaveBlock1Ptr _080E68A8: .4byte gUnknown_2024284 _080E68AC: bl sub_80E7550 @@ -2030,7 +2030,7 @@ sub_80E68C4: @ 80E68C4 lsrs r0, 24 cmp r0, 0x1 bne _080E68EC - ldr r0, _080E68F4 @ =gUnknown_30030F0 + ldr r0, _080E68F4 @ =gMain ldr r1, _080E68F8 @ =sub_80E6854 str r1, [r0, 0x8] bl sub_80563F0 @@ -2043,7 +2043,7 @@ _080E68EC: pop {r0} bx r0 .align 2, 0 -_080E68F4: .4byte gUnknown_30030F0 +_080E68F4: .4byte gMain _080E68F8: .4byte sub_80E6854 _080E68FC: .4byte sub_800FD9C thumb_func_end sub_80E68C4 @@ -2085,7 +2085,7 @@ _080E693C: .4byte gUnknown_2022B4C _080E6940: .4byte gUnknown_20386AE _080E6944: movs r5, 0 - ldr r6, _080E698C @ =gUnknown_3005008 + ldr r6, _080E698C @ =gSaveBlock1Ptr _080E6948: movs r0, 0x64 adds r4, r5, 0 @@ -2117,13 +2117,13 @@ _080E6970: bl sub_80D08B8 b _080E69E6 .align 2, 0 -_080E698C: .4byte gUnknown_3005008 +_080E698C: .4byte gSaveBlock1Ptr _080E6990: .4byte gUnknown_2024284 _080E6994: .4byte sub_80E68C4 _080E6998: bl ZeroEnemyPartyMons movs r5, 0 - ldr r4, _080E69F0 @ =gUnknown_300500C + ldr r4, _080E69F0 @ =gSaveBlock2Ptr _080E69A0: movs r0, 0x64 muls r0, r5 @@ -2161,7 +2161,7 @@ _080E69E6: pop {r0} bx r0 .align 2, 0 -_080E69F0: .4byte gUnknown_300500C +_080E69F0: .4byte gSaveBlock2Ptr _080E69F4: .4byte gUnknown_202402C _080E69F8: .4byte 0x000004d4 _080E69FC: .4byte gUnknown_2022B4C @@ -2173,7 +2173,7 @@ _080E6A08: .4byte sub_80E68C4 thumb_func_start sub_80E6A0C sub_80E6A0C: @ 80E6A0C push {r4-r6,lr} - ldr r1, _080E6A34 @ =gUnknown_300500C + ldr r1, _080E6A34 @ =gSaveBlock2Ptr ldr r0, [r1] ldr r2, _080E6A38 @ =0x0000055c adds r0, r2 @@ -2193,7 +2193,7 @@ _080E6A28: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080E6A34: .4byte gUnknown_300500C +_080E6A34: .4byte gSaveBlock2Ptr _080E6A38: .4byte 0x0000055c _080E6A3C: .4byte gUnknown_20370C0 _080E6A40: .4byte _080E6A44 @@ -2288,7 +2288,7 @@ _080E6B0C: .4byte gUnknown_20370C2 _080E6B10: .4byte 0x0000056c _080E6B14: movs r2, 0 - ldr r5, _080E6B30 @ =gUnknown_300500C + ldr r5, _080E6B30 @ =gSaveBlock2Ptr ldr r4, _080E6B34 @ =0x0000056d ldr r3, _080E6B38 @ =gUnknown_203B0D4 _080E6B1C: @@ -2303,7 +2303,7 @@ _080E6B1C: ble _080E6B1C b _080E6C80 .align 2, 0 -_080E6B30: .4byte gUnknown_300500C +_080E6B30: .4byte gSaveBlock2Ptr _080E6B34: .4byte 0x0000056d _080E6B38: .4byte gUnknown_203B0D4 _080E6B3C: @@ -2440,7 +2440,7 @@ _080E6C48: .4byte gUnknown_2023FE8 _080E6C4C: adds r0, r5, 0 bl sub_80E7188 - ldr r1, _080E6C64 @ =gUnknown_300500C + ldr r1, _080E6C64 @ =gSaveBlock2Ptr ldr r1, [r1] lsls r2, r5, 1 ldr r3, _080E6C68 @ =0x0000057c @@ -2449,7 +2449,7 @@ _080E6C4C: strh r0, [r1] b _080E6C80 .align 2, 0 -_080E6C64: .4byte gUnknown_300500C +_080E6C64: .4byte gSaveBlock2Ptr _080E6C68: .4byte 0x0000057c _080E6C6C: ldr r1, [r6] @@ -2474,7 +2474,7 @@ _080E6C88: .4byte 0x0000055c thumb_func_start sub_80E6C8C sub_80E6C8C: @ 80E6C8C push {r4,lr} - ldr r1, _080E6CB4 @ =gUnknown_300500C + ldr r1, _080E6CB4 @ =gSaveBlock2Ptr ldr r0, [r1] ldr r2, _080E6CB8 @ =0x0000055c adds r0, r2 @@ -2494,7 +2494,7 @@ _080E6CA8: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080E6CB4: .4byte gUnknown_300500C +_080E6CB4: .4byte gSaveBlock2Ptr _080E6CB8: .4byte 0x0000055c _080E6CBC: .4byte gUnknown_20370C0 _080E6CC0: .4byte _080E6CC4 @@ -2623,7 +2623,7 @@ _080E6DD0: .4byte gUnknown_2023FE8 _080E6DD4: adds r0, r4, 0 bl sub_80E7188 - ldr r1, _080E6DEC @ =gUnknown_300500C + ldr r1, _080E6DEC @ =gSaveBlock2Ptr ldr r1, [r1] lsls r2, r4, 1 ldr r3, _080E6DF0 @ =0x0000057c @@ -2632,7 +2632,7 @@ _080E6DD4: strh r0, [r1] b _080E6E08 .align 2, 0 -_080E6DEC: .4byte gUnknown_300500C +_080E6DEC: .4byte gSaveBlock2Ptr _080E6DF0: .4byte 0x0000057c _080E6DF4: ldr r1, [r3] @@ -2659,7 +2659,7 @@ sub_80E6E14: @ 80E6E14 push {r4,r5,lr} movs r2, 0 ldr r5, _080E6E3C @ =gUnknown_203B0D4 - ldr r4, _080E6E40 @ =gUnknown_300500C + ldr r4, _080E6E40 @ =gSaveBlock2Ptr ldr r3, _080E6E44 @ =0x0000056d _080E6E1E: adds r0, r2, r5 @@ -2677,14 +2677,14 @@ _080E6E1E: bx r0 .align 2, 0 _080E6E3C: .4byte gUnknown_203B0D4 -_080E6E40: .4byte gUnknown_300500C +_080E6E40: .4byte gSaveBlock2Ptr _080E6E44: .4byte 0x0000056d thumb_func_end sub_80E6E14 thumb_func_start sub_80E6E48 sub_80E6E48: @ 80E6E48 push {r4-r6,lr} - ldr r6, _080E6E98 @ =gUnknown_300500C + ldr r6, _080E6E98 @ =gSaveBlock2Ptr ldr r0, [r6] ldr r1, _080E6E9C @ =0x0000055c adds r0, r1 @@ -2723,7 +2723,7 @@ _080E6E76: bhi _080E6EB8 b _080E6ECC .align 2, 0 -_080E6E98: .4byte gUnknown_300500C +_080E6E98: .4byte gSaveBlock2Ptr _080E6E9C: .4byte 0x0000055c _080E6EA0: .4byte 0x0000056a _080E6EA4: .4byte 0x0000270f @@ -2760,7 +2760,7 @@ _080E6EDC: .4byte 0x0000057a thumb_func_start sub_80E6EE0 sub_80E6EE0: @ 80E6EE0 push {r4-r6,lr} - ldr r0, _080E6F00 @ =gUnknown_300500C + ldr r0, _080E6F00 @ =gSaveBlock2Ptr ldr r2, [r0] adds r5, r2, 0 adds r5, 0xB0 @@ -2775,7 +2775,7 @@ sub_80E6EE0: @ 80E6EE0 ldr r4, _080E6F08 @ =gUnknown_84020C4 b _080E6F0E .align 2, 0 -_080E6F00: .4byte gUnknown_300500C +_080E6F00: .4byte gSaveBlock2Ptr _080E6F04: .4byte 0x0000055c _080E6F08: .4byte gUnknown_84020C4 _080E6F0C: @@ -2796,7 +2796,7 @@ _080E6F0E: strb r0, [r5, 0x1] adds r0, r5, 0 adds r0, 0xC - ldr r4, _080E6FA4 @ =gUnknown_300500C + ldr r4, _080E6FA4 @ =gSaveBlock2Ptr ldr r1, [r4] adds r1, 0xA bl CopyUnalignedWord @@ -2807,7 +2807,7 @@ _080E6F0E: bl sub_80E7188 strh r0, [r5, 0x2] movs r4, 0 - ldr r6, _080E6FA8 @ =gUnknown_3005008 + ldr r6, _080E6FA8 @ =gSaveBlock1Ptr ldr r3, _080E6FAC @ =0x00002cac adds r2, r5, 0 adds r2, 0x10 @@ -2824,7 +2824,7 @@ _080E6F52: ble _080E6F52 movs r4, 0 _080E6F68: - ldr r6, _080E6FA4 @ =gUnknown_300500C + ldr r6, _080E6FA4 @ =gSaveBlock2Ptr ldr r0, [r6] ldr r1, _080E6FB0 @ =0x0000056d adds r0, r1 @@ -2851,8 +2851,8 @@ _080E6F68: bx r0 .align 2, 0 _080E6FA0: .4byte gUnknown_84020C4 -_080E6FA4: .4byte gUnknown_300500C -_080E6FA8: .4byte gUnknown_3005008 +_080E6FA4: .4byte gSaveBlock2Ptr +_080E6FA8: .4byte gSaveBlock1Ptr _080E6FAC: .4byte 0x00002cac _080E6FB0: .4byte 0x0000056d _080E6FB4: .4byte gUnknown_2024220 @@ -2861,7 +2861,7 @@ _080E6FB4: .4byte gUnknown_2024220 thumb_func_start sub_80E6FB8 sub_80E6FB8: @ 80E6FB8 push {r4,r5,lr} - ldr r0, _080E703C @ =gUnknown_300500C + ldr r0, _080E703C @ =gSaveBlock2Ptr ldr r1, [r0] ldr r2, _080E7040 @ =0x0000055c adds r0, r1, r2 @@ -2892,7 +2892,7 @@ _080E6FEE: bl sub_80E6EE0 _080E6FF2: bl sub_80E712C - ldr r4, _080E703C @ =gUnknown_300500C + ldr r4, _080E703C @ =gSaveBlock2Ptr ldr r0, [r4] ldr r1, _080E704C @ =gUnknown_2023E8A ldrb r1, [r1] @@ -2926,7 +2926,7 @@ _080E7016: pop {r0} bx r0 .align 2, 0 -_080E703C: .4byte gUnknown_300500C +_080E703C: .4byte gSaveBlock2Ptr _080E7040: .4byte 0x0000055c _080E7044: .4byte gUnknown_20370C0 _080E7048: .4byte 0x00000564 @@ -2938,7 +2938,7 @@ _080E7054: .4byte 0x0000055e thumb_func_start sub_80E7058 sub_80E7058: @ 80E7058 push {lr} - bl sub_80008D8 + bl DoSoftReset pop {r0} bx r0 thumb_func_end sub_80E7058 @@ -2948,7 +2948,7 @@ sub_80E7064: @ 80E7064 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _080E70F0 @ =gUnknown_300500C + ldr r0, _080E70F0 @ =gSaveBlock2Ptr ldr r0, [r0] movs r3, 0 movs r2, 0 @@ -2960,7 +2960,7 @@ _080E7076: adds r2, 0x1 cmp r2, 0x27 bls _080E7076 - ldr r5, _080E70F0 @ =gUnknown_300500C + ldr r5, _080E70F0 @ =gSaveBlock2Ptr ldr r1, [r5] movs r2, 0xA8 lsls r2, 1 @@ -3019,7 +3019,7 @@ _080E70E0: pop {r0} bx r0 .align 2, 0 -_080E70F0: .4byte gUnknown_300500C +_080E70F0: .4byte gSaveBlock2Ptr thumb_func_end sub_80E7064 thumb_func_start SetBattleTowerRecordChecksum @@ -3061,7 +3061,7 @@ _080E711E: thumb_func_start sub_80E712C sub_80E712C: @ 80E712C push {r4,r5,lr} - ldr r4, _080E7174 @ =gUnknown_300500C + ldr r4, _080E7174 @ =gSaveBlock2Ptr ldr r0, [r4] ldr r1, _080E7178 @ =0x0000048c adds r0, r1 @@ -3097,7 +3097,7 @@ _080E715C: pop {r0} bx r0 .align 2, 0 -_080E7174: .4byte gUnknown_300500C +_080E7174: .4byte gSaveBlock2Ptr _080E7178: .4byte 0x0000048c _080E717C: .4byte gUnknown_2023BE4 _080E7180: .4byte 0x0000048a @@ -3108,7 +3108,7 @@ _080E7184: .4byte 0x00000494 sub_80E7188: @ 80E7188 push {lr} lsls r0, 24 - ldr r1, _080E71C0 @ =gUnknown_300500C + ldr r1, _080E71C0 @ =gSaveBlock2Ptr ldr r3, [r1] lsrs r0, 23 ldr r2, _080E71C4 @ =0x00000564 @@ -3136,7 +3136,7 @@ _080E71BC: pop {r1} bx r1 .align 2, 0 -_080E71C0: .4byte gUnknown_300500C +_080E71C0: .4byte gSaveBlock2Ptr _080E71C4: .4byte 0x00000564 _080E71C8: .4byte 0x0000ffff _080E71CC: .4byte 0x0000270f @@ -3145,7 +3145,7 @@ _080E71CC: .4byte 0x0000270f thumb_func_start sub_80E71D0 sub_80E71D0: @ 80E71D0 push {r4,r5,lr} - ldr r4, _080E7214 @ =gUnknown_300500C + ldr r4, _080E7214 @ =gSaveBlock2Ptr ldr r1, [r4] ldr r2, _080E7218 @ =0x0000055c adds r0, r1, r2 @@ -3176,7 +3176,7 @@ sub_80E71D0: @ 80E71D0 adds r4, r1 b _080E7240 .align 2, 0 -_080E7214: .4byte gUnknown_300500C +_080E7214: .4byte gSaveBlock2Ptr _080E7218: .4byte 0x0000055c _080E721C: .4byte gUnknown_84020E6 _080E7220: @@ -3206,7 +3206,7 @@ _080E7248: .4byte gUnknown_84020DA thumb_func_start sub_80E724C sub_80E724C: @ 80E724C push {r4-r6,lr} - ldr r5, _080E7288 @ =gUnknown_300500C + ldr r5, _080E7288 @ =gSaveBlock2Ptr ldr r1, [r5] ldr r2, _080E728C @ =0x0000055c adds r0, r1, r2 @@ -3234,7 +3234,7 @@ sub_80E724C: @ 80E724C strh r4, [r0] b _080E72AA .align 2, 0 -_080E7288: .4byte gUnknown_300500C +_080E7288: .4byte gSaveBlock2Ptr _080E728C: .4byte 0x0000055c _080E7290: .4byte gUnknown_2021CD0 _080E7294: .4byte gUnknown_20370D0 @@ -3260,7 +3260,7 @@ _080E72B4: .4byte 0x0000055e thumb_func_start sub_80E72B8 sub_80E72B8: @ 80E72B8 push {r4-r7,lr} - ldr r0, _080E7334 @ =gUnknown_300500C + ldr r0, _080E7334 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E7338 @ =0x0000055c adds r0, r1 @@ -3285,7 +3285,7 @@ _080E72D2: movs r5, 0 adds r6, r4, 0 _080E72EA: - ldr r0, _080E7334 @ =gUnknown_300500C + ldr r0, _080E7334 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E7340 @ =0x0000056d adds r0, r1 @@ -3323,7 +3323,7 @@ _080E732E: pop {r0} bx r0 .align 2, 0 -_080E7334: .4byte gUnknown_300500C +_080E7334: .4byte gSaveBlock2Ptr _080E7338: .4byte 0x0000055c _080E733C: .4byte gUnknown_20370D0 _080E7340: .4byte 0x0000056d @@ -3336,7 +3336,7 @@ sub_80E7348: @ 80E7348 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r1, _080E7368 @ =gUnknown_300500C + ldr r1, _080E7368 @ =gSaveBlock2Ptr ldr r2, [r1] movs r0, 0x94 lsls r0, 3 @@ -3348,7 +3348,7 @@ sub_80E7348: @ 80E7348 ldr r4, _080E736C @ =gUnknown_84020C4 b _080E7372 .align 2, 0 -_080E7368: .4byte gUnknown_300500C +_080E7368: .4byte gSaveBlock2Ptr _080E736C: .4byte gUnknown_84020C4 _080E7370: ldr r4, _080E7410 @ =gUnknown_84020C4 @@ -3377,7 +3377,7 @@ _080E7372: strh r0, [r7, 0x2] movs r6, 0x7 movs r4, 0 - ldr r0, _080E7414 @ =gUnknown_3005008 + ldr r0, _080E7414 @ =gSaveBlock1Ptr mov r8, r0 adds r5, r7, 0 adds r5, 0x10 @@ -3430,7 +3430,7 @@ _080E73E2: bx r0 .align 2, 0 _080E7410: .4byte gUnknown_84020C4 -_080E7414: .4byte gUnknown_3005008 +_080E7414: .4byte gSaveBlock1Ptr _080E7418: .4byte 0x00002cac _080E741C: .4byte gUnknown_2024284 thumb_func_end sub_80E7348 @@ -3438,7 +3438,7 @@ _080E741C: .4byte gUnknown_2024284 thumb_func_start GetEreaderTrainerFrontSpriteId GetEreaderTrainerFrontSpriteId: @ 80E7420 ldr r1, _080E7434 @ =gUnknown_82538A8 - ldr r0, _080E7438 @ =gUnknown_300500C + ldr r0, _080E7438 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _080E743C @ =0x000004a1 adds r0, r2 @@ -3448,14 +3448,14 @@ GetEreaderTrainerFrontSpriteId: @ 80E7420 bx lr .align 2, 0 _080E7434: .4byte gUnknown_82538A8 -_080E7438: .4byte gUnknown_300500C +_080E7438: .4byte gSaveBlock2Ptr _080E743C: .4byte 0x000004a1 thumb_func_end GetEreaderTrainerFrontSpriteId thumb_func_start GetEreaderTrainerClassId GetEreaderTrainerClassId: @ 80E7440 ldr r1, _080E7454 @ =gUnknown_825393E - ldr r0, _080E7458 @ =gUnknown_300500C + ldr r0, _080E7458 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _080E745C @ =0x000004a1 adds r0, r2 @@ -3465,7 +3465,7 @@ GetEreaderTrainerClassId: @ 80E7440 bx lr .align 2, 0 _080E7454: .4byte gUnknown_825393E -_080E7458: .4byte gUnknown_300500C +_080E7458: .4byte gSaveBlock2Ptr _080E745C: .4byte 0x000004a1 thumb_func_end GetEreaderTrainerClassId @@ -3474,7 +3474,7 @@ sub_80E7460: @ 80E7460 push {r4,lr} adds r3, r0, 0 movs r2, 0 - ldr r0, _080E7488 @ =gUnknown_300500C + ldr r0, _080E7488 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E748C @ =0x000004a4 adds r4, r0, r1 @@ -3493,7 +3493,7 @@ _080E746E: pop {r0} bx r0 .align 2, 0 -_080E7488: .4byte gUnknown_300500C +_080E7488: .4byte gSaveBlock2Ptr _080E748C: .4byte 0x000004a4 thumb_func_end sub_80E7460 @@ -3503,7 +3503,7 @@ sub_80E7490: @ 80E7490 ldr r2, _080E74C0 @ =gUnknown_20370D0 movs r0, 0 strh r0, [r2] - ldr r1, _080E74C4 @ =gUnknown_300500C + ldr r1, _080E74C4 @ =gSaveBlock2Ptr ldr r0, [r1] movs r3, 0x94 lsls r3, 3 @@ -3525,7 +3525,7 @@ _080E74AA: b _080E74F6 .align 2, 0 _080E74C0: .4byte gUnknown_20370D0 -_080E74C4: .4byte gUnknown_300500C +_080E74C4: .4byte gSaveBlock2Ptr _080E74C8: movs r4, 0 movs r3, 0 @@ -3597,7 +3597,7 @@ _080E752A: thumb_func_start sub_80E7538 sub_80E7538: @ 80E7538 push {lr} - ldr r0, _080E754C @ =gUnknown_300500C + ldr r0, _080E754C @ =gSaveBlock2Ptr ldr r0, [r0] movs r1, 0x96 lsls r1, 3 @@ -3606,7 +3606,7 @@ sub_80E7538: @ 80E7538 pop {r0} bx r0 .align 2, 0 -_080E754C: .4byte gUnknown_300500C +_080E754C: .4byte gSaveBlock2Ptr thumb_func_end sub_80E7538 thumb_func_start sub_80E7550 @@ -3626,7 +3626,7 @@ _080E7568: .4byte gUnknown_2021D18 _080E756C: cmp r0, 0x1 bne _080E7584 - ldr r0, _080E7580 @ =gUnknown_300500C + ldr r0, _080E7580 @ =gSaveBlock2Ptr ldr r0, [r0] movs r1, 0x99 lsls r1, 3 @@ -3634,9 +3634,9 @@ _080E756C: bl sub_80E678C b _080E7590 .align 2, 0 -_080E7580: .4byte gUnknown_300500C +_080E7580: .4byte gSaveBlock2Ptr _080E7584: - ldr r0, _080E7594 @ =gUnknown_300500C + ldr r0, _080E7594 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _080E7598 @ =0x000004bc adds r0, r1 @@ -3645,7 +3645,7 @@ _080E7590: pop {r0} bx r0 .align 2, 0 -_080E7594: .4byte gUnknown_300500C +_080E7594: .4byte gSaveBlock2Ptr _080E7598: .4byte 0x000004bc thumb_func_end sub_80E7550 diff --git a/asm/battle_transition.s b/asm/battle_transition.s index 8db717936..67a711dea 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -15,7 +15,7 @@ sub_80D08B8: @ 80D08B8 movs r0, 0x3C bl AllocZeroed str r0, [r5] - ldr r1, _080D08E0 @ =gUnknown_30030F0 + ldr r1, _080D08E0 @ =gMain ldr r0, _080D08E4 @ =sub_80565A8 str r0, [r1, 0x4] adds r0, r4, 0 @@ -25,7 +25,7 @@ sub_80D08B8: @ 80D08B8 bx r0 .align 2, 0 _080D08DC: .4byte gUnknown_2039A2C -_080D08E0: .4byte gUnknown_30030F0 +_080D08E0: .4byte gMain _080D08E4: .4byte sub_80565A8 thumb_func_end sub_80D08B8 @@ -4174,7 +4174,7 @@ Phase2_Mugshot_Func2: @ 80D28A8 movs r2, 0x20 bl LoadPalette ldr r1, _080D295C @ =gUnknown_83FA754 - ldr r0, _080D2960 @ =gUnknown_300500C + ldr r0, _080D2960 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] lsls r0, 2 @@ -4235,7 +4235,7 @@ _080D2950: .4byte gUnknown_83FAC34 _080D2954: .4byte gUnknown_83F8F60 _080D2958: .4byte gUnknown_83FA740 _080D295C: .4byte gUnknown_83FA754 -_080D2960: .4byte gUnknown_300500C +_080D2960: .4byte gSaveBlock2Ptr _080D2964: .4byte sub_80D2E6C thumb_func_end Phase2_Mugshot_Func2 @@ -4949,7 +4949,7 @@ sub_80D2EA4: @ 80D2EA4 lsls r0, 24 lsrs r0, 24 strh r0, [r4, 0x22] - ldr r0, _080D3008 @ =gUnknown_300500C + ldr r0, _080D3008 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] movs r1, 0x1 @@ -5078,7 +5078,7 @@ _080D2FF8: .4byte gUnknown_3003E58 _080D2FFC: .4byte gUnknown_83FA494 _080D3000: .4byte gUnknown_83FA4AE _080D3004: .4byte gUnknown_201C000 -_080D3008: .4byte gUnknown_300500C +_080D3008: .4byte gSaveBlock2Ptr _080D300C: .4byte gUnknown_202063C _080D3010: .4byte sub_80D301C _080D3014: .4byte gUnknown_83FA49A diff --git a/asm/berry.s b/asm/berry.s index c45dec832..8b9593a2a 100644 --- a/asm/berry.s +++ b/asm/berry.s @@ -8,7 +8,7 @@ thumb_func_start sub_809C718 sub_809C718: @ 809C718 push {r4,r5,lr} - ldr r2, _0809C778 @ =gUnknown_3005008 + ldr r2, _0809C778 @ =gSaveBlock1Ptr ldr r1, [r2] ldr r0, _0809C77C @ =gUnknown_83DF7E8 ldr r3, _0809C780 @ =0x000030ec @@ -56,7 +56,7 @@ _0809C740: pop {r0} bx r0 .align 2, 0 -_0809C778: .4byte gUnknown_3005008 +_0809C778: .4byte gSaveBlock1Ptr _0809C77C: .4byte gUnknown_83DF7E8 _0809C780: .4byte 0x000030ec _0809C784: .4byte 0x00003108 @@ -72,7 +72,7 @@ sub_809C794: @ 809C794 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r0, _0809C7B8 @ =gUnknown_3005008 + ldr r0, _0809C7B8 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _0809C7BC @ =0x000030ec adds r1, r0 @@ -84,7 +84,7 @@ sub_809C794: @ 809C794 pop {r0} bx r0 .align 2, 0 -_0809C7B8: .4byte gUnknown_3005008 +_0809C7B8: .4byte gSaveBlock1Ptr _0809C7BC: .4byte 0x000030ec _0809C7C0: .4byte 0x0100001a thumb_func_end sub_809C794 @@ -95,7 +95,7 @@ sub_809C7C4: @ 809C7C4 adds r4, r0, 0 bl sub_809C794 adds r5, r4, 0 - ldr r0, _0809C824 @ =gUnknown_3005008 + ldr r0, _0809C824 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, _0809C828 @ =0x000030ec adds r4, r2, r0 @@ -139,7 +139,7 @@ _0809C7F0: pop {r0} bx r0 .align 2, 0 -_0809C824: .4byte gUnknown_3005008 +_0809C824: .4byte gSaveBlock1Ptr _0809C828: .4byte 0x000030ec _0809C82C: .4byte 0x00003108 _0809C830: .4byte 0x00000516 @@ -167,7 +167,7 @@ _0809C840: thumb_func_start IsEnigmaBerryValid IsEnigmaBerryValid: @ 809C854 push {r4,lr} - ldr r4, _0809C888 @ =gUnknown_3005008 + ldr r4, _0809C888 @ =gSaveBlock1Ptr ldr r1, [r4] movs r2, 0xC4 lsls r2, 6 @@ -192,7 +192,7 @@ IsEnigmaBerryValid: @ 809C854 movs r0, 0x1 b _0809C89A .align 2, 0 -_0809C888: .4byte gUnknown_3005008 +_0809C888: .4byte gSaveBlock1Ptr _0809C88C: .4byte 0x000030f6 _0809C890: .4byte 0x000030ec _0809C894: .4byte 0x0000311c @@ -214,12 +214,12 @@ sub_809C8A0: @ 809C8A0 bl IsEnigmaBerryValid cmp r0, 0 beq _0809C8C4 - ldr r0, _0809C8BC @ =gUnknown_3005008 + ldr r0, _0809C8BC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0809C8C0 @ =0x000030ec b _0809C8D8 .align 2, 0 -_0809C8BC: .4byte gUnknown_3005008 +_0809C8BC: .4byte gSaveBlock1Ptr _0809C8C0: .4byte 0x000030ec _0809C8C4: subs r0, r4, 0x1 diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s index 0578cefb9..679a386e0 100644 --- a/asm/berry_fix_program.s +++ b/asm/berry_fix_program.s @@ -173,7 +173,7 @@ _0815F84C: movs r0, 0x1 b _0815F9A4 _0815F856: - ldr r0, _0815F870 @ =gUnknown_30030F0 + ldr r0, _0815F870 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -186,9 +186,9 @@ _0815F864: movs r0, 0x2 b _0815F9A4 .align 2, 0 -_0815F870: .4byte gUnknown_30030F0 +_0815F870: .4byte gMain _0815F874: - ldr r0, _0815F88C @ =gUnknown_30030F0 + ldr r0, _0815F88C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -201,7 +201,7 @@ _0815F882: movs r0, 0x4 b _0815F9A4 .align 2, 0 -_0815F88C: .4byte gUnknown_30030F0 +_0815F88C: .4byte gMain _0815F890: ldr r0, _0815F8B4 @ =gUnknown_3005EF0 ldr r1, _0815F8B8 @ =gMultiBootProgram_BerryGlitchFix_Start @@ -305,7 +305,7 @@ _0815F96A: movs r0, 0x8 b _0815F9A4 _0815F96E: - ldr r0, _0815F988 @ =gUnknown_30030F0 + ldr r0, _0815F988 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -313,17 +313,17 @@ _0815F96E: beq _0815F9A6 adds r0, r2, 0 bl DestroyTask - bl sub_80008D8 + bl DoSoftReset b _0815F9A6 .align 2, 0 -_0815F988: .4byte gUnknown_30030F0 +_0815F988: .4byte gMain _0815F98C: movs r0, 0x4 bl sub_815F6E0 movs r0, 0xA b _0815F9A4 _0815F996: - ldr r0, _0815F9B0 @ =gUnknown_30030F0 + ldr r0, _0815F9B0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -338,7 +338,7 @@ _0815F9A6: pop {r0} bx r0 .align 2, 0 -_0815F9B0: .4byte gUnknown_30030F0 +_0815F9B0: .4byte gMain thumb_func_end sub_815F7F0 .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 1157a427b..feb1333b0 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -144,7 +144,7 @@ _0813CE56: sub_813CE5C: @ 813CE5C push {r4,lr} sub sp, 0x4 - ldr r0, _0813CE7C @ =gUnknown_30030F0 + ldr r0, _0813CE7C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -159,7 +159,7 @@ _0813CE70: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0813CE7C: .4byte gUnknown_30030F0 +_0813CE7C: .4byte gMain _0813CE80: .4byte _0813CE84 .align 2, 0 _0813CE84: @@ -300,7 +300,7 @@ _0813CFBE: movs r3, 0 bl BeginNormalPaletteFade _0813CFD2: - ldr r1, _0813CFE4 @ =gUnknown_30030F0 + ldr r1, _0813CFE4 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -309,7 +309,7 @@ _0813CFD2: strb r0, [r1] b _0813D000 .align 2, 0 -_0813CFE4: .4byte gUnknown_30030F0 +_0813CFE4: .4byte gMain _0813CFE8: ldr r0, _0813CFF8 @ =sub_813CE1C bl SetVBlankCallback @@ -482,7 +482,7 @@ _0813D14C: movs r1, 0 movs r2, 0x60 bl LoadCompressedPalette - ldr r0, _0813D170 @ =gUnknown_300500C + ldr r0, _0813D170 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -494,7 +494,7 @@ _0813D14C: b _0813D17E .align 2, 0 _0813D16C: .4byte gUnknown_8E85BA4 -_0813D170: .4byte gUnknown_300500C +_0813D170: .4byte gSaveBlock2Ptr _0813D174: .4byte gUnknown_8E85BF4 _0813D178: ldr r0, _0813D18C @ =gUnknown_84644A8 @@ -1695,7 +1695,7 @@ _0813DA9E: subs r2, r4, 0x2 adds r1, r4, 0 bl get_coro_args_x18_x1A - ldr r0, _0813DAE4 @ =gUnknown_30030F0 + ldr r0, _0813DAE4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -1716,7 +1716,7 @@ _0813DA9E: _0813DAD8: .4byte gUnknown_3005098 _0813DADC: .4byte gUnknown_2037AB8 _0813DAE0: .4byte gUnknown_203F37A -_0813DAE4: .4byte gUnknown_30030F0 +_0813DAE4: .4byte gMain _0813DAE8: .4byte gUnknown_203AD30 _0813DAEC: movs r0, 0x2 @@ -2352,7 +2352,7 @@ sub_813E010: @ 813E010 .align 2, 0 _0813E044: .4byte gUnknown_3005098 _0813E048: - ldr r0, _0813E08C @ =gUnknown_30030F0 + ldr r0, _0813E08C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2378,7 +2378,7 @@ _0813E048: bl sub_813DF54 b _0813E0D4 .align 2, 0 -_0813E08C: .4byte gUnknown_30030F0 +_0813E08C: .4byte gMain _0813E090: movs r0, 0x2 ands r0, r1 @@ -2481,7 +2481,7 @@ sub_813E164: @ 813E164 lsls r0, 3 ldr r1, _0813E1EC @ =gUnknown_3005098 adds r5, r0, r1 - ldr r0, _0813E1F0 @ =gUnknown_30030F0 + ldr r0, _0813E1F0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2531,7 +2531,7 @@ _0813E1E4: bx r0 .align 2, 0 _0813E1EC: .4byte gUnknown_3005098 -_0813E1F0: .4byte gUnknown_30030F0 +_0813E1F0: .4byte gMain _0813E1F4: .4byte gUnknown_203AD30 _0813E1F8: .4byte gUnknown_203F37A _0813E1FC: .4byte gUnknown_3005E70 @@ -2611,7 +2611,7 @@ sub_813E290: @ 813E290 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0813E2B4 @ =gUnknown_30030F0 + ldr r0, _0813E2B4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2626,7 +2626,7 @@ _0813E2AE: pop {r0} bx r0 .align 2, 0 -_0813E2B4: .4byte gUnknown_30030F0 +_0813E2B4: .4byte gMain thumb_func_end sub_813E290 thumb_func_start sub_813E2B8 @@ -3117,7 +3117,7 @@ sub_813E690: @ 813E690 .align 2, 0 _0813E6E0: .4byte gUnknown_3005098 _0813E6E4: - ldr r0, _0813E714 @ =gUnknown_30030F0 + ldr r0, _0813E714 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3136,7 +3136,7 @@ _0813E6E4: bl sub_813E4E4 b _0813E762 .align 2, 0 -_0813E714: .4byte gUnknown_30030F0 +_0813E714: .4byte gMain _0813E718: movs r0, 0x2 ands r0, r1 @@ -3251,7 +3251,7 @@ sub_813E7F0: @ 813E7F0 mov r2, r8 ldrh r1, [r2, 0x10] bl sub_809A1D8 - ldr r7, _0813E8C4 @ =gUnknown_3005008 + ldr r7, _0813E8C4 @ =gSaveBlock1Ptr ldr r4, [r7] movs r3, 0xA4 lsls r3, 2 @@ -3320,7 +3320,7 @@ sub_813E7F0: @ 813E7F0 .align 2, 0 _0813E8BC: .4byte gUnknown_3005098 _0813E8C0: .4byte gUnknown_203AD30 -_0813E8C4: .4byte gUnknown_3005008 +_0813E8C4: .4byte gSaveBlock1Ptr _0813E8C8: .4byte gUnknown_203F37A _0813E8CC: .4byte gUnknown_3005E70 _0813E8D0: .4byte sub_813E8D4 @@ -3331,7 +3331,7 @@ sub_813E8D4: @ 813E8D4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0813E90C @ =gUnknown_30030F0 + ldr r0, _0813E90C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3355,7 +3355,7 @@ _0813E906: pop {r0} bx r0 .align 2, 0 -_0813E90C: .4byte gUnknown_30030F0 +_0813E90C: .4byte gMain thumb_func_end sub_813E8D4 thumb_func_start sub_813E910 @@ -3726,7 +3726,7 @@ sub_813EBD4: @ 813EBD4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0813EC04 @ =gUnknown_3005008 + ldr r0, _0813EC04 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -3741,7 +3741,7 @@ sub_813EBD4: @ 813EBD4 pop {r0} bx r0 .align 2, 0 -_0813EC04: .4byte gUnknown_3005008 +_0813EC04: .4byte gSaveBlock1Ptr thumb_func_end sub_813EBD4 thumb_func_start sub_813EC08 diff --git a/asm/bike.s b/asm/bike.s index 6760c843d..b987f96fb 100644 --- a/asm/bike.s +++ b/asm/bike.s @@ -90,7 +90,7 @@ sub_80BD100: @ 80BD100 bl sub_805A1DC cmp r0, 0x1 bne _080BD176 - ldr r0, _080BD164 @ =gUnknown_30030F0 + ldr r0, _080BD164 @ =gMain ldrh r1, [r0, 0x2C] movs r2, 0x2 movs r0, 0x2 @@ -107,7 +107,7 @@ sub_80BD100: @ 80BD100 .align 2, 0 _080BD15C: .4byte gUnknown_2037078 _080BD160: .4byte gUnknown_2036E38 -_080BD164: .4byte gUnknown_30030F0 +_080BD164: .4byte gMain _080BD168: ldrb r0, [r6] cmp r0, 0 diff --git a/asm/braille_text.s b/asm/braille_text.s index 3a46d7d8e..1f1d5f897 100644 --- a/asm/braille_text.s +++ b/asm/braille_text.s @@ -33,7 +33,7 @@ _0814F8A4: .4byte _0814FC70 .4byte _0814FC82 _0814F8C0: - ldr r2, _0814F914 @ =gUnknown_30030F0 + ldr r2, _0814F914 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x3 ands r0, r1 @@ -78,7 +78,7 @@ _0814F904: strb r0, [r6, 0x1E] b _0814FB42 .align 2, 0 -_0814F914: .4byte gUnknown_30030F0 +_0814F914: .4byte gMain _0814F918: .4byte gUnknown_3003E50 _0814F91C: ldr r2, _0814F92C @ =gUnknown_3003E50 @@ -457,7 +457,7 @@ _0814FBFC: cmp r2, 0 beq _0814FC6C ldr r4, _0814FC30 @ =gUnknown_846FB08 - ldr r5, _0814FC34 @ =gUnknown_300500C + ldr r5, _0814FC34 @ =gSaveBlock2Ptr ldr r0, [r5] ldrb r0, [r0, 0x14] lsls r1, r0, 29 @@ -479,7 +479,7 @@ _0814FBFC: b _0814FC62 .align 2, 0 _0814FC30: .4byte gUnknown_846FB08 -_0814FC34: .4byte gUnknown_300500C +_0814FC34: .4byte gSaveBlock2Ptr _0814FC38: ldrb r0, [r6, 0x4] lsrs r1, 29 diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 30655defd..1f84ec684 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -54,7 +54,7 @@ _0813F6CC: .4byte gUnknown_846483C thumb_func_start sub_813F6D0 sub_813F6D0: @ 813F6D0 push {lr} - ldr r0, _0813F6F0 @ =gUnknown_3005008 + ldr r0, _0813F6F0 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -68,7 +68,7 @@ sub_813F6D0: @ 813F6D0 pop {r0} bx r0 .align 2, 0 -_0813F6F0: .4byte gUnknown_3005008 +_0813F6F0: .4byte gSaveBlock1Ptr thumb_func_end sub_813F6D0 thumb_func_start sub_813F6F4 diff --git a/asm/cable_club.s b/asm/cable_club.s index 9322fb528..773e064ea 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -232,7 +232,7 @@ sub_80808F0: @ 80808F0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08080924 @ =gUnknown_30030F0 + ldr r0, _08080924 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -255,7 +255,7 @@ sub_80808F0: @ 80808F0 movs r0, 0x1 b _08080936 .align 2, 0 -_08080924: .4byte gUnknown_30030F0 +_08080924: .4byte gMain _08080928: .4byte gUnknown_202271A _0808092C: .4byte gUnknown_3005090 _08080930: .4byte sub_8080FB4 @@ -279,7 +279,7 @@ sub_808093C: @ 808093C movs r0, 0x1 bl SetSuppressLinkErrorMessage _08080952: - ldr r0, _08080964 @ =gUnknown_30030F0 + ldr r0, _08080964 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -288,7 +288,7 @@ _08080952: movs r0, 0 b _0808097E .align 2, 0 -_08080964: .4byte gUnknown_30030F0 +_08080964: .4byte gMain _08080968: ldr r1, _08080984 @ =gUnknown_202271A movs r0, 0 @@ -545,7 +545,7 @@ sub_8080B20: @ 8080B20 adds r0, r4, 0 adds r1, r6, 0 bl sub_8080808 - ldr r0, _08080BB8 @ =gUnknown_30030F0 + ldr r0, _08080BB8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -580,7 +580,7 @@ _08080BA8: bx r0 .align 2, 0 _08080BB4: .4byte gUnknown_3005098 -_08080BB8: .4byte gUnknown_30030F0 +_08080BB8: .4byte gMain _08080BBC: .4byte gUnknown_2021CD0 _08080BC0: .4byte gUnknown_81BC50D _08080BC4: .4byte sub_8080BC8 @@ -615,7 +615,7 @@ sub_8080BC8: @ 8080BC8 lsls r0, 24 cmp r4, r0 bne _08080C16 - ldr r0, _08080C2C @ =gUnknown_30030F0 + ldr r0, _08080C2C @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x2 ands r0, r1 @@ -633,7 +633,7 @@ _08080C16: str r1, [r0] b _08080C5C .align 2, 0 -_08080C2C: .4byte gUnknown_30030F0 +_08080C2C: .4byte gMain _08080C30: .4byte gUnknown_81BC4CE _08080C34: .4byte gUnknown_3005090 _08080C38: .4byte sub_8080AD0 @@ -1639,7 +1639,7 @@ _0808141A: strh r0, [r1] ldr r0, _08081448 @ =sub_800FD9C bl SetMainCallback2 - ldr r1, _0808144C @ =gUnknown_30030F0 + ldr r1, _0808144C @ =gMain ldr r0, _08081450 @ =sub_8081668 str r0, [r1, 0x8] adds r0, r5, 0 @@ -1652,7 +1652,7 @@ _0808143A: _08081440: .4byte gUnknown_2022B4C _08081444: .4byte gUnknown_20386AE _08081448: .4byte sub_800FD9C -_0808144C: .4byte gUnknown_30030F0 +_0808144C: .4byte gMain _08081450: .4byte sub_8081668 thumb_func_end sub_8081318 @@ -1862,7 +1862,7 @@ _080815EA: strh r0, [r1] ldr r0, _08081618 @ =sub_800FD9C bl SetMainCallback2 - ldr r1, _0808161C @ =gUnknown_30030F0 + ldr r1, _0808161C @ =gMain ldr r0, _08081620 @ =sub_8081668 str r0, [r1, 0x8] adds r0, r4, 0 @@ -1875,14 +1875,14 @@ _0808160A: _08081610: .4byte gUnknown_2022B4C _08081614: .4byte gUnknown_20386AE _08081618: .4byte sub_800FD9C -_0808161C: .4byte gUnknown_30030F0 +_0808161C: .4byte gMain _08081620: .4byte sub_8081668 thumb_func_end sub_8081454 thumb_func_start sub_8081624 sub_8081624: @ 8081624 push {r4,lr} - ldr r0, _0808163C @ =gUnknown_30030F0 + ldr r0, _0808163C @ =gMain movs r1, 0x87 lsls r1, 3 adds r4, r0, r1 @@ -1893,7 +1893,7 @@ sub_8081624: @ 8081624 beq _0808164C b _0808165C .align 2, 0 -_0808163C: .4byte gUnknown_30030F0 +_0808163C: .4byte gMain _08081640: bl sub_800AAC0 ldrb r0, [r4] @@ -1989,15 +1989,15 @@ _0808170A: bl InUnionRoom cmp r0, 0x1 bne _08081724 - ldr r1, _0808171C @ =gUnknown_30030F0 + ldr r1, _0808171C @ =gMain ldr r0, _08081720 @ =sub_8081624 b _08081728 .align 2, 0 _08081718: .4byte gUnknown_202273C -_0808171C: .4byte gUnknown_30030F0 +_0808171C: .4byte gMain _08081720: .4byte sub_8081624 _08081724: - ldr r1, _08081738 @ =gUnknown_30030F0 + ldr r1, _08081738 @ =gMain ldr r0, _0808173C @ =c2_8056854 _08081728: str r0, [r1, 0x8] @@ -2007,7 +2007,7 @@ _08081728: pop {r0} bx r0 .align 2, 0 -_08081738: .4byte gUnknown_30030F0 +_08081738: .4byte gMain _0808173C: .4byte c2_8056854 _08081740: .4byte sub_806FB7C thumb_func_end sub_8081668 diff --git a/asm/cereader_tool.s b/asm/cereader_tool.s index 5e677c3f6..8d2beb17d 100644 --- a/asm/cereader_tool.s +++ b/asm/cereader_tool.s @@ -8,7 +8,7 @@ thumb_func_start sub_815D654 sub_815D654: @ 815D654 push {lr} - ldr r0, _0815D674 @ =gUnknown_3005008 + ldr r0, _0815D674 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0815D678 @ =0x00003d41 adds r0, r1 @@ -23,7 +23,7 @@ sub_815D654: @ 815D654 pop {r1} bx r1 .align 2, 0 -_0815D674: .4byte gUnknown_3005008 +_0815D674: .4byte gSaveBlock1Ptr _0815D678: .4byte 0x00003d41 thumb_func_end sub_815D654 diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s index 14572b868..33e7e386b 100644 --- a/asm/clear_save_data_screen.s +++ b/asm/clear_save_data_screen.s @@ -311,7 +311,7 @@ _080F57D4: ldr r0, [r5] bl Free str r4, [r5] - bl sub_80008D8 + bl DoSoftReset _080F57FE: add sp, 0x4 pop {r4-r6} diff --git a/asm/coins.s b/asm/coins.s index 131a21ff7..54649c141 100644 --- a/asm/coins.s +++ b/asm/coins.s @@ -7,12 +7,12 @@ thumb_func_start sub_80D0554 sub_80D0554: @ 80D0554 - ldr r0, _080D0574 @ =gUnknown_3005008 + ldr r0, _080D0574 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0xA5 lsls r0, 2 adds r1, r0 - ldr r0, _080D0578 @ =gUnknown_300500C + ldr r0, _080D0578 @ =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0xF2 lsls r2, 4 @@ -24,17 +24,17 @@ sub_80D0554: @ 80D0554 lsrs r0, 16 bx lr .align 2, 0 -_080D0574: .4byte gUnknown_3005008 -_080D0578: .4byte gUnknown_300500C +_080D0574: .4byte gSaveBlock1Ptr +_080D0578: .4byte gSaveBlock2Ptr thumb_func_end sub_80D0554 thumb_func_start sub_80D057C sub_80D057C: @ 80D057C lsls r0, 16 lsrs r0, 16 - ldr r1, _080D059C @ =gUnknown_3005008 + ldr r1, _080D059C @ =gSaveBlock1Ptr ldr r2, [r1] - ldr r1, _080D05A0 @ =gUnknown_300500C + ldr r1, _080D05A0 @ =gSaveBlock2Ptr ldr r1, [r1] movs r3, 0xF2 lsls r3, 4 @@ -47,8 +47,8 @@ sub_80D057C: @ 80D057C strh r0, [r2] bx lr .align 2, 0 -_080D059C: .4byte gUnknown_3005008 -_080D05A0: .4byte gUnknown_300500C +_080D059C: .4byte gSaveBlock1Ptr +_080D05A0: .4byte gSaveBlock2Ptr thumb_func_end sub_80D057C thumb_func_start sub_80D05A4 diff --git a/asm/credits.s b/asm/credits.s index fc3afa96b..5a7cbd9c0 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -909,7 +909,7 @@ _080F410A: .align 2, 0 _080F4114: .4byte gUnknown_203AB40 _080F4118: - ldr r0, _080F4140 @ =gUnknown_30030F0 + ldr r0, _080F4140 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -930,7 +930,7 @@ _080F413C: strb r0, [r1] b _080F3D06 .align 2, 0 -_080F4140: .4byte gUnknown_30030F0 +_080F4140: .4byte gMain _080F4144: .4byte 0x00007fff _080F4148: .4byte gUnknown_203AB40 _080F414C: @@ -1966,7 +1966,7 @@ _080F49A8: _080F49D0: .4byte gUnknown_841431C _080F49D4: .4byte 0x0000ffff _080F49D8: - ldr r0, _080F4A0C @ =gUnknown_300500C + ldr r0, _080F4A0C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -1991,7 +1991,7 @@ _080F49D8: ldr r0, _080F4A1C @ =gUnknown_8410E10 b _080F4A36 .align 2, 0 -_080F4A0C: .4byte gUnknown_300500C +_080F4A0C: .4byte gSaveBlock2Ptr _080F4A10: .4byte gUnknown_8410E30 _080F4A14: .4byte 0xffff0000 _080F4A18: .4byte 0x0000ffff diff --git a/asm/daycare.s b/asm/daycare.s index 177c13035..abb851749 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -168,7 +168,7 @@ StorePokemonInDaycare: @ 80454CC beq _08045524 adds r0, r4, 0 adds r0, 0x74 - ldr r1, _08045550 @ =gUnknown_300500C + ldr r1, _08045550 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy adds r1, r4, 0 @@ -180,7 +180,7 @@ StorePokemonInDaycare: @ 80454CC bl GetMonData lsls r0, 24 lsrs r0, 24 - ldr r1, _08045554 @ =gUnknown_3005008 + ldr r1, _08045554 @ =gSaveBlock1Ptr ldr r1, [r1] lsls r2, r0, 3 adds r2, r0 @@ -217,8 +217,8 @@ _08045524: pop {r0} bx r0 .align 2, 0 -_08045550: .4byte gUnknown_300500C -_08045554: .4byte gUnknown_3005008 +_08045550: .4byte gSaveBlock2Ptr +_08045554: .4byte gSaveBlock1Ptr _08045558: .4byte 0x00002cd0 thumb_func_end StorePokemonInDaycare @@ -252,7 +252,7 @@ StoreSelectedPokemonInDaycare: @ 8045580 muls r0, r1 ldr r1, _080455A4 @ =gUnknown_2024284 adds r0, r1 - ldr r1, _080455A8 @ =gUnknown_3005008 + ldr r1, _080455A8 @ =gSaveBlock1Ptr ldr r1, [r1] movs r2, 0xBE lsls r2, 6 @@ -262,7 +262,7 @@ StoreSelectedPokemonInDaycare: @ 8045580 bx r0 .align 2, 0 _080455A4: .4byte gUnknown_2024284 -_080455A8: .4byte gUnknown_3005008 +_080455A8: .4byte gSaveBlock1Ptr thumb_func_end StoreSelectedPokemonInDaycare thumb_func_start ShiftDaycareSlots @@ -453,7 +453,7 @@ TakeSelectedPokemonMonFromDaycareShiftSlots: @ 8045700 thumb_func_start TakePokemonFromDaycare TakePokemonFromDaycare: @ 8045728 push {lr} - ldr r0, _08045744 @ =gUnknown_3005008 + ldr r0, _08045744 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -466,7 +466,7 @@ TakePokemonFromDaycare: @ 8045728 pop {r1} bx r1 .align 2, 0 -_08045744: .4byte gUnknown_3005008 +_08045744: .4byte gSaveBlock1Ptr _08045748: .4byte gUnknown_20370C0 thumb_func_end TakePokemonFromDaycare @@ -593,7 +593,7 @@ GetDaycareCostForMon: @ 8045820 thumb_func_start GetDaycareCost GetDaycareCost: @ 8045838 push {lr} - ldr r0, _08045854 @ =gUnknown_3005008 + ldr r0, _08045854 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -606,7 +606,7 @@ GetDaycareCost: @ 8045838 pop {r0} bx r0 .align 2, 0 -_08045854: .4byte gUnknown_3005008 +_08045854: .4byte gSaveBlock1Ptr _08045858: .4byte gUnknown_20370C0 _0804585C: .4byte gUnknown_20370C2 thumb_func_end GetDaycareCost @@ -615,7 +615,7 @@ _0804585C: .4byte gUnknown_20370C2 sub_8045860: @ 8045860 lsls r0, 16 lsrs r0, 16 - ldr r1, _08045888 @ =gUnknown_3005008 + ldr r1, _08045888 @ =gSaveBlock1Ptr ldr r2, [r1] ldr r1, _0804588C @ =0x00003008 adds r3, r2, r1 @@ -634,7 +634,7 @@ sub_8045860: @ 8045860 str r1, [r2] bx lr .align 2, 0 -_08045888: .4byte gUnknown_3005008 +_08045888: .4byte gSaveBlock1Ptr _0804588C: .4byte 0x00003008 _08045890: .4byte 0x00003094 _08045894: .4byte 0x00003d20 @@ -643,7 +643,7 @@ _08045894: .4byte 0x00003d20 thumb_func_start GetNumLevelsGainedFromDaycare GetNumLevelsGainedFromDaycare: @ 8045898 push {r4-r6,lr} - ldr r6, _080458C0 @ =gUnknown_3005008 + ldr r6, _080458C0 @ =gSaveBlock1Ptr ldr r5, _080458C4 @ =gUnknown_20370C0 ldrh r0, [r5] movs r4, 0x8C @@ -661,7 +661,7 @@ GetNumLevelsGainedFromDaycare: @ 8045898 movs r0, 0 b _080458E0 .align 2, 0 -_080458C0: .4byte gUnknown_3005008 +_080458C0: .4byte gSaveBlock1Ptr _080458C4: .4byte gUnknown_20370C0 _080458C8: ldrh r0, [r5] @@ -879,7 +879,7 @@ _08045A44: .4byte 0x00000266 thumb_func_start sub_8045A48 sub_8045A48: @ 8045A48 push {lr} - ldr r0, _08045A5C @ =gUnknown_3005008 + ldr r0, _08045A5C @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -888,13 +888,13 @@ sub_8045A48: @ 8045A48 pop {r0} bx r0 .align 2, 0 -_08045A5C: .4byte gUnknown_3005008 +_08045A5C: .4byte gSaveBlock1Ptr thumb_func_end sub_8045A48 thumb_func_start sub_8045A60 sub_8045A60: @ 8045A60 push {lr} - ldr r0, _08045A74 @ =gUnknown_3005008 + ldr r0, _08045A74 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -903,7 +903,7 @@ sub_8045A60: @ 8045A60 pop {r0} bx r0 .align 2, 0 -_08045A74: .4byte gUnknown_3005008 +_08045A74: .4byte gSaveBlock1Ptr thumb_func_end sub_8045A60 thumb_func_start RemoveIVIndexFromList @@ -1570,7 +1570,7 @@ RemoveEggFromDayCare: @ 8045F70 thumb_func_start RejectEggFromDayCare RejectEggFromDayCare: @ 8045F88 push {lr} - ldr r0, _08045F9C @ =gUnknown_3005008 + ldr r0, _08045F9C @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -1579,7 +1579,7 @@ RejectEggFromDayCare: @ 8045F88 pop {r0} bx r0 .align 2, 0 -_08045F9C: .4byte gUnknown_3005008 +_08045F9C: .4byte gSaveBlock1Ptr thumb_func_end RejectEggFromDayCare thumb_func_start sub_8045FA0 @@ -1972,7 +1972,7 @@ _080462A8: .4byte gUnknown_8254795 thumb_func_start GiveEggFromDaycare GiveEggFromDaycare: @ 80462AC push {lr} - ldr r0, _080462C0 @ =gUnknown_3005008 + ldr r0, _080462C0 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -1981,7 +1981,7 @@ GiveEggFromDaycare: @ 80462AC pop {r0} bx r0 .align 2, 0 -_080462C0: .4byte gUnknown_3005008 +_080462C0: .4byte gSaveBlock1Ptr thumb_func_end GiveEggFromDaycare thumb_func_start sub_80462C4 @@ -2111,7 +2111,7 @@ _080463B4: .4byte gUnknown_2024029 thumb_func_start sub_80463B8 sub_80463B8: @ 80463B8 push {r4,lr} - ldr r4, _080463F0 @ =gUnknown_3005008 + ldr r4, _080463F0 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r1, _080463F4 @ =0x00003c98 adds r0, r1 @@ -2137,7 +2137,7 @@ _080463D8: pop {r1} bx r1 .align 2, 0 -_080463F0: .4byte gUnknown_3005008 +_080463F0: .4byte gSaveBlock1Ptr _080463F4: .4byte 0x00003c98 _080463F8: .4byte 0x00003d20 thumb_func_end sub_80463B8 @@ -2226,7 +2226,7 @@ _08046498: .4byte gUnknown_2021CD0 thumb_func_start GetDaycareMonNicknames GetDaycareMonNicknames: @ 804649C push {lr} - ldr r0, _080464B0 @ =gUnknown_3005008 + ldr r0, _080464B0 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -2235,13 +2235,13 @@ GetDaycareMonNicknames: @ 804649C pop {r0} bx r0 .align 2, 0 -_080464B0: .4byte gUnknown_3005008 +_080464B0: .4byte gSaveBlock1Ptr thumb_func_end GetDaycareMonNicknames thumb_func_start sub_80464B4 sub_80464B4: @ 80464B4 push {r4,lr} - ldr r4, _080464D0 @ =gUnknown_3005008 + ldr r4, _080464D0 @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xBE lsls r1, 6 @@ -2253,7 +2253,7 @@ sub_80464B4: @ 80464B4 movs r0, 0x1 b _080464F2 .align 2, 0 -_080464D0: .4byte gUnknown_3005008 +_080464D0: .4byte gSaveBlock1Ptr _080464D4: ldr r0, [r4] movs r1, 0xBE @@ -2279,7 +2279,7 @@ _080464F2: thumb_func_start GetDaycarePokemonCount GetDaycarePokemonCount: @ 80464F8 push {lr} - ldr r0, _08046518 @ =gUnknown_3005008 + ldr r0, _08046518 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -2294,7 +2294,7 @@ _08046512: pop {r1} bx r1 .align 2, 0 -_08046518: .4byte gUnknown_3005008 +_08046518: .4byte gSaveBlock1Ptr thumb_func_end GetDaycarePokemonCount thumb_func_start EggGroupsOverlap @@ -2484,7 +2484,7 @@ _0804665C: thumb_func_start GetDaycareCompatibilityScoreFromSave GetDaycareCompatibilityScoreFromSave: @ 804666C push {lr} - ldr r0, _08046684 @ =gUnknown_3005008 + ldr r0, _08046684 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -2495,7 +2495,7 @@ GetDaycareCompatibilityScoreFromSave: @ 804666C pop {r1} bx r1 .align 2, 0 -_08046684: .4byte gUnknown_3005008 +_08046684: .4byte gSaveBlock1Ptr thumb_func_end GetDaycareCompatibilityScoreFromSave thumb_func_start SetDaycareCompatibilityString @@ -2934,7 +2934,7 @@ DaycarePrintMonInfo: @ 80469B4 lsrs r5, r2, 24 cmp r6, 0x1 bhi _080469EE - ldr r0, _080469F8 @ =gUnknown_3005008 + ldr r0, _080469F8 @ =gSaveBlock1Ptr mov r8, r0 ldr r0, [r0] movs r4, 0xBE @@ -2958,7 +2958,7 @@ _080469EE: pop {r0} bx r0 .align 2, 0 -_080469F8: .4byte gUnknown_3005008 +_080469F8: .4byte gSaveBlock1Ptr thumb_func_end DaycarePrintMonInfo thumb_func_start Task_HandleDaycareLevelMenuInput @@ -2975,7 +2975,7 @@ Task_HandleDaycareLevelMenuInput: @ 80469FC ldrb r0, [r4, 0x8] bl ListMenuHandleInput adds r1, r0, 0 - ldr r0, _08046A30 @ =gUnknown_30030F0 + ldr r0, _08046A30 @ =gMain ldrh r2, [r0, 0x2E] movs r0, 0x1 ands r0, r2 @@ -2988,7 +2988,7 @@ Task_HandleDaycareLevelMenuInput: @ 80469FC b _08046A46 .align 2, 0 _08046A2C: .4byte gUnknown_3005090 -_08046A30: .4byte gUnknown_30030F0 +_08046A30: .4byte gMain _08046A34: ldr r0, _08046A3C @ =gUnknown_20370D0 strh r1, [r0] @@ -3105,13 +3105,13 @@ _08046B24: .4byte gUnknown_3005090 ChooseSendDaycareMon: @ 8046B28 push {lr} bl sub_8128370 - ldr r1, _08046B38 @ =gUnknown_30030F0 + ldr r1, _08046B38 @ =gMain ldr r0, _08046B3C @ =c2_exit_to_overworld_2_switch str r0, [r1, 0x8] pop {r0} bx r0 .align 2, 0 -_08046B38: .4byte gUnknown_30030F0 +_08046B38: .4byte gMain _08046B3C: .4byte c2_exit_to_overworld_2_switch thumb_func_end ChooseSendDaycareMon @@ -3125,7 +3125,7 @@ sub_8046B40: @ 8046B40 muls r0, r1 ldr r1, _08046B64 @ =gUnknown_2024284 adds r0, r1 - ldr r1, _08046B68 @ =gUnknown_3005008 + ldr r1, _08046B68 @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _08046B6C @ =0x00003c98 adds r1, r2 @@ -3134,14 +3134,14 @@ sub_8046B40: @ 8046B40 bx r0 .align 2, 0 _08046B64: .4byte gUnknown_2024284 -_08046B68: .4byte gUnknown_3005008 +_08046B68: .4byte gSaveBlock1Ptr _08046B6C: .4byte 0x00003c98 thumb_func_end sub_8046B40 thumb_func_start sub_8046B70 sub_8046B70: @ 8046B70 push {lr} - ldr r0, _08046B88 @ =gUnknown_3005008 + ldr r0, _08046B88 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08046B8C @ =0x00003c98 adds r0, r1 @@ -3151,7 +3151,7 @@ sub_8046B70: @ 8046B70 pop {r0} bx r0 .align 2, 0 -_08046B88: .4byte gUnknown_3005008 +_08046B88: .4byte gSaveBlock1Ptr _08046B8C: .4byte 0x00003c98 _08046B90: .4byte gUnknown_20370C2 thumb_func_end sub_8046B70 @@ -3159,7 +3159,7 @@ _08046B90: .4byte gUnknown_20370C2 thumb_func_start sub_8046B94 sub_8046B94: @ 8046B94 push {lr} - ldr r0, _08046BAC @ =gUnknown_3005008 + ldr r0, _08046BAC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08046BB0 @ =0x00003c98 adds r0, r1 @@ -3170,7 +3170,7 @@ sub_8046B94: @ 8046B94 movs r0, 0 b _08046BB6 .align 2, 0 -_08046BAC: .4byte gUnknown_3005008 +_08046BAC: .4byte gSaveBlock1Ptr _08046BB0: .4byte 0x00003c98 _08046BB4: movs r0, 0x1 @@ -3182,7 +3182,7 @@ _08046BB6: thumb_func_start sub_8046BBC sub_8046BBC: @ 8046BBC push {lr} - ldr r0, _08046BD4 @ =gUnknown_3005008 + ldr r0, _08046BD4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08046BD8 @ =0x00003c98 adds r0, r1 @@ -3192,14 +3192,14 @@ sub_8046BBC: @ 8046BBC pop {r1} bx r1 .align 2, 0 -_08046BD4: .4byte gUnknown_3005008 +_08046BD4: .4byte gSaveBlock1Ptr _08046BD8: .4byte 0x00003c98 thumb_func_end sub_8046BBC thumb_func_start sub_8046BDC sub_8046BDC: @ 8046BDC push {lr} - ldr r0, _08046BF4 @ =gUnknown_3005008 + ldr r0, _08046BF4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08046BF8 @ =0x00003c98 adds r0, r1 @@ -3209,7 +3209,7 @@ sub_8046BDC: @ 8046BDC pop {r1} bx r1 .align 2, 0 -_08046BF4: .4byte gUnknown_3005008 +_08046BF4: .4byte gSaveBlock1Ptr _08046BF8: .4byte 0x00003c98 thumb_func_end sub_8046BDC diff --git a/asm/diploma.s b/asm/diploma.s index 7a73ccd98..3994b228d 100644 --- a/asm/diploma.s +++ b/asm/diploma.s @@ -210,7 +210,7 @@ _080F4D9A: beq _080F4DD6 b _080F4DC2 _080F4DA8: - ldr r0, _080F4DCC @ =gUnknown_30030F0 + ldr r0, _080F4DCC @ =gMain ldrh r0, [r0, 0x2E] ands r1, r0 cmp r1, 0 @@ -229,7 +229,7 @@ _080F4DC2: strb r0, [r1] b _080F4DD6 .align 2, 0 -_080F4DCC: .4byte gUnknown_30030F0 +_080F4DCC: .4byte gMain _080F4DD0: adds r0, r2, 0 bl sub_80F4DE0 @@ -514,7 +514,7 @@ sub_80F5018: @ 80F5018 push {r4-r6,lr} sub sp, 0xAC bl UnkTextUtil_Reset - ldr r0, _080F5040 @ =gUnknown_300500C + ldr r0, _080F5040 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 bl UnkTextUtil_SetPtrI @@ -527,7 +527,7 @@ sub_80F5018: @ 80F5018 bl UnkTextUtil_SetPtrI b _080F5050 .align 2, 0 -_080F5040: .4byte gUnknown_300500C +_080F5040: .4byte gSaveBlock2Ptr _080F5044: .4byte gUnknown_841B68F _080F5048: ldr r1, _080F50E0 @ =gUnknown_841B698 diff --git a/asm/easy_chat.s b/asm/easy_chat.s index 60d0b4e9c..4a5032729 100644 --- a/asm/easy_chat.s +++ b/asm/easy_chat.s @@ -513,17 +513,17 @@ _080BDA94: beq _080BDAEC b _080BDB08 _080BDA9E: - ldr r0, _080BDAAC @ =gUnknown_3005008 + ldr r0, _080BDAAC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080BDAB0 @ =0x00002ca0 adds r5, r0, r1 movs r2, 0x2 b _080BDAF6 .align 2, 0 -_080BDAAC: .4byte gUnknown_3005008 +_080BDAAC: .4byte gSaveBlock1Ptr _080BDAB0: .4byte 0x00002ca0 _080BDAB4: - ldr r0, _080BDAD4 @ =gUnknown_3005008 + ldr r0, _080BDAD4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080BDAD8 @ =0x00002cac adds r5, r0, r1 @@ -539,18 +539,18 @@ _080BDAB4: movs r3, 0x3 b _080BDAF8 .align 2, 0 -_080BDAD4: .4byte gUnknown_3005008 +_080BDAD4: .4byte gSaveBlock1Ptr _080BDAD8: .4byte 0x00002cac _080BDADC: - ldr r0, _080BDAE4 @ =gUnknown_3005008 + ldr r0, _080BDAE4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080BDAE8 @ =0x00002cb8 b _080BDAF2 .align 2, 0 -_080BDAE4: .4byte gUnknown_3005008 +_080BDAE4: .4byte gSaveBlock1Ptr _080BDAE8: .4byte 0x00002cb8 _080BDAEC: - ldr r0, _080BDB10 @ =gUnknown_3005008 + ldr r0, _080BDB10 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080BDB14 @ =0x00002cc4 _080BDAF2: @@ -571,7 +571,7 @@ _080BDB08: pop {r0} bx r0 .align 2, 0 -_080BDB10: .4byte gUnknown_3005008 +_080BDB10: .4byte gSaveBlock1Ptr _080BDB14: .4byte 0x00002cc4 _080BDB18: .4byte gUnknown_2021D18 thumb_func_end sub_80BDA7C @@ -607,7 +607,7 @@ sub_80BDB48: @ 80BDB48 lsls r1, 19 ands r1, r0 lsrs r1, 24 - ldr r0, _080BDB68 @ =gUnknown_3005008 + ldr r0, _080BDB68 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r3, _080BDB6C @ =0x00002f10 adds r0, r3 @@ -618,7 +618,7 @@ sub_80BDB48: @ 80BDB48 ands r0, r1 bx lr .align 2, 0 -_080BDB68: .4byte gUnknown_3005008 +_080BDB68: .4byte gSaveBlock1Ptr _080BDB6C: .4byte 0x00002f10 thumb_func_end sub_80BDB48 @@ -632,7 +632,7 @@ sub_80BDB70: @ 80BDB70 lsrs r3, r0, 27 movs r2, 0x7 ands r2, r1 - ldr r0, _080BDB98 @ =gUnknown_3005008 + ldr r0, _080BDB98 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _080BDB9C @ =0x00002f10 adds r1, r0 @@ -646,7 +646,7 @@ _080BDB94: pop {r0} bx r0 .align 2, 0 -_080BDB98: .4byte gUnknown_3005008 +_080BDB98: .4byte gSaveBlock1Ptr _080BDB9C: .4byte 0x00002f10 thumb_func_end sub_80BDB70 @@ -872,7 +872,7 @@ _080BDD30: .4byte 0x0000ffff sub_80BDD34: @ 80BDD34 push {r4-r7,lr} movs r4, 0 - ldr r5, _080BDE00 @ =gUnknown_3005008 + ldr r5, _080BDE00 @ =gSaveBlock1Ptr ldr r3, _080BDE04 @ =0x00002ca0 ldr r2, _080BDE08 @ =gUnknown_83EDFF0 _080BDD3E: @@ -889,7 +889,7 @@ _080BDD3E: cmp r4, 0x3 bls _080BDD3E movs r4, 0 - ldr r5, _080BDE00 @ =gUnknown_3005008 + ldr r5, _080BDE00 @ =gSaveBlock1Ptr ldr r3, _080BDE0C @ =0x00002cac ldr r2, _080BDE10 @ =gUnknown_83EDFF8 _080BDD5E: @@ -906,7 +906,7 @@ _080BDD5E: cmp r4, 0x5 bls _080BDD5E movs r4, 0 - ldr r0, _080BDE00 @ =gUnknown_3005008 + ldr r0, _080BDE00 @ =gSaveBlock1Ptr mov r12, r0 ldr r7, _080BDE14 @ =0x00002cb8 ldr r0, _080BDE18 @ =0x0000ffff @@ -932,7 +932,7 @@ _080BDD84: cmp r4, 0x5 bls _080BDD84 movs r4, 0 - ldr r7, _080BDE00 @ =gUnknown_3005008 + ldr r7, _080BDE00 @ =gSaveBlock1Ptr ldr r6, _080BDE20 @ =0x00002cd0 ldr r0, _080BDE18 @ =0x0000ffff adds r5, r0, 0 @@ -961,7 +961,7 @@ _080BDDBA: cmp r4, 0xF bls _080BDDB2 movs r4, 0 - ldr r3, _080BDE00 @ =gUnknown_3005008 + ldr r3, _080BDE00 @ =gSaveBlock1Ptr ldr r2, _080BDE24 @ =0x00002f10 movs r1, 0 _080BDDE6: @@ -978,7 +978,7 @@ _080BDDE6: pop {r0} bx r0 .align 2, 0 -_080BDE00: .4byte gUnknown_3005008 +_080BDE00: .4byte gSaveBlock1Ptr _080BDE04: .4byte 0x00002ca0 _080BDE08: .4byte gUnknown_83EDFF0 _080BDE0C: .4byte 0x00002cac diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index 4a0b4ea45..94e977b3a 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -292,7 +292,7 @@ sub_8046E34: @ 8046E34 adds r4, 0x74 cmp r0, 0 bne _08046E74 - ldr r0, _08046E90 @ =gUnknown_300500C + ldr r0, _08046E90 @ =gSaveBlock2Ptr ldr r0, [r0] adds r1, r4, 0 bl StringCompare @@ -311,7 +311,7 @@ _08046E74: movs r0, 0x1 b _08046EA2 .align 2, 0 -_08046E90: .4byte gUnknown_300500C +_08046E90: .4byte gSaveBlock2Ptr _08046E94: .4byte gUnknown_2021CD0 _08046E98: .4byte gUnknown_2021CF0 _08046E9C: .4byte gUnknown_2021D04 @@ -327,7 +327,7 @@ _08046EA2: thumb_func_start sub_8046EAC sub_8046EAC: @ 8046EAC push {lr} - ldr r0, _08046EC8 @ =gUnknown_3005008 + ldr r0, _08046EC8 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xBE lsls r1, 6 @@ -340,7 +340,7 @@ sub_8046EAC: @ 8046EAC pop {r1} bx r1 .align 2, 0 -_08046EC8: .4byte gUnknown_3005008 +_08046EC8: .4byte gSaveBlock1Ptr _08046ECC: .4byte gUnknown_20370C0 thumb_func_end sub_8046EAC @@ -528,7 +528,7 @@ _08047040: .4byte sub_807DD24 CB2_EggHatch_0: @ 8047044 push {r4,lr} sub sp, 0x4 - ldr r0, _08047064 @ =gUnknown_30030F0 + ldr r0, _08047064 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -543,7 +543,7 @@ _08047058: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08047064: .4byte gUnknown_30030F0 +_08047064: .4byte gMain _08047068: .4byte _0804706C .align 2, 0 _0804706C: @@ -732,7 +732,7 @@ _08047214: movs r0, 0x1 bl CopyBgTilemapBufferToVram _0804724A: - ldr r1, _08047268 @ =gUnknown_30030F0 + ldr r1, _08047268 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -744,7 +744,7 @@ _0804724A: _0804725C: .4byte gUnknown_8EAEA20 _08047260: .4byte gUnknown_8EAEA80 _08047264: .4byte gUnknown_826601C -_08047268: .4byte gUnknown_30030F0 +_08047268: .4byte gMain _0804726C: ldr r0, _08047298 @ =sub_8047338 bl SetMainCallback2 diff --git a/asm/event_data.s b/asm/event_data.s index 456df7644..e2758639f 100644 --- a/asm/event_data.s +++ b/asm/event_data.s @@ -8,7 +8,7 @@ thumb_func_start sub_806E0D0 sub_806E0D0: @ 806E0D0 push {r4,lr} - ldr r4, _0806E108 @ =gUnknown_3005008 + ldr r4, _0806E108 @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xEE lsls r1, 4 @@ -33,14 +33,14 @@ sub_806E0D0: @ 806E0D0 pop {r0} bx r0 .align 2, 0 -_0806E108: .4byte gUnknown_3005008 +_0806E108: .4byte gSaveBlock1Ptr _0806E10C: .4byte gUnknown_20370E0 thumb_func_end sub_806E0D0 thumb_func_start sub_806E110 sub_806E110: @ 806E110 push {lr} - ldr r0, _0806E150 @ =gUnknown_3005008 + ldr r0, _0806E150 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xEE lsls r1, 4 @@ -66,7 +66,7 @@ sub_806E110: @ 806E110 pop {r0} bx r0 .align 2, 0 -_0806E150: .4byte gUnknown_3005008 +_0806E150: .4byte gSaveBlock1Ptr _0806E154: .4byte 0x00000803 _0806E158: .4byte 0x00000804 _0806E15C: .4byte 0x00000805 @@ -79,7 +79,7 @@ sub_806E168: @ 806E168 push {lr} ldr r0, _0806E184 @ =0x0000403c bl sub_806E454 - ldr r1, _0806E188 @ =gUnknown_300500C + ldr r1, _0806E188 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0 strb r1, [r2, 0x1A] @@ -90,7 +90,7 @@ sub_806E168: @ 806E168 bx r0 .align 2, 0 _0806E184: .4byte 0x0000403c -_0806E188: .4byte gUnknown_300500C +_0806E188: .4byte gSaveBlock2Ptr _0806E18C: .4byte 0x00000838 thumb_func_end sub_806E168 @@ -99,7 +99,7 @@ sub_806E190: @ 806E190 push {lr} ldr r0, _0806E1B0 @ =0x0000403c bl sub_806E454 - ldr r1, _0806E1B4 @ =gUnknown_300500C + ldr r1, _0806E1B4 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0xDA strb r1, [r2, 0x1A] @@ -112,7 +112,7 @@ sub_806E190: @ 806E190 bx r0 .align 2, 0 _0806E1B0: .4byte 0x0000403c -_0806E1B4: .4byte gUnknown_300500C +_0806E1B4: .4byte gSaveBlock2Ptr _0806E1B8: .4byte 0x00000302 _0806E1BC: .4byte 0x00000838 thumb_func_end sub_806E190 @@ -120,7 +120,7 @@ _0806E1BC: .4byte 0x00000838 thumb_func_start sub_806E1C0 sub_806E1C0: @ 806E1C0 push {lr} - ldr r0, _0806E1EC @ =gUnknown_300500C + ldr r0, _0806E1EC @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x1A] cmp r0, 0xDA @@ -139,7 +139,7 @@ sub_806E1C0: @ 806E1C0 movs r0, 0x1 b _0806E1FE .align 2, 0 -_0806E1EC: .4byte gUnknown_300500C +_0806E1EC: .4byte gSaveBlock2Ptr _0806E1F0: .4byte 0x0000403c _0806E1F4: .4byte 0x03020000 _0806E1F8: .4byte 0x00000838 @@ -155,7 +155,7 @@ sub_806E204: @ 806E204 push {lr} ldr r0, _0806E224 @ =0x0000404e bl sub_806E454 - ldr r1, _0806E228 @ =gUnknown_300500C + ldr r1, _0806E228 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0 strb r1, [r2, 0x1B] @@ -167,7 +167,7 @@ sub_806E204: @ 806E204 bx r0 .align 2, 0 _0806E224: .4byte 0x0000404e -_0806E228: .4byte gUnknown_300500C +_0806E228: .4byte gSaveBlock2Ptr thumb_func_end sub_806E204 thumb_func_start sub_806E22C @@ -175,7 +175,7 @@ sub_806E22C: @ 806E22C push {lr} ldr r0, _0806E250 @ =0x0000404e bl sub_806E454 - ldr r1, _0806E254 @ =gUnknown_300500C + ldr r1, _0806E254 @ =gSaveBlock2Ptr ldr r2, [r1] movs r1, 0xB9 strb r1, [r2, 0x1B] @@ -189,14 +189,14 @@ sub_806E22C: @ 806E22C bx r0 .align 2, 0 _0806E250: .4byte 0x0000404e -_0806E254: .4byte gUnknown_300500C +_0806E254: .4byte gSaveBlock2Ptr _0806E258: .4byte 0x00006258 thumb_func_end sub_806E22C thumb_func_start sub_806E25C sub_806E25C: @ 806E25C push {lr} - ldr r0, _0806E288 @ =gUnknown_300500C + ldr r0, _0806E288 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x1B] cmp r0, 0xB9 @@ -216,7 +216,7 @@ sub_806E25C: @ 806E25C movs r0, 0x1 b _0806E296 .align 2, 0 -_0806E288: .4byte gUnknown_300500C +_0806E288: .4byte gSaveBlock2Ptr _0806E28C: .4byte 0x0000404e _0806E290: .4byte 0x62580000 _0806E294: @@ -454,7 +454,7 @@ _0806E488: adds r2, r0, 0 cmp r2, 0 beq _0806E4EE - ldr r0, _0806E4B0 @ =gUnknown_3005008 + ldr r0, _0806E4B0 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r3, _0806E4B4 @ =0xffffc000 adds r0, r4, r3 @@ -467,7 +467,7 @@ _0806E488: strh r0, [r1] b _0806E4EE .align 2, 0 -_0806E4B0: .4byte gUnknown_3005008 +_0806E4B0: .4byte gSaveBlock1Ptr _0806E4B4: .4byte 0xffffc000 _0806E4B8: ldr r0, _0806E4FC @ =0xffffc000 @@ -482,7 +482,7 @@ _0806E4B8: bne _0806E4EE ldr r0, _0806E500 @ =gUnknown_300507C strh r5, [r0] - ldr r0, _0806E504 @ =gUnknown_3005008 + ldr r0, _0806E504 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0806E4FC @ =0xffffc000 adds r0, r4, r2 @@ -496,7 +496,7 @@ _0806E4B8: adds r1, r4, 0 bl sub_8112DB0 _0806E4EE: - ldr r0, _0806E504 @ =gUnknown_3005008 + ldr r0, _0806E504 @ =gSaveBlock1Ptr lsls r1, r6, 1 ldr r2, _0806E508 @ =0xffff9000 adds r1, r2 @@ -506,7 +506,7 @@ _0806E4EE: .align 2, 0 _0806E4FC: .4byte 0xffffc000 _0806E500: .4byte gUnknown_300507C -_0806E504: .4byte gUnknown_3005008 +_0806E504: .4byte gSaveBlock1Ptr _0806E508: .4byte 0xffff9000 _0806E50C: ldr r0, _0806E520 @ =gUnknown_815FD0C @@ -653,7 +653,7 @@ _0806E5F0: adds r2, r0, 0 cmp r2, 0 beq _0806E644 - ldr r0, _0806E614 @ =gUnknown_3005008 + ldr r0, _0806E614 @ =gSaveBlock1Ptr ldr r0, [r0] lsrs r1, r5, 19 movs r3, 0xEE @@ -664,7 +664,7 @@ _0806E5F0: strb r1, [r0] b _0806E644 .align 2, 0 -_0806E614: .4byte gUnknown_3005008 +_0806E614: .4byte gSaveBlock1Ptr _0806E618: adds r0, r4, 0 movs r1, 0 @@ -675,7 +675,7 @@ _0806E618: bne _0806E644 ldr r0, _0806E654 @ =gUnknown_300507C strh r4, [r0] - ldr r0, _0806E658 @ =gUnknown_3005008 + ldr r0, _0806E658 @ =gSaveBlock1Ptr ldr r0, [r0] lsrs r1, r5, 19 movs r2, 0xEE @@ -687,7 +687,7 @@ _0806E618: adds r1, r4, 0 bl sub_8112DB0 _0806E644: - ldr r0, _0806E658 @ =gUnknown_3005008 + ldr r0, _0806E658 @ =gSaveBlock1Ptr lsrs r1, r6, 3 movs r3, 0xEE lsls r3, 4 @@ -696,7 +696,7 @@ _0806E644: b _0806E66C .align 2, 0 _0806E654: .4byte gUnknown_300507C -_0806E658: .4byte gUnknown_3005008 +_0806E658: .4byte gSaveBlock1Ptr _0806E65C: ldr r1, _0806E674 @ =0xffffc000 adds r0, r6, r1 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index 6b1eb99b0..a0a122cc6 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -648,7 +648,7 @@ CB2_TradeEvolutionSceneLoadGraphics: @ 80CE2DC ldr r1, _080CE320 @ =gUnknown_2024284 adds r4, r2, r1 ldrh r6, [r0, 0xC] - ldr r0, _080CE324 @ =gUnknown_30030F0 + ldr r0, _080CE324 @ =gMain movs r3, 0x87 lsls r3, 3 adds r0, r3 @@ -666,7 +666,7 @@ _080CE30E: _080CE318: .4byte gUnknown_3005090 _080CE31C: .4byte gUnknown_2039A20 _080CE320: .4byte gUnknown_2024284 -_080CE324: .4byte gUnknown_30030F0 +_080CE324: .4byte gMain _080CE328: .4byte _080CE32C .align 2, 0 _080CE32C: @@ -728,7 +728,7 @@ _080CE3BC: bl SetHBlankCallback ldr r0, _080CE3DC @ =sub_80D00D8 bl SetVBlankCallback - ldr r1, _080CE3E0 @ =gUnknown_30030F0 + ldr r1, _080CE3E0 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 @@ -736,7 +736,7 @@ _080CE3BC: .align 2, 0 _080CE3D8: .4byte nullsub_76 _080CE3DC: .4byte sub_80D00D8 -_080CE3E0: .4byte gUnknown_30030F0 +_080CE3E0: .4byte gMain _080CE3E4: bl sub_80544FC b _080CE4EC @@ -753,13 +753,13 @@ _080CE3EA: bl FillBgTilemapBufferRect movs r0, 0x1 bl CopyBgTilemapBufferToVram - ldr r1, _080CE410 @ =gUnknown_30030F0 + ldr r1, _080CE410 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _080CE4F4 .align 2, 0 -_080CE410: .4byte gUnknown_30030F0 +_080CE410: .4byte gMain _080CE414: adds r0, r4, 0 movs r1, 0x1 @@ -822,7 +822,7 @@ _080CE45C: movs r2, 0x20 orrs r0, r2 strb r0, [r1, 0x5] - ldr r1, _080CE4C8 @ =gUnknown_30030F0 + ldr r1, _080CE4C8 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 @@ -837,7 +837,7 @@ _080CE4B8: .4byte gUnknown_8231CFC _080CE4BC: .4byte gUnknown_2039A20 _080CE4C0: .4byte gUnknown_202063C _080CE4C4: .4byte nullsub_10 -_080CE4C8: .4byte gUnknown_30030F0 +_080CE4C8: .4byte gMain _080CE4CC: ldr r0, _080CE4FC @ =gUnknown_3003F3C ldrb r0, [r0] @@ -854,7 +854,7 @@ _080CE4E0: movs r2, 0 bl BlendPalettes _080CE4EC: - ldr r1, _080CE500 @ =gUnknown_30030F0 + ldr r1, _080CE500 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -865,7 +865,7 @@ _080CE4F4: b _080CE534 .align 2, 0 _080CE4FC: .4byte gUnknown_3003F3C -_080CE500: .4byte gUnknown_30030F0 +_080CE500: .4byte gMain _080CE504: movs r0, 0x1 negs r0, r0 @@ -1351,7 +1351,7 @@ _080CE93C: .4byte gUnknown_3005090 _080CE940: .4byte gUnknown_2024284 _080CE944: .4byte gUnknown_2023E82 _080CE948: - ldr r0, _080CE9A0 @ =gUnknown_30030F0 + ldr r0, _080CE9A0 @ =gMain ldrh r1, [r0, 0x2C] ldr r3, _080CE9A4 @ =gUnknown_3005090 mov r10, r3 @@ -1393,7 +1393,7 @@ _080CE948: bl sub_80D04A8 bl _080CF528 .align 2, 0 -_080CE9A0: .4byte gUnknown_30030F0 +_080CE9A0: .4byte gMain _080CE9A4: .4byte gUnknown_3005090 _080CE9A8: .4byte gUnknown_2023E82 _080CE9AC: @@ -2310,7 +2310,7 @@ _080CF1B0: .4byte gUnknown_3005090 _080CF1B4: .4byte gUnknown_83FE791 _080CF1B8: .4byte gUnknown_2023E82 _080CF1BC: - ldr r0, _080CF244 @ =gUnknown_30030F0 + ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -2327,7 +2327,7 @@ _080CF1BC: strb r0, [r4, 0x1] bl sub_802DCB8 _080CF1E2: - ldr r0, _080CF244 @ =gUnknown_30030F0 + ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -2344,7 +2344,7 @@ _080CF1E2: strb r0, [r4, 0x1] bl sub_802DCB8 _080CF208: - ldr r0, _080CF244 @ =gUnknown_30030F0 + ldr r0, _080CF244 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -2372,7 +2372,7 @@ _080CF208: strh r0, [r1, 0x14] b _080CF276 .align 2, 0 -_080CF244: .4byte gUnknown_30030F0 +_080CF244: .4byte gMain _080CF248: .4byte gUnknown_2023E82 _080CF24C: .4byte gUnknown_3005090 _080CF250: @@ -2395,7 +2395,7 @@ _080CF250: movs r3, 0x10 bl BeginNormalPaletteFade _080CF276: - ldr r0, _080CF2B0 @ =gUnknown_30030F0 + ldr r0, _080CF2B0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2422,7 +2422,7 @@ _080CF284: b _080CF528 .align 2, 0 _080CF2AC: .4byte gUnknown_3005090 -_080CF2B0: .4byte gUnknown_30030F0 +_080CF2B0: .4byte gMain _080CF2B4: ldr r0, _080CF2F4 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -3740,7 +3740,7 @@ _080CFE30: beq _080CFE3E b _080D003A _080CFE3E: - ldr r0, _080CFE68 @ =gUnknown_30030F0 + ldr r0, _080CFE68 @ =gMain ldr r1, [r0, 0x4] ldr r0, _080CFE6C @ =sub_80CE72C cmp r1, r0 @@ -3760,7 +3760,7 @@ _080CFE4A: b _080D0038 .align 2, 0 _080CFE64: .4byte gUnknown_2037AB8 -_080CFE68: .4byte gUnknown_30030F0 +_080CFE68: .4byte gMain _080CFE6C: .4byte sub_80CE72C _080CFE70: .4byte gUnknown_3005090 _080CFE74: diff --git a/asm/fame_checker.s b/asm/fame_checker.s index af3959b5e..e3559bcc1 100644 --- a/asm/fame_checker.s +++ b/asm/fame_checker.s @@ -68,7 +68,7 @@ sub_812C3F8: @ 812C3F8 mov r6, r8 push {r6} sub sp, 0xC - ldr r0, _0812C41C @ =gUnknown_30030F0 + ldr r0, _0812C41C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -83,7 +83,7 @@ _0812C410: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0812C41C: .4byte gUnknown_30030F0 +_0812C41C: .4byte gMain _0812C420: .4byte _0812C424 .align 2, 0 _0812C424: @@ -245,7 +245,7 @@ _0812C5A0: movs r3, 0 bl BeginNormalPaletteFade _0812C5BE: - ldr r1, _0812C5D0 @ =gUnknown_30030F0 + ldr r1, _0812C5D0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -254,7 +254,7 @@ _0812C5BE: strb r0, [r1] b _0812C626 .align 2, 0 -_0812C5D0: .4byte gUnknown_30030F0 +_0812C5D0: .4byte gMain _0812C5D4: bl sub_812D584 movs r1, 0xFD @@ -283,7 +283,7 @@ _0812C5D4: bl CreateTask ldr r0, _0812C640 @ =sub_812C394 bl SetMainCallback2 - ldr r0, _0812C644 @ =gUnknown_30030F0 + ldr r0, _0812C644 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -300,7 +300,7 @@ _0812C634: .4byte sub_812C380 _0812C638: .4byte gUnknown_203B0FC _0812C63C: .4byte sub_812C664 _0812C640: .4byte sub_812C394 -_0812C644: .4byte gUnknown_30030F0 +_0812C644: .4byte gMain thumb_func_end sub_812C3F8 thumb_func_start sub_812C648 @@ -369,7 +369,7 @@ sub_812C694: @ 812C694 b _0812C8EA _0812C6C0: bl sub_8002DE8 - ldr r0, _0812C71C @ =gUnknown_30030F0 + ldr r0, _0812C71C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -388,7 +388,7 @@ _0812C6C0: beq _0812C6E8 b _0812C8DA _0812C6E8: - ldr r0, _0812C71C @ =gUnknown_30030F0 + ldr r0, _0812C71C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x8 ands r0, r1 @@ -409,7 +409,7 @@ _0812C6E8: .align 2, 0 _0812C714: .4byte gUnknown_3005090 _0812C718: .4byte sub_812E110 -_0812C71C: .4byte gUnknown_30030F0 +_0812C71C: .4byte gMain _0812C720: .4byte gUnknown_203B0FC _0812C724: .4byte sub_8107EB8 _0812C728: @@ -880,7 +880,7 @@ sub_812CAD8: @ 812CAD8 adds r0, 0x8 adds r6, r1, r0 bl sub_8002DE8 - ldr r0, _0812CBA0 @ =gUnknown_30030F0 + ldr r0, _0812CBA0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -910,7 +910,7 @@ sub_812CAD8: @ 812CAD8 adds r0, r4, 0 bl sub_812CE04 _0812CB2E: - ldr r0, _0812CBA0 @ =gUnknown_30030F0 + ldr r0, _0812CBA0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -960,7 +960,7 @@ _0812CB80: b _0812CC62 .align 2, 0 _0812CB9C: .4byte gUnknown_3005090 -_0812CBA0: .4byte gUnknown_30030F0 +_0812CBA0: .4byte gMain _0812CBA4: .4byte gUnknown_203B0FC _0812CBA8: .4byte gUnknown_202063C _0812CBAC: .4byte sub_812D764 @@ -1176,7 +1176,7 @@ sub_812CD3C: @ 812CD3C lsls r0, 16 lsrs r0, 16 adds r6, r0, 0 - ldr r0, _0812CD7C @ =gUnknown_3005008 + ldr r0, _0812CD7C @ =gSaveBlock1Ptr ldr r1, [r0] ldr r7, _0812CD80 @ =gUnknown_203B0FC ldr r0, [r7] @@ -1196,7 +1196,7 @@ sub_812CD3C: @ 812CD3C bl sub_812C990 b _0812CDEE .align 2, 0 -_0812CD7C: .4byte gUnknown_3005008 +_0812CD7C: .4byte gSaveBlock1Ptr _0812CD80: .4byte gUnknown_203B0FC _0812CD84: .4byte 0x00003a54 _0812CD88: @@ -1720,7 +1720,7 @@ sub_812D1A8: @ 812D1A8 movs r6, 0 ldr r7, _0812D238 @ =gUnknown_203B0FC _0812D1BA: - ldr r0, _0812D23C @ =gUnknown_3005008 + ldr r0, _0812D23C @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, [r7] adds r0, 0xC @@ -1781,7 +1781,7 @@ _0812D1BA: b _0812D2A0 .align 2, 0 _0812D238: .4byte gUnknown_203B0FC -_0812D23C: .4byte gUnknown_3005008 +_0812D23C: .4byte gSaveBlock1Ptr _0812D240: .4byte 0x00003a54 _0812D244: .4byte gUnknown_845F83C _0812D248: @@ -1884,7 +1884,7 @@ sub_812D304: @ 812D304 mov r6, r8 push {r6,r7} movs r4, 0 - ldr r0, _0812D378 @ =gUnknown_3005008 + ldr r0, _0812D378 @ =gSaveBlock1Ptr mov r9, r0 mov r6, r9 ldr r5, _0812D37C @ =0x00003a54 @@ -1938,7 +1938,7 @@ _0812D322: pop {r0} bx r0 .align 2, 0 -_0812D378: .4byte gUnknown_3005008 +_0812D378: .4byte gSaveBlock1Ptr _0812D37C: .4byte 0x00003a54 _0812D380: .4byte 0xffffc003 _0812D384: .4byte 0x00003a55 @@ -1953,7 +1953,7 @@ sub_812D388: @ 812D388 push {r5-r7} sub sp, 0x4 movs r5, 0 - ldr r0, _0812D410 @ =gUnknown_3005008 + ldr r0, _0812D410 @ =gSaveBlock1Ptr mov r12, r0 ldr r7, _0812D414 @ =0x00003a54 movs r1, 0x4 @@ -2017,7 +2017,7 @@ _0812D3C8: pop {r0} bx r0 .align 2, 0 -_0812D410: .4byte gUnknown_3005008 +_0812D410: .4byte gSaveBlock1Ptr _0812D414: .4byte 0x00003a54 _0812D418: .4byte 0xffffc003 _0812D41C: .4byte 0x00000fff @@ -2243,7 +2243,7 @@ sub_812D5EC: @ 812D5EC ldrh r0, [r5] cmp r0, 0x5 bhi _0812D632 - ldr r0, _0812D640 @ =gUnknown_3005008 + ldr r0, _0812D640 @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r0, [r1] lsls r0, 2 @@ -2275,7 +2275,7 @@ _0812D632: .align 2, 0 _0812D638: .4byte gUnknown_20370C0 _0812D63C: .4byte gUnknown_20370C2 -_0812D640: .4byte gUnknown_3005008 +_0812D640: .4byte gSaveBlock1Ptr _0812D644: .4byte 0x00003a54 _0812D648: .4byte 0x00000fff _0812D64C: .4byte 0xffffc003 @@ -2295,7 +2295,7 @@ sub_812D650: @ 812D650 bhi _0812D69E cmp r0, 0 beq _0812D69E - ldr r2, _0812D6AC @ =gUnknown_3005008 + ldr r2, _0812D6AC @ =gSaveBlock1Ptr ldrh r3, [r1] cmp r0, 0x1 bne _0812D684 @@ -2330,7 +2330,7 @@ _0812D69E: .align 2, 0 _0812D6A4: .4byte gUnknown_20370C0 _0812D6A8: .4byte gUnknown_20370C2 -_0812D6AC: .4byte gUnknown_3005008 +_0812D6AC: .4byte gSaveBlock1Ptr _0812D6B0: .4byte 0x00003a54 thumb_func_end sub_812D650 @@ -2346,7 +2346,7 @@ sub_812D6B4: @ 812D6B4 adds r4, r0 ldrb r1, [r4] movs r2, 0 - ldr r0, _0812D6F0 @ =gUnknown_3005008 + ldr r0, _0812D6F0 @ =gSaveBlock1Ptr ldr r0, [r0] lsls r1, 2 adds r0, r1 @@ -2365,7 +2365,7 @@ _0812D6DC: b _0812D704 .align 2, 0 _0812D6EC: .4byte gUnknown_203B0FC -_0812D6F0: .4byte gUnknown_3005008 +_0812D6F0: .4byte gSaveBlock1Ptr _0812D6F4: .4byte 0x00003a54 _0812D6F8: adds r0, r2, 0x1 @@ -2697,7 +2697,7 @@ _0812D950: adds r0, r1 ldr r1, _0812D998 @ =sub_812D840 str r1, [r0] - ldr r0, _0812D99C @ =gUnknown_3005008 + ldr r0, _0812D99C @ =gSaveBlock1Ptr ldr r0, [r0] lsls r1, r5, 2 adds r0, r1 @@ -2724,7 +2724,7 @@ _0812D98C: .4byte gUnknown_845F61C _0812D990: .4byte 0x0000ffff _0812D994: .4byte gUnknown_202063C _0812D998: .4byte sub_812D840 -_0812D99C: .4byte gUnknown_3005008 +_0812D99C: .4byte gSaveBlock1Ptr _0812D9A0: .4byte 0x00003a54 _0812D9A4: .4byte gUnknown_845F5C0 thumb_func_end sub_812D888 @@ -3410,7 +3410,7 @@ _0812DF00: bl sub_812D0C0 lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _0812DF4C @ =gUnknown_3005008 + ldr r0, _0812DF4C @ =gSaveBlock1Ptr ldr r0, [r0] lsls r1, r5, 2 adds r0, r1 @@ -3442,7 +3442,7 @@ _0812DF00: .align 2, 0 _0812DF44: .4byte 0x0000fdff _0812DF48: .4byte gUnknown_845F60C -_0812DF4C: .4byte gUnknown_3005008 +_0812DF4C: .4byte gSaveBlock1Ptr _0812DF50: .4byte 0x00003a54 _0812DF54: .4byte gUnknown_845F5EA _0812DF58: .4byte gUnknown_203B100 diff --git a/asm/field_camera.s b/asm/field_camera.s index 255027bbc..5be87081b 100644 --- a/asm/field_camera.s +++ b/asm/field_camera.s @@ -130,7 +130,7 @@ _0805A680: .4byte gUnknown_3000E9A thumb_func_start DrawWholeMapView DrawWholeMapView: @ 805A684 push {lr} - ldr r0, _0805A6A0 @ =gUnknown_3005008 + ldr r0, _0805A6A0 @ =gSaveBlock1Ptr ldr r1, [r0] movs r2, 0 ldrsh r0, [r1, r2] @@ -142,7 +142,7 @@ DrawWholeMapView: @ 805A684 pop {r0} bx r0 .align 2, 0 -_0805A6A0: .4byte gUnknown_3005008 +_0805A6A0: .4byte gSaveBlock1Ptr _0805A6A4: .4byte gUnknown_2036DFC thumb_func_end DrawWholeMapView @@ -290,7 +290,7 @@ _0805A7A6: adds r1, r6, r0 lsls r1, 16 lsrs r1, 16 - ldr r0, _0805A7D4 @ =gUnknown_3005008 + ldr r0, _0805A7D4 @ =gSaveBlock1Ptr ldr r3, [r0] movs r0, 0 ldrsh r2, [r3, r0] @@ -310,7 +310,7 @@ _0805A7A6: pop {r0} bx r0 .align 2, 0 -_0805A7D4: .4byte gUnknown_3005008 +_0805A7D4: .4byte gSaveBlock1Ptr thumb_func_end RedrawMapSliceNorth thumb_func_start RedrawMapSliceSouth @@ -333,7 +333,7 @@ _0805A7E4: lsrs r0, 24 _0805A7F6: adds r1, r6, r0 - ldr r0, _0805A820 @ =gUnknown_3005008 + ldr r0, _0805A820 @ =gSaveBlock1Ptr ldr r3, [r0] movs r0, 0 ldrsh r2, [r3, r0] @@ -352,7 +352,7 @@ _0805A7F6: pop {r0} bx r0 .align 2, 0 -_0805A820: .4byte gUnknown_3005008 +_0805A820: .4byte gSaveBlock1Ptr thumb_func_end RedrawMapSliceSouth thumb_func_start RedrawMapSliceEast @@ -379,7 +379,7 @@ _0805A844: adds r1, r6 lsls r1, 16 lsrs r1, 16 - ldr r0, _0805A878 @ =gUnknown_3005008 + ldr r0, _0805A878 @ =gSaveBlock1Ptr ldr r0, [r0] movs r3, 0 ldrsh r2, [r0, r3] @@ -400,7 +400,7 @@ _0805A844: pop {r0} bx r0 .align 2, 0 -_0805A878: .4byte gUnknown_3005008 +_0805A878: .4byte gSaveBlock1Ptr thumb_func_end RedrawMapSliceEast thumb_func_start RedrawMapSliceWest @@ -437,7 +437,7 @@ _0805A8AE: adds r1, r5 lsls r1, 16 lsrs r1, 16 - ldr r0, _0805A8E4 @ =gUnknown_3005008 + ldr r0, _0805A8E4 @ =gSaveBlock1Ptr ldr r0, [r0] movs r3, 0 ldrsh r2, [r0, r3] @@ -459,7 +459,7 @@ _0805A8AE: pop {r0} bx r0 .align 2, 0 -_0805A8E4: .4byte gUnknown_3005008 +_0805A8E4: .4byte gSaveBlock1Ptr thumb_func_end RedrawMapSliceWest thumb_func_start CurrentMapDrawMetatileAt @@ -729,7 +729,7 @@ _0805AAE4: .4byte gUnknown_3005018 MapPosToBgTilemapOffset: @ 805AAE8 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _0805AB18 @ =gUnknown_3005008 + ldr r0, _0805AB18 @ =gSaveBlock1Ptr ldr r3, [r0] movs r5, 0 ldrsh r0, [r3, r5] @@ -754,7 +754,7 @@ _0805AB12: negs r0, r0 b _0805AB2A .align 2, 0 -_0805AB18: .4byte gUnknown_3005008 +_0805AB18: .4byte gSaveBlock1Ptr _0805AB1C: ldrb r0, [r4, 0x3] adds r2, r0 diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 932258c6f..4add791f3 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1980,7 +1980,7 @@ sub_806D804: @ 806D804 lsls r2, 24 lsrs r5, r2, 24 adds r7, r5, 0 - ldr r0, _0806D840 @ =gUnknown_30030F0 + ldr r0, _0806D840 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x30 ands r0, r1 @@ -2002,7 +2002,7 @@ sub_806D804: @ 806D804 adds r1, r5, 0 b _0806D888 .align 2, 0 -_0806D840: .4byte gUnknown_30030F0 +_0806D840: .4byte gMain _0806D844: .4byte gUnknown_81A76E7 _0806D848: cmp r4, 0x1 @@ -2583,7 +2583,7 @@ _0806DC78: bne _0806DCC4 adds r0, r6, r1 ldrb r0, [r0, 0x5] - ldr r1, _0806DCCC @ =gUnknown_3005008 + ldr r1, _0806DCCC @ =gSaveBlock1Ptr ldr r2, [r1] movs r1, 0x4 ldrsb r1, [r2, r1] @@ -2597,7 +2597,7 @@ _0806DCC4: pop {r0} bx r0 .align 2, 0 -_0806DCCC: .4byte gUnknown_3005008 +_0806DCCC: .4byte gSaveBlock1Ptr thumb_func_end sub_806DC54 thumb_func_start sub_806DCD0 @@ -2805,7 +2805,7 @@ sub_806DE28: @ 806DE28 movs r0, 0x25 bl sub_80722CC ldrb r0, [r5, 0x8] - ldr r4, _0806DE6C @ =gUnknown_3005008 + ldr r4, _0806DE6C @ =gSaveBlock1Ptr ldr r2, [r4] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2823,7 +2823,7 @@ _0806DE64: pop {r0} bx r0 .align 2, 0 -_0806DE6C: .4byte gUnknown_3005008 +_0806DE6C: .4byte gSaveBlock1Ptr thumb_func_end sub_806DE28 thumb_func_start sub_806DE70 diff --git a/asm/field_effect.s b/asm/field_effect.s index f7ae6897b..5433dfe60 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -5880,7 +5880,7 @@ sub_8086110: @ 8086110 strh r0, [r4, 0x20] adds r0, r4, 0 adds r0, 0x22 - ldr r1, _08086170 @ =gUnknown_30030F0 + ldr r1, _08086170 @ =gMain ldr r1, [r1, 0xC] bl StoreWordInTwoHalfwords ldr r1, _08086174 @ =0x0000f0f1 @@ -5911,7 +5911,7 @@ sub_8086110: @ 8086110 pop {r0} bx r0 .align 2, 0 -_08086170: .4byte gUnknown_30030F0 +_08086170: .4byte gMain _08086174: .4byte 0x0000f0f1 _08086178: .4byte 0x00005051 _0808617C: .4byte sub_80863C0 @@ -6330,7 +6330,7 @@ sub_8086498: @ 8086498 bl SetGpuReg adds r0, r4, 0 adds r0, 0x22 - ldr r1, _080864CC @ =gUnknown_30030F0 + ldr r1, _080864CC @ =gMain ldr r1, [r1, 0xC] bl StoreWordInTwoHalfwords ldr r0, _080864D0 @ =sub_80866E0 @@ -6342,7 +6342,7 @@ sub_8086498: @ 8086498 pop {r0} bx r0 .align 2, 0 -_080864CC: .4byte gUnknown_30030F0 +_080864CC: .4byte gMain _080864D0: .4byte sub_80866E0 thumb_func_end sub_8086498 @@ -7880,7 +7880,7 @@ sub_808706C: @ 808706C lsls r0, 2 ldr r4, _0808710C @ =gUnknown_202063C adds r0, r4 - ldr r1, _08087110 @ =gUnknown_300500C + ldr r1, _08087110 @ =gSaveBlock2Ptr ldr r1, [r1] ldrb r1, [r1, 0x8] lsls r1, 1 @@ -7917,7 +7917,7 @@ _080870FC: _08087104: .4byte gUnknown_2037078 _08087108: .4byte gUnknown_2036E38 _0808710C: .4byte gUnknown_202063C -_08087110: .4byte gUnknown_300500C +_08087110: .4byte gSaveBlock2Ptr _08087114: .4byte sub_8087828 thumb_func_end sub_808706C @@ -8088,7 +8088,7 @@ sub_8087220: @ 8087220 adds r0, r4, 0 movs r1, 0 bl StartSpriteAffineAnim - ldr r0, _08087260 @ =gUnknown_300500C + ldr r0, _08087260 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -8097,7 +8097,7 @@ sub_8087220: @ 8087220 b _08087266 .align 2, 0 _0808725C: .4byte gUnknown_83CC1CC -_08087260: .4byte gUnknown_300500C +_08087260: .4byte gSaveBlock2Ptr _08087264: movs r0, 0x76 _08087266: @@ -8255,7 +8255,7 @@ sub_8087364: @ 8087364 adds r0, r4, 0 movs r1, 0x1 bl StartSpriteAffineAnim - ldr r0, _080873A4 @ =gUnknown_300500C + ldr r0, _080873A4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -8264,7 +8264,7 @@ sub_8087364: @ 8087364 b _080873AA .align 2, 0 _080873A0: .4byte gUnknown_83CC1CC -_080873A4: .4byte gUnknown_300500C +_080873A4: .4byte gSaveBlock2Ptr _080873A8: movs r0, 0x64 _080873AA: @@ -8500,7 +8500,7 @@ _0808751A: adds r0, r1 lsls r0, 2 adds r0, r4 - ldr r1, _080875C0 @ =gUnknown_300500C + ldr r1, _080875C0 @ =gSaveBlock2Ptr ldr r1, [r1] ldrb r1, [r1, 0x8] lsls r1, 25 @@ -8534,7 +8534,7 @@ _080875AE: _080875B4: .4byte gUnknown_2037078 _080875B8: .4byte gUnknown_2036E38 _080875BC: .4byte gUnknown_202063C -_080875C0: .4byte gUnknown_300500C +_080875C0: .4byte gSaveBlock2Ptr _080875C4: .4byte sub_8087828 thumb_func_end sub_80874C8 diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index c70033cc8..2b1ca9bc8 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -851,7 +851,7 @@ unc_grass_normal: @ 80DB3EC ands r0, r1 cmp r0, 0 beq _080DB438 - ldr r0, _080DB49C @ =gUnknown_3005008 + ldr r0, _080DB49C @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0x5 ldrsb r0, [r2, r0] @@ -922,7 +922,7 @@ _080DB48C: b _080DB4E4 .align 2, 0 _080DB498: .4byte gUnknown_2036E18 -_080DB49C: .4byte gUnknown_3005008 +_080DB49C: .4byte gSaveBlock1Ptr _080DB4A0: mov r0, sp ldrb r1, [r0] @@ -1202,7 +1202,7 @@ unc_grass_tall: @ 80DB69C ands r0, r1 cmp r0, 0 beq _080DB6E8 - ldr r0, _080DB74C @ =gUnknown_3005008 + ldr r0, _080DB74C @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0x5 ldrsb r0, [r2, r0] @@ -1273,7 +1273,7 @@ _080DB73C: b _080DB786 .align 2, 0 _080DB748: .4byte gUnknown_2036E18 -_080DB74C: .4byte gUnknown_3005008 +_080DB74C: .4byte gSaveBlock1Ptr _080DB750: mov r0, sp ldrb r1, [r0] diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s index 9bcaa32d5..7bfe0772b 100644 --- a/asm/field_ground_effect.s +++ b/asm/field_ground_effect.s @@ -1158,7 +1158,7 @@ GroundEffect_SpawnOnTallGrass: @ 806837C str r1, [r3, 0x10] ldrb r0, [r0, 0xA] str r0, [r3, 0x14] - ldr r0, _080683C4 @ =gUnknown_3005008 + ldr r0, _080683C4 @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r0, [r1, 0x5] lsls r0, 8 @@ -1173,7 +1173,7 @@ GroundEffect_SpawnOnTallGrass: @ 806837C bx r0 .align 2, 0 _080683C0: .4byte gUnknown_20386E0 -_080683C4: .4byte gUnknown_3005008 +_080683C4: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_SpawnOnTallGrass thumb_func_start GroundEffect_StepOnTallGrass @@ -1198,7 +1198,7 @@ GroundEffect_StepOnTallGrass: @ 80683C8 str r1, [r3, 0x10] ldrb r0, [r0, 0xA] str r0, [r3, 0x14] - ldr r0, _08068410 @ =gUnknown_3005008 + ldr r0, _08068410 @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r0, [r1, 0x5] lsls r0, 8 @@ -1213,7 +1213,7 @@ GroundEffect_StepOnTallGrass: @ 80683C8 bx r0 .align 2, 0 _0806840C: .4byte gUnknown_20386E0 -_08068410: .4byte gUnknown_3005008 +_08068410: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_StepOnTallGrass thumb_func_start GroundEffect_SpawnOnLongGrass @@ -1238,7 +1238,7 @@ GroundEffect_SpawnOnLongGrass: @ 8068414 str r1, [r3, 0x10] ldrb r0, [r0, 0xA] str r0, [r3, 0x14] - ldr r0, _0806845C @ =gUnknown_3005008 + ldr r0, _0806845C @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r0, [r1, 0x5] lsls r0, 8 @@ -1253,7 +1253,7 @@ GroundEffect_SpawnOnLongGrass: @ 8068414 bx r0 .align 2, 0 _08068458: .4byte gUnknown_20386E0 -_0806845C: .4byte gUnknown_3005008 +_0806845C: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_SpawnOnLongGrass thumb_func_start GroundEffect_StepOnLongGrass @@ -1278,7 +1278,7 @@ GroundEffect_StepOnLongGrass: @ 8068460 str r1, [r3, 0x10] ldrb r0, [r0, 0xA] str r0, [r3, 0x14] - ldr r0, _080684A8 @ =gUnknown_3005008 + ldr r0, _080684A8 @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r0, [r1, 0x5] lsls r0, 8 @@ -1293,7 +1293,7 @@ GroundEffect_StepOnLongGrass: @ 8068460 bx r0 .align 2, 0 _080684A4: .4byte gUnknown_20386E0 -_080684A8: .4byte gUnknown_3005008 +_080684A8: .4byte gSaveBlock1Ptr thumb_func_end GroundEffect_StepOnLongGrass thumb_func_start GroundEffect_WaterReflection diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index 1471ca4cd..0c3e20951 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -616,7 +616,7 @@ sub_805E27C: @ 805E27C lsrs r0, 24 cmp r0, 0x1 bhi _0805E2DE - ldr r0, _0805E2B8 @ =gUnknown_3005008 + ldr r0, _0805E2B8 @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0 ldrsh r1, [r2, r0] @@ -634,7 +634,7 @@ sub_805E27C: @ 805E27C lsls r0, r4, 16 b _0805E2CE .align 2, 0 -_0805E2B8: .4byte gUnknown_3005008 +_0805E2B8: .4byte gSaveBlock1Ptr _0805E2BC: movs r1, 0 ldrsh r0, [r2, r1] @@ -686,7 +686,7 @@ sub_805E2E8: @ 805E2E8 lsrs r0, 24 cmp r0, 0x1 bhi _0805E37C - ldr r0, _0805E378 @ =gUnknown_3005008 + ldr r0, _0805E378 @ =gSaveBlock1Ptr ldr r1, [r0] movs r2, 0 ldrsh r1, [r1, r2] @@ -737,7 +737,7 @@ _0805E36A: b _0805E37E .align 2, 0 _0805E374: .4byte gUnknown_3005040 -_0805E378: .4byte gUnknown_3005008 +_0805E378: .4byte gSaveBlock1Ptr _0805E37C: movs r0, 0x1 _0805E37E: @@ -792,7 +792,7 @@ _0805E3CE: movs r5, 0 cmp r5, r6 bcs _0805E404 - ldr r7, _0805E410 @ =gUnknown_3005008 + ldr r7, _0805E410 @ =gSaveBlock1Ptr _0805E3D8: lsls r0, r5, 1 adds r0, r5 @@ -825,7 +825,7 @@ _0805E406: pop {r1} bx r1 .align 2, 0 -_0805E410: .4byte gUnknown_3005008 +_0805E410: .4byte gSaveBlock1Ptr thumb_func_end sub_805E3A0 thumb_func_start GetAvailableFieldObjectSlot @@ -1351,7 +1351,7 @@ SpawnSpecialFieldObject: @ 805E7F4 add r0, sp, 0x4 adds r1, r4, 0 bl GetFieldObjectMovingCameraOffset - ldr r0, _0805E82C @ =gUnknown_3005008 + ldr r0, _0805E82C @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -1370,7 +1370,7 @@ SpawnSpecialFieldObject: @ 805E7F4 pop {r1} bx r1 .align 2, 0 -_0805E82C: .4byte gUnknown_3005008 +_0805E82C: .4byte gSaveBlock1Ptr thumb_func_end SpawnSpecialFieldObject thumb_func_start SpawnSpecialFieldObjectParametrized @@ -1907,7 +1907,7 @@ sub_805EC30: @ 805EC30 ldr r3, [r0, 0x4] cmp r3, 0 beq _0805ECF8 - ldr r7, _0805ED0C @ =gUnknown_3005008 + ldr r7, _0805ED0C @ =gSaveBlock1Ptr ldr r2, [r7] ldrh r1, [r2] subs r0, r1, 0x2 @@ -2002,7 +2002,7 @@ _0805ECF8: bx r0 .align 2, 0 _0805ED08: .4byte gUnknown_2036DFC -_0805ED0C: .4byte gUnknown_3005008 +_0805ED0C: .4byte gSaveBlock1Ptr thumb_func_end sub_805EC30 thumb_func_start RemoveFieldObjectsOutsideView @@ -2062,7 +2062,7 @@ _0805ED6C: .4byte 0x00010001 RemoveFieldObjectIfOutsideView: @ 805ED70 push {r4-r7,lr} adds r3, r0, 0 - ldr r0, _0805EDEC @ =gUnknown_3005008 + ldr r0, _0805EDEC @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r0, [r2] subs r1, r0, 0x2 @@ -2124,7 +2124,7 @@ _0805EDE4: pop {r0} bx r0 .align 2, 0 -_0805EDEC: .4byte gUnknown_3005008 +_0805EDEC: .4byte gSaveBlock1Ptr thumb_func_end RemoveFieldObjectIfOutsideView thumb_func_start sub_805EDF0 @@ -4272,7 +4272,7 @@ GetFieldObjectTemplateByLocalIdAndMap: @ 805FD5C lsrs r3, r1, 24 lsls r2, 24 lsrs r2, 24 - ldr r0, _0805FD8C @ =gUnknown_3005008 + ldr r0, _0805FD8C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x5 ldrsb r0, [r1, r0] @@ -4289,7 +4289,7 @@ GetFieldObjectTemplateByLocalIdAndMap: @ 805FD5C ldr r0, [r0, 0x4] b _0805FDA0 .align 2, 0 -_0805FD8C: .4byte gUnknown_3005008 +_0805FD8C: .4byte gSaveBlock1Ptr _0805FD90: .4byte gUnknown_2036DFC _0805FD94: adds r0, r2, 0 @@ -4348,7 +4348,7 @@ sub_805FDE8: @ 805FDE8 push {r7} adds r4, r0, 0 ldrb r0, [r4, 0x9] - ldr r1, _0805FE0C @ =gUnknown_3005008 + ldr r1, _0805FE0C @ =gSaveBlock1Ptr ldr r2, [r1] movs r1, 0x5 ldrsb r1, [r2, r1] @@ -4361,7 +4361,7 @@ sub_805FDE8: @ 805FDE8 beq _0805FE18 b _0805FE50 .align 2, 0 -_0805FE0C: .4byte gUnknown_3005008 +_0805FE0C: .4byte gSaveBlock1Ptr _0805FE10: mov r1, r8 adds r0, r5, r1 @@ -12878,7 +12878,7 @@ _08063AD0: .4byte gUnknown_83A64C8 thumb_func_start sub_8063AD4 sub_8063AD4: @ 8063AD4 push {r4,r5,lr} - ldr r5, _08063B10 @ =gUnknown_3005008 + ldr r5, _08063B10 @ =gSaveBlock1Ptr ldr r4, [r5] ldrh r4, [r4] lsls r0, 16 @@ -12907,7 +12907,7 @@ sub_8063AD4: @ 8063AD4 pop {r0} bx r0 .align 2, 0 -_08063B10: .4byte gUnknown_3005008 +_08063B10: .4byte gSaveBlock1Ptr _08063B14: .4byte gUnknown_300506C _08063B18: .4byte gUnknown_3005068 thumb_func_end sub_8063AD4 @@ -12966,7 +12966,7 @@ _08063B70: adds r0, r1 lsrs r4, r0, 16 _08063B7C: - ldr r2, _08063BC0 @ =gUnknown_3005008 + ldr r2, _08063BC0 @ =gSaveBlock1Ptr ldr r0, [r2] ldrh r1, [r0] lsls r0, r5, 16 @@ -12996,7 +12996,7 @@ _08063BB0: .4byte gUnknown_300506C _08063BB4: .4byte gUnknown_3005050 _08063BB8: .4byte gUnknown_3005068 _08063BBC: .4byte 0xfff00000 -_08063BC0: .4byte gUnknown_3005008 +_08063BC0: .4byte gSaveBlock1Ptr thumb_func_end sub_8063B1C thumb_func_start sub_8063BC4 @@ -21984,7 +21984,7 @@ _08067A9C: adds r0, r2 lsls r0, 16 lsrs r7, r0, 16 - ldr r0, _08067B00 @ =gUnknown_3005008 + ldr r0, _08067B00 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _08067B04 @ =0x00000401 @@ -22030,7 +22030,7 @@ _08067AFA: pop {r0} bx r0 .align 2, 0 -_08067B00: .4byte gUnknown_3005008 +_08067B00: .4byte gSaveBlock1Ptr _08067B04: .4byte 0x00000401 _08067B08: .4byte 0x0000fff0 thumb_func_end sub_8067A10 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index 2e430872d..1b27d2840 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4565,7 +4565,7 @@ _0805D5C0: .4byte gUnknown_835B91A _0805D5C4: .4byte gUnknown_2037078 _0805D5C8: .4byte gUnknown_202063C _0805D5CC: - ldr r0, _0805D5E8 @ =gUnknown_30030F0 + ldr r0, _0805D5E8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4582,7 +4582,7 @@ _0805D5DE: pop {r1} bx r1 .align 2, 0 -_0805D5E8: .4byte gUnknown_30030F0 +_0805D5E8: .4byte gMain thumb_func_end sub_805D580 thumb_func_start sub_805D5EC diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index d1fee0015..13808bf72 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -881,7 +881,7 @@ _0807F4A8: movs r0, 0x1 bl GetHealLocationPointer adds r3, r0, 0 - ldr r0, _0807F520 @ =gUnknown_3005008 + ldr r0, _0807F520 @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r0, [r2, 0x1C] ldrh r5, [r3] @@ -911,7 +911,7 @@ _0807F4A8: .align 2, 0 _0807F518: .4byte gUnknown_83C68E4 _0807F51C: .4byte gUnknown_3005090 -_0807F520: .4byte gUnknown_3005008 +_0807F520: .4byte gSaveBlock1Ptr _0807F524: ldr r0, _0807F534 @ =gUnknown_3005090 adds r1, r4, r6 diff --git a/asm/field_specials.s b/asm/field_specials.s index e56ad2b80..cab7ecc82 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -87,7 +87,7 @@ _080CA698: .4byte gUnknown_2021D18 thumb_func_start sub_80CA69C sub_80CA69C: @ 80CA69C ldr r1, _080CA6B0 @ =gUnknown_20370C0 - ldr r0, _080CA6B4 @ =gUnknown_3005008 + ldr r0, _080CA6B4 @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r0, [r2] strh r0, [r1] @@ -97,14 +97,14 @@ sub_80CA69C: @ 80CA69C bx lr .align 2, 0 _080CA6B0: .4byte gUnknown_20370C0 -_080CA6B4: .4byte gUnknown_3005008 +_080CA6B4: .4byte gSaveBlock1Ptr _080CA6B8: .4byte gUnknown_20370C2 thumb_func_end sub_80CA69C thumb_func_start sub_80CA6BC sub_80CA6BC: @ 80CA6BC push {lr} - ldr r0, _080CA6D8 @ =gUnknown_300500C + ldr r0, _080CA6D8 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r1, [r0, 0xB] lsls r1, 8 @@ -117,13 +117,13 @@ sub_80CA6BC: @ 80CA6BC pop {r1} bx r1 .align 2, 0 -_080CA6D8: .4byte gUnknown_300500C +_080CA6D8: .4byte gSaveBlock2Ptr thumb_func_end sub_80CA6BC thumb_func_start sub_80CA6DC sub_80CA6DC: @ 80CA6DC push {lr} - ldr r0, _080CA6F4 @ =gUnknown_300500C + ldr r0, _080CA6F4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -133,7 +133,7 @@ sub_80CA6DC: @ 80CA6DC bl StringCopy b _080CA708 .align 2, 0 -_080CA6F4: .4byte gUnknown_300500C +_080CA6F4: .4byte gSaveBlock2Ptr _080CA6F8: .4byte gUnknown_2021CD0 _080CA6FC: .4byte gUnknown_8417FBB _080CA700: @@ -151,7 +151,7 @@ _080CA710: .4byte gUnknown_8417FC3 thumb_func_start sub_80CA714 sub_80CA714: @ 80CA714 push {lr} - ldr r0, _080CA72C @ =gUnknown_300500C + ldr r0, _080CA72C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -161,7 +161,7 @@ sub_80CA714: @ 80CA714 bl StringCopy b _080CA740 .align 2, 0 -_080CA72C: .4byte gUnknown_300500C +_080CA72C: .4byte gSaveBlock2Ptr _080CA730: .4byte gUnknown_2021CD0 _080CA734: .4byte gUnknown_8417FD0 _080CA738: @@ -476,7 +476,7 @@ _080CA964: _080CA96C: ldr r4, _080CA9A0 @ =0x0000028a _080CA96E: - ldr r0, _080CA9A4 @ =gUnknown_3005008 + ldr r0, _080CA9A4 @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0 ldrsh r0, [r2, r1] @@ -501,7 +501,7 @@ _080CA96E: bx r0 .align 2, 0 _080CA9A0: .4byte 0x0000028a -_080CA9A4: .4byte gUnknown_3005008 +_080CA9A4: .4byte gSaveBlock1Ptr thumb_func_end sub_80CA8F8 thumb_func_start sub_80CA9A8 @@ -552,7 +552,7 @@ _080CA9EC: _080CA9F4: ldr r4, _080CAA2C @ =0x0000028f _080CA9F6: - ldr r0, _080CAA30 @ =gUnknown_3005008 + ldr r0, _080CAA30 @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0 ldrsh r0, [r2, r1] @@ -578,14 +578,14 @@ _080CA9F6: bx r0 .align 2, 0 _080CAA2C: .4byte 0x0000028f -_080CAA30: .4byte gUnknown_3005008 +_080CAA30: .4byte gSaveBlock1Ptr thumb_func_end sub_80CA9A8 thumb_func_start SpawnScriptFieldObject SpawnScriptFieldObject: @ 80CAA34 push {lr} sub sp, 0x8 - ldr r0, _080CAA80 @ =gUnknown_3005008 + ldr r0, _080CAA80 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r3, [r0] adds r3, 0x7 @@ -619,7 +619,7 @@ SpawnScriptFieldObject: @ 80CAA34 pop {r0} bx r0 .align 2, 0 -_080CAA80: .4byte gUnknown_3005008 +_080CAA80: .4byte gSaveBlock1Ptr _080CAA84: .4byte gUnknown_2036E38 thumb_func_end SpawnScriptFieldObject @@ -630,7 +630,7 @@ RemoveScriptFieldObject: @ 80CAA88 lsls r0, 24 lsrs r0, 24 bl CameraObjectSetFollowedObjectId - ldr r0, _080CAAA8 @ =gUnknown_3005008 + ldr r0, _080CAAA8 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -639,7 +639,7 @@ RemoveScriptFieldObject: @ 80CAA88 pop {r0} bx r0 .align 2, 0 -_080CAAA8: .4byte gUnknown_3005008 +_080CAAA8: .4byte gSaveBlock1Ptr thumb_func_end RemoveScriptFieldObject thumb_func_start sub_80CAAAC @@ -1033,7 +1033,7 @@ sub_80CAD7C: @ 80CAD7C movs r1, 0x7 adds r2, r4, 0 bl GetMonData - ldr r0, _080CADB4 @ =gUnknown_300500C + ldr r0, _080CADB4 @ =gSaveBlock2Ptr ldr r0, [r0] adds r1, r4, 0 bl StringCompare @@ -1045,7 +1045,7 @@ sub_80CAD7C: @ 80CAD7C _080CADA8: .4byte gUnknown_20370C0 _080CADAC: .4byte gUnknown_2024284 _080CADB0: .4byte gUnknown_2021CD0 -_080CADB4: .4byte gUnknown_300500C +_080CADB4: .4byte gSaveBlock2Ptr _080CADB8: movs r0, 0 _080CADBA: @@ -1594,7 +1594,7 @@ _080CB1FE: sub_80CB204: @ 80CB204 push {r4,lr} movs r3, 0x4 - ldr r0, _080CB22C @ =gUnknown_3005008 + ldr r0, _080CB22C @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0x14 ldrsb r1, [r2, r1] @@ -1613,7 +1613,7 @@ sub_80CB204: @ 80CB204 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080CB22C: .4byte gUnknown_3005008 +_080CB22C: .4byte gSaveBlock1Ptr _080CB230: .4byte _080CB234 .align 2, 0 _080CB234: @@ -1751,7 +1751,7 @@ sub_80CB328: @ 80CB328 strh r0, [r3] ldr r1, _080CB360 @ =gUnknown_2039A10 strh r0, [r1] - ldr r0, _080CB364 @ =gUnknown_3005008 + ldr r0, _080CB364 @ =gSaveBlock1Ptr ldr r5, [r0] movs r2, 0x14 ldrsb r2, [r5, r2] @@ -1774,7 +1774,7 @@ sub_80CB328: @ 80CB328 .align 2, 0 _080CB35C: .4byte gUnknown_2039A0E _080CB360: .4byte gUnknown_2039A10 -_080CB364: .4byte gUnknown_3005008 +_080CB364: .4byte gSaveBlock1Ptr _080CB368: .4byte _080CB36C .align 2, 0 _080CB36C: @@ -3647,7 +3647,7 @@ _080CC1E0: .4byte gUnknown_20370D0 thumb_func_start sub_80CC1E4 sub_80CC1E4: @ 80CC1E4 - ldr r0, _080CC200 @ =gUnknown_300500C + ldr r0, _080CC200 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r0, [r2, 0xD] lsls r0, 24 @@ -3661,7 +3661,7 @@ sub_80CC1E4: @ 80CC1E4 orrs r0, r1 bx lr .align 2, 0 -_080CC200: .4byte gUnknown_300500C +_080CC200: .4byte gSaveBlock2Ptr thumb_func_end sub_80CC1E4 thumb_func_start sub_80CC204 @@ -4026,7 +4026,7 @@ _080CC4CC: sub_80CC4D4: @ 80CC4D4 push {r4-r7,lr} movs r3, 0 - ldr r0, _080CC508 @ =gUnknown_3005008 + ldr r0, _080CC508 @ =gSaveBlock1Ptr ldr r4, [r0] movs r6, 0x4 ldrsb r6, [r4, r6] @@ -4052,7 +4052,7 @@ _080CC4E8: ldrb r0, [r0] b _080CC51C .align 2, 0 -_080CC508: .4byte gUnknown_3005008 +_080CC508: .4byte gSaveBlock1Ptr _080CC50C: .4byte gUnknown_83F5D32 _080CC510: adds r0, r3, 0x1 @@ -4081,7 +4081,7 @@ sub_80CC524: @ 80CC524 sub_80CC534: @ 80CC534 push {r4-r6,lr} movs r4, 0 - ldr r6, _080CC57C @ =gUnknown_3005008 + ldr r6, _080CC57C @ =gSaveBlock1Ptr ldr r5, _080CC580 @ =gUnknown_83F5D58 _080CC53C: ldr r3, [r6] @@ -4114,7 +4114,7 @@ _080CC56A: bl FlagSet b _080CC596 .align 2, 0 -_080CC57C: .4byte gUnknown_3005008 +_080CC57C: .4byte gSaveBlock1Ptr _080CC580: .4byte gUnknown_83F5D58 _080CC584: .4byte 0x0000404d _080CC588: .4byte 0x00000808 @@ -4153,7 +4153,7 @@ sub_80CC59C: @ 80CC59C _080CC5C4: cmp r5, 0x5 bne _080CC61C - ldr r0, _080CC608 @ =gUnknown_3005008 + ldr r0, _080CC608 @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0x4 ldrsb r1, [r2, r1] @@ -4183,7 +4183,7 @@ _080CC5F8: .4byte 0x0000404d _080CC5FC: .4byte 0xffffff00 _080CC600: .4byte 0xffff00ff _080CC604: .4byte 0x00000808 -_080CC608: .4byte gUnknown_3005008 +_080CC608: .4byte gSaveBlock1Ptr _080CC60C: movs r0, 0xC0 lsls r0, 3 @@ -4195,7 +4195,7 @@ _080CC610: movs r0, 0x23 b _080CC66C _080CC61C: - ldr r7, _080CC65C @ =gUnknown_3005008 + ldr r7, _080CC65C @ =gSaveBlock1Ptr cmp r5, 0x3 bne _080CC67C ldr r1, [r7] @@ -4226,7 +4226,7 @@ _080CC61C: strb r5, [r6, 0x1] b _080CC668 .align 2, 0 -_080CC65C: .4byte gUnknown_3005008 +_080CC65C: .4byte gSaveBlock1Ptr _080CC660: .4byte gUnknown_83F5D58 _080CC664: movs r0, 0x4 @@ -4661,7 +4661,7 @@ _080CC9A8: .4byte sub_80CCA18 _080CC9AC: .4byte gUnknown_3005098 _080CC9B0: .4byte sub_80CCAF4 _080CC9B4: - ldr r0, _080CC9D8 @ =gUnknown_3005008 + ldr r0, _080CC9D8 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _080CC9DC @ =0x00004f01 @@ -4678,7 +4678,7 @@ _080CC9B4: bl LoadPalette b _080CC9FC .align 2, 0 -_080CC9D8: .4byte gUnknown_3005008 +_080CC9D8: .4byte gSaveBlock1Ptr _080CC9DC: .4byte 0x00004f01 _080CC9E0: .4byte gUnknown_83F61FB _080CC9E4: .4byte gUnknown_83F60D0 @@ -4756,7 +4756,7 @@ sub_80CCA18: @ 80CCA18 bne _080CCA78 strh r2, [r4, 0x2] _080CCA78: - ldr r0, _080CCAB0 @ =gUnknown_3005008 + ldr r0, _080CCAB0 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _080CCAB4 @ =0x00004f01 @@ -4781,7 +4781,7 @@ _080CCA78: _080CCAA4: .4byte gUnknown_3005098 _080CCAA8: .4byte gUnknown_2037AB8 _080CCAAC: .4byte gUnknown_2036E28 -_080CCAB0: .4byte gUnknown_3005008 +_080CCAB0: .4byte gSaveBlock1Ptr _080CCAB4: .4byte 0x00004f01 _080CCAB8: .4byte gUnknown_83F61FB _080CCABC: .4byte gUnknown_83F60D0 @@ -4823,7 +4823,7 @@ sub_80CCAF4: @ 80CCAF4 lsls r0, 24 cmp r0, 0 beq _080CCB5A - ldr r0, _080CCB20 @ =gUnknown_3005008 + ldr r0, _080CCB20 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _080CCB24 @ =0x00004f01 @@ -4835,7 +4835,7 @@ sub_80CCAF4: @ 80CCAF4 bl LoadPalette b _080CCB36 .align 2, 0 -_080CCB20: .4byte gUnknown_3005008 +_080CCB20: .4byte gSaveBlock1Ptr _080CCB24: .4byte 0x00004f01 _080CCB28: .4byte gUnknown_83F61D0 _080CCB2C: @@ -5142,7 +5142,7 @@ sub_80CCD84: @ 80CCD84 lsrs r0, 24 cmp r0, 0x1 beq _080CCDC8 - ldr r0, _080CCDBC @ =gUnknown_3005008 + ldr r0, _080CCDBC @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r1, [r2, 0x4] ldr r0, _080CCDC0 @ =0x00003d03 @@ -5161,7 +5161,7 @@ sub_80CCD84: @ 80CCD84 b _080CCDCA .align 2, 0 _080CCDB8: .4byte 0x000002e3 -_080CCDBC: .4byte gUnknown_3005008 +_080CCDBC: .4byte gSaveBlock1Ptr _080CCDC0: .4byte 0x00003d03 _080CCDC4: .4byte 0x00190018 _080CCDC8: @@ -5316,7 +5316,7 @@ sub_80CCEE8: @ 80CCEE8 bl LoadPalette movs r0, 0xA bl sub_8083598 - ldr r0, _080CCF28 @ =gUnknown_3005008 + ldr r0, _080CCF28 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -5330,7 +5330,7 @@ sub_80CCEE8: @ 80CCEE8 b _080CCF32 .align 2, 0 _080CCF24: .4byte gUnknown_83F6206 -_080CCF28: .4byte gUnknown_3005008 +_080CCF28: .4byte gSaveBlock1Ptr _080CCF2C: movs r0, 0xFD bl sub_80722CC @@ -5412,7 +5412,7 @@ sub_80CCFBC: @ 80CCFBC bl VarGet lsls r0, 16 lsrs r2, r0, 16 - ldr r0, _080CCFF0 @ =gUnknown_3005008 + ldr r0, _080CCFF0 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _080CCFF4 @ =0x00003802 @@ -5429,7 +5429,7 @@ sub_80CCFBC: @ 80CCFBC b _080CD000 .align 2, 0 _080CCFEC: .4byte 0x00004026 -_080CCFF0: .4byte gUnknown_3005008 +_080CCFF0: .4byte gSaveBlock1Ptr _080CCFF4: .4byte 0x00003802 _080CCFF8: adds r0, r4, 0 @@ -5502,7 +5502,7 @@ _080CD06C: thumb_func_start sub_80CD074 sub_80CD074: @ 80CD074 push {lr} - ldr r0, _080CD088 @ =gUnknown_3005008 + ldr r0, _080CD088 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _080CD08C @ =0x00000a02 @@ -5511,7 +5511,7 @@ sub_80CD074: @ 80CD074 movs r0, 0x1 b _080CD092 .align 2, 0 -_080CD088: .4byte gUnknown_3005008 +_080CD088: .4byte gSaveBlock1Ptr _080CD08C: .4byte 0x00000a02 _080CD090: movs r0, 0 diff --git a/asm/field_weather.s b/asm/field_weather.s index bf5b8d883..4186d50e6 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -2771,7 +2771,7 @@ _0807B0FA: thumb_func_start SetSav1Weather SetSav1Weather: @ 807B100 push {r4,r5,lr} - ldr r4, _0807B12C @ =gUnknown_3005008 + ldr r4, _0807B12C @ =gSaveBlock1Ptr ldr r1, [r4] adds r1, 0x2E ldrb r5, [r1] @@ -2790,24 +2790,24 @@ SetSav1Weather: @ 807B100 pop {r0} bx r0 .align 2, 0 -_0807B12C: .4byte gUnknown_3005008 +_0807B12C: .4byte gSaveBlock1Ptr thumb_func_end SetSav1Weather thumb_func_start sav1_get_weather_probably sav1_get_weather_probably: @ 807B130 - ldr r0, _0807B13C @ =gUnknown_3005008 + ldr r0, _0807B13C @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x2E ldrb r0, [r0] bx lr .align 2, 0 -_0807B13C: .4byte gUnknown_3005008 +_0807B13C: .4byte gSaveBlock1Ptr thumb_func_end sav1_get_weather_probably thumb_func_start sub_807B140 sub_807B140: @ 807B140 push {r4,r5,lr} - ldr r4, _0807B16C @ =gUnknown_3005008 + ldr r4, _0807B16C @ =gSaveBlock1Ptr ldr r0, [r4] adds r0, 0x2E ldrb r5, [r0] @@ -2826,7 +2826,7 @@ sub_807B140: @ 807B140 pop {r0} bx r0 .align 2, 0 -_0807B16C: .4byte gUnknown_3005008 +_0807B16C: .4byte gSaveBlock1Ptr _0807B170: .4byte gUnknown_2036DFC thumb_func_end sub_807B140 @@ -2964,7 +2964,7 @@ _0807B278: .4byte gUnknown_83C65C0 _0807B27C: ldr r1, _0807B28C @ =gUnknown_83C65C4 _0807B27E: - ldr r0, _0807B290 @ =gUnknown_3005008 + ldr r0, _0807B290 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x2F ldrb r0, [r0] @@ -2973,7 +2973,7 @@ _0807B27E: b _0807B296 .align 2, 0 _0807B28C: .4byte gUnknown_83C65C4 -_0807B290: .4byte gUnknown_3005008 +_0807B290: .4byte gSaveBlock1Ptr _0807B294: movs r0, 0 _0807B296: @@ -2984,7 +2984,7 @@ _0807B296: thumb_func_start UpdateWeatherPerDay UpdateWeatherPerDay: @ 807B29C lsls r0, 16 - ldr r1, _0807B2B8 @ =gUnknown_3005008 + ldr r1, _0807B2B8 @ =gSaveBlock1Ptr ldr r2, [r1] adds r2, 0x2F lsrs r0, 16 @@ -2998,7 +2998,7 @@ UpdateWeatherPerDay: @ 807B29C strb r1, [r2] bx lr .align 2, 0 -_0807B2B8: .4byte gUnknown_3005008 +_0807B2B8: .4byte gSaveBlock1Ptr thumb_func_end UpdateWeatherPerDay thumb_func_start UpdateRainCounter diff --git a/asm/fieldmap.s b/asm/fieldmap.s index 3eaad3a9c..b1aa05f04 100644 --- a/asm/fieldmap.s +++ b/asm/fieldmap.s @@ -995,14 +995,14 @@ sub_80590D8: @ 80590D8 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _08059144 @ =gUnknown_300500C + ldr r0, _08059144 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _08059148 @ =0x00000898 adds r4, r0, r1 ldr r0, _0805914C @ =gUnknown_3005040 ldr r0, [r0] mov r8, r0 - ldr r0, _08059150 @ =gUnknown_3005008 + ldr r0, _08059150 @ =gSaveBlock1Ptr ldr r0, [r0] movs r2, 0 ldrsh r6, [r0, r2] @@ -1050,10 +1050,10 @@ _08059138: pop {r0} bx r0 .align 2, 0 -_08059144: .4byte gUnknown_300500C +_08059144: .4byte gSaveBlock2Ptr _08059148: .4byte 0x00000898 _0805914C: .4byte gUnknown_3005040 -_08059150: .4byte gUnknown_3005008 +_08059150: .4byte gSaveBlock1Ptr _08059154: .4byte gUnknown_2031DFC thumb_func_end sub_80590D8 @@ -1062,7 +1062,7 @@ sub_8059158: @ 8059158 push {r4,lr} movs r2, 0 movs r1, 0 - ldr r0, _08059184 @ =gUnknown_300500C + ldr r0, _08059184 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r4, _08059188 @ =0x00000898 adds r3, r0, r4 @@ -1082,7 +1082,7 @@ _08059168: movs r0, 0 b _08059192 .align 2, 0 -_08059184: .4byte gUnknown_300500C +_08059184: .4byte gSaveBlock2Ptr _08059188: .4byte 0x00000898 _0805918C: .4byte 0x000001ff _08059190: @@ -1100,7 +1100,7 @@ sub_8059198: @ 8059198 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r0, _080591B8 @ =gUnknown_300500C + ldr r0, _080591B8 @ =gSaveBlock2Ptr ldr r1, [r0] ldr r0, _080591BC @ =0x00000898 adds r1, r0 @@ -1111,7 +1111,7 @@ sub_8059198: @ 8059198 pop {r0} bx r0 .align 2, 0 -_080591B8: .4byte gUnknown_300500C +_080591B8: .4byte gSaveBlock2Ptr _080591BC: .4byte 0x00000898 _080591C0: .4byte 0x01000100 thumb_func_end sub_8059198 @@ -1122,7 +1122,7 @@ sub_80591C4: @ 80591C4 mov r7, r9 mov r6, r8 push {r6,r7} - ldr r0, _0805923C @ =gUnknown_300500C + ldr r0, _0805923C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _08059240 @ =0x00000898 adds r4, r0, r1 @@ -1132,7 +1132,7 @@ sub_80591C4: @ 80591C4 ldr r0, _08059244 @ =gUnknown_3005040 ldr r0, [r0] mov r8, r0 - ldr r0, _08059248 @ =gUnknown_3005008 + ldr r0, _08059248 @ =gSaveBlock1Ptr ldr r0, [r0] movs r2, 0 ldrsh r6, [r0, r2] @@ -1182,10 +1182,10 @@ _08059230: pop {r0} bx r0 .align 2, 0 -_0805923C: .4byte gUnknown_300500C +_0805923C: .4byte gSaveBlock2Ptr _08059240: .4byte 0x00000898 _08059244: .4byte gUnknown_3005040 -_08059248: .4byte gUnknown_3005008 +_08059248: .4byte gSaveBlock1Ptr _0805924C: .4byte gUnknown_2031DFC thumb_func_end sub_80591C4 @@ -1200,7 +1200,7 @@ sub_8059250: @ 8059250 lsls r0, 24 lsrs r1, r0, 24 adds r2, r1, 0 - ldr r0, _0805929C @ =gUnknown_300500C + ldr r0, _0805929C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r3, _080592A0 @ =0x00000898 adds r3, r0, r3 @@ -1211,7 +1211,7 @@ sub_8059250: @ 8059250 movs r4, 0 mov r9, r4 mov r8, r4 - ldr r0, _080592A8 @ =gUnknown_3005008 + ldr r0, _080592A8 @ =gSaveBlock1Ptr ldr r0, [r0] movs r3, 0 ldrsh r6, [r0, r3] @@ -1229,10 +1229,10 @@ sub_8059250: @ 8059250 beq _080592BE b _080592D6 .align 2, 0 -_0805929C: .4byte gUnknown_300500C +_0805929C: .4byte gSaveBlock2Ptr _080592A0: .4byte 0x00000898 _080592A4: .4byte gUnknown_3005040 -_080592A8: .4byte gUnknown_3005008 +_080592A8: .4byte gSaveBlock1Ptr _080592AC: cmp r2, 0x3 beq _080592C8 @@ -1454,7 +1454,7 @@ _08059432: GetPostCameraMoveMapBorderId: @ 805943C push {r4,lr} adds r3, r1, 0 - ldr r1, _08059460 @ =gUnknown_3005008 + ldr r1, _08059460 @ =gSaveBlock1Ptr ldr r1, [r1] movs r4, 0 ldrsh r2, [r1, r4] @@ -1470,13 +1470,13 @@ GetPostCameraMoveMapBorderId: @ 805943C pop {r1} bx r1 .align 2, 0 -_08059460: .4byte gUnknown_3005008 +_08059460: .4byte gSaveBlock1Ptr thumb_func_end GetPostCameraMoveMapBorderId thumb_func_start CanCameraMoveInDirection CanCameraMoveInDirection: @ 8059464 push {r4,r5,lr} - ldr r1, _0805949C @ =gUnknown_3005008 + ldr r1, _0805949C @ =gSaveBlock1Ptr ldr r4, [r1] movs r1, 0 ldrsh r3, [r4, r1] @@ -1502,7 +1502,7 @@ CanCameraMoveInDirection: @ 8059464 movs r0, 0x1 b _080594A6 .align 2, 0 -_0805949C: .4byte gUnknown_3005008 +_0805949C: .4byte gSaveBlock1Ptr _080594A0: .4byte gUnknown_826D2D8 _080594A4: movs r0, 0 @@ -1533,7 +1533,7 @@ _080594CA: beq _080594E8 cmp r4, 0x4 bne _08059526 - ldr r0, _080594E4 @ =gUnknown_3005008 + ldr r0, _080594E4 @ =gSaveBlock1Ptr ldr r1, [r0] negs r0, r6 strh r0, [r1] @@ -1542,9 +1542,9 @@ _080594CA: subs r0, r2 b _08059524 .align 2, 0 -_080594E4: .4byte gUnknown_3005008 +_080594E4: .4byte gSaveBlock1Ptr _080594E8: - ldr r0, _080594FC @ =gUnknown_3005008 + ldr r0, _080594FC @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, [r3] ldr r0, [r0] @@ -1554,9 +1554,9 @@ _080594E8: subs r0, r2 b _08059524 .align 2, 0 -_080594FC: .4byte gUnknown_3005008 +_080594FC: .4byte gSaveBlock1Ptr _08059500: - ldr r0, _08059510 @ =gUnknown_3005008 + ldr r0, _08059510 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, [r5, 0x4] ldrh r0, [r1] @@ -1565,9 +1565,9 @@ _08059500: negs r0, r7 b _08059524 .align 2, 0 -_08059510: .4byte gUnknown_3005008 +_08059510: .4byte gSaveBlock1Ptr _08059514: - ldr r0, _0805952C @ =gUnknown_3005008 + ldr r0, _0805952C @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, [r5, 0x4] ldrh r0, [r1] @@ -1582,7 +1582,7 @@ _08059526: pop {r0} bx r0 .align 2, 0 -_0805952C: .4byte gUnknown_3005008 +_0805952C: .4byte gSaveBlock1Ptr thumb_func_end sub_80594AC thumb_func_start CameraMove @@ -1608,7 +1608,7 @@ CameraMove: @ 8059530 adds r0, r7, 0x1 cmp r0, 0x1 bhi _08059578 - ldr r0, _08059574 @ =gUnknown_3005008 + ldr r0, _08059574 @ =gSaveBlock1Ptr ldr r1, [r0] ldrh r0, [r1] add r0, r10 @@ -1619,10 +1619,10 @@ CameraMove: @ 8059530 b _080595E2 .align 2, 0 _08059570: .4byte gUnknown_2036E18 -_08059574: .4byte gUnknown_3005008 +_08059574: .4byte gSaveBlock1Ptr _08059578: bl sub_80590D8 - ldr r1, _080595F8 @ =gUnknown_3005008 + ldr r1, _080595F8 @ =gSaveBlock1Ptr ldr r0, [r1] movs r2, 0 ldrsh r5, [r0, r2] @@ -1649,7 +1649,7 @@ _08059578: orrs r0, r1 ldr r2, _080595FC @ =gUnknown_2036E18 strb r0, [r2] - ldr r0, _080595F8 @ =gUnknown_3005008 + ldr r0, _080595F8 @ =gSaveBlock1Ptr ldr r1, [r0] movs r2, 0 ldrsh r0, [r1, r2] @@ -1682,7 +1682,7 @@ _080595E2: pop {r1} bx r1 .align 2, 0 -_080595F8: .4byte gUnknown_3005008 +_080595F8: .4byte gSaveBlock1Ptr _080595FC: .4byte gUnknown_2036E18 thumb_func_end CameraMove @@ -1977,7 +1977,7 @@ sub_80597EC: @ 80597EC lsrs r0, 16 lsls r1, 16 lsrs r1, 16 - ldr r2, _08059804 @ =gUnknown_3005008 + ldr r2, _08059804 @ =gSaveBlock1Ptr ldr r2, [r2] subs r0, 0x7 strh r0, [r2] @@ -1985,12 +1985,12 @@ sub_80597EC: @ 80597EC strh r1, [r2, 0x2] bx lr .align 2, 0 -_08059804: .4byte gUnknown_3005008 +_08059804: .4byte gSaveBlock1Ptr thumb_func_end sub_80597EC thumb_func_start sav1_camera_get_focus_coords sav1_camera_get_focus_coords: @ 8059808 - ldr r2, _0805981C @ =gUnknown_3005008 + ldr r2, _0805981C @ =gSaveBlock1Ptr ldr r3, [r2] ldrh r2, [r3] adds r2, 0x7 @@ -2000,23 +2000,23 @@ sav1_camera_get_focus_coords: @ 8059808 strh r0, [r1] bx lr .align 2, 0 -_0805981C: .4byte gUnknown_3005008 +_0805981C: .4byte gSaveBlock1Ptr thumb_func_end sav1_camera_get_focus_coords thumb_func_start SetCameraCoords SetCameraCoords: @ 8059820 - ldr r2, _0805982C @ =gUnknown_3005008 + ldr r2, _0805982C @ =gSaveBlock1Ptr ldr r2, [r2] strh r0, [r2] strh r1, [r2, 0x2] bx lr .align 2, 0 -_0805982C: .4byte gUnknown_3005008 +_0805982C: .4byte gSaveBlock1Ptr thumb_func_end SetCameraCoords thumb_func_start GetCameraCoords GetCameraCoords: @ 8059830 - ldr r2, _08059840 @ =gUnknown_3005008 + ldr r2, _08059840 @ =gSaveBlock1Ptr ldr r3, [r2] ldrh r2, [r3] strh r2, [r0] @@ -2024,7 +2024,7 @@ GetCameraCoords: @ 8059830 strh r0, [r1] bx lr .align 2, 0 -_08059840: .4byte gUnknown_3005008 +_08059840: .4byte gSaveBlock1Ptr thumb_func_end GetCameraCoords thumb_func_start copy_tileset_patterns_to_vram diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s index fc53891b5..5e144a46a 100644 --- a/asm/fldeff_flash.s +++ b/asm/fldeff_flash.s @@ -185,7 +185,7 @@ sub_80C9BFC: @ 80C9BFC lsls r0, 24 cmp r0, 0 bne _080C9CC2 - ldr r0, _080C9CE4 @ =gUnknown_30030F0 + ldr r0, _080C9CE4 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _080C9CC2: @@ -200,7 +200,7 @@ _080C9CD4: .4byte 0x05000002 _080C9CD8: .4byte 0x810001ff _080C9CDC: .4byte sub_80C9BE8 _080C9CE0: .4byte sub_80C9BD0 -_080C9CE4: .4byte gUnknown_30030F0 +_080C9CE4: .4byte gMain thumb_func_end sub_80C9BFC thumb_func_start sub_80C9CE8 @@ -579,14 +579,14 @@ sub_80C9FA0: @ 80C9FA0 .align 2, 0 _080C9FC0: .4byte gUnknown_3005090 _080C9FC4: - ldr r0, _080C9FD0 @ =gUnknown_30030F0 + ldr r0, _080C9FD0 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _080C9FCC: pop {r0} bx r0 .align 2, 0 -_080C9FD0: .4byte gUnknown_30030F0 +_080C9FD0: .4byte gMain thumb_func_end sub_80C9FA0 thumb_func_start sub_80C9FD4 @@ -766,7 +766,7 @@ _080CA140: movs r1, 0 movs r2, 0x20 bl LoadPalette - ldr r0, _080CA15C @ =gUnknown_30030F0 + ldr r0, _080CA15C @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _080CA152: @@ -775,7 +775,7 @@ _080CA152: bx r0 .align 2, 0 _080CA158: .4byte gUnknown_83F5824 -_080CA15C: .4byte gUnknown_30030F0 +_080CA15C: .4byte gMain thumb_func_end sub_80CA108 thumb_func_start sub_80CA160 @@ -837,7 +837,7 @@ _080CA1C0: .4byte _080CA262 .4byte _080CA2A4 _080CA1D8: - ldr r0, _080CA204 @ =gUnknown_30030F0 + ldr r0, _080CA204 @ =gMain ldr r2, [r0, 0xC] adds r0, r5, 0 movs r1, 0x5 @@ -854,7 +854,7 @@ _080CA1D8: bl BlendPalettes b _080CA294 .align 2, 0 -_080CA204: .4byte gUnknown_30030F0 +_080CA204: .4byte gMain _080CA208: bl sub_80F8258 cmp r0, 0 @@ -904,7 +904,7 @@ _080CA262: ldrsh r1, [r4, r2] cmp r0, r1 bgt _080CA280 - ldr r0, _080CA29C @ =gUnknown_30030F0 + ldr r0, _080CA29C @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x2 ands r0, r1 @@ -926,7 +926,7 @@ _080CA294: strh r0, [r4] b _080CA2D2 .align 2, 0 -_080CA29C: .4byte gUnknown_30030F0 +_080CA29C: .4byte gMain _080CA2A0: .4byte 0x00007fff _080CA2A4: bl UpdatePaletteFade diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index b171801bd..fc58fc678 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -31,7 +31,7 @@ sub_80F1DC0: @ 80F1DC0 InitHallOfFameScreen: @ 80F1DDC push {r4,lr} sub sp, 0x4 - ldr r0, _080F1DFC @ =gUnknown_30030F0 + ldr r0, _080F1DFC @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -46,7 +46,7 @@ _080F1DF0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080F1DFC: .4byte gUnknown_30030F0 +_080F1DFC: .4byte gMain _080F1E00: .4byte _080F1E04 .align 2, 0 _080F1E04: @@ -66,7 +66,7 @@ _080F1E18: ldr r0, _080F1E48 @ =0x00002008 bl AllocZeroed str r0, [r4] - ldr r0, _080F1E4C @ =gUnknown_30030F0 + ldr r0, _080F1E4C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -77,7 +77,7 @@ _080F1E18: _080F1E40: .4byte gUnknown_3005ECC _080F1E44: .4byte gUnknown_203AB3C _080F1E48: .4byte 0x00002008 -_080F1E4C: .4byte gUnknown_30030F0 +_080F1E4C: .4byte gMain _080F1E50: bl sub_80F36BC b _080F1EAA @@ -117,7 +117,7 @@ _080F1E88: movs r3, 0 bl BeginNormalPaletteFade _080F1EAA: - ldr r1, _080F1EC0 @ =gUnknown_30030F0 + ldr r1, _080F1EC0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -127,7 +127,7 @@ _080F1EAA: b _080F1EF0 .align 2, 0 _080F1EBC: .4byte sub_80F1DAC -_080F1EC0: .4byte gUnknown_30030F0 +_080F1EC0: .4byte gMain _080F1EC4: bl UpdatePaletteFade ldr r0, _080F1EE8 @ =gUnknown_2037AB8 @@ -1168,7 +1168,7 @@ sub_80F26D4: @ 80F26D4 bl ShowBg movs r0, 0x3 bl ShowBg - ldr r0, _080F2748 @ =gUnknown_300500C + ldr r0, _080F2748 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] movs r1, 0x1 @@ -1204,7 +1204,7 @@ sub_80F26D4: @ 80F26D4 pop {r0} bx r0 .align 2, 0 -_080F2748: .4byte gUnknown_300500C +_080F2748: .4byte gSaveBlock2Ptr _080F274C: .4byte 0x0000ffff _080F2750: .4byte gUnknown_3005090 _080F2754: .4byte gUnknown_840C234 @@ -1298,7 +1298,7 @@ Task_Hof_ExitOnKeyPressed: @ 80F2804 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080F2830 @ =gUnknown_30030F0 + ldr r0, _080F2830 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1318,7 +1318,7 @@ _080F282A: pop {r0} bx r0 .align 2, 0 -_080F2830: .4byte gUnknown_30030F0 +_080F2830: .4byte gMain _080F2834: .4byte gUnknown_3005090 _080F2838: .4byte Task_Hof_HandlePaletteOnExit thumb_func_end Task_Hof_ExitOnKeyPressed @@ -1472,7 +1472,7 @@ _080F2974: .4byte gUnknown_2031DD8 thumb_func_start sub_80F2978 sub_80F2978: @ 80F2978 push {r4,lr} - ldr r0, _080F2994 @ =gUnknown_30030F0 + ldr r0, _080F2994 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -1485,7 +1485,7 @@ sub_80F2978: @ 80F2978 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080F2994: .4byte gUnknown_30030F0 +_080F2994: .4byte gMain _080F2998: .4byte _080F299C .align 2, 0 _080F299C: @@ -1503,7 +1503,7 @@ _080F29B4: ldr r0, _080F29DC @ =0x00002008 bl AllocZeroed str r0, [r4] - ldr r0, _080F29E0 @ =gUnknown_30030F0 + ldr r0, _080F29E0 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -1513,7 +1513,7 @@ _080F29B4: .align 2, 0 _080F29D8: .4byte gUnknown_203AB3C _080F29DC: .4byte 0x00002008 -_080F29E0: .4byte gUnknown_30030F0 +_080F29E0: .4byte gMain _080F29E4: bl sub_80F36BC b _080F2A42 @@ -1553,7 +1553,7 @@ _080F2A28: cmp r0, 0 bne _080F2A8C _080F2A42: - ldr r1, _080F2A54 @ =gUnknown_30030F0 + ldr r1, _080F2A54 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -1562,7 +1562,7 @@ _080F2A42: strb r0, [r1] b _080F2A8C .align 2, 0 -_080F2A54: .4byte gUnknown_30030F0 +_080F2A54: .4byte gMain _080F2A58: ldr r1, _080F2A94 @ =0x00003f42 movs r0, 0x50 @@ -2087,7 +2087,7 @@ Task_HofPC_HandleInput: @ 80F2E8C push {r7} lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080F2F00 @ =gUnknown_30030F0 + ldr r1, _080F2F00 @ =gMain ldrh r2, [r1, 0x2E] movs r0, 0x1 ands r0, r2 @@ -2142,7 +2142,7 @@ _080F2EF8: str r0, [r1] b _080F2FD8 .align 2, 0 -_080F2F00: .4byte gUnknown_30030F0 +_080F2F00: .4byte gMain _080F2F04: .4byte gUnknown_3005090 _080F2F08: .4byte sub_80F2B6C _080F2F0C: @@ -2385,7 +2385,7 @@ Task_HofPC_ExitOnButtonPress: @ 80F310C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _080F3130 @ =gUnknown_30030F0 + ldr r0, _080F3130 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2402,7 +2402,7 @@ _080F312C: pop {r0} bx r0 .align 2, 0 -_080F3130: .4byte gUnknown_30030F0 +_080F3130: .4byte gMain _080F3134: .4byte gUnknown_3005090 _080F3138: .4byte sub_80F2FEC thumb_func_end Task_HofPC_ExitOnButtonPress @@ -2765,7 +2765,7 @@ sub_80F33DC: @ 80F33DC movs r2, 0x4 movs r3, 0x3 bl AddTextPrinterParametrized2 - ldr r0, _080F35FC @ =gUnknown_300500C + ldr r0, _080F35FC @ =gSaveBlock2Ptr mov r10, r0 ldr r1, [r0] movs r0, 0x2 @@ -2926,7 +2926,7 @@ _080F3582: movs r0, 0xF0 strb r0, [r1, 0x3] adds r4, r1, 0 - ldr r0, _080F35FC @ =gUnknown_300500C + ldr r0, _080F35FC @ =gSaveBlock2Ptr ldr r5, [r0] ldrb r0, [r5, 0x10] movs r1, 0x64 @@ -2974,7 +2974,7 @@ _080F35EC: .4byte gUnknown_840C234 _080F35F0: .4byte 0x0000021d _080F35F4: .4byte gUnknown_840C240 _080F35F8: .4byte gUnknown_84160FC -_080F35FC: .4byte gUnknown_300500C +_080F35FC: .4byte gSaveBlock2Ptr _080F3600: .4byte gUnknown_8416104 _080F3604: .4byte 0x000186a0 _080F3608: .4byte 0x00002710 diff --git a/asm/heal_location.s b/asm/heal_location.s index eb87254e8..33732a934 100644 --- a/asm/heal_location.s +++ b/asm/heal_location.s @@ -93,7 +93,7 @@ sub_80BFCD0: @ 80BFCD0 lsrs r5, r0, 16 cmp r5, 0x1 bne _080BFD38 - ldr r0, _080BFD28 @ =gUnknown_3005008 + ldr r0, _080BFD28 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _080BFD2C @ =0x00003d34 adds r0, r1, r2 @@ -127,12 +127,12 @@ _080BFD0A: b _080BFDFA .align 2, 0 _080BFD24: .4byte 0x00004082 -_080BFD28: .4byte gUnknown_3005008 +_080BFD28: .4byte gSaveBlock1Ptr _080BFD2C: .4byte 0x00003d34 _080BFD30: .4byte 0x00003d42 _080BFD34: .4byte gUnknown_20370D2 _080BFD38: - ldr r0, _080BFD7C @ =gUnknown_3005008 + ldr r0, _080BFD7C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x1C ldrsb r0, [r1, r0] @@ -166,7 +166,7 @@ _080BFD38: movs r0, 0x5 b _080BFDF2 .align 2, 0 -_080BFD7C: .4byte gUnknown_3005008 +_080BFD7C: .4byte gSaveBlock1Ptr _080BFD80: .4byte gUnknown_83EEC98 _080BFD84: ldr r0, _080BFDA4 @ =gUnknown_83EEC98 diff --git a/asm/help_system.s b/asm/help_system.s index 8099ba39d..06d57678d 100644 --- a/asm/help_system.s +++ b/asm/help_system.s @@ -37,12 +37,12 @@ _0813B8B4: ldr r1, _0813B904 @ =gUnknown_203F177 movs r0, 0 strb r0, [r1] - ldr r0, _0813B908 @ =gUnknown_300500C + ldr r0, _0813B908 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0 bne _0813B900 - ldr r2, _0813B90C @ =gUnknown_30030F0 + ldr r2, _0813B90C @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x80 lsls r0, 1 @@ -78,8 +78,8 @@ _0813B900: b _0813BB28 .align 2, 0 _0813B904: .4byte gUnknown_203F177 -_0813B908: .4byte gUnknown_300500C -_0813B90C: .4byte gUnknown_30030F0 +_0813B908: .4byte gSaveBlock2Ptr +_0813B90C: .4byte gMain _0813B910: .4byte gUnknown_203F175 _0813B914: .4byte gUnknown_3005ECC _0813B918: @@ -309,7 +309,7 @@ _0813BB34: .4byte gUnknown_203F178 thumb_func_start sub_813BB38 sub_813BB38: @ 813BB38 ldr r2, _0813BB60 @ =gUnknown_203F178 - ldr r1, _0813BB64 @ =gUnknown_30030F0 + ldr r1, _0813BB64 @ =gMain ldr r0, [r1, 0xC] str r0, [r2] ldr r0, [r1, 0x10] @@ -330,7 +330,7 @@ sub_813BB38: @ 813BB38 bx lr .align 2, 0 _0813BB60: .4byte gUnknown_203F178 -_0813BB64: .4byte gUnknown_30030F0 +_0813BB64: .4byte gMain _0813BB68: .4byte 0x040000b0 _0813BB6C: .4byte 0x0000c5ff _0813BB70: .4byte 0x00007fff @@ -393,7 +393,7 @@ _0813BBD8: .4byte gUnknown_203F18A thumb_func_start sub_813BBDC sub_813BBDC: @ 813BBDC - ldr r2, _0813BBEC @ =gUnknown_30030F0 + ldr r2, _0813BBEC @ =gMain ldr r1, _0813BBF0 @ =gUnknown_203F178 ldr r0, [r1] str r0, [r2, 0xC] @@ -401,7 +401,7 @@ sub_813BBDC: @ 813BBDC str r0, [r2, 0x10] bx lr .align 2, 0 -_0813BBEC: .4byte gUnknown_30030F0 +_0813BBEC: .4byte gMain _0813BBF0: .4byte gUnknown_203F178 thumb_func_end sub_813BBDC @@ -1095,7 +1095,7 @@ _0813C0EC: cmp r1, 0x1 bne _0813C154 movs r4, 0 - ldr r0, _0813C14C @ =gUnknown_300500C + ldr r0, _0813C14C @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r1, [r1] cmp r1, 0xFF @@ -1128,7 +1128,7 @@ _0813C106: lsrs r4, r0, 24 cmp r4, 0x9 bhi _0813C0AC - ldr r0, _0813C14C @ =gUnknown_300500C + ldr r0, _0813C14C @ =gSaveBlock2Ptr ldr r1, [r0] adds r1, r4 ldrb r1, [r1] @@ -1136,7 +1136,7 @@ _0813C106: bne _0813C106 b _0813C0AC .align 2, 0 -_0813C14C: .4byte gUnknown_300500C +_0813C14C: .4byte gSaveBlock2Ptr _0813C150: .4byte gUnknown_3003E20 _0813C154: cmp r1, 0x2 @@ -1815,7 +1815,7 @@ sub_813C690: @ 813C690 .align 2, 0 _0813C6A0: .4byte gUnknown_203F176 _0813C6A4: - ldr r2, _0813C6C8 @ =gUnknown_30030F0 + ldr r2, _0813C6C8 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1833,7 +1833,7 @@ _0813C6A4: ldr r0, [r0, 0x4] b _0813C756 .align 2, 0 -_0813C6C8: .4byte gUnknown_30030F0 +_0813C6C8: .4byte gMain _0813C6CC: .4byte gUnknown_203F190 _0813C6D0: movs r0, 0x2 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index eff9cae2a..8f584f55c 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -108,7 +108,7 @@ _0812B278: .4byte gUnknown_845C5BC sub_812B27C: @ 812B27C push {r4,lr} adds r2, r0, 0 - ldr r0, _0812B2AC @ =gUnknown_3005008 + ldr r0, _0812B2AC @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x4 ldrsb r1, [r0, r1] @@ -132,7 +132,7 @@ _0812B2A2: movs r0, 0x1 b _0812B2BE .align 2, 0 -_0812B2AC: .4byte gUnknown_3005008 +_0812B2AC: .4byte gSaveBlock1Ptr _0812B2B0: .4byte 0x0000ffff _0812B2B4: adds r1, 0x2 @@ -173,7 +173,7 @@ _0812B2EC: adds r3, r1, r5 adds r0, r3, r4 ldrb r1, [r0] - ldr r0, _0812B324 @ =gUnknown_3005008 + ldr r0, _0812B324 @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0x4 ldrsb r0, [r2, r0] @@ -199,7 +199,7 @@ _0812B320: movs r0, 0x1 b _0812B34C .align 2, 0 -_0812B324: .4byte gUnknown_3005008 +_0812B324: .4byte gSaveBlock1Ptr _0812B328: .4byte 0x00000849 _0812B32C: adds r0, r6, 0x1 @@ -257,7 +257,7 @@ _0812B388: lsls r0, 24 cmp r0, 0 beq _0812B400 - ldr r0, _0812B3B4 @ =gUnknown_3005008 + ldr r0, _0812B3B4 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] cmp r1, 0x4 @@ -272,7 +272,7 @@ _0812B3A8: b _0812B406 .align 2, 0 _0812B3B0: .4byte gUnknown_2036DFC -_0812B3B4: .4byte gUnknown_3005008 +_0812B3B4: .4byte gSaveBlock1Ptr _0812B3B8: movs r0, 0xC1 lsls r0, 2 @@ -1312,7 +1312,7 @@ _0812BC7C: .4byte gUnknown_841DFA5 sub_812BC80: @ 812BC80 push {r4,lr} adds r4, r0, 0 - ldr r0, _0812BCA4 @ =gUnknown_30030F0 + ldr r0, _0812BCA4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1328,7 +1328,7 @@ _0812BC9A: pop {r1} bx r1 .align 2, 0 -_0812BCA4: .4byte gUnknown_30030F0 +_0812BCA4: .4byte gMain thumb_func_end sub_812BC80 thumb_func_start sub_812BCA8 @@ -1646,7 +1646,7 @@ _0812BF14: .4byte gUnknown_3005E9C sub_812BF18: @ 812BF18 push {r4,lr} adds r4, r0, 0 - ldr r0, _0812BF40 @ =gUnknown_30030F0 + ldr r0, _0812BF40 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -1664,7 +1664,7 @@ _0812BF30: movs r0, 0x1 b _0812BF54 .align 2, 0 -_0812BF40: .4byte gUnknown_30030F0 +_0812BF40: .4byte gMain _0812BF44: movs r0, 0xC0 lsls r0, 2 diff --git a/asm/intro.s b/asm/intro.s index 8799502dd..11e6128f0 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -81,7 +81,7 @@ _080EC628: .4byte gUnknown_203AAD4 sub_80EC62C: @ 80EC62C push {r4-r6,lr} sub sp, 0xC - ldr r0, _080EC64C @ =gUnknown_30030F0 + ldr r0, _080EC64C @ =gMain movs r1, 0x87 lsls r1, 3 adds r5, r0, r1 @@ -96,7 +96,7 @@ _080EC640: beq _080EC65E b _080EC732 .align 2, 0 -_080EC64C: .4byte gUnknown_30030F0 +_080EC64C: .4byte gMain _080EC650: cmp r4, 0x8D bne _080EC656 @@ -191,12 +191,12 @@ _080EC65E: movs r0, 0 bl SetGpuReg ldr r0, _080EC76C @ =SerialCb_CopyrightScreen - bl sub_8000718 + bl SetSerialCallback ldr r0, _080EC770 @ =gUnknown_203AAD4 bl GameCubeMultiBoot_Init _080EC732: bl UpdatePaletteFade - ldr r0, _080EC774 @ =gUnknown_30030F0 + ldr r0, _080EC774 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -217,7 +217,7 @@ _080EC764: .4byte 0x0000ffff _080EC768: .4byte sub_80EC5A4 _080EC76C: .4byte SerialCb_CopyrightScreen _080EC770: .4byte gUnknown_203AAD4 -_080EC774: .4byte gUnknown_30030F0 +_080EC774: .4byte gMain _080EC778: ldr r4, _080EC7A0 @ =gUnknown_203AAD4 adds r0, r4, 0 @@ -277,7 +277,7 @@ _080EC7F0: .4byte gMultiBootProgram_PokemonColosseum_Start _080EC7F4: bl GameCubeMultiBoot_Quit ldr r0, _080EC804 @ =SerialCB - bl sub_8000718 + bl SetSerialCallback _080EC7FE: movs r0, 0 b _080EC814 @@ -298,8 +298,8 @@ _080EC814: _080EC81C: .4byte sub_80EC5B8 thumb_func_end sub_80EC62C - thumb_func_start sub_80EC820 -sub_80EC820: @ 80EC820 + thumb_func_start c2_copyright_1 +c2_copyright_1: @ 80EC820 push {lr} bl sub_80EC62C lsls r0, 24 @@ -318,7 +318,7 @@ sub_80EC820: @ 80EC820 _080EC846: bl Sav2_ClearSetDefault _080EC84A: - ldr r0, _080EC860 @ =gUnknown_300500C + ldr r0, _080EC860 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x15] lsls r0, 31 @@ -329,8 +329,8 @@ _080EC858: bx r0 .align 2, 0 _080EC85C: .4byte gUnknown_30053A0 -_080EC860: .4byte gUnknown_300500C - thumb_func_end sub_80EC820 +_080EC860: .4byte gSaveBlock2Ptr + thumb_func_end c2_copyright_1 thumb_func_start sub_80EC864 sub_80EC864: @ 80EC864 @@ -344,7 +344,7 @@ sub_80EC864: @ 80EC864 sub_80EC870: @ 80EC870 push {r4,lr} sub sp, 0xC - ldr r0, _080EC88C @ =gUnknown_30030F0 + ldr r0, _080EC88C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -357,12 +357,12 @@ sub_80EC870: @ 80EC870 beq _080EC8A0 b _080EC894 .align 2, 0 -_080EC88C: .4byte gUnknown_30030F0 +_080EC88C: .4byte gMain _080EC890: cmp r4, 0x2 beq _080EC988 _080EC894: - ldr r0, _080EC928 @ =gUnknown_30030F0 + ldr r0, _080EC928 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -427,7 +427,7 @@ _080EC8A0: bl sub_8001658 b _080EC9B8 .align 2, 0 -_080EC928: .4byte gUnknown_30030F0 +_080EC928: .4byte gMain _080EC92C: .4byte gHeap _080EC930: .4byte 0x040000d4 _080EC934: .4byte 0x8100c000 @@ -482,7 +482,7 @@ _080EC988: _080EC9B0: .4byte sub_80EC9D4 _080EC9B4: .4byte sub_80EC9EC _080EC9B8: - ldr r1, _080EC9D0 @ =gUnknown_30030F0 + ldr r1, _080EC9D0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -495,7 +495,7 @@ _080EC9C6: pop {r0} bx r0 .align 2, 0 -_080EC9D0: .4byte gUnknown_30030F0 +_080EC9D0: .4byte gMain thumb_func_end sub_80EC870 thumb_func_start sub_80EC9D4 @@ -607,7 +607,7 @@ sub_80ECAB0: @ 80ECAB0 movs r1, 0 bl GetWordTaskArg adds r4, r0, 0 - ldr r0, _080ECAE8 @ =gUnknown_30030F0 + ldr r0, _080ECAE8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xD ands r0, r1 @@ -627,7 +627,7 @@ _080ECAD8: pop {r0} bx r0 .align 2, 0 -_080ECAE8: .4byte gUnknown_30030F0 +_080ECAE8: .4byte gMain _080ECAEC: .4byte sub_80EDBE8 thumb_func_end sub_80ECAB0 @@ -2528,7 +2528,7 @@ _080EDA7C: .align 2, 0 _080EDA94: .4byte sub_80EDBE8 _080EDA98: - ldr r0, _080EDACC @ =gUnknown_30030F0 + ldr r0, _080EDACC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 lsls r0, 1 @@ -2556,7 +2556,7 @@ _080EDAC4: pop {r0} bx r0 .align 2, 0 -_080EDACC: .4byte gUnknown_30030F0 +_080EDACC: .4byte gMain _080EDAD0: .4byte 0xffff0064 _080EDAD4: .4byte 0x00007fff thumb_func_end sub_80ED898 diff --git a/asm/item.s b/asm/item.s index fb3784373..1805be5fe 100644 --- a/asm/item.s +++ b/asm/item.s @@ -8,7 +8,7 @@ thumb_func_start GetBagItemQuantity GetBagItemQuantity: @ 8099DA0 adds r1, r0, 0 - ldr r0, _08099DB8 @ =gUnknown_300500C + ldr r0, _08099DB8 @ =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0xF2 lsls r2, 4 @@ -20,14 +20,14 @@ GetBagItemQuantity: @ 8099DA0 lsrs r0, 16 bx lr .align 2, 0 -_08099DB8: .4byte gUnknown_300500C +_08099DB8: .4byte gSaveBlock2Ptr thumb_func_end GetBagItemQuantity thumb_func_start sub_8099DBC sub_8099DBC: @ 8099DBC lsls r1, 16 lsrs r1, 16 - ldr r2, _08099DD4 @ =gUnknown_300500C + ldr r2, _08099DD4 @ =gSaveBlock2Ptr ldr r2, [r2] movs r3, 0xF2 lsls r3, 4 @@ -37,7 +37,7 @@ sub_8099DBC: @ 8099DBC strh r1, [r0] bx lr .align 2, 0 -_08099DD4: .4byte gUnknown_300500C +_08099DD4: .4byte gSaveBlock2Ptr thumb_func_end sub_8099DBC thumb_func_start GetBagItemId @@ -113,7 +113,7 @@ ApplyNewEncryptionKeyToBagItems_: @ 8099E38 thumb_func_start sub_8099E44 sub_8099E44: @ 8099E44 ldr r1, _08099E84 @ =gUnknown_203988C - ldr r0, _08099E88 @ =gUnknown_3005008 + ldr r0, _08099E88 @ =gSaveBlock1Ptr ldr r2, [r0] movs r3, 0xC4 lsls r3, 2 @@ -145,7 +145,7 @@ sub_8099E44: @ 8099E44 bx lr .align 2, 0 _08099E84: .4byte gUnknown_203988C -_08099E88: .4byte gUnknown_3005008 +_08099E88: .4byte gSaveBlock1Ptr _08099E8C: .4byte 0x0000054c thumb_func_end sub_8099E44 @@ -717,7 +717,7 @@ sub_809A2A4: @ 809A2A4 movs r5, 0xA6 lsls r5, 2 _0809A2AC: - ldr r0, _0809A2D8 @ =gUnknown_3005008 + ldr r0, _0809A2D8 @ =gSaveBlock1Ptr ldr r0, [r0] lsls r3, r4, 2 adds r1, r0, r3 @@ -738,7 +738,7 @@ _0809A2AC: pop {r0} bx r0 .align 2, 0 -_0809A2D8: .4byte gUnknown_3005008 +_0809A2D8: .4byte gSaveBlock1Ptr thumb_func_end sub_809A2A4 thumb_func_start sub_809A2DC @@ -768,7 +768,7 @@ _0809A300: .4byte gUnknown_203988C sub_809A304: @ 809A304 push {lr} movs r1, 0 - ldr r0, _0809A324 @ =gUnknown_3005008 + ldr r0, _0809A324 @ =gSaveBlock1Ptr ldr r2, [r0] movs r3, 0xA6 lsls r3, 2 @@ -784,7 +784,7 @@ _0809A310: adds r0, r1, 0 b _0809A338 .align 2, 0 -_0809A324: .4byte gUnknown_3005008 +_0809A324: .4byte gSaveBlock1Ptr _0809A328: adds r0, r1, 0x1 lsls r0, 24 @@ -804,7 +804,7 @@ sub_809A33C: @ 809A33C push {r4,lr} movs r2, 0 movs r1, 0 - ldr r0, _0809A370 @ =gUnknown_3005008 + ldr r0, _0809A370 @ =gSaveBlock1Ptr ldr r3, [r0] movs r4, 0xA6 lsls r4, 2 @@ -829,7 +829,7 @@ _0809A35C: pop {r1} bx r1 .align 2, 0 -_0809A370: .4byte gUnknown_3005008 +_0809A370: .4byte gSaveBlock1Ptr thumb_func_end sub_809A33C thumb_func_start sub_809A374 @@ -841,7 +841,7 @@ sub_809A374: @ 809A374 lsrs r5, r1, 16 movs r4, 0 _0809A380: - ldr r0, _0809A3AC @ =gUnknown_3005008 + ldr r0, _0809A3AC @ =gSaveBlock1Ptr ldr r2, [r0] lsls r1, r4, 2 adds r0, r2, r1 @@ -862,7 +862,7 @@ _0809A380: movs r0, 0x1 b _0809A3C0 .align 2, 0 -_0809A3AC: .4byte gUnknown_3005008 +_0809A3AC: .4byte gSaveBlock1Ptr _0809A3B0: .4byte 0x0000029a _0809A3B4: adds r0, r4, 0x1 @@ -885,7 +885,7 @@ sub_809A3C8: @ 809A3C8 lsls r1, 16 lsrs r5, r1, 16 movs r3, 0 - ldr r6, _0809A404 @ =gUnknown_3005008 + ldr r6, _0809A404 @ =gSaveBlock1Ptr _0809A3D6: ldr r2, [r6] lsls r1, r3, 2 @@ -909,7 +909,7 @@ _0809A3D6: ble _0809A444 b _0809A456 .align 2, 0 -_0809A404: .4byte gUnknown_3005008 +_0809A404: .4byte gSaveBlock1Ptr _0809A408: .4byte 0x000003e7 _0809A40C: adds r0, r3, 0x1 @@ -924,7 +924,7 @@ _0809A40C: negs r0, r0 cmp r2, r0 beq _0809A456 - ldr r0, _0809A440 @ =gUnknown_3005008 + ldr r0, _0809A440 @ =gSaveBlock1Ptr ldr r0, [r0] lsls r2, 2 adds r1, r0, r2 @@ -938,7 +938,7 @@ _0809A40C: adds r1, r5, 0 b _0809A44E .align 2, 0 -_0809A440: .4byte gUnknown_3005008 +_0809A440: .4byte gSaveBlock1Ptr _0809A444: lsls r1, 16 lsrs r1, 16 @@ -970,7 +970,7 @@ sub_809A460: @ 809A460 cmp r2, 0 beq _0809A4D8 movs r4, 0 - ldr r0, _0809A4E4 @ =gUnknown_3005008 + ldr r0, _0809A4E4 @ =gSaveBlock1Ptr ldr r1, [r0] movs r3, 0xA6 lsls r3, 2 @@ -1026,7 +1026,7 @@ _0809A4D8: pop {r0} bx r0 .align 2, 0 -_0809A4E4: .4byte gUnknown_3005008 +_0809A4E4: .4byte gSaveBlock1Ptr thumb_func_end sub_809A460 thumb_func_start sub_809A4E8 @@ -1040,7 +1040,7 @@ _0809A4EC: adds r6, r1, 0 cmp r4, 0x1D bhi _0809A52E - ldr r0, _0809A53C @ =gUnknown_3005008 + ldr r0, _0809A53C @ =gSaveBlock1Ptr mov r12, r0 lsls r5, r2, 2 movs r7, 0xA6 @@ -1078,13 +1078,13 @@ _0809A52E: pop {r0} bx r0 .align 2, 0 -_0809A53C: .4byte gUnknown_3005008 +_0809A53C: .4byte gSaveBlock1Ptr thumb_func_end sub_809A4E8 thumb_func_start sub_809A540 sub_809A540: @ 809A540 push {lr} - ldr r0, _0809A55C @ =gUnknown_3005008 + ldr r0, _0809A55C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _0809A560 @ =0x00000296 adds r1, r0, r2 @@ -1098,7 +1098,7 @@ sub_809A540: @ 809A540 beq _0809A570 b _0809A572 .align 2, 0 -_0809A55C: .4byte gUnknown_3005008 +_0809A55C: .4byte gSaveBlock1Ptr _0809A560: .4byte 0x00000296 _0809A564: .4byte 0x00000103 _0809A568: @@ -1518,7 +1518,7 @@ _0809A85A: ldr r0, _0809A898 @ =0x00000169 cmp r5, r0 bne _0809A86E - ldr r0, _0809A89C @ =gUnknown_3005008 + ldr r0, _0809A89C @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] movs r0, 0x81 @@ -1545,7 +1545,7 @@ _0809A88C: .align 2, 0 _0809A894: .4byte 0xfea30000 _0809A898: .4byte 0x00000169 -_0809A89C: .4byte gUnknown_3005008 +_0809A89C: .4byte gSaveBlock1Ptr _0809A8A0: .4byte gUnknown_2036DFC thumb_func_end sub_809A824 diff --git a/asm/item_menu.s b/asm/item_menu.s index 0431ce7c9..241805a06 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -213,7 +213,7 @@ _08107F36: thumb_func_start sub_8107F3C sub_8107F3C: @ 8107F3C push {r4,r5,lr} - ldr r0, _08107F58 @ =gUnknown_30030F0 + ldr r0, _08107F58 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -228,7 +228,7 @@ _08107F4E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08107F58: .4byte gUnknown_30030F0 +_08107F58: .4byte gMain _08107F5C: .4byte _08107F60 .align 2, 0 _08107F60: @@ -415,7 +415,7 @@ _081080FA: _08108102: strb r0, [r2, 0x8] _08108104: - ldr r1, _08108118 @ =gUnknown_30030F0 + ldr r1, _08108118 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -425,7 +425,7 @@ _08108104: b _08108134 .align 2, 0 _08108114: .4byte gUnknown_2037AB8 -_08108118: .4byte gUnknown_30030F0 +_08108118: .4byte gMain _0810811C: ldr r0, _0810812C @ =sub_8107EFC bl SetVBlankCallback @@ -643,7 +643,7 @@ _081082D8: lsls r0, 24 cmp r0, 0 bne _08108352 - ldr r0, _08108308 @ =gUnknown_300500C + ldr r0, _08108308 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -655,7 +655,7 @@ _081082D8: b _08108352 .align 2, 0 _08108304: .4byte gUnknown_8E835B4 -_08108308: .4byte gUnknown_300500C +_08108308: .4byte gSaveBlock2Ptr _0810830C: .4byte gUnknown_8E83604 _08108310: bl sub_810ADAC @@ -663,7 +663,7 @@ _08108310: lsrs r0, 24 cmp r0, 0x1 beq _08108326 - ldr r0, _0810832C @ =gUnknown_300500C + ldr r0, _0810832C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -672,7 +672,7 @@ _08108326: ldr r0, _08108330 @ =gUnknown_83D41E4 b _0810834E .align 2, 0 -_0810832C: .4byte gUnknown_300500C +_0810832C: .4byte gSaveBlock2Ptr _08108330: .4byte gUnknown_83D41E4 _08108334: ldr r0, _0810833C @ =gUnknown_83D41EC @@ -1178,7 +1178,7 @@ _08108720: .4byte gUnknown_2021CD0 _08108724: .4byte gUnknown_2021D18 _08108728: .4byte gUnknown_84162B9 _0810872C: - ldr r0, _08108760 @ =gUnknown_3005008 + ldr r0, _08108760 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08108764 @ =0x00000296 adds r0, r1 @@ -1204,7 +1204,7 @@ _08108752: pop {r0} bx r0 .align 2, 0 -_08108760: .4byte gUnknown_3005008 +_08108760: .4byte gSaveBlock1Ptr _08108764: .4byte 0x00000296 _08108768: .4byte gUnknown_8452F7C thumb_func_end sub_8108654 @@ -2278,7 +2278,7 @@ _08108F4A: beq _08108F8C cmp r0, 0x2 beq _08108F94 - ldr r0, _08108F88 @ =gUnknown_30030F0 + ldr r0, _08108F88 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -2294,7 +2294,7 @@ _08108F78: .4byte gUnknown_3005098 _08108F7C: .4byte gUnknown_2037AB8 _08108F80: .4byte sub_8108CFC _08108F84: .4byte gUnknown_203ACFC -_08108F88: .4byte gUnknown_30030F0 +_08108F88: .4byte gMain _08108F8C: movs r1, 0x1 negs r1, r1 @@ -2537,7 +2537,7 @@ sub_8109168: @ 8109168 bl GetLRKeysState lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _081091A8 @ =gUnknown_30030F0 + ldr r0, _081091A8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x20 ands r0, r1 @@ -2554,7 +2554,7 @@ _08109194: b _081091C8 .align 2, 0 _081091A4: .4byte gUnknown_203AD10 -_081091A8: .4byte gUnknown_30030F0 +_081091A8: .4byte gMain _081091AC: movs r0, 0x10 ands r0, r1 @@ -2950,7 +2950,7 @@ sub_81094B0: @ 81094B0 lsrs r1, 16 movs r0, 0 bl sub_80986A8 - ldr r0, _08109540 @ =gUnknown_30030F0 + ldr r0, _08109540 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -2978,7 +2978,7 @@ sub_81094B0: @ 81094B0 .align 2, 0 _08109538: .4byte gUnknown_3005098 _0810953C: .4byte gUnknown_203ACFC -_08109540: .4byte gUnknown_30030F0 +_08109540: .4byte gMain _08109544: .4byte gUnknown_203AD10 _08109548: movs r0, 0x2 @@ -3587,7 +3587,7 @@ _08109A34: strb r0, [r3] movs r0, 0x4 strb r0, [r2, 0x2] - ldr r0, _08109A68 @ =gUnknown_3005008 + ldr r0, _08109A68 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08109A6C @ =0x00000296 adds r0, r1 @@ -3603,7 +3603,7 @@ _08109A34: _08109A5C: .4byte gUnknown_203AD24 _08109A60: .4byte gUnknown_203AD20 _08109A64: .4byte gUnknown_203AD28 -_08109A68: .4byte gUnknown_3005008 +_08109A68: .4byte gSaveBlock1Ptr _08109A6C: .4byte 0x00000296 _08109A70: .4byte gUnknown_203AD30 _08109A74: @@ -4048,7 +4048,7 @@ sub_8109DEC: @ 8109DEC .align 2, 0 _08109E1C: .4byte gUnknown_3005098 _08109E20: - ldr r0, _08109E60 @ =gUnknown_30030F0 + ldr r0, _08109E60 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4072,7 +4072,7 @@ _08109E20: bl sub_8109D38 b _08109EA2 .align 2, 0 -_08109E60: .4byte gUnknown_30030F0 +_08109E60: .4byte gMain _08109E64: movs r0, 0x2 ands r0, r1 @@ -4184,7 +4184,7 @@ sub_8109F44: @ 8109F44 lsls r0, 3 ldr r1, _08109FEC @ =gUnknown_3005098 adds r7, r0, r1 - ldr r0, _08109FF0 @ =gUnknown_30030F0 + ldr r0, _08109FF0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4248,7 +4248,7 @@ _08109FE0: bx r0 .align 2, 0 _08109FEC: .4byte gUnknown_3005098 -_08109FF0: .4byte gUnknown_30030F0 +_08109FF0: .4byte gMain _08109FF4: .4byte gUnknown_203AD30 _08109FF8: .4byte gUnknown_203ACFC _08109FFC: .4byte gUnknown_3005E70 @@ -4276,7 +4276,7 @@ sub_810A000: @ 810A000 bl sub_809A798 lsls r0, 16 lsrs r2, r0, 16 - ldr r0, _0810A048 @ =gUnknown_3005008 + ldr r0, _0810A048 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r3, _0810A04C @ =0x00000296 adds r1, r0, r3 @@ -4289,7 +4289,7 @@ sub_810A000: @ 810A000 .align 2, 0 _0810A040: .4byte gUnknown_3005098 _0810A044: .4byte gUnknown_203ACFC -_0810A048: .4byte gUnknown_3005008 +_0810A048: .4byte gSaveBlock1Ptr _0810A04C: .4byte 0x00000296 _0810A050: strh r2, [r1] @@ -4473,7 +4473,7 @@ sub_810A1D0: @ 810A1D0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810A1F4 @ =gUnknown_30030F0 + ldr r0, _0810A1F4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4488,7 +4488,7 @@ _0810A1EE: pop {r0} bx r0 .align 2, 0 -_0810A1F4: .4byte gUnknown_30030F0 +_0810A1F4: .4byte gMain thumb_func_end sub_810A1D0 thumb_func_start sub_810A1F8 @@ -5326,7 +5326,7 @@ sub_810A85C: @ 810A85C _0810A8B4: .4byte gUnknown_3005098 _0810A8B8: .4byte gUnknown_203ACFC _0810A8BC: - ldr r0, _0810A8EC @ =gUnknown_30030F0 + ldr r0, _0810A8EC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -5345,7 +5345,7 @@ _0810A8BC: bl sub_810A690 b _0810A93A .align 2, 0 -_0810A8EC: .4byte gUnknown_30030F0 +_0810A8EC: .4byte gMain _0810A8F0: movs r0, 0x2 ands r0, r1 @@ -5465,7 +5465,7 @@ sub_810A9D4: @ 810A9D4 mov r2, r8 ldrh r1, [r2, 0x10] bl sub_809A1D8 - ldr r3, _0810AAE0 @ =gUnknown_3005008 + ldr r3, _0810AAE0 @ =gSaveBlock1Ptr ldr r4, [r3] movs r7, 0xA4 lsls r7, 2 @@ -5536,7 +5536,7 @@ sub_810A9D4: @ 810A9D4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r2, _0810AAE0 @ =gUnknown_3005008 + ldr r2, _0810AAE0 @ =gSaveBlock1Ptr ldr r0, [r2] adds r0, r7 bl sub_809FD58 @@ -5560,7 +5560,7 @@ sub_810A9D4: @ 810A9D4 .align 2, 0 _0810AAD8: .4byte gUnknown_3005098 _0810AADC: .4byte gUnknown_203AD30 -_0810AAE0: .4byte gUnknown_3005008 +_0810AAE0: .4byte gSaveBlock1Ptr _0810AAE4: .4byte gUnknown_203ACFC _0810AAE8: .4byte gUnknown_203AD10 _0810AAEC: .4byte gUnknown_3005E70 @@ -5572,7 +5572,7 @@ sub_810AAF4: @ 810AAF4 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810AB38 @ =gUnknown_30030F0 + ldr r0, _0810AB38 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -5602,7 +5602,7 @@ _0810AB32: pop {r0} bx r0 .align 2, 0 -_0810AB38: .4byte gUnknown_30030F0 +_0810AB38: .4byte gMain _0810AB3C: .4byte gUnknown_203AD10 thumb_func_end sub_810AAF4 @@ -5672,7 +5672,7 @@ sub_810AB88: @ 810AB88 .align 2, 0 _0810ABB8: .4byte gUnknown_3005098 _0810ABBC: - ldr r0, _0810ABFC @ =gUnknown_30030F0 + ldr r0, _0810ABFC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -5696,7 +5696,7 @@ _0810ABBC: bl sub_810AC40 b _0810AC38 .align 2, 0 -_0810ABFC: .4byte gUnknown_30030F0 +_0810ABFC: .4byte gMain _0810AC00: movs r0, 0x2 ands r0, r1 @@ -5831,7 +5831,7 @@ _0810AD1E: movs r1, 0 movs r2, 0 bl ChangeBgY - ldr r4, _0810AD80 @ =gUnknown_3005008 + ldr r4, _0810AD80 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r5, _0810AD84 @ =0x00000296 adds r1, r0, r5 @@ -5867,7 +5867,7 @@ _0810AD1E: strh r6, [r1, 0xE] b _0810AD9E .align 2, 0 -_0810AD80: .4byte gUnknown_3005008 +_0810AD80: .4byte gSaveBlock1Ptr _0810AD84: .4byte 0x00000296 _0810AD88: .4byte gUnknown_203AD30 _0810AD8C: .4byte gUnknown_3005090 @@ -5926,7 +5926,7 @@ sub_810ADD8: @ 810ADD8 lsls r0, 1 bl AllocZeroed str r0, [r5] - ldr r4, _0810AEC0 @ =gUnknown_3005008 + ldr r4, _0810AEC0 @ =gSaveBlock1Ptr ldr r1, [r4] movs r2, 0xC4 lsls r2, 2 @@ -5995,7 +5995,7 @@ _0810AE54: adds r4, 0x1 cmp r4, 0x2 bls _0810AE54 - ldr r4, _0810AEC0 @ =gUnknown_3005008 + ldr r4, _0810AEC0 @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xC4 lsls r1, 2 @@ -6027,7 +6027,7 @@ _0810AE54: bx r0 .align 2, 0 _0810AEBC: .4byte gUnknown_203AD2C -_0810AEC0: .4byte gUnknown_3005008 +_0810AEC0: .4byte gSaveBlock1Ptr _0810AEC4: .4byte 0x00000296 _0810AEC8: .4byte gUnknown_203ACFC thumb_func_end sub_810ADD8 @@ -6035,7 +6035,7 @@ _0810AEC8: .4byte gUnknown_203ACFC thumb_func_start sub_810AECC sub_810AECC: @ 810AECC push {r4-r7,lr} - ldr r4, _0810AF64 @ =gUnknown_3005008 + ldr r4, _0810AF64 @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xC4 lsls r1, 2 @@ -6108,7 +6108,7 @@ _0810AF3A: pop {r0} bx r0 .align 2, 0 -_0810AF64: .4byte gUnknown_3005008 +_0810AF64: .4byte gSaveBlock1Ptr _0810AF68: .4byte gUnknown_203AD2C _0810AF6C: .4byte 0x00000296 _0810AF70: .4byte gUnknown_203ACFC @@ -6371,7 +6371,7 @@ sub_810B180: @ 810B180 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810B198 @ =gUnknown_30030F0 + ldr r0, _0810B198 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -6380,7 +6380,7 @@ sub_810B180: @ 810B180 movs r0, 0 b _0810B1BC .align 2, 0 -_0810B198: .4byte gUnknown_30030F0 +_0810B198: .4byte gMain _0810B19C: bl sub_810AECC bl sub_815AC20 @@ -6512,7 +6512,7 @@ _0810B290: _0810B29E: movs r0, 0x5 bl sub_80722CC - ldr r0, _0810B318 @ =gUnknown_3005008 + ldr r0, _0810B318 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0810B31C @ =gUnknown_203AD30 ldrh r1, [r1] @@ -6561,13 +6561,13 @@ _0810B29E: bl CopyWindowToVram b _0810B36C .align 2, 0 -_0810B318: .4byte gUnknown_3005008 +_0810B318: .4byte gSaveBlock1Ptr _0810B31C: .4byte gUnknown_203AD30 _0810B320: .4byte 0x00000296 _0810B324: .4byte gUnknown_203ACFC _0810B328: .4byte gUnknown_3005E70 _0810B32C: - ldr r1, _0810B340 @ =gUnknown_30030F0 + ldr r1, _0810B340 @ =gMain movs r0, 0 strh r0, [r1, 0x2E] movs r0, 0x80 @@ -6576,7 +6576,7 @@ _0810B32C: bl ListMenuHandleInput b _0810B36C .align 2, 0 -_0810B340: .4byte gUnknown_30030F0 +_0810B340: .4byte gMain _0810B344: movs r0, 0x5 bl sub_80722CC @@ -6686,15 +6686,15 @@ _0810B408: bl sub_81091D0 b _0810B4B0 _0810B41A: - ldr r1, _0810B424 @ =gUnknown_30030F0 + ldr r1, _0810B424 @ =gMain movs r0, 0 strh r0, [r1, 0x2E] movs r0, 0x80 b _0810B430 .align 2, 0 -_0810B424: .4byte gUnknown_30030F0 +_0810B424: .4byte gMain _0810B428: - ldr r1, _0810B43C @ =gUnknown_30030F0 + ldr r1, _0810B43C @ =gMain movs r0, 0 strh r0, [r1, 0x2E] movs r0, 0x40 @@ -6704,7 +6704,7 @@ _0810B430: bl ListMenuHandleInput b _0810B4B0 .align 2, 0 -_0810B43C: .4byte gUnknown_30030F0 +_0810B43C: .4byte gMain _0810B440: movs r0, 0x5 bl sub_80722CC @@ -6813,14 +6813,14 @@ _0810B51E: beq _0810B564 b _0810B5C0 _0810B528: - ldr r0, _0810B538 @ =gUnknown_30030F0 + ldr r0, _0810B538 @ =gMain strh r6, [r0, 0x2E] strh r7, [r0, 0x30] ldrb r0, [r5] bl ListMenuHandleInput b _0810B5C0 .align 2, 0 -_0810B538: .4byte gUnknown_30030F0 +_0810B538: .4byte gMain _0810B53C: movs r0, 0x5 bl sub_80722CC @@ -6946,14 +6946,14 @@ _0810B63C: bl sub_81091D0 b _0810B6E0 _0810B64E: - ldr r0, _0810B65C @ =gUnknown_30030F0 + ldr r0, _0810B65C @ =gMain strh r5, [r0, 0x2E] strh r7, [r0, 0x30] ldrb r0, [r6] bl ListMenuHandleInput b _0810B6E0 .align 2, 0 -_0810B65C: .4byte gUnknown_30030F0 +_0810B65C: .4byte gMain _0810B660: movs r0, 0x5 bl sub_80722CC diff --git a/asm/item_pc.s b/asm/item_pc.s index 239cc0f6e..e0c626933 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -117,7 +117,7 @@ _0810D4BA: sub_810D4C0: @ 810D4C0 push {r4,lr} sub sp, 0x4 - ldr r0, _0810D4E0 @ =gUnknown_30030F0 + ldr r0, _0810D4E0 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -132,7 +132,7 @@ _0810D4D4: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0810D4E0: .4byte gUnknown_30030F0 +_0810D4E0: .4byte gMain _0810D4E4: .4byte _0810D4E8 .align 2, 0 _0810D4E8: @@ -304,7 +304,7 @@ _0810D668: cmp r0, 0x1 beq _0810D6A0 _0810D674: - ldr r1, _0810D684 @ =gUnknown_30030F0 + ldr r1, _0810D684 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -313,7 +313,7 @@ _0810D674: strb r0, [r1] b _0810D6A0 .align 2, 0 -_0810D684: .4byte gUnknown_30030F0 +_0810D684: .4byte gMain _0810D688: ldr r0, _0810D698 @ =sub_810D48C bl SetVBlankCallback @@ -561,7 +561,7 @@ sub_810D878: @ 810D878 movs r4, 0 b _0810D8A4 _0810D87E: - ldr r0, _0810D938 @ =gUnknown_3005008 + ldr r0, _0810D938 @ =gSaveBlock1Ptr ldr r0, [r0] lsls r1, r4, 2 adds r0, r1 @@ -654,7 +654,7 @@ _0810D8A4: pop {r0} bx r0 .align 2, 0 -_0810D938: .4byte gUnknown_3005008 +_0810D938: .4byte gSaveBlock1Ptr _0810D93C: .4byte gUnknown_203ADC4 _0810D940: .4byte gUnknown_203ADBC _0810D944: .4byte gUnknown_84161C1 @@ -1198,7 +1198,7 @@ _0810DD64: .4byte gUnknown_203ADCC thumb_func_start sub_810DD68 sub_810DD68: @ 810DD68 lsls r0, 16 - ldr r1, _0810DD7C @ =gUnknown_3005008 + ldr r1, _0810DD7C @ =gSaveBlock1Ptr ldr r1, [r1] lsrs r0, 14 adds r1, r0 @@ -1208,14 +1208,14 @@ sub_810DD68: @ 810DD68 ldrh r0, [r1] bx lr .align 2, 0 -_0810DD7C: .4byte gUnknown_3005008 +_0810DD7C: .4byte gSaveBlock1Ptr thumb_func_end sub_810DD68 thumb_func_start sub_810DD80 sub_810DD80: @ 810DD80 push {lr} lsls r0, 16 - ldr r1, _0810DD9C @ =gUnknown_3005008 + ldr r1, _0810DD9C @ =gSaveBlock1Ptr lsrs r0, 14 ldr r1, [r1] adds r0, r1 @@ -1227,7 +1227,7 @@ sub_810DD80: @ 810DD80 pop {r1} bx r1 .align 2, 0 -_0810DD9C: .4byte gUnknown_3005008 +_0810DD9C: .4byte gSaveBlock1Ptr _0810DDA0: .4byte 0x0000029a thumb_func_end sub_810DD80 @@ -1240,7 +1240,7 @@ sub_810DDA4: @ 810DDA4 movs r0, 0 strb r0, [r1, 0x7] movs r2, 0 - ldr r3, _0810DE04 @ =gUnknown_3005008 + ldr r3, _0810DE04 @ =gSaveBlock1Ptr ldr r0, [r3] movs r1, 0xA6 lsls r1, 2 @@ -1283,7 +1283,7 @@ _0810DDF8: bx r0 .align 2, 0 _0810DE00: .4byte gUnknown_203ADBC -_0810DE04: .4byte gUnknown_3005008 +_0810DE04: .4byte gSaveBlock1Ptr thumb_func_end sub_810DDA4 thumb_func_start sub_810DE08 @@ -1392,7 +1392,7 @@ sub_810DEA0: @ 810DEA0 lsls r0, 24 cmp r0, 0 bne _0810DF9E - ldr r0, _0810DF18 @ =gUnknown_30030F0 + ldr r0, _0810DF18 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -1427,7 +1427,7 @@ sub_810DEA0: @ 810DEA0 .align 2, 0 _0810DF10: .4byte gUnknown_3005098 _0810DF14: .4byte gUnknown_2037AB8 -_0810DF18: .4byte gUnknown_30030F0 +_0810DF18: .4byte gMain _0810DF1C: .4byte gUnknown_203ADBC _0810DF20: ldrb r0, [r6] @@ -1640,7 +1640,7 @@ sub_810E0B4: @ 810E0B4 lsrs r1, 16 adds r0, r5, 0 bl sub_80986A8 - ldr r0, _0810E124 @ =gUnknown_30030F0 + ldr r0, _0810E124 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x5 ands r0, r1 @@ -1662,7 +1662,7 @@ sub_810E0B4: @ 810E0B4 .align 2, 0 _0810E11C: .4byte gUnknown_3005098 _0810E120: .4byte gUnknown_203ADD0 -_0810E124: .4byte gUnknown_30030F0 +_0810E124: .4byte gMain _0810E128: .4byte gUnknown_203ADBC _0810E12C: movs r0, 0x2 @@ -1720,7 +1720,7 @@ _0810E186: .align 2, 0 _0810E190: .4byte gUnknown_3005098 _0810E194: - ldr r0, _0810E1F0 @ =gUnknown_3005008 + ldr r0, _0810E1F0 @ =gSaveBlock1Ptr ldr r0, [r0] movs r2, 0xA6 lsls r2, 2 @@ -1764,7 +1764,7 @@ _0810E1E6: pop {r0} bx r0 .align 2, 0 -_0810E1F0: .4byte gUnknown_3005008 +_0810E1F0: .4byte gSaveBlock1Ptr _0810E1F4: .4byte gUnknown_203ADD0 _0810E1F8: .4byte gUnknown_3005E70 _0810E1FC: .4byte sub_810DEA0 @@ -2127,7 +2127,7 @@ sub_810E4F4: @ 810E4F4 lsls r0, 3 ldr r1, _0810E540 @ =gUnknown_3005098 adds r5, r0, r1 - ldr r0, _0810E544 @ =gUnknown_30030F0 + ldr r0, _0810E544 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2155,7 +2155,7 @@ _0810E53A: bx r0 .align 2, 0 _0810E540: .4byte gUnknown_3005098 -_0810E544: .4byte gUnknown_30030F0 +_0810E544: .4byte gMain thumb_func_end sub_810E4F4 thumb_func_start sub_810E548 @@ -2163,7 +2163,7 @@ sub_810E548: @ 810E548 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0810E574 @ =gUnknown_30030F0 + ldr r0, _0810E574 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2183,7 +2183,7 @@ _0810E56E: pop {r0} bx r0 .align 2, 0 -_0810E574: .4byte gUnknown_30030F0 +_0810E574: .4byte gMain thumb_func_end sub_810E548 thumb_func_start sub_810E578 @@ -2369,7 +2369,7 @@ sub_810E6D8: @ 810E6D8 .align 2, 0 _0810E708: .4byte gUnknown_3005098 _0810E70C: - ldr r0, _0810E74C @ =gUnknown_30030F0 + ldr r0, _0810E74C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2393,7 +2393,7 @@ _0810E70C: bl sub_810E418 b _0810E796 .align 2, 0 -_0810E74C: .4byte gUnknown_30030F0 +_0810E74C: .4byte gMain _0810E750: movs r0, 0x2 ands r0, r1 @@ -2518,7 +2518,7 @@ sub_810E848: @ 810E848 lsls r0, 3 ldr r1, _0810E898 @ =gUnknown_3005098 adds r5, r0, r1 - ldr r0, _0810E89C @ =gUnknown_30030F0 + ldr r0, _0810E89C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2546,7 +2546,7 @@ _0810E892: bx r0 .align 2, 0 _0810E898: .4byte gUnknown_3005098 -_0810E89C: .4byte gUnknown_30030F0 +_0810E89C: .4byte gMain thumb_func_end sub_810E848 thumb_func_start sub_810E8A0 diff --git a/asm/item_use.s b/asm/item_use.s index 63cd71e10..cd83baa59 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -1778,7 +1778,7 @@ sub_80A1D9C: @ 80A1D9C cmp r0, 0x2 bne _080A1DD2 _080A1DB2: - ldr r0, _080A1DEC @ =gUnknown_3005008 + ldr r0, _080A1DEC @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -1806,7 +1806,7 @@ _080A1DD2: b _080A1E00 .align 2, 0 _080A1DE8: .4byte gUnknown_2036DFC -_080A1DEC: .4byte gUnknown_3005008 +_080A1DEC: .4byte gSaveBlock1Ptr _080A1DF0: .4byte gUnknown_3005090 _080A1DF4: ldr r1, _080A1E04 @ =gUnknown_2039998 @@ -1982,7 +1982,7 @@ sub_80A1F48: @ 80A1F48 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _080A1F74 @ =gUnknown_30030F0 + ldr r0, _080A1F74 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2001,7 +2001,7 @@ _080A1F6C: pop {r0} bx r0 .align 2, 0 -_080A1F74: .4byte gUnknown_30030F0 +_080A1F74: .4byte gMain thumb_func_end sub_80A1F48 thumb_func_start sub_80A1F78 diff --git a/asm/learn_move.s b/asm/learn_move.s index 70ec808d5..9f2629f6b 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -979,7 +979,7 @@ _080E4EA8: .align 2, 0 _080E4EBC: .4byte gUnknown_203AAB4 _080E4EC0: - ldr r0, _080E4EE8 @ =gUnknown_30030F0 + ldr r0, _080E4EE8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1003,7 +1003,7 @@ _080E4EDA: pop {r0} bx r0 .align 2, 0 -_080E4EE8: .4byte gUnknown_30030F0 +_080E4EE8: .4byte gMain _080E4EEC: .4byte gUnknown_203AAB4 thumb_func_end sub_80E48F4 @@ -1410,7 +1410,7 @@ sub_80E5204: @ 80E5204 adds r0, r1 ldrb r0, [r0] bl ListMenuHandleInput - ldr r0, _080E5260 @ =gUnknown_30030F0 + ldr r0, _080E5260 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1443,7 +1443,7 @@ sub_80E5204: @ 80E5204 .align 2, 0 _080E5258: .4byte gUnknown_203AAB4 _080E525C: .4byte 0x00000263 -_080E5260: .4byte gUnknown_30030F0 +_080E5260: .4byte gMain _080E5264: .4byte 0x00000a67 _080E5268: .4byte gUnknown_2021CF0 _080E526C: .4byte gUnknown_841E3FB diff --git a/asm/link.s b/asm/link.s index 5f29d6806..9d975387d 100644 --- a/asm/link.s +++ b/asm/link.s @@ -30,7 +30,7 @@ _08009498: beq _080094C4 bl sub_800B210 bl sub_80098B8 - bl sub_8000874 + bl RestoreSerialTimer3IntrHandlers movs r0, 0 b _080094CE .align 2, 0 @@ -237,13 +237,13 @@ sub_8009640: @ 8009640 adds r0, r2, 0 strh r0, [r1] bl sub_8009804 - ldr r0, _080096E0 @ =gUnknown_30030F0 + ldr r0, _080096E0 @ =gMain ldrh r0, [r0, 0x24] bl SeedRng movs r4, 0 _08009670: bl Random - ldr r1, _080096E4 @ =gUnknown_300500C + ldr r1, _080096E4 @ =gSaveBlock2Ptr ldr r1, [r1] adds r1, 0xA adds r1, r4 @@ -285,8 +285,8 @@ _08009670: _080096D4: .4byte sub_800978C _080096D8: .4byte gUnknown_202271A _080096DC: .4byte 0x00001111 -_080096E0: .4byte gUnknown_30030F0 -_080096E4: .4byte gUnknown_300500C +_080096E0: .4byte gMain +_080096E4: .4byte gSaveBlock2Ptr _080096E8: .4byte sub_80094D4 _080096EC: .4byte gUnknown_3000E58 _080096F0: .4byte task00_link_test @@ -308,7 +308,7 @@ _08009704: .4byte gUnknown_2022720 sub_8009708: @ 8009708 push {r4,r5,lr} ldr r5, _08009774 @ =gUnknown_2022720 - ldr r4, _08009778 @ =gUnknown_300500C + ldr r4, _08009778 @ =gSaveBlock2Ptr ldr r1, [r4] ldrb r2, [r1, 0xA] ldrb r0, [r1, 0xB] @@ -330,10 +330,10 @@ sub_8009708: @ 8009708 ldr r0, _0800977C @ =gUnknown_202271A ldrh r0, [r0] str r0, [r5, 0x14] - ldr r0, _08009780 @ =gUnknown_81E9F11 + ldr r0, _08009780 @ =gGameLanguage ldrb r0, [r0] strh r0, [r5, 0x1A] - ldr r0, _08009784 @ =gUnknown_81E9F10 + ldr r0, _08009784 @ =gGameVersion ldrb r0, [r0] movs r2, 0x80 lsls r2, 7 @@ -360,10 +360,10 @@ _0800976E: bx r0 .align 2, 0 _08009774: .4byte gUnknown_2022720 -_08009778: .4byte gUnknown_300500C +_08009778: .4byte gSaveBlock2Ptr _0800977C: .4byte gUnknown_202271A -_08009780: .4byte gUnknown_81E9F11 -_08009784: .4byte gUnknown_81E9F10 +_08009780: .4byte gGameLanguage +_08009784: .4byte gGameVersion _08009788: .4byte 0x00000844 thumb_func_end sub_8009708 @@ -443,7 +443,7 @@ sub_8009804: @ 8009804 ldr r1, _08009850 @ =gUnknown_3003F80 ldr r0, _08009854 @ =sub_800A720 str r0, [r1] - ldr r0, _08009858 @ =gUnknown_300357C + ldr r0, _08009858 @ =gLinkVSyncDisabled strb r4, [r0] ldr r0, _0800985C @ =gUnknown_3003EAC strb r4, [r0] @@ -467,7 +467,7 @@ sub_8009804: @ 8009804 _0800984C: .4byte gUnknown_3003F3C _08009850: .4byte gUnknown_3003F80 _08009854: .4byte sub_800A720 -_08009858: .4byte gUnknown_300357C +_08009858: .4byte gLinkVSyncDisabled _0800985C: .4byte gUnknown_3003EAC _08009860: .4byte gUnknown_3003F38 _08009864: .4byte gUnknown_3000E4C @@ -647,7 +647,7 @@ _080099CC: .4byte gUnknown_2022111 LinkTestProcessKeyInput: @ 80099D0 push {r4,r5,lr} sub sp, 0x4 - ldr r4, _08009A70 @ =gUnknown_30030F0 + ldr r4, _08009A70 @ =gMain ldrh r1, [r4, 0x2E] movs r0, 0x1 ands r0, r1 @@ -710,7 +710,7 @@ _08009A46: cmp r0, 0 beq _08009A66 ldr r2, [r4, 0x24] - ldr r0, _08009A84 @ =gUnknown_300357C + ldr r0, _08009A84 @ =gLinkVSyncDisabled ldrb r1, [r0] ldr r0, _08009A88 @ =gUnknown_3003F80 ldr r0, [r0] @@ -727,12 +727,12 @@ _08009A66: pop {r0} bx r0 .align 2, 0 -_08009A70: .4byte gUnknown_30030F0 +_08009A70: .4byte gMain _08009A74: .4byte gUnknown_3003F84 _08009A78: .4byte gHeap + 0x4000 _08009A7C: .4byte 0x00002004 _08009A80: .4byte gUnknown_2022110 -_08009A84: .4byte gUnknown_300357C +_08009A84: .4byte gLinkVSyncDisabled _08009A88: .4byte gUnknown_3003F80 thumb_func_end LinkTestProcessKeyInput @@ -1327,12 +1327,12 @@ _08009F18: .4byte gUnknown_202271A _08009F1C: ldr r0, _08009F28 @ =gUnknown_3003F50 strh r2, [r0] - ldr r1, _08009F2C @ =gUnknown_30030F0 + ldr r1, _08009F2C @ =gMain ldrh r1, [r1, 0x2C] b _08009FD4 .align 2, 0 _08009F28: .4byte gUnknown_3003F50 -_08009F2C: .4byte gUnknown_30030F0 +_08009F2C: .4byte gMain _08009F30: ldr r0, _08009F38 @ =gUnknown_3003F50 movs r1, 0 @@ -1408,7 +1408,7 @@ _08009FC0: ldrh r1, [r0] cmp r1, 0 beq _08009FD6 - ldr r0, _08009FE0 @ =gUnknown_30030E4 + ldr r0, _08009FE0 @ =gLinkTransferringData ldrb r0, [r0] cmp r0, 0 bne _08009FD6 @@ -1422,7 +1422,7 @@ _08009FD6: bx r0 .align 2, 0 _08009FDC: .4byte gUnknown_3005028 -_08009FE0: .4byte gUnknown_30030E4 +_08009FE0: .4byte gLinkTransferringData _08009FE4: .4byte gUnknown_3003F50 thumb_func_end sub_8009E60 @@ -3042,7 +3042,7 @@ _0800AB5C: ldr r1, _0800AB8C @ =0x0000ffdf ands r0, r1 str r0, [r2] - ldr r0, _0800AB90 @ =gUnknown_300357C + ldr r0, _0800AB90 @ =gLinkVSyncDisabled movs r4, 0x1 strb r4, [r0] bl sub_80098B8 @@ -3059,7 +3059,7 @@ _0800AB7E: _0800AB84: .4byte gUnknown_3003F30 _0800AB88: .4byte gUnknown_2022B4C _0800AB8C: .4byte 0x0000ffdf -_0800AB90: .4byte gUnknown_300357C +_0800AB90: .4byte gLinkVSyncDisabled _0800AB94: .4byte gUnknown_3003F80 _0800AB98: .4byte gUnknown_3003F24 thumb_func_end sub_800AB38 @@ -3312,14 +3312,14 @@ _0800AD30: movs r1, 0xF0 movs r2, 0x20 bl LoadPalette - ldr r1, _0800AE0C @ =gUnknown_3003530 + ldr r1, _0800AE0C @ =gSoftResetDisabled movs r0, 0 strb r0, [r1] ldr r0, _0800AE10 @ =sub_80094D4 movs r1, 0 bl CreateTask bl StopMapMusic - ldr r1, _0800AE14 @ =gUnknown_30030F0 + ldr r1, _0800AE14 @ =gMain movs r0, 0 str r0, [r1] bl RunTasks @@ -3344,9 +3344,9 @@ _0800ADFC: .4byte gUnknown_82345E8 _0800AE00: .4byte gUnknown_2022860 _0800AE04: .4byte gUnknown_82345F0 _0800AE08: .4byte gUnknown_841F408 -_0800AE0C: .4byte gUnknown_3003530 +_0800AE0C: .4byte gSoftResetDisabled _0800AE10: .4byte sub_80094D4 -_0800AE14: .4byte gUnknown_30030F0 +_0800AE14: .4byte gMain _0800AE18: .4byte sub_800AF2C thumb_func_end c2_800ACD4 @@ -3469,7 +3469,7 @@ _0800AF28: .4byte gUnknown_841DE9D sub_800AF2C: @ 800AF2C push {r4,lr} sub sp, 0xC - ldr r0, _0800AF4C @ =gUnknown_30030F0 + ldr r0, _0800AF4C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -3484,7 +3484,7 @@ sub_800AF2C: @ 800AF2C beq _0800AF72 b _0800AFC4 .align 2, 0 -_0800AF4C: .4byte gUnknown_30030F0 +_0800AF4C: .4byte gMain _0800AF50: cmp r0, 0x5A beq _0800AF72 @@ -3543,7 +3543,7 @@ _0800AFA8: movs r3, 0x14 bl box_print _0800AFC4: - ldr r0, _0800B004 @ =gUnknown_30030F0 + ldr r0, _0800B004 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r0, r2 @@ -3571,7 +3571,7 @@ _0800AFC4: .align 2, 0 _0800AFFC: .4byte gUnknown_8234610 _0800B000: .4byte gUnknown_841DF4C -_0800B004: .4byte gUnknown_30030F0 +_0800B004: .4byte gMain _0800B008: .4byte gUnknown_3003F3C _0800B00C: .4byte gUnknown_2022854 _0800B010: @@ -3585,9 +3585,9 @@ _0800B010: bl sub_812B484 bl rfu_REQ_stopMode bl rfu_waitREQComplete - bl sub_80008D8 + bl DoSoftReset _0800B02E: - ldr r0, _0800B050 @ =gUnknown_30030F0 + ldr r0, _0800B050 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r0, r2 @@ -3607,7 +3607,7 @@ _0800B048: pop {r0} bx r0 .align 2, 0 -_0800B050: .4byte gUnknown_30030F0 +_0800B050: .4byte gMain thumb_func_end sub_800AF2C thumb_func_start GetSioMultiSI @@ -3783,7 +3783,7 @@ HandleLinkConnection: @ 800B178 bl LinkMain1 ldr r4, _0800B1C0 @ =gUnknown_3003F20 str r0, [r4] - ldr r0, _0800B1C4 @ =gUnknown_300311C + ldr r0, _0800B1C4 @ =gMain + 0x2C bl LinkMain2 ldr r0, [r4] movs r1, 0x80 @@ -3803,7 +3803,7 @@ _0800B1B4: .4byte gUnknown_3003F84 _0800B1B8: .4byte gUnknown_3003F50 _0800B1BC: .4byte gUnknown_3003ED0 _0800B1C0: .4byte gUnknown_3003F20 -_0800B1C4: .4byte gUnknown_300311C +_0800B1C4: .4byte gMain + 0x2C _0800B1C8: bl sub_80FAE94 adds r4, r0, 0 @@ -4505,8 +4505,8 @@ _0800B710: .4byte 0x04000208 _0800B714: .4byte gUnknown_3004F74 thumb_func_end sub_800B608 - thumb_func_start sub_800B718 -sub_800B718: @ 800B718 + thumb_func_start LinkVSync +LinkVSync: @ 800B718 push {r4,lr} ldr r3, _0800B740 @ =gUnknown_3003FB0 ldrb r4, [r3] @@ -4568,7 +4568,7 @@ _0800B77E: bx r0 .align 2, 0 _0800B784: .4byte gUnknown_3000E64 - thumb_func_end sub_800B718 + thumb_func_end LinkVSync thumb_func_start Timer3Intr Timer3Intr: @ 800B788 diff --git a/asm/link_rfu.s b/asm/link_rfu.s index b29441cff..3bb3ca1bd 100644 --- a/asm/link_rfu.s +++ b/asm/link_rfu.s @@ -3534,47 +3534,47 @@ _080FEE60: .4byte _080FEF12 .4byte _080FEEEC _080FEE9C: - ldr r0, _080FEEA8 @ =gUnknown_3005008 + ldr r0, _080FEEA8 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _080FEEAC @ =0x00002ca0 adds r1, r0, r2 b _080FEF08 .align 2, 0 -_080FEEA8: .4byte gUnknown_3005008 +_080FEEA8: .4byte gSaveBlock1Ptr _080FEEAC: .4byte 0x00002ca0 _080FEEB0: - ldr r0, _080FEEBC @ =gUnknown_3005008 + ldr r0, _080FEEBC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _080FEEC0 @ =0x00002cac adds r1, r0, r2 b _080FEF08 .align 2, 0 -_080FEEBC: .4byte gUnknown_3005008 +_080FEEBC: .4byte gSaveBlock1Ptr _080FEEC0: .4byte 0x00002cac _080FEEC4: - ldr r0, _080FEED0 @ =gUnknown_3005008 + ldr r0, _080FEED0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _080FEED4 @ =0x00002cb8 adds r1, r0, r2 b _080FEF08 .align 2, 0 -_080FEED0: .4byte gUnknown_3005008 +_080FEED0: .4byte gSaveBlock1Ptr _080FEED4: .4byte 0x00002cb8 _080FEED8: - ldr r0, _080FEEE4 @ =gUnknown_3005008 + ldr r0, _080FEEE4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _080FEEE8 @ =0x00002cc4 adds r1, r0, r2 b _080FEF08 .align 2, 0 -_080FEEE4: .4byte gUnknown_3005008 +_080FEEE4: .4byte gSaveBlock1Ptr _080FEEE8: .4byte 0x00002cc4 _080FEEEC: bl sub_8143DA8 adds r1, r0, 0 b _080FEF08 _080FEEF4: - ldr r2, _080FEF18 @ =gUnknown_3005008 + ldr r2, _080FEF18 @ =gSaveBlock1Ptr ldr r0, _080FEF1C @ =gUnknown_20370C2 ldrh r1, [r0] lsls r0, r1, 3 @@ -3593,7 +3593,7 @@ _080FEF12: pop {r0} bx r0 .align 2, 0 -_080FEF18: .4byte gUnknown_3005008 +_080FEF18: .4byte gSaveBlock1Ptr _080FEF1C: .4byte gUnknown_20370C2 _080FEF20: .4byte 0x00002cd0 _080FEF24: .4byte gUnknown_20370C0 @@ -3794,7 +3794,7 @@ _080FF094: thumb_func_start sub_80FF098 sub_80FF098: @ 80FF098 push {r4-r7,lr} - ldr r0, _080FF0C0 @ =gUnknown_30030F0 + ldr r0, _080FF0C0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3814,7 +3814,7 @@ sub_80FF098: @ 80FF098 movs r0, 0x9 b _080FF1FC .align 2, 0 -_080FF0C0: .4byte gUnknown_30030F0 +_080FF0C0: .4byte gMain _080FF0C4: .4byte gUnknown_203ACE8 _080FF0C8: movs r0, 0x20 @@ -3994,7 +3994,7 @@ _080FF208: .4byte 0x00040100 thumb_func_start sub_80FF20C sub_80FF20C: @ 80FF20C push {r4-r6,lr} - ldr r2, _080FF22C @ =gUnknown_30030F0 + ldr r2, _080FF22C @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4009,7 +4009,7 @@ sub_80FF20C: @ 80FF20C beq _080FF26A b _080FF254 .align 2, 0 -_080FF22C: .4byte gUnknown_30030F0 +_080FF22C: .4byte gMain _080FF230: .4byte gUnknown_203ACE8 _080FF234: movs r0, 0x20 @@ -4176,7 +4176,7 @@ _080FF35C: .4byte gUnknown_203ACE8 thumb_func_start sub_80FF360 sub_80FF360: @ 80FF360 push {lr} - ldr r1, _080FF378 @ =gUnknown_30030F0 + ldr r1, _080FF378 @ =gMain ldrh r2, [r1, 0x2E] movs r0, 0x2 ands r0, r2 @@ -4186,7 +4186,7 @@ sub_80FF360: @ 80FF360 bl sub_80FF678 b _080FF412 .align 2, 0 -_080FF378: .4byte gUnknown_30030F0 +_080FF378: .4byte gMain _080FF37C: movs r0, 0x1 ands r0, r2 @@ -4279,7 +4279,7 @@ _080FF416: thumb_func_start sub_80FF41C sub_80FF41C: @ 80FF41C push {lr} - ldr r2, _080FF438 @ =gUnknown_30030F0 + ldr r2, _080FF438 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x2 ands r0, r1 @@ -4292,7 +4292,7 @@ sub_80FF41C: @ 80FF41C movs r0, 0xD b _080FF4A2 .align 2, 0 -_080FF438: .4byte gUnknown_30030F0 +_080FF438: .4byte gMain _080FF43C: .4byte gUnknown_203ACE8 _080FF440: movs r0, 0x1 diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index 8609dd759..531ebfe0f 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -105,8 +105,8 @@ _080F86BC: .4byte gUnknown_202273C _080F86C0: .4byte 0x01000046 thumb_func_end sub_80F85F8 - thumb_func_start sub_80F86C4 -sub_80F86C4: @ 80F86C4 + thumb_func_start InitRFU +InitRFU: @ 80F86C4 push {r4-r6,lr} ldr r4, _080F86EC @ =gIntrTable ldr r5, [r4, 0x4] @@ -127,14 +127,14 @@ sub_80F86C4: @ 80F86C4 .align 2, 0 _080F86EC: .4byte gIntrTable _080F86F0: .4byte 0x04000208 - thumb_func_end sub_80F86C4 + thumb_func_end InitRFU thumb_func_start sub_80F86F4 sub_80F86F4: @ 80F86F4 push {r4,lr} ldr r0, _080F8728 @ =gUnknown_3001190 ldr r1, _080F872C @ =0x00000e64 - ldr r4, _080F8730 @ =gUnknown_3003544 + ldr r4, _080F8730 @ =gIntrTable + 0x4 adds r2, r4, 0 movs r3, 0x1 bl sub_81E05B0 @@ -157,7 +157,7 @@ _080F8722: .align 2, 0 _080F8728: .4byte gUnknown_3001190 _080F872C: .4byte 0x00000e64 -_080F8730: .4byte gUnknown_3003544 +_080F8730: .4byte gIntrTable + 0x4 _080F8734: .4byte gUnknown_202271A thumb_func_end sub_80F86F4 @@ -2248,7 +2248,7 @@ rfu_func_080F97B8: @ 80F97B8 ldrh r2, [r3] cmp r2, 0 beq _080F97EA - ldr r0, _080F97F8 @ =gUnknown_30030E4 + ldr r0, _080F97F8 @ =gLinkTransferringData ldrb r0, [r0] cmp r0, 0x1 beq _080F97EA @@ -2269,7 +2269,7 @@ _080F97EA: .align 2, 0 _080F97F0: .4byte gUnknown_3003F64 _080F97F4: .4byte gUnknown_3005028 -_080F97F8: .4byte gUnknown_30030E4 +_080F97F8: .4byte gLinkTransferringData _080F97FC: .4byte gUnknown_3001188 thumb_func_end rfu_func_080F97B8 @@ -5150,7 +5150,7 @@ sub_80FAD98: @ 80FAD98 ldrb r0, [r0, 0x2] cmp r0, 0 bne _080FAE30 - ldr r6, _080FAE18 @ =gUnknown_30030F0 + ldr r6, _080FAE18 @ =gMain ldr r1, [r6, 0x4] ldr r0, _080FAE1C @ =sub_814208C cmp r1, r0 @@ -5198,7 +5198,7 @@ _080FADF8: .align 2, 0 _080FAE10: .4byte gUnknown_3005450 _080FAE14: .4byte gUnknown_3005E10 -_080FAE18: .4byte gUnknown_30030F0 +_080FAE18: .4byte gMain _080FAE1C: .4byte sub_814208C _080FAE20: .4byte gUnknown_3003F3C _080FAE24: .4byte c2_800ACD4 @@ -5335,14 +5335,14 @@ _080FAF18: .4byte gUnknown_3005450 sub_80FAF1C: @ 80FAF1C push {lr} ldr r0, _080FAF2C @ =gUnknown_3005E00 - ldr r1, _080FAF30 @ =gUnknown_300500C + ldr r1, _080FAF30 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy pop {r0} bx r0 .align 2, 0 _080FAF2C: .4byte gUnknown_3005E00 -_080FAF30: .4byte gUnknown_300500C +_080FAF30: .4byte gSaveBlock2Ptr thumb_func_end sub_80FAF1C thumb_func_start sub_80FAF34 @@ -6821,13 +6821,13 @@ sub_80FBA2C: @ 80FBA2C _080FBA34: .4byte gUnknown_3005450 thumb_func_end sub_80FBA2C - thumb_func_start LinkVSync -LinkVSync: @ 80FBA38 + thumb_func_start RFUVSync +RFUVSync: @ 80FBA38 push {lr} bl rfu_syncVBlank_ pop {r0} bx r0 - thumb_func_end LinkVSync + thumb_func_end RFUVSync thumb_func_start sub_80FBA44 sub_80FBA44: @ 80FBA44 @@ -6876,13 +6876,13 @@ sub_80FBA78: @ 80FBA78 strh r0, [r1] bl sub_800B1F4 bl sub_8009804 - ldr r0, _080FBB00 @ =gUnknown_30030F0 + ldr r0, _080FBB00 @ =gMain ldrh r0, [r0, 0x24] bl SeedRng movs r4, 0 _080FBAB4: bl Random - ldr r1, _080FBB04 @ =gUnknown_300500C + ldr r1, _080FBB04 @ =gSaveBlock2Ptr ldr r1, [r1] adds r1, 0xA adds r1, r4 @@ -6909,8 +6909,8 @@ _080FBAEC: _080FBAF4: .4byte sub_80FBA64 _080FBAF8: .4byte gUnknown_202271A _080FBAFC: .4byte 0x00001111 -_080FBB00: .4byte gUnknown_30030F0 -_080FBB04: .4byte gUnknown_300500C +_080FBB00: .4byte gMain +_080FBB04: .4byte gSaveBlock2Ptr _080FBB08: .4byte sub_80FBB74 thumb_func_end sub_80FBA78 @@ -9106,7 +9106,7 @@ sub_80FCB54: @ 80FCB54 lsrs r1, 24 mov r9, r1 movs r4, 0 - ldr r0, _080FCC30 @ =gUnknown_300500C + ldr r0, _080FCC30 @ =gSaveBlock2Ptr mov r8, r0 adds r6, r7, 0x2 ldr r0, [r0] @@ -9207,7 +9207,7 @@ _080FCB88: pop {r0} bx r0 .align 2, 0 -_080FCC30: .4byte gUnknown_300500C +_080FCC30: .4byte gSaveBlock2Ptr _080FCC34: .4byte 0x00000844 _080FCC38: .4byte 0x0000082c thumb_func_end sub_80FCB54 @@ -9489,7 +9489,7 @@ sub_80FCE44: @ 80FCE44 lsls r0, 2 adds r0, r4 bl DestroySprite - ldr r3, _080FCE9C @ =gUnknown_30030F0 + ldr r3, _080FCE9C @ =gMain movs r0, 0x84 lsls r0, 3 adds r3, r0 @@ -9509,7 +9509,7 @@ _080FCE8A: _080FCE90: .4byte gUnknown_202063C _080FCE94: .4byte gUnknown_203ACE4 _080FCE98: .4byte 0x00001234 -_080FCE9C: .4byte gUnknown_30030F0 +_080FCE9C: .4byte gMain _080FCEA0: .4byte gUnknown_8231CE4 _080FCEA4: .4byte 0x070003e8 thumb_func_end sub_80FCE44 @@ -9760,7 +9760,7 @@ _080FD06C: adds r0, 0x1 strh r0, [r6, 0x34] _080FD072: - ldr r4, _080FD110 @ =gUnknown_30030F0 + ldr r4, _080FD110 @ =gMain movs r1, 0x84 lsls r1, 3 adds r0, r4, r1 @@ -9838,7 +9838,7 @@ _080FD106: pop {r0} bx r0 .align 2, 0 -_080FD110: .4byte gUnknown_30030F0 +_080FD110: .4byte gMain _080FD114: .4byte gUnknown_843F204 _080FD118: .4byte 0x00000422 _080FD11C: .4byte 0x000001ff @@ -9964,7 +9964,7 @@ _080FD1C8: adds r3, r7, r0 _080FD1F4: ldrh r1, [r3] - ldr r0, _080FD254 @ =gUnknown_3005008 + ldr r0, _080FD254 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r7, _080FD250 @ =0x00003ba8 adds r0, r2, r7 @@ -10000,7 +10000,7 @@ _080FD22C: movs r0, 0 mov r8, r0 movs r4, 0 - ldr r1, _080FD254 @ =gUnknown_3005008 + ldr r1, _080FD254 @ =gSaveBlock1Ptr mov r9, r1 mov r7, sp movs r5, 0 @@ -10009,7 +10009,7 @@ _080FD22C: .align 2, 0 _080FD24C: .4byte gUnknown_2022744 _080FD250: .4byte 0x00003ba8 -_080FD254: .4byte gUnknown_3005008 +_080FD254: .4byte gSaveBlock1Ptr _080FD258: bl GetMultiplayerId lsls r0, 24 @@ -10055,7 +10055,7 @@ _080FD2A4: cmp r4, r0 blt _080FD258 movs r4, 0 - ldr r7, _080FD330 @ =gUnknown_3005008 + ldr r7, _080FD330 @ =gSaveBlock1Ptr mov r9, r7 ldr r6, _080FD334 @ =0x00003ba8 movs r7, 0 @@ -10096,7 +10096,7 @@ _080FD2F8: cmp r4, 0x13 ble _080FD2C6 _080FD302: - ldr r0, _080FD330 @ =gUnknown_3005008 + ldr r0, _080FD330 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080FD334 @ =0x00003ba8 adds r0, r1 @@ -10117,7 +10117,7 @@ _080FD318: .align 2, 0 _080FD328: .4byte gUnknown_202273C _080FD32C: .4byte 0x00003bac -_080FD330: .4byte gUnknown_3005008 +_080FD330: .4byte gSaveBlock1Ptr _080FD334: .4byte 0x00003ba8 thumb_func_end sub_80FD1A0 @@ -10132,7 +10132,7 @@ sub_80FD338: @ 80FD338 lsrs r0, 16 mov r8, r0 movs r7, 0 - ldr r6, _080FD374 @ =gUnknown_3005008 + ldr r6, _080FD374 @ =gSaveBlock1Ptr ldr r4, _080FD378 @ =0x00003ba8 movs r5, 0 _080FD350: @@ -10154,7 +10154,7 @@ _080FD350: movs r0, 0x1 b _080FD396 .align 2, 0 -_080FD374: .4byte gUnknown_3005008 +_080FD374: .4byte gSaveBlock1Ptr _080FD378: .4byte 0x00003ba8 _080FD37C: ldr r0, [r6] diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 9e0ecef51..d194ed0dd 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -111,7 +111,7 @@ sub_8115924: @ 8115924 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r6, _08115994 @ =gUnknown_300500C + ldr r6, _08115994 @ =gSaveBlock2Ptr ldr r2, [r6] movs r0, 0x2 str r0, [sp] @@ -155,7 +155,7 @@ sub_8115924: @ 8115924 pop {r0} bx r0 .align 2, 0 -_08115994: .4byte gUnknown_300500C +_08115994: .4byte gSaveBlock2Ptr _08115998: .4byte gUnknown_84571B4 thumb_func_end sub_8115924 @@ -513,7 +513,7 @@ _08115D04: movs r1, 0x7 movs r2, 0xA bl sub_8116444 - ldr r0, _08115D24 @ =gUnknown_30030F0 + ldr r0, _08115D24 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -525,7 +525,7 @@ _08115D04: movs r0, 0x17 b _08115D3E .align 2, 0 -_08115D24: .4byte gUnknown_30030F0 +_08115D24: .4byte gMain _08115D28: ldr r0, _08115D38 @ =gUnknown_203B059 ldrb r1, [r0] @@ -559,7 +559,7 @@ _08115D40: bl sub_80FC1CC cmp r0, 0 beq _08115D76 - ldr r0, _08115D90 @ =gUnknown_30030F0 + ldr r0, _08115D90 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x8 ands r0, r1 @@ -581,7 +581,7 @@ _08115D88: b _08115EEE .align 2, 0 _08115D8C: .4byte gUnknown_203B059 -_08115D90: .4byte gUnknown_30030F0 +_08115D90: .4byte gMain _08115D94: bl sub_80FA5D4 cmp r0, 0 @@ -1974,7 +1974,7 @@ _0811691E: ldrb r0, [r6, 0xE] bl ListMenuHandleInput adds r4, r0, 0 - ldr r0, _0811696C @ =gUnknown_30030F0 + ldr r0, _0811696C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2008,7 +2008,7 @@ _0811691E: movs r0, 0x5 b _08116982 .align 2, 0 -_0811696C: .4byte gUnknown_30030F0 +_0811696C: .4byte gMain _08116970: ldr r0, _0811698C @ =gUnknown_2021D18 ldr r2, _08116990 @ =gUnknown_8457608 @@ -2031,7 +2031,7 @@ _08116994: bl sub_80722CC b _08116D06 _0811699C: - ldr r0, _081169B0 @ =gUnknown_30030F0 + ldr r0, _081169B0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2043,7 +2043,7 @@ _081169AA: strb r0, [r6, 0x8] b _08116D06 .align 2, 0 -_081169B0: .4byte gUnknown_30030F0 +_081169B0: .4byte gMain _081169B4: ldr r4, _081169FC @ =gUnknown_2021D18 ldr r0, _08116A00 @ =gUnknown_203B058 @@ -2233,7 +2233,7 @@ _08116B70: beq _08116B7C b _08116D06 _08116B7C: - ldr r0, _08116B90 @ =gUnknown_30030F0 + ldr r0, _08116B90 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2245,7 +2245,7 @@ _08116B8A: strb r0, [r6, 0x8] b _08116D06 .align 2, 0 -_08116B90: .4byte gUnknown_30030F0 +_08116B90: .4byte gMain _08116B94: adds r0, r6, 0 adds r0, 0x9 @@ -2441,7 +2441,7 @@ sub_8116D10: @ 8116D10 beq _08116D56 cmp r1, 0x14 beq _08116D56 - ldr r0, _08116D48 @ =gUnknown_300500C + ldr r0, _08116D48 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r1, [r0, 0x9] movs r2, 0x80 @@ -2453,7 +2453,7 @@ sub_8116D10: @ 8116D10 b _08116D5C .align 2, 0 _08116D44: .4byte gUnknown_203B058 -_08116D48: .4byte gUnknown_300500C +_08116D48: .4byte gSaveBlock2Ptr _08116D4C: ldrb r1, [r3] adds r0, r2, 0 @@ -3041,7 +3041,7 @@ _081171D0: .4byte gUnknown_202402C _081171D4: .4byte gUnknown_2022118 _081171D8: ldr r4, _08117204 @ =gUnknown_2022618 - ldr r0, _08117208 @ =gUnknown_3005008 + ldr r0, _08117208 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _0811720C @ =0x00002cd0 adds r1, r0 @@ -3062,7 +3062,7 @@ _081171FA: b _0811725C .align 2, 0 _08117204: .4byte gUnknown_2022618 -_08117208: .4byte gUnknown_3005008 +_08117208: .4byte gSaveBlock1Ptr _0811720C: .4byte 0x00002cd0 _08117210: bl GetBlockReceivedStatus @@ -3087,7 +3087,7 @@ _08117210: strb r7, [r1] movs r0, 0x6 strb r0, [r1, 0x1] - ldr r1, _08117274 @ =gUnknown_30030F0 + ldr r1, _08117274 @ =gMain ldr r0, _08117278 @ =c2_exit_to_overworld_2_switch str r0, [r1, 0x8] ldr r0, _0811727C @ =sub_8050138 @@ -3106,7 +3106,7 @@ _0811725C: _08117268: .4byte gUnknown_2031CCC _0811726C: .4byte gUnknown_2022118 _08117270: .4byte gUnknown_2031DA4 -_08117274: .4byte gUnknown_30030F0 +_08117274: .4byte gMain _08117278: .4byte c2_exit_to_overworld_2_switch _0811727C: .4byte sub_8050138 thumb_func_end sub_8117130 @@ -3218,7 +3218,7 @@ _0811734A: thumb_func_start sub_8117354 sub_8117354: @ 8117354 push {r4,lr} - ldr r0, _0811736C @ =gUnknown_30030F0 + ldr r0, _0811736C @ =gMain movs r1, 0x87 lsls r1, 3 adds r4, r0, r1 @@ -3229,7 +3229,7 @@ sub_8117354: @ 8117354 beq _08117384 b _081173A2 .align 2, 0 -_0811736C: .4byte gUnknown_30030F0 +_0811736C: .4byte gMain _08117370: ldr r0, _08117380 @ =sub_8117280 movs r1, 0x5 @@ -3305,7 +3305,7 @@ sub_81173C0: @ 81173C0 lsls r0, 24 lsrs r0, 24 strh r0, [r1, 0x18] - ldr r1, _08117434 @ =gUnknown_30030F0 + ldr r1, _08117434 @ =gMain ldr r0, _08117438 @ =sub_8081668 str r0, [r1, 0x8] ldr r0, _0811743C @ =gUnknown_2022B4C @@ -3317,7 +3317,7 @@ sub_81173C0: @ 81173C0 .align 2, 0 _0811742C: .4byte gUnknown_202273C _08117430: .4byte 0x00002211 -_08117434: .4byte gUnknown_30030F0 +_08117434: .4byte gMain _08117438: .4byte sub_8081668 _0811743C: .4byte gUnknown_2022B4C thumb_func_end sub_81173C0 @@ -3340,7 +3340,7 @@ sub_8117440: @ 8117440 ldr r0, _081174AC @ =0x0000406f adds r1, r3, 0 bl VarSet - ldr r6, _081174B0 @ =gUnknown_3005008 + ldr r6, _081174B0 @ =gSaveBlock1Ptr ldr r1, [r6] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -3376,7 +3376,7 @@ sub_8117440: @ 8117440 bx r0 .align 2, 0 _081174AC: .4byte 0x0000406f -_081174B0: .4byte gUnknown_3005008 +_081174B0: .4byte gSaveBlock1Ptr thumb_func_end sub_8117440 thumb_func_start sub_81174B4 @@ -3441,7 +3441,7 @@ _08117530: .4byte gUnknown_300502C thumb_func_start sub_8117534 sub_8117534: @ 8117534 push {r4,lr} - ldr r0, _0811754C @ =gUnknown_30030F0 + ldr r0, _0811754C @ =gMain movs r1, 0x87 lsls r1, 3 adds r4, r0, r1 @@ -3452,7 +3452,7 @@ sub_8117534: @ 8117534 beq _08117564 b _08117576 .align 2, 0 -_0811754C: .4byte gUnknown_30030F0 +_0811754C: .4byte gMain _08117550: ldr r0, _08117560 @ =sub_8117280 movs r1, 0x5 @@ -3646,14 +3646,14 @@ _08117640: .4byte _08117784 _08117784: bl sub_80563F0 - ldr r1, _08117798 @ =gUnknown_30030F0 + ldr r1, _08117798 @ =gMain ldr r0, _0811779C @ =sub_811C1C8 str r0, [r1, 0x8] movs r0, 0x2 bl sub_81274A8 b _081178E0 .align 2, 0 -_08117798: .4byte gUnknown_30030F0 +_08117798: .4byte gMain _0811779C: .4byte sub_811C1C8 _081177A0: bl sub_80563F0 @@ -4124,7 +4124,7 @@ _08117BBC: movs r1, 0x5 movs r2, 0x6 bl sub_8116444 - ldr r0, _08117BE0 @ =gUnknown_30030F0 + ldr r0, _08117BE0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -4137,7 +4137,7 @@ _08117BD4: bl sub_80FCE44 b _08117ECA .align 2, 0 -_08117BE0: .4byte gUnknown_30030F0 +_08117BE0: .4byte gMain _08117BE4: adds r0, r5, 0 adds r0, 0xD @@ -4679,7 +4679,7 @@ _0811808E: ldrb r0, [r5, 0xE] bl ListMenuHandleInput adds r2, r0, 0 - ldr r0, _08118128 @ =gUnknown_30030F0 + ldr r0, _08118128 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4744,14 +4744,14 @@ _0811808E: strb r0, [r5, 0x8] b _08118288 .align 2, 0 -_08118128: .4byte gUnknown_30030F0 +_08118128: .4byte gMain _0811812C: .4byte gUnknown_2021CD0 _08118130: movs r0, 0x7 bl sub_80722CC b _08118288 _08118138: - ldr r0, _0811814C @ =gUnknown_30030F0 + ldr r0, _0811814C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -4763,7 +4763,7 @@ _08118146: strb r0, [r5, 0x8] b _08118288 .align 2, 0 -_0811814C: .4byte gUnknown_30030F0 +_0811814C: .4byte gMain _08118150: ldr r0, _08118184 @ =gUnknown_8459238 bl sub_8142504 @@ -5144,7 +5144,7 @@ _0811849C: strb r0, [r5, 0x8] b _081184BC _081184A8: - ldr r0, _081184C4 @ =gUnknown_30030F0 + ldr r0, _081184C4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -5160,7 +5160,7 @@ _081184BC: strb r0, [r5, 0x14] b _08118604 .align 2, 0 -_081184C4: .4byte gUnknown_30030F0 +_081184C4: .4byte gMain _081184C8: ldr r0, _081184FC @ =gUnknown_845928C bl sub_8142504 @@ -5716,7 +5716,7 @@ _081189AA: movs r0, 0x2 bl sub_80722CC ldr r0, _081189DC @ =gUnknown_2021CD0 - ldr r1, _081189E0 @ =gUnknown_300500C + ldr r1, _081189E0 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy movs r1, 0 @@ -5725,7 +5725,7 @@ _081189AA: .align 2, 0 _081189D8: .4byte gUnknown_20370D0 _081189DC: .4byte gUnknown_2021CD0 -_081189E0: .4byte gUnknown_300500C +_081189E0: .4byte gSaveBlock2Ptr _081189E4: cmp r0, 0xB bne _081189F8 @@ -5756,7 +5756,7 @@ _08118A0E: bne _08118A1E bl _081198DC _08118A1E: - ldr r0, _08118A4C @ =gUnknown_30030F0 + ldr r0, _08118A4C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -5776,7 +5776,7 @@ _08118A1E: movs r0, 0x18 bl _081198DA .align 2, 0 -_08118A4C: .4byte gUnknown_30030F0 +_08118A4C: .4byte gMain _08118A50: bl sub_811A9B8 cmp r0, 0 @@ -5789,14 +5789,14 @@ _08118A50: bl sub_80722CC bl sub_811B298 ldr r0, _08118A7C @ =gUnknown_2021CD0 - ldr r1, _08118A80 @ =gUnknown_300500C + ldr r1, _08118A80 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy movs r0, 0x2D bl _081198DA .align 2, 0 _08118A7C: .4byte gUnknown_2021CD0 -_08118A80: .4byte gUnknown_300500C +_08118A80: .4byte gSaveBlock2Ptr _08118A84: bl sub_8119B94 lsls r0, 24 @@ -6590,7 +6590,7 @@ _08119184: bne _08119196 b _081198DC _08119196: - ldr r0, _081191B8 @ =gUnknown_30030F0 + ldr r0, _081191B8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -6606,7 +6606,7 @@ _081191A4: movs r0, 0x24 b _081198DA .align 2, 0 -_081191B8: .4byte gUnknown_30030F0 +_081191B8: .4byte gMain _081191BC: .4byte gUnknown_2021D18 _081191C0: .4byte gUnknown_8457E60 _081191C4: @@ -8717,7 +8717,7 @@ _0811A274: ldrb r0, [r3] bl ListMenuHandleInput mov r8, r0 - ldr r0, _0811A2AC @ =gUnknown_30030F0 + ldr r0, _0811A2AC @ =gMain ldrh r1, [r0, 0x2E] ands r4, r1 cmp r4, 0 @@ -8737,7 +8737,7 @@ _0811A274: mov r0, r8 b _0811A2DE .align 2, 0 -_0811A2AC: .4byte gUnknown_30030F0 +_0811A2AC: .4byte gMain _0811A2B0: movs r0, 0x2 ands r0, r1 @@ -8823,7 +8823,7 @@ _0811A358: ldrb r0, [r5] bl ListMenuHandleInput adds r1, r0, 0 - ldr r0, _0811A3A8 @ =gUnknown_30030F0 + ldr r0, _0811A3A8 @ =gMain ldrh r2, [r0, 0x2E] movs r0, 0x3 ands r0, r2 @@ -8857,7 +8857,7 @@ _0811A37E: negs r0, r0 b _0811A3EA .align 2, 0 -_0811A3A8: .4byte gUnknown_30030F0 +_0811A3A8: .4byte gMain _0811A3AC: ldr r0, [sp, 0x24] bl sub_811AD7C @@ -10077,7 +10077,7 @@ sub_811ACA4: @ 811ACA4 ands r0, r1 cmp r0, 0 beq _0811AD6C - ldr r0, _0811AD04 @ =gUnknown_300500C + ldr r0, _0811AD04 @ =gSaveBlock2Ptr ldr r3, [r0] movs r0, 0x5 str r0, [sp] @@ -10089,7 +10089,7 @@ sub_811ACA4: @ 811ACA4 _0811ACF8: .4byte gUnknown_203B05C _0811ACFC: .4byte gUnknown_8456F7C _0811AD00: .4byte 0x000003ff -_0811AD04: .4byte gUnknown_300500C +_0811AD04: .4byte gSaveBlock2Ptr _0811AD08: mov r0, r12 adds r1, r0, r4 @@ -10605,7 +10605,7 @@ _0811B0CA: InUnionRoom: @ 811B0D0 push {lr} movs r2, 0 - ldr r0, _0811B0EC @ =gUnknown_3005008 + ldr r0, _0811B0EC @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] movs r0, 0x80 @@ -10618,7 +10618,7 @@ _0811B0E4: pop {r1} bx r1 .align 2, 0 -_0811B0EC: .4byte gUnknown_3005008 +_0811B0EC: .4byte gSaveBlock1Ptr thumb_func_end InUnionRoom thumb_func_start sub_811B0F0 @@ -11326,7 +11326,7 @@ sub_811B62C: @ 811B62C ldr r1, _0811B644 @ =gUnknown_8457120 adds r0, r1 ldrb r0, [r0] - ldr r1, _0811B648 @ =gUnknown_3005008 + ldr r1, _0811B648 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -11335,7 +11335,7 @@ sub_811B62C: @ 811B62C bx r0 .align 2, 0 _0811B644: .4byte gUnknown_8457120 -_0811B648: .4byte gUnknown_3005008 +_0811B648: .4byte gSaveBlock1Ptr thumb_func_end sub_811B62C thumb_func_start sub_811B64C @@ -11344,7 +11344,7 @@ sub_811B64C: @ 811B64C ldr r1, _0811B664 @ =gUnknown_8457120 adds r0, r1 ldrb r0, [r0] - ldr r1, _0811B668 @ =gUnknown_3005008 + ldr r1, _0811B668 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -11353,7 +11353,7 @@ sub_811B64C: @ 811B64C bx r0 .align 2, 0 _0811B664: .4byte gUnknown_8457120 -_0811B668: .4byte gUnknown_3005008 +_0811B668: .4byte gSaveBlock1Ptr thumb_func_end sub_811B64C thumb_func_start sub_811B66C @@ -11364,7 +11364,7 @@ sub_811B66C: @ 811B66C ldr r1, _0811B6B8 @ =gUnknown_8457120 adds r0, r1 ldrb r0, [r0] - ldr r1, _0811B6BC @ =gUnknown_3005008 + ldr r1, _0811B6BC @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -11395,7 +11395,7 @@ sub_811B66C: @ 811B66C b _0811B6D2 .align 2, 0 _0811B6B8: .4byte gUnknown_8457120 -_0811B6BC: .4byte gUnknown_3005008 +_0811B6BC: .4byte gSaveBlock1Ptr _0811B6C0: .4byte gUnknown_2036E38 _0811B6C4: ldr r0, _0811B6DC @ =gUnknown_8457138 @@ -11423,7 +11423,7 @@ sub_811B6E8: @ 811B6E8 ldr r1, _0811B724 @ =gUnknown_8457120 adds r0, r1 ldrb r0, [r0] - ldr r1, _0811B728 @ =gUnknown_3005008 + ldr r1, _0811B728 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -11448,7 +11448,7 @@ sub_811B6E8: @ 811B6E8 b _0811B74A .align 2, 0 _0811B724: .4byte gUnknown_8457120 -_0811B728: .4byte gUnknown_3005008 +_0811B728: .4byte gSaveBlock1Ptr _0811B72C: .4byte gUnknown_2036E38 _0811B730: bl ScriptContext2_IsEnabled @@ -12846,7 +12846,7 @@ sub_811C1B4: @ 811C1B4 sub_811C1C8: @ 811C1C8 push {r4,lr} sub sp, 0xC - ldr r1, _0811C1E8 @ =gUnknown_30030F0 + ldr r1, _0811C1E8 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -12862,7 +12862,7 @@ _0811C1DE: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0811C1E8: .4byte gUnknown_30030F0 +_0811C1E8: .4byte gMain _0811C1EC: .4byte _0811C1F0 .align 2, 0 _0811C1F0: @@ -12970,7 +12970,7 @@ _0811C300: bl sub_80F77B8 ldr r0, _0811C35C @ =sub_811C1B4 bl SetVBlankCallback - ldr r1, _0811C360 @ =gUnknown_30030F0 + ldr r1, _0811C360 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -12980,7 +12980,7 @@ _0811C350: .4byte gUnknown_203B08C _0811C354: .4byte gUnknown_8457194 _0811C358: .4byte gUnknown_8457198 _0811C35C: .4byte sub_811C1B4 -_0811C360: .4byte gUnknown_30030F0 +_0811C360: .4byte gMain _0811C364: ldr r0, _0811C380 @ =gUnknown_203B08C ldr r0, [r0] @@ -12991,7 +12991,7 @@ _0811C364: bne _0811C376 b _0811C516 _0811C376: - ldr r1, _0811C388 @ =gUnknown_30030F0 + ldr r1, _0811C388 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -12999,7 +12999,7 @@ _0811C376: .align 2, 0 _0811C380: .4byte gUnknown_203B08C _0811C384: .4byte gUnknown_841E538 -_0811C388: .4byte gUnknown_30030F0 +_0811C388: .4byte gMain _0811C38C: movs r0, 0x1 negs r0, r0 @@ -13010,13 +13010,13 @@ _0811C38C: bl BeginNormalPaletteFade movs r0, 0 bl ShowBg - ldr r1, _0811C3AC @ =gUnknown_30030F0 + ldr r1, _0811C3AC @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _0811C4F2 .align 2, 0 -_0811C3AC: .4byte gUnknown_30030F0 +_0811C3AC: .4byte gMain _0811C3B0: bl UpdatePaletteFade lsls r0, 24 @@ -13047,14 +13047,14 @@ _0811C3E2: movs r0, 0 movs r2, 0x20 bl SendBlock - ldr r1, _0811C3FC @ =gUnknown_30030F0 + ldr r1, _0811C3FC @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _0811C4F2 .align 2, 0 _0811C3F8: .4byte gUnknown_2022618 -_0811C3FC: .4byte gUnknown_30030F0 +_0811C3FC: .4byte gMain _0811C400: bl GetBlockReceivedStatus lsls r0, 24 @@ -13080,7 +13080,7 @@ _0811C40E: movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, _0811C444 @ =gUnknown_30030F0 + ldr r0, _0811C444 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -13088,7 +13088,7 @@ _0811C40E: b _0811C47E .align 2, 0 _0811C440: .4byte gUnknown_2022118 -_0811C444: .4byte gUnknown_30030F0 +_0811C444: .4byte gMain _0811C448: bl sub_800AAC0 ldr r4, _0811C46C @ =gUnknown_2022118 @@ -13099,7 +13099,7 @@ _0811C448: ldrh r0, [r0] cmp r0, 0x52 bne _0811C474 - ldr r0, _0811C470 @ =gUnknown_30030F0 + ldr r0, _0811C470 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 @@ -13107,9 +13107,9 @@ _0811C448: b _0811C47E .align 2, 0 _0811C46C: .4byte gUnknown_2022118 -_0811C470: .4byte gUnknown_30030F0 +_0811C470: .4byte gMain _0811C474: - ldr r0, _0811C488 @ =gUnknown_30030F0 + ldr r0, _0811C488 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -13119,20 +13119,20 @@ _0811C47E: bl ResetBlockReceivedFlags b _0811C516 .align 2, 0 -_0811C488: .4byte gUnknown_30030F0 +_0811C488: .4byte gMain _0811C48C: bl UpdatePaletteFade lsls r0, 24 cmp r0, 0 bne _0811C516 bl sub_800AB9C - ldr r1, _0811C4A4 @ =gUnknown_30030F0 + ldr r1, _0811C4A4 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _0811C4F2 .align 2, 0 -_0811C4A4: .4byte gUnknown_30030F0 +_0811C4A4: .4byte gMain _0811C4A8: bl sub_800A4BC lsls r0, 24 diff --git a/asm/link_rfu_4.s b/asm/link_rfu_4.s index 8da510f97..2b3b13400 100644 --- a/asm/link_rfu_4.s +++ b/asm/link_rfu_4.s @@ -230,7 +230,7 @@ _081425A4: movs r2, 0x14 movs r3, 0x1 bl DrawDownArrow - ldr r0, _081425D4 @ =gUnknown_30030F0 + ldr r0, _081425D4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -242,7 +242,7 @@ _081425C8: b _08142602 .align 2, 0 _081425D0: .4byte gUnknown_203F3B0 -_081425D4: .4byte gUnknown_30030F0 +_081425D4: .4byte gMain _081425D8: movs r0, 0x1 str r0, [sp] @@ -331,7 +331,7 @@ sub_8142660: @ 8142660 b _08142698 _08142670: bl sub_8142610 - ldr r0, _08142688 @ =gUnknown_30030F0 + ldr r0, _08142688 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -342,7 +342,7 @@ _08142670: strb r0, [r4] b _08142698 .align 2, 0 -_08142688: .4byte gUnknown_30030F0 +_08142688: .4byte gMain _0814268C: bl sub_8142638 movs r0, 0 @@ -996,7 +996,7 @@ _08142B80: .align 2, 0 _08142B88: .4byte gUnknown_841ED50 _08142B8C: - ldr r0, _08142BA0 @ =gUnknown_30030F0 + ldr r0, _08142BA0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -1008,7 +1008,7 @@ _08142B98: strb r0, [r4] b _08142BB0 .align 2, 0 -_08142BA0: .4byte gUnknown_30030F0 +_08142BA0: .4byte gMain _08142BA4: movs r0, 0 strb r0, [r4] @@ -1926,7 +1926,7 @@ _081432DE: ldrb r0, [r5, 0xC] cmp r0, 0 bne _08143308 - ldr r2, _08143304 @ =gUnknown_30030F0 + ldr r2, _08143304 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1944,9 +1944,9 @@ _081432F4: _08143300: b _08143326 .align 2, 0 -_08143304: .4byte gUnknown_30030F0 +_08143304: .4byte gMain _08143308: - ldr r0, _0814331C @ =gUnknown_30030F0 + ldr r0, _0814331C @ =gMain ldrh r0, [r0, 0x2E] bl sub_8146884 cmp r0, 0 @@ -1955,7 +1955,7 @@ _08143308: beq _08143326 b _081435C6 .align 2, 0 -_0814331C: .4byte gUnknown_30030F0 +_0814331C: .4byte gMain _08143320: bl sub_81467EC b _08143402 diff --git a/asm/list_menu.s b/asm/list_menu.s index d2f419d04..b5eca733f 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -89,7 +89,7 @@ _08106F68: ldrb r0, [r5, 0x6] bl ListMenuHandleInput str r0, [r5] - ldr r1, _08106FA4 @ =gUnknown_30030F0 + ldr r1, _08106FA4 @ =gMain ldrh r0, [r1, 0x2E] ands r4, r0 cmp r4, 0 @@ -117,7 +117,7 @@ _08106F92: bl ClearWindowTilemap b _08106FBA .align 2, 0 -_08106FA4: .4byte gUnknown_30030F0 +_08106FA4: .4byte gMain _08106FA8: mov r4, r10 cmp r4, 0 @@ -237,7 +237,7 @@ ListMenuHandleInput: @ 8107078 lsls r1, 3 ldr r0, _081070A4 @ =gUnknown_3005098 adds r3, r1, r0 - ldr r2, _081070A8 @ =gUnknown_30030F0 + ldr r2, _081070A8 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -253,7 +253,7 @@ ListMenuHandleInput: @ 8107078 b _08107136 .align 2, 0 _081070A4: .4byte gUnknown_3005098 -_081070A8: .4byte gUnknown_30030F0 +_081070A8: .4byte gMain _081070AC: movs r0, 0x2 ands r0, r1 diff --git a/asm/load_save.s b/asm/load_save.s index 751e41739..bb98ca619 100644 --- a/asm/load_save.s +++ b/asm/load_save.s @@ -37,7 +37,7 @@ ClearSav2: @ 804C010 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r1, _0804C02C @ =gUnknown_2024588 + ldr r1, _0804C02C @ =gSaveBlock2 ldr r2, _0804C030 @ =0x010007d2 mov r0, sp bl CpuSet @@ -45,7 +45,7 @@ ClearSav2: @ 804C010 pop {r0} bx r0 .align 2, 0 -_0804C02C: .4byte gUnknown_2024588 +_0804C02C: .4byte gSaveBlock2 _0804C030: .4byte 0x010007d2 thumb_func_end ClearSav2 @@ -56,7 +56,7 @@ ClearSav1: @ 804C034 mov r1, sp movs r0, 0 strh r0, [r1] - ldr r1, _0804C050 @ =gUnknown_202552C + ldr r1, _0804C050 @ =gSaveBlock1 ldr r2, _0804C054 @ =0x01001ef4 mov r0, sp bl CpuSet @@ -64,27 +64,27 @@ ClearSav1: @ 804C034 pop {r0} bx r0 .align 2, 0 -_0804C050: .4byte gUnknown_202552C +_0804C050: .4byte gSaveBlock1 _0804C054: .4byte 0x01001ef4 thumb_func_end ClearSav1 thumb_func_start SetSaveBlocksPointers SetSaveBlocksPointers: @ 804C058 push {r4,r5,lr} - ldr r4, _0804C08C @ =gUnknown_3005008 + ldr r4, _0804C08C @ =gSaveBlock1Ptr ldr r5, [r4] bl Random movs r1, 0x7C ands r1, r0 - ldr r2, _0804C090 @ =gUnknown_300500C - ldr r0, _0804C094 @ =gUnknown_2024588 + ldr r2, _0804C090 @ =gSaveBlock2Ptr + ldr r0, _0804C094 @ =gSaveBlock2 adds r0, r1, r0 str r0, [r2] - ldr r0, _0804C098 @ =gUnknown_202552C + ldr r0, _0804C098 @ =gSaveBlock1 adds r0, r1, r0 str r0, [r4] ldr r2, _0804C09C @ =gUnknown_3005010 - ldr r0, _0804C0A0 @ =gUnknown_2029314 + ldr r0, _0804C0A0 @ =gPokemonStorage adds r1, r0 str r1, [r2] bl sub_8099E44 @@ -94,12 +94,12 @@ SetSaveBlocksPointers: @ 804C058 pop {r0} bx r0 .align 2, 0 -_0804C08C: .4byte gUnknown_3005008 -_0804C090: .4byte gUnknown_300500C -_0804C094: .4byte gUnknown_2024588 -_0804C098: .4byte gUnknown_202552C +_0804C08C: .4byte gSaveBlock1Ptr +_0804C090: .4byte gSaveBlock2Ptr +_0804C094: .4byte gSaveBlock2 +_0804C098: .4byte gSaveBlock1 _0804C09C: .4byte gUnknown_3005010 -_0804C0A0: .4byte gUnknown_2029314 +_0804C0A0: .4byte gPokemonStorage thumb_func_end SetSaveBlocksPointers thumb_func_start sub_804C0A4 @@ -110,7 +110,7 @@ sub_804C0A4: @ 804C0A4 mov r5, r8 push {r5-r7} sub sp, 0x8 - ldr r4, _0804C160 @ =gUnknown_30030F0 + ldr r4, _0804C160 @ =gMain ldr r0, [r4, 0xC] str r0, [sp] ldr r1, [r4, 0x10] @@ -120,14 +120,14 @@ sub_804C0A4: @ 804C0A4 str r0, [r4, 0x10] str r0, [r4, 0x20] ldr r5, _0804C164 @ =gHeap - ldr r0, _0804C168 @ =gUnknown_300500C + ldr r0, _0804C168 @ =gSaveBlock2Ptr ldr r1, [r0] ldr r0, _0804C16C @ =0x00000f24 mov r9, r0 adds r0, r5, 0 mov r2, r9 bl memcpy - ldr r1, _0804C170 @ =gUnknown_3005008 + ldr r1, _0804C170 @ =gSaveBlock1Ptr mov r10, r1 ldr r1, [r1] ldr r7, _0804C174 @ =0x00003d68 @@ -142,7 +142,7 @@ sub_804C0A4: @ 804C0A4 mov r2, r8 bl memcpy bl SetSaveBlocksPointers - ldr r1, _0804C168 @ =gUnknown_300500C + ldr r1, _0804C168 @ =gSaveBlock2Ptr ldr r0, [r1] adds r1, r5, 0 mov r2, r9 @@ -173,7 +173,7 @@ sub_804C0A4: @ 804C0A4 adds r4, r0 adds r0, r4, 0 bl sub_804C5A4 - ldr r1, _0804C168 @ =gUnknown_300500C + ldr r1, _0804C168 @ =gSaveBlock2Ptr ldr r0, [r1] movs r1, 0xF2 lsls r1, 4 @@ -188,11 +188,11 @@ sub_804C0A4: @ 804C0A4 pop {r0} bx r0 .align 2, 0 -_0804C160: .4byte gUnknown_30030F0 +_0804C160: .4byte gMain _0804C164: .4byte gHeap -_0804C168: .4byte gUnknown_300500C +_0804C168: .4byte gSaveBlock2Ptr _0804C16C: .4byte 0x00000f24 -_0804C170: .4byte gUnknown_3005008 +_0804C170: .4byte gSaveBlock1Ptr _0804C174: .4byte 0x00003d68 _0804C178: .4byte gHeap + 0xf24 _0804C17C: .4byte gUnknown_3005010 @@ -202,19 +202,19 @@ _0804C184: .4byte gHeap + 0x4c8c thumb_func_start sav2_x1_query_bit1 sav2_x1_query_bit1: @ 804C188 - ldr r0, _0804C194 @ =gUnknown_300500C + ldr r0, _0804C194 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r1, [r0, 0x9] movs r0, 0x1 ands r0, r1 bx lr .align 2, 0 -_0804C194: .4byte gUnknown_300500C +_0804C194: .4byte gSaveBlock2Ptr thumb_func_end sav2_x1_query_bit1 thumb_func_start sav2_x9_clear_bit1 sav2_x9_clear_bit1: @ 804C198 - ldr r0, _0804C1A8 @ =gUnknown_300500C + ldr r0, _0804C1A8 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0xFE @@ -222,12 +222,12 @@ sav2_x9_clear_bit1: @ 804C198 strb r0, [r2, 0x9] bx lr .align 2, 0 -_0804C1A8: .4byte gUnknown_300500C +_0804C1A8: .4byte gSaveBlock2Ptr thumb_func_end sav2_x9_clear_bit1 thumb_func_start sub_804C1AC sub_804C1AC: @ 804C1AC - ldr r0, _0804C1BC @ =gUnknown_300500C + ldr r0, _0804C1BC @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0x1 @@ -235,7 +235,7 @@ sub_804C1AC: @ 804C1AC strb r0, [r2, 0x9] bx lr .align 2, 0 -_0804C1BC: .4byte gUnknown_300500C +_0804C1BC: .4byte gSaveBlock2Ptr thumb_func_end sub_804C1AC thumb_func_start sub_804C1C0 @@ -243,7 +243,7 @@ sub_804C1C0: @ 804C1C0 push {lr} movs r0, 0 bl sub_8055778 - ldr r0, _0804C1D8 @ =gUnknown_300500C + ldr r0, _0804C1D8 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0x1 @@ -252,12 +252,12 @@ sub_804C1C0: @ 804C1C0 pop {r0} bx r0 .align 2, 0 -_0804C1D8: .4byte gUnknown_300500C +_0804C1D8: .4byte gSaveBlock2Ptr thumb_func_end sub_804C1C0 thumb_func_start sav2_gender2_inplace_and_xFE sav2_gender2_inplace_and_xFE: @ 804C1DC - ldr r0, _0804C1EC @ =gUnknown_300500C + ldr r0, _0804C1EC @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0xFE @@ -265,13 +265,13 @@ sav2_gender2_inplace_and_xFE: @ 804C1DC strb r0, [r2, 0x9] bx lr .align 2, 0 -_0804C1EC: .4byte gUnknown_300500C +_0804C1EC: .4byte gSaveBlock2Ptr thumb_func_end sav2_gender2_inplace_and_xFE thumb_func_start copy_player_party_to_sav1 copy_player_party_to_sav1: @ 804C1F0 push {r4,lr} - ldr r0, _0804C224 @ =gUnknown_3005008 + ldr r0, _0804C224 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0804C228 @ =gUnknown_2024029 ldrb r1, [r1] @@ -279,7 +279,7 @@ copy_player_party_to_sav1: @ 804C1F0 strb r1, [r0] movs r4, 0 _0804C200: - ldr r0, _0804C224 @ =gUnknown_3005008 + ldr r0, _0804C224 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x64 muls r1, r4 @@ -296,7 +296,7 @@ _0804C200: pop {r0} bx r0 .align 2, 0 -_0804C224: .4byte gUnknown_3005008 +_0804C224: .4byte gSaveBlock1Ptr _0804C228: .4byte gUnknown_2024029 _0804C22C: .4byte gUnknown_2024284 thumb_func_end copy_player_party_to_sav1 @@ -305,7 +305,7 @@ _0804C22C: .4byte gUnknown_2024284 sub_804C230: @ 804C230 push {r4,r5,lr} ldr r1, _0804C264 @ =gUnknown_2024029 - ldr r0, _0804C268 @ =gUnknown_3005008 + ldr r0, _0804C268 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x34 ldrb r0, [r0] @@ -317,7 +317,7 @@ _0804C242: adds r2, r4, 0 muls r2, r0 adds r0, r2, r5 - ldr r1, _0804C268 @ =gUnknown_3005008 + ldr r1, _0804C268 @ =gSaveBlock1Ptr ldr r1, [r1] adds r1, r2 adds r1, 0x38 @@ -331,7 +331,7 @@ _0804C242: bx r0 .align 2, 0 _0804C264: .4byte gUnknown_2024029 -_0804C268: .4byte gUnknown_3005008 +_0804C268: .4byte gSaveBlock1Ptr _0804C26C: .4byte gUnknown_2024284 thumb_func_end sub_804C230 @@ -340,7 +340,7 @@ save_serialize_npcs: @ 804C270 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _0804C2B0 @ =gUnknown_3005008 + ldr r0, _0804C2B0 @ =gSaveBlock1Ptr mov r12, r0 movs r5, 0xD4 lsls r5, 3 @@ -371,7 +371,7 @@ _0804C286: pop {r0} bx r0 .align 2, 0 -_0804C2B0: .4byte gUnknown_3005008 +_0804C2B0: .4byte gSaveBlock1Ptr _0804C2B4: .4byte gUnknown_2036E38 thumb_func_end save_serialize_npcs @@ -380,7 +380,7 @@ sub_804C2B8: @ 804C2B8 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _0804C2F8 @ =gUnknown_3005008 + ldr r0, _0804C2F8 @ =gSaveBlock1Ptr mov r12, r0 movs r5, 0xD4 lsls r5, 3 @@ -411,7 +411,7 @@ _0804C2CE: pop {r0} bx r0 .align 2, 0 -_0804C2F8: .4byte gUnknown_3005008 +_0804C2F8: .4byte gSaveBlock1Ptr _0804C2FC: .4byte gUnknown_2036E38 thumb_func_end sub_804C2B8 @@ -443,9 +443,9 @@ copy_bags_and_unk_data_from_save_blocks: @ 804C320 movs r2, 0 ldr r0, _0804C424 @ =gUnknown_2031C8C mov r12, r0 - ldr r1, _0804C428 @ =gUnknown_300500C + ldr r1, _0804C428 @ =gSaveBlock2Ptr mov r10, r1 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr movs r3, 0xC4 lsls r3, 2 ldr r4, _0804C430 @ =gUnknown_2031764 @@ -461,7 +461,7 @@ _0804C33C: ble _0804C33C movs r2, 0 ldr r0, _0804C430 @ =gUnknown_2031764 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr movs r3, 0xEE lsls r3, 2 adds r4, r0, 0 @@ -478,7 +478,7 @@ _0804C35C: ble _0804C35C movs r2, 0 ldr r0, _0804C430 @ =gUnknown_2031764 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr movs r6, 0x90 lsls r6, 1 adds r4, r0, r6 @@ -496,7 +496,7 @@ _0804C37E: ble _0804C37E movs r2, 0 ldr r0, _0804C430 @ =gUnknown_2031764 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr movs r7, 0xAA lsls r7, 1 adds r4, r0, r7 @@ -513,7 +513,7 @@ _0804C39E: ble _0804C39E movs r2, 0 ldr r0, _0804C430 @ =gUnknown_2031764 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr movs r1, 0x8F lsls r1, 2 adds r4, r0, r1 @@ -529,7 +529,7 @@ _0804C3BE: cmp r2, 0x2A ble _0804C3BE ldr r0, _0804C430 @ =gUnknown_2031764 - ldr r5, _0804C42C @ =gUnknown_3005008 + ldr r5, _0804C42C @ =gSaveBlock1Ptr mov r8, r5 movs r6, 0xBA lsls r6, 2 @@ -572,8 +572,8 @@ _0804C3E4: bx r0 .align 2, 0 _0804C424: .4byte gUnknown_2031C8C -_0804C428: .4byte gUnknown_300500C -_0804C42C: .4byte gUnknown_3005008 +_0804C428: .4byte gSaveBlock2Ptr +_0804C42C: .4byte gSaveBlock1Ptr _0804C430: .4byte gUnknown_2031764 _0804C434: .4byte 0x00000464 _0804C438: .4byte 0x0000054c @@ -588,11 +588,11 @@ sub_804C440: @ 804C440 mov r5, r8 push {r5-r7} movs r2, 0 - ldr r0, _0804C550 @ =gUnknown_300500C + ldr r0, _0804C550 @ =gSaveBlock2Ptr mov r8, r0 ldr r1, _0804C554 @ =gUnknown_2031C8C mov r12, r1 - ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r5, _0804C558 @ =gSaveBlock1Ptr movs r3, 0xC4 lsls r3, 2 ldr r4, _0804C55C @ =gUnknown_2031764 @@ -607,7 +607,7 @@ _0804C45C: cmp r2, 0x29 ble _0804C45C movs r2, 0 - ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r5, _0804C558 @ =gSaveBlock1Ptr movs r4, 0xEE lsls r4, 2 ldr r0, _0804C55C @ =gUnknown_2031764 @@ -624,7 +624,7 @@ _0804C47C: cmp r2, 0x1D ble _0804C47C movs r2, 0 - ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r5, _0804C558 @ =gSaveBlock1Ptr movs r4, 0x86 lsls r4, 3 ldr r0, _0804C55C @ =gUnknown_2031764 @@ -642,7 +642,7 @@ _0804C49E: cmp r2, 0xC ble _0804C49E movs r2, 0 - ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r5, _0804C558 @ =gSaveBlock1Ptr ldr r4, _0804C560 @ =0x00000464 ldr r0, _0804C55C @ =gUnknown_2031764 movs r7, 0xAA @@ -659,7 +659,7 @@ _0804C4BE: cmp r2, 0x39 ble _0804C4BE movs r2, 0 - ldr r5, _0804C558 @ =gUnknown_3005008 + ldr r5, _0804C558 @ =gSaveBlock1Ptr ldr r4, _0804C564 @ =0x0000054c ldr r0, _0804C55C @ =gUnknown_2031764 movs r1, 0x8F @@ -675,7 +675,7 @@ _0804C4DE: adds r2, 0x1 cmp r2, 0x2A ble _0804C4DE - ldr r2, _0804C558 @ =gUnknown_3005008 + ldr r2, _0804C558 @ =gSaveBlock1Ptr mov r9, r2 ldr r5, _0804C568 @ =0x00002cd0 mov r10, r5 @@ -724,9 +724,9 @@ _0804C4FE: pop {r0} bx r0 .align 2, 0 -_0804C550: .4byte gUnknown_300500C +_0804C550: .4byte gSaveBlock2Ptr _0804C554: .4byte gUnknown_2031C8C -_0804C558: .4byte gUnknown_3005008 +_0804C558: .4byte gSaveBlock1Ptr _0804C55C: .4byte gUnknown_2031764 _0804C560: .4byte 0x00000464 _0804C564: .4byte 0x0000054c @@ -735,7 +735,7 @@ _0804C568: .4byte 0x00002cd0 thumb_func_start sub_804C56C sub_804C56C: @ 804C56C - ldr r2, _0804C584 @ =gUnknown_300500C + ldr r2, _0804C584 @ =gSaveBlock2Ptr ldr r2, [r2] movs r3, 0xF2 lsls r3, 4 @@ -747,12 +747,12 @@ sub_804C56C: @ 804C56C strh r2, [r0] bx lr .align 2, 0 -_0804C584: .4byte gUnknown_300500C +_0804C584: .4byte gSaveBlock2Ptr thumb_func_end sub_804C56C thumb_func_start sub_804C588 sub_804C588: @ 804C588 - ldr r2, _0804C5A0 @ =gUnknown_300500C + ldr r2, _0804C5A0 @ =gSaveBlock2Ptr ldr r3, [r2] movs r2, 0xF2 lsls r2, 4 @@ -764,14 +764,14 @@ sub_804C588: @ 804C588 str r2, [r0] bx lr .align 2, 0 -_0804C5A0: .4byte gUnknown_300500C +_0804C5A0: .4byte gSaveBlock2Ptr thumb_func_end sub_804C588 thumb_func_start sub_804C5A4 sub_804C5A4: @ 804C5A4 push {r4-r7,lr} adds r5, r0, 0 - ldr r7, _0804C5F8 @ =gUnknown_3005008 + ldr r7, _0804C5F8 @ =gSaveBlock1Ptr ldr r6, _0804C5FC @ =0x00003d38 movs r4, 0x3 _0804C5AE: @@ -790,7 +790,7 @@ _0804C5AE: bl ApplyNewEncryptionKeyToBagItems_ adds r0, r5, 0 bl sub_815EE6C - ldr r4, _0804C5F8 @ =gUnknown_3005008 + ldr r4, _0804C5F8 @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xA4 lsls r1, 2 @@ -807,7 +807,7 @@ _0804C5AE: pop {r0} bx r0 .align 2, 0 -_0804C5F8: .4byte gUnknown_3005008 +_0804C5F8: .4byte gSaveBlock1Ptr _0804C5FC: .4byte 0x00003d38 thumb_func_end sub_804C5A4 diff --git a/asm/mail.s b/asm/mail.s index c4f41b453..34fb68748 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -159,7 +159,7 @@ _080BED14: .4byte sub_80BF110 sub_80BED18: @ 80BED18 push {r4-r6,lr} sub sp, 0xC - ldr r0, _080BED38 @ =gUnknown_30030F0 + ldr r0, _080BED38 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -174,7 +174,7 @@ _080BED2C: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BED38: .4byte gUnknown_30030F0 +_080BED38: .4byte gMain _080BED3C: .4byte _080BED40 .align 2, 0 _080BED40: @@ -433,7 +433,7 @@ _080BEF28: movs r2, 0x20 bl LoadPalette ldr r1, _080BEFE0 @ =gUnknown_83EE9C0 - ldr r0, _080BEFE4 @ =gUnknown_300500C + ldr r0, _080BEFE4 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r0, [r2, 0x8] lsls r0, 2 @@ -463,7 +463,7 @@ _080BEFD4: .4byte gUnknown_83EE9C8 _080BEFD8: .4byte gUnknown_20399C4 _080BEFDC: .4byte gUnknown_20375F8 _080BEFE0: .4byte gUnknown_83EE9C0 -_080BEFE4: .4byte gUnknown_300500C +_080BEFE4: .4byte gSaveBlock2Ptr _080BEFE8: ldr r0, _080BEFFC @ =gUnknown_20399C4 ldr r0, [r0] @@ -590,7 +590,7 @@ _080BF0E8: .4byte gUnknown_2037AB8 _080BF0EC: .4byte gUnknown_20399C4 _080BF0F0: .4byte sub_80BF394 _080BF0F4: - ldr r1, _080BF10C @ =gUnknown_30030F0 + ldr r1, _080BF10C @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -605,7 +605,7 @@ _080BF104: pop {r1} bx r1 .align 2, 0 -_080BF10C: .4byte gUnknown_30030F0 +_080BF10C: .4byte gMain thumb_func_end sub_80BED18 thumb_func_start sub_80BF110 @@ -952,7 +952,7 @@ _080BF3B4: .4byte sub_80BF3B8 sub_80BF3B8: @ 80BF3B8 push {lr} sub sp, 0x4 - ldr r0, _080BF3E8 @ =gUnknown_30030F0 + ldr r0, _080BF3E8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -975,7 +975,7 @@ _080BF3E2: pop {r0} bx r0 .align 2, 0 -_080BF3E8: .4byte gUnknown_30030F0 +_080BF3E8: .4byte gMain _080BF3EC: .4byte gUnknown_20399C4 _080BF3F0: .4byte sub_80BF3F4 thumb_func_end sub_80BF3B8 diff --git a/asm/mail_data.s b/asm/mail_data.s index 191120b57..5f577039b 100644 --- a/asm/mail_data.s +++ b/asm/mail_data.s @@ -9,7 +9,7 @@ ClearMailData: @ 8097C84 push {r4,r5,lr} movs r4, 0 - ldr r5, _08097CAC @ =gUnknown_3005008 + ldr r5, _08097CAC @ =gSaveBlock1Ptr _08097C8A: lsls r1, r4, 3 adds r1, r4 @@ -28,7 +28,7 @@ _08097C8A: pop {r0} bx r0 .align 2, 0 -_08097CAC: .4byte gUnknown_3005008 +_08097CAC: .4byte gSaveBlock1Ptr _08097CB0: .4byte 0x00002cd0 thumb_func_end ClearMailData @@ -132,7 +132,7 @@ sub_8097D38: @ 8097D38 mov r9, r4 adds r5, r4, 0 _08097D62: - ldr r2, _08097EC0 @ =gUnknown_3005008 + ldr r2, _08097EC0 @ =gSaveBlock1Ptr ldr r0, [r2] ldrb r3, [r5] lsls r1, r3, 3 @@ -147,7 +147,7 @@ _08097D62: b _08097EE0 _08097D7C: movs r4, 0 - ldr r3, _08097EC8 @ =gUnknown_300500C + ldr r3, _08097EC8 @ =gSaveBlock2Ptr mov r10, r3 adds r7, r2, 0 mov r5, r12 @@ -178,9 +178,9 @@ _08097D8A: ldrb r0, [r0] cmp r0, 0xFF beq _08097DEE - ldr r3, _08097EC8 @ =gUnknown_300500C + ldr r3, _08097EC8 @ =gSaveBlock2Ptr _08097DBC: - ldr r0, _08097EC0 @ =gUnknown_3005008 + ldr r0, _08097EC0 @ =gSaveBlock1Ptr ldr r2, [r0] mov r0, r12 ldrb r1, [r0] @@ -208,7 +208,7 @@ _08097DBC: _08097DEE: cmp r4, 0x5 bhi _08097E16 - ldr r7, _08097EC0 @ =gUnknown_3005008 + ldr r7, _08097EC0 @ =gSaveBlock1Ptr mov r3, r12 ldr r6, _08097ED4 @ =0x00002ce2 movs r5, 0 @@ -228,7 +228,7 @@ _08097DFA: cmp r4, 0x5 bls _08097DFA _08097E16: - ldr r3, _08097EC0 @ =gUnknown_3005008 + ldr r3, _08097EC0 @ =gSaveBlock1Ptr ldr r2, [r3] mov r0, r12 ldrb r1, [r0] @@ -277,7 +277,7 @@ _08097E36: adds r1, r0, 0 adds r0, r4, 0 bl SpeciesToMailSpecies - ldr r1, _08097EC0 @ =gUnknown_3005008 + ldr r1, _08097EC0 @ =gSaveBlock1Ptr ldr r3, [r1] mov r4, r9 ldrb r2, [r4] @@ -310,9 +310,9 @@ _08097E36: ldrb r0, [r1] b _08097EEE .align 2, 0 -_08097EC0: .4byte gUnknown_3005008 +_08097EC0: .4byte gSaveBlock1Ptr _08097EC4: .4byte 0x00002cf0 -_08097EC8: .4byte gUnknown_300500C +_08097EC8: .4byte gSaveBlock2Ptr _08097ECC: .4byte 0x0000ffff _08097ED0: .4byte 0x00002cd0 _08097ED4: .4byte 0x00002ce2 @@ -395,7 +395,7 @@ GiveMailToMon2: @ 8097F44 ldrb r2, [r4] cmp r2, 0xFF beq _08097FA8 - ldr r0, _08097FA0 @ =gUnknown_3005008 + ldr r0, _08097FA0 @ =gSaveBlock1Ptr ldr r1, [r0] lsls r0, r2, 3 adds r0, r2 @@ -426,7 +426,7 @@ GiveMailToMon2: @ 8097F44 ldrb r0, [r4] b _08097FAA .align 2, 0 -_08097FA0: .4byte gUnknown_3005008 +_08097FA0: .4byte gSaveBlock1Ptr _08097FA4: .4byte 0x00002cd0 _08097FA8: movs r0, 0xFF @@ -457,7 +457,7 @@ TakeMailFromMon: @ 8097FB8 bl GetMonData add r2, sp, 0x4 strb r0, [r2] - ldr r0, _08098010 @ =gUnknown_3005008 + ldr r0, _08098010 @ =gSaveBlock1Ptr ldr r3, [r0] ldrb r1, [r2] lsls r0, r1, 3 @@ -487,7 +487,7 @@ _08098008: pop {r0} bx r0 .align 2, 0 -_08098010: .4byte gUnknown_3005008 +_08098010: .4byte gSaveBlock1Ptr _08098014: .4byte 0x00002cf0 thumb_func_end TakeMailFromMon @@ -495,7 +495,7 @@ _08098014: .4byte 0x00002cf0 sub_8098018: @ 8098018 lsls r0, 24 lsrs r0, 24 - ldr r1, _08098034 @ =gUnknown_3005008 + ldr r1, _08098034 @ =gSaveBlock1Ptr ldr r2, [r1] lsls r1, r0, 3 adds r1, r0 @@ -507,7 +507,7 @@ sub_8098018: @ 8098018 strh r0, [r2] bx lr .align 2, 0 -_08098034: .4byte gUnknown_3005008 +_08098034: .4byte gSaveBlock1Ptr _08098038: .4byte 0x00002cf0 thumb_func_end sub_8098018 @@ -528,7 +528,7 @@ sub_809803C: @ 809803C strb r0, [r1] movs r7, 0x6 mov r9, r1 - ldr r0, _080980D0 @ =gUnknown_3005008 + ldr r0, _080980D0 @ =gSaveBlock1Ptr mov r8, r0 ldr r3, _080980D4 @ =0x00002cd0 _08098060: @@ -585,7 +585,7 @@ _08098060: adds r0, r7, 0 b _080980E8 .align 2, 0 -_080980D0: .4byte gUnknown_3005008 +_080980D0: .4byte gSaveBlock1Ptr _080980D4: .4byte 0x00002cd0 _080980D8: .4byte 0x00002cf0 _080980DC: diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index 145aef2aa..09fbd313b 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -120,7 +120,7 @@ sub_810EC20: @ 810EC20 negs r0, r0 cmp r3, r0 beq _0810EC82 - ldr r0, _0810EC8C @ =gUnknown_3005008 + ldr r0, _0810EC8C @ =gSaveBlock1Ptr lsls r1, r3, 3 adds r1, r3 lsls r1, 2 @@ -161,7 +161,7 @@ _0810EC82: pop {r0} bx r0 .align 2, 0 -_0810EC8C: .4byte gUnknown_3005008 +_0810EC8C: .4byte gSaveBlock1Ptr _0810EC90: .4byte 0x00002dba _0810EC94: .4byte gUnknown_8454000 thumb_func_end sub_810EC20 diff --git a/asm/main.s b/asm/main.s deleted file mode 100644 index b7ac8c75c..000000000 --- a/asm/main.s +++ /dev/null @@ -1,757 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AgbMain -AgbMain: @ 80003A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0xFF - bl RegisterRamReset - movs r1, 0xA0 - lsls r1, 19 - ldr r2, _08000458 @ =0x00007fff - adds r0, r2, 0 - strh r0, [r1] - bl InitGpuRegManager - ldr r1, _0800045C @ =0x04000204 - ldr r2, _08000460 @ =0x00004014 - adds r0, r2, 0 - strh r0, [r1] - bl InitKeys - bl InitIntrHandlers - bl m4aSoundInit - bl EnableVCountIntrAtLine150 - bl sub_80F86C4 - bl CheckForFlashMemory - bl sub_80004C4 - bl InitMapMusic - bl ClearDma3Requests - bl ResetBgs - ldr r0, _08000464 @ =gHeap - movs r1, 0xE0 - lsls r1, 9 - bl InitHeap - bl SetDefaultFontsPointer - ldr r0, _08000468 @ =gUnknown_3003530 - movs r4, 0 - strb r4, [r0] - ldr r0, _0800046C @ =gUnknown_3005ECC - strb r4, [r0] - bl sub_80F50F4 - bl AGBPrintInit - ldr r0, _08000470 @ =gUnknown_30030E4 - strb r4, [r0] - ldr r7, _08000474 @ =gUnknown_30030F0 - movs r1, 0 - mov r8, r1 - adds r6, r0, 0 -_0800041A: - bl ReadKeys - ldr r0, _08000468 @ =gUnknown_3003530 - ldrb r0, [r0] - cmp r0, 0 - bne _08000444 - ldrh r1, [r7, 0x28] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08000444 - movs r0, 0xE - ands r0, r1 - cmp r0, 0xE - bne _08000444 - bl rfu_REQ_stopMode - bl rfu_waitREQComplete - bl sub_80008D8 -_08000444: - bl sub_80582E0 - cmp r0, 0x1 - bne _08000478 - strb r0, [r6] - bl sub_80004B0 - movs r0, 0 - strb r0, [r6] - b _0800049E - .align 2, 0 -_08000458: .4byte 0x00007fff -_0800045C: .4byte 0x04000204 -_08000460: .4byte 0x00004014 -_08000464: .4byte gHeap -_08000468: .4byte gUnknown_3003530 -_0800046C: .4byte gUnknown_3005ECC -_08000470: .4byte gUnknown_30030E4 -_08000474: .4byte gUnknown_30030F0 -_08000478: - ldr r5, _080004AC @ =gUnknown_30030E4 - movs r0, 0 - strb r0, [r5] - bl sub_80004B0 - bl sub_8058274 - adds r4, r0, 0 - cmp r4, 0x1 - bne _0800049E - movs r0, 0 - strh r0, [r7, 0x2E] - bl ClearSpriteCopyRequests - strb r4, [r5] - bl sub_80004B0 - mov r2, r8 - strb r2, [r5] -_0800049E: - bl PlayTimeCounter_Update - bl MapMusicMain - bl sub_8000890 - b _0800041A - .align 2, 0 -_080004AC: .4byte gUnknown_30030E4 - thumb_func_end AgbMain - - thumb_func_start sub_80004B0 -sub_80004B0: @ 80004B0 - push {lr} - bl HandleLinkConnection - lsls r0, 24 - cmp r0, 0 - bne _080004C0 - bl sub_8000510 -_080004C0: - pop {r0} - bx r0 - thumb_func_end sub_80004B0 - - thumb_func_start sub_80004C4 -sub_80004C4: @ 80004C4 - push {r4,lr} - ldr r0, _080004F4 @ =gUnknown_30030F0 - movs r4, 0 - str r4, [r0, 0x20] - str r4, [r0, 0x24] - str r4, [r0] - ldr r0, _080004F8 @ =sub_80EC820 - bl SetMainCallback2 - ldr r0, _080004FC @ =gUnknown_300500C - ldr r1, _08000500 @ =gUnknown_2024588 - str r1, [r0] - ldr r2, _08000504 @ =gUnknown_3005008 - ldr r0, _08000508 @ =gUnknown_202552C - str r0, [r2] - movs r0, 0xF2 - lsls r0, 4 - adds r1, r0 - str r4, [r1] - ldr r0, _0800050C @ =gUnknown_3005E88 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080004F4: .4byte gUnknown_30030F0 -_080004F8: .4byte sub_80EC820 -_080004FC: .4byte gUnknown_300500C -_08000500: .4byte gUnknown_2024588 -_08000504: .4byte gUnknown_3005008 -_08000508: .4byte gUnknown_202552C -_0800050C: .4byte gUnknown_3005E88 - thumb_func_end sub_80004C4 - - thumb_func_start sub_8000510 -sub_8000510: @ 8000510 - push {r4,lr} - bl sub_80F5118 - cmp r0, 0 - bne _0800053A - bl sub_813B870 - lsls r0, 24 - cmp r0, 0 - bne _0800053A - ldr r4, _08000540 @ =gUnknown_30030F0 - ldr r0, [r4] - cmp r0, 0 - beq _08000530 - bl _call_via_r0 -_08000530: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0800053A - bl _call_via_r0 -_0800053A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000540: .4byte gUnknown_30030F0 - thumb_func_end sub_8000510 - - thumb_func_start SetMainCallback2 -SetMainCallback2: @ 8000544 - ldr r1, _08000554 @ =gUnknown_30030F0 - str r0, [r1, 0x4] - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08000554: .4byte gUnknown_30030F0 - thumb_func_end SetMainCallback2 - - thumb_func_start StartTimer1 -StartTimer1: @ 8000558 - ldr r1, _08000560 @ =0x04000106 - movs r0, 0x80 - strh r0, [r1] - bx lr - .align 2, 0 -_08000560: .4byte 0x04000106 - thumb_func_end StartTimer1 - - thumb_func_start SeedRngAndSetTrainerId -SeedRngAndSetTrainerId: @ 8000564 - push {r4,lr} - ldr r0, _08000580 @ =0x04000104 - ldrh r4, [r0] - adds r0, r4, 0 - bl SeedRng - ldr r1, _08000584 @ =0x04000106 - movs r0, 0 - strh r0, [r1] - ldr r0, _08000588 @ =gUnknown_2020000 - strh r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000580: .4byte 0x04000104 -_08000584: .4byte 0x04000106 -_08000588: .4byte gUnknown_2020000 - thumb_func_end SeedRngAndSetTrainerId - - thumb_func_start GetGeneratedTrainerIdLower -GetGeneratedTrainerIdLower: @ 800058C - ldr r0, _08000594 @ =gUnknown_2020000 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08000594: .4byte gUnknown_2020000 - thumb_func_end GetGeneratedTrainerIdLower - - thumb_func_start EnableVCountIntrAtLine150 -EnableVCountIntrAtLine150: @ 8000598 - push {lr} - movs r0, 0x4 - bl GetGpuReg - movs r1, 0xFF - ands r1, r0 - movs r2, 0x96 - lsls r2, 8 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x20 - orrs r1, r0 - movs r0, 0x4 - bl SetGpuReg - movs r0, 0x4 - bl EnableInterrupts - pop {r0} - bx r0 - thumb_func_end EnableVCountIntrAtLine150 - - thumb_func_start InitKeys -InitKeys: @ 80005C0 - ldr r1, _080005DC @ =gUnknown_300352C - movs r0, 0x5 - strh r0, [r1] - ldr r1, _080005E0 @ =gUnknown_30030E0 - movs r0, 0x28 - strh r0, [r1] - ldr r1, _080005E4 @ =gUnknown_30030F0 - movs r0, 0 - strh r0, [r1, 0x2C] - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - strh r0, [r1, 0x28] - strh r0, [r1, 0x2A] - bx lr - .align 2, 0 -_080005DC: .4byte gUnknown_300352C -_080005E0: .4byte gUnknown_30030E0 -_080005E4: .4byte gUnknown_30030F0 - thumb_func_end InitKeys - - thumb_func_start ReadKeys -ReadKeys: @ 80005E8 - push {lr} - ldr r0, _08000624 @ =0x04000130 - ldrh r1, [r0] - ldr r2, _08000628 @ =0x000003ff - adds r0, r2, 0 - adds r3, r0, 0 - eors r3, r1 - ldr r1, _0800062C @ =gUnknown_30030F0 - ldrh r2, [r1, 0x28] - adds r0, r3, 0 - bics r0, r2 - strh r0, [r1, 0x2A] - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - adds r2, r1, 0 - cmp r3, 0 - beq _08000634 - ldrh r0, [r2, 0x2C] - cmp r0, r3 - bne _08000634 - ldrh r0, [r2, 0x32] - subs r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _0800063A - strh r3, [r2, 0x30] - ldr r0, _08000630 @ =gUnknown_300352C - b _08000636 - .align 2, 0 -_08000624: .4byte 0x04000130 -_08000628: .4byte 0x000003ff -_0800062C: .4byte gUnknown_30030F0 -_08000630: .4byte gUnknown_300352C -_08000634: - ldr r0, _08000680 @ =gUnknown_30030E0 -_08000636: - ldrh r0, [r0] - strh r0, [r2, 0x32] -_0800063A: - strh r3, [r2, 0x28] - strh r3, [r2, 0x2C] - ldr r0, _08000684 @ =gUnknown_300500C - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x2 - bne _0800066C - ldrh r1, [r2, 0x2E] - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800065C - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2, 0x2E] -_0800065C: - ldrh r1, [r2, 0x2C] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800066C - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2, 0x2C] -_0800066C: - ldrh r1, [r2, 0x2E] - ldrh r0, [r2, 0x36] - ands r0, r1 - cmp r0, 0 - beq _0800067A - movs r0, 0x1 - strh r0, [r2, 0x34] -_0800067A: - pop {r0} - bx r0 - .align 2, 0 -_08000680: .4byte gUnknown_30030E0 -_08000684: .4byte gUnknown_300500C - thumb_func_end ReadKeys - - thumb_func_start InitIntrHandlers -InitIntrHandlers: @ 8000688 - push {r4,r5,lr} - ldr r5, _080006D4 @ =IntrMain - ldr r4, _080006D8 @ =gUnknown_3003580 - ldr r3, _080006DC @ =gUnknown_81E9F28 - ldr r2, _080006E0 @ =gIntrTable - movs r1, 0xD -_08000694: - ldm r3!, {r0} - stm r2!, {r0} - subs r1, 0x1 - cmp r1, 0 - bge _08000694 - ldr r0, _080006E4 @ =0x040000d4 - str r5, [r0] - str r4, [r0, 0x4] - ldr r1, _080006E8 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080006EC @ =INTR_VECTOR - str r4, [r0] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl sub_8000718 - ldr r1, _080006F0 @ =0x04000208 - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl EnableInterrupts - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080006D4: .4byte IntrMain -_080006D8: .4byte gUnknown_3003580 -_080006DC: .4byte gUnknown_81E9F28 -_080006E0: .4byte gIntrTable -_080006E4: .4byte 0x040000d4 -_080006E8: .4byte 0x84000200 -_080006EC: .4byte INTR_VECTOR -_080006F0: .4byte 0x04000208 - thumb_func_end InitIntrHandlers - - thumb_func_start SetVBlankCallback -SetVBlankCallback: @ 80006F4 - ldr r1, _080006FC @ =gUnknown_30030F0 - str r0, [r1, 0xC] - bx lr - .align 2, 0 -_080006FC: .4byte gUnknown_30030F0 - thumb_func_end SetVBlankCallback - - thumb_func_start SetHBlankCallback -SetHBlankCallback: @ 8000700 - ldr r1, _08000708 @ =gUnknown_30030F0 - str r0, [r1, 0x10] - bx lr - .align 2, 0 -_08000708: .4byte gUnknown_30030F0 - thumb_func_end SetHBlankCallback - - thumb_func_start sub_800070C -sub_800070C: @ 800070C - ldr r1, _08000714 @ =gUnknown_30030F0 - str r0, [r1, 0x14] - bx lr - .align 2, 0 -_08000714: .4byte gUnknown_30030F0 - thumb_func_end sub_800070C - - thumb_func_start sub_8000718 -sub_8000718: @ 8000718 - ldr r1, _08000720 @ =gUnknown_30030F0 - str r0, [r1, 0x18] - bx lr - .align 2, 0 -_08000720: .4byte gUnknown_30030F0 - thumb_func_end sub_8000718 - - thumb_func_start sub_8000724 -sub_8000724: @ 8000724 - push {r4,r5,lr} - ldr r0, _08000734 @ =gUnknown_3003F3C - ldrb r0, [r0] - cmp r0, 0 - beq _08000738 - bl LinkVSync - b _08000744 - .align 2, 0 -_08000734: .4byte gUnknown_3003F3C -_08000738: - ldr r0, _080007A8 @ =gUnknown_300357C - ldrb r0, [r0] - cmp r0, 0 - bne _08000744 - bl sub_800B718 -_08000744: - ldr r5, _080007AC @ =gUnknown_30030F0 - ldr r1, [r5, 0x20] - cmp r1, 0 - beq _08000752 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08000752: - ldr r0, [r5, 0xC] - cmp r0, 0 - beq _0800075C - bl _call_via_r0 -_0800075C: - ldr r0, [r5, 0x24] - adds r0, 0x1 - str r0, [r5, 0x24] - bl CopyBufferedValuesToGpuRegs - bl ProcessDma3Requests - ldr r1, _080007B0 @ =gUnknown_3003D88 - ldr r0, _080007B4 @ =gSoundInfo - ldrb r0, [r0, 0x4] - strb r0, [r1] - ldr r1, _080007B8 @ =gUnknown_3003D84 - ldr r4, _080007BC @ =0x04000006 - ldrh r0, [r4] - strb r0, [r1] - bl m4aSoundMain - ldr r1, _080007C0 @ =gUnknown_3003578 - ldrh r0, [r4] - strb r0, [r1] - bl sub_800DD28 - bl Random - bl sub_80FCF34 - ldr r2, _080007C4 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r5, 0x1C] - ldrh r2, [r5, 0x1C] - orrs r1, r0 - strh r1, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080007A8: .4byte gUnknown_300357C -_080007AC: .4byte gUnknown_30030F0 -_080007B0: .4byte gUnknown_3003D88 -_080007B4: .4byte gSoundInfo -_080007B8: .4byte gUnknown_3003D84 -_080007BC: .4byte 0x04000006 -_080007C0: .4byte gUnknown_3003578 -_080007C4: .4byte INTR_CHECK - thumb_func_end sub_8000724 - - thumb_func_start InitFlashTimer -InitFlashTimer: @ 80007C8 - push {lr} - ldr r0, _080007D8 @ =gUnknown_81E9F60 - ldr r1, [r0] - movs r0, 0x2 - bl SetFlashTimerIntr - pop {r0} - bx r0 - .align 2, 0 -_080007D8: .4byte gUnknown_81E9F60 - thumb_func_end InitFlashTimer - - thumb_func_start HBlankIntr -HBlankIntr: @ 80007DC - push {r4,lr} - ldr r4, _08000804 @ =gUnknown_30030F0 - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _080007EA - bl _call_via_r0 -_080007EA: - ldr r2, _08000808 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x1C] - ldrh r2, [r4, 0x1C] - orrs r1, r0 - strh r1, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000804: .4byte gUnknown_30030F0 -_08000808: .4byte INTR_CHECK - thumb_func_end HBlankIntr - - thumb_func_start sub_800080C -sub_800080C: @ 800080C - push {lr} - ldr r1, _08000834 @ =gUnknown_3003D80 - ldr r0, _08000838 @ =0x04000006 - ldrh r0, [r0] - strb r0, [r1] - bl m4aSoundVSync - ldr r2, _0800083C @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08000840 @ =gUnknown_30030F0 - ldrh r2, [r0, 0x1C] - ldrh r3, [r0, 0x1C] - orrs r1, r2 - strh r1, [r0, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_08000834: .4byte gUnknown_3003D80 -_08000838: .4byte 0x04000006 -_0800083C: .4byte INTR_CHECK -_08000840: .4byte gUnknown_30030F0 - thumb_func_end sub_800080C - - thumb_func_start sub_8000844 -sub_8000844: @ 8000844 - push {r4,lr} - ldr r4, _0800086C @ =gUnknown_30030F0 - ldr r0, [r4, 0x18] - cmp r0, 0 - beq _08000852 - bl _call_via_r0 -_08000852: - ldr r2, _08000870 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x1C] - ldrh r2, [r4, 0x1C] - orrs r1, r0 - strh r1, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800086C: .4byte gUnknown_30030F0 -_08000870: .4byte INTR_CHECK - thumb_func_end sub_8000844 - - thumb_func_start sub_8000874 -sub_8000874: @ 8000874 - ldr r0, _08000880 @ =gIntrTable - ldr r1, _08000884 @ =sub_8000844 - str r1, [r0, 0x4] - ldr r1, _08000888 @ =Timer3Intr - str r1, [r0, 0x8] - bx lr - .align 2, 0 -_08000880: .4byte gIntrTable -_08000884: .4byte sub_8000844 -_08000888: .4byte Timer3Intr - thumb_func_end sub_8000874 - - thumb_func_start nullsub_4 -nullsub_4: @ 800088C - bx lr - thumb_func_end nullsub_4 - - thumb_func_start sub_8000890 -sub_8000890: @ 8000890 - push {lr} - ldr r2, _080008B8 @ =gUnknown_30030F0 - ldrh r1, [r2, 0x1C] - ldr r0, _080008BC @ =0x0000fffe - ands r0, r1 - ldrh r1, [r2, 0x1C] - strh r0, [r2, 0x1C] - ldrh r1, [r2, 0x1C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080008B4 - movs r3, 0x1 -_080008AA: - ldrh r1, [r2, 0x1C] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080008AA -_080008B4: - pop {r0} - bx r0 - .align 2, 0 -_080008B8: .4byte gUnknown_30030F0 -_080008BC: .4byte 0x0000fffe - thumb_func_end sub_8000890 - - thumb_func_start sub_80008C0 -sub_80008C0: @ 80008C0 - ldr r1, _080008C8 @ =gUnknown_30030F0 - str r0, [r1, 0x20] - bx lr - .align 2, 0 -_080008C8: .4byte gUnknown_30030F0 - thumb_func_end sub_80008C0 - - thumb_func_start sub_80008CC -sub_80008CC: @ 80008CC - ldr r1, _080008D4 @ =gUnknown_30030F0 - movs r0, 0 - str r0, [r1, 0x20] - bx lr - .align 2, 0 -_080008D4: .4byte gUnknown_30030F0 - thumb_func_end sub_80008CC - - thumb_func_start sub_80008D8 -sub_80008D8: @ 80008D8 - push {r4,lr} - ldr r1, _08000930 @ =0x04000208 - movs r0, 0 - strh r0, [r1] - bl m4aSoundVSyncOff - bl remove_some_task - ldr r1, _08000934 @ =0x040000bc - ldrh r2, [r1, 0xA] - ldr r3, _08000938 @ =0x0000c5ff - adds r0, r3, 0 - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r4, [r1, 0xA] - ldr r2, _0800093C @ =0x00007fff - adds r0, r2, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - adds r1, 0xC - ldrh r4, [r1, 0xA] - adds r0, r3, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r4, [r1, 0xA] - adds r0, r2, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r0, _08000940 @ =0x040000d4 - ldrh r1, [r0, 0xA] - ands r3, r1 - strh r3, [r0, 0xA] - ldrh r1, [r0, 0xA] - ands r2, r1 - strh r2, [r0, 0xA] - ldrh r0, [r0, 0xA] - movs r0, 0xDF - bl SoftReset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000930: .4byte 0x04000208 -_08000934: .4byte 0x040000bc -_08000938: .4byte 0x0000c5ff -_0800093C: .4byte 0x00007fff -_08000940: .4byte 0x040000d4 - thumb_func_end sub_80008D8 - - thumb_func_start sub_8000944 -sub_8000944: @ 8000944 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _08000960 @ =gPokemonCrySongs - ldr r2, _08000964 @ =0x01000034 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08000960: .4byte gPokemonCrySongs -_08000964: .4byte 0x01000034 - thumb_func_end sub_8000944 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/main_menu.s b/asm/main_menu.s index 7ad15ad26..32563db7e 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -442,7 +442,7 @@ sub_800C688: @ 800C688 lsls r0, 16 cmp r0, 0 bne _0800C6F8 - ldr r0, _0800C6E4 @ =gUnknown_30030F0 + ldr r0, _0800C6E4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -467,7 +467,7 @@ sub_800C688: @ 800C688 b _0800C6F6 .align 2, 0 _0800C6E0: .4byte gUnknown_2037AB8 -_0800C6E4: .4byte gUnknown_30030F0 +_0800C6E4: .4byte gMain _0800C6E8: .4byte gUnknown_8234638 _0800C6EC: .4byte gUnknown_3005090 _0800C6F0: .4byte sub_800C704 @@ -591,7 +591,7 @@ sub_800C7A0: @ 800C7A0 movs r0, 0x54 movs r1, 0x7 bl SetGpuReg - ldr r0, _0800C7F4 @ =gUnknown_300500C + ldr r0, _0800C7F4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -599,7 +599,7 @@ sub_800C7A0: @ 800C7A0 ldr r1, _0800C7F8 @ =0x00007e04 b _0800C7FE .align 2, 0 -_0800C7F4: .4byte gUnknown_300500C +_0800C7F4: .4byte gSaveBlock2Ptr _0800C7F8: .4byte 0x00007e04 _0800C7FC: ldr r1, _0800C85C @ =0x0000547f @@ -1104,7 +1104,7 @@ _0800CC28: strh r0, [r4, 0x1A] b _0800CC58 _0800CC34: - ldr r0, _0800CC60 @ =gUnknown_30030F0 + ldr r0, _0800CC60 @ =gMain ldrh r0, [r0, 0x2E] ands r1, r0 cmp r1, 0 @@ -1126,7 +1126,7 @@ _0800CC58: pop {r0} bx r0 .align 2, 0 -_0800CC60: .4byte gUnknown_30030F0 +_0800CC60: .4byte gMain _0800CC64: .4byte sub_800CC68 thumb_func_end sub_800CB90 @@ -1218,7 +1218,7 @@ sub_800CCF8: @ 800CCF8 sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0800CD38 @ =gUnknown_30030F0 + ldr r0, _0800CD38 @ =gMain ldrh r1, [r0, 0x2E] movs r5, 0x1 ands r5, r1 @@ -1244,7 +1244,7 @@ sub_800CCF8: @ 800CCF8 str r1, [r0] b _0800CDEC .align 2, 0 -_0800CD38: .4byte gUnknown_30030F0 +_0800CD38: .4byte gMain _0800CD3C: .4byte gUnknown_3005090 _0800CD40: .4byte sub_800CA94 _0800CD44: @@ -1407,7 +1407,7 @@ sub_800CE70: @ 800CE70 bl box_print add r1, sp, 0xC movs r2, 0 - ldr r0, _0800CED0 @ =gUnknown_300500C + ldr r0, _0800CED0 @ =gSaveBlock2Ptr ldr r3, [r0] _0800CE96: adds r0, r3, r2 @@ -1437,7 +1437,7 @@ _0800CE96: .align 2, 0 _0800CEC8: .4byte gUnknown_823468B _0800CECC: .4byte gUnknown_841B6D5 -_0800CED0: .4byte gUnknown_300500C +_0800CED0: .4byte gSaveBlock2Ptr thumb_func_end sub_800CE70 thumb_func_start sub_800CED4 @@ -1456,7 +1456,7 @@ sub_800CED4: @ 800CED4 movs r2, 0x2 movs r3, 0x22 bl box_print - ldr r4, _0800CF38 @ =gUnknown_300500C + ldr r4, _0800CF38 @ =gSaveBlock2Ptr ldr r0, [r4] ldrh r1, [r0, 0xE] add r0, sp, 0xC @@ -1487,7 +1487,7 @@ sub_800CED4: @ 800CED4 .align 2, 0 _0800CF30: .4byte gUnknown_823468B _0800CF34: .4byte gUnknown_841B6DC -_0800CF38: .4byte gUnknown_300500C +_0800CF38: .4byte gSaveBlock2Ptr thumb_func_end sub_800CED4 thumb_func_start sub_800CF3C @@ -1620,7 +1620,7 @@ sub_800D044: @ 800D044 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r5, _0800D088 @ =gUnknown_300500C + ldr r5, _0800D088 @ =gSaveBlock2Ptr ldr r0, [r5] ldrb r0, [r0, 0x14] lsrs r0, 3 @@ -1645,7 +1645,7 @@ sub_800D044: @ 800D044 pop {r0} bx r0 .align 2, 0 -_0800D088: .4byte gUnknown_300500C +_0800D088: .4byte gSaveBlock2Ptr _0800D08C: .4byte 0x000001b1 _0800D090: .4byte gUnknown_8234638 thumb_func_end sub_800D044 diff --git a/asm/menu.s b/asm/menu.s index 5fea2df97..e2e8fd6ea 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -1508,7 +1508,7 @@ _0810F994: .4byte gUnknown_203ADE4 thumb_func_start ProcessMenuInput ProcessMenuInput: @ 810F998 push {r4,lr} - ldr r0, _0810F9BC @ =gUnknown_30030F0 + ldr r0, _0810F9BC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1525,7 +1525,7 @@ _0810F9B4: ldrsb r0, [r4, r0] b _0810F9FE .align 2, 0 -_0810F9BC: .4byte gUnknown_30030F0 +_0810F9BC: .4byte gMain _0810F9C0: .4byte gUnknown_203ADE4 _0810F9C4: movs r0, 0x2 @@ -1570,7 +1570,7 @@ ProcessMenuInputNoWrapAround: @ 810FA04 ldr r4, _0810FA2C @ =gUnknown_203ADE4 ldrb r5, [r4, 0x2] adds r6, r5, 0 - ldr r0, _0810FA30 @ =gUnknown_30030F0 + ldr r0, _0810FA30 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1587,7 +1587,7 @@ _0810FA24: b _0810FA7C .align 2, 0 _0810FA2C: .4byte gUnknown_203ADE4 -_0810FA30: .4byte gUnknown_30030F0 +_0810FA30: .4byte gMain _0810FA34: movs r0, 0x2 ands r0, r1 @@ -1635,7 +1635,7 @@ _0810FA7C: thumb_func_start ProcessMenuInput_other ProcessMenuInput_other: @ 810FA84 push {r4,lr} - ldr r2, _0810FAA8 @ =gUnknown_30030F0 + ldr r2, _0810FAA8 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1652,7 +1652,7 @@ _0810FAA0: ldrsb r0, [r4, r0] b _0810FAE8 .align 2, 0 -_0810FAA8: .4byte gUnknown_30030F0 +_0810FAA8: .4byte gMain _0810FAAC: .4byte gUnknown_203ADE4 _0810FAB0: movs r0, 0x2 @@ -1696,7 +1696,7 @@ ProcessMenuInputNoWrapAround_other: @ 810FAF0 ldr r4, _0810FB18 @ =gUnknown_203ADE4 ldrb r5, [r4, 0x2] adds r6, r5, 0 - ldr r2, _0810FB1C @ =gUnknown_30030F0 + ldr r2, _0810FB1C @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1713,7 +1713,7 @@ _0810FB10: b _0810FB66 .align 2, 0 _0810FB18: .4byte gUnknown_203ADE4 -_0810FB1C: .4byte gUnknown_30030F0 +_0810FB1C: .4byte gMain _0810FB20: movs r0, 0x2 ands r0, r1 @@ -3095,7 +3095,7 @@ _08110592: thumb_func_start sub_81105A0 sub_81105A0: @ 81105A0 push {r4,lr} - ldr r4, _081105C0 @ =gUnknown_30030F0 + ldr r4, _081105C0 @ =gMain ldrh r1, [r4, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3109,7 +3109,7 @@ sub_81105A0: @ 81105A0 asrs r0, 24 b _08110648 .align 2, 0 -_081105C0: .4byte gUnknown_30030F0 +_081105C0: .4byte gMain _081105C4: .4byte gUnknown_203ADE4 _081105C8: movs r0, 0x2 @@ -3189,7 +3189,7 @@ sub_8110650: @ 8110650 push {r4-r6,lr} ldr r5, _08110670 @ =gUnknown_203ADE4 ldrb r4, [r5, 0x2] - ldr r6, _08110674 @ =gUnknown_30030F0 + ldr r6, _08110674 @ =gMain ldrh r1, [r6, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3202,7 +3202,7 @@ sub_8110650: @ 8110650 b _081106EE .align 2, 0 _08110670: .4byte gUnknown_203ADE4 -_08110674: .4byte gUnknown_30030F0 +_08110674: .4byte gMain _08110678: movs r0, 0x2 ands r0, r1 @@ -3277,7 +3277,7 @@ _081106EE: thumb_func_start sub_81106F4 sub_81106F4: @ 81106F4 push {r4,r5,lr} - ldr r4, _08110714 @ =gUnknown_30030F0 + ldr r4, _08110714 @ =gMain ldrh r1, [r4, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3291,7 +3291,7 @@ sub_81106F4: @ 81106F4 asrs r0, 24 b _08110798 .align 2, 0 -_08110714: .4byte gUnknown_30030F0 +_08110714: .4byte gMain _08110718: .4byte gUnknown_203ADE4 _0811071C: movs r0, 0x2 @@ -3369,7 +3369,7 @@ sub_81107A0: @ 81107A0 push {r4-r6,lr} ldr r6, _081107C0 @ =gUnknown_203ADE4 ldrb r4, [r6, 0x2] - ldr r5, _081107C4 @ =gUnknown_30030F0 + ldr r5, _081107C4 @ =gMain ldrh r1, [r5, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3382,7 +3382,7 @@ sub_81107A0: @ 81107A0 b _0811083A .align 2, 0 _081107C0: .4byte gUnknown_203ADE4 -_081107C4: .4byte gUnknown_30030F0 +_081107C4: .4byte gMain _081107C8: movs r0, 0x2 ands r0, r1 diff --git a/asm/menu2.s b/asm/menu2.s index 12eae4147..d74f48ea2 100644 --- a/asm/menu2.s +++ b/asm/menu2.s @@ -246,7 +246,7 @@ sub_812E6DC: @ 812E6DC lsls r3, 16 lsrs r6, r3, 16 movs r4, 0 - ldr r0, _0812E734 @ =gUnknown_300500C + ldr r0, _0812E734 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r0, [r2] ldr r7, _0812E738 @ =gUnknown_2021D18 @@ -278,7 +278,7 @@ _0812E70A: bl PrintTextOnWindow b _0812E75C .align 2, 0 -_0812E734: .4byte gUnknown_300500C +_0812E734: .4byte gSaveBlock2Ptr _0812E738: .4byte gUnknown_2021D18 _0812E73C: lsls r3, r5, 24 diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index d4339a74b..648b255bc 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -233,12 +233,12 @@ _080BF62C: .4byte sub_80BF560 thumb_func_start GetLRKeysState GetLRKeysState: @ 80BF630 push {lr} - ldr r0, _080BF650 @ =gUnknown_300500C + ldr r0, _080BF650 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 bne _080BF666 - ldr r0, _080BF654 @ =gUnknown_30030F0 + ldr r0, _080BF654 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 lsls r0, 2 @@ -248,8 +248,8 @@ GetLRKeysState: @ 80BF630 movs r0, 0x1 b _080BF668 .align 2, 0 -_080BF650: .4byte gUnknown_300500C -_080BF654: .4byte gUnknown_30030F0 +_080BF650: .4byte gSaveBlock2Ptr +_080BF654: .4byte gMain _080BF658: movs r0, 0x80 lsls r0, 1 @@ -268,12 +268,12 @@ _080BF668: thumb_func_start sub_80BF66C sub_80BF66C: @ 80BF66C push {lr} - ldr r0, _080BF68C @ =gUnknown_300500C + ldr r0, _080BF68C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 bne _080BF6A2 - ldr r0, _080BF690 @ =gUnknown_30030F0 + ldr r0, _080BF690 @ =gMain ldrh r1, [r0, 0x30] movs r0, 0x80 lsls r0, 2 @@ -283,8 +283,8 @@ sub_80BF66C: @ 80BF66C movs r0, 0x1 b _080BF6A4 .align 2, 0 -_080BF68C: .4byte gUnknown_300500C -_080BF690: .4byte gUnknown_30030F0 +_080BF68C: .4byte gSaveBlock2Ptr +_080BF690: .4byte gMain _080BF694: movs r0, 0x80 lsls r0, 1 @@ -307,7 +307,7 @@ sub_80BF6A8: @ 80BF6A8 lsrs r0, 16 cmp r0, 0xAF bne _080BF6D0 - ldr r0, _080BF6CC @ =gUnknown_3005008 + ldr r0, _080BF6CC @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] movs r0, 0x80 @@ -321,7 +321,7 @@ _080BF6C8: movs r0, 0 b _080BF6D2 .align 2, 0 -_080BF6CC: .4byte gUnknown_3005008 +_080BF6CC: .4byte gSaveBlock1Ptr _080BF6D0: movs r0, 0x1 _080BF6D2: @@ -528,7 +528,7 @@ sub_80BF848: @ 80BF848 adds r5, r1, 0 ldrh r4, [r2] adds r6, r4, 0 - ldr r0, _080BF87C @ =gUnknown_30030F0 + ldr r0, _080BF87C @ =gMain ldrh r0, [r0, 0x30] movs r3, 0xF0 ands r3, r0 @@ -549,7 +549,7 @@ _080BF876: lsls r0, r4, 16 b _080BF8CA .align 2, 0 -_080BF87C: .4byte gUnknown_30030F0 +_080BF87C: .4byte gMain _080BF880: cmp r3, 0x80 bne _080BF896 diff --git a/asm/mevent.s b/asm/mevent.s index e8cf40c37..e4601686e 100644 --- a/asm/mevent.s +++ b/asm/mevent.s @@ -66,7 +66,7 @@ sub_8143644: @ 8143644 strh r0, [r4] bl sub_815C960 bl sub_815C91C - bl sub_8000874 + bl RestoreSerialTimer3IntrHandlers mov r0, sp ldrh r0, [r0] strh r0, [r4] @@ -292,7 +292,7 @@ _081437F8: strh r0, [r5] b _08143872 _08143814: - ldr r0, _08143828 @ =gUnknown_30030F0 + ldr r0, _08143828 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -303,7 +303,7 @@ _08143814: movs r0, 0x1 b _0814389A .align 2, 0 -_08143828: .4byte gUnknown_30030F0 +_08143828: .4byte gMain _0814382C: ldrh r0, [r5] adds r0, 0x1 @@ -555,7 +555,7 @@ _08143A24: strb r0, [r4, 0x8] b _08143D1A _08143A3A: - ldr r0, _08143A58 @ =gUnknown_30030F0 + ldr r0, _08143A58 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -569,9 +569,9 @@ _08143A48: bl sub_80722CC b _08143BE6 .align 2, 0 -_08143A58: .4byte gUnknown_30030F0 +_08143A58: .4byte gMain _08143A5C: - ldr r0, _08143A7C @ =gUnknown_30030F0 + ldr r0, _08143A7C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -584,7 +584,7 @@ _08143A5C: bl sub_81438E8 b _08143BE6 .align 2, 0 -_08143A7C: .4byte gUnknown_30030F0 +_08143A7C: .4byte gMain _08143A80: bl GetLinkPlayerCount_2 lsls r0, 24 @@ -842,13 +842,13 @@ _08143CA4: lsls r0, 24 cmp r0, 0 beq _08143D1A - ldr r0, _08143CB8 @ =gUnknown_30030F0 + ldr r0, _08143CB8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 b _08143CC6 .align 2, 0 -_08143CB8: .4byte gUnknown_30030F0 +_08143CB8: .4byte gMain _08143CBC: adds r0, r4, 0 adds r0, 0x9 @@ -912,7 +912,7 @@ sub_8143D24: @ 8143D24 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r0, _08143D4C @ =gUnknown_3005008 + ldr r0, _08143D4C @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _08143D50 @ =0x00003120 adds r1, r0 @@ -925,68 +925,68 @@ sub_8143D24: @ 8143D24 pop {r0} bx r0 .align 2, 0 -_08143D4C: .4byte gUnknown_3005008 +_08143D4C: .4byte gSaveBlock1Ptr _08143D50: .4byte 0x00003120 _08143D54: .4byte 0x050000db thumb_func_end sub_8143D24 thumb_func_start sub_8143D58 sub_8143D58: @ 8143D58 - ldr r0, _08143D64 @ =gUnknown_3005008 + ldr r0, _08143D64 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143D68 @ =0x00003124 adds r0, r1 bx lr .align 2, 0 -_08143D64: .4byte gUnknown_3005008 +_08143D64: .4byte gSaveBlock1Ptr _08143D68: .4byte 0x00003124 thumb_func_end sub_8143D58 thumb_func_start sav1_get_mevent_buffer_1 sav1_get_mevent_buffer_1: @ 8143D6C - ldr r0, _08143D78 @ =gUnknown_3005008 + ldr r0, _08143D78 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143D7C @ =0x000032e4 adds r0, r1 bx lr .align 2, 0 -_08143D78: .4byte gUnknown_3005008 +_08143D78: .4byte gSaveBlock1Ptr _08143D7C: .4byte 0x000032e4 thumb_func_end sav1_get_mevent_buffer_1 thumb_func_start sav1_get_mevent_buffer_2 sav1_get_mevent_buffer_2: @ 8143D80 - ldr r0, _08143D8C @ =gUnknown_3005008 + ldr r0, _08143D8C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143D90 @ =0x00003434 adds r0, r1 bx lr .align 2, 0 -_08143D8C: .4byte gUnknown_3005008 +_08143D8C: .4byte gSaveBlock1Ptr _08143D90: .4byte 0x00003434 thumb_func_end sav1_get_mevent_buffer_2 thumb_func_start sub_8143D94 sub_8143D94: @ 8143D94 - ldr r0, _08143DA0 @ =gUnknown_3005008 + ldr r0, _08143DA0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143DA4 @ =0x00003460 adds r0, r1 bx lr .align 2, 0 -_08143DA0: .4byte gUnknown_3005008 +_08143DA0: .4byte gSaveBlock1Ptr _08143DA4: .4byte 0x00003460 thumb_func_end sub_8143D94 thumb_func_start sub_8143DA8 sub_8143DA8: @ 8143DA8 - ldr r0, _08143DB4 @ =gUnknown_3005008 + ldr r0, _08143DB4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143DB8 @ =0x00003458 adds r0, r1 bx lr .align 2, 0 -_08143DB4: .4byte gUnknown_3005008 +_08143DB4: .4byte gSaveBlock1Ptr _08143DB8: .4byte 0x00003458 thumb_func_end sub_8143DA8 @@ -1006,7 +1006,7 @@ sub_8143DC8: @ 8143DC8 cmp r0, 0 beq _08143E14 bl sub_8143E9C - ldr r4, _08143E08 @ =gUnknown_3005008 + ldr r4, _08143E08 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r5, _08143E0C @ =0x00003124 adds r0, r5 @@ -1028,7 +1028,7 @@ sub_8143DC8: @ 8143DC8 movs r0, 0x1 b _08143E16 .align 2, 0 -_08143E08: .4byte gUnknown_3005008 +_08143E08: .4byte gSaveBlock1Ptr _08143E0C: .4byte 0x00003124 _08143E10: .4byte 0x00003120 _08143E14: @@ -1042,7 +1042,7 @@ _08143E16: thumb_func_start sub_8143E1C sub_8143E1C: @ 8143E1C push {r4,lr} - ldr r4, _08143E50 @ =gUnknown_3005008 + ldr r4, _08143E50 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r1, _08143E54 @ =0x00003124 adds r0, r1 @@ -1065,7 +1065,7 @@ sub_8143E1C: @ 8143E1C movs r0, 0x1 b _08143E5E .align 2, 0 -_08143E50: .4byte gUnknown_3005008 +_08143E50: .4byte gSaveBlock1Ptr _08143E54: .4byte 0x00003124 _08143E58: .4byte 0x00003120 _08143E5C: @@ -1094,7 +1094,7 @@ _08143E72: thumb_func_start sub_8143E78 sub_8143E78: @ 8143E78 push {lr} - ldr r0, _08143E8C @ =gUnknown_3005008 + ldr r0, _08143E8C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143E90 @ =0x00003124 adds r0, r1 @@ -1104,7 +1104,7 @@ sub_8143E78: @ 8143E78 movs r0, 0x1 b _08143E96 .align 2, 0 -_08143E8C: .4byte gUnknown_3005008 +_08143E8C: .4byte gSaveBlock1Ptr _08143E90: .4byte 0x00003124 _08143E94: movs r0, 0 @@ -1124,7 +1124,7 @@ sub_8143E9C: @ 8143E9C ldr r2, _08143EC4 @ =0x0500006f mov r0, sp bl CpuSet - ldr r0, _08143EC8 @ =gUnknown_3005008 + ldr r0, _08143EC8 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143ECC @ =0x00003120 adds r0, r1 @@ -1135,7 +1135,7 @@ sub_8143E9C: @ 8143E9C bx r0 .align 2, 0 _08143EC4: .4byte 0x0500006f -_08143EC8: .4byte gUnknown_3005008 +_08143EC8: .4byte gSaveBlock1Ptr _08143ECC: .4byte 0x00003120 thumb_func_end sub_8143E9C @@ -1162,7 +1162,7 @@ _08143EF0: .4byte 0x05000001 sub_8143EF4: @ 8143EF4 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _08143F0C @ =gUnknown_3005008 + ldr r0, _08143F0C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08143F10 @ =0x00003124 adds r4, r0, r1 @@ -1173,7 +1173,7 @@ _08143F08: movs r0, 0 b _08143F2C .align 2, 0 -_08143F0C: .4byte gUnknown_3005008 +_08143F0C: .4byte gSaveBlock1Ptr _08143F10: .4byte 0x00003124 _08143F14: movs r2, 0 @@ -1206,7 +1206,7 @@ sub_8143F38: @ 8143F38 bl ClearRamScript bl sub_806E2D0 bl sub_806E370 - ldr r0, _08143F64 @ =gUnknown_300500C + ldr r0, _08143F64 @ =gSaveBlock2Ptr ldr r0, [r0] movs r1, 0x94 lsls r1, 3 @@ -1215,7 +1215,7 @@ sub_8143F38: @ 8143F38 pop {r0} bx r0 .align 2, 0 -_08143F64: .4byte gUnknown_300500C +_08143F64: .4byte gSaveBlock2Ptr thumb_func_end sub_8143F38 thumb_func_start sub_8143F68 @@ -1226,7 +1226,7 @@ sub_8143F68: @ 8143F68 cmp r0, 0 beq _08143FC0 bl sub_8143F38 - ldr r4, _08143FB0 @ =gUnknown_3005008 + ldr r4, _08143FB0 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r5, _08143FB4 @ =0x000032e4 adds r0, r5 @@ -1253,7 +1253,7 @@ sub_8143F68: @ 8143F68 movs r0, 0x1 b _08143FC2 .align 2, 0 -_08143FB0: .4byte gUnknown_3005008 +_08143FB0: .4byte gSaveBlock1Ptr _08143FB4: .4byte 0x000032e4 _08143FB8: .4byte 0x000032e0 _08143FBC: .4byte 0x00003434 @@ -1268,7 +1268,7 @@ _08143FC2: thumb_func_start sub_8143FC8 sub_8143FC8: @ 8143FC8 push {r4,r5,lr} - ldr r5, _08144004 @ =gUnknown_3005008 + ldr r5, _08144004 @ =gSaveBlock1Ptr ldr r0, [r5] ldr r1, _08144008 @ =0x000032e0 adds r4, r0, r1 @@ -1294,7 +1294,7 @@ sub_8143FC8: @ 8143FC8 movs r0, 0x1 b _08144012 .align 2, 0 -_08144004: .4byte gUnknown_3005008 +_08144004: .4byte gSaveBlock1Ptr _08144008: .4byte 0x000032e0 _0814400C: .4byte 0x000032e4 _08144010: @@ -1345,7 +1345,7 @@ _08144050: thumb_func_start sub_8144054 sub_8144054: @ 8144054 push {lr} - ldr r0, _0814406C @ =gUnknown_3005008 + ldr r0, _0814406C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08144070 @ =0x000032e4 adds r0, r1 @@ -1357,7 +1357,7 @@ sub_8144054: @ 8144054 movs r0, 0x1 b _08144076 .align 2, 0 -_0814406C: .4byte gUnknown_3005008 +_0814406C: .4byte gSaveBlock1Ptr _08144070: .4byte 0x000032e4 _08144074: movs r0, 0 @@ -1372,7 +1372,7 @@ sub_814407C: @ 814407C sub sp, 0x4 movs r5, 0 str r5, [sp] - ldr r4, _081440A4 @ =gUnknown_3005008 + ldr r4, _081440A4 @ =gSaveBlock1Ptr ldr r1, [r4] ldr r0, _081440A8 @ =0x000032e4 adds r1, r0 @@ -1388,7 +1388,7 @@ sub_814407C: @ 814407C pop {r0} bx r0 .align 2, 0 -_081440A4: .4byte gUnknown_3005008 +_081440A4: .4byte gSaveBlock1Ptr _081440A8: .4byte 0x000032e4 _081440AC: .4byte 0x05000053 _081440B0: .4byte 0x000032e0 @@ -1405,7 +1405,7 @@ sub_81440B4: @ 81440B4 ldr r2, _081440DC @ =0x05000009 mov r0, sp bl CpuSet - ldr r0, _081440E0 @ =gUnknown_3005008 + ldr r0, _081440E0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _081440E4 @ =0x00003430 adds r0, r1 @@ -1416,7 +1416,7 @@ sub_81440B4: @ 81440B4 bx r0 .align 2, 0 _081440DC: .4byte 0x05000009 -_081440E0: .4byte gUnknown_3005008 +_081440E0: .4byte gSaveBlock1Ptr _081440E4: .4byte 0x00003430 thumb_func_end sub_81440B4 @@ -1429,7 +1429,7 @@ sub_81440E8: @ 81440E8 movs r0, 0 b _08144100 _081440F6: - ldr r0, _08144104 @ =gUnknown_3005008 + ldr r0, _08144104 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08144108 @ =0x000032e4 adds r0, r1 @@ -1438,7 +1438,7 @@ _08144100: pop {r1} bx r1 .align 2, 0 -_08144104: .4byte gUnknown_3005008 +_08144104: .4byte gSaveBlock1Ptr _08144108: .4byte 0x000032e4 thumb_func_end sub_81440E8 @@ -1612,7 +1612,7 @@ sub_8144218: @ 8144218 bl sub_8143FC8 cmp r0, 0 beq _0814424C - ldr r0, _08144240 @ =gUnknown_3005008 + ldr r0, _08144240 @ =gSaveBlock1Ptr ldr r3, [r0] ldr r0, _08144244 @ =0x000032e4 adds r2, r3, r0 @@ -1627,7 +1627,7 @@ sub_8144218: @ 8144218 bl sub_8144184 b _0814424E .align 2, 0 -_08144240: .4byte gUnknown_3005008 +_08144240: .4byte gSaveBlock1Ptr _08144244: .4byte 0x000032e4 _08144248: .4byte 0x00003434 _0814424C: @@ -1641,7 +1641,7 @@ _0814424E: sub_8144254: @ 8144254 push {r4-r6,lr} adds r5, r0, 0 - ldr r6, _08144280 @ =gUnknown_3005008 + ldr r6, _08144280 @ =gSaveBlock1Ptr ldr r0, [r6] ldr r1, _08144284 @ =0x000032e4 adds r0, r1 @@ -1660,7 +1660,7 @@ sub_8144254: @ 8144254 beq _08144298 b _081442BE .align 2, 0 -_08144280: .4byte gUnknown_3005008 +_08144280: .4byte gSaveBlock1Ptr _08144284: .4byte 0x000032e4 _08144288: .4byte 0x00003434 _0814428C: @@ -1753,7 +1753,7 @@ _08144330: _08144332: adds r5, r4, 0 adds r5, 0x4C - ldr r0, _081443BC @ =gUnknown_300500C + ldr r0, _081443BC @ =gSaveBlock2Ptr mov r8, r0 adds r6, r4, 0 adds r6, 0x45 @@ -1765,7 +1765,7 @@ _08144332: movs r2, 0x60 adds r2, r4 mov r10, r2 - ldr r0, _081443C0 @ =gUnknown_3005008 + ldr r0, _081443C0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r3, _081443C4 @ =0x00003458 adds r2, r0, r3 @@ -1789,7 +1789,7 @@ _0814435C: ldr r1, [r2] adds r0, r6, 0 bl StringCopy - ldr r0, _081443C0 @ =gUnknown_3005008 + ldr r0, _081443C0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r3, _081443C8 @ =0x00002ca0 adds r2, r0, r3 @@ -1820,8 +1820,8 @@ _0814438C: pop {r0} bx r0 .align 2, 0 -_081443BC: .4byte gUnknown_300500C -_081443C0: .4byte gUnknown_3005008 +_081443BC: .4byte gSaveBlock2Ptr +_081443C0: .4byte gSaveBlock1Ptr _081443C4: .4byte 0x00003458 _081443C8: .4byte 0x00002ca0 _081443CC: .4byte RomHeaderGameCode @@ -2025,7 +2025,7 @@ _08144518: .4byte gUnknown_8466F5C sub_814451C: @ 814451C push {r4,lr} adds r4, r0, 0 - ldr r2, _08144544 @ =gUnknown_3005008 + ldr r2, _08144544 @ =gSaveBlock1Ptr ldr r0, [r2] ldr r1, _08144548 @ =0x000032e4 adds r0, r1 @@ -2044,7 +2044,7 @@ sub_814451C: @ 814451C ldr r0, [r0] mov pc, r0 .align 2, 0 -_08144544: .4byte gUnknown_3005008 +_08144544: .4byte gSaveBlock1Ptr _08144548: .4byte 0x000032e4 _0814454C: .4byte _08144550 .align 2, 0 @@ -2123,7 +2123,7 @@ _081445D4: .4byte _08144660 .4byte _08144684 _081445E8: - ldr r0, _08144604 @ =gUnknown_3005008 + ldr r0, _08144604 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _08144608 @ =0x000032e4 adds r0, r2, r1 @@ -2137,11 +2137,11 @@ _081445E8: ldrh r0, [r0] b _081446B2 .align 2, 0 -_08144604: .4byte gUnknown_3005008 +_08144604: .4byte gSaveBlock1Ptr _08144608: .4byte 0x000032e4 _0814460C: .4byte 0x00003434 _08144610: - ldr r0, _0814462C @ =gUnknown_3005008 + ldr r0, _0814462C @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _08144630 @ =0x000032e4 adds r0, r2, r1 @@ -2155,11 +2155,11 @@ _08144610: ldrh r0, [r0, 0x2] b _081446B2 .align 2, 0 -_0814462C: .4byte gUnknown_3005008 +_0814462C: .4byte gSaveBlock1Ptr _08144630: .4byte 0x000032e4 _08144634: .4byte 0x00003434 _08144638: - ldr r0, _08144654 @ =gUnknown_3005008 + ldr r0, _08144654 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _08144658 @ =0x000032e4 adds r0, r2, r1 @@ -2173,11 +2173,11 @@ _08144638: ldrh r0, [r0, 0x4] b _081446B2 .align 2, 0 -_08144654: .4byte gUnknown_3005008 +_08144654: .4byte gSaveBlock1Ptr _08144658: .4byte 0x000032e4 _0814465C: .4byte 0x00003434 _08144660: - ldr r0, _0814467C @ =gUnknown_3005008 + ldr r0, _0814467C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08144680 @ =0x000032e4 adds r0, r1 @@ -2191,10 +2191,10 @@ _08144660: lsrs r0, 16 b _081446B2 .align 2, 0 -_0814467C: .4byte gUnknown_3005008 +_0814467C: .4byte gSaveBlock1Ptr _08144680: .4byte 0x000032e4 _08144684: - ldr r0, _0814469C @ =gUnknown_3005008 + ldr r0, _0814469C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _081446A0 @ =0x000032e4 adds r2, r0, r1 @@ -2206,7 +2206,7 @@ _08144684: ldrb r0, [r2, 0x9] b _081446B2 .align 2, 0 -_0814469C: .4byte gUnknown_3005008 +_0814469C: .4byte gSaveBlock1Ptr _081446A0: .4byte 0x000032e4 _081446A4: ldr r0, _081446B8 @ =gUnknown_8466F28 @@ -2248,7 +2248,7 @@ sub_81446D0: @ 81446D0 bl sub_8143FC8 cmp r0, 0 beq _0814470C - ldr r0, _08144704 @ =gUnknown_3005008 + ldr r0, _08144704 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08144708 @ =0x000032e4 adds r0, r1 @@ -2260,7 +2260,7 @@ sub_81446D0: @ 81446D0 b _0814470E .align 2, 0 _08144700: .4byte gUnknown_203F3BC -_08144704: .4byte gUnknown_3005008 +_08144704: .4byte gSaveBlock1Ptr _08144708: .4byte 0x000032e4 _0814470C: movs r0, 0 @@ -2284,7 +2284,7 @@ sub_8144714: @ 8144714 bcc _08144744 cmp r2, 0x2 bne _08144774 - ldr r0, _0814473C @ =gUnknown_3005008 + ldr r0, _0814473C @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, _08144740 @ =0x00003478 adds r2, r0 @@ -2292,20 +2292,20 @@ sub_8144714: @ 8144714 b _08144762 .align 2, 0 _08144738: .4byte gUnknown_203F3BC -_0814473C: .4byte gUnknown_3005008 +_0814473C: .4byte gSaveBlock1Ptr _08144740: .4byte 0x00003478 _08144744: - ldr r0, _08144750 @ =gUnknown_3005008 + ldr r0, _08144750 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, _08144754 @ =0x00003464 adds r2, r0 movs r0, 0 b _08144762 .align 2, 0 -_08144750: .4byte gUnknown_3005008 +_08144750: .4byte gSaveBlock1Ptr _08144754: .4byte 0x00003464 _08144758: - ldr r0, _0814476C @ =gUnknown_3005008 + ldr r0, _0814476C @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, _08144770 @ =0x00003464 adds r2, r0 @@ -2315,7 +2315,7 @@ _08144762: bl sub_8144824 b _08144782 .align 2, 0 -_0814476C: .4byte gUnknown_3005008 +_0814476C: .4byte gSaveBlock1Ptr _08144770: .4byte 0x00003464 _08144774: ldr r0, _08144788 @ =gUnknown_8466F28 @@ -2338,7 +2338,7 @@ sub_8144790: @ 8144790 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r0, _081447B0 @ =gUnknown_3005008 + ldr r0, _081447B0 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _081447B4 @ =0x00003464 adds r1, r0 @@ -2349,7 +2349,7 @@ sub_8144790: @ 8144790 pop {r0} bx r0 .align 2, 0 -_081447B0: .4byte gUnknown_3005008 +_081447B0: .4byte gSaveBlock1Ptr _081447B4: .4byte 0x00003464 _081447B8: .4byte 0x0500000a thumb_func_end sub_8144790 diff --git a/asm/mevent_server.s b/asm/mevent_server.s index 031f4ee67..f0438ff5e 100644 --- a/asm/mevent_server.s +++ b/asm/mevent_server.s @@ -807,7 +807,7 @@ _08144E24: bl sub_8069EA4 b _08144E60 _08144E30: - ldr r0, _08144E48 @ =gUnknown_300500C + ldr r0, _08144E48 @ =gSaveBlock2Ptr ldr r0, [r0] movs r1, 0x94 lsls r1, 3 @@ -818,7 +818,7 @@ _08144E30: bl sub_80E7490 b _08144E60 .align 2, 0 -_08144E48: .4byte gUnknown_300500C +_08144E48: .4byte gSaveBlock2Ptr _08144E4C: ldr r0, _08144E68 @ =gUnknown_201C000 ldr r1, [r4, 0x18] @@ -896,9 +896,9 @@ sub_8144EBC: @ 8144EBC adds r4, r0, 0 ldr r3, _08144EE4 @ =gUnknown_201C000 adds r0, r4, 0x4 - ldr r1, _08144EE8 @ =gUnknown_300500C + ldr r1, _08144EE8 @ =gSaveBlock2Ptr ldr r1, [r1] - ldr r2, _08144EEC @ =gUnknown_3005008 + ldr r2, _08144EEC @ =gSaveBlock1Ptr ldr r2, [r2] bl _call_via_r3 cmp r0, 0x1 @@ -914,8 +914,8 @@ _08144EDC: bx r1 .align 2, 0 _08144EE4: .4byte gUnknown_201C000 -_08144EE8: .4byte gUnknown_300500C -_08144EEC: .4byte gUnknown_3005008 +_08144EE8: .4byte gSaveBlock2Ptr +_08144EEC: .4byte gSaveBlock1Ptr thumb_func_end sub_8144EBC thumb_func_start mevent_srv_ish_exec diff --git a/asm/mon_markings.s b/asm/mon_markings.s index f5f602f2e..3fda2b00a 100644 --- a/asm/mon_markings.s +++ b/asm/mon_markings.s @@ -18,7 +18,7 @@ _080BE474: .4byte gUnknown_20399C0 sub_80BE478: @ 80BE478 push {lr} sub sp, 0x4 - ldr r0, _080BE4B0 @ =gUnknown_300500C + ldr r0, _080BE4B0 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x14] lsrs r0, 3 @@ -43,7 +43,7 @@ sub_80BE478: @ 80BE478 pop {r0} bx r0 .align 2, 0 -_080BE4B0: .4byte gUnknown_300500C +_080BE4B0: .4byte gSaveBlock2Ptr _080BE4B4: .4byte gUnknown_20399C0 _080BE4B8: .4byte 0x000010b4 _080BE4BC: .4byte 0x01000800 @@ -341,7 +341,7 @@ _080BE6EC: .4byte gUnknown_20399C0 thumb_func_start sub_80BE6F0 sub_80BE6F0: @ 80BE6F0 push {r4,r5,lr} - ldr r0, _080BE720 @ =gUnknown_30030F0 + ldr r0, _080BE720 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -364,7 +364,7 @@ sub_80BE6F0: @ 80BE6F0 strb r0, [r1, 0x5] b _080BE7B0 .align 2, 0 -_080BE720: .4byte gUnknown_30030F0 +_080BE720: .4byte gMain _080BE724: .4byte gUnknown_20399C0 _080BE728: movs r0, 0x80 diff --git a/asm/money.s b/asm/money.s index 7f8b514fc..b841870e8 100644 --- a/asm/money.s +++ b/asm/money.s @@ -7,7 +7,7 @@ thumb_func_start sub_809FD58 sub_809FD58: @ 809FD58 - ldr r1, _0809FD6C @ =gUnknown_300500C + ldr r1, _0809FD6C @ =gSaveBlock2Ptr ldr r1, [r1] movs r2, 0xF2 lsls r2, 4 @@ -17,12 +17,12 @@ sub_809FD58: @ 809FD58 eors r0, r1 bx lr .align 2, 0 -_0809FD6C: .4byte gUnknown_300500C +_0809FD6C: .4byte gSaveBlock2Ptr thumb_func_end sub_809FD58 thumb_func_start sub_809FD70 sub_809FD70: @ 809FD70 - ldr r2, _0809FD84 @ =gUnknown_300500C + ldr r2, _0809FD84 @ =gSaveBlock2Ptr ldr r2, [r2] movs r3, 0xF2 lsls r3, 4 @@ -32,7 +32,7 @@ sub_809FD70: @ 809FD70 str r2, [r0] bx lr .align 2, 0 -_0809FD84: .4byte gUnknown_300500C +_0809FD84: .4byte gSaveBlock2Ptr thumb_func_end sub_809FD70 thumb_func_start IsEnoughMoney @@ -105,7 +105,7 @@ _0809FDEE: thumb_func_start IsEnoughForCostInVar0x8005 IsEnoughForCostInVar0x8005: @ 809FDFC push {lr} - ldr r0, _0809FE18 @ =gUnknown_3005008 + ldr r0, _0809FE18 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -118,14 +118,14 @@ IsEnoughForCostInVar0x8005: @ 809FDFC pop {r1} bx r1 .align 2, 0 -_0809FE18: .4byte gUnknown_3005008 +_0809FE18: .4byte gSaveBlock1Ptr _0809FE1C: .4byte gUnknown_20370C2 thumb_func_end IsEnoughForCostInVar0x8005 thumb_func_start sub_809FE20 sub_809FE20: @ 809FE20 push {lr} - ldr r0, _0809FE38 @ =gUnknown_3005008 + ldr r0, _0809FE38 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -136,7 +136,7 @@ sub_809FE20: @ 809FE20 pop {r0} bx r0 .align 2, 0 -_0809FE38: .4byte gUnknown_3005008 +_0809FE38: .4byte gSaveBlock1Ptr _0809FE3C: .4byte gUnknown_20370C2 thumb_func_end sub_809FE20 diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index c826cefd8..bce444d9b 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -278,7 +278,7 @@ MEScrCmd_setenigmaberry: @ 80DA9B8 adds r4, r0 ldr r0, _080DAA0C @ =gUnknown_2021CD0 mov r9, r0 - ldr r6, _080DAA10 @ =gUnknown_3005008 + ldr r6, _080DAA10 @ =gSaveBlock1Ptr ldr r1, [r6] ldr r5, _080DAA14 @ =0x000030ec adds r1, r5 @@ -300,7 +300,7 @@ MEScrCmd_setenigmaberry: @ 80DA9B8 b _080DAA44 .align 2, 0 _080DAA0C: .4byte gUnknown_2021CD0 -_080DAA10: .4byte gUnknown_3005008 +_080DAA10: .4byte gSaveBlock1Ptr _080DAA14: .4byte 0x000030ec _080DAA18: .4byte gUnknown_2021CF0 _080DAA1C: .4byte gUnknown_2021D18 @@ -609,7 +609,7 @@ sub_80DAC8C: @ 80DAC8C subs r1, r0 ldr r0, [r4, 0x64] adds r1, r0 - ldr r0, _080DACC8 @ =gUnknown_300500C + ldr r0, _080DACC8 @ =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0x94 lsls r2, 3 @@ -627,7 +627,7 @@ sub_80DAC8C: @ 80DAC8C pop {r1} bx r1 .align 2, 0 -_080DACC8: .4byte gUnknown_300500C +_080DACC8: .4byte gSaveBlock2Ptr _080DACCC: .4byte gUnknown_2021D18 _080DACD0: .4byte gUnknown_8488DBD thumb_func_end sub_80DAC8C diff --git a/asm/mystery_gift_menu.s b/asm/mystery_gift_menu.s index 813fbd66f..bfeea8b5a 100644 --- a/asm/mystery_gift_menu.s +++ b/asm/mystery_gift_menu.s @@ -31,7 +31,7 @@ sub_81420A4: @ 81420A4 push {r4-r7,lr} sub sp, 0xC adds r7, r0, 0 - ldr r0, _081420C4 @ =gUnknown_30030F0 + ldr r0, _081420C4 @ =gMain movs r1, 0x87 lsls r1, 3 adds r6, r0, r1 @@ -46,7 +46,7 @@ _081420BA: beq _081420D6 b _081422A0 .align 2, 0 -_081420C4: .4byte gUnknown_30030F0 +_081420C4: .4byte gMain _081420C8: cmp r5, 0x2 bne _081420CE diff --git a/asm/naming_screen.s b/asm/naming_screen.s index 86cf748d3..2457798b4 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -76,7 +76,7 @@ _0809D9DC: .4byte c2_choose_name_or_words_screen thumb_func_start c2_choose_name_or_words_screen c2_choose_name_or_words_screen: @ 809D9E0 push {lr} - ldr r0, _0809D9FC @ =gUnknown_30030F0 + ldr r0, _0809D9FC @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -89,7 +89,7 @@ c2_choose_name_or_words_screen: @ 809D9E0 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0809D9FC: .4byte gUnknown_30030F0 +_0809D9FC: .4byte gMain _0809DA00: .4byte _0809DA04 .align 2, 0 _0809DA04: @@ -129,7 +129,7 @@ _0809DA56: bl UpdatePaletteFade bl sub_809FC34 _0809DA62: - ldr r1, _0809DA74 @ =gUnknown_30030F0 + ldr r1, _0809DA74 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -138,7 +138,7 @@ _0809DA62: strb r0, [r1] b _0809DA80 .align 2, 0 -_0809DA74: .4byte gUnknown_30030F0 +_0809DA74: .4byte gMain _0809DA78: bl sub_809F8C0 bl sub_809DD60 @@ -208,7 +208,7 @@ sub_809DA84: @ 809DA84 ldr r3, _0809DB60 @ =0x00001e16 adds r1, r2, r3 strh r0, [r1] - ldr r6, _0809DB64 @ =gUnknown_30030E0 + ldr r6, _0809DB64 @ =gKeyRepeatStartDelay ldrh r0, [r6] ldr r1, _0809DB68 @ =0x00001e25 adds r2, r1 @@ -250,7 +250,7 @@ _0809DB54: .4byte 0x00001e28 _0809DB58: .4byte gUnknown_83E248C _0809DB5C: .4byte 0x00001e22 _0809DB60: .4byte 0x00001e16 -_0809DB64: .4byte gUnknown_30030E0 +_0809DB64: .4byte gKeyRepeatStartDelay _0809DB68: .4byte 0x00001e25 _0809DB6C: .4byte 0x00001e30 thumb_func_end sub_809DA84 @@ -1010,7 +1010,7 @@ sub_809E1D4: @ 809E1D4 lsls r0, 16 cmp r0, 0 bne _0809E1FE - ldr r0, _0809E204 @ =gUnknown_30030F0 + ldr r0, _0809E204 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1027,7 +1027,7 @@ _0809E1FE: pop {r1} bx r1 .align 2, 0 -_0809E204: .4byte gUnknown_30030F0 +_0809E204: .4byte gMain _0809E208: .4byte gUnknown_203998C _0809E20C: .4byte 0x00001e10 thumb_func_end sub_809E1D4 @@ -3215,7 +3215,7 @@ InputState_Enabled: @ 809F2A4 adds r2, r0, 0 movs r0, 0 strh r0, [r2, 0xA] - ldr r0, _0809F2C0 @ =gUnknown_30030F0 + ldr r0, _0809F2C0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3225,7 +3225,7 @@ InputState_Enabled: @ 809F2A4 strh r0, [r2, 0xA] b _0809F2F4 .align 2, 0 -_0809F2C0: .4byte gUnknown_30030F0 +_0809F2C0: .4byte gMain _0809F2C4: movs r0, 0x2 ands r0, r1 @@ -3296,7 +3296,7 @@ sub_809F2F8: @ 809F2F8 adds r0, r4, 0 adds r1, r5, 0 bl sub_809E9CC - ldr r0, _0809F3F4 @ =gUnknown_30030F0 + ldr r0, _0809F3F4 @ =gMain ldrh r2, [r0, 0x30] movs r0, 0x40 ands r0, r2 @@ -3380,7 +3380,7 @@ _0809F3E4: .4byte gUnknown_83E23E8 _0809F3E8: .4byte gUnknown_83E23F2 _0809F3EC: .4byte gUnknown_83E23FC _0809F3F0: .4byte gUnknown_83E2404 -_0809F3F4: .4byte gUnknown_30030F0 +_0809F3F4: .4byte gMain _0809F3F8: mov r2, r8 lsls r4, r2, 16 @@ -4485,7 +4485,7 @@ _0809FC88: sub_809FC90: @ 809FC90 push {lr} sub sp, 0x8 - ldr r0, _0809FCB0 @ =gUnknown_300500C + ldr r0, _0809FCB0 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] movs r0, 0 @@ -4499,7 +4499,7 @@ sub_809FC90: @ 809FC90 pop {r0} bx r0 .align 2, 0 -_0809FCB0: .4byte gUnknown_300500C +_0809FCB0: .4byte gSaveBlock2Ptr _0809FCB4: .4byte sub_80568A8 thumb_func_end sub_809FC90 @@ -4507,7 +4507,7 @@ _0809FCB4: .4byte sub_80568A8 sub_809FCB8: @ 809FCB8 push {lr} sub sp, 0x8 - ldr r0, _0809FCD8 @ =gUnknown_300500C + ldr r0, _0809FCD8 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] movs r0, 0 @@ -4521,7 +4521,7 @@ sub_809FCB8: @ 809FCB8 pop {r0} bx r0 .align 2, 0 -_0809FCD8: .4byte gUnknown_300500C +_0809FCD8: .4byte gSaveBlock2Ptr _0809FCDC: .4byte sub_80568A8 thumb_func_end sub_809FCB8 @@ -4529,7 +4529,7 @@ _0809FCDC: .4byte sub_80568A8 sub_809FCE0: @ 809FCE0 push {lr} sub sp, 0x8 - ldr r0, _0809FD00 @ =gUnknown_300500C + ldr r0, _0809FD00 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] movs r0, 0 @@ -4543,7 +4543,7 @@ sub_809FCE0: @ 809FCE0 pop {r0} bx r0 .align 2, 0 -_0809FD00: .4byte gUnknown_300500C +_0809FD00: .4byte gSaveBlock2Ptr _0809FD04: .4byte sub_80568A8 thumb_func_end sub_809FCE0 @@ -4551,7 +4551,7 @@ _0809FD04: .4byte sub_80568A8 sub_809FD08: @ 809FD08 push {lr} sub sp, 0x8 - ldr r0, _0809FD28 @ =gUnknown_300500C + ldr r0, _0809FD28 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] movs r0, 0 @@ -4565,7 +4565,7 @@ sub_809FD08: @ 809FD08 pop {r0} bx r0 .align 2, 0 -_0809FD28: .4byte gUnknown_300500C +_0809FD28: .4byte gSaveBlock2Ptr _0809FD2C: .4byte sub_80568A8 thumb_func_end sub_809FD08 @@ -4573,7 +4573,7 @@ _0809FD2C: .4byte sub_80568A8 sub_809FD30: @ 809FD30 push {lr} sub sp, 0x8 - ldr r0, _0809FD50 @ =gUnknown_300500C + ldr r0, _0809FD50 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] movs r0, 0 @@ -4587,7 +4587,7 @@ sub_809FD30: @ 809FD30 pop {r0} bx r0 .align 2, 0 -_0809FD50: .4byte gUnknown_300500C +_0809FD50: .4byte gSaveBlock2Ptr _0809FD54: .4byte sub_80568A8 thumb_func_end sub_809FD30 diff --git a/asm/new_game.s b/asm/new_game.s index b17cf8747..d7808dba7 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -46,7 +46,7 @@ InitPlayerTrainerId: @ 8054928 lsls r0, 16 lsrs r0, 16 orrs r4, r0 - ldr r0, _08054950 @ =gUnknown_300500C + ldr r0, _08054950 @ =gSaveBlock2Ptr ldr r1, [r0] adds r1, 0xA adds r0, r4, 0 @@ -55,12 +55,12 @@ InitPlayerTrainerId: @ 8054928 pop {r0} bx r0 .align 2, 0 -_08054950: .4byte gUnknown_300500C +_08054950: .4byte gSaveBlock2Ptr thumb_func_end InitPlayerTrainerId thumb_func_start SetDefaultOptions SetDefaultOptions: @ 8054954 - ldr r3, _080549A8 @ =gUnknown_300500C + ldr r3, _080549A8 @ =gSaveBlock2Ptr ldr r2, [r3] ldrb r1, [r2, 0x14] movs r0, 0x8 @@ -103,13 +103,13 @@ SetDefaultOptions: @ 8054954 strb r0, [r1, 0x13] bx lr .align 2, 0 -_080549A8: .4byte gUnknown_300500C +_080549A8: .4byte gSaveBlock2Ptr thumb_func_end SetDefaultOptions thumb_func_start sub_80549AC sub_80549AC: @ 80549AC push {r4,lr} - ldr r4, _080549D0 @ =gUnknown_300500C + ldr r4, _080549D0 @ =gSaveBlock2Ptr ldr r0, [r4] adds r0, 0x28 movs r1, 0 @@ -124,7 +124,7 @@ sub_80549AC: @ 80549AC pop {r0} bx r0 .align 2, 0 -_080549D0: .4byte gUnknown_300500C +_080549D0: .4byte gSaveBlock2Ptr thumb_func_end sub_80549AC thumb_func_start sub_80549D4 @@ -133,7 +133,7 @@ sub_80549D4: @ 80549D4 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r0, _080549F0 @ =gUnknown_300500C + ldr r0, _080549F0 @ =gSaveBlock2Ptr ldr r1, [r0] adds r1, 0xB0 ldr r2, _080549F4 @ =0x050001fa @@ -143,7 +143,7 @@ sub_80549D4: @ 80549D4 pop {r0} bx r0 .align 2, 0 -_080549F0: .4byte gUnknown_300500C +_080549F0: .4byte gSaveBlock2Ptr _080549F4: .4byte 0x050001fa thumb_func_end sub_80549D4 @@ -203,7 +203,7 @@ sub_8054A60: @ 8054A60 mov r6, r8 push {r6} sub sp, 0x8 - ldr r6, _08054B50 @ =gUnknown_3005008 + ldr r6, _08054B50 @ =gSaveBlock1Ptr ldr r1, [r6] ldr r0, _08054B54 @ =0x00003a4c mov r8, r0 @@ -213,7 +213,7 @@ sub_8054A60: @ 8054A60 ldr r1, _08054B58 @ =gUnknown_2031DB0 movs r0, 0x1 strb r0, [r1] - ldr r4, _08054B5C @ =gUnknown_300500C + ldr r4, _08054B5C @ =gSaveBlock2Ptr ldr r0, [r4] movs r1, 0xF2 lsls r1, 4 @@ -286,10 +286,10 @@ sub_8054A60: @ 8054A60 pop {r0} bx r0 .align 2, 0 -_08054B50: .4byte gUnknown_3005008 +_08054B50: .4byte gSaveBlock1Ptr _08054B54: .4byte 0x00003a4c _08054B58: .4byte gUnknown_2031DB0 -_08054B5C: .4byte gUnknown_300500C +_08054B5C: .4byte gSaveBlock2Ptr _08054B60: .4byte 0x00000bb8 _08054B64: .4byte gUnknown_2024029 _08054B68: .4byte 0x00000296 @@ -303,7 +303,7 @@ sub_8054B70: @ 8054B70 mov r0, sp movs r5, 0 strh r5, [r0] - ldr r4, _08054BBC @ =gUnknown_300500C + ldr r4, _08054BBC @ =gSaveBlock2Ptr ldr r1, [r4] movs r0, 0xAF lsls r0, 4 @@ -332,7 +332,7 @@ sub_8054B70: @ 8054B70 pop {r0} bx r0 .align 2, 0 -_08054BBC: .4byte gUnknown_300500C +_08054BBC: .4byte gSaveBlock2Ptr _08054BC0: .4byte 0x01000008 _08054BC4: .4byte 0x00000af8 thumb_func_end sub_8054B70 diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index 7f58c7512..5b67c3544 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -2190,7 +2190,7 @@ _080F78A4: .4byte gUnknown_841F43C thumb_func_start sub_80F78A8 sub_80F78A8: @ 80F78A8 push {lr} - ldr r3, _080F78D8 @ =gUnknown_300500C + ldr r3, _080F78D8 @ =gSaveBlock2Ptr ldr r2, [r3] ldrb r1, [r2, 0x14] lsls r0, r1, 29 @@ -2214,7 +2214,7 @@ _080F78C4: pop {r1} bx r1 .align 2, 0 -_080F78D8: .4byte gUnknown_300500C +_080F78D8: .4byte gSaveBlock2Ptr _080F78DC: .4byte gUnknown_841F428 thumb_func_end sub_80F78A8 diff --git a/asm/oak_speech.s b/asm/oak_speech.s index 622dbeab8..97726705d 100644 --- a/asm/oak_speech.s +++ b/asm/oak_speech.s @@ -294,7 +294,7 @@ sub_812EB58: @ 812EB58 sub sp, 0x10 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _0812EB7C @ =gUnknown_30030F0 + ldr r0, _0812EB7C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -309,7 +309,7 @@ _0812EB70: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0812EB7C: .4byte gUnknown_30030F0 +_0812EB7C: .4byte gMain _0812EB80: .4byte _0812EB84 .align 2, 0 _0812EB84: @@ -620,7 +620,7 @@ _0812EE30: adds r0, r1 ldr r1, _0812EE8C @ =sub_812F0B0 str r1, [r0] - ldr r0, _0812EE90 @ =gUnknown_30030F0 + ldr r0, _0812EE90 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -631,9 +631,9 @@ _0812EE80: .4byte sub_812EAFC _0812EE84: .4byte 0x00000143 _0812EE88: .4byte gUnknown_3005090 _0812EE8C: .4byte sub_812F0B0 -_0812EE90: .4byte gUnknown_30030F0 +_0812EE90: .4byte gMain _0812EE94: - ldr r1, _0812EEAC @ =gUnknown_30030F0 + ldr r1, _0812EEAC @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -646,7 +646,7 @@ _0812EEA2: pop {r0} bx r0 .align 2, 0 -_0812EEAC: .4byte gUnknown_30030F0 +_0812EEAC: .4byte gMain thumb_func_end sub_812EB58 thumb_func_start sub_812EEB0 @@ -896,7 +896,7 @@ sub_812F0B0: @ 812F0B0 ands r0, r1 cmp r0, 0 bne _0812F162 - ldr r0, _0812F110 @ =gUnknown_30030F0 + ldr r0, _0812F110 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -932,7 +932,7 @@ sub_812F0B0: @ 812F0B0 b _0812F150 .align 2, 0 _0812F10C: .4byte gUnknown_2037AB8 -_0812F110: .4byte gUnknown_30030F0 +_0812F110: .4byte gMain _0812F114: .4byte gUnknown_3005090 _0812F118: .4byte gUnknown_203B108 _0812F11C: .4byte 0xffffdfff @@ -1275,7 +1275,7 @@ _0812F374: ldr r0, [r4] movs r1, 0 strh r6, [r0, 0x12] - ldr r0, _0812F494 @ =gUnknown_30030F0 + ldr r0, _0812F494 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 @@ -1357,7 +1357,7 @@ _0812F484: .4byte gUnknown_8415D48 _0812F488: .4byte gUnknown_8460BA8 _0812F48C: .4byte gUnknown_203B108 _0812F490: .4byte gUnknown_8462EC0 -_0812F494: .4byte gUnknown_30030F0 +_0812F494: .4byte gMain _0812F498: .4byte gUnknown_8462EEC _0812F49C: .4byte gUnknown_8462EF0 _0812F4A0: .4byte gUnknown_202063C @@ -1375,7 +1375,7 @@ sub_812F4A8: @ 812F4A8 lsls r6, r0, 3 ldr r7, _0812F4D8 @ =gUnknown_3005098 adds r5, r6, r7 - ldr r0, _0812F4DC @ =gUnknown_30030F0 + ldr r0, _0812F4DC @ =gMain movs r1, 0x87 lsls r1, 3 adds r3, r0, r1 @@ -1392,7 +1392,7 @@ _0812F4CC: mov pc, r0 .align 2, 0 _0812F4D8: .4byte gUnknown_3005098 -_0812F4DC: .4byte gUnknown_30030F0 +_0812F4DC: .4byte gMain _0812F4E0: .4byte _0812F4E4 .align 2, 0 _0812F4E4: @@ -1467,7 +1467,7 @@ _0812F56A: ldrh r0, [r0, 0x12] cmp r0, 0x3 bne _0812F594 - ldr r0, _0812F590 @ =gUnknown_30030F0 + ldr r0, _0812F590 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -1476,7 +1476,7 @@ _0812F56A: b _0812F71C .align 2, 0 _0812F58C: .4byte gUnknown_203B108 -_0812F590: .4byte gUnknown_30030F0 +_0812F590: .4byte gMain _0812F594: ldr r1, _0812F5B0 @ =0x00000241 movs r0, 0x50 @@ -1581,7 +1581,7 @@ _0812F644: movs r1, 0 bl SetGpuReg _0812F676: - ldr r0, _0812F684 @ =gUnknown_30030F0 + ldr r0, _0812F684 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -1589,7 +1589,7 @@ _0812F676: strb r1, [r0] b _0812F71C .align 2, 0 -_0812F684: .4byte gUnknown_30030F0 +_0812F684: .4byte gMain _0812F688: ldr r1, _0812F6B4 @ =gUnknown_3005090 lsls r0, r2, 2 @@ -1603,7 +1603,7 @@ _0812F688: movs r0, 0x18 strh r0, [r5, 0x1E] _0812F6A2: - ldr r1, _0812F6BC @ =gUnknown_30030F0 + ldr r1, _0812F6BC @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -1614,7 +1614,7 @@ _0812F6A2: .align 2, 0 _0812F6B4: .4byte gUnknown_3005090 _0812F6B8: .4byte 0x00000145 -_0812F6BC: .4byte gUnknown_30030F0 +_0812F6BC: .4byte gMain _0812F6C0: ldrh r0, [r5, 0x1E] movs r1, 0x1E @@ -2720,7 +2720,7 @@ _0812FFC4: cmp r1, 0x1 bne _0812FFCE _0812FFC8: - ldr r0, _0812FFE4 @ =gUnknown_300500C + ldr r0, _0812FFE4 @ =gSaveBlock2Ptr ldr r0, [r0] strb r1, [r0, 0x8] _0812FFCE: @@ -2736,7 +2736,7 @@ _0812FFDC: pop {r0} bx r0 .align 2, 0 -_0812FFE4: .4byte gUnknown_300500C +_0812FFE4: .4byte gSaveBlock2Ptr _0812FFE8: .4byte gUnknown_3005090 _0812FFEC: .4byte sub_812FFF0 thumb_func_end sub_812FFA4 @@ -2791,7 +2791,7 @@ sub_8130050: @ 8130050 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0813006C @ =gUnknown_300500C + ldr r0, _0813006C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -2801,7 +2801,7 @@ sub_8130050: @ 8130050 bl sub_81311F4 b _08130078 .align 2, 0 -_0813006C: .4byte gUnknown_300500C +_0813006C: .4byte gSaveBlock2Ptr _08130070: movs r0, 0x1 movs r1, 0 @@ -3232,7 +3232,7 @@ sub_81303B4: @ 81303B4 ldrh r0, [r0, 0x10] cmp r0, 0 bne _08130408 - ldr r0, _08130400 @ =gUnknown_300500C + ldr r0, _08130400 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r2, [r1, 0x8] str r5, [sp] @@ -3245,7 +3245,7 @@ sub_81303B4: @ 81303B4 .align 2, 0 _081303F8: .4byte gUnknown_2037AB8 _081303FC: .4byte gUnknown_203B108 -_08130400: .4byte gUnknown_300500C +_08130400: .4byte gSaveBlock2Ptr _08130404: .4byte sub_8130C64 _08130408: ldr r0, _08130454 @ =gUnknown_3005090 @@ -3262,7 +3262,7 @@ _08130408: lsls r0, 24 lsrs r0, 24 bl RemoveWindow - ldr r0, _08130458 @ =gUnknown_3005008 + ldr r0, _08130458 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _0813045C @ =0x00003a4c adds r1, r0 @@ -3285,7 +3285,7 @@ _0813044C: bx r0 .align 2, 0 _08130454: .4byte gUnknown_3005090 -_08130458: .4byte gUnknown_3005008 +_08130458: .4byte gSaveBlock1Ptr _0813045C: .4byte 0x00003a4c _08130460: .4byte sub_8130C64 thumb_func_end sub_81303B4 @@ -3741,7 +3741,7 @@ sub_81307D0: @ 81307D0 .align 2, 0 _081307FC: .4byte gUnknown_3005098 _08130800: - ldr r0, _08130814 @ =gUnknown_300500C + ldr r0, _08130814 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -3751,7 +3751,7 @@ _08130800: bl sub_81311F4 b _08130820 .align 2, 0 -_08130814: .4byte gUnknown_300500C +_08130814: .4byte gSaveBlock2Ptr _08130818: movs r0, 0x1 movs r1, 0 @@ -4317,7 +4317,7 @@ _08130C60: .4byte CB2_NewGame sub_8130C64: @ 8130C64 push {r4,r5,lr} sub sp, 0x10 - ldr r0, _08130C84 @ =gUnknown_30030F0 + ldr r0, _08130C84 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -4332,7 +4332,7 @@ _08130C78: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08130C84: .4byte gUnknown_30030F0 +_08130C84: .4byte gMain _08130C88: .4byte _08130C8C .align 2, 0 _08130C8C: @@ -4520,7 +4520,7 @@ _08130E38: ldrh r0, [r0, 0x10] cmp r0, 0 bne _08130E72 - ldr r0, _08130E64 @ =gUnknown_300500C + ldr r0, _08130E64 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -4530,7 +4530,7 @@ _08130E38: .align 2, 0 _08130E5C: .4byte sub_8130464 _08130E60: .4byte gUnknown_203B108 -_08130E64: .4byte gUnknown_300500C +_08130E64: .4byte gSaveBlock2Ptr _08130E68: movs r0, 0x1 _08130E6A: @@ -4603,7 +4603,7 @@ _08130F04: .4byte sub_812EAFC _08130F08: .4byte gUnknown_3003E50 _08130F0C: .4byte sub_812EB10 _08130F10: - ldr r1, _08130F28 @ =gUnknown_30030F0 + ldr r1, _08130F28 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -4616,7 +4616,7 @@ _08130F1E: pop {r0} bx r0 .align 2, 0 -_08130F28: .4byte gUnknown_30030F0 +_08130F28: .4byte gMain thumb_func_end sub_8130C64 thumb_func_start sub_8130F2C @@ -5575,7 +5575,7 @@ sub_8131660: @ 8131660 mov r0, r8 cmp r0, 0 bne _081316F4 - ldr r0, _081316E8 @ =gUnknown_300500C + ldr r0, _081316E8 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] ldr r6, _081316EC @ =gUnknown_84630D8 @@ -5587,7 +5587,7 @@ sub_8131660: @ 8131660 _081316DC: .4byte gUnknown_3005098 _081316E0: .4byte gUnknown_8462ED8 _081316E4: .4byte gUnknown_81C574F -_081316E8: .4byte gUnknown_300500C +_081316E8: .4byte gSaveBlock2Ptr _081316EC: .4byte gUnknown_84630D8 _081316F0: .4byte gUnknown_846308C _081316F4: @@ -5647,7 +5647,7 @@ sub_8131754: @ 8131754 lsrs r2, r1, 24 cmp r0, 0 bne _081317A0 - ldr r0, _08131770 @ =gUnknown_300500C + ldr r0, _08131770 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -5655,7 +5655,7 @@ sub_8131754: @ 8131754 ldr r4, _08131774 @ =gUnknown_846308C b _0813177A .align 2, 0 -_08131770: .4byte gUnknown_300500C +_08131770: .4byte gSaveBlock2Ptr _08131774: .4byte gUnknown_846308C _08131778: ldr r4, _08131798 @ =gUnknown_84630D8 @@ -5669,18 +5669,18 @@ _0813177A: lsrs r0, 14 adds r0, r4 ldr r3, [r0] - ldr r0, _0813179C @ =gUnknown_300500C + ldr r0, _0813179C @ =gSaveBlock2Ptr ldr r4, [r0] b _081317B0 .align 2, 0 _08131798: .4byte gUnknown_84630D8 -_0813179C: .4byte gUnknown_300500C +_0813179C: .4byte gSaveBlock2Ptr _081317A0: ldr r1, _081317EC @ =gUnknown_8463124 lsls r0, r2, 2 adds r0, r1 ldr r3, [r0] - ldr r0, _081317F0 @ =gUnknown_3005008 + ldr r0, _081317F0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _081317F4 @ =0x00003a4c adds r4, r0, r1 @@ -5721,7 +5721,7 @@ _081317E6: bx r0 .align 2, 0 _081317EC: .4byte gUnknown_8463124 -_081317F0: .4byte gUnknown_3005008 +_081317F0: .4byte gSaveBlock1Ptr _081317F4: .4byte 0x00003a4c thumb_func_end sub_8131754 diff --git a/asm/option_menu.s b/asm/option_menu.s index 6d10782d7..34768ce92 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -29,7 +29,7 @@ sub_8088374: @ 8088374 thumb_func_start sub_8088388 sub_8088388: @ 8088388 push {r4-r6,lr} - ldr r1, _08088418 @ =gUnknown_30030F0 + ldr r1, _08088418 @ =gMain ldr r0, [r1, 0x8] cmp r0, 0 bne _08088396 @@ -48,7 +48,7 @@ _08088396: strb r1, [r0, 0x11] ldr r2, [r4] strh r1, [r2, 0xE] - ldr r0, _08088424 @ =gUnknown_300500C + ldr r0, _08088424 @ =gSaveBlock2Ptr ldr r1, [r0] ldrb r0, [r1, 0x14] lsls r0, 29 @@ -100,10 +100,10 @@ _080883FA: pop {r0} bx r0 .align 2, 0 -_08088418: .4byte gUnknown_30030F0 +_08088418: .4byte gMain _0808841C: .4byte sub_80568A8 _08088420: .4byte gUnknown_2039620 -_08088424: .4byte gUnknown_300500C +_08088424: .4byte gSaveBlock2Ptr _08088428: .4byte gUnknown_83CC304 _0808842C: .4byte sub_8088454 thumb_func_end sub_8088388 @@ -667,7 +667,7 @@ _080888B6: thumb_func_start sub_80888C0 sub_80888C0: @ 80888C0 push {r4,lr} - ldr r3, _080888EC @ =gUnknown_30030F0 + ldr r3, _080888EC @ =gMain ldrh r1, [r3, 0x30] movs r0, 0x10 ands r0, r1 @@ -688,7 +688,7 @@ sub_80888C0: @ 80888C0 movs r0, 0 b _080888FA .align 2, 0 -_080888EC: .4byte gUnknown_30030F0 +_080888EC: .4byte gMain _080888F0: .4byte gUnknown_2039620 _080888F4: .4byte gUnknown_83CC304 _080888F8: @@ -970,11 +970,11 @@ sub_8088B00: @ 8088B00 ldr r1, _08088BBC @ =gUnknown_3005020 ldr r0, _08088BC0 @ =sub_807DF64 str r0, [r1] - ldr r0, _08088BC4 @ =gUnknown_30030F0 + ldr r0, _08088BC4 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 bl FreeAllWindowBuffers - ldr r3, _08088BC8 @ =gUnknown_300500C + ldr r3, _08088BC8 @ =gSaveBlock2Ptr ldr r5, [r3] ldr r4, _08088BCC @ =gUnknown_2039620 ldr r0, [r4] @@ -1052,8 +1052,8 @@ sub_8088B00: @ 8088B00 .align 2, 0 _08088BBC: .4byte gUnknown_3005020 _08088BC0: .4byte sub_807DF64 -_08088BC4: .4byte gUnknown_30030F0 -_08088BC8: .4byte gUnknown_300500C +_08088BC4: .4byte gMain +_08088BC8: .4byte gSaveBlock2Ptr _08088BCC: .4byte gUnknown_2039620 thumb_func_end sub_8088B00 diff --git a/asm/overworld.s b/asm/overworld.s index 1f545aa1e..02b5e746f 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -10,7 +10,7 @@ sub_8054BC8: @ 8054BC8 push {r4,lr} ldr r0, _08054BFC @ =gUnknown_81A654B bl ScriptContext2_RunNewScript - ldr r0, _08054C00 @ =gUnknown_3005008 + ldr r0, _08054C00 @ =gSaveBlock1Ptr ldr r4, [r0] movs r0, 0xA4 lsls r0, 2 @@ -28,7 +28,7 @@ sub_8054BC8: @ 8054BC8 bx r0 .align 2, 0 _08054BFC: .4byte gUnknown_81A654B -_08054C00: .4byte gUnknown_3005008 +_08054C00: .4byte gSaveBlock1Ptr thumb_func_end sub_8054BC8 thumb_func_start sub_8054C04 @@ -47,7 +47,7 @@ sub_8054C04: @ 8054C04 lsls r1, 2 adds r4, r0, 0 muls r4, r1 - ldr r0, _08054C44 @ =gUnknown_3005008 + ldr r0, _08054C44 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -63,7 +63,7 @@ _08054C38: bx r1 .align 2, 0 _08054C40: .4byte gUnknown_826D294 -_08054C44: .4byte gUnknown_3005008 +_08054C44: .4byte gSaveBlock1Ptr thumb_func_end sub_8054C04 thumb_func_start sub_8054C48 @@ -293,7 +293,7 @@ _08054E64: .4byte 0x0000406e sub_8054E68: @ 8054E68 push {r4,r5,lr} movs r2, 0 - ldr r5, _08054E8C @ =gUnknown_3005008 + ldr r5, _08054E8C @ =gSaveBlock1Ptr movs r4, 0x90 lsls r4, 5 movs r3, 0 @@ -310,7 +310,7 @@ _08054E74: pop {r0} bx r0 .align 2, 0 -_08054E8C: .4byte gUnknown_3005008 +_08054E8C: .4byte gSaveBlock1Ptr thumb_func_end sub_8054E68 thumb_func_start IncrementGameStat @@ -350,14 +350,14 @@ GetGameStat: @ 8054EC4 lsrs r1, r0, 24 cmp r1, 0x33 bhi _08054EF8 - ldr r0, _08054EF0 @ =gUnknown_3005008 + ldr r0, _08054EF0 @ =gSaveBlock1Ptr ldr r2, [r0] lsls r0, r1, 2 movs r1, 0x90 lsls r1, 5 adds r2, r1 adds r2, r0 - ldr r0, _08054EF4 @ =gUnknown_300500C + ldr r0, _08054EF4 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0xF2 lsls r0, 4 @@ -367,8 +367,8 @@ GetGameStat: @ 8054EC4 eors r0, r1 b _08054EFA .align 2, 0 -_08054EF0: .4byte gUnknown_3005008 -_08054EF4: .4byte gUnknown_300500C +_08054EF0: .4byte gSaveBlock1Ptr +_08054EF4: .4byte gSaveBlock2Ptr _08054EF8: movs r0, 0 _08054EFA: @@ -384,14 +384,14 @@ sub_8054F00: @ 8054F00 lsrs r2, r0, 24 cmp r2, 0x33 bhi _08054F2A - ldr r0, _08054F30 @ =gUnknown_3005008 + ldr r0, _08054F30 @ =gSaveBlock1Ptr ldr r1, [r0] lsls r0, r2, 2 movs r2, 0x90 lsls r2, 5 adds r1, r2 adds r1, r0 - ldr r0, _08054F34 @ =gUnknown_300500C + ldr r0, _08054F34 @ =gSaveBlock2Ptr ldr r0, [r0] movs r2, 0xF2 lsls r2, 4 @@ -403,8 +403,8 @@ _08054F2A: pop {r0} bx r0 .align 2, 0 -_08054F30: .4byte gUnknown_3005008 -_08054F34: .4byte gUnknown_300500C +_08054F30: .4byte gSaveBlock1Ptr +_08054F34: .4byte gSaveBlock2Ptr thumb_func_end sub_8054F00 thumb_func_start sub_8054F38 @@ -412,7 +412,7 @@ sub_8054F38: @ 8054F38 push {r4-r6,lr} adds r5, r0, 0 movs r4, 0 - ldr r6, _08054F64 @ =gUnknown_3005008 + ldr r6, _08054F64 @ =gSaveBlock1Ptr _08054F40: lsls r1, r4, 2 movs r0, 0x90 @@ -431,7 +431,7 @@ _08054F40: pop {r0} bx r0 .align 2, 0 -_08054F64: .4byte gUnknown_3005008 +_08054F64: .4byte gSaveBlock1Ptr thumb_func_end sub_8054F38 thumb_func_start sub_8054F68 @@ -452,7 +452,7 @@ sub_8054F68: @ 8054F68 bcc _08054F86 b _08055092 _08054F86: - ldr r2, _08055044 @ =gUnknown_3005008 + ldr r2, _08055044 @ =gSaveBlock1Ptr mov r10, r2 _08054F8A: ldr r3, _08055040 @ =gUnknown_2036DFC @@ -547,7 +547,7 @@ _08054F8A: b _08055072 .align 2, 0 _08055040: .4byte gUnknown_2036DFC -_08055044: .4byte gUnknown_3005008 +_08055044: .4byte gSaveBlock1Ptr _08055048: .4byte 0x000008e4 _0805504C: .4byte 0x000008ec _08055050: .4byte 0x000008ee @@ -602,7 +602,7 @@ sub_80550A8: @ 80550A8 push {lr} ldr r0, _080550D0 @ =gUnknown_2036DFC ldr r1, [r0, 0x4] - ldr r0, _080550D4 @ =gUnknown_3005008 + ldr r0, _080550D4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, [r1, 0x4] movs r3, 0x8E @@ -621,7 +621,7 @@ _080550BC: bx r0 .align 2, 0 _080550D0: .4byte gUnknown_2036DFC -_080550D4: .4byte gUnknown_3005008 +_080550D4: .4byte gSaveBlock1Ptr thumb_func_end sub_80550A8 thumb_func_start Overworld_SetMapObjTemplateCoords @@ -633,7 +633,7 @@ Overworld_SetMapObjTemplateCoords: @ 80550D8 lsrs r4, r1, 16 lsls r2, 16 lsrs r2, 16 - ldr r0, _08055100 @ =gUnknown_3005008 + ldr r0, _08055100 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0 movs r6, 0x8E @@ -647,7 +647,7 @@ _080550F2: strh r2, [r3, 0x6] b _0805510C .align 2, 0 -_08055100: .4byte gUnknown_3005008 +_08055100: .4byte gSaveBlock1Ptr _08055104: adds r3, 0x18 adds r1, 0x1 @@ -666,7 +666,7 @@ Overworld_SetMapObjTemplateMovementType: @ 8055114 lsrs r4, r0, 24 lsls r1, 24 lsrs r1, 24 - ldr r0, _08055134 @ =gUnknown_3005008 + ldr r0, _08055134 @ =gSaveBlock1Ptr ldr r0, [r0] movs r3, 0 movs r5, 0x8E @@ -679,7 +679,7 @@ _0805512A: strb r1, [r2, 0x9] b _08055140 .align 2, 0 -_08055134: .4byte gUnknown_3005008 +_08055134: .4byte gSaveBlock1Ptr _08055138: adds r2, 0x18 adds r3, 0x1 @@ -712,7 +712,7 @@ _0805516C: .4byte gUnknown_2036DFC thumb_func_start get_mapdata_header get_mapdata_header: @ 8055170 push {lr} - ldr r0, _08055180 @ =gUnknown_3005008 + ldr r0, _08055180 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x32] cmp r1, 0 @@ -720,7 +720,7 @@ get_mapdata_header: @ 8055170 movs r0, 0 b _0805518E .align 2, 0 -_08055180: .4byte gUnknown_3005008 +_08055180: .4byte gSaveBlock1Ptr _08055184: ldr r0, _08055194 @ =gUnknown_834EB8C subs r1, 0x1 @@ -737,7 +737,7 @@ _08055194: .4byte gUnknown_834EB8C thumb_func_start warp_shift warp_shift: @ 8055198 ldr r3, _080551C4 @ =gUnknown_2031DB4 - ldr r0, _080551C8 @ =gUnknown_3005008 + ldr r0, _080551C8 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, [r2, 0x4] ldr r1, [r2, 0x8] @@ -760,7 +760,7 @@ warp_shift: @ 8055198 bx lr .align 2, 0 _080551C4: .4byte gUnknown_2031DB4 -_080551C8: .4byte gUnknown_3005008 +_080551C8: .4byte gSaveBlock1Ptr _080551CC: .4byte gUnknown_2031DBC _080551D0: .4byte gUnknown_2031DC4 _080551D4: .4byte gUnknown_826D2B0 @@ -861,7 +861,7 @@ _08055270: .4byte gUnknown_2031DBC set_current_map_header_from_sav1_save_old_name: @ 8055274 push {r4-r6,lr} ldr r4, _080552B4 @ =gUnknown_2036DFC - ldr r5, _080552B8 @ =gUnknown_3005008 + ldr r5, _080552B8 @ =gSaveBlock1Ptr ldr r1, [r5] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -890,14 +890,14 @@ set_current_map_header_from_sav1_save_old_name: @ 8055274 bx r0 .align 2, 0 _080552B4: .4byte gUnknown_2036DFC -_080552B8: .4byte gUnknown_3005008 +_080552B8: .4byte gSaveBlock1Ptr thumb_func_end set_current_map_header_from_sav1_save_old_name thumb_func_start set_current_map_header_from_sav1 set_current_map_header_from_sav1: @ 80552BC push {r4,r5,lr} ldr r4, _080552F4 @ =gUnknown_2036DFC - ldr r0, _080552F8 @ =gUnknown_3005008 + ldr r0, _080552F8 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -923,13 +923,13 @@ set_current_map_header_from_sav1: @ 80552BC bx r0 .align 2, 0 _080552F4: .4byte gUnknown_2036DFC -_080552F8: .4byte gUnknown_3005008 +_080552F8: .4byte gSaveBlock1Ptr thumb_func_end set_current_map_header_from_sav1 thumb_func_start update_camera_pos_from_warpid update_camera_pos_from_warpid: @ 80552FC push {r4,r5,lr} - ldr r0, _0805532C @ =gUnknown_3005008 + ldr r0, _0805532C @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0x6 ldrsb r1, [r2, r1] @@ -953,7 +953,7 @@ update_camera_pos_from_warpid: @ 80552FC strh r0, [r2, 0x2] b _0805536C .align 2, 0 -_0805532C: .4byte gUnknown_3005008 +_0805532C: .4byte gSaveBlock1Ptr _08055330: .4byte gUnknown_2036DFC _08055334: ldr r1, [r4] @@ -1059,7 +1059,7 @@ warp1_set_2: @ 80553C8 saved_warp2_set: @ 80553E8 push {r4,r5,lr} sub sp, 0x8 - ldr r0, _08055418 @ =gUnknown_3005008 + ldr r0, _08055418 @ =gSaveBlock1Ptr ldr r5, [r0] adds r0, r5, 0 adds r0, 0x14 @@ -1081,7 +1081,7 @@ saved_warp2_set: @ 80553E8 pop {r0} bx r0 .align 2, 0 -_08055418: .4byte gUnknown_3005008 +_08055418: .4byte gSaveBlock1Ptr thumb_func_end saved_warp2_set thumb_func_start saved_warp2_set_2 @@ -1090,7 +1090,7 @@ saved_warp2_set_2: @ 805541C sub sp, 0x8 ldr r4, [sp, 0x14] ldr r5, [sp, 0x18] - ldr r0, _08055450 @ =gUnknown_3005008 + ldr r0, _08055450 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x14 lsls r1, 24 @@ -1111,13 +1111,13 @@ saved_warp2_set_2: @ 805541C pop {r0} bx r0 .align 2, 0 -_08055450: .4byte gUnknown_3005008 +_08055450: .4byte gSaveBlock1Ptr thumb_func_end saved_warp2_set_2 thumb_func_start copy_saved_warp2_bank_and_enter_x_to_warp1 copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8055454 ldr r2, _08055464 @ =gUnknown_2031DBC - ldr r0, _08055468 @ =gUnknown_3005008 + ldr r0, _08055468 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, [r0, 0x18] ldr r0, [r0, 0x14] @@ -1126,7 +1126,7 @@ copy_saved_warp2_bank_and_enter_x_to_warp1: @ 8055454 bx lr .align 2, 0 _08055464: .4byte gUnknown_2031DBC -_08055468: .4byte gUnknown_3005008 +_08055468: .4byte gSaveBlock1Ptr thumb_func_end copy_saved_warp2_bank_and_enter_x_to_warp1 thumb_func_start sub_805546C @@ -1162,7 +1162,7 @@ _0805549A: thumb_func_start copy_saved_warp3_bank_and_enter_x_to_warp1 copy_saved_warp3_bank_and_enter_x_to_warp1: @ 80554A4 ldr r2, _080554B4 @ =gUnknown_2031DBC - ldr r0, _080554B8 @ =gUnknown_3005008 + ldr r0, _080554B8 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, [r0, 0x20] ldr r0, [r0, 0x1C] @@ -1171,7 +1171,7 @@ copy_saved_warp3_bank_and_enter_x_to_warp1: @ 80554A4 bx lr .align 2, 0 _080554B4: .4byte gUnknown_2031DBC -_080554B8: .4byte gUnknown_3005008 +_080554B8: .4byte gSaveBlock1Ptr thumb_func_end copy_saved_warp3_bank_and_enter_x_to_warp1 thumb_func_start sub_80554BC @@ -1195,7 +1195,7 @@ sub_80554CC: @ 80554CC adds r5, r0, 0 cmp r5, 0 beq _08055500 - ldr r0, _08055508 @ =gUnknown_3005008 + ldr r0, _08055508 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x1C movs r1, 0 @@ -1217,7 +1217,7 @@ _08055500: pop {r0} bx r0 .align 2, 0 -_08055508: .4byte gUnknown_3005008 +_08055508: .4byte gSaveBlock1Ptr thumb_func_end sub_80554CC thumb_func_start sub_805550C @@ -1252,7 +1252,7 @@ sub_805550C: @ 805550C lsrs r0, 24 cmp r0, 0x1 beq _08055590 - ldr r5, _0805559C @ =gUnknown_3005008 + ldr r5, _0805559C @ =gSaveBlock1Ptr ldr r0, [r5] ldrh r0, [r0, 0x4] cmp r0, 0x1 @@ -1289,7 +1289,7 @@ _08055590: bx r0 .align 2, 0 _08055598: .4byte gUnknown_2031DBC -_0805559C: .4byte gUnknown_3005008 +_0805559C: .4byte gSaveBlock1Ptr thumb_func_end sub_805550C thumb_func_start sub_80555A0 @@ -1300,7 +1300,7 @@ sub_80555A0: @ 80555A0 adds r5, r1, 0 adds r6, r2, 0 ldr r1, [sp, 0x18] - ldr r0, _080555DC @ =gUnknown_3005008 + ldr r0, _080555DC @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x24 lsls r4, 24 @@ -1324,13 +1324,13 @@ sub_80555A0: @ 80555A0 pop {r0} bx r0 .align 2, 0 -_080555DC: .4byte gUnknown_3005008 +_080555DC: .4byte gSaveBlock1Ptr thumb_func_end sub_80555A0 thumb_func_start sub_80555E0 sub_80555E0: @ 80555E0 ldr r2, _080555F0 @ =gUnknown_2031DBC - ldr r0, _080555F4 @ =gUnknown_3005008 + ldr r0, _080555F4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, [r0, 0x28] ldr r0, [r0, 0x24] @@ -1339,7 +1339,7 @@ sub_80555E0: @ 80555E0 bx lr .align 2, 0 _080555F0: .4byte gUnknown_2031DBC -_080555F4: .4byte gUnknown_3005008 +_080555F4: .4byte gSaveBlock1Ptr thumb_func_end sub_80555E0 thumb_func_start sub_80555F8 @@ -1469,7 +1469,7 @@ _080556D6: thumb_func_start warp1_set_to_sav1w warp1_set_to_sav1w: @ 80556E0 ldr r2, _080556F0 @ =gUnknown_2031DBC - ldr r0, _080556F4 @ =gUnknown_3005008 + ldr r0, _080556F4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, [r0, 0x10] ldr r0, [r0, 0xC] @@ -1478,7 +1478,7 @@ warp1_set_to_sav1w: @ 80556E0 bx lr .align 2, 0 _080556F0: .4byte gUnknown_2031DBC -_080556F4: .4byte gUnknown_3005008 +_080556F4: .4byte gSaveBlock1Ptr thumb_func_end warp1_set_to_sav1w thumb_func_start sub_80556F8 @@ -1489,7 +1489,7 @@ sub_80556F8: @ 80556F8 adds r5, r1, 0 adds r6, r2, 0 ldr r1, [sp, 0x18] - ldr r0, _08055734 @ =gUnknown_3005008 + ldr r0, _08055734 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0xC lsls r4, 24 @@ -1513,7 +1513,7 @@ sub_80556F8: @ 80556F8 pop {r0} bx r0 .align 2, 0 -_08055734: .4byte gUnknown_3005008 +_08055734: .4byte gSaveBlock1Ptr thumb_func_end sub_80556F8 thumb_func_start sub_8055738 @@ -1526,7 +1526,7 @@ sub_8055738: @ 8055738 adds r5, r0, 0 cmp r5, 0 beq _0805576C - ldr r0, _08055774 @ =gUnknown_3005008 + ldr r0, _08055774 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0xC movs r1, 0 @@ -1548,12 +1548,12 @@ _0805576C: pop {r0} bx r0 .align 2, 0 -_08055774: .4byte gUnknown_3005008 +_08055774: .4byte gSaveBlock1Ptr thumb_func_end sub_8055738 thumb_func_start sub_8055778 sub_8055778: @ 8055778 - ldr r0, _08055788 @ =gUnknown_3005008 + ldr r0, _08055788 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r0, [r2, 0x14] ldr r1, [r2, 0x18] @@ -1561,7 +1561,7 @@ sub_8055778: @ 8055778 str r1, [r2, 0x10] bx lr .align 2, 0 -_08055788: .4byte gUnknown_3005008 +_08055788: .4byte gSaveBlock1Ptr thumb_func_end sub_8055778 thumb_func_start GetMapConnection @@ -1772,7 +1772,7 @@ sub_8055920: @ 8055920 bl sub_806E110 bl nullsub_74 bl sub_806D7E8 - ldr r0, _080559A0 @ =gUnknown_3005008 + ldr r0, _080559A0 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -1804,7 +1804,7 @@ _08055974: bx r0 .align 2, 0 _0805599C: .4byte gUnknown_2036DFC -_080559A0: .4byte gUnknown_3005008 +_080559A0: .4byte gSaveBlock1Ptr _080559A4: .4byte 0x00000806 thumb_func_end sub_8055920 @@ -2023,7 +2023,7 @@ sub_8055B38: @ 8055B38 lsrs r0, 24 cmp r0, 0x1 bne _08055B6C - ldr r0, _08055B60 @ =gUnknown_3005008 + ldr r0, _08055B60 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _08055B64 @ =0x00005601 @@ -2036,7 +2036,7 @@ _08055B5C: movs r0, 0x1 b _08055B6E .align 2, 0 -_08055B60: .4byte gUnknown_3005008 +_08055B60: .4byte gSaveBlock1Ptr _08055B64: .4byte 0x00005601 _08055B68: .4byte 0x00005701 _08055B6C: @@ -2180,7 +2180,7 @@ _08055C6E: thumb_func_start sub_8055C74 sub_8055C74: @ 8055C74 push {lr} - ldr r0, _08055C98 @ =gUnknown_3005008 + ldr r0, _08055C98 @ =gSaveBlock1Ptr ldr r1, [r0] ldrh r0, [r1] adds r0, 0x7 @@ -2196,7 +2196,7 @@ sub_8055C74: @ 8055C74 pop {r1} bx r1 .align 2, 0 -_08055C98: .4byte gUnknown_3005008 +_08055C98: .4byte gSaveBlock1Ptr thumb_func_end sub_8055C74 thumb_func_start sub_8055C9C @@ -2224,28 +2224,28 @@ sub_8055CB8: @ 8055CB8 ldrb r1, [r0, 0x15] cmp r1, 0 bne _08055CD0 - ldr r0, _08055CCC @ =gUnknown_3005008 + ldr r0, _08055CCC @ =gSaveBlock1Ptr ldr r0, [r0] b _08055CF8 .align 2, 0 _08055CC8: .4byte gUnknown_2036DFC -_08055CCC: .4byte gUnknown_3005008 +_08055CCC: .4byte gSaveBlock1Ptr _08055CD0: ldr r0, _08055CE8 @ =0x00000806 bl FlagGet lsls r0, 24 cmp r0, 0 beq _08055CF0 - ldr r0, _08055CEC @ =gUnknown_3005008 + ldr r0, _08055CEC @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x30 movs r1, 0 b _08055CFA .align 2, 0 _08055CE8: .4byte 0x00000806 -_08055CEC: .4byte gUnknown_3005008 +_08055CEC: .4byte gSaveBlock1Ptr _08055CF0: - ldr r0, _08055D00 @ =gUnknown_3005008 + ldr r0, _08055D00 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08055D04 @ =gUnknown_83C68E0 ldr r1, [r1] @@ -2256,7 +2256,7 @@ _08055CFA: pop {r0} bx r0 .align 2, 0 -_08055D00: .4byte gUnknown_3005008 +_08055D00: .4byte gSaveBlock1Ptr _08055D04: .4byte gUnknown_83C68E0 thumb_func_end sub_8055CB8 @@ -2273,7 +2273,7 @@ Overworld_SetFlashLevel: @ 8055D08 _08055D18: movs r1, 0 _08055D1A: - ldr r0, _08055D2C @ =gUnknown_3005008 + ldr r0, _08055D2C @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x30 strb r1, [r0] @@ -2281,24 +2281,24 @@ _08055D1A: bx r0 .align 2, 0 _08055D28: .4byte gUnknown_83C68E0 -_08055D2C: .4byte gUnknown_3005008 +_08055D2C: .4byte gSaveBlock1Ptr thumb_func_end Overworld_SetFlashLevel thumb_func_start sav1_get_flash_used_on_map sav1_get_flash_used_on_map: @ 8055D30 - ldr r0, _08055D3C @ =gUnknown_3005008 + ldr r0, _08055D3C @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x30 ldrb r0, [r0] bx lr .align 2, 0 -_08055D3C: .4byte gUnknown_3005008 +_08055D3C: .4byte gSaveBlock1Ptr thumb_func_end sav1_get_flash_used_on_map thumb_func_start sub_8055D40 sub_8055D40: @ 8055D40 push {lr} - ldr r1, _08055D54 @ =gUnknown_3005008 + ldr r1, _08055D54 @ =gSaveBlock1Ptr ldr r1, [r1] strh r0, [r1, 0x32] bl get_mapdata_header @@ -2307,7 +2307,7 @@ sub_8055D40: @ 8055D40 pop {r0} bx r0 .align 2, 0 -_08055D54: .4byte gUnknown_3005008 +_08055D54: .4byte gSaveBlock1Ptr _08055D58: .4byte gUnknown_2036DFC thumb_func_end sub_8055D40 @@ -2345,7 +2345,7 @@ sub_8055D6C: @ 8055D6C thumb_func_start sub_8055D8C sub_8055D8C: @ 8055D8C push {lr} - ldr r0, _08055DA0 @ =gUnknown_3005008 + ldr r0, _08055DA0 @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x4 bl sub_8055D6C @@ -2354,7 +2354,7 @@ sub_8055D8C: @ 8055D8C pop {r1} bx r1 .align 2, 0 -_08055DA0: .4byte gUnknown_3005008 +_08055DA0: .4byte gSaveBlock1Ptr thumb_func_end sub_8055D8C thumb_func_start sub_8055DA4 @@ -2393,7 +2393,7 @@ _08055DD8: .4byte gUnknown_2031DD8 _08055DDC: cmp r0, 0x2 beq _08055E6C - ldr r0, _08055E14 @ =gUnknown_3005008 + ldr r0, _08055E14 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r1, [r0, 0x4] ldr r0, _08055E18 @ =0x00004f01 @@ -2418,7 +2418,7 @@ _08055DDC: bl FadeInBGM b _08055E6C .align 2, 0 -_08055E14: .4byte gUnknown_3005008 +_08055E14: .4byte gSaveBlock1Ptr _08055E18: .4byte 0x00004f01 _08055E1C: .4byte gMPlay_BGM _08055E20: .4byte gUnknown_86E6B0C @@ -2426,7 +2426,7 @@ _08055E24: bl sub_8055D8C lsls r0, 16 lsrs r4, r0, 16 - ldr r0, _08055E3C @ =gUnknown_3005008 + ldr r0, _08055E3C @ =gSaveBlock1Ptr ldr r1, [r0] ldrh r0, [r1, 0x2C] cmp r0, 0 @@ -2434,7 +2434,7 @@ _08055E24: adds r4, r0, 0 b _08055E5A .align 2, 0 -_08055E3C: .4byte gUnknown_3005008 +_08055E3C: .4byte gSaveBlock1Ptr _08055E40: movs r0, 0x8 bl TestPlayerAvatarFlags @@ -2466,23 +2466,23 @@ _08055E74: .4byte 0x00000131 thumb_func_start sub_8055E78 sub_8055E78: @ 8055E78 - ldr r1, _08055E80 @ =gUnknown_3005008 + ldr r1, _08055E80 @ =gSaveBlock1Ptr ldr r1, [r1] strh r0, [r1, 0x2C] bx lr .align 2, 0 -_08055E80: .4byte gUnknown_3005008 +_08055E80: .4byte gSaveBlock1Ptr thumb_func_end sub_8055E78 thumb_func_start sav1_reset_battle_music_maybe sav1_reset_battle_music_maybe: @ 8055E84 - ldr r0, _08055E90 @ =gUnknown_3005008 + ldr r0, _08055E90 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0 strh r0, [r1, 0x2C] bx lr .align 2, 0 -_08055E90: .4byte gUnknown_3005008 +_08055E90: .4byte gSaveBlock1Ptr thumb_func_end sav1_reset_battle_music_maybe thumb_func_start sub_8055E94 @@ -2887,7 +2887,7 @@ get_map_light_level_from_warp: @ 8056170 thumb_func_start sav1_map_get_light_level sav1_map_get_light_level: @ 8056188 push {lr} - ldr r0, _0805619C @ =gUnknown_3005008 + ldr r0, _0805619C @ =gSaveBlock1Ptr ldr r0, [r0] adds r0, 0x4 bl get_map_light_level_from_warp @@ -2896,7 +2896,7 @@ sav1_map_get_light_level: @ 8056188 pop {r1} bx r1 .align 2, 0 -_0805619C: .4byte gUnknown_3005008 +_0805619C: .4byte gSaveBlock1Ptr thumb_func_end sav1_map_get_light_level thumb_func_start get_map_light_from_warp0 @@ -3003,7 +3003,7 @@ _08056232: thumb_func_start sav1_saved_warp2_map_get_name sav1_saved_warp2_map_get_name: @ 8056238 push {lr} - ldr r0, _0805625C @ =gUnknown_3005008 + ldr r0, _0805625C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x14 ldrsb r0, [r1, r0] @@ -3019,13 +3019,13 @@ sav1_saved_warp2_map_get_name: @ 8056238 pop {r1} bx r1 .align 2, 0 -_0805625C: .4byte gUnknown_3005008 +_0805625C: .4byte gSaveBlock1Ptr thumb_func_end sav1_saved_warp2_map_get_name thumb_func_start sav1_map_get_name sav1_map_get_name: @ 8056260 push {lr} - ldr r0, _08056284 @ =gUnknown_3005008 + ldr r0, _08056284 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -3041,13 +3041,13 @@ sav1_map_get_name: @ 8056260 pop {r1} bx r1 .align 2, 0 -_08056284: .4byte gUnknown_3005008 +_08056284: .4byte gSaveBlock1Ptr thumb_func_end sav1_map_get_name thumb_func_start sav1_map_get_battletype sav1_map_get_battletype: @ 8056288 push {lr} - ldr r0, _080562AC @ =gUnknown_3005008 + ldr r0, _080562AC @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -3063,7 +3063,7 @@ sav1_map_get_battletype: @ 8056288 pop {r1} bx r1 .align 2, 0 -_080562AC: .4byte gUnknown_3005008 +_080562AC: .4byte gSaveBlock1Ptr thumb_func_end sav1_map_get_battletype thumb_func_start sub_80562B0 @@ -3228,7 +3228,7 @@ sub_8056420: @ 8056420 thumb_func_start sub_805642C sub_805642C: @ 805642C push {lr} - ldr r0, _0805643C @ =gUnknown_30030F0 + ldr r0, _0805643C @ =gMain ldr r1, [r0] ldr r0, _08056440 @ =c1_link_related cmp r1, r0 @@ -3236,7 +3236,7 @@ sub_805642C: @ 805642C movs r0, 0 b _08056446 .align 2, 0 -_0805643C: .4byte gUnknown_30030F0 +_0805643C: .4byte gMain _08056440: .4byte c1_link_related _08056444: movs r0, 0x1 @@ -3350,7 +3350,7 @@ _08056530: .4byte gUnknown_3005E90 thumb_func_start sub_8056534 sub_8056534: @ 8056534 push {r4,lr} - ldr r4, _0805655C @ =gUnknown_30030F0 + ldr r4, _0805655C @ =gMain ldr r1, [r4, 0x4] ldr r0, _08056560 @ =sub_80565B4 cmp r1, r0 @@ -3368,7 +3368,7 @@ _08056554: bl sub_80564C8 b _08056570 .align 2, 0 -_0805655C: .4byte gUnknown_30030F0 +_0805655C: .4byte gMain _08056560: .4byte sub_80565B4 _08056564: .4byte gUnknown_203ADFA _08056568: @@ -3432,11 +3432,11 @@ _080565DC: .4byte gUnknown_2037AB8 thumb_func_start sub_80565E0 sub_80565E0: @ 80565E0 - ldr r1, _080565E8 @ =gUnknown_30030F0 + ldr r1, _080565E8 @ =gMain str r0, [r1] bx lr .align 2, 0 -_080565E8: .4byte gUnknown_30030F0 +_080565E8: .4byte gMain thumb_func_end sub_80565E0 thumb_func_start map_post_load_hook_exec @@ -3504,7 +3504,7 @@ CB2_NewGame: @ 8056644 ldr r1, _08056694 @ =gUnknown_3005024 movs r0, 0 str r0, [r1] - ldr r0, _08056698 @ =gUnknown_3003528 + ldr r0, _08056698 @ =gMain + 0x438 bl do_load_map_stuff_loop bl SetFieldVBlankCallback ldr r0, _0805669C @ =sub_8056534 @@ -3517,7 +3517,7 @@ CB2_NewGame: @ 8056644 _0805668C: .4byte gUnknown_3005020 _08056690: .4byte sub_807DF7C _08056694: .4byte gUnknown_3005024 -_08056698: .4byte gUnknown_3003528 +_08056698: .4byte gMain + 0x438 _0805669C: .4byte sub_8056534 _080566A0: .4byte sub_80565B4 thumb_func_end CB2_NewGame @@ -3526,7 +3526,7 @@ _080566A0: .4byte sub_80565B4 c2_whiteout: @ 80566A4 push {lr} sub sp, 0x4 - ldr r1, _08056708 @ =gUnknown_30030F0 + ldr r1, _08056708 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -3564,7 +3564,7 @@ _08056702: pop {r0} bx r0 .align 2, 0 -_08056708: .4byte gUnknown_30030F0 +_08056708: .4byte gMain _0805670C: .4byte gUnknown_3005020 _08056710: .4byte sub_807F5F0 _08056714: .4byte sub_8056534 @@ -3581,21 +3581,21 @@ sub_805671C: @ 805671C bl sub_80565E0 ldr r0, _08056740 @ =sub_80C9BFC bl SetMainCallback2 - ldr r1, _08056744 @ =gUnknown_30030F0 + ldr r1, _08056744 @ =gMain ldr r0, _08056748 @ =sub_805674C str r0, [r1, 0x8] pop {r0} bx r0 .align 2, 0 _08056740: .4byte sub_80C9BFC -_08056744: .4byte gUnknown_30030F0 +_08056744: .4byte gMain _08056748: .4byte sub_805674C thumb_func_end sub_805671C thumb_func_start sub_805674C sub_805674C: @ 805674C push {lr} - ldr r0, _08056768 @ =gUnknown_3003528 + ldr r0, _08056768 @ =gMain + 0x438 bl do_load_map_stuff_loop bl sub_8113748 lsls r0, 24 @@ -3605,7 +3605,7 @@ sub_805674C: @ 805674C bl sub_81119C8 b _0805677C .align 2, 0 -_08056768: .4byte gUnknown_3003528 +_08056768: .4byte gMain + 0x438 _0805676C: bl SetFieldVBlankCallback ldr r0, _08056780 @ =sub_8056534 @@ -3640,7 +3640,7 @@ _080567A8: .4byte c2_80567AC thumb_func_start c2_80567AC c2_80567AC: @ 80567AC push {lr} - ldr r0, _080567D0 @ =gUnknown_3003528 + ldr r0, _080567D0 @ =gMain + 0x438 bl sub_8056A5C cmp r0, 0 beq _080567CC @@ -3654,7 +3654,7 @@ _080567CC: pop {r0} bx r0 .align 2, 0 -_080567D0: .4byte gUnknown_3003528 +_080567D0: .4byte gMain + 0x438 _080567D4: .4byte c1_link_related _080567D8: .4byte sub_80565B4 thumb_func_end c2_80567AC @@ -3684,7 +3684,7 @@ _08056804: .4byte c2_exit_to_overworld_2_local thumb_func_start c2_exit_to_overworld_2_local c2_exit_to_overworld_2_local: @ 8056808 push {lr} - ldr r0, _08056824 @ =gUnknown_3003528 + ldr r0, _08056824 @ =gMain + 0x438 bl sub_8056CD8 cmp r0, 0 beq _0805681E @@ -3695,7 +3695,7 @@ _0805681E: pop {r0} bx r0 .align 2, 0 -_08056824: .4byte gUnknown_3003528 +_08056824: .4byte gMain + 0x438 _08056828: .4byte sub_80565B4 thumb_func_end c2_exit_to_overworld_2_local @@ -3705,7 +3705,7 @@ c2_exit_to_overworld_2_link: @ 805682C bl sub_8058244 cmp r0, 0 bne _08056846 - ldr r0, _0805684C @ =gUnknown_3003528 + ldr r0, _0805684C @ =gMain + 0x438 bl map_loading_iteration_2_link cmp r0, 0 beq _08056846 @@ -3715,7 +3715,7 @@ _08056846: pop {r0} bx r0 .align 2, 0 -_0805684C: .4byte gUnknown_3003528 +_0805684C: .4byte gMain + 0x438 _08056850: .4byte sub_80565B4 thumb_func_end c2_exit_to_overworld_2_link @@ -4699,7 +4699,7 @@ mli4_mapscripts_and_other: @ 805709C movs r2, 0 ldrsh r1, [r4, r2] ldrb r2, [r5, 0x1] - ldr r3, _080570FC @ =gUnknown_300500C + ldr r3, _080570FC @ =gSaveBlock2Ptr ldr r3, [r3] ldrb r3, [r3, 0x8] bl InitPlayerAvatar @@ -4717,7 +4717,7 @@ mli4_mapscripts_and_other: @ 805709C .align 2, 0 _080570F4: .4byte gUnknown_300506C _080570F8: .4byte gUnknown_3005068 -_080570FC: .4byte gUnknown_300500C +_080570FC: .4byte gSaveBlock2Ptr thumb_func_end mli4_mapscripts_and_other thumb_func_start sub_8057100 @@ -4924,7 +4924,7 @@ sub_805726C: @ 805726C bl sub_80565E0 ldr r0, _0805729C @ =sub_80C9BFC bl SetMainCallback2 - ldr r1, _080572A0 @ =gUnknown_30030F0 + ldr r1, _080572A0 @ =gMain ldr r0, _080572A4 @ =sub_80572D8 str r0, [r1, 0x8] pop {r0} @@ -4932,7 +4932,7 @@ sub_805726C: @ 805726C .align 2, 0 _08057298: .4byte gUnknown_2036E28 _0805729C: .4byte sub_80C9BFC -_080572A0: .4byte gUnknown_30030F0 +_080572A0: .4byte gMain _080572A4: .4byte sub_80572D8 thumb_func_end sub_805726C @@ -4960,7 +4960,7 @@ _080572D4: .4byte sub_80572D8 thumb_func_start sub_80572D8 sub_80572D8: @ 80572D8 push {lr} - ldr r0, _080572F4 @ =gUnknown_3003528 + ldr r0, _080572F4 @ =gMain + 0x438 bl sub_8057300 bl SetFieldVBlankCallback ldr r0, _080572F8 @ =sub_8056534 @@ -4970,7 +4970,7 @@ sub_80572D8: @ 80572D8 pop {r0} bx r0 .align 2, 0 -_080572F4: .4byte gUnknown_3003528 +_080572F4: .4byte gMain + 0x438 _080572F8: .4byte sub_8056534 _080572FC: .4byte sub_80565B4 thumb_func_end sub_80572D8 @@ -5317,7 +5317,7 @@ _08057560: ldr r1, _08057614 @ =gUnknown_3005024 ldr r0, _08057618 @ =sub_80574EC str r0, [r1] - ldr r0, _0805761C @ =gUnknown_30030F0 + ldr r0, _0805761C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -5336,7 +5336,7 @@ _0805760C: .4byte gUnknown_2031DE8 _08057610: .4byte gUnknown_2037AB8 _08057614: .4byte gUnknown_3005024 _08057618: .4byte sub_80574EC -_0805761C: .4byte gUnknown_30030F0 +_0805761C: .4byte gMain _08057620: bl sub_8057650 lsls r0, 24 @@ -5366,7 +5366,7 @@ _0805764A: thumb_func_start sub_8057650 sub_8057650: @ 8057650 push {r4,lr} - ldr r4, _08057664 @ =gUnknown_3003528 + ldr r4, _08057664 @ =gMain + 0x438 ldrb r0, [r4] cmp r0, 0x8 bhi _0805773C @@ -5376,7 +5376,7 @@ sub_8057650: @ 8057650 ldr r0, [r0] mov pc, r0 .align 2, 0 -_08057664: .4byte gUnknown_3003528 +_08057664: .4byte gMain + 0x438 _08057668: .4byte _0805766C .align 2, 0 _0805766C: @@ -6174,7 +6174,7 @@ _08057CB4: .4byte gUnknown_3003F3C thumb_func_start sub_8057CB8 sub_8057CB8: @ 8057CB8 push {lr} - ldr r2, _08057CCC @ =gUnknown_30030F0 + ldr r2, _08057CCC @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 @@ -6183,7 +6183,7 @@ sub_8057CB8: @ 8057CB8 movs r0, 0x13 b _08057D10 .align 2, 0 -_08057CCC: .4byte gUnknown_30030F0 +_08057CCC: .4byte gMain _08057CD0: movs r0, 0x80 ands r0, r1 @@ -6398,7 +6398,7 @@ sub_8057E1C: @ 8057E1C ldrb r0, [r0] cmp r0, 0x82 bne _08057E4C - ldr r0, _08057E44 @ =gUnknown_30030F0 + ldr r0, _08057E44 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -6410,7 +6410,7 @@ sub_8057E1C: @ 8057E1C b _08057E52 .align 2, 0 _08057E40: .4byte gUnknown_3000E80 -_08057E44: .4byte gUnknown_30030F0 +_08057E44: .4byte gMain _08057E48: .4byte sub_8057E10 _08057E4C: bl sub_8057910 diff --git a/asm/party_menu.s b/asm/party_menu.s index deae6236d..7ca4b3aa1 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -233,7 +233,7 @@ _0811EBF6: sub_811EBFC: @ 811EBFC push {r4,lr} sub sp, 0x4 - ldr r0, _0811EC1C @ =gUnknown_30030F0 + ldr r0, _0811EC1C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -248,7 +248,7 @@ _0811EC10: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0811EC1C: .4byte gUnknown_30030F0 +_0811EC1C: .4byte gMain _0811EC20: .4byte _0811EC24 .align 2, 0 _0811EC24: @@ -459,7 +459,7 @@ _0811EDDE: _0811EDFA: strb r0, [r2, 0x8] _0811EDFC: - ldr r1, _0811EE10 @ =gUnknown_30030F0 + ldr r1, _0811EE10 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -469,7 +469,7 @@ _0811EDFC: b _0811EE2C .align 2, 0 _0811EE0C: .4byte gUnknown_2037AB8 -_0811EE10: .4byte gUnknown_30030F0 +_0811EE10: .4byte gMain _0811EE14: ldr r0, _0811EE24 @ =sub_811EBBC bl SetVBlankCallback @@ -2630,7 +2630,7 @@ _0811FEF4: sub_811FEFC: @ 811FEFC push {r4,lr} adds r4, r0, 0 - ldr r0, _0811FF14 @ =gUnknown_30030F0 + ldr r0, _0811FF14 @ =gMain ldrh r1, [r0, 0x30] adds r3, r0, 0 cmp r1, 0x20 @@ -2641,7 +2641,7 @@ sub_811FEFC: @ 811FEFC beq _0811FF2E b _0811FF32 .align 2, 0 -_0811FF14: .4byte gUnknown_30030F0 +_0811FF14: .4byte gMain _0811FF18: cmp r1, 0x40 beq _0811FF22 @@ -2676,7 +2676,7 @@ _0811FF46: _0811FF4A: movs r1, 0x1 _0811FF4C: - ldr r3, _0811FF5C @ =gUnknown_30030F0 + ldr r3, _0811FF5C @ =gMain _0811FF4E: ldrh r2, [r3, 0x2E] movs r0, 0x8 @@ -2686,7 +2686,7 @@ _0811FF4E: movs r0, 0x8 b _0811FF8C .align 2, 0 -_0811FF5C: .4byte gUnknown_30030F0 +_0811FF5C: .4byte gMain _0811FF60: lsls r0, r1, 24 asrs r1, r0, 24 @@ -4847,7 +4847,7 @@ sub_8120F78: @ 8120F78 push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08120F90 @ =gUnknown_30030F0 + ldr r0, _08120F90 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -4856,7 +4856,7 @@ sub_8120F78: @ 8120F78 movs r0, 0 b _08120FA4 .align 2, 0 -_08120F90: .4byte gUnknown_30030F0 +_08120F90: .4byte gMain _08120F94: ldr r0, _08120FA8 @ =gUnknown_203B09C ldr r1, [r0] @@ -7150,7 +7150,7 @@ party_menu_icon_anim: @ 81221D4 lsrs r0, 24 cmp r0, 0x1 bne _0812220A - ldr r0, _08122240 @ =gUnknown_30030F0 + ldr r0, _08122240 @ =gMain ldr r1, _08122244 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -7189,7 +7189,7 @@ _0812220A: pop {r0} bx r0 .align 2, 0 -_08122240: .4byte gUnknown_30030F0 +_08122240: .4byte gMain _08122244: .4byte 0x00000439 _08122248: .4byte gUnknown_845A59C thumb_func_end party_menu_icon_anim @@ -10277,7 +10277,7 @@ sub_8123A80: @ 8123A80 bl GetMonData lsls r0, 24 lsrs r0, 24 - ldr r1, _08123AC0 @ =gUnknown_3005008 + ldr r1, _08123AC0 @ =gSaveBlock1Ptr lsls r2, r0, 3 adds r2, r0 lsls r2, 2 @@ -10293,7 +10293,7 @@ sub_8123A80: @ 8123A80 .align 2, 0 _08123AB8: .4byte gUnknown_203B0A0 _08123ABC: .4byte gUnknown_2024284 -_08123AC0: .4byte gUnknown_3005008 +_08123AC0: .4byte gSaveBlock1Ptr _08123AC4: .4byte 0x00002cd0 _08123AC8: .4byte sub_8123ACC thumb_func_end sub_8123A80 @@ -10632,7 +10632,7 @@ sub_8123D84: @ 8123D84 adds r0, r1 movs r1, 0x40 bl GetMonData - ldr r2, _08123DC0 @ =gUnknown_3005008 + ldr r2, _08123DC0 @ =gSaveBlock1Ptr lsls r1, r0, 3 adds r1, r0 lsls r1, 2 @@ -10648,7 +10648,7 @@ sub_8123D84: @ 8123D84 .align 2, 0 _08123DB8: .4byte gUnknown_203B0A0 _08123DBC: .4byte gUnknown_2024284 -_08123DC0: .4byte gUnknown_3005008 +_08123DC0: .4byte gSaveBlock1Ptr _08123DC4: .4byte 0x00002cd0 _08123DC8: .4byte sub_8123DCC thumb_func_end sub_8123D84 @@ -11716,7 +11716,7 @@ _081246AC: bl sub_80E56DC b _081247B4 _081246B4: - ldr r0, _081246E0 @ =gUnknown_3005008 + ldr r0, _081246E0 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x1C ldrsb r0, [r1, r0] @@ -11736,12 +11736,12 @@ _081246B4: ldr r1, _081246EC @ =gUnknown_8417640 b _08124720 .align 2, 0 -_081246E0: .4byte gUnknown_3005008 +_081246E0: .4byte gSaveBlock1Ptr _081246E4: .4byte gUnknown_2021CD0 _081246E8: .4byte gUnknown_2021D18 _081246EC: .4byte gUnknown_8417640 _081246F0: - ldr r0, _08124738 @ =gUnknown_3005008 + ldr r0, _08124738 @ =gSaveBlock1Ptr ldr r1, [r0] adds r0, r1, 0 adds r0, 0x24 @@ -11775,7 +11775,7 @@ _08124720: strh r4, [r0] b _081247B4 .align 2, 0 -_08124738: .4byte gUnknown_3005008 +_08124738: .4byte gSaveBlock1Ptr _0812473C: .4byte gUnknown_2021CD0 _08124740: .4byte gUnknown_2021D18 _08124744: .4byte gUnknown_8417615 @@ -12028,7 +12028,7 @@ task_brm_cancel_1_on_keypad_a_or_b: @ 812492C push {lr} lsls r0, 24 lsrs r2, r0, 24 - ldr r0, _08124950 @ =gUnknown_30030F0 + ldr r0, _08124950 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -12045,7 +12045,7 @@ _0812494C: pop {r0} bx r0 .align 2, 0 -_08124950: .4byte gUnknown_30030F0 +_08124950: .4byte gMain thumb_func_end task_brm_cancel_1_on_keypad_a_or_b thumb_func_start sub_8124954 @@ -12175,7 +12175,7 @@ _08124A24: bl sub_8121D0C b _08124A82 _08124A56: - ldr r0, _08124A78 @ =gUnknown_3005008 + ldr r0, _08124A78 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -12191,7 +12191,7 @@ _08124A56: bl sub_8121D0C b _08124A82 .align 2, 0 -_08124A78: .4byte gUnknown_3005008 +_08124A78: .4byte gSaveBlock1Ptr _08124A7C: movs r0, 0x8 bl sub_8121D0C @@ -12374,7 +12374,7 @@ sub_8124BB0: @ 8124BB0 movs r0, 0xFF b _08124C00 _08124BDA: - ldr r0, _08124BF8 @ =gUnknown_3005008 + ldr r0, _08124BF8 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x1C ldrsb r0, [r1, r0] @@ -12388,7 +12388,7 @@ _08124BDA: bl get_mapheader_by_bank_and_number b _08124BFE .align 2, 0 -_08124BF8: .4byte gUnknown_3005008 +_08124BF8: .4byte gSaveBlock1Ptr _08124BFC: ldr r0, _08124C18 @ =gUnknown_2036DFC _08124BFE: @@ -12466,7 +12466,7 @@ sub_8124C8C: @ 8124C8C push {r7} sub sp, 0xC ldr r6, _08124CB4 @ =sub_8124D90 - ldr r0, _08124CB8 @ =gUnknown_30030F0 + ldr r0, _08124CB8 @ =gMain ldr r1, _08124CBC @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -12482,7 +12482,7 @@ sub_8124C8C: @ 8124C8C b _08124CD2 .align 2, 0 _08124CB4: .4byte sub_8124D90 -_08124CB8: .4byte gUnknown_30030F0 +_08124CB8: .4byte gMain _08124CBC: .4byte 0x00000439 _08124CC0: ldr r0, _08124CC8 @ =gUnknown_203B0A0 @@ -12911,13 +12911,13 @@ IsHPRecoveryItem: @ 8125018 lsrs r0, 16 cmp r0, 0xAF bne _08125034 - ldr r0, _0812502C @ =gUnknown_3005008 + ldr r0, _0812502C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08125030 @ =0x00003108 adds r0, r1 b _0812503E .align 2, 0 -_0812502C: .4byte gUnknown_3005008 +_0812502C: .4byte gSaveBlock1Ptr _08125030: .4byte 0x00003108 _08125034: ldr r1, _0812504C @ =gUnknown_82528BC @@ -13183,7 +13183,7 @@ ExecuteTableBasedItemEffect__: @ 8125268 lsrs r5, r1, 16 lsls r2, 24 lsrs r6, r2, 24 - ldr r0, _08125294 @ =gUnknown_30030F0 + ldr r0, _08125294 @ =gMain ldr r1, _08125298 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -13199,7 +13199,7 @@ ExecuteTableBasedItemEffect__: @ 8125268 adds r2, r3, 0 b _081252BA .align 2, 0 -_08125294: .4byte gUnknown_30030F0 +_08125294: .4byte gMain _08125298: .4byte 0x00000439 _0812529C: .4byte gUnknown_2024284 _081252A0: @@ -13739,14 +13739,14 @@ sub_81256F8: @ 81256F8 ldrh r0, [r0] cmp r0, 0xAF bne _0812571C - ldr r0, _08125714 @ =gUnknown_3005008 + ldr r0, _08125714 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08125718 @ =0x00003108 adds r0, r1 b _08125726 .align 2, 0 _08125710: .4byte gUnknown_203AD30 -_08125714: .4byte gUnknown_3005008 +_08125714: .4byte gSaveBlock1Ptr _08125718: .4byte 0x00003108 _0812571C: ldr r1, _0812574C @ =gUnknown_82528BC @@ -14490,7 +14490,7 @@ sub_8125D2C: @ 8125D2C lsls r0, 24 cmp r0, 0 beq _08125D7E - ldr r0, _08125D68 @ =gUnknown_30030F0 + ldr r0, _08125D68 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -14511,7 +14511,7 @@ _08125D54: bl sub_81266A0 b _08125D7E .align 2, 0 -_08125D68: .4byte gUnknown_30030F0 +_08125D68: .4byte gMain _08125D6C: .4byte gUnknown_203B0A0 _08125D70: cmp r0, 0x2 @@ -15405,7 +15405,7 @@ sub_81264C8: @ 81264C8 lsrs r0, 24 cmp r0, 0x1 beq _08126514 - ldr r0, _0812651C @ =gUnknown_30030F0 + ldr r0, _0812651C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -15432,7 +15432,7 @@ _08126514: pop {r0} bx r0 .align 2, 0 -_0812651C: .4byte gUnknown_30030F0 +_0812651C: .4byte gMain _08126520: .4byte gUnknown_3005090 _08126524: .4byte sub_8126528 thumb_func_end sub_81264C8 @@ -15442,7 +15442,7 @@ sub_8126528: @ 8126528 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08126564 @ =gUnknown_30030F0 + ldr r0, _08126564 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -15469,7 +15469,7 @@ _0812655C: pop {r0} bx r0 .align 2, 0 -_08126564: .4byte gUnknown_30030F0 +_08126564: .4byte gMain _08126568: .4byte gUnknown_3005090 _0812656C: .4byte sub_81265F8 thumb_func_end sub_8126528 @@ -15552,7 +15552,7 @@ sub_81265F8: @ 81265F8 lsls r0, 24 cmp r0, 0 beq _0812669A - ldr r0, _08126650 @ =gUnknown_30030F0 + ldr r0, _08126650 @ =gMain ldrh r1, [r0, 0x2E] movs r6, 0x1 adds r0, r6, 0 @@ -15586,7 +15586,7 @@ _08126620: beq _0812666C b _08126694 .align 2, 0 -_08126650: .4byte gUnknown_30030F0 +_08126650: .4byte gMain _08126654: .4byte gUnknown_203B0A0 _08126658: .4byte gUnknown_2024284 _0812665C: .4byte 0x0000fffe @@ -16330,13 +16330,13 @@ GetItemEffectType: @ 8126C68 _08126C7C: cmp r1, 0xAF bne _08126C94 - ldr r0, _08126C8C @ =gUnknown_3005008 + ldr r0, _08126C8C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08126C90 @ =0x00003108 adds r4, r0, r1 b _08126C9C .align 2, 0 -_08126C8C: .4byte gUnknown_3005008 +_08126C8C: .4byte gSaveBlock1Ptr _08126C90: .4byte 0x00003108 _08126C94: ldr r1, _08126CC4 @ =gUnknown_82528BC @@ -16920,7 +16920,7 @@ sub_81270E0: @ 81270E0 bl GetMonData lsls r0, 24 lsrs r0, 24 - ldr r1, _08127130 @ =gUnknown_3005008 + ldr r1, _08127130 @ =gSaveBlock1Ptr lsls r2, r0, 3 adds r2, r0 lsls r2, 2 @@ -16937,7 +16937,7 @@ sub_81270E0: @ 81270E0 .align 2, 0 _08127128: .4byte gUnknown_203B0A0 _0812712C: .4byte gUnknown_2024284 -_08127130: .4byte gUnknown_3005008 +_08127130: .4byte gSaveBlock1Ptr _08127134: .4byte 0x00002cd0 _08127138: .4byte sub_812713C thumb_func_end sub_81270E0 @@ -17310,7 +17310,7 @@ sub_8127404: @ 8127404 ldr r1, _08127458 @ =gUnknown_203B0C0 movs r0, 0 strb r0, [r1] - ldr r2, _0812745C @ =gUnknown_3005008 + ldr r2, _0812745C @ =gSaveBlock1Ptr ldr r0, _08127460 @ =gUnknown_203AAC4 ldrh r1, [r0] adds r1, 0x6 @@ -17336,7 +17336,7 @@ sub_8127404: @ 8127404 _08127450: .4byte gUnknown_203B0A0 _08127454: .4byte gUnknown_2024284 _08127458: .4byte gUnknown_203B0C0 -_0812745C: .4byte gUnknown_3005008 +_0812745C: .4byte gSaveBlock1Ptr _08127460: .4byte gUnknown_203AAC4 _08127464: .4byte 0x00002cd0 _08127468: .4byte gUnknown_8416D17 @@ -17380,7 +17380,7 @@ sub_81274A8: @ 81274A8 str r0, [sp] ldr r0, _081274EC @ =sub_811FB28 str r0, [sp, 0x4] - ldr r0, _081274F0 @ =gUnknown_30030F0 + ldr r0, _081274F0 @ =gMain ldr r0, [r0, 0x8] str r0, [sp, 0x8] movs r0, 0x4 @@ -17403,7 +17403,7 @@ sub_81274A8: @ 81274A8 bx r0 .align 2, 0 _081274EC: .4byte sub_811FB28 -_081274F0: .4byte gUnknown_30030F0 +_081274F0: .4byte gMain _081274F4: .4byte gUnknown_203B0A0 _081274F8: .4byte sub_812773C thumb_func_end sub_81274A8 @@ -17491,7 +17491,7 @@ _08127584: bne _081275E0 b _0812757A _08127592: - ldr r0, _081275E8 @ =gUnknown_300500C + ldr r0, _081275E8 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _081275EC @ =0x0000055c adds r0, r2 @@ -17537,7 +17537,7 @@ _081275E2: pop {r1} bx r1 .align 2, 0 -_081275E8: .4byte gUnknown_300500C +_081275E8: .4byte gSaveBlock2Ptr _081275EC: .4byte 0x0000055c _081275F0: .4byte gUnknown_84020C4 _081275F4: .4byte 0x0000ffff @@ -17778,7 +17778,7 @@ sub_81277AC: @ 81277AC push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _081277E8 @ =gUnknown_30030F0 + ldr r0, _081277E8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -17805,7 +17805,7 @@ _081277E0: pop {r0} bx r0 .align 2, 0 -_081277E8: .4byte gUnknown_30030F0 +_081277E8: .4byte gMain _081277EC: .4byte gUnknown_3005090 _081277F0: .4byte sub_811FB28 thumb_func_end sub_81277AC @@ -19062,7 +19062,7 @@ sub_8128198: @ 8128198 str r0, [sp] ldr r0, _081281BC @ =sub_81281C4 str r0, [sp, 0x4] - ldr r0, _081281C0 @ =gUnknown_30030F0 + ldr r0, _081281C0 @ =gMain ldr r0, [r0, 0x8] str r0, [sp, 0x8] movs r0, 0x5 @@ -19075,7 +19075,7 @@ sub_8128198: @ 8128198 bx r0 .align 2, 0 _081281BC: .4byte sub_81281C4 -_081281C0: .4byte gUnknown_30030F0 +_081281C0: .4byte gMain thumb_func_end sub_8128198 thumb_func_start sub_81281C4 diff --git a/asm/play_time.s b/asm/play_time.s index 79047bf07..41d0f6239 100644 --- a/asm/play_time.s +++ b/asm/play_time.s @@ -10,7 +10,7 @@ PlayTimeCounter_Reset: @ 8054814 ldr r1, _08054830 @ =gUnknown_3000E7C movs r0, 0 strb r0, [r1] - ldr r2, _08054834 @ =gUnknown_300500C + ldr r2, _08054834 @ =gSaveBlock2Ptr ldr r3, [r2] movs r1, 0 movs r0, 0 @@ -23,7 +23,7 @@ PlayTimeCounter_Reset: @ 8054814 bx lr .align 2, 0 _08054830: .4byte gUnknown_3000E7C -_08054834: .4byte gUnknown_300500C +_08054834: .4byte gSaveBlock2Ptr thumb_func_end PlayTimeCounter_Reset thumb_func_start PlayTimeCounter_Start @@ -32,7 +32,7 @@ PlayTimeCounter_Start: @ 8054838 ldr r1, _08054854 @ =gUnknown_3000E7C movs r0, 0x1 strb r0, [r1] - ldr r0, _08054858 @ =gUnknown_300500C + ldr r0, _08054858 @ =gSaveBlock2Ptr ldr r0, [r0] ldrh r1, [r0, 0xE] ldr r0, _0805485C @ =0x000003e7 @@ -44,7 +44,7 @@ _08054850: bx r0 .align 2, 0 _08054854: .4byte gUnknown_3000E7C -_08054858: .4byte gUnknown_300500C +_08054858: .4byte gSaveBlock2Ptr _0805485C: .4byte 0x000003e7 thumb_func_end PlayTimeCounter_Start @@ -65,7 +65,7 @@ PlayTimeCounter_Update: @ 805486C ldrb r0, [r0] cmp r0, 0x1 bne _080548C4 - ldr r2, _080548CC @ =gUnknown_300500C + ldr r2, _080548CC @ =gSaveBlock2Ptr ldr r0, [r2] ldrb r1, [r0, 0x12] adds r1, 0x1 @@ -108,7 +108,7 @@ _080548C4: bx r0 .align 2, 0 _080548C8: .4byte gUnknown_3000E7C -_080548CC: .4byte gUnknown_300500C +_080548CC: .4byte gSaveBlock2Ptr _080548D0: .4byte 0x03e70000 thumb_func_end PlayTimeCounter_Update @@ -117,7 +117,7 @@ PlayTimeCounter_SetToMax: @ 80548D4 ldr r1, _080548F0 @ =gUnknown_3000E7C movs r0, 0x2 strb r0, [r1] - ldr r2, _080548F4 @ =gUnknown_300500C + ldr r2, _080548F4 @ =gSaveBlock2Ptr ldr r3, [r2] ldr r0, _080548F8 @ =0x000003e7 strh r0, [r3, 0xE] @@ -130,7 +130,7 @@ PlayTimeCounter_SetToMax: @ 80548D4 bx lr .align 2, 0 _080548F0: .4byte gUnknown_3000E7C -_080548F4: .4byte gUnknown_300500C +_080548F4: .4byte gSaveBlock2Ptr _080548F8: .4byte 0x000003e7 thumb_func_end PlayTimeCounter_SetToMax diff --git a/asm/player_pc.s b/asm/player_pc.s index 58870c6b1..8de67a2d8 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -535,7 +535,7 @@ sub_80EBAB8: @ 80EBAB8 lsls r0, 24 lsrs r5, r0, 24 adds r4, r5, 0 - ldr r2, _080EBAE4 @ =gUnknown_30030F0 + ldr r2, _080EBAE4 @ =gMain ldrh r1, [r2, 0x30] movs r0, 0x40 ands r0, r1 @@ -551,7 +551,7 @@ sub_80EBAB8: @ 80EBAB8 negs r0, r0 b _080EBB04 .align 2, 0 -_080EBAE4: .4byte gUnknown_30030F0 +_080EBAE4: .4byte gMain _080EBAE8: movs r0, 0x80 ands r0, r1 @@ -922,7 +922,7 @@ sub_80EBDC8: @ 80EBDC8 push {r4,lr} movs r2, 0 movs r1, 0x6 - ldr r0, _080EBDFC @ =gUnknown_3005008 + ldr r0, _080EBDFC @ =gSaveBlock1Ptr ldr r3, [r0] ldr r4, _080EBE00 @ =0x00002cf0 _080EBDD4: @@ -948,7 +948,7 @@ _080EBDEA: pop {r1} bx r1 .align 2, 0 -_080EBDFC: .4byte gUnknown_3005008 +_080EBDFC: .4byte gSaveBlock1Ptr _080EBE00: .4byte 0x00002cf0 thumb_func_end sub_80EBDC8 @@ -968,7 +968,7 @@ _080EBE12: mov r8, r1 cmp r4, 0xF bhi _080EBE8A - ldr r0, _080EBEA4 @ =gUnknown_3005008 + ldr r0, _080EBEA4 @ =gSaveBlock1Ptr mov r10, r0 lsls r0, r2, 3 adds r0, r2 @@ -1039,7 +1039,7 @@ _080EBE8A: pop {r0} bx r0 .align 2, 0 -_080EBEA4: .4byte gUnknown_3005008 +_080EBEA4: .4byte gSaveBlock1Ptr _080EBEA8: .4byte 0x00002cd0 _080EBEAC: .4byte 0x00002cf0 thumb_func_end sub_80EBE04 @@ -1203,7 +1203,7 @@ sub_80EBFFC: @ 80EBFFC lsls r0, 24 lsrs r5, r0, 24 ldr r4, _080EC054 @ =gUnknown_2021CD0 - ldr r2, _080EC058 @ =gUnknown_3005008 + ldr r2, _080EC058 @ =gSaveBlock1Ptr ldr r1, _080EC05C @ =gUnknown_203AAC4 ldrh r0, [r1] adds r0, 0x6 @@ -1244,7 +1244,7 @@ _080EC044: b _080EC06C .align 2, 0 _080EC054: .4byte gUnknown_2021CD0 -_080EC058: .4byte gUnknown_3005008 +_080EC058: .4byte gSaveBlock1Ptr _080EC05C: .4byte gUnknown_203AAC4 _080EC060: .4byte 0x00002ce2 _080EC064: @@ -1439,7 +1439,7 @@ sub_80EC1D4: @ 80EC1D4 bne _080EC216 bl sub_810EDB0 bl sub_80563F0 - ldr r2, _080EC220 @ =gUnknown_3005008 + ldr r2, _080EC220 @ =gSaveBlock1Ptr ldr r1, _080EC224 @ =gUnknown_203AAC4 ldrh r0, [r1] adds r0, 0x6 @@ -1463,7 +1463,7 @@ _080EC216: bx r0 .align 2, 0 _080EC21C: .4byte gUnknown_2037AB8 -_080EC220: .4byte gUnknown_3005008 +_080EC220: .4byte gSaveBlock1Ptr _080EC224: .4byte gUnknown_203AAC4 _080EC228: .4byte 0x00002cd0 _080EC22C: .4byte sub_80EC2C0 @@ -1634,7 +1634,7 @@ sub_80EC364: @ 80EC364 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r2, _080EC3A0 @ =gUnknown_3005008 + ldr r2, _080EC3A0 @ =gSaveBlock1Ptr ldr r4, _080EC3A4 @ =gUnknown_203AAC4 ldrh r1, [r4] adds r1, 0x6 @@ -1660,7 +1660,7 @@ sub_80EC364: @ 80EC364 bl DisplayItemMessageOnField b _080EC3EA .align 2, 0 -_080EC3A0: .4byte gUnknown_3005008 +_080EC3A0: .4byte gSaveBlock1Ptr _080EC3A4: .4byte gUnknown_203AAC4 _080EC3A8: .4byte 0x00002cd0 _080EC3AC: .4byte gUnknown_8417858 diff --git a/asm/pokeball.s b/asm/pokeball.s index e54e50bd1..ac9ddff68 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -146,7 +146,7 @@ _0804AA54: .4byte gUnknown_2024284 _0804AA58: .4byte gUnknown_2022B4C _0804AA5C: .4byte gUnknown_202273C _0804AA60: - ldr r0, _0804AAB8 @ =gUnknown_300500C + ldr r0, _0804AAB8 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] mov r10, r0 @@ -190,7 +190,7 @@ _0804AA68: movs r4, 0x40 b _0804AACE .align 2, 0 -_0804AAB8: .4byte gUnknown_300500C +_0804AAB8: .4byte gSaveBlock2Ptr _0804AABC: .4byte gUnknown_82606F4 _0804AAC0: .4byte gUnknown_202063C _0804AAC4: .4byte gUnknown_2022B4C @@ -1202,7 +1202,7 @@ sub_804B268: @ 804B268 strh r0, [r6, 0x2E] ldr r0, _0804B2FC @ =HandleBallAnimEnd str r0, [r6, 0x1C] - ldr r0, _0804B300 @ =gUnknown_30030F0 + ldr r0, _0804B300 @ =gMain ldr r1, _0804B304 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1230,7 +1230,7 @@ _0804B2DA: b _0804B324 .align 2, 0 _0804B2FC: .4byte HandleBallAnimEnd -_0804B300: .4byte gUnknown_30030F0 +_0804B300: .4byte gMain _0804B304: .4byte 0x00000439 _0804B308: .4byte gUnknown_2023BCE _0804B30C: .4byte gUnknown_202402C @@ -1631,7 +1631,7 @@ _0804B600: bl DestroySprite adds r0, r6, 0 bl DestroySpriteAndFreeResources - ldr r0, _0804B678 @ =gUnknown_30030F0 + ldr r0, _0804B678 @ =gMain ldr r1, _0804B67C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1659,7 +1659,7 @@ _0804B666: _0804B66C: .4byte 0x0000013b _0804B670: .4byte gUnknown_202063C _0804B674: .4byte gUnknown_2023D44 -_0804B678: .4byte gUnknown_30030F0 +_0804B678: .4byte gMain _0804B67C: .4byte 0x00000439 _0804B680: .4byte gUnknown_2024018 thumb_func_end sub_804B5C8 diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index e7f305065..d8114ea2b 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -320,7 +320,7 @@ _08102794: .4byte sub_81024D4 sub_8102798: @ 8102798 push {r4,lr} sub sp, 0x4 - ldr r0, _081027B4 @ =gUnknown_30030F0 + ldr r0, _081027B4 @ =gMain movs r1, 0x87 lsls r1, 3 adds r4, r0, r1 @@ -333,7 +333,7 @@ sub_8102798: @ 8102798 beq _081027BE b _0810284A .align 2, 0 -_081027B4: .4byte gUnknown_30030F0 +_081027B4: .4byte gMain _081027B8: cmp r1, 0x2 beq _081027F2 @@ -628,7 +628,7 @@ _08102A14: adds r1, 0x62 movs r2, 0 bl get_coro_args_x18_x1A - ldr r0, _08102A4C @ =gUnknown_30030F0 + ldr r0, _08102A4C @ =gMain ldrh r1, [r0, 0x2E] movs r3, 0x1 movs r0, 0x1 @@ -645,7 +645,7 @@ _08102A14: bls _08102A62 b _08102AA4 .align 2, 0 -_08102A4C: .4byte gUnknown_30030F0 +_08102A4C: .4byte gMain _08102A50: cmp r1, 0xE beq _08102AA4 @@ -1386,7 +1386,7 @@ _08103098: adds r1, 0x62 movs r2, 0 bl get_coro_args_x18_x1A - ldr r0, _081030F0 @ =gUnknown_30030F0 + ldr r0, _081030F0 @ =gMain ldrh r1, [r0, 0x2E] movs r3, 0x1 adds r0, r3, 0 @@ -1416,7 +1416,7 @@ _08103098: movs r0, 0x7 b _0810316A .align 2, 0 -_081030F0: .4byte gUnknown_30030F0 +_081030F0: .4byte gMain _081030F4: .4byte 0xffff7fff _081030F8: .4byte 0x0000ffff _081030FC: @@ -1707,7 +1707,7 @@ _08103362: adds r1, 0x62 movs r2, 0 bl get_coro_args_x18_x1A - ldr r0, _081033C4 @ =gUnknown_30030F0 + ldr r0, _081033C4 @ =gMain ldrh r1, [r0, 0x2E] movs r2, 0x1 adds r0, r2, 0 @@ -1742,7 +1742,7 @@ _08103362: strb r0, [r1, 0x1] b _0810344C .align 2, 0 -_081033C4: .4byte gUnknown_30030F0 +_081033C4: .4byte gMain _081033C8: .4byte 0xffff7fff _081033CC: .4byte 0x0000ffff _081033D0: @@ -2811,7 +2811,7 @@ _08103C84: adds r1, 0x62 strh r0, [r1] movs r4, 0 - ldr r0, _08103CF8 @ =gUnknown_30030F0 + ldr r0, _08103CF8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2843,9 +2843,9 @@ _08103C84: movs r0, 0xC b _08104226 .align 2, 0 -_08103CF8: .4byte gUnknown_30030F0 +_08103CF8: .4byte gMain _08103CFC: - ldr r2, _08103D28 @ =gUnknown_30030F0 + ldr r2, _08103D28 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x80 lsls r0, 1 @@ -2868,7 +2868,7 @@ _08103CFC: strb r0, [r1] b _08103D60 .align 2, 0 -_08103D28: .4byte gUnknown_30030F0 +_08103D28: .4byte gMain _08103D2C: .4byte gUnknown_203ACF0 _08103D30: movs r4, 0x1 @@ -3024,7 +3024,7 @@ _08103E4A: movs r0, 0x6 strb r0, [r1, 0x1] _08103E4E: - ldr r0, _08103E68 @ =gUnknown_30030F0 + ldr r0, _08103E68 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -3038,7 +3038,7 @@ _08103E5C: b _08104226 .align 2, 0 _08103E64: .4byte gUnknown_203ACF0 -_08103E68: .4byte gUnknown_30030F0 +_08103E68: .4byte gMain _08103E6C: ldr r0, [r5] adds r0, 0x60 @@ -3224,7 +3224,7 @@ _08103FA8: movs r0, 0x11 b _08104226 _08103FF0: - ldr r0, _08104024 @ =gUnknown_30030F0 + ldr r0, _08104024 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3247,7 +3247,7 @@ _08103FF0: movs r0, 0x15 b _08104226 .align 2, 0 -_08104024: .4byte gUnknown_30030F0 +_08104024: .4byte gMain _08104028: .4byte gUnknown_203ACF0 _0810402C: movs r0, 0x2 @@ -3361,7 +3361,7 @@ _081040F4: .align 2, 0 _08104114: .4byte gUnknown_203ACF0 _08104118: - ldr r0, _08104174 @ =gUnknown_30030F0 + ldr r0, _08104174 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3401,7 +3401,7 @@ _08104118: movs r0, 0x1A b _08104226 .align 2, 0 -_08104174: .4byte gUnknown_30030F0 +_08104174: .4byte gMain _08104178: .4byte gUnknown_203ACF0 _0810417C: movs r0, 0x2 @@ -3532,7 +3532,7 @@ _08104280: .4byte gUnknown_203ACF0 thumb_func_start sub_8104284 sub_8104284: @ 8104284 push {lr} - ldr r0, _081042B0 @ =gUnknown_300500C + ldr r0, _081042B0 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -3541,7 +3541,7 @@ sub_8104284: @ 8104284 ble _081042E6 cmp r0, 0x2 bne _081042E6 - ldr r0, _081042B4 @ =gUnknown_30030F0 + ldr r0, _081042B4 @ =gMain ldr r2, [r0, 0x2C] ldr r1, _081042B8 @ =0x00200100 adds r0, r2, 0 @@ -3554,12 +3554,12 @@ sub_8104284: @ 8104284 beq _081042E2 b _081042E6 .align 2, 0 -_081042B0: .4byte gUnknown_300500C -_081042B4: .4byte gUnknown_30030F0 +_081042B0: .4byte gSaveBlock2Ptr +_081042B4: .4byte gMain _081042B8: .4byte 0x00200100 _081042BC: .4byte 0x00100100 _081042C0: - ldr r0, _081042D4 @ =gUnknown_30030F0 + ldr r0, _081042D4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 lsls r0, 2 @@ -3570,7 +3570,7 @@ _081042CE: movs r0, 0x1 b _081042E8 .align 2, 0 -_081042D4: .4byte gUnknown_30030F0 +_081042D4: .4byte gMain _081042D8: movs r0, 0x80 lsls r0, 1 @@ -3712,7 +3712,7 @@ _0810440C: .4byte 0xffff7fff _08104410: .4byte 0x0000ffff _08104414: .4byte gUnknown_203ACF0 _08104418: - ldr r0, _0810444C @ =gUnknown_30030F0 + ldr r0, _0810444C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3735,7 +3735,7 @@ _08104418: movs r0, 0x7 b _08104654 .align 2, 0 -_0810444C: .4byte gUnknown_30030F0 +_0810444C: .4byte gMain _08104450: .4byte gUnknown_203ACF0 _08104454: movs r0, 0x2 @@ -3784,7 +3784,7 @@ _081044B4: .4byte 0xffff7fff _081044B8: .4byte 0x0000ffff _081044BC: .4byte gUnknown_203ACF0 _081044C0: - ldr r0, _081044F8 @ =gUnknown_30030F0 + ldr r0, _081044F8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -3811,7 +3811,7 @@ _081044DA: movs r0, 0x6 b _08104654 .align 2, 0 -_081044F8: .4byte gUnknown_30030F0 +_081044F8: .4byte gMain _081044FC: .4byte 0xffff7fff _08104500: .4byte 0x0000ffff _08104504: .4byte gUnknown_203ACF0 @@ -3854,7 +3854,7 @@ _08104538: .align 2, 0 _08104558: .4byte gUnknown_203ACF0 _0810455C: - ldr r0, _08104580 @ =gUnknown_30030F0 + ldr r0, _08104580 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3872,7 +3872,7 @@ _0810455C: movs r0, 0xC b _08104654 .align 2, 0 -_08104580: .4byte gUnknown_30030F0 +_08104580: .4byte gMain _08104584: .4byte 0xffff7fff _08104588: .4byte 0x0000ffff _0810458C: .4byte gUnknown_203ACF0 @@ -4448,19 +4448,19 @@ sub_81049CC: @ 81049CC lsls r0, 1 cmp r1, r0 bne _081049F4 - ldr r0, _081049E4 @ =gUnknown_300500C + ldr r0, _081049E4 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r0, [r0, 0x20] b _081049F6 .align 2, 0 -_081049E4: .4byte gUnknown_300500C +_081049E4: .4byte gSaveBlock2Ptr _081049E8: - ldr r0, _081049F0 @ =gUnknown_300500C + ldr r0, _081049F0 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r0, [r0, 0x1C] b _081049F6 .align 2, 0 -_081049F0: .4byte gUnknown_300500C +_081049F0: .4byte gSaveBlock2Ptr _081049F4: movs r0, 0 _081049F6: @@ -4604,7 +4604,7 @@ _08104AF4: beq _08104BA0 b _08104BB0 _08104AFE: - ldr r0, _08104B10 @ =gUnknown_300500C + ldr r0, _08104B10 @ =gSaveBlock2Ptr ldr r0, [r0] adds r0, 0x5C adds r0, r4 @@ -4614,9 +4614,9 @@ _08104AFE: beq _08104BB0 b _08104B34 .align 2, 0 -_08104B10: .4byte gUnknown_300500C +_08104B10: .4byte gSaveBlock2Ptr _08104B14: - ldr r0, _08104B5C @ =gUnknown_300500C + ldr r0, _08104B5C @ =gSaveBlock2Ptr ldr r2, [r0] adds r0, r2, 0 adds r0, 0x28 @@ -4633,7 +4633,7 @@ _08104B14: cmp r1, r0 bne _08104BB0 _08104B34: - ldr r0, _08104B60 @ =gUnknown_3005008 + ldr r0, _08104B60 @ =gSaveBlock1Ptr ldr r2, [r0] movs r3, 0xBF lsls r3, 3 @@ -4654,11 +4654,11 @@ _08104B34: mov r12, r0 b _08104BB0 .align 2, 0 -_08104B5C: .4byte gUnknown_300500C -_08104B60: .4byte gUnknown_3005008 +_08104B5C: .4byte gSaveBlock2Ptr +_08104B60: .4byte gSaveBlock1Ptr _08104B64: .4byte 0x00003a18 _08104B68: - ldr r0, _08104B94 @ =gUnknown_300500C + ldr r0, _08104B94 @ =gSaveBlock2Ptr ldr r1, [r0] adds r1, 0x5C adds r1, r4 @@ -4666,7 +4666,7 @@ _08104B68: adds r0, r6, 0 orrs r0, r2 strb r0, [r1] - ldr r3, _08104B98 @ =gUnknown_3005008 + ldr r3, _08104B98 @ =gSaveBlock1Ptr ldr r1, [r3] movs r0, 0xBF lsls r0, 3 @@ -4681,11 +4681,11 @@ _08104B68: adds r1, r3 b _08104BA6 .align 2, 0 -_08104B94: .4byte gUnknown_300500C -_08104B98: .4byte gUnknown_3005008 +_08104B94: .4byte gSaveBlock2Ptr +_08104B98: .4byte gSaveBlock1Ptr _08104B9C: .4byte 0x00003a18 _08104BA0: - ldr r0, _08104BB8 @ =gUnknown_300500C + ldr r0, _08104BB8 @ =gSaveBlock2Ptr ldr r1, [r0] adds r1, 0x28 _08104BA6: @@ -4700,7 +4700,7 @@ _08104BB0: pop {r1} bx r1 .align 2, 0 -_08104BB8: .4byte gUnknown_300500C +_08104BB8: .4byte gSaveBlock2Ptr thumb_func_end sub_8104AB0 thumb_func_start sub_8104BBC @@ -7888,7 +7888,7 @@ _08106534: movs r2, 0 movs r3, 0 bl SetOamMatrix - ldr r0, _081066CC @ =gUnknown_300500C + ldr r0, _081066CC @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] movs r1, 0x1 @@ -7980,7 +7980,7 @@ _081066BC: .4byte gUnknown_8452368 _081066C0: .4byte 0x0000ffff _081066C4: .4byte gUnknown_202063C _081066C8: .4byte gUnknown_844E850 -_081066CC: .4byte gUnknown_300500C +_081066CC: .4byte gSaveBlock2Ptr _081066D0: ldr r0, [r7] adds r0, 0x58 @@ -8574,7 +8574,7 @@ _08106B30: .4byte gUnknown_203ACF0 thumb_func_start sub_8106B34 sub_8106B34: @ 8106B34 push {lr} - ldr r0, _08106B58 @ =gUnknown_30030F0 + ldr r0, _08106B58 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x8 ands r0, r1 @@ -8592,7 +8592,7 @@ _08106B54: pop {r0} bx r0 .align 2, 0 -_08106B58: .4byte gUnknown_30030F0 +_08106B58: .4byte gMain _08106B5C: .4byte gUnknown_203ACF0 thumb_func_end sub_8106B34 @@ -8719,7 +8719,7 @@ _08106C5C: _08106C62: bl sub_8106014 bl sub_8104E90 - ldr r0, _08106C7C @ =gUnknown_30030F0 + ldr r0, _08106C7C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -8729,7 +8729,7 @@ _08106C62: ldr r1, [r0] b _08106E66 .align 2, 0 -_08106C7C: .4byte gUnknown_30030F0 +_08106C7C: .4byte gMain _08106C80: .4byte gUnknown_203ACF0 _08106C84: bl sub_8102798 @@ -8946,7 +8946,7 @@ _08106E10: movs r0, 0xB b _08106E68 _08106E58: - ldr r0, _08106E74 @ =gUnknown_30030F0 + ldr r0, _08106E74 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -8963,7 +8963,7 @@ _08106E6A: pop {r0} bx r0 .align 2, 0 -_08106E74: .4byte gUnknown_30030F0 +_08106E74: .4byte gMain thumb_func_end sub_8106BE8 thumb_func_start sub_8106E78 diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s index 6efd98cac..7b1894339 100644 --- a/asm/pokemon_1.s +++ b/asm/pokemon_1.s @@ -262,7 +262,7 @@ _0803DB6C: str r0, [sp, 0x18] b _0803DB92 _0803DB78: - ldr r0, _0803DCBC @ =gUnknown_300500C + ldr r0, _0803DCBC @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0xA] ldrb r0, [r2, 0xB] @@ -296,11 +296,11 @@ _0803DB92: movs r1, 0x2 mov r2, sp bl sub_80404D0 - ldr r2, _0803DCC0 @ =gUnknown_81E9F11 + ldr r2, _0803DCC0 @ =gGameLanguage adds r0, r7, 0 movs r1, 0x3 bl sub_80404D0 - ldr r5, _0803DCBC @ =gUnknown_300500C + ldr r5, _0803DCBC @ =gSaveBlock2Ptr ldr r2, [r5] adds r0, r7, 0 movs r1, 0x7 @@ -353,7 +353,7 @@ _0803DB92: movs r1, 0x24 add r2, sp, 0x10 bl sub_80404D0 - ldr r2, _0803DCCC @ =gUnknown_81E9F10 + ldr r2, _0803DCCC @ =gGameVersion adds r0, r7, 0 movs r1, 0x25 bl sub_80404D0 @@ -403,11 +403,11 @@ _0803DB92: bl sub_80404D0 b _0803DD58 .align 2, 0 -_0803DCBC: .4byte gUnknown_300500C -_0803DCC0: .4byte gUnknown_81E9F11 +_0803DCBC: .4byte gSaveBlock2Ptr +_0803DCC0: .4byte gGameLanguage _0803DCC4: .4byte gUnknown_8254784 _0803DCC8: .4byte gUnknown_8253AE4 -_0803DCCC: .4byte gUnknown_81E9F10 +_0803DCCC: .4byte gGameVersion _0803DCD0: bl Random lsls r0, 16 diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s index f5a9e738e..e18dca3bc 100644 --- a/asm/pokemon_2.s +++ b/asm/pokemon_2.s @@ -2797,7 +2797,7 @@ CopyMon: @ 8040B08 GiveMonToPlayer: @ 8040B14 push {r4-r6,lr} adds r6, r0, 0 - ldr r4, _08040B40 @ =gUnknown_300500C + ldr r4, _08040B40 @ =gSaveBlock2Ptr ldr r2, [r4] movs r1, 0x7 bl sub_804037C @@ -2814,7 +2814,7 @@ GiveMonToPlayer: @ 8040B14 movs r5, 0 b _08040B46 .align 2, 0 -_08040B40: .4byte gUnknown_300500C +_08040B40: .4byte gSaveBlock2Ptr _08040B44: adds r5, 0x1 _08040B46: diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index b84d9b18b..79621efa3 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -28,7 +28,7 @@ sub_80423A4: @ 80423A4 movs r1, 0x37 mov r2, sp bl sub_804037C - ldr r0, _080423FC @ =gUnknown_30030F0 + ldr r0, _080423FC @ =gMain ldr r1, _08042400 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -50,7 +50,7 @@ _080423F6: movs r0, 0 b _0804240A .align 2, 0 -_080423FC: .4byte gUnknown_30030F0 +_080423FC: .4byte gMain _08042400: .4byte 0x00000439 _08042404: .4byte gUnknown_2023BE4 _08042408: @@ -101,7 +101,7 @@ _08042458: ldr r0, _080424B4 @ =gUnknown_2024004 ldrb r2, [r0] strb r2, [r1] - ldr r0, _080424B8 @ =gUnknown_30030F0 + ldr r0, _080424B8 @ =gMain ldr r1, _080424BC @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -143,7 +143,7 @@ _08042458: .align 2, 0 _080424B0: .4byte gUnknown_2023D6F _080424B4: .4byte gUnknown_2024004 -_080424B8: .4byte gUnknown_30030F0 +_080424B8: .4byte gMain _080424BC: .4byte 0x00000439 _080424C0: .4byte gUnknown_2023BC4 _080424C4: .4byte gUnknown_2023BCC @@ -200,7 +200,7 @@ _08042528: cmp r2, 0xAF bne _0804257C _0804252E: - ldr r0, _08042550 @ =gUnknown_30030F0 + ldr r0, _08042550 @ =gMain ldr r1, _08042554 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -217,19 +217,19 @@ _0804252E: adds r0, r1 b _0804257C .align 2, 0 -_08042550: .4byte gUnknown_30030F0 +_08042550: .4byte gMain _08042554: .4byte 0x00000439 _08042558: .4byte gUnknown_2023BC4 _0804255C: .4byte gUnknown_2023F5C _08042560: - ldr r0, _0804256C @ =gUnknown_3005008 + ldr r0, _0804256C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _08042570 @ =0x00003108 adds r2, r0, r2 str r2, [sp, 0x14] b _0804257E .align 2, 0 -_0804256C: .4byte gUnknown_3005008 +_0804256C: .4byte gSaveBlock1Ptr _08042570: .4byte 0x00003108 _08042574: movs r0, 0 @@ -273,7 +273,7 @@ _080425B0: adds r5, r2, 0 cmp r0, 0 beq _080425F4 - ldr r0, _0804263C @ =gUnknown_30030F0 + ldr r0, _0804263C @ =gMain ldr r2, _08042640 @ =0x00000439 adds r0, r2 ldrb r1, [r0] @@ -338,7 +338,7 @@ _08042628: asrs r0, 24 b _080426F2 .align 2, 0 -_0804263C: .4byte gUnknown_30030F0 +_0804263C: .4byte gMain _08042640: .4byte 0x00000439 _08042644: .4byte gUnknown_2023BE4 _08042648: .4byte gUnknown_2023BC4 @@ -568,7 +568,7 @@ _080427F6: bne _08042802 b _08042BCA _08042802: - ldr r0, _08042844 @ =gUnknown_30030F0 + ldr r0, _08042844 @ =gMain ldr r1, _08042848 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -602,7 +602,7 @@ _08042832: _08042838: .4byte gUnknown_2023DE4 _0804283C: .4byte gUnknown_2023BC4 _08042840: .4byte 0x00000f88 -_08042844: .4byte gUnknown_30030F0 +_08042844: .4byte gMain _08042848: .4byte 0x00000439 _0804284C: .4byte gUnknown_2023BE4 _08042850: @@ -1306,7 +1306,7 @@ sub_8042DA4: @ 8042DA4 lsrs r0, 16 cmp r0, 0xAF bne _08042DF8 - ldr r0, _08042DD4 @ =gUnknown_30030F0 + ldr r0, _08042DD4 @ =gMain ldr r1, _08042DD8 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1323,18 +1323,18 @@ sub_8042DA4: @ 8042DA4 adds r7, r0, r1 b _08042E04 .align 2, 0 -_08042DD4: .4byte gUnknown_30030F0 +_08042DD4: .4byte gMain _08042DD8: .4byte 0x00000439 _08042DDC: .4byte gUnknown_2024004 _08042DE0: .4byte gUnknown_2023F5C _08042DE4: - ldr r0, _08042DF0 @ =gUnknown_3005008 + ldr r0, _08042DF0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08042DF4 @ =0x00003108 adds r7, r0, r1 b _08042E02 .align 2, 0 -_08042DF0: .4byte gUnknown_3005008 +_08042DF0: .4byte gSaveBlock1Ptr _08042DF4: .4byte 0x00003108 _08042DF8: ldr r1, _08042E3C @ =gUnknown_82528BC @@ -1486,14 +1486,14 @@ sub_8042EC4: @ 8042EC4 ldrh r0, [r0] cmp r0, 0xAF bne _08042F38 - ldr r0, _08042F30 @ =gUnknown_3005008 + ldr r0, _08042F30 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08042F34 @ =0x0000311a adds r0, r1 ldrb r0, [r0] b _08042F40 .align 2, 0 -_08042F30: .4byte gUnknown_3005008 +_08042F30: .4byte gSaveBlock1Ptr _08042F34: .4byte 0x0000311a _08042F38: bl ItemId_GetHoldEffect @@ -2598,7 +2598,7 @@ sub_80436F8: @ 80436F8 lsrs r0, 16 cmp r0, 0xAF bne _08043758 - ldr r0, _08043738 @ =gUnknown_30030F0 + ldr r0, _08043738 @ =gMain ldr r1, _0804373C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -2610,18 +2610,18 @@ sub_80436F8: @ 80436F8 ldrb r4, [r0, 0x7] b _08043760 .align 2, 0 -_08043738: .4byte gUnknown_30030F0 +_08043738: .4byte gMain _0804373C: .4byte 0x00000439 _08043740: .4byte gUnknown_2023F54 _08043744: - ldr r0, _08043750 @ =gUnknown_3005008 + ldr r0, _08043750 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08043754 @ =0x0000311a adds r0, r1 ldrb r4, [r0] b _08043760 .align 2, 0 -_08043750: .4byte gUnknown_3005008 +_08043750: .4byte gSaveBlock1Ptr _08043754: .4byte 0x0000311a _08043758: bl ItemId_GetHoldEffect @@ -2917,7 +2917,7 @@ _0804397C: lsrs r0, 16 cmp r0, 0xAF bne _080439C8 - ldr r0, _080439A8 @ =gUnknown_30030F0 + ldr r0, _080439A8 @ =gMain ldr r1, _080439AC @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -2930,18 +2930,18 @@ _0804397C: b _080439D0 .align 2, 0 _080439A4: .4byte gUnknown_8254784 -_080439A8: .4byte gUnknown_30030F0 +_080439A8: .4byte gMain _080439AC: .4byte 0x00000439 _080439B0: .4byte gUnknown_2023F54 _080439B4: - ldr r0, _080439C0 @ =gUnknown_3005008 + ldr r0, _080439C0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _080439C4 @ =0x0000311a adds r0, r2 ldrb r0, [r0] b _080439D0 .align 2, 0 -_080439C0: .4byte gUnknown_3005008 +_080439C0: .4byte gSaveBlock1Ptr _080439C4: .4byte 0x0000311a _080439C8: bl ItemId_GetHoldEffect @@ -4155,7 +4155,7 @@ IsTradedMon: @ 804425C IsOtherTrainer: @ 8044288 push {r4,r5,lr} adds r5, r1, 0 - ldr r1, _080442CC @ =gUnknown_300500C + ldr r1, _080442CC @ =gSaveBlock2Ptr ldr r3, [r1] ldrb r2, [r3, 0xA] ldrb r1, [r3, 0xB] @@ -4189,7 +4189,7 @@ _080442C6: movs r0, 0 b _080442D2 .align 2, 0 -_080442CC: .4byte gUnknown_300500C +_080442CC: .4byte gSaveBlock2Ptr _080442D0: movs r0, 0x1 _080442D2: @@ -4557,7 +4557,7 @@ _08044590: ands r0, r1 cmp r0, 0 beq _08044632 - ldr r0, _080445B4 @ =gUnknown_30030F0 + ldr r0, _080445B4 @ =gMain ldr r1, _080445B8 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4568,7 +4568,7 @@ _08044590: b _0804461A .align 2, 0 _080445B0: .4byte gUnknown_2022B4C -_080445B4: .4byte gUnknown_30030F0 +_080445B4: .4byte gMain _080445B8: .4byte 0x00000439 _080445BC: ldr r0, _080445E8 @ =gUnknown_2022B4C @@ -4577,7 +4577,7 @@ _080445BC: ands r0, r1 cmp r0, 0 beq _08044632 - ldr r0, _080445EC @ =gUnknown_30030F0 + ldr r0, _080445EC @ =gMain ldr r1, _080445F0 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4594,7 +4594,7 @@ _080445BC: b _08044632 .align 2, 0 _080445E8: .4byte gUnknown_2022B4C -_080445EC: .4byte gUnknown_30030F0 +_080445EC: .4byte gMain _080445F0: .4byte 0x00000439 _080445F4: ldr r0, _08044638 @ =gUnknown_2022B4C @@ -4604,7 +4604,7 @@ _080445F4: ands r0, r3 cmp r0, 0 beq _08044648 - ldr r0, _0804463C @ =gUnknown_30030F0 + ldr r0, _0804463C @ =gMain ldr r1, _08044640 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4633,11 +4633,11 @@ _08044632: b _08044666 .align 2, 0 _08044638: .4byte gUnknown_2022B4C -_0804463C: .4byte gUnknown_30030F0 +_0804463C: .4byte gMain _08044640: .4byte 0x00000439 _08044644: .4byte gUnknown_202273C _08044648: - ldr r0, _0804466C @ =gUnknown_30030F0 + ldr r0, _0804466C @ =gMain ldr r1, _08044670 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -4658,7 +4658,7 @@ _08044666: pop {r1} bx r1 .align 2, 0 -_0804466C: .4byte gUnknown_30030F0 +_0804466C: .4byte gMain _08044670: .4byte 0x00000439 thumb_func_end sub_804455C @@ -4960,7 +4960,7 @@ sub_8044898: @ 8044898 lsrs r0, 16 cmp r0, 0xC9 bne _080448D8 - ldr r0, _080448F4 @ =gUnknown_300500C + ldr r0, _080448F4 @ =gSaveBlock2Ptr ldr r0, [r0] str r7, [r0, 0x1C] _080448D8: @@ -4971,7 +4971,7 @@ _080448D8: lsls r1, 17 cmp r0, r1 bne _080448EE - ldr r0, _080448F4 @ =gUnknown_300500C + ldr r0, _080448F4 @ =gSaveBlock2Ptr ldr r0, [r0] str r7, [r0, 0x20] _080448EE: @@ -4979,7 +4979,7 @@ _080448EE: pop {r0} bx r0 .align 2, 0 -_080448F4: .4byte gUnknown_300500C +_080448F4: .4byte gSaveBlock2Ptr thumb_func_end sub_8044898 thumb_func_start sub_80448F8 diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s index e48b72e4b..235c46f8c 100644 --- a/asm/pokemon_item_effect.s +++ b/asm/pokemon_item_effect.s @@ -63,7 +63,7 @@ sub_80413E4: @ 80413E4 lsrs r0, 16 cmp r0, 0xAF bne _08041474 - ldr r0, _08041450 @ =gUnknown_30030F0 + ldr r0, _08041450 @ =gMain ldr r4, _08041454 @ =0x00000439 adds r0, r4 ldrb r1, [r0] @@ -81,19 +81,19 @@ sub_80413E4: @ 80413E4 ldrb r0, [r0, 0x7] b _0804147C .align 2, 0 -_08041450: .4byte gUnknown_30030F0 +_08041450: .4byte gMain _08041454: .4byte 0x00000439 _08041458: .4byte gUnknown_2023F54 _0804145C: .4byte gUnknown_2024004 _08041460: - ldr r0, _0804146C @ =gUnknown_3005008 + ldr r0, _0804146C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r5, _08041470 @ =0x0000311a adds r0, r5 ldrb r0, [r0] b _0804147C .align 2, 0 -_0804146C: .4byte gUnknown_3005008 +_0804146C: .4byte gSaveBlock1Ptr _08041470: .4byte 0x0000311a _08041474: bl ItemId_GetHoldEffect @@ -105,7 +105,7 @@ _0804147C: ldr r0, _080414DC @ =gUnknown_2024004 ldrb r2, [r0] strb r2, [r1] - ldr r0, _080414E0 @ =gUnknown_30030F0 + ldr r0, _080414E0 @ =gMain ldr r1, _080414E4 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -147,7 +147,7 @@ _0804147C: .align 2, 0 _080414D8: .4byte gUnknown_2023D6F _080414DC: .4byte gUnknown_2024004 -_080414E0: .4byte gUnknown_30030F0 +_080414E0: .4byte gMain _080414E4: .4byte 0x00000439 _080414E8: .4byte gUnknown_2023BC4 _080414EC: .4byte gUnknown_2023BCC @@ -203,7 +203,7 @@ _0804154C: cmp r5, 0xAF bne _080415AE _08041552: - ldr r0, _08041574 @ =gUnknown_30030F0 + ldr r0, _08041574 @ =gMain ldr r1, _08041578 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -220,19 +220,19 @@ _08041552: adds r0, r1 b _080415AE .align 2, 0 -_08041574: .4byte gUnknown_30030F0 +_08041574: .4byte gMain _08041578: .4byte 0x00000439 _0804157C: .4byte gUnknown_2023BC4 _08041580: .4byte gUnknown_2023F5C _08041584: - ldr r0, _08041590 @ =gUnknown_3005008 + ldr r0, _08041590 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _08041594 @ =0x00003108 adds r2, r0, r2 str r2, [sp, 0x20] b _080415B0 .align 2, 0 -_08041590: .4byte gUnknown_3005008 +_08041590: .4byte gSaveBlock1Ptr _08041594: .4byte 0x00003108 _08041598: mov r0, r8 @@ -280,7 +280,7 @@ _080415E4: adds r6, r2, 0 cmp r0, 0 beq _0804162C - ldr r0, _0804169C @ =gUnknown_30030F0 + ldr r0, _0804169C @ =gMain ldr r1, _080416A0 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -367,7 +367,7 @@ _08041696: strb r0, [r1, 0x19] b _0804198A .align 2, 0 -_0804169C: .4byte gUnknown_30030F0 +_0804169C: .4byte gMain _080416A0: .4byte 0x00000439 _080416A4: .4byte gUnknown_2023BE4 _080416A8: .4byte 0xfff0ffff @@ -707,7 +707,7 @@ _0804193E: bne _0804194C bl _08042384 _0804194C: - ldr r0, _080419B0 @ =gUnknown_30030F0 + ldr r0, _080419B0 @ =gMain ldr r3, _080419B4 @ =0x00000439 adds r0, r3 ldrb r1, [r0] @@ -750,7 +750,7 @@ _080419A0: .4byte gUnknown_8254784 _080419A4: .4byte gUnknown_2023BE4 _080419A8: .4byte 0xf7ffffff _080419AC: .4byte 0x00000f88 -_080419B0: .4byte gUnknown_30030F0 +_080419B0: .4byte gMain _080419B4: .4byte 0x00000439 _080419B8: ldr r1, [sp, 0x20] @@ -976,7 +976,7 @@ _08041B70: lsls r0, 24 b _08041ED6 _08041B90: - ldr r0, _08041BD8 @ =gUnknown_30030F0 + ldr r0, _08041BD8 @ =gMain ldr r1, _08041BDC @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1011,7 +1011,7 @@ _08041B90: ldrb r0, [r0] b _08041C08 .align 2, 0 -_08041BD8: .4byte gUnknown_30030F0 +_08041BD8: .4byte gMain _08041BDC: .4byte 0x00000439 _08041BE0: .4byte gUnknown_2023D70 _08041BE4: .4byte gUnknown_825E45C @@ -1147,7 +1147,7 @@ _08041CF2: movs r1, 0x39 mov r2, sp bl sub_804037C - ldr r0, _08041D64 @ =gUnknown_30030F0 + ldr r0, _08041D64 @ =gMain ldr r1, _08041D68 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1196,7 +1196,7 @@ _08041D42: b _08041D80 .align 2, 0 _08041D60: .4byte gUnknown_2023FC4 -_08041D64: .4byte gUnknown_30030F0 +_08041D64: .4byte gMain _08041D68: .4byte 0x00000439 _08041D6C: .4byte gUnknown_2023BE4 _08041D70: .4byte gUnknown_2023BC4 @@ -1317,7 +1317,7 @@ _08041E60: mov r1, r9 mov r2, sp bl sub_804037C - ldr r0, _08041EDC @ =gUnknown_30030F0 + ldr r0, _08041EDC @ =gMain ldr r4, _08041EE0 @ =0x00000439 adds r0, r4 ldrb r1, [r0] @@ -1379,7 +1379,7 @@ _08041ED6: str r0, [sp, 0x24] b _08042042 .align 2, 0 -_08041EDC: .4byte gUnknown_30030F0 +_08041EDC: .4byte gMain _08041EE0: .4byte 0x00000439 _08041EE4: .4byte gUnknown_2023BE4 _08041EE8: .4byte gUnknown_2023E0C @@ -1475,7 +1475,7 @@ _08041FAC: adds r1, r6, 0 mov r2, sp bl sub_804037C - ldr r0, _08042018 @ =gUnknown_30030F0 + ldr r0, _08042018 @ =gMain ldr r1, _0804201C @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -1525,7 +1525,7 @@ _08042010: str r0, [sp, 0x1C] b _08042042 .align 2, 0 -_08042018: .4byte gUnknown_30030F0 +_08042018: .4byte gMain _0804201C: .4byte 0x00000439 _08042020: .4byte gUnknown_2023BE4 _08042024: .4byte gUnknown_2023E0C diff --git a/asm/pokemon_size_record.s b/asm/pokemon_size_record.s index a80fc6425..c407807d0 100644 --- a/asm/pokemon_size_record.s +++ b/asm/pokemon_size_record.s @@ -426,7 +426,7 @@ GiveGiftRibbonToParty: @ 80A09AC bhi _080A0A28 cmp r5, 0x40 bhi _080A0A28 - ldr r0, _080A0A38 @ =gUnknown_3005008 + ldr r0, _080A0A38 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _080A0A3C @ =0x0000309c adds r0, r1 @@ -473,7 +473,7 @@ _080A0A28: bx r0 .align 2, 0 _080A0A34: .4byte gUnknown_83E27AC -_080A0A38: .4byte gUnknown_3005008 +_080A0A38: .4byte gSaveBlock1Ptr _080A0A3C: .4byte 0x0000309c _080A0A40: .4byte gUnknown_2024284 _080A0A44: .4byte 0x0000083b diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index b6cad48be..b1aaa452e 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -97,7 +97,7 @@ sub_811C5D4: @ 811C5D4 mov r8, r0 lsls r1, 16 lsrs r6, r1, 16 - ldr r0, _0811C61C @ =gUnknown_30030F0 + ldr r0, _0811C61C @ =gMain ldr r1, _0811C620 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -119,7 +119,7 @@ _0811C5FC: movs r0, 0 b _0811C6D2 .align 2, 0 -_0811C61C: .4byte gUnknown_30030F0 +_0811C61C: .4byte gMain _0811C620: .4byte 0x00000439 _0811C624: .4byte 0x000028dc _0811C628: @@ -392,7 +392,7 @@ sub_811C834: @ 811C834 ldrb r0, [r0] cmp r0, 0 bne _0811C870 - ldr r0, _0811C868 @ =gUnknown_30030F0 + ldr r0, _0811C868 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x3 ands r0, r1 @@ -404,7 +404,7 @@ sub_811C834: @ 811C834 bl sub_811C718 b _0811CA16 .align 2, 0 -_0811C868: .4byte gUnknown_30030F0 +_0811C868: .4byte gMain _0811C86C: .4byte sub_811CF88 _0811C870: adds r0, r4, 0 @@ -549,7 +549,7 @@ _0811C996: strb r0, [r1] b _0811C9F4 _0811C9AA: - ldr r0, _0811C9DC @ =gUnknown_30030F0 + ldr r0, _0811C9DC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -573,7 +573,7 @@ _0811C9AA: bl BeginNormalPaletteFade b _0811C9F4 .align 2, 0 -_0811C9DC: .4byte gUnknown_30030F0 +_0811C9DC: .4byte gMain _0811C9E0: ldrh r0, [r5] adds r0, 0x2 @@ -833,7 +833,7 @@ sub_811CBE4: @ 811CBE4 ldrb r0, [r0] cmp r0, 0 bne _0811CC1C - ldr r0, _0811CC14 @ =gUnknown_30030F0 + ldr r0, _0811CC14 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x2 ands r0, r1 @@ -844,7 +844,7 @@ sub_811CBE4: @ 811CBE4 bl sub_811C718 b _0811CD5A .align 2, 0 -_0811CC14: .4byte gUnknown_30030F0 +_0811CC14: .4byte gMain _0811CC18: .4byte sub_811CF88 _0811CC1C: adds r0, r5, 0 @@ -955,7 +955,7 @@ _0811CCF8: strb r0, [r1] b _0811CD2A _0811CD0C: - ldr r0, _0811CD34 @ =gUnknown_30030F0 + ldr r0, _0811CD34 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -975,7 +975,7 @@ _0811CD2A: strh r0, [r4] b _0811CD5A .align 2, 0 -_0811CD34: .4byte gUnknown_30030F0 +_0811CD34: .4byte gMain _0811CD38: ldr r0, _0811CD64 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -1009,7 +1009,7 @@ sub_811CD68: @ 811CD68 movs r1, 0 bl GetWordTaskArg adds r5, r0, 0 - ldr r0, _0811CD90 @ =gUnknown_30030F0 + ldr r0, _0811CD90 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -1020,7 +1020,7 @@ sub_811CD68: @ 811CD68 bl sub_811C718 b _0811CE3E .align 2, 0 -_0811CD90: .4byte gUnknown_30030F0 +_0811CD90: .4byte gMain _0811CD94: .4byte sub_811CF88 _0811CD98: adds r4, r5, 0 @@ -1126,7 +1126,7 @@ sub_811CE4C: @ 811CE4C ldrb r0, [r0] cmp r0, 0 bne _0811CE88 - ldr r0, _0811CE80 @ =gUnknown_30030F0 + ldr r0, _0811CE80 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -1138,7 +1138,7 @@ sub_811CE4C: @ 811CE4C bl sub_811C718 b _0811CF7E .align 2, 0 -_0811CE80: .4byte gUnknown_30030F0 +_0811CE80: .4byte gMain _0811CE84: .4byte sub_811CF88 _0811CE88: adds r0, r5, 0 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index f80eb5441..7eb81d847 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1489,7 +1489,7 @@ _0808C47E: _0808C484: ldrh r3, [r5, 0xA] strh r3, [r5, 0xE] - ldr r2, _0808C504 @ =gUnknown_30030F0 + ldr r2, _0808C504 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x40 ands r0, r1 @@ -1552,7 +1552,7 @@ _0808C4CE: bl AddTextPrinterParametrized b _0808C69C .align 2, 0 -_0808C504: .4byte gUnknown_30030F0 +_0808C504: .4byte gMain _0808C508: .4byte gUnknown_83CDA20 _0808C50C: movs r0, 0 @@ -1624,7 +1624,7 @@ _0808C598: strh r0, [r5, 0x8] b _0808C69C _0808C5A6: - ldr r0, _0808C5D0 @ =gUnknown_30030F0 + ldr r0, _0808C5D0 @ =gMain ldrh r1, [r0, 0x2E] movs r7, 0x3 adds r4, r7, 0 @@ -1645,7 +1645,7 @@ _0808C5A6: str r0, [sp] b _0808C664 .align 2, 0 -_0808C5D0: .4byte gUnknown_30030F0 +_0808C5D0: .4byte gMain _0808C5D4: .4byte gUnknown_83CDA20 _0808C5D8: movs r0, 0x40 @@ -1778,7 +1778,7 @@ _0808C6D4: .4byte gUnknown_3005090 thumb_func_start mapldr_0808C6D8 mapldr_0808C6D8: @ 808C6D8 push {r4,r5,lr} - ldr r0, _0808C71C @ =gUnknown_30030F0 + ldr r0, _0808C71C @ =gMain ldr r5, [r0, 0xC] movs r0, 0 bl SetVBlankCallback @@ -1806,7 +1806,7 @@ mapldr_0808C6D8: @ 808C6D8 pop {r0} bx r0 .align 2, 0 -_0808C71C: .4byte gUnknown_30030F0 +_0808C71C: .4byte gMain _0808C720: .4byte c3_0808C39C _0808C724: .4byte gUnknown_3005090 _0808C728: .4byte gUnknown_20397A8 @@ -2095,7 +2095,7 @@ sub_808C950: @ 808C950 thumb_func_start sub_808C95C sub_808C95C: @ 808C95C push {lr} - ldr r0, _0808C974 @ =gUnknown_30030F0 + ldr r0, _0808C974 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2106,7 +2106,7 @@ sub_808C95C: @ 808C95C movs r0, 0xC9 b _0808C9C0 .align 2, 0 -_0808C974: .4byte gUnknown_30030F0 +_0808C974: .4byte gMain _0808C978: movs r0, 0x1 ands r0, r1 @@ -2832,7 +2832,7 @@ sub_808CF10: @ 808CF10 adds r1, 0x10 movs r2, 0x8 bl sub_8096BE4 - ldr r1, _0808CF88 @ =gUnknown_30030E0 + ldr r1, _0808CF88 @ =gKeyRepeatStartDelay movs r0, 0x14 strh r0, [r1] bl clear_scheduled_bg_copies_to_vram @@ -2861,7 +2861,7 @@ sub_808CF10: @ 808CF10 .align 2, 0 _0808CF80: .4byte gUnknown_2021B46 _0808CF84: .4byte gUnknown_20397B0 -_0808CF88: .4byte gUnknown_30030E0 +_0808CF88: .4byte gKeyRepeatStartDelay _0808CF8C: .4byte gUnknown_83CE6F8 _0808CF90: .4byte 0x000002c7 thumb_func_end sub_808CF10 @@ -3704,7 +3704,7 @@ _0808D6BC: .4byte gUnknown_20397B0 _0808D6C0: .4byte 0x000002ca _0808D6C4: .4byte gUnknown_20397B4 _0808D6C8: - ldr r0, _0808D6E4 @ =gUnknown_30030F0 + ldr r0, _0808D6E4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -3718,7 +3718,7 @@ _0808D6DC: strb r0, [r1] b _0808D7B2 .align 2, 0 -_0808D6E4: .4byte gUnknown_30030F0 +_0808D6E4: .4byte gMain _0808D6E8: .4byte gUnknown_20397B0 _0808D6EC: movs r0, 0x1A @@ -3739,7 +3739,7 @@ _0808D6FE: .align 2, 0 _0808D70C: .4byte gUnknown_20397B0 _0808D710: - ldr r0, _0808D728 @ =gUnknown_30030F0 + ldr r0, _0808D728 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -3750,7 +3750,7 @@ _0808D710: bl add_to_c3_somehow b _0808D7B2 .align 2, 0 -_0808D728: .4byte gUnknown_30030F0 +_0808D728: .4byte gMain _0808D72C: .4byte sub_808D2BC _0808D730: bl sub_80950D0 @@ -4253,7 +4253,7 @@ _0808DB5C: .align 2, 0 _0808DB6C: .4byte gUnknown_20397B0 _0808DB70: - ldr r0, _0808DB8C @ =gUnknown_30030F0 + ldr r0, _0808DB8C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4267,7 +4267,7 @@ _0808DB86: pop {r0} bx r0 .align 2, 0 -_0808DB8C: .4byte gUnknown_30030F0 +_0808DB8C: .4byte gMain _0808DB90: .4byte sub_808D2BC thumb_func_end sub_808D878 @@ -4457,7 +4457,7 @@ _0808DCF4: .align 2, 0 _0808DD08: .4byte gUnknown_20397B0 _0808DD0C: - ldr r0, _0808DD24 @ =gUnknown_30030F0 + ldr r0, _0808DD24 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4468,7 +4468,7 @@ _0808DD0C: bl add_to_c3_somehow b _0808DD7E .align 2, 0 -_0808DD24: .4byte gUnknown_30030F0 +_0808DD24: .4byte gMain _0808DD28: .4byte sub_808D2BC _0808DD2C: bl sub_8092BF8 @@ -4632,7 +4632,7 @@ _0808DE92: .align 2, 0 _0808DE9C: .4byte sub_808D2BC _0808DEA0: - ldr r0, _0808DEC4 @ =gUnknown_30030F0 + ldr r0, _0808DEC4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4651,7 +4651,7 @@ _0808DEBA: pop {r0} bx r0 .align 2, 0 -_0808DEC4: .4byte gUnknown_30030F0 +_0808DEC4: .4byte gMain _0808DEC8: .4byte gUnknown_20397B0 thumb_func_end sub_808DD88 @@ -4752,7 +4752,7 @@ _0808DF98: movs r0, 0xA b _0808E070 _0808DFA4: - ldr r0, _0808DFB8 @ =gUnknown_30030F0 + ldr r0, _0808DFB8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4763,9 +4763,9 @@ _0808DFB2: movs r0, 0xB b _0808E070 .align 2, 0 -_0808DFB8: .4byte gUnknown_30030F0 +_0808DFB8: .4byte gMain _0808DFBC: - ldr r0, _0808DFE0 @ =gUnknown_30030F0 + ldr r0, _0808DFE0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4780,7 +4780,7 @@ _0808DFBC: bl sub_80909F4 b _0808E074 .align 2, 0 -_0808DFE0: .4byte gUnknown_30030F0 +_0808DFE0: .4byte gMain _0808DFE4: .4byte gUnknown_20397B4 _0808DFE8: ldr r0, _0808DFF4 @ =gUnknown_20397B0 @@ -4809,7 +4809,7 @@ _0808E01C: movs r0, 0xA b _0808E070 _0808E020: - ldr r0, _0808E030 @ =gUnknown_30030F0 + ldr r0, _0808E030 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4818,9 +4818,9 @@ _0808E020: movs r0, 0x15 b _0808E070 .align 2, 0 -_0808E030: .4byte gUnknown_30030F0 +_0808E030: .4byte gMain _0808E034: - ldr r0, _0808E04C @ =gUnknown_30030F0 + ldr r0, _0808E04C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4830,7 +4830,7 @@ _0808E034: bl sub_8091114 b _0808E074 .align 2, 0 -_0808E04C: .4byte gUnknown_30030F0 +_0808E04C: .4byte gMain _0808E050: bl sub_8091150 lsls r0, 24 @@ -4840,7 +4840,7 @@ _0808E050: movs r0, 0x13 b _0808E070 _0808E062: - ldr r0, _0808E080 @ =gUnknown_30030F0 + ldr r0, _0808E080 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4857,7 +4857,7 @@ _0808E074: strb r0, [r1] b _0808E0AE .align 2, 0 -_0808E080: .4byte gUnknown_30030F0 +_0808E080: .4byte gMain _0808E084: .4byte gUnknown_20397B0 _0808E088: ldr r0, _0808E094 @ =gUnknown_20397B0 @@ -4868,7 +4868,7 @@ _0808E088: .align 2, 0 _0808E094: .4byte gUnknown_20397B0 _0808E098: - ldr r0, _0808E0B4 @ =gUnknown_30030F0 + ldr r0, _0808E0B4 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -4881,7 +4881,7 @@ _0808E0AE: pop {r0} bx r0 .align 2, 0 -_0808E0B4: .4byte gUnknown_30030F0 +_0808E0B4: .4byte gMain _0808E0B8: .4byte sub_808D2BC thumb_func_end sub_808DECC @@ -5086,7 +5086,7 @@ _0808E250: bl sub_808FBA4 b _0808E280 _0808E270: - ldr r0, _0808E28C @ =gUnknown_30030F0 + ldr r0, _0808E28C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5102,7 +5102,7 @@ _0808E280: strb r0, [r1] b _0808E2A4 .align 2, 0 -_0808E28C: .4byte gUnknown_30030F0 +_0808E28C: .4byte gMain _0808E290: .4byte gUnknown_20397B0 _0808E294: bl IsDma3ManagerBusyWithBgCopy @@ -5200,7 +5200,7 @@ _0808E340: .align 2, 0 _0808E35C: .4byte gUnknown_20397B0 _0808E360: - ldr r0, _0808E384 @ =gUnknown_30030F0 + ldr r0, _0808E384 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5215,7 +5215,7 @@ _0808E360: strb r0, [r1] b _0808E3BA .align 2, 0 -_0808E384: .4byte gUnknown_30030F0 +_0808E384: .4byte gMain _0808E388: .4byte gUnknown_20397B0 _0808E38C: bl IsDma3ManagerBusyWithBgCopy @@ -5228,7 +5228,7 @@ _0808E38C: .align 2, 0 _0808E3A0: .4byte sub_808D2BC _0808E3A4: - ldr r0, _0808E3C0 @ =gUnknown_30030F0 + ldr r0, _0808E3C0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5242,7 +5242,7 @@ _0808E3BA: pop {r0} bx r0 .align 2, 0 -_0808E3C0: .4byte gUnknown_30030F0 +_0808E3C0: .4byte gMain _0808E3C4: .4byte sub_808D2BC thumb_func_end sub_808E2B0 @@ -5320,7 +5320,7 @@ _0808E450: bl sub_808FBA4 b _0808E480 _0808E470: - ldr r0, _0808E48C @ =gUnknown_30030F0 + ldr r0, _0808E48C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5336,7 +5336,7 @@ _0808E484: strb r0, [r1] b _0808E4A4 .align 2, 0 -_0808E48C: .4byte gUnknown_30030F0 +_0808E48C: .4byte gMain _0808E490: .4byte gUnknown_20397B0 _0808E494: bl IsDma3ManagerBusyWithBgCopy @@ -5398,7 +5398,7 @@ _0808E512: bl IsDma3ManagerBusyWithBgCopy b _0808E534 _0808E518: - ldr r0, _0808E52C @ =gUnknown_30030F0 + ldr r0, _0808E52C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5408,7 +5408,7 @@ _0808E518: bl sub_80722CC b _0808E53A .align 2, 0 -_0808E52C: .4byte gUnknown_30030F0 +_0808E52C: .4byte gMain _0808E530: bl sub_80967C0 _0808E534: @@ -5525,7 +5525,7 @@ _0808E60C: strb r0, [r1] b _0808E67C _0808E61A: - ldr r0, _0808E634 @ =gUnknown_30030F0 + ldr r0, _0808E634 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5538,7 +5538,7 @@ _0808E61A: strb r0, [r1] b _0808E67C .align 2, 0 -_0808E634: .4byte gUnknown_30030F0 +_0808E634: .4byte gMain _0808E638: .4byte gUnknown_20397B0 _0808E63C: bl sub_8096088 @@ -5646,7 +5646,7 @@ _0808E6FE: bne _0808E738 b _0808E71A _0808E70A: - ldr r0, _0808E724 @ =gUnknown_30030F0 + ldr r0, _0808E724 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -5660,7 +5660,7 @@ _0808E71A: strb r0, [r1] b _0808E738 .align 2, 0 -_0808E724: .4byte gUnknown_30030F0 +_0808E724: .4byte gMain _0808E728: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -6274,7 +6274,7 @@ _0808EC20: .align 2, 0 _0808EC3C: .4byte gUnknown_20397B0 _0808EC40: - ldr r0, _0808EC50 @ =gUnknown_30030F0 + ldr r0, _0808EC50 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -6282,7 +6282,7 @@ _0808EC40: beq _0808ECD0 b _0808EC72 .align 2, 0 -_0808EC50: .4byte gUnknown_30030F0 +_0808EC50: .4byte gMain _0808EC54: bl ProcessMenuInputNoWrap_ lsls r0, 24 @@ -6416,7 +6416,7 @@ _0808ED54: .align 2, 0 _0808ED70: .4byte gUnknown_20397B0 _0808ED74: - ldr r0, _0808ED84 @ =gUnknown_30030F0 + ldr r0, _0808ED84 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -6424,7 +6424,7 @@ _0808ED74: beq _0808EE04 b _0808EDA8 .align 2, 0 -_0808ED84: .4byte gUnknown_30030F0 +_0808ED84: .4byte gMain _0808ED88: bl ProcessMenuInputNoWrap_ lsls r0, 24 @@ -16968,7 +16968,7 @@ sub_8093FD4: @ 8093FD4 mov r9, r3 add r0, r9 strb r1, [r0] - ldr r6, _08094070 @ =gUnknown_30030F0 + ldr r6, _08094070 @ =gMain ldrh r1, [r6, 0x30] movs r0, 0x40 ands r0, r1 @@ -17015,7 +17015,7 @@ _08094060: .4byte gUnknown_20397B0 _08094064: .4byte 0x00000cce _08094068: .4byte 0x00000ccf _0809406C: .4byte 0x00000cd3 -_08094070: .4byte gUnknown_30030F0 +_08094070: .4byte gMain _08094074: movs r0, 0x20 ands r0, r1 @@ -17172,7 +17172,7 @@ _080941A0: .align 2, 0 _080941AC: .4byte 0x000021ef _080941B0: - ldr r2, _080941C0 @ =gUnknown_30030F0 + ldr r2, _080941C0 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x2 ands r0, r1 @@ -17181,9 +17181,9 @@ _080941B0: movs r0, 0x13 b _08094232 .align 2, 0 -_080941C0: .4byte gUnknown_30030F0 +_080941C0: .4byte gMain _080941C4: - ldr r0, _080941E0 @ =gUnknown_300500C + ldr r0, _080941E0 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -17197,7 +17197,7 @@ _080941C4: movs r0, 0xA b _08094232 .align 2, 0 -_080941E0: .4byte gUnknown_300500C +_080941E0: .4byte gSaveBlock2Ptr _080941E4: movs r0, 0x80 lsls r0, 1 @@ -17256,7 +17256,7 @@ _08094232: thumb_func_start sub_8094240 sub_8094240: @ 8094240 push {r4,lr} - ldr r1, _08094270 @ =gUnknown_30030F0 + ldr r1, _08094270 @ =gMain ldrh r0, [r1, 0x2C] movs r4, 0x1 ands r4, r0 @@ -17279,7 +17279,7 @@ sub_8094240: @ 8094240 subs r1, 0x6 b _080942DA .align 2, 0 -_08094270: .4byte gUnknown_30030F0 +_08094270: .4byte gMain _08094274: .4byte gUnknown_2039821 _08094278: movs r0, 0x80 @@ -17410,7 +17410,7 @@ _08094374: .4byte 0x00000cb4 thumb_func_start sub_8094378 sub_8094378: @ 8094378 push {r4,lr} - ldr r2, _0809439C @ =gUnknown_30030F0 + ldr r2, _0809439C @ =gMain ldrh r1, [r2, 0x30] movs r0, 0x40 ands r0, r1 @@ -17426,7 +17426,7 @@ sub_8094378: @ 8094378 subs r1, 0x6 b _08094402 .align 2, 0 -_0809439C: .4byte gUnknown_30030F0 +_0809439C: .4byte gMain _080943A0: .4byte gUnknown_2039821 _080943A4: movs r0, 0x80 @@ -17516,7 +17516,7 @@ _08094450: movs r0, 0x18 b _08094484 _08094454: - ldr r0, _08094470 @ =gUnknown_300500C + ldr r0, _08094470 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -17531,7 +17531,7 @@ _0809446A: movs r0, 0xA b _08094484 .align 2, 0 -_08094470: .4byte gUnknown_300500C +_08094470: .4byte gSaveBlock2Ptr _08094474: movs r0, 0x80 lsls r0, 1 @@ -17576,7 +17576,7 @@ sub_809448C: @ 809448C strb r1, [r0] mov r8, r1 movs r7, 0 - ldr r1, _08094510 @ =gUnknown_30030F0 + ldr r1, _08094510 @ =gMain ldrh r3, [r1, 0x30] movs r0, 0x40 ands r0, r3 @@ -17616,7 +17616,7 @@ _08094500: .4byte gUnknown_2039821 _08094504: .4byte gUnknown_20397B0 _08094508: .4byte 0x00000ccf _0809450C: .4byte 0x00000cce -_08094510: .4byte gUnknown_30030F0 +_08094510: .4byte gMain _08094514: movs r0, 0x20 ands r0, r3 @@ -17752,7 +17752,7 @@ _08094620: movs r0, 0x12 b _080946A0 _08094624: - ldr r2, _08094640 @ =gUnknown_30030F0 + ldr r2, _08094640 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x2 ands r0, r1 @@ -17767,7 +17767,7 @@ _08094624: movs r0, 0x13 b _080946A0 .align 2, 0 -_08094640: .4byte gUnknown_30030F0 +_08094640: .4byte gMain _08094644: .4byte gUnknown_20397B0 _08094648: movs r1, 0x1 @@ -17845,7 +17845,7 @@ sub_80946AC: @ 80946AC ldr r5, _080946F4 @ =0x00000cd3 adds r0, r5 strb r1, [r0] - ldr r1, _080946F8 @ =gUnknown_30030F0 + ldr r1, _080946F8 @ =gMain ldrh r2, [r1, 0x30] movs r0, 0x40 ands r0, r2 @@ -17864,7 +17864,7 @@ _080946E8: .4byte gUnknown_20397B0 _080946EC: .4byte 0x00000ccf _080946F0: .4byte 0x00000cce _080946F4: .4byte 0x00000cd3 -_080946F8: .4byte gUnknown_30030F0 +_080946F8: .4byte gMain _080946FC: ldrh r2, [r1, 0x2C] movs r0, 0x20 @@ -17875,7 +17875,7 @@ _080946FC: ands r0, r2 cmp r0, 0 bne _08094736 - ldr r0, _08094728 @ =gUnknown_300500C + ldr r0, _08094728 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -17889,7 +17889,7 @@ _08094722: movs r0, 0xA b _0809479A .align 2, 0 -_08094728: .4byte gUnknown_300500C +_08094728: .4byte gSaveBlock2Ptr _0809472C: movs r0, 0x80 lsls r0, 1 @@ -17981,7 +17981,7 @@ sub_80947A0: @ 80947A0 ldr r5, _08094804 @ =0x00000cd3 adds r0, r5 strb r1, [r0] - ldr r7, _08094808 @ =gUnknown_30030F0 + ldr r7, _08094808 @ =gMain ldrh r1, [r7, 0x30] movs r0, 0x40 ands r0, r1 @@ -18005,7 +18005,7 @@ _080947F8: .4byte gUnknown_20397B0 _080947FC: .4byte 0x00000ccf _08094800: .4byte 0x00000cce _08094804: .4byte 0x00000cd3 -_08094808: .4byte gUnknown_30030F0 +_08094808: .4byte gMain _0809480C: movs r0, 0x20 ands r0, r1 @@ -19000,7 +19000,7 @@ sub_8094F94: @ 8094F94 push {r4,r5,lr} movs r5, 0x2 negs r5, r5 - ldr r4, _08094FD0 @ =gUnknown_30030F0 + ldr r4, _08094FD0 @ =gMain ldrh r1, [r4, 0x2E] movs r0, 0x1 ands r0, r1 @@ -19026,7 +19026,7 @@ _08094FB6: bl MoveMenuCursor b _08094FF2 .align 2, 0 -_08094FD0: .4byte gUnknown_30030F0 +_08094FD0: .4byte gMain _08094FD4: movs r0, 0x80 ands r0, r1 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 2807c869b..f6e8dc3ad 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -367,13 +367,13 @@ _081347D8: beq _08134810 cmp r4, 0x1 bne _08134830 - ldr r0, _08134808 @ =gUnknown_30030F0 + ldr r0, _08134808 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x10 ands r0, r1 cmp r0, 0 bne _081347D0 - ldr r0, _0813480C @ =gUnknown_300500C + ldr r0, _0813480C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -382,16 +382,16 @@ _081347D8: lsls r0, 1 b _0813482A .align 2, 0 -_08134808: .4byte gUnknown_30030F0 -_0813480C: .4byte gUnknown_300500C +_08134808: .4byte gMain +_0813480C: .4byte gSaveBlock2Ptr _08134810: - ldr r0, _08134838 @ =gUnknown_30030F0 + ldr r0, _08134838 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x20 ands r0, r1 cmp r0, 0 bne _081347D0 - ldr r0, _0813483C @ =gUnknown_300500C + ldr r0, _0813483C @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0x1 @@ -409,8 +409,8 @@ _08134832: pop {r1} bx r1 .align 2, 0 -_08134838: .4byte gUnknown_30030F0 -_0813483C: .4byte gUnknown_300500C +_08134838: .4byte gMain +_0813483C: .4byte gSaveBlock2Ptr thumb_func_end sub_81347A4 thumb_func_start sub_8134840 @@ -631,7 +631,7 @@ _081349F8: bne _08134A12 b _08134B9A _08134A12: - ldr r0, _08134A34 @ =gUnknown_30030F0 + ldr r0, _08134A34 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -645,7 +645,7 @@ _08134A12: .align 2, 0 _08134A2C: .4byte sub_8134BAC _08134A30: .4byte sub_813B3F0 -_08134A34: .4byte gUnknown_30030F0 +_08134A34: .4byte gMain _08134A38: movs r0, 0x80 ands r0, r1 @@ -1285,7 +1285,7 @@ _08134FC4: .4byte 0x00003214 _08134FC8: ldr r0, _08134FF0 @ =gUnknown_8419C39 bl sub_8136DA4 - ldr r0, _08134FF4 @ =gUnknown_30030F0 + ldr r0, _08134FF4 @ =gMain ldr r2, _08134FF8 @ =0x00000439 adds r0, r2 ldrb r1, [r0] @@ -1302,7 +1302,7 @@ _08134FC8: b _08135180 .align 2, 0 _08134FF0: .4byte gUnknown_8419C39 -_08134FF4: .4byte gUnknown_30030F0 +_08134FF4: .4byte gMain _08134FF8: .4byte 0x00000439 _08134FFC: .4byte gUnknown_3003F64 _08135000: .4byte gUnknown_8419C92 @@ -6739,7 +6739,7 @@ _08137DB8: .4byte gUnknown_8419C82 _08137DBC: ldr r0, _08137DDC @ =gUnknown_8419C39 bl sub_8136DA4 - ldr r0, _08137DE0 @ =gUnknown_30030F0 + ldr r0, _08137DE0 @ =gMain ldr r1, _08137DE4 @ =0x00000439 adds r0, r1 ldrb r1, [r0] @@ -6752,7 +6752,7 @@ _08137DBC: b _08137DF2 .align 2, 0 _08137DDC: .4byte gUnknown_8419C39 -_08137DE0: .4byte gUnknown_30030F0 +_08137DE0: .4byte gMain _08137DE4: .4byte 0x00000439 _08137DE8: .4byte gUnknown_8419C92 _08137DEC: @@ -7659,7 +7659,7 @@ _081384D0: ldr r0, [r5] ldr r1, _08138520 @ =0x0000304c adds r0, r1 - ldr r1, _08138524 @ =gUnknown_300500C + ldr r1, _08138524 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy _081384E8: @@ -7690,7 +7690,7 @@ _08138518: .align 2, 0 _0813851C: .4byte 0x0000ffff _08138520: .4byte 0x0000304c -_08138524: .4byte gUnknown_300500C +_08138524: .4byte gSaveBlock2Ptr _08138528: .4byte gUnknown_203B140 _0813852C: .4byte 0x00003058 _08138530: @@ -8699,7 +8699,7 @@ _08138D20: bne _08138D2A b _08139094 _08138D2A: - ldr r0, _08138D78 @ =gUnknown_30030F0 + ldr r0, _08138D78 @ =gMain mov r9, r0 ldrh r1, [r0, 0x2E] movs r0, 0x40 @@ -8741,7 +8741,7 @@ _08138D6E: bne _08138D60 b _08139094 .align 2, 0 -_08138D78: .4byte gUnknown_30030F0 +_08138D78: .4byte gMain _08138D7C: .4byte gUnknown_203B16D _08138D80: .4byte 0x00003258 _08138D84: @@ -9585,7 +9585,7 @@ _08139460: .4byte gUnknown_2037AB8 _08139464: .4byte gUnknown_203B140 _08139468: .4byte 0x00003288 _0813946C: - ldr r0, _081394BC @ =gUnknown_30030F0 + ldr r0, _081394BC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -9627,7 +9627,7 @@ _081394B0: bne _081394A2 b _0813975A .align 2, 0 -_081394BC: .4byte gUnknown_30030F0 +_081394BC: .4byte gMain _081394C0: .4byte gUnknown_203B16D _081394C4: .4byte 0x00003288 _081394C8: .4byte 0x00003258 diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s index a3f7b45a1..a55c727c6 100644 --- a/asm/post_battle_event_funcs.s +++ b/asm/post_battle_event_funcs.s @@ -34,7 +34,7 @@ _080CA318: bl GetGameStat cmp r0, 0 bne _080CA33A - ldr r0, _080CA3B4 @ =gUnknown_300500C + ldr r0, _080CA3B4 @ =gSaveBlock2Ptr ldr r2, [r0] ldrh r1, [r2, 0xE] lsls r1, 16 @@ -100,7 +100,7 @@ _080CA39E: bx r1 .align 2, 0 _080CA3B0: .4byte gUnknown_203AB44 -_080CA3B4: .4byte gUnknown_300500C +_080CA3B4: .4byte gSaveBlock2Ptr _080CA3B8: .4byte gUnknown_2024284 _080CA3BC: .4byte 0x0000083b _080CA3C0: .4byte CB2_DoHallOfFameScreen diff --git a/asm/quest_log.s b/asm/quest_log.s index 594601af2..60cbf7350 100644 --- a/asm/quest_log.s +++ b/asm/quest_log.s @@ -8,7 +8,7 @@ thumb_func_start sub_8110840 sub_8110840: @ 8110840 push {lr} - ldr r1, _08110888 @ =gUnknown_3005008 + ldr r1, _08110888 @ =gSaveBlock1Ptr ldr r1, [r1] subs r1, r0 ldr r2, _0811088C @ =gUnknown_203AE04 @@ -48,7 +48,7 @@ _08110882: pop {r0} bx r0 .align 2, 0 -_08110888: .4byte gUnknown_3005008 +_08110888: .4byte gSaveBlock1Ptr _0811088C: .4byte gUnknown_203AE04 _08110890: .4byte gUnknown_203ADFA _08110894: .4byte gUnknown_203AE08 @@ -58,7 +58,7 @@ _08110898: .4byte gUnknown_203AE0C thumb_func_start sub_811089C sub_811089C: @ 811089C push {lr} - ldr r0, _081108D8 @ =gUnknown_3005008 + ldr r0, _081108D8 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x98 lsls r1, 5 @@ -84,7 +84,7 @@ sub_811089C: @ 811089C pop {r0} bx r0 .align 2, 0 -_081108D8: .4byte gUnknown_3005008 +_081108D8: .4byte gSaveBlock1Ptr _081108DC: .4byte gUnknown_203ADF8 _081108E0: .4byte gUnknown_203ADFA _081108E4: .4byte gUnknown_203AE8C @@ -97,7 +97,7 @@ sub_81108F0: @ 81108F0 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r1, _08110918 @ =gUnknown_3005008 + ldr r1, _08110918 @ =gSaveBlock1Ptr ldr r1, [r1] movs r2, 0xCD lsls r2, 3 @@ -114,7 +114,7 @@ sub_81108F0: @ 81108F0 pop {r0} bx r0 .align 2, 0 -_08110918: .4byte gUnknown_3005008 +_08110918: .4byte gSaveBlock1Ptr _0811091C: .4byte gUnknown_203AE04 thumb_func_end sub_81108F0 @@ -147,7 +147,7 @@ _08110940: .4byte gUnknown_203AE8C sub_8110944: @ 8110944 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _08110978 @ =gUnknown_3005008 + ldr r4, _08110978 @ =gSaveBlock1Ptr ldr r0, _0811097C @ =gUnknown_203ADF8 ldrb r0, [r0] movs r3, 0xCD @@ -172,7 +172,7 @@ _08110972: movs r0, 0 b _08110982 .align 2, 0 -_08110978: .4byte gUnknown_3005008 +_08110978: .4byte gSaveBlock1Ptr _0811097C: .4byte gUnknown_203ADF8 _08110980: movs r0, 0x1 @@ -186,7 +186,7 @@ _08110982: sub_8110988: @ 8110988 push {r4,r5,lr} adds r5, r0, 0 - ldr r4, _081109BC @ =gUnknown_3005008 + ldr r4, _081109BC @ =gSaveBlock1Ptr ldr r0, _081109C0 @ =gUnknown_203ADF8 ldrb r0, [r0] movs r3, 0xCD @@ -211,7 +211,7 @@ _081109B6: movs r0, 0 b _081109C6 .align 2, 0 -_081109BC: .4byte gUnknown_3005008 +_081109BC: .4byte gSaveBlock1Ptr _081109C0: .4byte gUnknown_203ADF8 _081109C4: movs r0, 0x1 @@ -354,7 +354,7 @@ _08110AC4: .4byte gUnknown_203ADFA thumb_func_start sub_8110AC8 sub_8110AC8: @ 8110AC8 - ldr r0, _08110AE4 @ =gUnknown_3005008 + ldr r0, _08110AE4 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _08110AE8 @ =gUnknown_203ADF8 ldrb r2, [r0] @@ -368,7 +368,7 @@ sub_8110AC8: @ 8110AC8 ldrb r0, [r1] bx lr .align 2, 0 -_08110AE4: .4byte gUnknown_3005008 +_08110AE4: .4byte gSaveBlock1Ptr _08110AE8: .4byte gUnknown_203ADF8 thumb_func_end sub_8110AC8 @@ -388,7 +388,7 @@ _08110AFE: bl sub_81108F0 bl sub_8113B88 ldr r2, _08110B48 @ =gUnknown_203AE08 - ldr r1, _08110B4C @ =gUnknown_3005008 + ldr r1, _08110B4C @ =gSaveBlock1Ptr ldrb r0, [r4] movs r3, 0xCD lsls r3, 3 @@ -420,7 +420,7 @@ _08110B36: .align 2, 0 _08110B44: .4byte gUnknown_203ADF8 _08110B48: .4byte gUnknown_203AE08 -_08110B4C: .4byte gUnknown_3005008 +_08110B4C: .4byte gSaveBlock1Ptr _08110B50: ldrb r0, [r4] muls r0, r3 @@ -465,7 +465,7 @@ _08110BAC: .4byte gUnknown_203AE98 sub_8110BB0: @ 8110BB0 lsls r0, 24 lsrs r0, 24 - ldr r2, _08110BE4 @ =gUnknown_3005008 + ldr r2, _08110BE4 @ =gSaveBlock1Ptr movs r1, 0xCD lsls r1, 3 muls r1, r0 @@ -489,7 +489,7 @@ sub_8110BB0: @ 8110BB0 strh r0, [r1, 0x6] bx lr .align 2, 0 -_08110BE4: .4byte gUnknown_3005008 +_08110BE4: .4byte gSaveBlock1Ptr thumb_func_end sub_8110BB0 thumb_func_start sub_8110BE8 @@ -501,7 +501,7 @@ sub_8110BE8: @ 8110BE8 push {r5-r7} lsls r0, 24 lsrs r0, 24 - ldr r4, _08110C54 @ =gUnknown_3005008 + ldr r4, _08110C54 @ =gSaveBlock1Ptr movs r1, 0xCD lsls r1, 3 muls r0, r1 @@ -548,7 +548,7 @@ _08110C1C: strb r0, [r2] b _08110C7C .align 2, 0 -_08110C54: .4byte gUnknown_3005008 +_08110C54: .4byte gSaveBlock1Ptr _08110C58: .4byte 0x0000046a _08110C5C: .4byte 0x000008e4 _08110C60: .4byte 0x00000469 @@ -672,7 +672,7 @@ sub_8110D48: @ 8110D48 push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 - ldr r4, _08110D90 @ =gUnknown_3005008 + ldr r4, _08110D90 @ =gSaveBlock1Ptr movs r1, 0xCD lsls r1, 3 muls r1, r0 @@ -703,7 +703,7 @@ sub_8110D48: @ 8110D48 pop {r0} bx r0 .align 2, 0 -_08110D90: .4byte gUnknown_3005008 +_08110D90: .4byte gSaveBlock1Ptr thumb_func_end sub_8110D48 thumb_func_start sub_8110D94 @@ -715,7 +715,7 @@ sub_8110D94: @ 8110D94 push {r5-r7} sub sp, 0xC movs r4, 0 - ldr r0, _08110E14 @ =gUnknown_3005008 + ldr r0, _08110E14 @ =gSaveBlock1Ptr mov r10, r0 ldr r1, _08110E18 @ =0x0000063a mov r9, r1 @@ -775,7 +775,7 @@ _08110DDE: pop {r0} bx r0 .align 2, 0 -_08110E14: .4byte gUnknown_3005008 +_08110E14: .4byte gSaveBlock1Ptr _08110E18: .4byte 0x0000063a _08110E1C: .4byte 0x000040aa thumb_func_end sub_8110D94 @@ -784,7 +784,7 @@ _08110E1C: .4byte 0x000040aa sub_8110E20: @ 8110E20 push {lr} ldr r0, _08110E34 @ =0x000040ae - ldr r1, _08110E38 @ =gUnknown_3005008 + ldr r1, _08110E38 @ =gSaveBlock1Ptr ldr r1, [r1] ldrh r1, [r1, 0x32] bl VarSet @@ -792,7 +792,7 @@ sub_8110E20: @ 8110E20 bx r0 .align 2, 0 _08110E34: .4byte 0x000040ae -_08110E38: .4byte gUnknown_3005008 +_08110E38: .4byte gSaveBlock1Ptr thumb_func_end sub_8110E20 thumb_func_start sub_8110E3C @@ -916,7 +916,7 @@ sub_8110F14: @ 8110F14 movs r0, 0 strb r0, [r1] movs r2, 0 - ldr r0, _08110F70 @ =gUnknown_3005008 + ldr r0, _08110F70 @ =gSaveBlock1Ptr ldr r5, [r0] movs r7, 0xCD lsls r7, 3 @@ -953,7 +953,7 @@ _08110F48: b _08110F84 .align 2, 0 _08110F6C: .4byte gUnknown_203ADF9 -_08110F70: .4byte gUnknown_3005008 +_08110F70: .4byte gSaveBlock1Ptr _08110F74: .4byte gUnknown_3005ECC _08110F78: ldr r0, _08110F8C @ =sub_8056938 @@ -971,7 +971,7 @@ _08110F8C: .4byte sub_8056938 thumb_func_start sub_8110F90 sub_8110F90: @ 8110F90 push {lr} - ldr r1, _08110FC0 @ =gUnknown_3005008 + ldr r1, _08110FC0 @ =gSaveBlock1Ptr ldr r2, [r1] movs r3, 0 movs r0, 0x3 @@ -993,7 +993,7 @@ sub_8110F90: @ 8110F90 pop {r0} bx r0 .align 2, 0 -_08110FC0: .4byte gUnknown_3005008 +_08110FC0: .4byte gSaveBlock1Ptr _08110FC4: .4byte gUnknown_203ADF8 _08110FC8: .4byte gUnknown_2031DD8 thumb_func_end sub_8110F90 @@ -1189,7 +1189,7 @@ sub_8111150: @ 8111150 push {r5-r7} lsls r0, 24 lsrs r0, 24 - ldr r2, _081111A8 @ =gUnknown_3005008 + ldr r2, _081111A8 @ =gSaveBlock1Ptr movs r1, 0xCD lsls r1, 3 muls r0, r1 @@ -1227,7 +1227,7 @@ _08111180: negs r0, r0 b _081111C4 .align 2, 0 -_081111A8: .4byte gUnknown_3005008 +_081111A8: .4byte gSaveBlock1Ptr _081111AC: .4byte 0x000008e4 _081111B0: .4byte 0x00000469 _081111B4: @@ -1335,7 +1335,7 @@ sub_8111274: @ 8111274 lsls r1, 24 cmp r1, 0 bne _081112D4 - ldr r3, _081112C8 @ =gUnknown_3005008 + ldr r3, _081112C8 @ =gSaveBlock1Ptr ldr r2, [r3] movs r0, 0xCD lsls r0, 3 @@ -1370,11 +1370,11 @@ sub_8111274: @ 8111274 strh r0, [r2, 0x2] b _08111336 .align 2, 0 -_081112C8: .4byte gUnknown_3005008 +_081112C8: .4byte gSaveBlock1Ptr _081112CC: .4byte 0x00001301 _081112D0: .4byte 0x00001304 _081112D4: - ldr r0, _08111340 @ =gUnknown_3005008 + ldr r0, _08111340 @ =gSaveBlock1Ptr ldr r3, [r0] movs r0, 0xCD lsls r0, 3 @@ -1428,7 +1428,7 @@ _08111336: pop {r0} bx r0 .align 2, 0 -_08111340: .4byte gUnknown_3005008 +_08111340: .4byte gSaveBlock1Ptr _08111344: .4byte 0x00001301 _08111348: .4byte 0xffffff00 _0811134C: .4byte 0x00001302 @@ -1494,7 +1494,7 @@ _081113E0: .4byte sub_805726C thumb_func_start sub_81113E4 sub_81113E4: @ 81113E4 push {r4,r5,lr} - ldr r4, _08111430 @ =gUnknown_3005008 + ldr r4, _08111430 @ =gSaveBlock1Ptr ldr r0, _08111434 @ =gUnknown_203ADF8 ldrb r1, [r0] movs r0, 0xCD @@ -1528,7 +1528,7 @@ sub_81113E4: @ 81113E4 pop {r0} bx r0 .align 2, 0 -_08111430: .4byte gUnknown_3005008 +_08111430: .4byte gSaveBlock1Ptr _08111434: .4byte gUnknown_203ADF8 thumb_func_end sub_81113E4 @@ -1845,7 +1845,7 @@ sub_8111688: @ 8111688 push {r7} sub sp, 0x8 movs r5, 0 - ldr r0, _081116CC @ =gUnknown_3005008 + ldr r0, _081116CC @ =gSaveBlock1Ptr mov r8, r0 ldr r7, _081116D0 @ =0x0000063a _08111698: @@ -1876,7 +1876,7 @@ _081116B2: strb r1, [r0] b _081116E4 .align 2, 0 -_081116CC: .4byte gUnknown_3005008 +_081116CC: .4byte gSaveBlock1Ptr _081116D0: .4byte 0x0000063a _081116D4: .4byte 0x000040aa _081116D8: @@ -1913,7 +1913,7 @@ sub_8111708: @ 8111708 sub sp, 0x1C ldr r0, _08111754 @ =0x000040ae bl VarGet - ldr r4, _08111758 @ =gUnknown_3005008 + ldr r4, _08111758 @ =gSaveBlock1Ptr ldr r1, [r4] strh r0, [r1, 0x32] lsls r0, 16 @@ -1947,7 +1947,7 @@ _0811174A: bx r0 .align 2, 0 _08111754: .4byte 0x000040ae -_08111758: .4byte gUnknown_3005008 +_08111758: .4byte gSaveBlock1Ptr thumb_func_end sub_8111708 thumb_func_start sub_811175C @@ -1978,7 +1978,7 @@ _08111780: lsrs r7, r0, 16 cmp r7, 0x1F bls _08111780 - ldr r1, _081117BC @ =gUnknown_3005008 + ldr r1, _081117BC @ =gSaveBlock1Ptr movs r0, 0xCD lsls r0, 3 muls r0, r4 @@ -2002,7 +2002,7 @@ _081117AE: mov pc, r0 .align 2, 0 _081117B8: .4byte gUnknown_203AE0C -_081117BC: .4byte gUnknown_3005008 +_081117BC: .4byte gSaveBlock1Ptr _081117C0: .4byte 0x00001868 _081117C4: .4byte 0x00000fff _081117C8: .4byte _081117CC @@ -2154,7 +2154,7 @@ sub_8111914: @ 8111914 lsrs r0, 24 cmp r0, 0x3 bhi _08111970 - ldr r0, _08111968 @ =gUnknown_3005008 + ldr r0, _08111968 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r2, [r1] movs r1, 0xCD @@ -2176,7 +2176,7 @@ sub_8111914: @ 8111914 .align 2, 0 _08111960: .4byte gUnknown_2037AB8 _08111964: .4byte gUnknown_203ADF8 -_08111968: .4byte gUnknown_3005008 +_08111968: .4byte gSaveBlock1Ptr _0811196C: .4byte gUnknown_203ADF9 _08111970: ldr r1, _08111980 @ =gUnknown_3005E88 @@ -2584,7 +2584,7 @@ sub_8111C68: @ 8111C68 ands r4, r2 cmp r4, 0 bne _08111CC6 - ldr r0, _08111CA0 @ =gUnknown_30030F0 + ldr r0, _08111CA0 @ =gMain ldrh r1, [r0, 0x2E] movs r3, 0x1 ands r3, r1 @@ -2603,7 +2603,7 @@ sub_8111C68: @ 8111C68 b _08111CC6 .align 2, 0 _08111C9C: .4byte gUnknown_203AE94 -_08111CA0: .4byte gUnknown_30030F0 +_08111CA0: .4byte gMain _08111CA4: .4byte gUnknown_3005E88 _08111CA8: movs r0, 0x2 @@ -2872,7 +2872,7 @@ sub_8111E84: @ 8111E84 lsrs r0, 24 cmp r0, 0x3 bhi _08111EEE - ldr r0, _08111F08 @ =gUnknown_3005008 + ldr r0, _08111F08 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r2, [r3] movs r1, 0xCD @@ -2897,7 +2897,7 @@ _08111EBE: lsrs r0, 24 cmp r0, 0x3 bhi _08111EEE - ldr r0, _08111F08 @ =gUnknown_3005008 + ldr r0, _08111F08 @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r2, [r4] movs r0, 0xCD @@ -2922,7 +2922,7 @@ _08111EF8: .align 2, 0 _08111F00: .4byte gUnknown_2037AB8 _08111F04: .4byte gUnknown_203ADF8 -_08111F08: .4byte gUnknown_3005008 +_08111F08: .4byte gSaveBlock1Ptr _08111F0C: .4byte gUnknown_203AE98 _08111F10: .4byte gUnknown_3005E88 thumb_func_end sub_8111E84 @@ -3085,7 +3085,7 @@ sub_8112044: @ 8112044 lsls r1, 3 ldr r0, _0811208C @ =gUnknown_3005090 adds r4, r1, r0 - ldr r0, _08112090 @ =gUnknown_30030F0 + ldr r0, _08112090 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -3114,7 +3114,7 @@ _08112076: b _081120A4 .align 2, 0 _0811208C: .4byte gUnknown_3005090 -_08112090: .4byte gUnknown_30030F0 +_08112090: .4byte gMain _08112094: .4byte gUnknown_203AE94 _08112098: .4byte sub_81120AC _0811209C: .4byte gUnknown_203ADFA @@ -3511,7 +3511,7 @@ _081123D6: bls _081123DC movs r4, 0 _081123DC: - ldr r3, _0811244C @ =gUnknown_3005008 + ldr r3, _0811244C @ =gSaveBlock1Ptr ldr r0, [r3] movs r2, 0xCD lsls r2, 3 @@ -3564,7 +3564,7 @@ _0811240A: bx r0 .align 2, 0 _08112448: .4byte gUnknown_203ADF8 -_0811244C: .4byte gUnknown_3005008 +_0811244C: .4byte gSaveBlock1Ptr thumb_func_end sub_81123BC thumb_func_start sub_8112450 @@ -5192,7 +5192,7 @@ sub_8113078: @ 8113078 adds r0, r4, 0 bl sub_81132E0 ldr r0, _081130A0 @ =0x00004039 - ldr r1, _081130A4 @ =gUnknown_300500C + ldr r1, _081130A4 @ =gSaveBlock2Ptr ldr r1, [r1] ldrh r1, [r1, 0xE] bl VarSet @@ -5202,7 +5202,7 @@ _08113098: bx r0 .align 2, 0 _081130A0: .4byte 0x00004039 -_081130A4: .4byte gUnknown_300500C +_081130A4: .4byte gSaveBlock2Ptr thumb_func_end sub_8113078 thumb_func_start sub_81130A8 @@ -5231,7 +5231,7 @@ sub_81130BC: @ 81130BC adds r0, r4, 0 bl sub_8113390 ldr r0, _08113108 @ =0x00004039 - ldr r1, _0811310C @ =gUnknown_300500C + ldr r1, _0811310C @ =gSaveBlock2Ptr ldr r1, [r1] ldrh r1, [r1, 0xE] bl VarSet @@ -5252,7 +5252,7 @@ _08113102: bx r0 .align 2, 0 _08113108: .4byte 0x00004039 -_0811310C: .4byte gUnknown_300500C +_0811310C: .4byte gSaveBlock2Ptr _08113110: .4byte 0x00004073 thumb_func_end sub_81130BC @@ -5517,7 +5517,7 @@ sub_81132E0: @ 81132E0 push {r4-r6,lr} adds r4, r0, 0 movs r5, 0 - ldr r2, _081132F8 @ =gUnknown_300500C + ldr r2, _081132F8 @ =gSaveBlock2Ptr ldr r0, [r2] ldrh r1, [r0, 0xE] ldr r0, _081132FC @ =0x000003e6 @@ -5526,7 +5526,7 @@ sub_81132E0: @ 81132E0 adds r6, r2, 0 b _08113338 .align 2, 0 -_081132F8: .4byte gUnknown_300500C +_081132F8: .4byte gSaveBlock2Ptr _081132FC: .4byte 0x000003e6 _08113300: ldr r0, _08113354 @ =0x00004039 @@ -5659,7 +5659,7 @@ _081133F4: _081133F6: movs r3, 0x1 _081133F8: - ldr r0, _0811340C @ =gUnknown_300500C + ldr r0, _0811340C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _08113410 @ =0x00000a98 adds r0, r1 @@ -5668,7 +5668,7 @@ _081133F8: pop {r0} bx r0 .align 2, 0 -_0811340C: .4byte gUnknown_300500C +_0811340C: .4byte gSaveBlock2Ptr _08113410: .4byte 0x00000a98 thumb_func_end sub_81133A4 @@ -5709,7 +5709,7 @@ _08113454: .4byte gUnknown_2021CD0 _08113458: .4byte gUnknown_84178DA _0811345C: ldr r0, _0811346C @ =gUnknown_2021CD0 - ldr r1, _08113470 @ =gUnknown_3005008 + ldr r1, _08113470 @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _08113474 @ =0x00003a4c adds r1, r2 @@ -5717,7 +5717,7 @@ _0811345C: b _081134B2 .align 2, 0 _0811346C: .4byte gUnknown_2021CD0 -_08113470: .4byte gUnknown_3005008 +_08113470: .4byte gSaveBlock1Ptr _08113474: .4byte 0x00003a4c _08113478: ldr r4, _08113498 @ =gUnknown_2021CD0 @@ -6030,7 +6030,7 @@ _081136D0: .4byte gUnknown_203B048 thumb_func_start sub_81136D4 sub_81136D4: @ 81136D4 push {lr} - ldr r0, _08113728 @ =gUnknown_3005008 + ldr r0, _08113728 @ =gSaveBlock1Ptr ldr r2, [r0] movs r1, 0x4 ldrsb r1, [r2, r1] @@ -6075,7 +6075,7 @@ _08113724: movs r0, 0x1 b _08113742 .align 2, 0 -_08113728: .4byte gUnknown_3005008 +_08113728: .4byte gSaveBlock1Ptr _0811372C: .4byte 0x0000090e _08113730: .4byte 0x00002e01 _08113734: .4byte 0x00003a01 @@ -8112,7 +8112,7 @@ sub_811464C: @ 811464C bl sub_8115834 adds r0, r5, 0 bl sub_8115834 - ldr r0, _08114700 @ =gUnknown_300500C + ldr r0, _08114700 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 bl UnkTextUtil_SetPtrI @@ -8146,7 +8146,7 @@ sub_811464C: @ 811464C _081146F4: .4byte gUnknown_2021CD0 _081146F8: .4byte gUnknown_2021CF0 _081146FC: .4byte gUnknown_2021D04 -_08114700: .4byte gUnknown_300500C +_08114700: .4byte gSaveBlock2Ptr _08114704: .4byte gUnknown_8456AE4 _08114708: .4byte gUnknown_2021D18 _0811470C: .4byte gUnknown_841A4C6 @@ -9166,7 +9166,7 @@ _08114E84: movs r0, 0x4 adds r1, r4, 0 bl UnkTextUtil_SetPtrI - ldr r0, _08114F0C @ =gUnknown_300500C + ldr r0, _08114F0C @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x5 bl UnkTextUtil_SetPtrI @@ -9184,7 +9184,7 @@ _08114E84: _08114F00: .4byte gUnknown_2021CD0 _08114F04: .4byte gUnknown_2021CF0 _08114F08: .4byte gUnknown_2021D04 -_08114F0C: .4byte gUnknown_300500C +_08114F0C: .4byte gSaveBlock2Ptr _08114F10: .4byte gUnknown_2021D18 _08114F14: .4byte gUnknown_841AA01 _08114F18: @@ -9439,11 +9439,11 @@ _0811510C: beq _08115194 b _081151AC _08115112: - ldr r0, _08115134 @ =gUnknown_300500C + ldr r0, _08115134 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 bl UnkTextUtil_SetPtrI - ldr r0, _08115138 @ =gUnknown_3005008 + ldr r0, _08115138 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _0811513C @ =0x00003a4c adds r1, r0 @@ -9454,13 +9454,13 @@ _08115112: bl UnkTextUtil_StringExpandPlaceholders b _081151AC .align 2, 0 -_08115134: .4byte gUnknown_300500C -_08115138: .4byte gUnknown_3005008 +_08115134: .4byte gSaveBlock2Ptr +_08115138: .4byte gSaveBlock1Ptr _0811513C: .4byte 0x00003a4c _08115140: .4byte gUnknown_2021D18 _08115144: .4byte gUnknown_841A2E1 _08115148: - ldr r0, _08115180 @ =gUnknown_3005008 + ldr r0, _08115180 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _08115184 @ =0x00003a4c adds r1, r0 @@ -9470,7 +9470,7 @@ _08115148: movs r1, 0 movs r2, 0x1 bl sub_8113EAC - ldr r0, _08115188 @ =gUnknown_300500C + ldr r0, _08115188 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x2 bl UnkTextUtil_SetPtrI @@ -9483,9 +9483,9 @@ _08115148: bl UnkTextUtil_StringExpandPlaceholders b _081151AC .align 2, 0 -_08115180: .4byte gUnknown_3005008 +_08115180: .4byte gSaveBlock1Ptr _08115184: .4byte 0x00003a4c -_08115188: .4byte gUnknown_300500C +_08115188: .4byte gSaveBlock2Ptr _0811518C: .4byte gUnknown_2021D18 _08115190: .4byte gUnknown_841A312 _08115194: @@ -10062,7 +10062,7 @@ sub_81155E0: @ 81155E0 ldrb r0, [r7, 0x1] cmp r0, 0 bne _08115690 - ldr r0, _08115640 @ =gUnknown_300500C + ldr r0, _08115640 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 bl UnkTextUtil_SetPtrI @@ -10083,7 +10083,7 @@ sub_81155E0: @ 81155E0 b _08115670 .align 2, 0 _0811563C: .4byte gUnknown_2021CD0 -_08115640: .4byte gUnknown_300500C +_08115640: .4byte gSaveBlock2Ptr _08115644: .4byte gUnknown_841A8D4 _08115648: ldr r4, _0811567C @ =gUnknown_2021CF0 diff --git a/asm/region_map.s b/asm/region_map.s index d8962e7d5..4567e2bf7 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -1232,14 +1232,14 @@ _080C0838: ldr r0, [r0] cmp r0, 0 bne _080C0878 - ldr r0, _080C0874 @ =gUnknown_30030F0 + ldr r0, _080C0874 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 b _080C087C .align 2, 0 _080C086C: .4byte gUnknown_20399D4 _080C0870: .4byte 0x000047bc -_080C0874: .4byte gUnknown_30030F0 +_080C0874: .4byte gMain _080C0878: bl SetMainCallback2 _080C087C: @@ -2765,7 +2765,7 @@ sub_80C1478: @ 80C1478 ands r0, r2 orrs r0, r1 str r0, [sp, 0x4] - ldr r0, _080C1598 @ =gUnknown_30030F0 + ldr r0, _080C1598 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -2786,7 +2786,7 @@ sub_80C1478: @ 80C1478 strb r0, [r1] movs r6, 0x1 _080C150E: - ldr r0, _080C1598 @ =gUnknown_30030F0 + ldr r0, _080C1598 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -2812,7 +2812,7 @@ _080C150E: strb r0, [r1] movs r6, 0x1 _080C1542: - ldr r2, _080C1598 @ =gUnknown_30030F0 + ldr r2, _080C1598 @ =gMain ldrh r1, [r2, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2846,7 +2846,7 @@ _080C1588: .4byte 0x00001cd6 _080C158C: .4byte 0x0000ffff _080C1590: .4byte 0x00001cd8 _080C1594: .4byte 0x00001cda -_080C1598: .4byte gUnknown_30030F0 +_080C1598: .4byte gMain _080C159C: .4byte 0x00001ccc _080C15A0: .4byte 0x00001cdc _080C15A4: .4byte 0x00001ccb @@ -3824,7 +3824,7 @@ _080C1D94: .4byte 0x00003d4e _080C1D98: .4byte gUnknown_20399DC _080C1D9C: .4byte 0x00003d4c _080C1DA0: - ldr r0, _080C1DE0 @ =gUnknown_30030F0 + ldr r0, _080C1DE0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -3859,7 +3859,7 @@ _080C1DD8: strb r0, [r1] b _080C1DFE .align 2, 0 -_080C1DE0: .4byte gUnknown_30030F0 +_080C1DE0: .4byte gMain _080C1DE4: .4byte gUnknown_20399DC _080C1DE8: .4byte 0x00003d48 _080C1DEC: .4byte 0x00003d49 @@ -6296,7 +6296,7 @@ sub_80C31C0: @ 80C31C0 ldr r4, [r3] strh r5, [r4, 0x8] strh r5, [r4, 0xA] - ldr r2, _080C327C @ =gUnknown_30030F0 + ldr r2, _080C327C @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 @@ -6385,7 +6385,7 @@ _080C3254: b _080C331A .align 2, 0 _080C3278: .4byte gUnknown_20399E4 -_080C327C: .4byte gUnknown_30030F0 +_080C327C: .4byte gMain _080C3280: .4byte 0x0000fffe _080C3284: .4byte 0x000d0015 _080C3288: .4byte 0x000b0015 @@ -7384,7 +7384,7 @@ _080C3AFC: .4byte gUnknown_20399E4 thumb_func_start sub_80C3B00 sub_80C3B00: @ 80C3B00 push {lr} - ldr r0, _080C3B24 @ =gUnknown_3005008 + ldr r0, _080C3B24 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -7400,7 +7400,7 @@ sub_80C3B00: @ 80C3B00 pop {r1} bx r1 .align 2, 0 -_080C3B24: .4byte gUnknown_3005008 +_080C3B24: .4byte gSaveBlock1Ptr thumb_func_end sub_80C3B00 thumb_func_start sub_80C3B28 @@ -7410,7 +7410,7 @@ sub_80C3B28: @ 80C3B28 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _080C3B58 @ =gUnknown_3005008 + ldr r0, _080C3B58 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -7429,7 +7429,7 @@ sub_80C3B28: @ 80C3B28 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080C3B58: .4byte gUnknown_3005008 +_080C3B58: .4byte gSaveBlock1Ptr _080C3B5C: .4byte _080C3B60 .align 2, 0 _080C3B60: @@ -7452,7 +7452,7 @@ _080C3B84: ldrh r1, [r0] ldrh r0, [r0, 0x4] mov r8, r0 - ldr r0, _080C3BA8 @ =gUnknown_3005008 + ldr r0, _080C3BA8 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r4, [r0] ldrh r5, [r0, 0x2] @@ -7460,9 +7460,9 @@ _080C3B84: .align 2, 0 _080C3BA0: .4byte gUnknown_20399E4 _080C3BA4: .4byte gUnknown_2036DFC -_080C3BA8: .4byte gUnknown_3005008 +_080C3BA8: .4byte gSaveBlock1Ptr _080C3BAC: - ldr r4, _080C3BE8 @ =gUnknown_3005008 + ldr r4, _080C3BE8 @ =gSaveBlock1Ptr ldr r1, [r4] adds r0, r1, 0 adds r0, 0x24 @@ -7492,10 +7492,10 @@ _080C3BAC: ldrh r5, [r0, 0x2A] b _080C3C9A .align 2, 0 -_080C3BE8: .4byte gUnknown_3005008 +_080C3BE8: .4byte gSaveBlock1Ptr _080C3BEC: .4byte gUnknown_20399E4 _080C3BF0: - ldr r4, _080C3C24 @ =gUnknown_3005008 + ldr r4, _080C3C24 @ =gSaveBlock1Ptr ldr r1, [r4] movs r0, 0x14 ldrsb r0, [r1, r0] @@ -7521,7 +7521,7 @@ _080C3BF0: ldrh r5, [r0, 0x1A] b _080C3C9A .align 2, 0 -_080C3C24: .4byte gUnknown_3005008 +_080C3C24: .4byte gSaveBlock1Ptr _080C3C28: .4byte gUnknown_20399E4 _080C3C2C: ldr r4, _080C3C5C @ =gUnknown_20399E4 @@ -7531,7 +7531,7 @@ _080C3C2C: strh r1, [r0, 0x14] cmp r1, 0xC4 beq _080C3C68 - ldr r0, _080C3C64 @ =gUnknown_3005008 + ldr r0, _080C3C64 @ =gSaveBlock1Ptr ldr r0, [r0] adds r5, r0, 0 adds r5, 0x24 @@ -7549,9 +7549,9 @@ _080C3C2C: .align 2, 0 _080C3C5C: .4byte gUnknown_20399E4 _080C3C60: .4byte gUnknown_2036DFC -_080C3C64: .4byte gUnknown_3005008 +_080C3C64: .4byte gSaveBlock1Ptr _080C3C68: - ldr r0, _080C3D30 @ =gUnknown_3005008 + ldr r0, _080C3D30 @ =gSaveBlock1Ptr ldr r0, [r0] adds r5, r0, 0 adds r5, 0x14 @@ -7652,7 +7652,7 @@ _080C3D06: pop {r0} bx r0 .align 2, 0 -_080C3D30: .4byte gUnknown_3005008 +_080C3D30: .4byte gSaveBlock1Ptr _080C3D34: .4byte gUnknown_20399E4 _080C3D38: .4byte gUnknown_83F2178 _080C3D3C: .4byte gUnknown_83F1E60 @@ -7845,7 +7845,7 @@ _080C3F50: strh r2, [r1] movs r0, 0x7 strh r0, [r1, 0x2] - ldr r0, _080C3F74 @ =gUnknown_3005008 + ldr r0, _080C3F74 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -7857,7 +7857,7 @@ _080C3F6C: b _080C40B6 .align 2, 0 _080C3F70: .4byte gUnknown_20399E4 -_080C3F74: .4byte gUnknown_3005008 +_080C3F74: .4byte gSaveBlock1Ptr _080C3F78: ldr r0, _080C3F9C @ =gUnknown_20399E4 ldr r1, [r0] @@ -7865,7 +7865,7 @@ _080C3F78: strh r0, [r1] movs r2, 0x6 strh r2, [r1, 0x2] - ldr r0, _080C3FA0 @ =gUnknown_3005008 + ldr r0, _080C3FA0 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -7879,7 +7879,7 @@ _080C3F94: b _080C4136 .align 2, 0 _080C3F9C: .4byte gUnknown_20399E4 -_080C3FA0: .4byte gUnknown_3005008 +_080C3FA0: .4byte gSaveBlock1Ptr _080C3FA4: ldr r0, _080C3FAC @ =gUnknown_20399E4 ldr r1, [r0] @@ -7962,7 +7962,7 @@ _080C4028: .align 2, 0 _080C4030: .4byte gUnknown_20399E4 _080C4034: - ldr r0, _080C404C @ =gUnknown_3005008 + ldr r0, _080C404C @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -7974,7 +7974,7 @@ _080C4034: movs r0, 0x4 b _080C40D8 .align 2, 0 -_080C404C: .4byte gUnknown_3005008 +_080C404C: .4byte gSaveBlock1Ptr _080C4050: .4byte gUnknown_20399E4 _080C4054: cmp r0, 0x3 @@ -7986,7 +7986,7 @@ _080C4054: .align 2, 0 _080C4060: .4byte gUnknown_20399E4 _080C4064: - ldr r0, _080C4080 @ =gUnknown_3005008 + ldr r0, _080C4080 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -8002,7 +8002,7 @@ _080C4078: strh r0, [r1, 0x2] b _080C4136 .align 2, 0 -_080C4080: .4byte gUnknown_3005008 +_080C4080: .4byte gSaveBlock1Ptr _080C4084: .4byte gUnknown_20399E4 _080C4088: cmp r0, 0x28 @@ -8018,7 +8018,7 @@ _080C4092: .align 2, 0 _080C409C: .4byte gUnknown_20399E4 _080C40A0: - ldr r0, _080C40BC @ =gUnknown_3005008 + ldr r0, _080C40BC @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -8035,10 +8035,10 @@ _080C40B6: strh r0, [r1, 0x2] b _080C4136 .align 2, 0 -_080C40BC: .4byte gUnknown_3005008 +_080C40BC: .4byte gSaveBlock1Ptr _080C40C0: .4byte gUnknown_20399E4 _080C40C4: - ldr r0, _080C40E0 @ =gUnknown_3005008 + ldr r0, _080C40E0 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -8054,10 +8054,10 @@ _080C40D8: strh r0, [r1, 0x2] b _080C4136 .align 2, 0 -_080C40E0: .4byte gUnknown_3005008 +_080C40E0: .4byte gSaveBlock1Ptr _080C40E4: .4byte gUnknown_20399E4 _080C40E8: - ldr r0, _080C4100 @ =gUnknown_3005008 + ldr r0, _080C4100 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -8069,10 +8069,10 @@ _080C40E8: movs r0, 0xD b _080C411C .align 2, 0 -_080C4100: .4byte gUnknown_3005008 +_080C4100: .4byte gSaveBlock1Ptr _080C4104: .4byte gUnknown_20399E4 _080C4108: - ldr r0, _080C4124 @ =gUnknown_3005008 + ldr r0, _080C4124 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r0, [r0, 0x5] lsls r0, 24 @@ -8088,7 +8088,7 @@ _080C411C: strh r0, [r1, 0x2] b _080C4136 .align 2, 0 -_080C4124: .4byte gUnknown_3005008 +_080C4124: .4byte gSaveBlock1Ptr _080C4128: .4byte gUnknown_20399E4 _080C412C: bl sub_80C3B28 @@ -8199,7 +8199,7 @@ sub_80C41D8: @ 80C41D8 bl AllocZeroed adds r1, r0, 0 str r1, [r4] - ldr r0, _080C4208 @ =gUnknown_300500C + ldr r0, _080C4208 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0x1 @@ -8210,7 +8210,7 @@ sub_80C41D8: @ 80C41D8 b _080C4218 .align 2, 0 _080C4204: .4byte gUnknown_20399E8 -_080C4208: .4byte gUnknown_300500C +_080C4208: .4byte gSaveBlock2Ptr _080C420C: .4byte gUnknown_83EF59C _080C4210: ldr r0, _080C423C @ =gUnknown_83EF524 @@ -8281,7 +8281,7 @@ sub_80C4244: @ 80C4244 mov r0, sp movs r2, 0x18 bl memcpy - ldr r0, _080C4318 @ =gUnknown_300500C + ldr r0, _080C4318 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0x1 @@ -8334,7 +8334,7 @@ _080C4308: .4byte gUnknown_83F1C54 _080C430C: .4byte gUnknown_83F1C64 _080C4310: .4byte gUnknown_8231CFC _080C4314: .4byte nullsub_8 -_080C4318: .4byte gUnknown_300500C +_080C4318: .4byte gSaveBlock2Ptr _080C431C: .4byte gUnknown_83EF29C _080C4320: .4byte gUnknown_202063C thumb_func_end sub_80C4244 @@ -9669,7 +9669,7 @@ sub_80C4D40: @ 80C4D40 bne _080C4D70 cmp r1, 0x5E bne _080C4D70 - ldr r0, _080C4D6C @ =gUnknown_3005008 + ldr r0, _080C4D6C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -9682,7 +9682,7 @@ sub_80C4D40: @ 80C4D40 b _080C4D72 .align 2, 0 _080C4D68: .4byte gUnknown_20399D4 -_080C4D6C: .4byte gUnknown_3005008 +_080C4D6C: .4byte gSaveBlock1Ptr _080C4D70: movs r0, 0 _080C4D72: @@ -10134,7 +10134,7 @@ _080C5114: lsrs r4, r0, 24 cmp r4, 0x1 bne _080C51DC - ldr r0, _080C514C @ =gUnknown_3005008 + ldr r0, _080C514C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -10156,7 +10156,7 @@ _080C5140: ldr r1, [r2] b _080C51AA .align 2, 0 -_080C514C: .4byte gUnknown_3005008 +_080C514C: .4byte gSaveBlock1Ptr _080C5150: .4byte gUnknown_20399FC _080C5154: movs r0, 0x1 diff --git a/asm/reset_save_heap.s b/asm/reset_save_heap.s index 9d07f4897..ef96d8e6d 100644 --- a/asm/reset_save_heap.s +++ b/asm/reset_save_heap.s @@ -18,7 +18,7 @@ sub_8079B7C: @ 8079B7C movs r1, 0x80 bl ClearGpuRegBits strh r4, [r5] - ldr r1, _08079BF0 @ =gUnknown_30030F0 + ldr r1, _08079BF0 @ =gMain ldr r0, _08079BF4 @ =0x00000439 adds r1, r0 ldrb r2, [r1] @@ -40,7 +40,7 @@ sub_8079B7C: @ 8079B7C _08079BC4: bl Sav2_ClearSetDefault _08079BC8: - ldr r0, _08079BFC @ =gUnknown_300500C + ldr r0, _08079BFC @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x15] lsls r0, 31 @@ -57,10 +57,10 @@ _08079BC8: bx r0 .align 2, 0 _08079BEC: .4byte 0x04000208 -_08079BF0: .4byte gUnknown_30030F0 +_08079BF0: .4byte gMain _08079BF4: .4byte 0x00000439 _08079BF8: .4byte gUnknown_30053A0 -_08079BFC: .4byte gUnknown_300500C +_08079BFC: .4byte gSaveBlock2Ptr _08079C00: .4byte gHeap _08079C04: .4byte sub_8056938 thumb_func_end sub_8079B7C diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 9142cc142..5244f3cb0 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -502,13 +502,13 @@ _08077BA6: beq _08077BC8 cmp r4, 0 bne _08077BC8 - ldr r0, _08077BC4 @ =gUnknown_300500C + ldr r0, _08077BC4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] b _08077BDA .align 2, 0 _08077BC0: .4byte gUnknown_2022B4C -_08077BC4: .4byte gUnknown_300500C +_08077BC4: .4byte gSaveBlock2Ptr _08077BC8: ldr r0, [r0] movs r1, 0x80 @@ -748,7 +748,7 @@ _08077DAC: beq _08077E10 cmp r7, 0 bne _08077E10 - ldr r5, _08077E04 @ =gUnknown_300500C + ldr r5, _08077E04 @ =gSaveBlock2Ptr ldr r0, [r5] ldrb r4, [r0, 0x8] movs r0, 0 @@ -781,7 +781,7 @@ _08077DAC: b _08077E54 .align 2, 0 _08077E00: .4byte gUnknown_2022B4C -_08077E04: .4byte gUnknown_300500C +_08077E04: .4byte gSaveBlock2Ptr _08077E08: .4byte gUnknown_20244DC _08077E0C: .4byte gUnknown_8239F8C _08077E10: diff --git a/asm/roamer.s b/asm/roamer.s index 8e7d2bc28..6e4d2f32e 100644 --- a/asm/roamer.s +++ b/asm/roamer.s @@ -8,7 +8,7 @@ thumb_func_start sub_8141C54 sub_8141C54: @ 8141C54 push {lr} - ldr r0, _08141C84 @ =gUnknown_3005008 + ldr r0, _08141C84 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08141C88 @ =0x000030d0 adds r0, r1 @@ -32,7 +32,7 @@ _08141C74: pop {r0} bx r0 .align 2, 0 -_08141C84: .4byte gUnknown_3005008 +_08141C84: .4byte gSaveBlock1Ptr _08141C88: .4byte 0x000030d0 _08141C8C: .4byte gUnknown_203F3AE _08141C90: .4byte gUnknown_203F3A8 @@ -70,7 +70,7 @@ _08141CBA: movs r2, 0x32 movs r3, 0x20 bl CreateMon - ldr r5, _08141D8C @ =gUnknown_3005008 + ldr r5, _08141D8C @ =gSaveBlock1Ptr ldr r1, [r5] ldr r4, _08141D90 @ =0x000030d0 adds r1, r4 @@ -154,7 +154,7 @@ _08141CBA: pop {r0} bx r0 .align 2, 0 -_08141D8C: .4byte gUnknown_3005008 +_08141D8C: .4byte gSaveBlock1Ptr _08141D90: .4byte 0x000030d0 _08141D94: .4byte gUnknown_203F3AE _08141D98: .4byte gUnknown_8466C58 @@ -180,7 +180,7 @@ UpdateLocationHistoryForRoamer: @ 8141DAC strb r1, [r0, 0x2] ldrb r1, [r0, 0x1] strb r1, [r0, 0x3] - ldr r1, _08141DD0 @ =gUnknown_3005008 + ldr r1, _08141DD0 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x4] strb r1, [r0] @@ -189,13 +189,13 @@ UpdateLocationHistoryForRoamer: @ 8141DAC bx lr .align 2, 0 _08141DCC: .4byte gUnknown_203F3A8 -_08141DD0: .4byte gUnknown_3005008 +_08141DD0: .4byte gSaveBlock1Ptr thumb_func_end UpdateLocationHistoryForRoamer thumb_func_start RoamerMoveToOtherLocationSet RoamerMoveToOtherLocationSet: @ 8141DD4 push {r4,r5,lr} - ldr r0, _08141E18 @ =gUnknown_3005008 + ldr r0, _08141E18 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08141E1C @ =0x000030d0 adds r0, r1 @@ -228,7 +228,7 @@ _08141E10: pop {r0} bx r0 .align 2, 0 -_08141E18: .4byte gUnknown_3005008 +_08141E18: .4byte gSaveBlock1Ptr _08141E1C: .4byte 0x000030d0 _08141E20: .4byte gUnknown_203F3AE _08141E24: .4byte gUnknown_8466C58 @@ -248,7 +248,7 @@ RoamerMove: @ 8141E28 bl RoamerMoveToOtherLocationSet b _08141EB2 _08141E42: - ldr r0, _08141E94 @ =gUnknown_3005008 + ldr r0, _08141E94 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08141E98 @ =0x000030d0 adds r0, r1 @@ -291,7 +291,7 @@ _08141E8C: strb r1, [r7, 0x1] b _08141EB2 .align 2, 0 -_08141E94: .4byte gUnknown_3005008 +_08141E94: .4byte gSaveBlock1Ptr _08141E98: .4byte 0x000030d0 _08141E9C: .4byte gUnknown_203F3AE _08141EA0: .4byte gUnknown_8466C58 @@ -315,7 +315,7 @@ IsRoamerAt: @ 8141EB8 lsrs r2, r0, 24 lsls r1, 24 lsrs r1, 24 - ldr r0, _08141EE4 @ =gUnknown_3005008 + ldr r0, _08141EE4 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r3, _08141EE8 @ =0x000030d0 adds r0, r3 @@ -332,7 +332,7 @@ IsRoamerAt: @ 8141EB8 movs r0, 0x1 b _08141EF2 .align 2, 0 -_08141EE4: .4byte gUnknown_3005008 +_08141EE4: .4byte gSaveBlock1Ptr _08141EE8: .4byte 0x000030d0 _08141EEC: .4byte gUnknown_203F3AE _08141EF0: @@ -348,7 +348,7 @@ CreateRoamerMonInstance: @ 8141EF8 sub sp, 0x4 ldr r5, _08141F84 @ =gUnknown_202402C bl ZeroEnemyPartyMons - ldr r4, _08141F88 @ =gUnknown_3005008 + ldr r4, _08141F88 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r1, _08141F8C @ =0x000030d0 adds r0, r1 @@ -407,7 +407,7 @@ CreateRoamerMonInstance: @ 8141EF8 bx r0 .align 2, 0 _08141F84: .4byte gUnknown_202402C -_08141F88: .4byte gUnknown_3005008 +_08141F88: .4byte gSaveBlock1Ptr _08141F8C: .4byte 0x000030d0 _08141F90: .4byte 0x000030dd _08141F94: .4byte 0x000030da @@ -421,7 +421,7 @@ _08141FA8: .4byte 0x000030e2 thumb_func_start TryStartRoamerEncounter TryStartRoamerEncounter: @ 8141FAC push {lr} - ldr r0, _08141FDC @ =gUnknown_3005008 + ldr r0, _08141FDC @ =gSaveBlock1Ptr ldr r1, [r0] ldrb r0, [r1, 0x4] ldrb r1, [r1, 0x5] @@ -441,7 +441,7 @@ TryStartRoamerEncounter: @ 8141FAC movs r0, 0x1 b _08141FE2 .align 2, 0 -_08141FDC: .4byte gUnknown_3005008 +_08141FDC: .4byte gSaveBlock1Ptr _08141FE0: movs r0, 0 _08141FE2: @@ -455,7 +455,7 @@ UpdateRoamerHPStatus: @ 8141FE8 adds r6, r0, 0 movs r1, 0x39 bl GetMonData - ldr r5, _08142014 @ =gUnknown_3005008 + ldr r5, _08142014 @ =gSaveBlock1Ptr ldr r1, [r5] ldr r4, _08142018 @ =0x000030d0 adds r1, r4 @@ -471,13 +471,13 @@ UpdateRoamerHPStatus: @ 8141FE8 pop {r0} bx r0 .align 2, 0 -_08142014: .4byte gUnknown_3005008 +_08142014: .4byte gSaveBlock1Ptr _08142018: .4byte 0x000030d0 thumb_func_end UpdateRoamerHPStatus thumb_func_start SetRoamerInactive SetRoamerInactive: @ 814201C - ldr r0, _0814202C @ =gUnknown_3005008 + ldr r0, _0814202C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08142030 @ =0x000030d0 adds r0, r1 @@ -485,7 +485,7 @@ SetRoamerInactive: @ 814201C strb r1, [r0, 0x13] bx lr .align 2, 0 -_0814202C: .4byte gUnknown_3005008 +_0814202C: .4byte gSaveBlock1Ptr _08142030: .4byte 0x000030d0 thumb_func_end SetRoamerInactive @@ -504,7 +504,7 @@ _08142040: .4byte gUnknown_203F3AE thumb_func_start sub_8142044 sub_8142044: @ 8142044 push {lr} - ldr r0, _08142064 @ =gUnknown_3005008 + ldr r0, _08142064 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08142068 @ =0x000030d0 adds r0, r1 @@ -518,7 +518,7 @@ sub_8142044: @ 8142044 ldrb r0, [r0, 0x14] b _08142072 .align 2, 0 -_08142064: .4byte gUnknown_3005008 +_08142064: .4byte gSaveBlock1Ptr _08142068: .4byte 0x000030d0 _0814206C: .4byte gUnknown_203F3AE _08142070: diff --git a/asm/save.s b/asm/save.s index 35466da0c..2d870bb99 100644 --- a/asm/save.s +++ b/asm/save.s @@ -1370,7 +1370,7 @@ _080DA1C6: UpdateSaveAddresses: @ 80DA1D4 push {r4,r5,lr} ldr r3, _080DA234 @ =gUnknown_30053B0 - ldr r0, _080DA238 @ =gUnknown_300500C + ldr r0, _080DA238 @ =gSaveBlock2Ptr ldr r2, _080DA23C @ =gUnknown_83FEC94 ldrh r1, [r2] ldr r0, [r0] @@ -1378,7 +1378,7 @@ UpdateSaveAddresses: @ 80DA1D4 str r0, [r3] ldrh r0, [r2, 0x2] strh r0, [r3, 0x4] - ldr r5, _080DA240 @ =gUnknown_3005008 + ldr r5, _080DA240 @ =gSaveBlock1Ptr adds r3, 0x8 adds r2, 0x4 movs r4, 0x3 @@ -1419,9 +1419,9 @@ _080DA216: bx r0 .align 2, 0 _080DA234: .4byte gUnknown_30053B0 -_080DA238: .4byte gUnknown_300500C +_080DA238: .4byte gSaveBlock2Ptr _080DA23C: .4byte gUnknown_83FEC94 -_080DA240: .4byte gUnknown_3005008 +_080DA240: .4byte gSaveBlock1Ptr _080DA244: .4byte gUnknown_3005010 thumb_func_end UpdateSaveAddresses @@ -1430,7 +1430,7 @@ sub_80DA248: @ 80DA248 push {r4-r6,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r1, _080DA268 @ =gUnknown_30030F0 + ldr r1, _080DA268 @ =gMain ldr r6, [r1, 0x20] movs r0, 0 str r0, [r1, 0x20] @@ -1443,7 +1443,7 @@ sub_80DA248: @ 80DA248 ldr r0, [r0] mov pc, r0 .align 2, 0 -_080DA268: .4byte gUnknown_30030F0 +_080DA268: .4byte gMain _080DA26C: .4byte _080DA270 .align 2, 0 _080DA270: @@ -1538,7 +1538,7 @@ _080DA328: ldr r1, _080DA35C @ =gUnknown_30053B0 bl save_write_to_flash _080DA346: - ldr r0, _080DA360 @ =gUnknown_30030F0 + ldr r0, _080DA360 @ =gMain str r6, [r0, 0x20] movs r0, 0 pop {r4-r6} @@ -1548,7 +1548,7 @@ _080DA346: _080DA354: .4byte EraseFlashSector _080DA358: .4byte 0x0000ffff _080DA35C: .4byte gUnknown_30053B0 -_080DA360: .4byte gUnknown_30030F0 +_080DA360: .4byte gMain thumb_func_end sub_80DA248 thumb_func_start TrySavingData @@ -1969,7 +1969,7 @@ _080DA664: .4byte _080DA7B4 .4byte _080DA7D4 _080DA694: - ldr r1, _080DA6A8 @ =gUnknown_3003530 + ldr r1, _080DA6A8 @ =gSoftResetDisabled movs r0, 0x1 strb r0, [r1] lsls r0, r4, 2 @@ -1980,7 +1980,7 @@ _080DA694: strh r1, [r0, 0x8] b _080DA7F6 .align 2, 0 -_080DA6A8: .4byte gUnknown_3003530 +_080DA6A8: .4byte gSoftResetDisabled _080DA6AC: bl sub_800AB9C ldr r0, _080DA6C0 @ =gUnknown_3005090 @@ -2140,7 +2140,7 @@ _080DA7D4: asrs r0, 16 cmp r0, 0x5 ble _080DA7F6 - ldr r1, _080DA7FC @ =gUnknown_3003530 + ldr r1, _080DA7FC @ =gSoftResetDisabled movs r0, 0 strb r0, [r1] adds r0, r4, 0 @@ -2150,7 +2150,7 @@ _080DA7F6: pop {r0} bx r0 .align 2, 0 -_080DA7FC: .4byte gUnknown_3003530 +_080DA7FC: .4byte gSoftResetDisabled thumb_func_end sub_80DA634 .align 2, 0 @ Don't pad with nop. diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s index ab6fd65f4..e44191cbb 100644 --- a/asm/save_failed_screen.s +++ b/asm/save_failed_screen.s @@ -182,7 +182,7 @@ _080F5274: .4byte gUnknown_3005420 _080F5278: .4byte gUnknown_8418CD9 _080F527C: .4byte gUnknown_203AB50 _080F5280: - ldr r0, _080F5294 @ =gUnknown_30030F0 + ldr r0, _080F5294 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -192,7 +192,7 @@ _080F5280: strb r0, [r2] b _080F52D6 .align 2, 0 -_080F5294: .4byte gUnknown_30030F0 +_080F5294: .4byte gMain _080F5298: movs r0, 0 movs r1, 0 diff --git a/asm/save_location.s b/asm/save_location.s index 2f8d6b64c..8a1031963 100644 --- a/asm/save_location.s +++ b/asm/save_location.s @@ -9,7 +9,7 @@ IsCurMapInLocationList: @ 810B6F4 push {r4,lr} adds r2, r0, 0 - ldr r0, _0810B724 @ =gUnknown_3005008 + ldr r0, _0810B724 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x4 ldrsb r1, [r0, r1] @@ -33,7 +33,7 @@ _0810B71A: movs r0, 0x1 b _0810B736 .align 2, 0 -_0810B724: .4byte gUnknown_3005008 +_0810B724: .4byte gSaveBlock1Ptr _0810B728: .4byte 0x0000ffff _0810B72C: adds r1, 0x2 @@ -87,16 +87,16 @@ TrySetPokeCenterWarpStatus: @ 810B76C bl IsCurMapPokeCenter cmp r0, 0 bne _0810B788 - ldr r0, _0810B784 @ =gUnknown_300500C + ldr r0, _0810B784 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0xFD ands r0, r1 b _0810B792 .align 2, 0 -_0810B784: .4byte gUnknown_300500C +_0810B784: .4byte gSaveBlock2Ptr _0810B788: - ldr r0, _0810B798 @ =gUnknown_300500C + ldr r0, _0810B798 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0x2 @@ -106,7 +106,7 @@ _0810B792: pop {r0} bx r0 .align 2, 0 -_0810B798: .4byte gUnknown_300500C +_0810B798: .4byte gSaveBlock2Ptr thumb_func_end TrySetPokeCenterWarpStatus thumb_func_start TrySetReloadWarpStatus @@ -115,16 +115,16 @@ TrySetReloadWarpStatus: @ 810B79C bl IsCurMapReloadLocation cmp r0, 0 bne _0810B7B8 - ldr r0, _0810B7B4 @ =gUnknown_300500C + ldr r0, _0810B7B4 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0xFB ands r0, r1 b _0810B7C2 .align 2, 0 -_0810B7B4: .4byte gUnknown_300500C +_0810B7B4: .4byte gSaveBlock2Ptr _0810B7B8: - ldr r0, _0810B7C8 @ =gUnknown_300500C + ldr r0, _0810B7C8 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0x4 @@ -134,7 +134,7 @@ _0810B7C2: pop {r0} bx r0 .align 2, 0 -_0810B7C8: .4byte gUnknown_300500C +_0810B7C8: .4byte gSaveBlock2Ptr thumb_func_end TrySetReloadWarpStatus thumb_func_start sub_810B7CC @@ -143,16 +143,16 @@ sub_810B7CC: @ 810B7CC bl sub_810B75C cmp r0, 0 bne _0810B7E8 - ldr r0, _0810B7E4 @ =gUnknown_300500C + ldr r0, _0810B7E4 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0xF7 ands r0, r1 b _0810B7F2 .align 2, 0 -_0810B7E4: .4byte gUnknown_300500C +_0810B7E4: .4byte gSaveBlock2Ptr _0810B7E8: - ldr r0, _0810B7F8 @ =gUnknown_300500C + ldr r0, _0810B7F8 @ =gSaveBlock2Ptr ldr r2, [r0] ldrb r1, [r2, 0x9] movs r0, 0x8 @@ -162,7 +162,7 @@ _0810B7F2: pop {r0} bx r0 .align 2, 0 -_0810B7F8: .4byte gUnknown_300500C +_0810B7F8: .4byte gSaveBlock2Ptr thumb_func_end sub_810B7CC thumb_func_start TrySetMapSaveWarpStatus @@ -177,7 +177,7 @@ TrySetMapSaveWarpStatus: @ 810B7FC thumb_func_start sub_810B810 sub_810B810: @ 810B810 - ldr r0, _0810B828 @ =gUnknown_300500C + ldr r0, _0810B828 @ =gSaveBlock2Ptr ldr r2, [r0] adds r2, 0xA8 ldr r0, [r2] @@ -190,12 +190,12 @@ sub_810B810: @ 810B810 str r0, [r2] bx lr .align 2, 0 -_0810B828: .4byte gUnknown_300500C +_0810B828: .4byte gSaveBlock2Ptr thumb_func_end sub_810B810 thumb_func_start sub_810B82C sub_810B82C: @ 810B82C - ldr r3, _0810B854 @ =gUnknown_300500C + ldr r3, _0810B854 @ =gSaveBlock2Ptr ldr r2, [r3] ldrb r1, [r2, 0x9] movs r0, 0x80 @@ -216,7 +216,7 @@ sub_810B82C: @ 810B82C str r0, [r2] bx lr .align 2, 0 -_0810B854: .4byte gUnknown_300500C +_0810B854: .4byte gSaveBlock2Ptr thumb_func_end sub_810B82C .align 2, 0 @ Don't pad with nop. diff --git a/asm/save_menu_util.s b/asm/save_menu_util.s index db7f73b86..547a9bc05 100644 --- a/asm/save_menu_util.s +++ b/asm/save_menu_util.s @@ -47,13 +47,13 @@ _080F800C: .4byte _080F80A8 .4byte _080F806C _080F8024: - ldr r0, _080F8030 @ =gUnknown_300500C + ldr r0, _080F8030 @ =gSaveBlock2Ptr ldr r1, [r0] adds r0, r5, 0 bl StringCopy b _080F80D8 .align 2, 0 -_080F8030: .4byte gUnknown_300500C +_080F8030: .4byte gSaveBlock2Ptr _080F8034: bl sub_806E25C cmp r0, 0 @@ -74,16 +74,16 @@ _080F804A: bl ConvertIntToDecimalStringN b _080F80D8 _080F805C: - ldr r4, _080F8068 @ =gUnknown_300500C + ldr r4, _080F8068 @ =gSaveBlock2Ptr ldr r0, [r4] ldrh r1, [r0, 0xE] adds r0, r5, 0 movs r2, 0 b _080F8076 .align 2, 0 -_080F8068: .4byte gUnknown_300500C +_080F8068: .4byte gSaveBlock2Ptr _080F806C: - ldr r4, _080F8094 @ =gUnknown_300500C + ldr r4, _080F8094 @ =gSaveBlock2Ptr ldr r0, [r4] ldrh r1, [r0, 0xE] adds r0, r5, 0 @@ -103,7 +103,7 @@ _080F8076: bl ConvertIntToDecimalStringN b _080F80D8 .align 2, 0 -_080F8094: .4byte gUnknown_300500C +_080F8094: .4byte gSaveBlock2Ptr _080F8098: ldr r0, _080F80A4 @ =gUnknown_2036DFC ldrb r1, [r0, 0x14] diff --git a/asm/scrcmd.s b/asm/scrcmd.s index d59671450..36f6d4797 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -2326,7 +2326,7 @@ ScrCmd_getplayerxy: @ 806B010 lsls r0, 16 lsrs r0, 16 bl sub_806E454 - ldr r2, _0806B048 @ =gUnknown_3005008 + ldr r2, _0806B048 @ =gSaveBlock1Ptr ldr r1, [r2] ldrh r1, [r1] strh r1, [r5] @@ -2338,7 +2338,7 @@ ScrCmd_getplayerxy: @ 806B010 pop {r1} bx r1 .align 2, 0 -_0806B048: .4byte gUnknown_3005008 +_0806B048: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_getplayerxy thumb_func_start ScrCmd_getpartysize @@ -2609,7 +2609,7 @@ ScrCmd_applymovement: @ 806B200 adds r3, r0, 0 lsls r0, r4, 24 lsrs r0, 24 - ldr r1, _0806B23C @ =gUnknown_3005008 + ldr r1, _0806B23C @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2621,7 +2621,7 @@ ScrCmd_applymovement: @ 806B200 pop {r1} bx r1 .align 2, 0 -_0806B23C: .4byte gUnknown_3005008 +_0806B23C: .4byte gSaveBlock1Ptr _0806B240: .4byte gUnknown_20370B0 thumb_func_end ScrCmd_applymovement @@ -2695,7 +2695,7 @@ ScrCmd_waitmovement: @ 806B2B0 strh r1, [r0] _0806B2CC: ldr r1, _0806B2F4 @ =gUnknown_20370B2 - ldr r0, _0806B2F8 @ =gUnknown_3005008 + ldr r0, _0806B2F8 @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0x4 ldrsb r0, [r2, r0] @@ -2714,7 +2714,7 @@ _0806B2CC: .align 2, 0 _0806B2F0: .4byte gUnknown_20370B0 _0806B2F4: .4byte gUnknown_20370B2 -_0806B2F8: .4byte gUnknown_3005008 +_0806B2F8: .4byte gSaveBlock1Ptr _0806B2FC: .4byte gUnknown_20370B4 _0806B300: .4byte WaitForMovementFinish thumb_func_end ScrCmd_waitmovement @@ -2768,7 +2768,7 @@ ScrCmd_removeobject: @ 806B358 bl VarGet lsls r0, 24 lsrs r0, 24 - ldr r1, _0806B37C @ =gUnknown_3005008 + ldr r1, _0806B37C @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2777,7 +2777,7 @@ ScrCmd_removeobject: @ 806B358 pop {r1} bx r1 .align 2, 0 -_0806B37C: .4byte gUnknown_3005008 +_0806B37C: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_removeobject thumb_func_start ScrCmd_removeobject_at @@ -2813,7 +2813,7 @@ ScrCmd_addobject: @ 806B3B0 bl VarGet lsls r0, 24 lsrs r0, 24 - ldr r1, _0806B3D4 @ =gUnknown_3005008 + ldr r1, _0806B3D4 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2822,7 +2822,7 @@ ScrCmd_addobject: @ 806B3B0 pop {r1} bx r1 .align 2, 0 -_0806B3D4: .4byte gUnknown_3005008 +_0806B3D4: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_addobject thumb_func_start ScrCmd_addobject_at @@ -2876,7 +2876,7 @@ ScrCmd_setobjectxy: @ 806B408 bl VarGet lsls r5, 24 lsrs r5, 24 - ldr r1, _0806B46C @ =gUnknown_3005008 + ldr r1, _0806B46C @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2894,7 +2894,7 @@ ScrCmd_setobjectxy: @ 806B408 pop {r1} bx r1 .align 2, 0 -_0806B46C: .4byte gUnknown_3005008 +_0806B46C: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_setobjectxy thumb_func_start ScrCmd_setobjectxyperm @@ -2946,7 +2946,7 @@ ScrCmd_moveobjectoffscreen: @ 806B4C8 bl VarGet lsls r0, 24 lsrs r0, 24 - ldr r1, _0806B4EC @ =gUnknown_3005008 + ldr r1, _0806B4EC @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -2955,7 +2955,7 @@ ScrCmd_moveobjectoffscreen: @ 806B4C8 pop {r1} bx r1 .align 2, 0 -_0806B4EC: .4byte gUnknown_3005008 +_0806B4EC: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_moveobjectoffscreen thumb_func_start ScrCmd_showobject_at @@ -3106,7 +3106,7 @@ ScrCmd_turnobject: @ 806B5F4 str r1, [r4, 0x8] lsls r0, 24 lsrs r0, 24 - ldr r1, _0806B624 @ =gUnknown_3005008 + ldr r1, _0806B624 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -3116,7 +3116,7 @@ ScrCmd_turnobject: @ 806B5F4 pop {r1} bx r1 .align 2, 0 -_0806B624: .4byte gUnknown_3005008 +_0806B624: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_turnobject thumb_func_start ScrCmd_setobjectmovementtype @@ -3451,7 +3451,7 @@ sub_806B88C: @ 806B88C thumb_func_start sub_806B898 sub_806B898: @ 806B898 push {r4,lr} - ldr r0, _0806B8F0 @ =gUnknown_30030F0 + ldr r0, _0806B8F0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3490,7 +3490,7 @@ sub_806B898: @ 806B898 bl sub_8069964 b _0806B922 .align 2, 0 -_0806B8F0: .4byte gUnknown_30030F0 +_0806B8F0: .4byte gMain _0806B8F4: .4byte gUnknown_3005070 _0806B8F8: .4byte gUnknown_203ADFA _0806B8FC: @@ -3563,7 +3563,7 @@ _0806B968: thumb_func_start sub_806B96C sub_806B96C: @ 806B96C push {lr} - ldr r2, _0806B988 @ =gUnknown_30030F0 + ldr r2, _0806B988 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x40 ands r0, r1 @@ -3576,7 +3576,7 @@ sub_806B96C: @ 806B96C movs r0, 0x1 b _0806BA36 .align 2, 0 -_0806B988: .4byte gUnknown_30030F0 +_0806B988: .4byte gMain _0806B98C: .4byte gUnknown_20370D4 _0806B990: ldrh r1, [r2, 0x2C] @@ -4596,7 +4596,7 @@ ScrCmd_givemoney: @ 806C124 str r0, [r4, 0x8] cmp r1, 0 bne _0806C14A - ldr r0, _0806C154 @ =gUnknown_3005008 + ldr r0, _0806C154 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -4609,7 +4609,7 @@ _0806C14A: pop {r1} bx r1 .align 2, 0 -_0806C154: .4byte gUnknown_3005008 +_0806C154: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_givemoney thumb_func_start ScrCmd_takemoney @@ -4624,7 +4624,7 @@ ScrCmd_takemoney: @ 806C158 str r0, [r4, 0x8] cmp r1, 0 bne _0806C17E - ldr r0, _0806C188 @ =gUnknown_3005008 + ldr r0, _0806C188 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -4637,7 +4637,7 @@ _0806C17E: pop {r1} bx r1 .align 2, 0 -_0806C188: .4byte gUnknown_3005008 +_0806C188: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_takemoney thumb_func_start ScrCmd_checkmoney @@ -4653,7 +4653,7 @@ ScrCmd_checkmoney: @ 806C18C cmp r1, 0 bne _0806C1BA ldr r4, _0806C1C4 @ =gUnknown_20370D0 - ldr r0, _0806C1C8 @ =gUnknown_3005008 + ldr r0, _0806C1C8 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -4670,7 +4670,7 @@ _0806C1BA: bx r1 .align 2, 0 _0806C1C4: .4byte gUnknown_20370D0 -_0806C1C8: .4byte gUnknown_3005008 +_0806C1C8: .4byte gSaveBlock1Ptr thumb_func_end ScrCmd_checkmoney thumb_func_start sub_806C1CC @@ -4694,7 +4694,7 @@ sub_806C1CC: @ 806C1CC lsrs r0, 24 cmp r0, 0x1 beq _0806C20A - ldr r0, _0806C218 @ =gUnknown_3005008 + ldr r0, _0806C218 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -4710,7 +4710,7 @@ _0806C20A: bx r1 .align 2, 0 _0806C214: .4byte sub_809D6D4 -_0806C218: .4byte gUnknown_3005008 +_0806C218: .4byte gSaveBlock1Ptr thumb_func_end sub_806C1CC thumb_func_start sub_806C21C @@ -4734,7 +4734,7 @@ sub_806C228: @ 806C228 str r2, [r0, 0x8] cmp r1, 0 bne _0806C24E - ldr r0, _0806C254 @ =gUnknown_3005008 + ldr r0, _0806C254 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -4746,7 +4746,7 @@ _0806C24E: pop {r1} bx r1 .align 2, 0 -_0806C254: .4byte gUnknown_3005008 +_0806C254: .4byte gSaveBlock1Ptr thumb_func_end sub_806C228 thumb_func_start sub_806C258 @@ -5134,7 +5134,7 @@ ScrCmd_setrespawn: @ 806C4D4 thumb_func_start ScrCmd_checkplayergender ScrCmd_checkplayergender: @ 806C4F0 ldr r1, _0806C500 @ =gUnknown_20370D0 - ldr r0, _0806C504 @ =gUnknown_300500C + ldr r0, _0806C504 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] strh r0, [r1] @@ -5142,7 +5142,7 @@ ScrCmd_checkplayergender: @ 806C4F0 bx lr .align 2, 0 _0806C500: .4byte gUnknown_20370D0 -_0806C504: .4byte gUnknown_300500C +_0806C504: .4byte gSaveBlock2Ptr thumb_func_end ScrCmd_checkplayergender thumb_func_start ScrCmd_playmoncry diff --git a/asm/script.s b/asm/script.s index 556c95856..65ef2028e 100644 --- a/asm/script.s +++ b/asm/script.s @@ -816,7 +816,7 @@ _08069CAC: thumb_func_start CalculateRamScriptChecksum CalculateRamScriptChecksum: @ 8069CB0 push {lr} - ldr r0, _08069CCC @ =gUnknown_3005008 + ldr r0, _08069CCC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08069CD0 @ =0x00003620 adds r0, r1 @@ -828,7 +828,7 @@ CalculateRamScriptChecksum: @ 8069CB0 pop {r1} bx r1 .align 2, 0 -_08069CCC: .4byte gUnknown_3005008 +_08069CCC: .4byte gSaveBlock1Ptr _08069CD0: .4byte 0x00003620 thumb_func_end CalculateRamScriptChecksum @@ -838,7 +838,7 @@ ClearRamScript: @ 8069CD4 sub sp, 0x4 movs r0, 0 str r0, [sp] - ldr r0, _08069CF4 @ =gUnknown_3005008 + ldr r0, _08069CF4 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, _08069CF8 @ =0x0000361c adds r1, r0 @@ -849,7 +849,7 @@ ClearRamScript: @ 8069CD4 pop {r0} bx r0 .align 2, 0 -_08069CF4: .4byte gUnknown_3005008 +_08069CF4: .4byte gSaveBlock1Ptr _08069CF8: .4byte 0x0000361c _08069CFC: .4byte 0x050000fb thumb_func_end ClearRamScript @@ -874,7 +874,7 @@ InitRamScript: @ 8069D00 lsrs r7, r3, 24 lsls r0, 24 lsrs r6, r0, 24 - ldr r0, _08069D64 @ =gUnknown_3005008 + ldr r0, _08069D64 @ =gSaveBlock1Ptr mov r10, r0 ldr r5, [r0] ldr r1, _08069D68 @ =0x00003620 @@ -903,7 +903,7 @@ InitRamScript: @ 8069D00 movs r0, 0x1 b _08069D7A .align 2, 0 -_08069D64: .4byte gUnknown_3005008 +_08069D64: .4byte gSaveBlock1Ptr _08069D68: .4byte 0x00003620 _08069D6C: .4byte 0x000003e3 _08069D70: .4byte 0x00003624 @@ -927,7 +927,7 @@ GetRamScript: @ 8069D8C adds r4, r1, 0 lsls r0, 24 lsrs r3, r0, 24 - ldr r6, _08069DDC @ =gUnknown_3005008 + ldr r6, _08069DDC @ =gSaveBlock1Ptr ldr r5, [r6] ldr r0, _08069DE0 @ =0x00003620 adds r2, r5, r0 @@ -962,7 +962,7 @@ GetRamScript: @ 8069D8C adds r0, r5, r1 b _08069DF6 .align 2, 0 -_08069DDC: .4byte gUnknown_3005008 +_08069DDC: .4byte gSaveBlock1Ptr _08069DE0: .4byte 0x00003620 _08069DE4: .4byte gUnknown_20370A4 _08069DE8: .4byte 0x0000361c @@ -980,7 +980,7 @@ _08069DF6: thumb_func_start sub_8069DFC sub_8069DFC: @ 8069DFC push {r4,lr} - ldr r4, _08069E34 @ =gUnknown_3005008 + ldr r4, _08069E34 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r2, _08069E38 @ =0x00003620 adds r1, r0, r2 @@ -1006,7 +1006,7 @@ sub_8069DFC: @ 8069DFC movs r0, 0x1 b _08069E42 .align 2, 0 -_08069E34: .4byte gUnknown_3005008 +_08069E34: .4byte gSaveBlock1Ptr _08069E38: .4byte 0x00003620 _08069E3C: .4byte 0x0000361c _08069E40: @@ -1020,7 +1020,7 @@ _08069E42: thumb_func_start sub_8069E48 sub_8069E48: @ 8069E48 push {r4-r6,lr} - ldr r6, _08069E88 @ =gUnknown_3005008 + ldr r6, _08069E88 @ =gSaveBlock1Ptr ldr r5, [r6] ldr r0, _08069E8C @ =0x00003620 adds r4, r5, r0 @@ -1050,7 +1050,7 @@ sub_8069E48: @ 8069E48 adds r0, r5, r1 b _08069E9E .align 2, 0 -_08069E88: .4byte gUnknown_3005008 +_08069E88: .4byte gSaveBlock1Ptr _08069E8C: .4byte 0x00003620 _08069E90: .4byte 0x0000361c _08069E94: .4byte 0x00003624 diff --git a/asm/script_menu.s b/asm/script_menu.s index f1f1d260e..09ec135fb 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -482,7 +482,7 @@ _0809CCDE: _0809CCE2: lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0809CD20 @ =gUnknown_30030F0 + ldr r0, _0809CD20 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xC0 ands r0, r1 @@ -511,7 +511,7 @@ _0809CCF8: strh r0, [r1] b _0809CD2C .align 2, 0 -_0809CD20: .4byte gUnknown_30030F0 +_0809CD20: .4byte gMain _0809CD24: .4byte gUnknown_20370D0 _0809CD28: ldr r0, _0809CD44 @ =gUnknown_20370D0 diff --git a/asm/script_pokemon_util_80A0058.s b/asm/script_pokemon_util_80A0058.s index 431e0cae7..ec76cd2b0 100644 --- a/asm/script_pokemon_util_80A0058.s +++ b/asm/script_pokemon_util_80A0058.s @@ -381,7 +381,7 @@ _080A0330: .4byte gUnknown_2024284 thumb_func_start sub_80A0334 sub_80A0334: @ 80A0334 push {lr} - ldr r1, _080A0348 @ =gUnknown_30030F0 + ldr r1, _080A0348 @ =gMain ldr r0, _080A034C @ =sub_80A0350 str r0, [r1, 0x8] movs r0, 0 @@ -389,7 +389,7 @@ sub_80A0334: @ 80A0334 pop {r0} bx r0 .align 2, 0 -_080A0348: .4byte gUnknown_30030F0 +_080A0348: .4byte gMain _080A034C: .4byte sub_80A0350 thumb_func_end sub_80A0334 @@ -423,7 +423,7 @@ _080A037C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music thumb_func_start sub_80A0380 sub_80A0380: @ 80A0380 push {lr} - ldr r1, _080A0394 @ =gUnknown_30030F0 + ldr r1, _080A0394 @ =gMain ldr r0, _080A0398 @ =sub_80A039C str r0, [r1, 0x8] movs r0, 0x1 @@ -431,7 +431,7 @@ sub_80A0380: @ 80A0380 pop {r0} bx r0 .align 2, 0 -_080A0394: .4byte gUnknown_30030F0 +_080A0394: .4byte gMain _080A0398: .4byte sub_80A039C thumb_func_end sub_80A0380 diff --git a/asm/seagallop.s b/asm/seagallop.s index ac16351b0..9e189c02e 100644 --- a/asm/seagallop.s +++ b/asm/seagallop.s @@ -23,7 +23,7 @@ _08146E90: .4byte sub_8146E94 sub_8146E94: @ 8146E94 push {r4,lr} sub sp, 0x8 - ldr r0, _08146EB4 @ =gUnknown_30030F0 + ldr r0, _08146EB4 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -38,7 +38,7 @@ _08146EA8: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08146EB4: .4byte gUnknown_30030F0 +_08146EB4: .4byte gMain _08146EB8: .4byte _08146EBC .align 2, 0 _08146EBC: @@ -155,7 +155,7 @@ _08146FBE: movs r3, 0 bl BeginNormalPaletteFade _08146FCE: - ldr r1, _08146FE0 @ =gUnknown_30030F0 + ldr r1, _08146FE0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -164,7 +164,7 @@ _08146FCE: strb r0, [r1] b _0814703C .align 2, 0 -_08146FE0: .4byte gUnknown_30030F0 +_08146FE0: .4byte gMain _08146FE4: bl sub_814731C ldr r0, _08147044 @ =sub_8147058 @@ -193,7 +193,7 @@ _08146FE4: bl CreateTask ldr r0, _08147050 @ =sub_814706C bl SetMainCallback2 - ldr r0, _08147054 @ =gUnknown_30030F0 + ldr r0, _08147054 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -209,7 +209,7 @@ _08147044: .4byte sub_8147058 _08147048: .4byte 0x00001888 _0814704C: .4byte sub_8147084 _08147050: .4byte sub_814706C -_08147054: .4byte gUnknown_30030F0 +_08147054: .4byte gMain thumb_func_end sub_8146E94 thumb_func_start sub_8147058 diff --git a/asm/shop.s b/asm/shop.s index 6c6fc2078..a99066578 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -454,7 +454,7 @@ sub_809AE00: @ 809AE00 sub_809AE14: @ 809AE14 push {r4,r5,lr} sub sp, 0xC - ldr r0, _0809AE90 @ =gUnknown_30030F0 + ldr r0, _0809AE90 @ =gMain movs r1, 0x87 lsls r1, 3 adds r5, r0, r1 @@ -507,7 +507,7 @@ _0809AE2C: bl SetMainCallback2 b _0809AF64 .align 2, 0 -_0809AE90: .4byte gUnknown_30030F0 +_0809AE90: .4byte gMain _0809AE94: .4byte gUnknown_2039934 _0809AE98: .4byte sub_809BBC0 _0809AE9C: .4byte gUnknown_3005E70 @@ -2211,7 +2211,7 @@ _0809BC1A: lsls r1, 16 lsrs r1, 16 str r1, [r0, 0x8] - ldr r0, _0809BC70 @ =gUnknown_3005008 + ldr r0, _0809BC70 @ =gSaveBlock1Ptr ldr r0, [r0] movs r2, 0xA4 lsls r2, 2 @@ -2226,7 +2226,7 @@ _0809BC1A: bl sub_813F75C b _0809BC8E .align 2, 0 -_0809BC70: .4byte gUnknown_3005008 +_0809BC70: .4byte gSaveBlock1Ptr _0809BC74: .4byte gUnknown_8416842 _0809BC78: .4byte sub_809BF98 _0809BC7C: @@ -2296,7 +2296,7 @@ sub_809BCA0: @ 809BCA0 bl sub_809BB44 movs r0, 0 bl schedule_bg_copy_tilemap_to_vram - ldr r0, _0809BD50 @ =gUnknown_3005008 + ldr r0, _0809BD50 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -2322,7 +2322,7 @@ _0809BD40: .4byte gUnknown_3005098 _0809BD44: .4byte gUnknown_2021CD0 _0809BD48: .4byte gUnknown_2021D18 _0809BD4C: .4byte gUnknown_8416749 -_0809BD50: .4byte gUnknown_3005008 +_0809BD50: .4byte gSaveBlock1Ptr _0809BD54: .4byte gUnknown_2039934 _0809BD58: ldr r1, _0809BD80 @ =gUnknown_2039934 @@ -2385,7 +2385,7 @@ sub_809BD8C: @ 809BD8C _0809BDCC: .4byte gUnknown_3005098 _0809BDD0: .4byte gUnknown_2039934 _0809BDD4: - ldr r0, _0809BE3C @ =gUnknown_30030F0 + ldr r0, _0809BE3C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2426,7 +2426,7 @@ _0809BDD4: bl sub_813F75C b _0809BE88 .align 2, 0 -_0809BE3C: .4byte gUnknown_30030F0 +_0809BE3C: .4byte gMain _0809BE40: .4byte gUnknown_2021CD0 _0809BE44: .4byte gUnknown_2021CF0 _0809BE48: .4byte gUnknown_2021D04 @@ -2527,7 +2527,7 @@ sub_809BF0C: @ 809BF0C lsrs r4, 24 movs r0, 0x26 bl IncrementGameStat - ldr r6, _0809BF58 @ =gUnknown_3005008 + ldr r6, _0809BF58 @ =gSaveBlock1Ptr ldr r0, [r6] movs r5, 0xA4 lsls r5, 2 @@ -2555,7 +2555,7 @@ sub_809BF0C: @ 809BF0C pop {r0} bx r0 .align 2, 0 -_0809BF58: .4byte gUnknown_3005008 +_0809BF58: .4byte gSaveBlock1Ptr _0809BF5C: .4byte gUnknown_2039934 _0809BF60: .4byte gUnknown_3005090 _0809BF64: .4byte sub_809BF68 @@ -2566,7 +2566,7 @@ sub_809BF68: @ 809BF68 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0809BF94 @ =gUnknown_30030F0 + ldr r0, _0809BF94 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2586,7 +2586,7 @@ _0809BF8E: pop {r0} bx r0 .align 2, 0 -_0809BF94: .4byte gUnknown_30030F0 +_0809BF94: .4byte gMain thumb_func_end sub_809BF68 thumb_func_start sub_809BF98 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index f65bae8f8..105e2850f 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -89,7 +89,7 @@ sub_813F898: @ 813F898 bl RunTasks bl AnimateSprites bl BuildOamBuffer - ldr r0, _0813F8BC @ =gUnknown_30030F0 + ldr r0, _0813F8BC @ =gMain movs r1, 0x87 lsls r1, 3 adds r4, r0, r1 @@ -100,7 +100,7 @@ sub_813F898: @ 813F898 beq _0813F8EC b _0813F916 .align 2, 0 -_0813F8BC: .4byte gUnknown_30030F0 +_0813F8BC: .4byte gMain _0813F8C0: bl sub_814104C cmp r0, 0 @@ -222,7 +222,7 @@ _0813F9A4: .align 2, 0 _0813F9B8: .4byte sub_813FBC0 _0813F9BC: - ldr r1, _0813F9F4 @ =gUnknown_30030F0 + ldr r1, _0813F9F4 @ =gMain ldrh r2, [r1, 0x2E] movs r0, 0x80 ands r0, r2 @@ -246,7 +246,7 @@ _0813F9BC: movs r0, 0x1 b _0813FBB6 .align 2, 0 -_0813F9F4: .4byte gUnknown_30030F0 +_0813F9F4: .4byte gMain _0813F9F8: .4byte gUnknown_203F3A0 _0813F9FC: movs r0, 0x80 @@ -378,7 +378,7 @@ _0813FB08: bl sub_8141180 cmp r0, 0 bne _0813FBB8 - ldr r0, _0813FB40 @ =gUnknown_30030F0 + ldr r0, _0813FB40 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -398,7 +398,7 @@ _0813FB08: movs r0, 0x4 b _0813FBB6 .align 2, 0 -_0813FB40: .4byte gUnknown_30030F0 +_0813FB40: .4byte gMain _0813FB44: .4byte gUnknown_203F3A0 _0813FB48: ldr r5, _0813FB90 @ =gUnknown_203F3A0 @@ -498,7 +498,7 @@ _0813FC02: strh r0, [r4] b _0813FC1C _0813FC0A: - ldr r0, _0813FC24 @ =gUnknown_30030F0 + ldr r0, _0813FC24 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xF3 ands r0, r1 @@ -511,7 +511,7 @@ _0813FC1C: pop {r0} bx r0 .align 2, 0 -_0813FC24: .4byte gUnknown_30030F0 +_0813FC24: .4byte gMain _0813FC28: .4byte sub_813FFD8 thumb_func_end sub_813FBC0 @@ -552,7 +552,7 @@ _0813FC62: bne _0813FCA0 b _0813FC82 _0813FC6E: - ldr r0, _0813FC8C @ =gUnknown_30030F0 + ldr r0, _0813FC8C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x20 ands r0, r1 @@ -568,7 +568,7 @@ _0813FC82: strh r0, [r4] b _0813FCA0 .align 2, 0 -_0813FC8C: .4byte gUnknown_30030F0 +_0813FC8C: .4byte gMain _0813FC90: movs r0, 0 bl sub_8141180 @@ -840,7 +840,7 @@ _0813FEA0: _0813FEB0: movs r0, 0x8 strh r0, [r5, 0x2] - ldr r0, _0813FEC8 @ =gUnknown_30030F0 + ldr r0, _0813FEC8 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x1 ands r0, r1 @@ -850,7 +850,7 @@ _0813FEB0: strh r0, [r5, 0x2] b _0813FFAC .align 2, 0 -_0813FEC8: .4byte gUnknown_30030F0 +_0813FEC8: .4byte gMain _0813FECC: movs r0, 0 bl sub_8141180 @@ -861,7 +861,7 @@ _0813FECC: lsls r0, 24 cmp r0, 0 beq _0813FF0C - ldr r0, _0813FF04 @ =gUnknown_30030F0 + ldr r0, _0813FF04 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x8 ands r0, r1 @@ -877,7 +877,7 @@ _0813FECC: strh r6, [r0] b _0813FF58 .align 2, 0 -_0813FF04: .4byte gUnknown_30030F0 +_0813FF04: .4byte gMain _0813FF08: .4byte gUnknown_203F3A0 _0813FF0C: ldrh r0, [r5, 0x2] @@ -909,7 +909,7 @@ _0813FF28: _0813FF44: movs r0, 0x8 strh r0, [r5, 0x2] - ldr r0, _0813FF74 @ =gUnknown_30030F0 + ldr r0, _0813FF74 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x1 ands r0, r1 @@ -930,7 +930,7 @@ _0813FF58: b _0813FFAC .align 2, 0 _0813FF70: .4byte gUnknown_203F3A0 -_0813FF74: .4byte gUnknown_30030F0 +_0813FF74: .4byte gMain _0813FF78: bl IsFanfareTaskInactive lsls r0, 24 diff --git a/asm/sound.s b/asm/sound.s index 15d4a544c..7b826bf94 100644 --- a/asm/sound.s +++ b/asm/sound.s @@ -1117,7 +1117,7 @@ IsCryFinished: @ 80721A0 lsrs r0, 24 cmp r0, 0x1 beq _080721BC - bl sub_8000944 + bl ClearPokemonCrySongs movs r0, 0x1 b _080721BE .align 2, 0 @@ -1135,7 +1135,7 @@ StopCryAndClearCrySongs: @ 80721C4 ldr r0, _080721D8 @ =gUnknown_2037ECC ldr r0, [r0] bl m4aMPlayStop - bl sub_8000944 + bl ClearPokemonCrySongs pop {r0} bx r0 .align 2, 0 @@ -1162,7 +1162,7 @@ IsCryPlayingOrClearCrySongs: @ 80721F0 bl IsPokemonCryPlaying cmp r0, 0 bne _0807220C - bl sub_8000944 + bl ClearPokemonCrySongs movs r0, 0 b _0807220E .align 2, 0 diff --git a/asm/sprite.s b/asm/sprite.s index 36ac6539d..bfc58820c 100644 --- a/asm/sprite.s +++ b/asm/sprite.s @@ -84,7 +84,7 @@ BuildOamBuffer: @ 8006BA8 bl UpdateOamCoords bl BuildSpritePriorities bl SortSprites - ldr r5, _08006BE8 @ =gUnknown_30030F0 + ldr r5, _08006BE8 @ =gMain ldr r0, _08006BEC @ =0x00000439 adds r5, r0 ldrb r0, [r5] @@ -108,7 +108,7 @@ BuildOamBuffer: @ 8006BA8 pop {r0} bx r0 .align 2, 0 -_08006BE8: .4byte gUnknown_30030F0 +_08006BE8: .4byte gMain _08006BEC: .4byte 0x00000439 _08006BF0: .4byte gUnknown_2021840 thumb_func_end BuildOamBuffer @@ -492,7 +492,7 @@ _08006EB4: .4byte gUnknown_2021780 CopyMatricesToOamBuffer: @ 8006EB8 push {r4-r6,lr} movs r4, 0 - ldr r5, _08006EFC @ =gUnknown_30030F0 + ldr r5, _08006EFC @ =gMain ldr r6, _08006F00 @ =gUnknown_2021BCC _08006EC0: lsls r2, r4, 2 @@ -526,7 +526,7 @@ _08006EC0: pop {r0} bx r0 .align 2, 0 -_08006EFC: .4byte gUnknown_30030F0 +_08006EFC: .4byte gMain _08006F00: .4byte gUnknown_2021BCC thumb_func_end CopyMatricesToOamBuffer @@ -570,7 +570,7 @@ _08006F3A: cmp r0, r1 bcs _08006F70 mov r1, sp - ldr r5, _08006F84 @ =gUnknown_3003128 + ldr r5, _08006F84 @ =gMain + 0x38 ldr r0, _08006F88 @ =gUnknown_8231CE4 ldr r2, [r0] ldr r3, [r0, 0x4] @@ -597,7 +597,7 @@ _08006F70: _08006F78: .4byte gUnknown_2021800 _08006F7C: .4byte gUnknown_202063C _08006F80: .4byte gUnknown_2021B44 -_08006F84: .4byte gUnknown_3003128 +_08006F84: .4byte gMain + 0x38 _08006F88: .4byte gUnknown_8231CE4 thumb_func_end AddSpritesToOamBuffer @@ -1061,7 +1061,7 @@ ResetOamRange: @ 80072E8 lsrs r3, r0, 24 cmp r3, r4 bcs _08007310 - ldr r6, _08007318 @ =gUnknown_3003128 + ldr r6, _08007318 @ =gMain + 0x38 ldr r5, _0800731C @ =gUnknown_8231CE4 _080072FA: lsls r0, r3, 3 @@ -1080,14 +1080,14 @@ _08007310: pop {r0} bx r0 .align 2, 0 -_08007318: .4byte gUnknown_3003128 +_08007318: .4byte gMain + 0x38 _0800731C: .4byte gUnknown_8231CE4 thumb_func_end ResetOamRange thumb_func_start LoadOam LoadOam: @ 8007320 push {lr} - ldr r2, _08007344 @ =gUnknown_30030F0 + ldr r2, _08007344 @ =gMain ldr r1, _08007348 @ =0x00000439 adds r0, r2, r1 ldrb r1, [r0] @@ -1105,7 +1105,7 @@ _08007340: pop {r0} bx r0 .align 2, 0 -_08007344: .4byte gUnknown_30030F0 +_08007344: .4byte gMain _08007348: .4byte 0x00000439 _0800734C: .4byte 0x04000100 thumb_func_end LoadOam @@ -4352,7 +4352,7 @@ _08008A7C: cmp r0, 0 bne _08008AB0 _08008A90: - ldr r0, _08008AAC @ =gUnknown_30030F0 + ldr r0, _08008AAC @ =gMain ldrb r2, [r3] lsls r2, 3 adds r0, 0x38 @@ -4367,11 +4367,11 @@ _08008A90: movs r0, 0 b _08008AC4 .align 2, 0 -_08008AAC: .4byte gUnknown_30030F0 +_08008AAC: .4byte gMain _08008AB0: ldrb r1, [r3] lsls r1, 3 - ldr r0, _08008ACC @ =gUnknown_3003128 + ldr r0, _08008ACC @ =gMain + 0x38 adds r1, r0 adds r0, r4, 0 adds r2, r3, 0 @@ -4383,7 +4383,7 @@ _08008AC4: pop {r1} bx r1 .align 2, 0 -_08008ACC: .4byte gUnknown_3003128 +_08008ACC: .4byte gMain + 0x38 thumb_func_end AddSpriteToOamBuffer thumb_func_start AddSubspritesToOamBuffer diff --git a/asm/ss_anne.s b/asm/ss_anne.s index e8fb5a9fd..85b08dd7a 100644 --- a/asm/ss_anne.s +++ b/asm/ss_anne.s @@ -88,7 +88,7 @@ sub_815D3A8: @ 815D3A8 strh r0, [r5, 0x2] bl sub_815D5A4 _0815D3D6: - ldr r0, _0815D428 @ =gUnknown_3005008 + ldr r0, _0815D428 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -127,7 +127,7 @@ _0815D3D6: b _0815D44A .align 2, 0 _0815D424: .4byte gUnknown_3005098 -_0815D428: .4byte gUnknown_3005008 +_0815D428: .4byte gSaveBlock1Ptr _0815D42C: .4byte gUnknown_2036E38 _0815D430: .4byte gUnknown_202063C _0815D434: .4byte sub_815D454 @@ -185,7 +185,7 @@ _0815D494: .4byte 0x00000fa1 sub_815D498: @ 815D498 push {r4,lr} sub sp, 0x4 - ldr r0, _0815D508 @ =gUnknown_3005008 + ldr r0, _0815D508 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -237,7 +237,7 @@ sub_815D498: @ 815D498 pop {r0} bx r0 .align 2, 0 -_0815D508: .4byte gUnknown_3005008 +_0815D508: .4byte gSaveBlock1Ptr _0815D50C: .4byte gUnknown_2036E38 _0815D510: .4byte gUnknown_202063C _0815D514: .4byte gUnknown_8479C88 @@ -248,7 +248,7 @@ sub_815D518: @ 815D518 push {r4,lr} sub sp, 0x4 adds r4, r0, 0 - ldr r0, _0815D598 @ =gUnknown_3005008 + ldr r0, _0815D598 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -307,7 +307,7 @@ _0815D58E: pop {r0} bx r0 .align 2, 0 -_0815D598: .4byte gUnknown_3005008 +_0815D598: .4byte gSaveBlock1Ptr _0815D59C: .4byte gUnknown_2036E38 _0815D5A0: .4byte gUnknown_202063C thumb_func_end sub_815D518 @@ -316,7 +316,7 @@ _0815D5A0: .4byte gUnknown_202063C sub_815D5A4: @ 815D5A4 push {r4,lr} sub sp, 0x4 - ldr r0, _0815D614 @ =gUnknown_3005008 + ldr r0, _0815D614 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -370,7 +370,7 @@ _0815D60C: pop {r0} bx r0 .align 2, 0 -_0815D614: .4byte gUnknown_3005008 +_0815D614: .4byte gSaveBlock1Ptr _0815D618: .4byte gUnknown_2036E38 _0815D61C: .4byte gUnknown_202063C _0815D620: .4byte gUnknown_8479CC0 diff --git a/asm/start_menu.s b/asm/start_menu.s index 72482e9a3..081f0eebf 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -447,7 +447,7 @@ _0806F0C4: bl InUnionRoom cmp r0, 0x1 beq _0806F118 - ldr r0, _0806F134 @ =gUnknown_300500C + ldr r0, _0806F134 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0 @@ -472,7 +472,7 @@ _0806F118: .align 2, 0 _0806F12C: .4byte gUnknown_20370F5 _0806F130: .4byte gUnknown_20370F4 -_0806F134: .4byte gUnknown_300500C +_0806F134: .4byte gSaveBlock2Ptr _0806F138: .4byte gUnknown_83A7394 _0806F13C: .4byte gUnknown_20370F6 _0806F140: @@ -653,7 +653,7 @@ _0806F27C: .4byte sub_806F1F0 thumb_func_start sub_806F280 sub_806F280: @ 806F280 push {r4,lr} - ldr r0, _0806F35C @ =gUnknown_30030F0 + ldr r0, _0806F35C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -673,7 +673,7 @@ sub_806F280: @ 806F280 bl InUnionRoom cmp r0, 0x1 beq _0806F2D2 - ldr r0, _0806F364 @ =gUnknown_300500C + ldr r0, _0806F364 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0 @@ -689,7 +689,7 @@ sub_806F280: @ 806F280 movs r1, 0x2 bl sub_8113018 _0806F2D2: - ldr r0, _0806F35C @ =gUnknown_30030F0 + ldr r0, _0806F35C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 ands r0, r1 @@ -708,7 +708,7 @@ _0806F2D2: bl InUnionRoom cmp r0, 0x1 beq _0806F320 - ldr r0, _0806F364 @ =gUnknown_300500C + ldr r0, _0806F364 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x13] cmp r0, 0 @@ -724,7 +724,7 @@ _0806F2D2: movs r1, 0x2 bl sub_8113018 _0806F320: - ldr r0, _0806F35C @ =gUnknown_30030F0 + ldr r0, _0806F35C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -753,9 +753,9 @@ _0806F358: movs r0, 0 b _0806F38E .align 2, 0 -_0806F35C: .4byte gUnknown_30030F0 +_0806F35C: .4byte gMain _0806F360: .4byte gUnknown_20370F4 -_0806F364: .4byte gUnknown_300500C +_0806F364: .4byte gSaveBlock2Ptr _0806F368: .4byte gUnknown_83A7394 _0806F36C: .4byte gUnknown_20370F6 _0806F370: .4byte gUnknown_20370F0 @@ -979,7 +979,7 @@ _0806F514: bl sub_80563F0 ldr r0, _0806F534 @ =sub_8088388 bl SetMainCallback2 - ldr r1, _0806F538 @ =gUnknown_30030F0 + ldr r1, _0806F538 @ =gMain ldr r0, _0806F53C @ =sub_80568A8 str r0, [r1, 0x8] movs r0, 0x1 @@ -988,7 +988,7 @@ _0806F52E: bx r1 .align 2, 0 _0806F534: .4byte sub_8088388 -_0806F538: .4byte gUnknown_30030F0 +_0806F538: .4byte gMain _0806F53C: .4byte sub_80568A8 thumb_func_end sub_806F4FC @@ -1269,7 +1269,7 @@ sub_806F744: @ 806F744 ldrb r0, [r1] subs r2, r0, 0x1 strb r2, [r1] - ldr r0, _0806F768 @ =gUnknown_30030F0 + ldr r0, _0806F768 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x1 ands r0, r1 @@ -1282,7 +1282,7 @@ sub_806F744: @ 806F744 b _0806F774 .align 2, 0 _0806F764: .4byte gUnknown_3000FA8 -_0806F768: .4byte gUnknown_30030F0 +_0806F768: .4byte gMain _0806F76C: movs r0, 0x5 bl sub_80722CC @@ -1300,7 +1300,7 @@ sub_806F778: @ 806F778 ldrb r0, [r1] cmp r0, 0 bne _0806F79C - ldr r0, _0806F798 @ =gUnknown_30030F0 + ldr r0, _0806F798 @ =gMain ldrh r1, [r0, 0x2C] movs r0, 0x1 ands r0, r1 @@ -1310,7 +1310,7 @@ sub_806F778: @ 806F778 b _0806F7A2 .align 2, 0 _0806F794: .4byte gUnknown_3000FA8 -_0806F798: .4byte gUnknown_30030F0 +_0806F798: .4byte gMain _0806F79C: subs r0, 0x1 strb r0, [r1] @@ -1822,7 +1822,7 @@ _0806FB6E: thumb_func_start sub_806FB7C sub_806FB7C: @ 806FB7C push {lr} - ldr r0, _0806FB9C @ =gUnknown_3003528 + ldr r0, _0806FB9C @ =gMain + 0x438 bl sub_806FA54 cmp r0, 0 beq _0806FB96 @@ -1835,7 +1835,7 @@ _0806FB96: pop {r0} bx r0 .align 2, 0 -_0806FB9C: .4byte gUnknown_3003528 +_0806FB9C: .4byte gMain + 0x438 _0806FBA0: .4byte sub_806FBB8 _0806FBA4: .4byte sub_806FBA8 thumb_func_end sub_806FB7C @@ -1964,14 +1964,14 @@ _0806FC9C: b _0806FCE6 _0806FCB0: bl FreeAllWindowBuffers - ldr r0, _0806FCC4 @ =gUnknown_30030F0 + ldr r0, _0806FCC4 @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask b _0806FCE8 .align 2, 0 -_0806FCC4: .4byte gUnknown_30030F0 +_0806FCC4: .4byte gMain _0806FCC8: ldr r0, _0806FCD4 @ =sub_80DA634 movs r1, 0x5 diff --git a/asm/string_util.s b/asm/string_util.s index 9575f3977..784f47490 100644 --- a/asm/string_util.s +++ b/asm/string_util.s @@ -620,11 +620,11 @@ _0800911C: .4byte gUnknown_2022100 thumb_func_start sub_8009120 sub_8009120: @ 8009120 - ldr r0, _08009128 @ =gUnknown_300500C + ldr r0, _08009128 @ =gSaveBlock2Ptr ldr r0, [r0] bx lr .align 2, 0 -_08009128: .4byte gUnknown_300500C +_08009128: .4byte gSaveBlock2Ptr thumb_func_end sub_8009120 thumb_func_start sub_800912C @@ -654,7 +654,7 @@ _08009140: .4byte gUnknown_2021D04 thumb_func_start sub_8009144 sub_8009144: @ 8009144 push {lr} - ldr r0, _08009154 @ =gUnknown_300500C + ldr r0, _08009154 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -662,7 +662,7 @@ sub_8009144: @ 8009144 ldr r0, _08009158 @ =gUnknown_8415A22 b _0800915E .align 2, 0 -_08009154: .4byte gUnknown_300500C +_08009154: .4byte gSaveBlock2Ptr _08009158: .4byte gUnknown_8415A22 _0800915C: ldr r0, _08009164 @ =gUnknown_8415A21 @@ -676,14 +676,14 @@ _08009164: .4byte gUnknown_8415A21 thumb_func_start sub_8009168 sub_8009168: @ 8009168 push {lr} - ldr r0, _08009188 @ =gUnknown_3005008 + ldr r0, _08009188 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _0800918C @ =0x00003a4c adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0xFF bne _080091A0 - ldr r0, _08009190 @ =gUnknown_300500C + ldr r0, _08009190 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -691,9 +691,9 @@ sub_8009168: @ 8009168 ldr r0, _08009194 @ =gUnknown_8415A5C b _080091A2 .align 2, 0 -_08009188: .4byte gUnknown_3005008 +_08009188: .4byte gSaveBlock1Ptr _0800918C: .4byte 0x00003a4c -_08009190: .4byte gUnknown_300500C +_08009190: .4byte gSaveBlock2Ptr _08009194: .4byte gUnknown_8415A5C _08009198: ldr r0, _0800919C @ =gUnknown_8415A58 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index c5e0c564e..9f250560e 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -94,7 +94,7 @@ _0815AC28: .4byte gUnknown_203F444 sub_815AC2C: @ 815AC2C push {r4-r6,lr} sub sp, 0x4 - ldr r0, _0815AC44 @ =gUnknown_30030F0 + ldr r0, _0815AC44 @ =gMain movs r1, 0x87 lsls r1, 3 adds r6, r0, r1 @@ -105,7 +105,7 @@ sub_815AC2C: @ 815AC2C beq _0815AC9C b _0815AD6E .align 2, 0 -_0815AC44: .4byte gUnknown_30030F0 +_0815AC44: .4byte gMain _0815AC48: ldr r4, _0815AC90 @ =gUnknown_203F450 ldr r0, _0815AC94 @ =0x00004008 @@ -907,7 +907,7 @@ sub_815B2C0: @ 815B2C0 adds r2, r4, 0x2 adds r1, r4, 0 bl get_coro_args_x18_x1A - ldr r0, _0815B328 @ =gUnknown_30030F0 + ldr r0, _0815B328 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -931,7 +931,7 @@ _0815B30A: _0815B31C: .4byte gUnknown_3005098 _0815B320: .4byte gUnknown_2037AB8 _0815B324: .4byte gUnknown_203F44A -_0815B328: .4byte gUnknown_30030F0 +_0815B328: .4byte gMain _0815B32C: .4byte sub_8107EB8 _0815B330: movs r0, 0x5 @@ -1167,7 +1167,7 @@ sub_815B4EC: @ 815B4EC lsls r6, r0, 3 ldr r7, _0815B548 @ =gUnknown_3005098 adds r5, r6, r7 - ldr r0, _0815B54C @ =gUnknown_30030F0 + ldr r0, _0815B54C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -1202,7 +1202,7 @@ sub_815B4EC: @ 815B4EC b _0815B578 .align 2, 0 _0815B548: .4byte gUnknown_3005098 -_0815B54C: .4byte gUnknown_30030F0 +_0815B54C: .4byte gMain _0815B550: .4byte gUnknown_203F450 _0815B554: .4byte 0x00004006 _0815B558: .4byte sub_815B92C @@ -1323,7 +1323,7 @@ sub_815B624: @ 815B624 lsls r1, 3 ldr r0, _0815B65C @ =gUnknown_3005098 adds r4, r1, r0 - ldr r0, _0815B660 @ =gUnknown_30030F0 + ldr r0, _0815B660 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -1344,7 +1344,7 @@ _0815B656: bx r0 .align 2, 0 _0815B65C: .4byte gUnknown_3005098 -_0815B660: .4byte gUnknown_30030F0 +_0815B660: .4byte gMain thumb_func_end sub_815B624 thumb_func_start sub_815B664 @@ -2158,7 +2158,7 @@ sub_815BC90: @ 815BC90 ldr r4, _0815BCD4 @ =gUnknown_203F444 ldrb r0, [r4, 0x5] strh r0, [r1] - ldr r1, _0815BCD8 @ =gUnknown_30030F0 + ldr r1, _0815BCD8 @ =gMain ldr r0, _0815BCDC @ =sub_815BD58 str r0, [r1, 0x8] bl copy_player_party_to_sav1 @@ -2174,7 +2174,7 @@ sub_815BC90: @ 815BC90 _0815BCCC: .4byte gUnknown_3005098 _0815BCD0: .4byte gUnknown_20370C0 _0815BCD4: .4byte gUnknown_203F444 -_0815BCD8: .4byte gUnknown_30030F0 +_0815BCD8: .4byte gMain _0815BCDC: .4byte sub_815BD58 _0815BCE0: movs r0, 0x8 diff --git a/asm/text.s b/asm/text.s index 78b792d16..3928fbff2 100644 --- a/asm/text.s +++ b/asm/text.s @@ -408,7 +408,7 @@ _08005654: .4byte gUnknown_3003E50 _08005658: adds r0, r2, 0 bl TextPrinterDrawDownArrow - ldr r0, _0800567C @ =gUnknown_30030F0 + ldr r0, _0800567C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -423,7 +423,7 @@ _08005672: pop {r1} bx r1 .align 2, 0 -_0800567C: .4byte gUnknown_30030F0 +_0800567C: .4byte gMain thumb_func_end TextPrinterWaitWithDownArrow thumb_func_start TextPrinterWait @@ -445,7 +445,7 @@ TextPrinterWait: @ 8005680 .align 2, 0 _080056A0: .4byte gUnknown_3003E50 _080056A4: - ldr r0, _080056C0 @ =gUnknown_30030F0 + ldr r0, _080056C0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -460,7 +460,7 @@ _080056B8: pop {r1} bx r1 .align 2, 0 -_080056C0: .4byte gUnknown_30030F0 +_080056C0: .4byte gMain thumb_func_end TextPrinterWait thumb_func_start DrawDownArrow @@ -596,7 +596,7 @@ _080057B0: .4byte _08005D44 .4byte _08005D56 _080057CC: - ldr r2, _08005820 @ =gUnknown_30030F0 + ldr r2, _08005820 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x3 ands r0, r1 @@ -641,7 +641,7 @@ _08005810: strb r0, [r6, 0x1E] b _08005B30 .align 2, 0 -_08005820: .4byte gUnknown_30030F0 +_08005820: .4byte gMain _08005824: .4byte gUnknown_3003E50 _08005828: ldr r2, _08005838 @ =gUnknown_3003E50 @@ -1252,7 +1252,7 @@ _08005CD0: cmp r2, 0 beq _08005D40 ldr r4, _08005D04 @ =gUnknown_81EA650 - ldr r5, _08005D08 @ =gUnknown_300500C + ldr r5, _08005D08 @ =gSaveBlock2Ptr ldr r0, [r5] ldrb r0, [r0, 0x14] lsls r1, r0, 29 @@ -1274,7 +1274,7 @@ _08005CD0: b _08005D36 .align 2, 0 _08005D04: .4byte gUnknown_81EA650 -_08005D08: .4byte gUnknown_300500C +_08005D08: .4byte gSaveBlock2Ptr _08005D0C: ldrb r0, [r6, 0x4] lsrs r1, 29 diff --git a/asm/text_window.s b/asm/text_window.s index ea5565a17..df5c80739 100644 --- a/asm/text_window.s +++ b/asm/text_window.s @@ -182,7 +182,7 @@ sub_814FE40: @ 814FE40 lsrs r4, 16 lsls r3, 24 lsrs r3, 24 - ldr r1, _0814FE68 @ =gUnknown_300500C + ldr r1, _0814FE68 @ =gSaveBlock2Ptr ldr r1, [r1] ldrb r1, [r1, 0x14] lsrs r1, 3 @@ -192,7 +192,7 @@ sub_814FE40: @ 814FE40 pop {r0} bx r0 .align 2, 0 -_0814FE68: .4byte gUnknown_300500C +_0814FE68: .4byte gSaveBlock2Ptr thumb_func_end sub_814FE40 thumb_func_start sub_814FE6C @@ -427,7 +427,7 @@ sub_815001C: @ 815001C lsrs r4, 16 lsls r3, 24 lsrs r3, 24 - ldr r1, _08150044 @ =gUnknown_300500C + ldr r1, _08150044 @ =gSaveBlock2Ptr ldr r1, [r1] ldrb r1, [r1, 0x14] lsrs r1, 3 @@ -437,7 +437,7 @@ sub_815001C: @ 815001C pop {r0} bx r0 .align 2, 0 -_08150044: .4byte gUnknown_300500C +_08150044: .4byte gSaveBlock2Ptr thumb_func_end sub_815001C thumb_func_start sub_8150048 diff --git a/asm/title_screen.s b/asm/title_screen.s index 604452899..0151bcba6 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -9,7 +9,7 @@ sub_8078914: @ 8078914 push {r4-r6,lr} sub sp, 0xC - ldr r0, _08078930 @ =gUnknown_30030F0 + ldr r0, _08078930 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -22,13 +22,13 @@ sub_8078914: @ 8078914 beq _08078946 b _0807893A .align 2, 0 -_08078930: .4byte gUnknown_30030F0 +_08078930: .4byte gMain _08078934: cmp r6, 0x2 bne _0807893A b _08078AC0 _0807893A: - ldr r0, _080789D0 @ =gUnknown_30030F0 + ldr r0, _080789D0 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -93,7 +93,7 @@ _08078946: strb r0, [r1] b _08078B18 .align 2, 0 -_080789D0: .4byte gUnknown_30030F0 +_080789D0: .4byte gMain _080789D4: .4byte gHeap _080789D8: .4byte 0x040000d4 _080789DC: .4byte 0x8100c000 @@ -216,7 +216,7 @@ _08078B0C: .4byte gUnknown_2037F30 _08078B10: .4byte sub_8078BB4 _08078B14: .4byte sub_8078B9C _08078B18: - ldr r1, _08078B30 @ =gUnknown_30030F0 + ldr r1, _08078B30 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -229,7 +229,7 @@ _08078B26: pop {r0} bx r0 .align 2, 0 -_08078B30: .4byte gUnknown_30030F0 +_08078B30: .4byte gMain thumb_func_end sub_8078914 thumb_func_start sub_8078B34 @@ -353,7 +353,7 @@ sub_8078C24: @ 8078C24 lsls r1, 3 ldr r0, _08078C6C @ =gUnknown_3005098 adds r4, r1, r0 - ldr r0, _08078C70 @ =gUnknown_30030F0 + ldr r0, _08078C70 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0xB ands r0, r1 @@ -378,7 +378,7 @@ sub_8078C24: @ 8078C24 b _08078C86 .align 2, 0 _08078C6C: .4byte gUnknown_3005098 -_08078C70: .4byte gUnknown_30030F0 +_08078C70: .4byte gMain _08078C74: ldr r0, _08078C8C @ =gUnknown_83BFB84 movs r2, 0 @@ -826,7 +826,7 @@ _08078FD6: adds r0, 0x1 strh r0, [r4, 0x2] _08079004: - ldr r2, _08079034 @ =gUnknown_30030F0 + ldr r2, _08079034 @ =gMain ldrh r1, [r2, 0x2C] movs r0, 0x46 ands r0, r1 @@ -845,7 +845,7 @@ _08079004: .align 2, 0 _0807902C: .4byte sub_807941C _08079030: .4byte sub_8079840 -_08079034: .4byte gUnknown_30030F0 +_08079034: .4byte gMain _08079038: .4byte sub_8078C24 _0807903C: .4byte sub_80796CC _08079040: @@ -1119,7 +1119,7 @@ _08079248: _08079276: bl Sav2_ClearSetDefault _0807927A: - ldr r0, _080792B8 @ =gUnknown_300500C + ldr r0, _080792B8 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x15] lsls r0, 31 @@ -1144,7 +1144,7 @@ _080792A6: .align 2, 0 _080792B0: .4byte gUnknown_2037AB8 _080792B4: .4byte gUnknown_30053A0 -_080792B8: .4byte gUnknown_300500C +_080792B8: .4byte gSaveBlock2Ptr _080792BC: .4byte gHeap _080792C0: .4byte sub_800C300 _080792C4: .4byte sub_8078C24 diff --git a/asm/tm_case.s b/asm/tm_case.s index 99541907f..e727ee878 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -109,7 +109,7 @@ _081318BA: sub_81318C0: @ 81318C0 push {r4,lr} sub sp, 0x4 - ldr r0, _081318E0 @ =gUnknown_30030F0 + ldr r0, _081318E0 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -124,7 +124,7 @@ _081318D4: ldr r0, [r0] mov pc, r0 .align 2, 0 -_081318E0: .4byte gUnknown_30030F0 +_081318E0: .4byte gMain _081318E4: .4byte _081318E8 .align 2, 0 _081318E8: @@ -281,7 +281,7 @@ _08131A42: movs r3, 0 bl BeginNormalPaletteFade _08131A52: - ldr r1, _08131A64 @ =gUnknown_30030F0 + ldr r1, _08131A64 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -290,7 +290,7 @@ _08131A52: strb r0, [r1] b _08131A80 .align 2, 0 -_08131A64: .4byte gUnknown_30030F0 +_08131A64: .4byte gMain _08131A68: ldr r0, _08131A78 @ =sub_8131880 bl SetVBlankCallback @@ -437,7 +437,7 @@ _08131B94: .align 2, 0 _08131BA8: .4byte gUnknown_8E84B70 _08131BAC: - ldr r0, _08131BC4 @ =gUnknown_300500C + ldr r0, _08131BC4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 @@ -448,7 +448,7 @@ _08131BAC: bl LoadCompressedPalette b _08131BE2 .align 2, 0 -_08131BC4: .4byte gUnknown_300500C +_08131BC4: .4byte gSaveBlock2Ptr _08131BC8: .4byte gUnknown_8E84CB0 _08131BCC: ldr r0, _08131BD8 @ =gUnknown_8E84D20 @@ -1387,7 +1387,7 @@ sub_81322D4: @ 81322D4 subs r2, r4, 0x2 adds r1, r4, 0 bl get_coro_args_x18_x1A - ldr r0, _0813234C @ =gUnknown_30030F0 + ldr r0, _0813234C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -1408,7 +1408,7 @@ sub_81322D4: @ 81322D4 _08132340: .4byte gUnknown_3005098 _08132344: .4byte gUnknown_2037AB8 _08132348: .4byte gUnknown_203B116 -_0813234C: .4byte gUnknown_30030F0 +_0813234C: .4byte gMain _08132350: .4byte gUnknown_203AD30 _08132354: movs r0, 0x2 @@ -1881,7 +1881,7 @@ sub_8132758: @ 8132758 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _0813277C @ =gUnknown_30030F0 + ldr r0, _0813277C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1896,7 +1896,7 @@ _08132776: pop {r0} bx r0 .align 2, 0 -_0813277C: .4byte gUnknown_30030F0 +_0813277C: .4byte gMain thumb_func_end sub_8132758 thumb_func_start sub_8132780 @@ -2429,7 +2429,7 @@ sub_8132BC8: @ 8132BC8 .align 2, 0 _08132C14: .4byte gUnknown_3005098 _08132C18: - ldr r0, _08132C4C @ =gUnknown_30030F0 + ldr r0, _08132C4C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2449,7 +2449,7 @@ _08132C18: bl sub_81329C4 b _08132CA6 .align 2, 0 -_08132C4C: .4byte gUnknown_30030F0 +_08132C4C: .4byte gMain _08132C50: movs r0, 0x2 ands r0, r1 @@ -2569,7 +2569,7 @@ sub_8132D34: @ 8132D34 mov r2, r8 ldrh r1, [r2, 0x10] bl sub_809A1D8 - ldr r7, _08132DFC @ =gUnknown_3005008 + ldr r7, _08132DFC @ =gSaveBlock1Ptr ldr r4, [r7] movs r3, 0xA4 lsls r3, 2 @@ -2633,7 +2633,7 @@ sub_8132D34: @ 8132D34 .align 2, 0 _08132DF4: .4byte gUnknown_3005098 _08132DF8: .4byte gUnknown_203AD30 -_08132DFC: .4byte gUnknown_3005008 +_08132DFC: .4byte gSaveBlock1Ptr _08132E00: .4byte gUnknown_203B116 _08132E04: .4byte gUnknown_3005E70 _08132E08: .4byte sub_8132E0C @@ -2644,7 +2644,7 @@ sub_8132E0C: @ 8132E0C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - ldr r0, _08132E60 @ =gUnknown_30030F0 + ldr r0, _08132E60 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2678,7 +2678,7 @@ _08132E5A: pop {r0} bx r0 .align 2, 0 -_08132E60: .4byte gUnknown_30030F0 +_08132E60: .4byte gMain thumb_func_end sub_8132E0C thumb_func_start sub_8132E64 @@ -2691,7 +2691,7 @@ sub_8132E64: @ 8132E64 lsls r0, 1 bl AllocZeroed str r0, [r4] - ldr r5, _08132F00 @ =gUnknown_3005008 + ldr r5, _08132F00 @ =gSaveBlock1Ptr ldr r1, [r5] ldr r2, _08132F04 @ =0x00000464 mov r8, r2 @@ -2750,7 +2750,7 @@ sub_8132E64: @ 8132E64 bx r0 .align 2, 0 _08132EFC: .4byte gUnknown_203B11C -_08132F00: .4byte gUnknown_3005008 +_08132F00: .4byte gSaveBlock1Ptr _08132F04: .4byte 0x00000464 _08132F08: .4byte gUnknown_203B10C _08132F0C: .4byte 0x00000121 @@ -2806,7 +2806,7 @@ sub_8132F60: @ 8132F60 lsls r0, 3 ldr r1, _08132FA4 @ =gUnknown_3005098 adds r6, r0, r1 - ldr r0, _08132FA8 @ =gUnknown_30030F0 + ldr r0, _08132FA8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -2833,7 +2833,7 @@ _08132F98: mov pc, r0 .align 2, 0 _08132FA4: .4byte gUnknown_3005098 -_08132FA8: .4byte gUnknown_30030F0 +_08132FA8: .4byte gMain _08132FAC: .4byte _08132FB0 .align 2, 0 _08132FB0: @@ -2901,7 +2901,7 @@ _08133050: ldrsh r1, [r6, r0] cmp r1, 0 bne _08133066 - ldr r0, _0813307C @ =gUnknown_30030F0 + ldr r0, _0813307C @ =gMain strh r1, [r0, 0x2E] movs r1, 0x80 strh r1, [r0, 0x30] @@ -2921,13 +2921,13 @@ _08133076: strh r0, [r6, 0x12] b _081331EA .align 2, 0 -_0813307C: .4byte gUnknown_30030F0 +_0813307C: .4byte gMain _08133080: movs r3, 0x12 ldrsh r1, [r6, r3] cmp r1, 0 bne _08133096 - ldr r0, _081330AC @ =gUnknown_30030F0 + ldr r0, _081330AC @ =gMain strh r1, [r0, 0x2E] movs r1, 0x40 strh r1, [r0, 0x30] @@ -2947,7 +2947,7 @@ _081330A6: strh r0, [r6, 0x12] b _081331EA .align 2, 0 -_081330AC: .4byte gUnknown_30030F0 +_081330AC: .4byte gMain _081330B0: movs r0, 0x1 bl sub_8131F64 @@ -2979,7 +2979,7 @@ _081330E0: _081330F2: b _081331EA _081330F4: - ldr r0, _08133128 @ =gUnknown_30030F0 + ldr r0, _08133128 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -3003,7 +3003,7 @@ _08133102: bl schedule_bg_copy_tilemap_to_vram b _081331EA .align 2, 0 -_08133128: .4byte gUnknown_30030F0 +_08133128: .4byte gMain _0813312C: movs r0, 0x1 bl sub_8131F64 @@ -3025,7 +3025,7 @@ _08133150: .4byte gUnknown_841C693 _08133154: .4byte gUnknown_3005090 _08133158: .4byte sub_8132F60 _0813315C: - ldr r0, _0813316C @ =gUnknown_30030F0 + ldr r0, _0813316C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -3033,7 +3033,7 @@ _0813315C: beq _08133232 b _081331EA .align 2, 0 -_0813316C: .4byte gUnknown_30030F0 +_0813316C: .4byte gMain _08133170: ldr r0, _081331F4 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -3043,7 +3043,7 @@ _08133170: lsrs r7, r0, 24 cmp r7, 0 bne _08133232 - ldr r5, _081331F8 @ =gUnknown_3005008 + ldr r5, _081331F8 @ =gSaveBlock1Ptr ldr r0, [r5] ldr r1, _081331FC @ =0x00000464 adds r0, r1 @@ -3096,7 +3096,7 @@ _081331EA: b _08133232 .align 2, 0 _081331F4: .4byte gUnknown_2037AB8 -_081331F8: .4byte gUnknown_3005008 +_081331F8: .4byte gSaveBlock1Ptr _081331FC: .4byte 0x00000464 _08133200: .4byte gUnknown_203B11C _08133204: .4byte gUnknown_203B10C @@ -3582,7 +3582,7 @@ _081335DC: .4byte gUnknown_8E99118 thumb_func_start sub_81335E0 sub_81335E0: @ 81335E0 push {lr} - ldr r0, _08133600 @ =gUnknown_3005008 + ldr r0, _08133600 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xA4 lsls r1, 2 @@ -3596,7 +3596,7 @@ sub_81335E0: @ 81335E0 pop {r0} bx r0 .align 2, 0 -_08133600: .4byte gUnknown_3005008 +_08133600: .4byte gSaveBlock1Ptr thumb_func_end sub_81335E0 thumb_func_start sub_8133604 diff --git a/asm/trade.s b/asm/trade.s index 393db5bc7..6ebaf9948 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -143,7 +143,7 @@ sub_804C728: @ 804C728 mov r7, r8 push {r7} sub sp, 0x28 - ldr r1, _0804C74C @ =gUnknown_30030F0 + ldr r1, _0804C74C @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -159,7 +159,7 @@ _0804C742: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0804C74C: .4byte gUnknown_30030F0 +_0804C74C: .4byte gMain _0804C750: .4byte _0804C754 .align 2, 0 _0804C754: @@ -207,7 +207,7 @@ _0804C7CE: adds r6, 0x1 cmp r6, 0xD ble _0804C7CE - ldr r1, _0804C7F8 @ =gUnknown_30030F0 + ldr r1, _0804C7F8 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 @@ -217,7 +217,7 @@ _0804C7E8: .4byte gUnknown_2031DA8 _0804C7EC: .4byte 0x000010f0 _0804C7F0: .4byte gUnknown_2031C90 _0804C7F4: .4byte gUnknown_2031C94 -_0804C7F8: .4byte gUnknown_30030F0 +_0804C7F8: .4byte gMain _0804C7FC: ldr r2, _0804C864 @ =gUnknown_2037AB8 ldrb r1, [r2, 0x8] @@ -276,7 +276,7 @@ _0804C878: .4byte gUnknown_2031DA8 _0804C87C: .4byte gUnknown_3003F3C _0804C880: bl sub_8009804 - ldr r1, _0804C8A8 @ =gUnknown_30030F0 + ldr r1, _0804C8A8 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 @@ -295,11 +295,11 @@ _0804C89C: bl CreateTask b _0804CEE6 .align 2, 0 -_0804C8A8: .4byte gUnknown_30030F0 +_0804C8A8: .4byte gMain _0804C8AC: .4byte gUnknown_3003F3C _0804C8B0: .4byte sub_8081A90 _0804C8B4: - ldr r0, _0804C8C4 @ =gUnknown_30030F0 + ldr r0, _0804C8C4 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -307,7 +307,7 @@ _0804C8B4: strb r1, [r0] b _0804CEE6 .align 2, 0 -_0804C8C4: .4byte gUnknown_30030F0 +_0804C8C4: .4byte gMain _0804C8C8: ldr r2, _0804C8F0 @ =gUnknown_2031DA8 ldr r1, [r2] @@ -358,22 +358,22 @@ _0804C908: b _0804CEE6 _0804C928: bl sub_800A5BC - ldr r1, _0804C93C @ =gUnknown_30030F0 + ldr r1, _0804C93C @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804CEC2 .align 2, 0 _0804C938: .4byte gUnknown_2031DA8 -_0804C93C: .4byte gUnknown_30030F0 +_0804C93C: .4byte gMain _0804C940: - ldr r1, _0804C94C @ =gUnknown_30030F0 + ldr r1, _0804C94C @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804CEC2 .align 2, 0 -_0804C94C: .4byte gUnknown_30030F0 +_0804C94C: .4byte gMain _0804C950: ldr r0, _0804C9A0 @ =gUnknown_3003F64 ldrb r0, [r0] @@ -390,7 +390,7 @@ _0804C95A: _0804C968: bl sub_80FBB4C bl CalculatePlayerPartyCount - ldr r1, _0804C9A4 @ =gUnknown_30030F0 + ldr r1, _0804C9A4 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 @@ -414,7 +414,7 @@ _0804C992: b _0804CEE6 .align 2, 0 _0804C9A0: .4byte gUnknown_3003F64 -_0804C9A4: .4byte gUnknown_30030F0 +_0804C9A4: .4byte gMain _0804C9A8: .4byte gUnknown_2031DA8 _0804C9AC: .4byte gUnknown_3003F3C _0804C9B0: @@ -428,7 +428,7 @@ _0804C9B0: bne _0804C9C4 b _0804CEE6 _0804C9C4: - ldr r1, _0804C9E4 @ =gUnknown_30030F0 + ldr r1, _0804C9E4 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -442,7 +442,7 @@ _0804C9C4: b _0804CEE6 .align 2, 0 _0804C9E0: .4byte gUnknown_3003F3C -_0804C9E4: .4byte gUnknown_30030F0 +_0804C9E4: .4byte gMain _0804C9E8: movs r2, 0x87 lsls r2, 3 @@ -456,13 +456,13 @@ _0804C9F0: b _0804CEE6 _0804C9FC: bl sub_804F9D8 - ldr r1, _0804CA0C @ =gUnknown_30030F0 + ldr r1, _0804CA0C @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804CEC2 .align 2, 0 -_0804CA0C: .4byte gUnknown_30030F0 +_0804CA0C: .4byte gMain _0804CA10: bl CalculateEnemyPartyCount movs r0, 0 @@ -595,7 +595,7 @@ _0804CABE: cmp r6, r0 blt _0804CABE _0804CB20: - ldr r1, _0804CB4C @ =gUnknown_30030F0 + ldr r1, _0804CB4C @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 @@ -609,7 +609,7 @@ _0804CB3C: .4byte gUnknown_2024284 _0804CB40: .4byte 0xfff40000 _0804CB44: .4byte sub_809718C _0804CB48: .4byte gUnknown_202402C -_0804CB4C: .4byte gUnknown_30030F0 +_0804CB4C: .4byte gMain _0804CB50: bl sub_8122550 ldr r0, _0804CB70 @ =gUnknown_2031DA8 @@ -619,14 +619,14 @@ _0804CB50: adds r1, 0x28 movs r2, 0 bl sub_812256C - ldr r1, _0804CB74 @ =gUnknown_30030F0 + ldr r1, _0804CB74 @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804CEC2 .align 2, 0 _0804CB70: .4byte gUnknown_2031DA8 -_0804CB74: .4byte gUnknown_30030F0 +_0804CB74: .4byte gMain _0804CB78: ldr r0, _0804CB94 @ =gUnknown_2031DA8 ldr r1, [r0] @@ -635,16 +635,16 @@ _0804CB78: adds r1, 0x28 movs r2, 0x1 bl sub_812256C - ldr r1, _0804CB98 @ =gUnknown_30030F0 + ldr r1, _0804CB98 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 b _0804CEC2 .align 2, 0 _0804CB94: .4byte gUnknown_2031DA8 -_0804CB98: .4byte gUnknown_30030F0 +_0804CB98: .4byte gMain _0804CB9C: - ldr r0, _0804CC14 @ =gUnknown_300500C + ldr r0, _0804CC14 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r6, _0804CC18 @ =gUnknown_2031C94 ldr r1, [r6] @@ -685,7 +685,7 @@ _0804CB9C: ldr r1, [r6, 0x20] movs r2, 0x18 bl sub_804F728 - ldr r1, _0804CC28 @ =gUnknown_30030F0 + ldr r1, _0804CC28 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -699,12 +699,12 @@ _0804CB9C: strb r2, [r0] b _0804CEE6 .align 2, 0 -_0804CC14: .4byte gUnknown_300500C +_0804CC14: .4byte gSaveBlock2Ptr _0804CC18: .4byte gUnknown_2031C94 _0804CC1C: .4byte gUnknown_201C000 _0804CC20: .4byte gUnknown_2022744 _0804CC24: .4byte gUnknown_8261ECC -_0804CC28: .4byte gUnknown_30030F0 +_0804CC28: .4byte gMain _0804CC2C: .4byte gUnknown_2031DA8 _0804CC30: bl sub_804F610 @@ -715,7 +715,7 @@ _0804CC30: _0804CC3C: b _0804CEBA _0804CC3E: - ldr r0, _0804CCFC @ =gUnknown_300500C + ldr r0, _0804CCFC @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x1 movs r2, 0 @@ -802,17 +802,17 @@ _0804CCC6: adds r6, 0x1 cmp r6, 0x2 ble _0804CCC6 - ldr r1, _0804CD0C @ =gUnknown_30030F0 + ldr r1, _0804CD0C @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804CEC2 .align 2, 0 -_0804CCFC: .4byte gUnknown_300500C +_0804CCFC: .4byte gSaveBlock2Ptr _0804CD00: .4byte gUnknown_8261E8A _0804CD04: .4byte gUnknown_8261CC8 _0804CD08: .4byte gUnknown_2022744 -_0804CD0C: .4byte gUnknown_30030F0 +_0804CD0C: .4byte gMain _0804CD10: ldr r4, _0804CDCC @ =gUnknown_8261CC8 add r1, sp, 0x10 @@ -893,7 +893,7 @@ _0804CD5C: ldr r0, [r2] adds r0, 0x35 strb r3, [r0] - ldr r1, _0804CDDC @ =gUnknown_30030F0 + ldr r1, _0804CDDC @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 @@ -908,7 +908,7 @@ _0804CDCC: .4byte gUnknown_8261CC8 _0804CDD0: .4byte gUnknown_8261CB0 _0804CDD4: .4byte gUnknown_8261E40 _0804CDD8: .4byte gUnknown_2031DA8 -_0804CDDC: .4byte gUnknown_30030F0 +_0804CDDC: .4byte gMain _0804CDE0: movs r0, 0 bl sub_804F748 @@ -921,7 +921,7 @@ _0804CDE0: ldr r0, [r2] strb r1, [r0, 0x1] bl sub_804D764 - ldr r1, _0804CE18 @ =gUnknown_30030F0 + ldr r1, _0804CE18 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 @@ -933,14 +933,14 @@ _0804CDE0: b _0804CEE6 .align 2, 0 _0804CE14: .4byte gUnknown_2031DA8 -_0804CE18: .4byte gUnknown_30030F0 +_0804CE18: .4byte gMain _0804CE1C: .4byte 0x00000111 _0804CE20: movs r0, 0x1 bl sub_804F748 movs r0, 0x1 bl sub_804F020 - ldr r1, _0804CE44 @ =gUnknown_30030F0 + ldr r1, _0804CE44 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -952,17 +952,17 @@ _0804CE3A: bl sub_804D694 b _0804CEBA .align 2, 0 -_0804CE44: .4byte gUnknown_30030F0 +_0804CE44: .4byte gMain _0804CE48: movs r0, 0x1 bl sub_804D694 - ldr r1, _0804CE58 @ =gUnknown_30030F0 + ldr r1, _0804CE58 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804CEC2 .align 2, 0 -_0804CE58: .4byte gUnknown_30030F0 +_0804CE58: .4byte gMain _0804CE5C: movs r0, 0x1 negs r0, r0 @@ -971,13 +971,13 @@ _0804CE5C: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r1, _0804CE78 @ =gUnknown_30030F0 + ldr r1, _0804CE78 @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804CEC2 .align 2, 0 -_0804CE78: .4byte gUnknown_30030F0 +_0804CE78: .4byte gMain _0804CE7C: movs r1, 0x82 lsls r1, 5 @@ -985,29 +985,29 @@ _0804CE7C: bl SetGpuReg movs r0, 0x2 bl sub_804D694 - ldr r1, _0804CE98 @ =gUnknown_30030F0 + ldr r1, _0804CE98 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 b _0804CEC2 .align 2, 0 -_0804CE98: .4byte gUnknown_30030F0 +_0804CE98: .4byte gMain _0804CE9C: movs r0, 0 bl sub_804F890 - ldr r1, _0804CEAC @ =gUnknown_30030F0 + ldr r1, _0804CEAC @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _0804CEC2 .align 2, 0 -_0804CEAC: .4byte gUnknown_30030F0 +_0804CEAC: .4byte gMain _0804CEB0: movs r0, 0x1 bl sub_804F890 bl sub_804F964 _0804CEBA: - ldr r1, _0804CECC @ =gUnknown_30030F0 + ldr r1, _0804CECC @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -1017,7 +1017,7 @@ _0804CEC2: strb r0, [r1] b _0804CEE6 .align 2, 0 -_0804CECC: .4byte gUnknown_30030F0 +_0804CECC: .4byte gMain _0804CED0: ldr r0, _0804CF08 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -1053,7 +1053,7 @@ sub_804CF14: @ 804CF14 mov r7, r8 push {r7} sub sp, 0x24 - ldr r1, _0804CF38 @ =gUnknown_30030F0 + ldr r1, _0804CF38 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -1069,7 +1069,7 @@ _0804CF2E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_0804CF38: .4byte gUnknown_30030F0 +_0804CF38: .4byte gMain _0804CF3C: .4byte _0804CF40 .align 2, 0 _0804CF40: @@ -1098,13 +1098,13 @@ _0804CF40: .4byte _0804D4C0 _0804CF9C: bl sub_804C600 - ldr r1, _0804CFAC @ =gUnknown_30030F0 + ldr r1, _0804CFAC @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804D4B4 .align 2, 0 -_0804CFAC: .4byte gUnknown_30030F0 +_0804CFAC: .4byte gMain _0804CFB0: movs r5, 0x87 lsls r5, 3 @@ -1122,13 +1122,13 @@ _0804CFC0: b _0804D4B4 _0804CFC8: bl CalculatePlayerPartyCount - ldr r1, _0804CFD8 @ =gUnknown_30030F0 + ldr r1, _0804CFD8 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _0804D4B4 .align 2, 0 -_0804CFD8: .4byte gUnknown_30030F0 +_0804CFD8: .4byte gMain _0804CFDC: ldr r0, _0804CFFC @ =gUnknown_3003F3C ldrb r0, [r0] @@ -1139,14 +1139,14 @@ _0804CFDC: movs r1, 0 bl sub_80FCD74 _0804CFF0: - ldr r1, _0804D000 @ =gUnknown_30030F0 + ldr r1, _0804D000 @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804D4B4 .align 2, 0 _0804CFFC: .4byte gUnknown_3003F3C -_0804D000: .4byte gUnknown_30030F0 +_0804D000: .4byte gMain _0804D004: movs r5, 0x87 lsls r5, 3 @@ -1285,7 +1285,7 @@ _0804D0BE: cmp r6, r0 blt _0804D0BE _0804D120: - ldr r1, _0804D14C @ =gUnknown_30030F0 + ldr r1, _0804D14C @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 @@ -1299,7 +1299,7 @@ _0804D13C: .4byte gUnknown_2024284 _0804D140: .4byte 0xfff40000 _0804D144: .4byte sub_809718C _0804D148: .4byte gUnknown_202402C -_0804D14C: .4byte gUnknown_30030F0 +_0804D14C: .4byte gMain _0804D150: bl sub_8122550 ldr r0, _0804D170 @ =gUnknown_2031DA8 @@ -1309,14 +1309,14 @@ _0804D150: adds r1, 0x28 movs r2, 0 bl sub_812256C - ldr r1, _0804D174 @ =gUnknown_30030F0 + ldr r1, _0804D174 @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804D4B4 .align 2, 0 _0804D170: .4byte gUnknown_2031DA8 -_0804D174: .4byte gUnknown_30030F0 +_0804D174: .4byte gMain _0804D178: ldr r0, _0804D194 @ =gUnknown_2031DA8 ldr r1, [r0] @@ -1325,16 +1325,16 @@ _0804D178: adds r1, 0x28 movs r2, 0x1 bl sub_812256C - ldr r1, _0804D198 @ =gUnknown_30030F0 + ldr r1, _0804D198 @ =gMain movs r7, 0x87 lsls r7, 3 adds r1, r7 b _0804D4B4 .align 2, 0 _0804D194: .4byte gUnknown_2031DA8 -_0804D198: .4byte gUnknown_30030F0 +_0804D198: .4byte gMain _0804D19C: - ldr r0, _0804D214 @ =gUnknown_300500C + ldr r0, _0804D214 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r6, _0804D218 @ =gUnknown_2031C94 ldr r1, [r6] @@ -1375,7 +1375,7 @@ _0804D19C: ldr r1, [r6, 0x20] movs r2, 0x18 bl sub_804F728 - ldr r1, _0804D228 @ =gUnknown_30030F0 + ldr r1, _0804D228 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -1390,12 +1390,12 @@ _0804D200: strb r2, [r0] b _0804D4D2 .align 2, 0 -_0804D214: .4byte gUnknown_300500C +_0804D214: .4byte gSaveBlock2Ptr _0804D218: .4byte gUnknown_2031C94 _0804D21C: .4byte gUnknown_201C000 _0804D220: .4byte gUnknown_2022744 _0804D224: .4byte gUnknown_8261ECC -_0804D228: .4byte gUnknown_30030F0 +_0804D228: .4byte gMain _0804D22C: .4byte gUnknown_2031DA8 _0804D230: bl sub_804F610 @@ -1404,15 +1404,15 @@ _0804D230: bne _0804D23C b _0804D4D2 _0804D23C: - ldr r1, _0804D248 @ =gUnknown_30030F0 + ldr r1, _0804D248 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _0804D4B4 .align 2, 0 -_0804D248: .4byte gUnknown_30030F0 +_0804D248: .4byte gMain _0804D24C: - ldr r0, _0804D30C @ =gUnknown_300500C + ldr r0, _0804D30C @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0x1 movs r2, 0 @@ -1499,17 +1499,17 @@ _0804D2D4: adds r6, 0x1 cmp r6, 0x2 ble _0804D2D4 - ldr r1, _0804D31C @ =gUnknown_30030F0 + ldr r1, _0804D31C @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804D4B4 .align 2, 0 -_0804D30C: .4byte gUnknown_300500C +_0804D30C: .4byte gSaveBlock2Ptr _0804D310: .4byte gUnknown_8261E8A _0804D314: .4byte gUnknown_8261CC8 _0804D318: .4byte gUnknown_2022744 -_0804D31C: .4byte gUnknown_30030F0 +_0804D31C: .4byte gMain _0804D320: ldr r4, _0804D3B0 @ =gUnknown_8261CC8 add r1, sp, 0xC @@ -1612,7 +1612,7 @@ _0804D3C0: ldr r1, [r4] adds r1, 0x34 strb r0, [r1] - ldr r0, _0804D410 @ =gUnknown_30030F0 + ldr r0, _0804D410 @ =gMain movs r7, 0x87 lsls r7, 3 adds r0, r7 @@ -1623,7 +1623,7 @@ _0804D3C0: _0804D404: .4byte gUnknown_8261CB0 _0804D408: .4byte gUnknown_8261E40 _0804D40C: .4byte gUnknown_2031DA8 -_0804D410: .4byte gUnknown_30030F0 +_0804D410: .4byte gMain _0804D414: movs r0, 0 bl sub_804D694 @@ -1638,14 +1638,14 @@ _0804D41C: ldr r0, [r2] strb r1, [r0, 0x1] bl sub_804D764 - ldr r1, _0804D440 @ =gUnknown_30030F0 + ldr r1, _0804D440 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _0804D4B4 .align 2, 0 _0804D43C: .4byte gUnknown_2031DA8 -_0804D440: .4byte gUnknown_30030F0 +_0804D440: .4byte gMain _0804D444: ldr r2, _0804D478 @ =gUnknown_2037AB8 ldrb r1, [r2, 0x8] @@ -1665,14 +1665,14 @@ _0804D444: movs r2, 0x10 movs r3, 0 bl BeginNormalPaletteFade - ldr r1, _0804D47C @ =gUnknown_30030F0 + ldr r1, _0804D47C @ =gMain movs r3, 0x87 lsls r3, 3 adds r1, r3 b _0804D4B4 .align 2, 0 _0804D478: .4byte gUnknown_2037AB8 -_0804D47C: .4byte gUnknown_30030F0 +_0804D47C: .4byte gMain _0804D480: movs r1, 0x82 lsls r1, 5 @@ -1680,13 +1680,13 @@ _0804D480: bl SetGpuReg movs r0, 0x2 bl sub_804D694 - ldr r1, _0804D49C @ =gUnknown_30030F0 + ldr r1, _0804D49C @ =gMain movs r5, 0x87 lsls r5, 3 adds r1, r5 b _0804D4B4 .align 2, 0 -_0804D49C: .4byte gUnknown_30030F0 +_0804D49C: .4byte gMain _0804D4A0: movs r7, 0x87 lsls r7, 3 @@ -1695,7 +1695,7 @@ _0804D4A0: _0804D4A8: bl sub_804F964 _0804D4AC: - ldr r1, _0804D4BC @ =gUnknown_30030F0 + ldr r1, _0804D4BC @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -1705,7 +1705,7 @@ _0804D4B4: strb r0, [r1] b _0804D4D2 .align 2, 0 -_0804D4BC: .4byte gUnknown_30030F0 +_0804D4BC: .4byte gMain _0804D4C0: ldr r0, _0804D4F0 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -1825,7 +1825,7 @@ _0804D59E: thumb_func_start sub_804D5A4 sub_804D5A4: @ 804D5A4 push {r4,r5,lr} - ldr r5, _0804D5E4 @ =gUnknown_30030F0 + ldr r5, _0804D5E4 @ =gMain ldr r0, _0804D5E8 @ =sub_804C718 str r0, [r5, 0x8] ldr r0, _0804D5EC @ =gUnknown_3003F3C @@ -1850,7 +1850,7 @@ sub_804D5A4: @ 804D5A4 bl SetMainCallback2 b _0804D620 .align 2, 0 -_0804D5E4: .4byte gUnknown_30030F0 +_0804D5E4: .4byte gMain _0804D5E8: .4byte sub_804C718 _0804D5EC: .4byte gUnknown_3003F3C _0804D5F0: .4byte gUnknown_2031C90 @@ -2357,7 +2357,7 @@ _0804DA28: .4byte gUnknown_2022118 _0804DA2C: .4byte gUnknown_2031DA8 _0804DA30: ldr r0, _0804DA48 @ =gUnknown_2022618 - ldr r1, _0804DA4C @ =gUnknown_3005008 + ldr r1, _0804DA4C @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _0804DA50 @ =0x00002cd0 adds r1, r2 @@ -2368,7 +2368,7 @@ _0804DA30: b _0804DB96 .align 2, 0 _0804DA48: .4byte gUnknown_2022618 -_0804DA4C: .4byte gUnknown_3005008 +_0804DA4C: .4byte gSaveBlock1Ptr _0804DA50: .4byte 0x00002cd0 _0804DA54: .4byte gUnknown_2031DA8 _0804DA58: @@ -2409,7 +2409,7 @@ _0804DA9C: .4byte gUnknown_2022118 _0804DAA0: .4byte gUnknown_2031DA8 _0804DAA4: ldr r0, _0804DABC @ =gUnknown_2022618 - ldr r1, _0804DAC0 @ =gUnknown_3005008 + ldr r1, _0804DAC0 @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _0804DAC4 @ =0x0000309c adds r1, r2 @@ -2420,7 +2420,7 @@ _0804DAA4: b _0804DB96 .align 2, 0 _0804DABC: .4byte gUnknown_2022618 -_0804DAC0: .4byte gUnknown_3005008 +_0804DAC0: .4byte gSaveBlock1Ptr _0804DAC4: .4byte 0x0000309c _0804DAC8: .4byte gUnknown_2031DA8 _0804DACC: @@ -3299,7 +3299,7 @@ _0804E18C: sub_804E194: @ 804E194 push {r4,r5,lr} sub sp, 0xC - ldr r0, _0804E1B4 @ =gUnknown_30030F0 + ldr r0, _0804E1B4 @ =gMain ldrh r1, [r0, 0x30] movs r0, 0x40 ands r0, r1 @@ -3312,7 +3312,7 @@ sub_804E194: @ 804E194 bl TradeMenuMoveCursor b _0804E208 .align 2, 0 -_0804E1B4: .4byte gUnknown_30030F0 +_0804E1B4: .4byte gMain _0804E1B8: .4byte gUnknown_2031DA8 _0804E1BC: movs r0, 0x80 @@ -3351,7 +3351,7 @@ _0804E1F4: movs r1, 0x3 bl TradeMenuMoveCursor _0804E208: - ldr r0, _0804E280 @ =gUnknown_30030F0 + ldr r0, _0804E280 @ =gMain ldrh r1, [r0, 0x2E] movs r5, 0x1 adds r0, r5, 0 @@ -3403,7 +3403,7 @@ _0804E208: b _0804E2DE .align 2, 0 _0804E27C: .4byte gUnknown_2031DA8 -_0804E280: .4byte gUnknown_30030F0 +_0804E280: .4byte gMain _0804E284: .4byte gUnknown_8261EE4 _0804E288: cmp r0, 0xB @@ -3448,7 +3448,7 @@ _0804E2A6: movs r2, 0x18 bl sub_804F728 _0804E2DE: - ldr r0, _0804E328 @ =gUnknown_30030F0 + ldr r0, _0804E328 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x80 lsls r0, 1 @@ -3483,7 +3483,7 @@ _0804E314: _0804E31C: .4byte gUnknown_8261FC4 _0804E320: .4byte gUnknown_8261ECC _0804E324: .4byte 0x06010000 -_0804E328: .4byte gUnknown_30030F0 +_0804E328: .4byte gMain _0804E32C: .4byte gUnknown_2031DA8 thumb_func_end sub_804E194 @@ -3644,7 +3644,7 @@ _0804E468: .4byte gUnknown_2031DA8 thumb_func_start sub_804E46C sub_804E46C: @ 804E46C push {lr} - ldr r0, _0804E490 @ =gUnknown_30030F0 + ldr r0, _0804E490 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -3662,7 +3662,7 @@ _0804E48C: pop {r0} bx r0 .align 2, 0 -_0804E490: .4byte gUnknown_30030F0 +_0804E490: .4byte gMain thumb_func_end sub_804E46C thumb_func_start sub_804E494 @@ -4183,7 +4183,7 @@ _0804E87C: .4byte gUnknown_8261FC4 thumb_func_start sub_804E880 sub_804E880: @ 804E880 push {r4-r6,lr} - ldr r0, _0804E8FC @ =gUnknown_30030F0 + ldr r0, _0804E8FC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -4239,7 +4239,7 @@ _0804E8F4: pop {r0} bx r0 .align 2, 0 -_0804E8FC: .4byte gUnknown_30030F0 +_0804E8FC: .4byte gMain _0804E900: .4byte gUnknown_2031DA8 _0804E904: .4byte gUnknown_202063C thumb_func_end sub_804E880 @@ -6382,7 +6382,7 @@ _0804F9D4: .4byte gUnknown_202063C sub_804F9D8: @ 804F9D8 push {r4,r5,lr} movs r2, 0 - ldr r5, _0804FA08 @ =gUnknown_3005008 + ldr r5, _0804FA08 @ =gSaveBlock1Ptr ldr r4, _0804FA0C @ =0x0000309c ldr r3, _0804FA10 @ =gUnknown_2031DA8 _0804F9E2: @@ -6407,7 +6407,7 @@ _0804F9FC: pop {r0} bx r0 .align 2, 0 -_0804FA08: .4byte gUnknown_3005008 +_0804FA08: .4byte gSaveBlock1Ptr _0804FA0C: .4byte 0x0000309c _0804FA10: .4byte gUnknown_2031DA8 thumb_func_end sub_804F9D8 @@ -7390,7 +7390,7 @@ _08050134: .4byte nullsub_8 sub_8050138: @ 8050138 push {r4-r6,lr} sub sp, 0x4 - ldr r1, _08050158 @ =gUnknown_30030F0 + ldr r1, _08050158 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -7406,7 +7406,7 @@ _0805014E: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08050158: .4byte gUnknown_30030F0 +_08050158: .4byte gMain _0805015C: .4byte _08050160 .align 2, 0 _08050160: @@ -7447,7 +7447,7 @@ _080501A8: bl SetVBlankCallback bl sub_80504CC bl sub_804FF24 - ldr r1, _0805023C @ =gUnknown_30030F0 + ldr r1, _0805023C @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -7495,7 +7495,7 @@ _0805022C: .4byte gUnknown_202271A _08050230: .4byte 0x00001144 _08050234: .4byte gUnknown_2031DAC _08050238: .4byte sub_804FF0C -_0805023C: .4byte gUnknown_30030F0 +_0805023C: .4byte gMain _08050240: ldr r0, _08050270 @ =gUnknown_3003F64 ldrb r5, [r0] @@ -7509,7 +7509,7 @@ _08050240: movs r1, 0x1 strb r1, [r0] bl sub_8009804 - ldr r1, _08050278 @ =gUnknown_30030F0 + ldr r1, _08050278 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -7522,7 +7522,7 @@ _08050240: .align 2, 0 _08050270: .4byte gUnknown_3003F64 _08050274: .4byte gUnknown_2031DAC -_08050278: .4byte gUnknown_30030F0 +_08050278: .4byte gMain _0805027C: movs r0, 0x87 lsls r0, 3 @@ -7572,14 +7572,14 @@ _080502B4: b _08050472 _080502D6: bl sub_800A5BC - ldr r1, _080502E8 @ =gUnknown_30030F0 + ldr r1, _080502E8 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08050440 .align 2, 0 _080502E4: .4byte gUnknown_2031DAC -_080502E8: .4byte gUnknown_30030F0 +_080502E8: .4byte gMain _080502EC: bl sub_804FF4C b _08050472 @@ -7598,14 +7598,14 @@ _08050300: beq _0805030E b _08050472 _0805030E: - ldr r1, _0805031C @ =gUnknown_30030F0 + ldr r1, _0805031C @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08050440 .align 2, 0 _08050318: .4byte gUnknown_3003F64 -_0805031C: .4byte gUnknown_30030F0 +_0805031C: .4byte gMain _08050320: ldr r2, _08050340 @ =gUnknown_2031DAC ldr r0, [r2] @@ -7627,13 +7627,13 @@ _08050344: movs r0, 0 movs r1, 0x1 bl sub_804FFE4 - ldr r1, _08050358 @ =gUnknown_30030F0 + ldr r1, _08050358 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08050440 .align 2, 0 -_08050358: .4byte gUnknown_30030F0 +_08050358: .4byte gMain _0805035C: movs r0, 0x1 movs r1, 0 @@ -7644,13 +7644,13 @@ _08050366: movs r1, 0x1 bl sub_804FFE4 bl sub_80504B0 - ldr r1, _0805037C @ =gUnknown_30030F0 + ldr r1, _0805037C @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08050440 .align 2, 0 -_0805037C: .4byte gUnknown_30030F0 +_0805037C: .4byte gMain _08050380: bl sub_8050DE0 ldr r0, _08050394 @ =gUnknown_826CDD4 @@ -7711,7 +7711,7 @@ _0805039C: adds r0, r4, 0 movs r2, 0x7 bl memcpy - ldr r1, _0805042C @ =gUnknown_30030F0 + ldr r1, _0805042C @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -7722,12 +7722,12 @@ _0805041C: .4byte gUnknown_2024284 _08050420: .4byte gUnknown_2031DAC _08050424: .4byte gUnknown_202402C _08050428: .4byte gUnknown_2022744 -_0805042C: .4byte gUnknown_30030F0 +_0805042C: .4byte gMain _08050430: bl sub_805049C bl sub_8050E24 _08050438: - ldr r1, _08050448 @ =gUnknown_30030F0 + ldr r1, _08050448 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -7737,7 +7737,7 @@ _08050440: strb r0, [r1] b _08050472 .align 2, 0 -_08050448: .4byte gUnknown_30030F0 +_08050448: .4byte gMain _0805044C: ldr r0, _08050490 @ =gUnknown_2037AB8 ldrb r1, [r0, 0x7] @@ -7907,7 +7907,7 @@ _080505C8: .4byte gUnknown_826D1BC sub_80505CC: @ 80505CC push {r4,r5,lr} sub sp, 0xC - ldr r0, _080505EC @ =gUnknown_30030F0 + ldr r0, _080505EC @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -7922,7 +7922,7 @@ _080505E0: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080505EC: .4byte gUnknown_30030F0 +_080505EC: .4byte gMain _080505F0: .4byte _080505F4 .align 2, 0 _080505F4: @@ -7948,7 +7948,7 @@ _08050628: movs r0, 0x6 strb r0, [r1, 0x1] ldr r4, _080506D4 @ =gUnknown_2022744 - ldr r0, _080506D8 @ =gUnknown_300500C + ldr r0, _080506D8 @ =gSaveBlock2Ptr ldr r1, [r0] adds r0, r4, 0 bl StringCopy @@ -8004,7 +8004,7 @@ _08050628: adds r0, 0xEC strh r5, [r0] str r5, [r2, 0x64] - ldr r0, _080506E8 @ =gUnknown_30030F0 + ldr r0, _080506E8 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -8015,11 +8015,11 @@ _08050628: _080506CC: .4byte gUnknown_2031DA4 _080506D0: .4byte gUnknown_20370C2 _080506D4: .4byte gUnknown_2022744 -_080506D8: .4byte gUnknown_300500C +_080506D8: .4byte gSaveBlock2Ptr _080506DC: .4byte gUnknown_202402C _080506E0: .4byte gUnknown_2031DAC _080506E4: .4byte sub_804FF0C -_080506E8: .4byte gUnknown_30030F0 +_080506E8: .4byte gMain _080506EC: movs r0, 0 movs r1, 0 @@ -8071,7 +8071,7 @@ _08050754: bl sub_8050968 bl sub_8050E24 _08050764: - ldr r1, _08050774 @ =gUnknown_30030F0 + ldr r1, _08050774 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 @@ -8080,7 +8080,7 @@ _08050764: strb r0, [r1] b _0805077E .align 2, 0 -_08050774: .4byte gUnknown_30030F0 +_08050774: .4byte gMain _08050778: ldr r0, _0805079C @ =sub_8050948 bl SetMainCallback2 @@ -8187,7 +8187,7 @@ sub_805080C: @ 805080C mov r8, r0 cmp r6, 0xFF beq _08050866 - ldr r0, _080508E0 @ =gUnknown_3005008 + ldr r0, _080508E0 @ =gSaveBlock1Ptr lsls r1, r6, 3 adds r1, r6 lsls r1, 2 @@ -8252,7 +8252,7 @@ _080508CA: .align 2, 0 _080508D8: .4byte gUnknown_2024284 _080508DC: .4byte gUnknown_202402C -_080508E0: .4byte gUnknown_3005008 +_080508E0: .4byte gSaveBlock1Ptr _080508E4: .4byte 0x00002cd0 _080508E8: .4byte gUnknown_2031DAC _080508EC: .4byte gUnknown_2031CCC @@ -11037,7 +11037,7 @@ _08052216: movs r0, 0x1 b _0805231A _08052226: - ldr r0, _08052238 @ =gUnknown_30030F0 + ldr r0, _08052238 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -11046,7 +11046,7 @@ _08052226: adds r1, r2, 0 b _080522AC .align 2, 0 -_08052238: .4byte gUnknown_30030F0 +_08052238: .4byte gMain _0805223C: ldr r0, _08052280 @ =gUnknown_20370C2 ldrb r0, [r0] @@ -13262,7 +13262,7 @@ _08053672: movs r0, 0x1 b _08053776 _08053682: - ldr r0, _08053694 @ =gUnknown_30030F0 + ldr r0, _08053694 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -13271,7 +13271,7 @@ _08053682: adds r1, r2, 0 b _08053708 .align 2, 0 -_08053694: .4byte gUnknown_30030F0 +_08053694: .4byte gMain _08053698: ldr r0, _080536DC @ =gUnknown_20370C2 ldrb r0, [r0] @@ -13383,7 +13383,7 @@ sub_8053788: @ 8053788 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _080537A4 @ =gUnknown_30030F0 + ldr r0, _080537A4 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r0, r2 @@ -13394,15 +13394,15 @@ sub_8053788: @ 8053788 beq _080537B8 b _08053814 .align 2, 0 -_080537A4: .4byte gUnknown_30030F0 +_080537A4: .4byte gMain _080537A8: movs r0, 0x4 strb r0, [r1] - ldr r1, _080537B4 @ =gUnknown_3003530 + ldr r1, _080537B4 @ =gSoftResetDisabled movs r0, 0x1 b _08053812 .align 2, 0 -_080537B4: .4byte gUnknown_3003530 +_080537B4: .4byte gSoftResetDisabled _080537B8: ldr r0, _080537F4 @ =gUnknown_300537C ldr r1, _080537F8 @ =sub_8053E8C @@ -14243,7 +14243,7 @@ _08053E88: .4byte 0x0000dcba sub_8053E8C: @ 8053E8C push {r4,lr} sub sp, 0x4 - ldr r1, _08053EAC @ =gUnknown_30030F0 + ldr r1, _08053EAC @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -14259,7 +14259,7 @@ _08053EA2: ldr r0, [r0] mov pc, r0 .align 2, 0 -_08053EAC: .4byte gUnknown_30030F0 +_08053EAC: .4byte gMain _08053EB0: .4byte _08053EB4 .align 2, 0 _08053EB4: @@ -14380,7 +14380,7 @@ _08054060: .4byte gUnknown_2021D18 _08054064: .4byte gUnknown_841E325 _08054068: bl sub_800AB9C - ldr r0, _0805407C @ =gUnknown_30030F0 + ldr r0, _0805407C @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -14388,7 +14388,7 @@ _08054068: movs r1, 0x64 b _080541F0 .align 2, 0 -_0805407C: .4byte gUnknown_30030F0 +_0805407C: .4byte gMain _08054080: ldr r0, _080540B4 @ =gUnknown_2031DAC ldr r3, [r0] @@ -14411,14 +14411,14 @@ _0805409C: bne _080540A8 b _08054396 _080540A8: - ldr r0, _080540B8 @ =gUnknown_30030F0 + ldr r0, _080540B8 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 b _080540D0 .align 2, 0 _080540B4: .4byte gUnknown_2031DAC -_080540B8: .4byte gUnknown_30030F0 +_080540B8: .4byte gMain _080540BC: bl sub_800A4BC lsls r0, 24 @@ -14426,7 +14426,7 @@ _080540BC: bne _080540C8 b _08054396 _080540C8: - ldr r0, _080540D8 @ =gUnknown_30030F0 + ldr r0, _080540D8 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -14435,7 +14435,7 @@ _080540D0: strb r1, [r0] b _08054396 .align 2, 0 -_080540D8: .4byte gUnknown_30030F0 +_080540D8: .4byte gMain _080540DC: movs r0, 0x87 lsls r0, 3 @@ -14497,7 +14497,7 @@ _08054132: _0805415A: bl sub_804C1C0 bl sub_80DA3AC - ldr r1, _08054180 @ =gUnknown_30030F0 + ldr r1, _08054180 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -14510,7 +14510,7 @@ _0805415A: _08054174: .4byte gUnknown_2031DAC _08054178: .4byte gUnknown_3003F3C _0805417C: .4byte gUnknown_202273C -_08054180: .4byte gUnknown_30030F0 +_08054180: .4byte gMain _08054184: ldr r0, _0805419C @ =gUnknown_2031DAC ldr r1, [r0] @@ -14534,7 +14534,7 @@ _080541A0: cmp r1, 0 beq _080541C4 bl sav2_gender2_inplace_and_xFE - ldr r0, _080541C0 @ =gUnknown_30030F0 + ldr r0, _080541C0 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -14542,12 +14542,12 @@ _080541A0: strb r1, [r0] b _08054396 .align 2, 0 -_080541C0: .4byte gUnknown_30030F0 +_080541C0: .4byte gMain _080541C4: ldr r0, _080541D8 @ =gUnknown_2031DAC ldr r0, [r0] str r1, [r0, 0x64] - ldr r0, _080541DC @ =gUnknown_30030F0 + ldr r0, _080541DC @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 @@ -14556,10 +14556,10 @@ _080541C4: b _08054396 .align 2, 0 _080541D8: .4byte gUnknown_2031DAC -_080541DC: .4byte gUnknown_30030F0 +_080541DC: .4byte gMain _080541E0: bl sub_80DA40C - ldr r0, _080541FC @ =gUnknown_30030F0 + ldr r0, _080541FC @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -14573,7 +14573,7 @@ _080541F2: str r2, [r0, 0x64] b _08054396 .align 2, 0 -_080541FC: .4byte gUnknown_30030F0 +_080541FC: .4byte gMain _08054200: .4byte gUnknown_2031DAC _08054204: ldr r4, _08054238 @ =gUnknown_2031DAC @@ -14606,7 +14606,7 @@ _0805423C: movs r0, 0 str r0, [r1, 0x64] _08054242: - ldr r0, _08054250 @ =gUnknown_30030F0 + ldr r0, _08054250 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 @@ -14614,7 +14614,7 @@ _08054242: strb r1, [r0] b _08054396 .align 2, 0 -_08054250: .4byte gUnknown_30030F0 +_08054250: .4byte gMain _08054254: ldr r0, _08054270 @ =gUnknown_2031DAC ldr r1, [r0] @@ -14622,7 +14622,7 @@ _08054254: cmp r0, 0 bne _08054278 bl sub_800AB9C - ldr r0, _08054274 @ =gUnknown_30030F0 + ldr r0, _08054274 @ =gMain movs r1, 0x87 lsls r1, 3 adds r0, r1 @@ -14631,7 +14631,7 @@ _08054254: b _08054396 .align 2, 0 _08054270: .4byte gUnknown_2031DAC -_08054274: .4byte gUnknown_30030F0 +_08054274: .4byte gMain _08054278: subs r0, 0x1 str r0, [r1, 0x64] @@ -14644,7 +14644,7 @@ _0805427E: b _08054396 _0805428A: bl sub_80DA434 - ldr r0, _0805429C @ =gUnknown_30030F0 + ldr r0, _0805429C @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r2 @@ -14652,7 +14652,7 @@ _0805428A: strb r1, [r0] b _08054396 .align 2, 0 -_0805429C: .4byte gUnknown_30030F0 +_0805429C: .4byte gMain _080542A0: ldr r0, _080542C0 @ =gUnknown_2031DAC ldr r1, [r0] @@ -14693,14 +14693,14 @@ _080542E0: bne _08054396 movs r0, 0x3 bl FadeOutBGM - ldr r1, _08054300 @ =gUnknown_30030F0 + ldr r1, _08054300 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08054340 .align 2, 0 _080542FC: .4byte gUnknown_2037AB8 -_08054300: .4byte gUnknown_30030F0 +_08054300: .4byte gMain _08054304: bl IsBGMStopped lsls r0, 24 @@ -14711,7 +14711,7 @@ _08054304: ldrb r0, [r0] cmp r0, 0 beq _08054334 - ldr r0, _0805432C @ =gUnknown_30030F0 + ldr r0, _0805432C @ =gMain ldr r1, [r0, 0x8] ldr r0, _08054330 @ =sub_804C718 cmp r1, r0 @@ -14720,12 +14720,12 @@ _08054304: b _08054338 .align 2, 0 _08054328: .4byte gUnknown_3003F3C -_0805432C: .4byte gUnknown_30030F0 +_0805432C: .4byte gMain _08054330: .4byte sub_804C718 _08054334: bl sub_800AAC0 _08054338: - ldr r1, _08054348 @ =gUnknown_30030F0 + ldr r1, _08054348 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -14735,7 +14735,7 @@ _08054340: strb r0, [r1] b _08054396 .align 2, 0 -_08054348: .4byte gUnknown_30030F0 +_08054348: .4byte gMain _0805434C: ldr r0, _08054374 @ =gUnknown_3003F3C ldrb r0, [r0] @@ -14749,7 +14749,7 @@ _0805434C: lsls r0, 24 cmp r0, 0 beq _08054396 - ldr r0, _0805437C @ =gUnknown_3003530 + ldr r0, _0805437C @ =gSoftResetDisabled movs r1, 0 strb r1, [r0] ldr r0, _08054380 @ =sub_80543C4 @@ -14758,14 +14758,14 @@ _0805434C: .align 2, 0 _08054374: .4byte gUnknown_3003F3C _08054378: .4byte sub_804C718 -_0805437C: .4byte gUnknown_3003530 +_0805437C: .4byte gSoftResetDisabled _08054380: .4byte sub_80543C4 _08054384: ldr r0, _080543B8 @ =gUnknown_3003F64 ldrb r1, [r0] cmp r1, 0 bne _08054396 - ldr r0, _080543BC @ =gUnknown_3003530 + ldr r0, _080543BC @ =gSoftResetDisabled strb r1, [r0] ldr r0, _080543C0 @ =sub_80543C4 bl SetMainCallback2 @@ -14785,7 +14785,7 @@ _080543A4: bx r0 .align 2, 0 _080543B8: .4byte gUnknown_3003F64 -_080543BC: .4byte gUnknown_3003530 +_080543BC: .4byte gSoftResetDisabled _080543C0: .4byte sub_80543C4 thumb_func_end sub_8053E8C @@ -14821,7 +14821,7 @@ sub_80543C4: @ 80543C4 beq _08054412 bl sub_80FCE44 _08054412: - ldr r0, _0805443C @ =gUnknown_30030F0 + ldr r0, _0805443C @ =gMain ldr r0, [r0, 0x8] bl SetMainCallback2 _0805441A: @@ -14836,7 +14836,7 @@ _0805441A: _08054430: .4byte gUnknown_2037AB8 _08054434: .4byte gUnknown_2031DAC _08054438: .4byte gUnknown_3003F3C -_0805443C: .4byte gUnknown_30030F0 +_0805443C: .4byte gMain thumb_func_end sub_80543C4 thumb_func_start sub_8054440 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 798d63163..2cc358510 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -284,7 +284,7 @@ _08089224: adds r0, r1 strb r5, [r0] _0808924A: - ldr r0, _08089278 @ =gUnknown_30030F0 + ldr r0, _08089278 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -303,7 +303,7 @@ _0808924A: .align 2, 0 _08089270: .4byte gUnknown_3003F64 _08089274: .4byte 0x00007bce -_08089278: .4byte gUnknown_30030F0 +_08089278: .4byte gMain _0808927C: .4byte gUnknown_20397A4 _08089280: movs r0, 0x2 @@ -355,7 +355,7 @@ _080892CE: .align 2, 0 _080892E0: .4byte gUnknown_20397A4 _080892E4: - ldr r0, _0808931C @ =gUnknown_30030F0 + ldr r0, _0808931C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x2 ands r0, r1 @@ -383,7 +383,7 @@ _08089308: str r1, [sp] b _080893C8 .align 2, 0 -_0808931C: .4byte gUnknown_30030F0 +_0808931C: .4byte gMain _08089320: .4byte gUnknown_3003F64 _08089324: movs r0, 0xA @@ -695,7 +695,7 @@ _080895B4: .4byte gUnknown_20397A4 thumb_func_start sub_80895B8 sub_80895B8: @ 80895B8 push {lr} - ldr r1, _080895D8 @ =gUnknown_30030F0 + ldr r1, _080895D8 @ =gMain movs r2, 0x87 lsls r2, 3 adds r0, r1, r2 @@ -711,7 +711,7 @@ _080895CC: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080895D8: .4byte gUnknown_30030F0 +_080895D8: .4byte gMain _080895DC: .4byte _080895E0 .align 2, 0 _080895E0: @@ -732,34 +732,34 @@ _080895E0: _08089618: bl sub_8089C3C bl sub_8089DA4 - ldr r1, _0808962C @ =gUnknown_30030F0 + ldr r1, _0808962C @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_0808962C: .4byte gUnknown_30030F0 +_0808962C: .4byte gMain _08089630: bl nullsub_51 - ldr r1, _08089640 @ =gUnknown_30030F0 + ldr r1, _08089640 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08089732 .align 2, 0 -_08089640: .4byte gUnknown_30030F0 +_08089640: .4byte gMain _08089644: bl sub_8089C5C - ldr r1, _08089654 @ =gUnknown_30030F0 + ldr r1, _08089654 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_08089654: .4byte gUnknown_30030F0 +_08089654: .4byte gMain _08089658: bl sub_8089C80 - ldr r1, _08089678 @ =gUnknown_30030F0 + ldr r1, _08089678 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 @@ -768,93 +768,93 @@ _08089658: strb r0, [r1] _0808966A: bl sub_8089CA4 - ldr r1, _08089678 @ =gUnknown_30030F0 + ldr r1, _08089678 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_08089678: .4byte gUnknown_30030F0 +_08089678: .4byte gMain _0808967C: bl sub_8089D0C - ldr r1, _0808968C @ =gUnknown_30030F0 + ldr r1, _0808968C @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08089732 .align 2, 0 -_0808968C: .4byte gUnknown_30030F0 +_0808968C: .4byte gMain _08089690: bl sub_80F6E9C - ldr r1, _080896A0 @ =gUnknown_30030F0 + ldr r1, _080896A0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_080896A0: .4byte gUnknown_30030F0 +_080896A0: .4byte gMain _080896A4: bl sub_808AB10 - ldr r1, _080896B4 @ =gUnknown_30030F0 + ldr r1, _080896B4 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08089732 .align 2, 0 -_080896B4: .4byte gUnknown_30030F0 +_080896B4: .4byte gMain _080896B8: bl sub_8089424 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0808973E - ldr r1, _080896D0 @ =gUnknown_30030F0 + ldr r1, _080896D0 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_080896D0: .4byte gUnknown_30030F0 +_080896D0: .4byte gMain _080896D4: bl sub_808AC6C - ldr r1, _080896E4 @ =gUnknown_30030F0 + ldr r1, _080896E4 @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08089732 .align 2, 0 -_080896E4: .4byte gUnknown_30030F0 +_080896E4: .4byte gMain _080896E8: bl sub_8089B64 - ldr r1, _080896F8 @ =gUnknown_30030F0 + ldr r1, _080896F8 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_080896F8: .4byte gUnknown_30030F0 +_080896F8: .4byte gMain _080896FC: bl sub_8089ECC - ldr r1, _0808970C @ =gUnknown_30030F0 + ldr r1, _0808970C @ =gMain movs r2, 0x87 lsls r2, 3 adds r1, r2 b _08089732 .align 2, 0 -_0808970C: .4byte gUnknown_30030F0 +_0808970C: .4byte gMain _08089710: bl sub_808ACE4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0808973E - ldr r1, _08089728 @ =gUnknown_30030F0 + ldr r1, _08089728 @ =gMain movs r0, 0x87 lsls r0, 3 adds r1, r0 b _08089732 .align 2, 0 -_08089728: .4byte gUnknown_30030F0 +_08089728: .4byte gMain _0808972C: movs r0, 0x87 lsls r0, 3 @@ -936,7 +936,7 @@ sub_808979C: @ 808979C lsls r1, 24 lsrs r1, 24 mov r8, r1 - ldr r7, _08089888 @ =gUnknown_300500C + ldr r7, _08089888 @ =gSaveBlock2Ptr ldr r1, [r7] ldrb r0, [r1, 0x8] movs r6, 0 @@ -1002,7 +1002,7 @@ _080897EE: strh r6, [r5, 0x1E] movs r0, 0 strb r0, [r5, 0x4] - ldr r4, _0808989C @ =gUnknown_3005008 + ldr r4, _0808989C @ =gSaveBlock1Ptr ldr r0, [r4] movs r1, 0xA4 lsls r1, 2 @@ -1028,7 +1028,7 @@ _0808985A: lsrs r2, r0, 24 cmp r2, 0x3 bls _0808985A - ldr r0, _08089888 @ =gUnknown_300500C + ldr r0, _08089888 @ =gSaveBlock2Ptr ldr r1, [r0] adds r0, r7, 0 bl StringCopy @@ -1039,12 +1039,12 @@ _0808985A: bl sub_808975C b _080898DC .align 2, 0 -_08089888: .4byte gUnknown_300500C +_08089888: .4byte gSaveBlock2Ptr _0808988C: .4byte 0x000003e7 _08089890: .4byte 0x00000829 _08089894: .4byte 0x0000270f _08089898: .4byte 0x0000ffff -_0808989C: .4byte gUnknown_3005008 +_0808989C: .4byte gSaveBlock1Ptr _080898A0: .4byte 0x00002ca0 _080898A4: mov r1, r8 @@ -1121,7 +1121,7 @@ _0808991C: adds r6, r5, 0 adds r6, 0x4D strb r0, [r6] - ldr r0, _0808999C @ =gUnknown_300500C + ldr r0, _0808999C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _080899A0 @ =0x00000b14 adds r1, r0, r2 @@ -1179,7 +1179,7 @@ _0808998A: adds r0, 0x8 b _080899AE .align 2, 0 -_0808999C: .4byte gUnknown_300500C +_0808999C: .4byte gSaveBlock2Ptr _080899A0: .4byte 0x00000b14 _080899A4: .4byte 0x0000ffff _080899A8: .4byte gUnknown_83CD8F8 @@ -2200,7 +2200,7 @@ sub_808A22C: @ 808A22C mov r5, r8 push {r5-r7} sub sp, 0x14 - ldr r0, _0808A2B0 @ =gUnknown_300500C + ldr r0, _0808A2B0 @ =gSaveBlock2Ptr ldr r0, [r0] ldrh r5, [r0, 0xE] ldrb r7, [r0, 0x10] @@ -2261,7 +2261,7 @@ _0808A264: bl box_print b _0808A2F4 .align 2, 0 -_0808A2B0: .4byte gUnknown_300500C +_0808A2B0: .4byte gSaveBlock2Ptr _0808A2B4: .4byte gUnknown_20397A4 _0808A2B8: .4byte 0x0000046c _0808A2BC: .4byte 0x000003e7 @@ -4832,7 +4832,7 @@ sub_808B774: @ 808B774 movs r5, 0 strb r5, [r0] ldr r1, [r4] - ldr r0, _0808B7B4 @ =gUnknown_300500C + ldr r0, _0808B7B4 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x12] strb r0, [r1, 0x6] @@ -4856,7 +4856,7 @@ sub_808B774: @ 808B774 b _0808B7C8 .align 2, 0 _0808B7B0: .4byte gUnknown_20397A4 -_0808B7B4: .4byte gUnknown_300500C +_0808B7B4: .4byte gSaveBlock2Ptr _0808B7B8: .4byte 0x00000456 _0808B7BC: .4byte 0x00000457 _0808B7C0: @@ -4900,11 +4900,11 @@ sub_808B800: @ 808B800 ldr r0, [r0] cmp r0, 0 bne _0808B818 - ldr r0, _0808B814 @ =gUnknown_81E9F10 + ldr r0, _0808B814 @ =gGameVersion b _0808B81C .align 2, 0 _0808B810: .4byte gUnknown_20397A4 -_0808B814: .4byte gUnknown_81E9F10 +_0808B814: .4byte gGameVersion _0808B818: ldr r1, _0808B82C @ =0x00000494 adds r0, r1 diff --git a/asm/trainer_see.s b/asm/trainer_see.s index 8bd1c28a3..252600212 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -1008,7 +1008,7 @@ sub_808226C: @ 808226C adds r4, r1, 0 movs r0, 0 strh r0, [r4, 0x12] - ldr r0, _080822C4 @ =gUnknown_3005008 + ldr r0, _080822C4 @ =gSaveBlock1Ptr ldr r0, [r0] ldrh r3, [r0] adds r3, 0x7 @@ -1045,7 +1045,7 @@ sub_808226C: @ 808226C pop {r1} bx r1 .align 2, 0 -_080822C4: .4byte gUnknown_3005008 +_080822C4: .4byte gSaveBlock1Ptr _080822C8: .4byte gUnknown_2036E38 thumb_func_end sub_808226C @@ -1055,7 +1055,7 @@ sub_80822CC: @ 80822CC sub sp, 0x4 adds r5, r1, 0 adds r6, r2, 0 - ldr r0, _08082348 @ =gUnknown_3005008 + ldr r0, _08082348 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -1110,7 +1110,7 @@ _08082312: strh r0, [r5, 0x12] b _0808236E .align 2, 0 -_08082348: .4byte gUnknown_3005008 +_08082348: .4byte gSaveBlock1Ptr _0808234C: .4byte gUnknown_2036E38 _08082350: ldr r1, _08082378 @ =gUnknown_20386E0 @@ -1141,7 +1141,7 @@ sub_808237C: @ 808237C push {r4,r5,lr} sub sp, 0x4 adds r5, r1, 0 - ldr r0, _08082404 @ =gUnknown_3005008 + ldr r0, _08082404 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -1201,14 +1201,14 @@ _080823CC: strh r0, [r5, 0x12] b _0808242E .align 2, 0 -_08082404: .4byte gUnknown_3005008 +_08082404: .4byte gSaveBlock1Ptr _08082408: .4byte gUnknown_2036E38 _0808240C: bl GetPlayerAvatarObjectId lsls r0, 24 lsrs r0, 24 bl CameraObjectSetFollowedObjectId - ldr r0, _08082438 @ =gUnknown_3005008 + ldr r0, _08082438 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -1225,7 +1225,7 @@ _0808242E: pop {r1} bx r1 .align 2, 0 -_08082438: .4byte gUnknown_3005008 +_08082438: .4byte gSaveBlock1Ptr thumb_func_end sub_808237C thumb_func_start sub_808243C diff --git a/asm/trainer_tower.s b/asm/trainer_tower.s index 4a8812ad1..e43215794 100644 --- a/asm/trainer_tower.s +++ b/asm/trainer_tower.s @@ -178,7 +178,7 @@ sub_815D8F8: @ 815D8F8 movs r4, 0xFF movs r2, 0 ldr r6, _0815D95C @ =gUnknown_8479D34 - ldr r0, _0815D960 @ =gUnknown_3005008 + ldr r0, _0815D960 @ =gSaveBlock1Ptr ldr r3, [r0] movs r5, 0x4 ldrsb r5, [r3, r5] @@ -225,7 +225,7 @@ _0815D956: bx r0 .align 2, 0 _0815D95C: .4byte gUnknown_8479D34 -_0815D960: .4byte gUnknown_3005008 +_0815D960: .4byte gSaveBlock1Ptr _0815D964: .4byte 0x00004023 _0815D968: .4byte 0x05db0000 thumb_func_end sub_815D8F8 @@ -520,7 +520,7 @@ _0815DB2E: ldrb r0, [r3, 0x1C] adds r4, 0x3E strb r0, [r4] - ldr r0, _0815DBD0 @ =gUnknown_3005008 + ldr r0, _0815DBD0 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r2, _0815DBD4 @ =0x00003d34 adds r1, r0, r2 @@ -531,7 +531,7 @@ _0815DB2E: ldr r2, _0815DBD8 @ =0x00003d38 adds r1, r2 adds r0, r1 - bl sub_80008C0 + bl SetVBlankCounter1Ptr bl sub_815DD2C add sp, 0x4 pop {r3-r5} @@ -545,7 +545,7 @@ _0815DB2E: _0815DBC4: .4byte gUnknown_203F45C _0815DBC8: .4byte 0x00004001 _0815DBCC: .4byte gUnknown_203F458 -_0815DBD0: .4byte gUnknown_3005008 +_0815DBD0: .4byte gSaveBlock1Ptr _0815DBD4: .4byte 0x00003d34 _0815DBD8: .4byte 0x00003d38 thumb_func_end sub_815DA54 @@ -644,7 +644,7 @@ _0815DC86: thumb_func_start sub_815DC8C sub_815DC8C: @ 815DC8C push {r4-r7,lr} - ldr r0, _0815DCBC @ =gUnknown_3005008 + ldr r0, _0815DCBC @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0815DCC0 @ =0x00003d34 adds r0, r1 @@ -665,7 +665,7 @@ sub_815DC8C: @ 815DC8C bl sub_815D80C b _0815DD18 .align 2, 0 -_0815DCBC: .4byte gUnknown_3005008 +_0815DCBC: .4byte gSaveBlock1Ptr _0815DCC0: .4byte 0x00003d34 _0815DCC4: .4byte gUnknown_203F458 _0815DCC8: .4byte 0x00001f0c @@ -1267,7 +1267,7 @@ sub_815E124: @ 815E124 lsrs r0, 24 cmp r0, 0x1 bne _0815E14C - ldr r0, _0815E154 @ =gUnknown_30030F0 + ldr r0, _0815E154 @ =gMain ldr r1, _0815E158 @ =sub_815E114 str r1, [r0, 0x8] bl sub_80563F0 @@ -1280,7 +1280,7 @@ _0815E14C: pop {r0} bx r0 .align 2, 0 -_0815E154: .4byte gUnknown_30030F0 +_0815E154: .4byte gMain _0815E158: .4byte sub_815E114 _0815E15C: .4byte sub_800FD9C thumb_func_end sub_815E124 @@ -1356,7 +1356,7 @@ _0815E1EC: .4byte gUnknown_203F458 thumb_func_start sub_815E1F0 sub_815E1F0: @ 815E1F0 - ldr r0, _0815E210 @ =gUnknown_3005008 + ldr r0, _0815E210 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E214 @ =0x00003d34 adds r0, r1, r2 @@ -1373,7 +1373,7 @@ sub_815E1F0: @ 815E1F0 strb r0, [r1] bx lr .align 2, 0 -_0815E210: .4byte gUnknown_3005008 +_0815E210: .4byte gSaveBlock1Ptr _0815E214: .4byte 0x00003d34 thumb_func_end sub_815E1F0 @@ -1385,7 +1385,7 @@ sub_815E218: @ 815E218 mov r12, r0 ldr r3, _0815E264 @ =0xfffffed6 add r3, r12 - ldr r0, _0815E268 @ =gUnknown_3005008 + ldr r0, _0815E268 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E26C @ =0x00003d34 adds r0, r1, r2 @@ -1418,7 +1418,7 @@ sub_815E218: @ 815E218 .align 2, 0 _0815E260: .4byte gUnknown_2036DFC _0815E264: .4byte 0xfffffed6 -_0815E268: .4byte gUnknown_3005008 +_0815E268: .4byte gSaveBlock1Ptr _0815E26C: .4byte 0x00003d34 _0815E270: .4byte 0xfffffed7 _0815E274: .4byte gUnknown_203F458 @@ -1439,7 +1439,7 @@ sub_815E28C: @ 815E28C push {r4-r6,lr} mov r6, r8 push {r6} - ldr r4, _0815E2D0 @ =gUnknown_3005008 + ldr r4, _0815E2D0 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r5, _0815E2D4 @ =0x00003d34 adds r1, r0, r5 @@ -1469,7 +1469,7 @@ _0815E2A8: orrs r0, r2 b _0815E2FA .align 2, 0 -_0815E2D0: .4byte gUnknown_3005008 +_0815E2D0: .4byte gSaveBlock1Ptr _0815E2D4: .4byte 0x00003d34 _0815E2D8: .4byte gUnknown_20370C2 _0815E2DC: .4byte 0x00003d42 @@ -1489,7 +1489,7 @@ _0815E2E0: ands r0, r2 _0815E2FA: strb r0, [r1] - ldr r6, _0815E388 @ =gUnknown_3005008 + ldr r6, _0815E388 @ =gSaveBlock1Ptr ldr r2, [r6] ldr r5, _0815E38C @ =0x00003d34 adds r0, r2, r5 @@ -1514,7 +1514,7 @@ _0815E2FA: ldr r4, _0815E390 @ =0x00003d38 adds r1, r4 adds r0, r1 - bl sub_80008C0 + bl SetVBlankCounter1Ptr ldr r2, [r6] adds r3, r2, r5 ldr r1, [r3] @@ -1557,7 +1557,7 @@ _0815E2FA: bx r0 .align 2, 0 _0815E384: .4byte 0x00003d42 -_0815E388: .4byte gUnknown_3005008 +_0815E388: .4byte gSaveBlock1Ptr _0815E38C: .4byte 0x00003d34 _0815E390: .4byte 0x00003d38 thumb_func_end sub_815E28C @@ -1565,11 +1565,11 @@ _0815E390: .4byte 0x00003d38 thumb_func_start sub_815E394 sub_815E394: @ 815E394 push {lr} - bl sub_80008CC + bl DisableVBlankCounter1 ldr r3, _0815E3F8 @ =gUnknown_20370D0 movs r0, 0 strh r0, [r3] - ldr r0, _0815E3FC @ =gUnknown_3005008 + ldr r0, _0815E3FC @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _0815E400 @ =0x00003d34 adds r0, r2, r1 @@ -1598,7 +1598,7 @@ _0815E3C2: adds r0, 0x1 strh r0, [r3] _0815E3D6: - ldr r0, _0815E3FC @ =gUnknown_3005008 + ldr r0, _0815E3FC @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E400 @ =0x00003d34 adds r0, r1, r2 @@ -1617,7 +1617,7 @@ _0815E3D6: bx r0 .align 2, 0 _0815E3F8: .4byte gUnknown_20370D0 -_0815E3FC: .4byte gUnknown_3005008 +_0815E3FC: .4byte gSaveBlock1Ptr _0815E400: .4byte 0x00003d34 _0815E404: .4byte 0x00003d42 thumb_func_end sub_815E394 @@ -1634,7 +1634,7 @@ sub_815E408: @ 815E408 lsls r0, 1 adds r0, r1 ldrh r4, [r0] - ldr r0, _0815E44C @ =gUnknown_3005008 + ldr r0, _0815E44C @ =gSaveBlock1Ptr mov r8, r0 ldr r2, [r0] ldr r7, _0815E450 @ =0x00003d34 @@ -1657,7 +1657,7 @@ sub_815E408: @ 815E408 .align 2, 0 _0815E444: .4byte gUnknown_847A2B4 _0815E448: .4byte gUnknown_203F458 -_0815E44C: .4byte gUnknown_3005008 +_0815E44C: .4byte gSaveBlock1Ptr _0815E450: .4byte 0x00003d34 _0815E454: .4byte 0x00003d42 _0815E458: .4byte gUnknown_20370D0 @@ -1709,7 +1709,7 @@ _0815E4AC: .4byte gUnknown_20370D0 thumb_func_start sub_815E4B0 sub_815E4B0: @ 815E4B0 push {r4-r6,lr} - ldr r6, _0815E4D8 @ =gUnknown_3005008 + ldr r6, _0815E4D8 @ =gSaveBlock1Ptr ldr r2, [r6] ldr r1, _0815E4DC @ =0x00003d34 adds r0, r2, r1 @@ -1729,7 +1729,7 @@ sub_815E4B0: @ 815E4B0 movs r0, 0x2 b _0815E534 .align 2, 0 -_0815E4D8: .4byte gUnknown_3005008 +_0815E4D8: .4byte gSaveBlock1Ptr _0815E4DC: .4byte 0x00003d34 _0815E4E0: .4byte 0x00003d42 _0815E4E4: .4byte gUnknown_20370D0 @@ -1770,7 +1770,7 @@ _0815E530: _0815E534: strh r0, [r1] _0815E536: - ldr r0, _0815E560 @ =gUnknown_3005008 + ldr r0, _0815E560 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E564 @ =0x00003d34 adds r0, r1, r2 @@ -1790,7 +1790,7 @@ _0815E536: bx r0 .align 2, 0 _0815E55C: .4byte gUnknown_20370D0 -_0815E560: .4byte gUnknown_3005008 +_0815E560: .4byte gSaveBlock1Ptr _0815E564: .4byte 0x00003d34 _0815E568: .4byte 0x00003d42 thumb_func_end sub_815E4B0 @@ -1798,7 +1798,7 @@ _0815E568: .4byte 0x00003d42 thumb_func_start sub_815E56C sub_815E56C: @ 815E56C push {r4,lr} - ldr r0, _0815E5A0 @ =gUnknown_3005008 + ldr r0, _0815E5A0 @ =gSaveBlock1Ptr ldr r4, [r0] ldr r1, _0815E5A4 @ =0x00003d34 adds r0, r4, r1 @@ -1824,7 +1824,7 @@ sub_815E56C: @ 815E56C str r0, [r2] b _0815E5BA .align 2, 0 -_0815E5A0: .4byte gUnknown_3005008 +_0815E5A0: .4byte gSaveBlock1Ptr _0815E5A4: .4byte 0x00003d34 _0815E5A8: .4byte 0x00003d42 _0815E5AC: .4byte 0x00034bbe @@ -1832,7 +1832,7 @@ _0815E5B0: ldr r1, _0815E5C0 @ =0x00003d38 adds r0, r3, r1 adds r0, r4, r0 - bl sub_80008C0 + bl SetVBlankCounter1Ptr _0815E5BA: pop {r4} pop {r0} @@ -1843,7 +1843,7 @@ _0815E5C0: .4byte 0x00003d38 thumb_func_start sub_815E5C4 sub_815E5C4: @ 815E5C4 - ldr r0, _0815E5E4 @ =gUnknown_3005008 + ldr r0, _0815E5E4 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E5E8 @ =0x00003d34 adds r0, r1, r2 @@ -1860,7 +1860,7 @@ sub_815E5C4: @ 815E5C4 strb r0, [r1] bx lr .align 2, 0 -_0815E5E4: .4byte gUnknown_3005008 +_0815E5E4: .4byte gSaveBlock1Ptr _0815E5E8: .4byte 0x00003d34 _0815E5EC: .4byte 0x00003d42 thumb_func_end sub_815E5C4 @@ -1868,7 +1868,7 @@ _0815E5EC: .4byte 0x00003d42 thumb_func_start sub_815E5F0 sub_815E5F0: @ 815E5F0 push {lr} - ldr r0, _0815E620 @ =gUnknown_3005008 + ldr r0, _0815E620 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _0815E624 @ =0x00003d34 adds r0, r2, r1 @@ -1891,7 +1891,7 @@ sub_815E5F0: @ 815E5F0 movs r0, 0 b _0815E64C .align 2, 0 -_0815E620: .4byte gUnknown_3005008 +_0815E620: .4byte gSaveBlock1Ptr _0815E624: .4byte 0x00003d34 _0815E628: .4byte 0x00003d42 _0815E62C: .4byte gUnknown_20370D0 @@ -1922,7 +1922,7 @@ _0815E654: .4byte gUnknown_20370D0 thumb_func_start sub_815E658 sub_815E658: @ 815E658 push {r4-r6,lr} - ldr r4, _0815E700 @ =gUnknown_3005008 + ldr r4, _0815E700 @ =gSaveBlock1Ptr ldr r2, [r4] ldr r6, _0815E704 @ =0x00003d34 adds r0, r2, r6 @@ -1937,7 +1937,7 @@ sub_815E658: @ 815E658 ldr r0, _0815E70C @ =0x00034bbe cmp r1, r0 bls _0815E690 - bl sub_80008CC + bl DisableVBlankCounter1 ldr r1, [r4] adds r0, r1, r6 ldr r2, [r0] @@ -1998,7 +1998,7 @@ _0815E690: pop {r0} bx r0 .align 2, 0 -_0815E700: .4byte gUnknown_3005008 +_0815E700: .4byte gSaveBlock1Ptr _0815E704: .4byte 0x00003d34 _0815E708: .4byte 0x00003d38 _0815E70C: .4byte 0x00034bbe @@ -2044,7 +2044,7 @@ sub_815E720: @ 815E720 lsls r0, 22 mov r9, r0 _0815E76C: - ldr r0, _0815E864 @ =gUnknown_3005008 + ldr r0, _0815E864 @ =gSaveBlock1Ptr ldr r2, [r0] ldr r1, _0815E868 @ =0x00003d34 adds r0, r2, r1 @@ -2152,7 +2152,7 @@ _0815E76C: .align 2, 0 _0815E85C: .4byte gUnknown_847A218 _0815E860: .4byte gUnknown_83FE982 -_0815E864: .4byte gUnknown_3005008 +_0815E864: .4byte gSaveBlock1Ptr _0815E868: .4byte 0x00003d34 _0815E86C: .4byte 0x00003d3c _0815E870: .4byte gUnknown_2021CD0 @@ -2333,7 +2333,7 @@ _0815E9C4: .4byte gUnknown_847A2D2 thumb_func_start sub_815E9C8 sub_815E9C8: @ 815E9C8 ldr r3, _0815E9EC @ =gUnknown_20370D0 - ldr r0, _0815E9F0 @ =gUnknown_3005008 + ldr r0, _0815E9F0 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815E9F4 @ =0x00003d34 adds r0, r1, r2 @@ -2351,7 +2351,7 @@ sub_815E9C8: @ 815E9C8 bx lr .align 2, 0 _0815E9EC: .4byte gUnknown_20370D0 -_0815E9F0: .4byte gUnknown_3005008 +_0815E9F0: .4byte gSaveBlock1Ptr _0815E9F4: .4byte 0x00003d34 _0815E9F8: .4byte 0x00003d42 thumb_func_end sub_815E9C8 @@ -2370,7 +2370,7 @@ sub_815E9FC: @ 815E9FC lsrs r4, r0, 16 bl sub_815EBB8 mov r9, r0 - ldr r0, _0815EAC0 @ =gUnknown_3005008 + ldr r0, _0815EAC0 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r2, _0815EAC4 @ =0x00003d34 adds r0, r1, r2 @@ -2453,7 +2453,7 @@ _0815EA6C: b _0815EB9E .align 2, 0 _0815EABC: .4byte 0x00004001 -_0815EAC0: .4byte gUnknown_3005008 +_0815EAC0: .4byte gSaveBlock1Ptr _0815EAC4: .4byte 0x00003d34 _0815EAC8: .4byte gUnknown_203F458 _0815EACC: .4byte gUnknown_847A2EE @@ -2618,7 +2618,7 @@ _0815EC08: .4byte gUnknown_2024284 thumb_func_start sub_815EC0C sub_815EC0C: @ 815EC0C push {r4,lr} - ldr r4, _0815EC70 @ =gUnknown_3005008 + ldr r4, _0815EC70 @ =gSaveBlock1Ptr ldr r2, [r4] ldr r1, _0815EC74 @ =0x00003d34 adds r0, r2, r1 @@ -2668,7 +2668,7 @@ _0815EC6A: pop {r0} bx r0 .align 2, 0 -_0815EC70: .4byte gUnknown_3005008 +_0815EC70: .4byte gSaveBlock1Ptr _0815EC74: .4byte 0x00003d34 _0815EC78: .4byte 0x00003d41 _0815EC7C: .4byte gUnknown_203F458 @@ -2716,7 +2716,7 @@ sub_815EC8C: @ 815EC8C ldr r0, _0815EDBC @ =0x00003d38 mov r9, r0 _0815ECDC: - ldr r0, _0815EDC0 @ =gUnknown_3005008 + ldr r0, _0815EDC0 @ =gSaveBlock1Ptr ldr r0, [r0] add r0, r9 adds r0, 0x4 @@ -2813,7 +2813,7 @@ _0815ECDC: _0815EDB4: .4byte gUnknown_847A22C _0815EDB8: .4byte gUnknown_83FE982 _0815EDBC: .4byte 0x00003d38 -_0815EDC0: .4byte gUnknown_3005008 +_0815EDC0: .4byte gSaveBlock1Ptr _0815EDC4: .4byte gUnknown_2021CD0 _0815EDC8: .4byte gUnknown_2021CF0 _0815EDCC: .4byte gUnknown_2021D04 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index 07ae5b08c..a9b2bd82d 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -14,7 +14,7 @@ sub_8128420: @ 8128420 bl Alloc str r0, [r4] bl sub_812845C - ldr r1, _08128454 @ =gUnknown_30030E0 + ldr r1, _08128454 @ =gKeyRepeatStartDelay movs r0, 0x14 strh r0, [r1] bl sub_812B4AC @@ -27,7 +27,7 @@ sub_8128420: @ 8128420 bx r0 .align 2, 0 _08128450: .4byte gUnknown_203B0E0 -_08128454: .4byte gUnknown_30030E0 +_08128454: .4byte gKeyRepeatStartDelay _08128458: .4byte c2_081284E0 thumb_func_end sub_8128420 @@ -57,7 +57,7 @@ sub_812845C: @ 812845C lsls r1, 1 adds r0, r4, r1 bl sub_8129560 - ldr r7, _081284B4 @ =gUnknown_3005008 + ldr r7, _081284B4 @ =gSaveBlock1Ptr ldr r6, _081284B8 @ =0x00003ad4 adds r4, 0xB9 movs r5, 0x9 @@ -75,7 +75,7 @@ _0812849A: pop {r0} bx r0 .align 2, 0 -_081284B4: .4byte gUnknown_3005008 +_081284B4: .4byte gSaveBlock1Ptr _081284B8: .4byte 0x00003ad4 thumb_func_end sub_812845C @@ -102,7 +102,7 @@ _081284DC: .4byte gUnknown_203B0E0 c2_081284E0: @ 81284E0 push {r4-r6,lr} sub sp, 0x4 - ldr r0, _081284FC @ =gUnknown_30030F0 + ldr r0, _081284FC @ =gMain movs r1, 0x87 lsls r1, 3 adds r6, r0, r1 @@ -115,7 +115,7 @@ c2_081284E0: @ 81284E0 beq _08128506 b _08128598 .align 2, 0 -_081284FC: .4byte gUnknown_30030F0 +_081284FC: .4byte gMain _08128500: cmp r0, 0x2 beq _08128554 @@ -347,7 +347,7 @@ sub_81286C4: @ 81286C4 .align 2, 0 _081286D8: .4byte gUnknown_203B0E0 _081286DC: - ldr r1, _081286F8 @ =gUnknown_30030F0 + ldr r1, _081286F8 @ =gMain ldrh r2, [r1, 0x2E] movs r0, 0x8 ands r0, r2 @@ -360,7 +360,7 @@ _081286DC: bl sub_8129218 b _081287AC .align 2, 0 -_081286F8: .4byte gUnknown_30030F0 +_081286F8: .4byte gMain _081286FC: movs r0, 0x4 ands r0, r2 @@ -525,7 +525,7 @@ _08128810: .align 2, 0 _08128844: .4byte gUnknown_203B0E0 _08128848: - ldr r0, _08128864 @ =gUnknown_30030F0 + ldr r0, _08128864 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x4 ands r0, r1 @@ -537,7 +537,7 @@ _08128848: bl MoveMenuCursor b _081288CE .align 2, 0 -_08128864: .4byte gUnknown_30030F0 +_08128864: .4byte gMain _08128868: movs r0, 0x4 movs r1, 0 @@ -1340,7 +1340,7 @@ _08128ED0: .align 2, 0 _08128EE0: .4byte gUnknown_203B0E0 _08128EE4: - ldr r0, _08128F04 @ =gUnknown_30030F0 + ldr r0, _08128F04 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -1355,7 +1355,7 @@ _08128EE4: movs r0, 0x3 b _08128FA6 .align 2, 0 -_08128F04: .4byte gUnknown_30030F0 +_08128F04: .4byte gMain _08128F08: .4byte gUnknown_203B0E0 _08128F0C: movs r4, 0x2 @@ -1420,7 +1420,7 @@ _08128F74: .align 2, 0 _08128F88: .4byte gUnknown_203B0E0 _08128F8C: - ldr r0, _08128FB0 @ =gUnknown_30030F0 + ldr r0, _08128FB0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -1440,7 +1440,7 @@ _08128FA8: pop {r0} bx r0 .align 2, 0 -_08128FB0: .4byte gUnknown_30030F0 +_08128FB0: .4byte gMain _08128FB4: .4byte gUnknown_203B0E0 thumb_func_end sub_8128E78 @@ -1747,7 +1747,7 @@ _08129224: .4byte gUnknown_203B0E0 thumb_func_start sub_8129228 sub_8129228: @ 8129228 push {lr} - ldr r0, _08129258 @ =gUnknown_30030F0 + ldr r0, _08129258 @ =gMain ldrh r2, [r0, 0x30] movs r0, 0x40 ands r0, r2 @@ -1771,7 +1771,7 @@ sub_8129228: @ 8129228 adds r0, r1, 0x1 b _081292CC .align 2, 0 -_08129258: .4byte gUnknown_30030F0 +_08129258: .4byte gMain _0812925C: .4byte gUnknown_203B0E0 _08129260: .4byte gUnknown_845A8A8 _08129264: @@ -2076,7 +2076,7 @@ sub_8129470: @ 8129470 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _081294A4 @ =gUnknown_3005008 + ldr r0, _081294A4 @ =gSaveBlock1Ptr mov r8, r0 ldr r7, _081294A8 @ =gUnknown_203B0E0 movs r6, 0xB9 @@ -2100,7 +2100,7 @@ _08129482: pop {r0} bx r0 .align 2, 0 -_081294A4: .4byte gUnknown_3005008 +_081294A4: .4byte gSaveBlock1Ptr _081294A8: .4byte gUnknown_203B0E0 _081294AC: .4byte 0x00003ad4 thumb_func_end sub_8129470 @@ -2226,7 +2226,7 @@ sub_8129568: @ 8129568 movs r0, 0x2 strb r0, [r4] adds r0, r4, 0x1 - ldr r1, _08129588 @ =gUnknown_300500C + ldr r1, _08129588 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy ldr r0, _0812958C @ =gUnknown_203B0E0 @@ -2237,7 +2237,7 @@ sub_8129568: @ 8129568 pop {r0} bx r0 .align 2, 0 -_08129588: .4byte gUnknown_300500C +_08129588: .4byte gSaveBlock2Ptr _0812958C: .4byte gUnknown_203B0E0 thumb_func_end sub_8129568 @@ -2248,7 +2248,7 @@ sub_8129590: @ 8129590 movs r0, 0x1 strb r0, [r4] adds r0, r4, 0x1 - ldr r1, _081295B8 @ =gUnknown_300500C + ldr r1, _081295B8 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy adds r4, 0x9 @@ -2261,7 +2261,7 @@ sub_8129590: @ 8129590 pop {r0} bx r0 .align 2, 0 -_081295B8: .4byte gUnknown_300500C +_081295B8: .4byte gSaveBlock2Ptr _081295BC: .4byte gUnknown_203B0E0 thumb_func_end sub_8129590 @@ -2272,7 +2272,7 @@ sub_81295C0: @ 81295C0 movs r0, 0x3 strb r0, [r4] adds r0, r4, 0x1 - ldr r1, _081295E4 @ =gUnknown_300500C + ldr r1, _081295E4 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy ldr r0, _081295E8 @ =gUnknown_203B0E0 @@ -2284,7 +2284,7 @@ sub_81295C0: @ 81295C0 pop {r0} bx r0 .align 2, 0 -_081295E4: .4byte gUnknown_300500C +_081295E4: .4byte gSaveBlock2Ptr _081295E8: .4byte gUnknown_203B0E0 thumb_func_end sub_81295C0 @@ -2295,7 +2295,7 @@ sub_81295EC: @ 81295EC movs r0, 0x4 strb r0, [r4] adds r0, r4, 0x1 - ldr r1, _0812960C @ =gUnknown_300500C + ldr r1, _0812960C @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy ldr r0, _08129610 @ =gUnknown_203B0E0 @@ -2306,7 +2306,7 @@ sub_81295EC: @ 81295EC pop {r0} bx r0 .align 2, 0 -_0812960C: .4byte gUnknown_300500C +_0812960C: .4byte gSaveBlock2Ptr _08129610: .4byte gUnknown_203B0E0 thumb_func_end sub_81295EC @@ -2317,7 +2317,7 @@ sub_8129614: @ 8129614 movs r0, 0x5 strb r0, [r4] adds r0, r4, 0x1 - ldr r1, _08129634 @ =gUnknown_300500C + ldr r1, _08129634 @ =gSaveBlock2Ptr ldr r1, [r1] bl StringCopy ldr r0, _08129638 @ =gUnknown_203B0E0 @@ -2328,7 +2328,7 @@ sub_8129614: @ 8129614 pop {r0} bx r0 .align 2, 0 -_08129634: .4byte gUnknown_300500C +_08129634: .4byte gSaveBlock2Ptr _08129638: .4byte gUnknown_203B0E0 thumb_func_end sub_8129614 @@ -2627,7 +2627,7 @@ _0812981C: .4byte gUnknown_203B0E0 thumb_func_start copy_strings_to_sav1 copy_strings_to_sav1: @ 8129820 push {r4,lr} - ldr r4, _081298A4 @ =gUnknown_3005008 + ldr r4, _081298A4 @ =gSaveBlock1Ptr ldr r0, [r4] ldr r1, _081298A8 @ =0x00003ad4 adds r0, r1 @@ -2682,7 +2682,7 @@ copy_strings_to_sav1: @ 8129820 pop {r0} bx r0 .align 2, 0 -_081298A4: .4byte gUnknown_3005008 +_081298A4: .4byte gSaveBlock1Ptr _081298A8: .4byte 0x00003ad4 _081298AC: .4byte gUnknown_841B510 _081298B0: .4byte 0x00003ae9 @@ -4123,7 +4123,7 @@ sub_812A378: @ 812A378 b _0812A3C6 _0812A388: bl UnkTextUtil_Reset - ldr r0, _0812A3B4 @ =gUnknown_300500C + ldr r0, _0812A3B4 @ =gSaveBlock2Ptr ldr r1, [r0] movs r0, 0 bl UnkTextUtil_SetPtrI @@ -4140,7 +4140,7 @@ _0812A388: strb r0, [r4] b _0812A3C6 .align 2, 0 -_0812A3B4: .4byte gUnknown_300500C +_0812A3B4: .4byte gSaveBlock2Ptr _0812A3B8: .4byte gUnknown_203B0E4 _0812A3BC: bl IsDma3ManagerBusyWithBgCopy diff --git a/asm/unk_810C3A4.s b/asm/unk_810C3A4.s index 78d3c9606..f8957ecb3 100644 --- a/asm/unk_810C3A4.s +++ b/asm/unk_810C3A4.s @@ -94,7 +94,7 @@ sub_810C444: @ 810C444 mov r7, r8 push {r7} sub sp, 0x4 - ldr r0, _0810C4E0 @ =gUnknown_3005008 + ldr r0, _0810C4E0 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x8E lsls r1, 4 @@ -129,7 +129,7 @@ _0810C47A: lsls r0, 24 lsrs r6, r0, 24 ldrb r0, [r5] - ldr r1, _0810C4E0 @ =gUnknown_3005008 + ldr r1, _0810C4E0 @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -169,7 +169,7 @@ _0810C4D2: pop {r0} bx r0 .align 2, 0 -_0810C4E0: .4byte gUnknown_3005008 +_0810C4E0: .4byte gSaveBlock1Ptr _0810C4E4: .4byte gUnknown_2036DFC _0810C4E8: .4byte gUnknown_2036E38 thumb_func_end sub_810C444 @@ -185,7 +185,7 @@ sub_810C4EC: @ 810C4EC lsrs r0, 24 cmp r0, 0x1 bne _0810C516 - ldr r0, _0810C568 @ =gUnknown_3005008 + ldr r0, _0810C568 @ =gSaveBlock1Ptr ldr r0, [r0] movs r2, 0xC7 lsls r2, 3 @@ -204,7 +204,7 @@ _0810C516: lsrs r0, 24 cmp r0, 0x1 bne _0810C570 - ldr r6, _0810C568 @ =gUnknown_3005008 + ldr r6, _0810C568 @ =gSaveBlock1Ptr ldr r0, [r6] movs r5, 0xC7 lsls r5, 3 @@ -236,7 +236,7 @@ _0810C548: movs r0, 0x1 b _0810C572 .align 2, 0 -_0810C568: .4byte gUnknown_3005008 +_0810C568: .4byte gSaveBlock1Ptr _0810C56C: .4byte 0x00000801 _0810C570: movs r0, 0 @@ -320,7 +320,7 @@ _0810C600: .4byte gUnknown_202063C thumb_func_start sub_810C604 sub_810C604: @ 810C604 - ldr r0, _0810C61C @ =gUnknown_3005008 + ldr r0, _0810C61C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0xC7 lsls r0, 3 @@ -332,12 +332,12 @@ sub_810C604: @ 810C604 strh r0, [r1] bx lr .align 2, 0 -_0810C61C: .4byte gUnknown_3005008 +_0810C61C: .4byte gSaveBlock1Ptr thumb_func_end sub_810C604 thumb_func_start sub_810C620 sub_810C620: @ 810C620 - ldr r0, _0810C63C @ =gUnknown_3005008 + ldr r0, _0810C63C @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0xC7 lsls r0, 3 @@ -351,12 +351,12 @@ sub_810C620: @ 810C620 strh r0, [r2] bx lr .align 2, 0 -_0810C63C: .4byte gUnknown_3005008 +_0810C63C: .4byte gSaveBlock1Ptr thumb_func_end sub_810C620 thumb_func_start sub_810C640 sub_810C640: @ 810C640 - ldr r0, _0810C650 @ =gUnknown_3005008 + ldr r0, _0810C650 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xC7 lsls r1, 3 @@ -365,12 +365,12 @@ sub_810C640: @ 810C640 strh r1, [r0] bx lr .align 2, 0 -_0810C650: .4byte gUnknown_3005008 +_0810C650: .4byte gSaveBlock1Ptr thumb_func_end sub_810C640 thumb_func_start sub_810C654 sub_810C654: @ 810C654 - ldr r0, _0810C66C @ =gUnknown_3005008 + ldr r0, _0810C66C @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0xC7 lsls r0, 3 @@ -383,7 +383,7 @@ sub_810C654: @ 810C654 strh r0, [r1] bx lr .align 2, 0 -_0810C66C: .4byte gUnknown_3005008 +_0810C66C: .4byte gSaveBlock1Ptr thumb_func_end sub_810C654 .align 2, 0 @ Don't pad with nop. diff --git a/asm/unk_8147500.s b/asm/unk_8147500.s index f17581320..7ee9c167e 100644 --- a/asm/unk_8147500.s +++ b/asm/unk_8147500.s @@ -95,7 +95,7 @@ _0814758E: thumb_func_start sub_8147594 sub_8147594: @ 8147594 push {lr} - ldr r0, _081475B0 @ =gUnknown_3005008 + ldr r0, _081475B0 @ =gSaveBlock1Ptr ldr r2, [r0] ldrh r1, [r2, 0x4] ldr r0, _081475B4 @ =0x00000503 @@ -108,7 +108,7 @@ sub_8147594: @ 8147594 movs r0, 0x1 b _081475BA .align 2, 0 -_081475B0: .4byte gUnknown_3005008 +_081475B0: .4byte gSaveBlock1Ptr _081475B4: .4byte 0x00000503 _081475B8: movs r0, 0 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index 314436170..d0d6d3791 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -2033,7 +2033,7 @@ _081489FE: adds r0, 0x1 strh r0, [r1, 0xA] _08148A10: - ldr r0, _08148A2C @ =gUnknown_30030F0 + ldr r0, _08148A2C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2046,7 +2046,7 @@ _08148A10: ldr r1, [r0] b _08148A40 .align 2, 0 -_08148A2C: .4byte gUnknown_30030F0 +_08148A2C: .4byte gMain _08148A30: .4byte gUnknown_203F3D4 _08148A34: movs r0, 0x1 @@ -2260,7 +2260,7 @@ _08148BCC: ldrh r0, [r1, 0x3C] adds r2, r0, 0x1 strh r2, [r1, 0x3C] - ldr r0, _08148BF8 @ =gUnknown_30030F0 + ldr r0, _08148BF8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -2280,7 +2280,7 @@ _08148BEE: strh r0, [r1, 0xA] b _08148C78 .align 2, 0 -_08148BF8: .4byte gUnknown_30030F0 +_08148BF8: .4byte gMain _08148BFC: bl sub_814A6FC cmp r0, 0 @@ -7718,14 +7718,14 @@ sub_814B460: @ 814B460 thumb_func_start sub_814B46C sub_814B46C: @ 814B46C - ldr r0, _0814B478 @ =gUnknown_300500C + ldr r0, _0814B478 @ =gSaveBlock2Ptr ldr r0, [r0] movs r1, 0xB0 lsls r1, 4 adds r0, r1 bx lr .align 2, 0 -_0814B478: .4byte gUnknown_300500C +_0814B478: .4byte gSaveBlock2Ptr thumb_func_end sub_814B46C thumb_func_start ResetPokeJumpResults @@ -7870,7 +7870,7 @@ _0814B570: bne _0814B5BE b _0814B596 _0814B57C: - ldr r0, _0814B5A0 @ =gUnknown_30030F0 + ldr r0, _0814B5A0 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -7888,7 +7888,7 @@ _0814B596: strh r0, [r4] b _0814B5BE .align 2, 0 -_0814B5A0: .4byte gUnknown_30030F0 +_0814B5A0: .4byte gMain _0814B5A4: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 diff --git a/asm/unk_814B6F0.s b/asm/unk_814B6F0.s index 645cb3cc1..9d40e5aa2 100644 --- a/asm/unk_814B6F0.s +++ b/asm/unk_814B6F0.s @@ -336,7 +336,7 @@ _0814B97C: beq _0814BA14 b _0814BA3C _0814B986: - ldr r5, _0814B9B0 @ =gUnknown_300500C + ldr r5, _0814B9B0 @ =gSaveBlock2Ptr ldr r1, [r5] movs r0, 0xAF lsls r0, 4 @@ -358,9 +358,9 @@ _0814B986: lsls r2, 4 b _0814BA38 .align 2, 0 -_0814B9B0: .4byte gUnknown_300500C +_0814B9B0: .4byte gSaveBlock2Ptr _0814B9B4: - ldr r5, _0814B9DC @ =gUnknown_300500C + ldr r5, _0814B9DC @ =gSaveBlock2Ptr ldr r1, [r5] ldr r0, _0814B9E0 @ =0x00000af2 adds r1, r0 @@ -380,10 +380,10 @@ _0814B9B4: ldr r2, _0814B9E0 @ =0x00000af2 b _0814BA38 .align 2, 0 -_0814B9DC: .4byte gUnknown_300500C +_0814B9DC: .4byte gSaveBlock2Ptr _0814B9E0: .4byte 0x00000af2 _0814B9E4: - ldr r5, _0814BA0C @ =gUnknown_300500C + ldr r5, _0814BA0C @ =gSaveBlock2Ptr ldr r1, [r5] ldr r0, _0814BA10 @ =0x00000af4 adds r1, r0 @@ -403,10 +403,10 @@ _0814B9E4: ldr r2, _0814BA10 @ =0x00000af4 b _0814BA38 .align 2, 0 -_0814BA0C: .4byte gUnknown_300500C +_0814BA0C: .4byte gSaveBlock2Ptr _0814BA10: .4byte 0x00000af4 _0814BA14: - ldr r5, _0814BA60 @ =gUnknown_300500C + ldr r5, _0814BA60 @ =gSaveBlock2Ptr ldr r1, [r5] ldr r0, _0814BA64 @ =0x00000af6 adds r1, r0 @@ -447,7 +447,7 @@ _0814BA5A: pop {r0} bx r0 .align 2, 0 -_0814BA60: .4byte gUnknown_300500C +_0814BA60: .4byte gSaveBlock2Ptr _0814BA64: .4byte 0x00000af6 _0814BA68: .4byte gUnknown_203F3DC thumb_func_end sub_814B930 @@ -542,7 +542,7 @@ _0814BAF2: cmp r5, 0x4 bls _0814BAF2 _0814BB14: - ldr r0, _0814BB30 @ =gUnknown_300500C + ldr r0, _0814BB30 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x14] lsls r0, 29 @@ -556,7 +556,7 @@ _0814BB14: b _0814BB46 .align 2, 0 _0814BB2C: .4byte gUnknown_2022744 -_0814BB30: .4byte gUnknown_300500C +_0814BB30: .4byte gSaveBlock2Ptr _0814BB34: cmp r0, 0x2 beq _0814BB42 diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index 4e92a3310..d1e10916b 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -271,14 +271,14 @@ _0814BD20: strb r0, [r7, 0xC] b _0814BD68 _0814BD38: - ldr r0, _0814BD44 @ =gUnknown_30030F0 + ldr r0, _0814BD44 @ =gMain ldrh r0, [r0, 0x2E] ands r4, r0 cmp r4, 0 bne _0814BD68 b _0814BD6E .align 2, 0 -_0814BD44: .4byte gUnknown_30030F0 +_0814BD44: .4byte gMain _0814BD48: ldrb r1, [r5, 0x1] movs r0, 0x1 @@ -1449,7 +1449,7 @@ sub_814C618: @ 814C618 mov r7, r8 push {r7} adds r5, r0, 0 - ldr r3, _0814C6AC @ =gUnknown_30030F0 + ldr r3, _0814C6AC @ =gMain ldrh r1, [r3, 0x2E] movs r4, 0x1 adds r0, r4, 0 @@ -1522,7 +1522,7 @@ _0814C670: orrs r0, r1 b _0814C6BC .align 2, 0 -_0814C6AC: .4byte gUnknown_30030F0 +_0814C6AC: .4byte gMain _0814C6B0: .4byte gUnknown_846E3C4 _0814C6B4: ldrb r1, [r6] @@ -2729,7 +2729,7 @@ _0814CFFC: strb r0, [r1] b _0814D08A _0814D00E: - ldr r0, _0814D028 @ =gUnknown_30030F0 + ldr r0, _0814D028 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -2741,7 +2741,7 @@ _0814D00E: bl sub_814E80C b _0814D084 .align 2, 0 -_0814D028: .4byte gUnknown_30030F0 +_0814D028: .4byte gMain _0814D02C: ldrh r0, [r5, 0x12] cmp r0, 0xC diff --git a/asm/unk_814D5C8.s b/asm/unk_814D5C8.s index 3f7819eb3..bbde70074 100644 --- a/asm/unk_814D5C8.s +++ b/asm/unk_814D5C8.s @@ -2487,7 +2487,7 @@ _0814EA20: .4byte gUnknown_2021CF0 _0814EA24: .4byte gUnknown_841D090 _0814EA28: .4byte gUnknown_841D098 _0814EA2C: - ldr r0, _0814EA3C @ =gUnknown_30030F0 + ldr r0, _0814EA3C @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -2495,7 +2495,7 @@ _0814EA2C: bne _0814EA66 b _0814EA6C .align 2, 0 -_0814EA3C: .4byte gUnknown_30030F0 +_0814EA3C: .4byte gMain _0814EA40: ldrb r0, [r7, 0x2] movs r1, 0x1 @@ -2540,7 +2540,7 @@ sub_814EA7C: @ 814EA7C adds r1, r0 lsls r1, 3 adds r1, r2 - ldr r0, _0814EACC @ =gUnknown_300500C + ldr r0, _0814EACC @ =gSaveBlock2Ptr ldr r2, [r0] movs r3, 0xAF lsls r3, 4 @@ -2564,7 +2564,7 @@ sub_814EA7C: @ 814EA7C .align 2, 0 _0814EAC4: .4byte sub_814E830 _0814EAC8: .4byte gUnknown_3005090 -_0814EACC: .4byte gUnknown_300500C +_0814EACC: .4byte gSaveBlock2Ptr _0814EAD0: .4byte 0x00000af6 thumb_func_end sub_814EA7C diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index 384fe48eb..381c4a092 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -726,7 +726,7 @@ sub_8150DA4: @ 8150DA4 ldrb r0, [r0] cmp r0, 0 bne _08150E5A - ldr r0, _08150DE8 @ =gUnknown_30030F0 + ldr r0, _08150DE8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -744,7 +744,7 @@ sub_8150DA4: @ 8150DA4 b _08150E2E .align 2, 0 _08150DE4: .4byte gUnknown_203F3E0 -_08150DE8: .4byte gUnknown_30030F0 +_08150DE8: .4byte gMain _08150DEC: .4byte 0x000031cc _08150DF0: .4byte 0x000031d0 _08150DF4: @@ -819,7 +819,7 @@ sub_8150E68: @ 8150E68 ldrb r0, [r0] cmp r0, 0x9 bhi _08150F30 - ldr r0, _08150EAC @ =gUnknown_30030F0 + ldr r0, _08150EAC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x40 ands r0, r1 @@ -844,7 +844,7 @@ sub_8150E68: @ 8150E68 b _08150F36 .align 2, 0 _08150EA8: .4byte gUnknown_203F3E0 -_08150EAC: .4byte gUnknown_30030F0 +_08150EAC: .4byte gMain _08150EB0: .4byte 0x000031cc _08150EB4: .4byte 0x000032f8 _08150EB8: @@ -5512,7 +5512,7 @@ sub_81531FC: @ 81531FC ldr r1, _0815326C @ =0x000f4236 bl sub_815379C adds r2, r0, 0 - ldr r3, _08153270 @ =gUnknown_300500C + ldr r3, _08153270 @ =gSaveBlock2Ptr ldr r0, [r3] movs r6, 0xB1 lsls r6, 4 @@ -5550,7 +5550,7 @@ _0815325C: _08153264: .4byte gUnknown_203F3E0 _08153268: .4byte 0x0000270f _0815326C: .4byte 0x000f4236 -_08153270: .4byte gUnknown_300500C +_08153270: .4byte gSaveBlock2Ptr _08153274: .4byte 0x00000b14 _08153278: .4byte 0x00000b16 thumb_func_end sub_81531FC @@ -5603,7 +5603,7 @@ sub_81532B8: @ 81532B8 ldrb r0, [r2] cmp r0, 0 bne _08153360 - ldr r0, _081532F0 @ =gUnknown_30030F0 + ldr r0, _081532F0 @ =gMain ldrh r2, [r0, 0x2E] movs r0, 0x40 ands r0, r2 @@ -5619,7 +5619,7 @@ sub_81532B8: @ 81532B8 b _0815332E .align 2, 0 _081532EC: .4byte gUnknown_203F3E0 -_081532F0: .4byte gUnknown_30030F0 +_081532F0: .4byte gMain _081532F4: .4byte 0x000031cc _081532F8: movs r0, 0x20 @@ -6411,7 +6411,7 @@ _0815387C: bne _081538CA b _081538A2 _08153888: - ldr r0, _081538AC @ =gUnknown_30030F0 + ldr r0, _081538AC @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 @@ -6429,7 +6429,7 @@ _081538A2: strh r0, [r4] b _081538CA .align 2, 0 -_081538AC: .4byte gUnknown_30030F0 +_081538AC: .4byte gMain _081538B0: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 @@ -6456,7 +6456,7 @@ sub_81538D0: @ 81538D0 sub sp, 0x30 lsls r0, 24 lsrs r7, r0, 24 - ldr r0, _081539CC @ =gUnknown_300500C + ldr r0, _081539CC @ =gSaveBlock2Ptr ldr r1, [r0] ldr r2, _081539D0 @ =0x00000b14 adds r0, r1, r2 @@ -6567,7 +6567,7 @@ _08153946: pop {r0} bx r0 .align 2, 0 -_081539CC: .4byte gUnknown_300500C +_081539CC: .4byte gSaveBlock2Ptr _081539D0: .4byte 0x00000b14 _081539D4: .4byte 0x00000b16 _081539D8: .4byte 0x0000021d @@ -8821,7 +8821,7 @@ _08154ACC: _08154AF0: .4byte gUnknown_203F440 _08154AF4: .4byte 0x00003014 _08154AF8: - ldr r0, _08154B18 @ =gUnknown_300500C + ldr r0, _08154B18 @ =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x14] lsrs r0, 3 @@ -8838,7 +8838,7 @@ _08154B10: strb r0, [r1] b _08154B2E .align 2, 0 -_08154B18: .4byte gUnknown_300500C +_08154B18: .4byte gSaveBlock2Ptr _08154B1C: .4byte gUnknown_203F440 _08154B20: .4byte 0x00003014 _08154B24: @@ -9740,7 +9740,7 @@ _08155298: bhi _081552B0 b _081556C8 _081552B0: - ldr r0, _081552D8 @ =gUnknown_30030F0 + ldr r0, _081552D8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -9758,7 +9758,7 @@ _081552BE: .align 2, 0 _081552D0: .4byte gUnknown_203F440 _081552D4: .4byte 0x0000301c -_081552D8: .4byte gUnknown_30030F0 +_081552D8: .4byte gMain _081552DC: ldr r4, _08155330 @ =gUnknown_203F440 ldr r0, [r4] @@ -9870,7 +9870,7 @@ _081553C0: bhi _081553D8 b _081556C8 _081553D8: - ldr r0, _08155410 @ =gUnknown_30030F0 + ldr r0, _08155410 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -9895,7 +9895,7 @@ _081553E6: .align 2, 0 _08155408: .4byte gUnknown_203F440 _0815540C: .4byte 0x0000301c -_08155410: .4byte gUnknown_30030F0 +_08155410: .4byte gMain _08155414: .4byte 0x00000bb7 _08155418: .4byte 0x00003014 _0815541C: @@ -10130,7 +10130,7 @@ _0815562C: lsrs r0, 16 cmp r0, 0x1D bls _081556C8 - ldr r0, _08155670 @ =gUnknown_30030F0 + ldr r0, _08155670 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -10153,7 +10153,7 @@ _0815565E: .align 2, 0 _08155668: .4byte gUnknown_203F440 _0815566C: .4byte 0x0000301c -_08155670: .4byte gUnknown_30030F0 +_08155670: .4byte gMain _08155674: .4byte 0x00003014 _08155678: ldr r5, _081556D8 @ =0x00003008 @@ -10483,7 +10483,7 @@ _08155922: ldrb r0, [r0] movs r1, 0x3 bl CopyWindowToVram - ldr r0, _08155978 @ =gUnknown_30030F0 + ldr r0, _08155978 @ =gMain ldrh r1, [r0, 0x2E] movs r5, 0x1 movs r0, 0x1 @@ -10507,7 +10507,7 @@ _08155966: .align 2, 0 _08155970: .4byte gUnknown_203F440 _08155974: .4byte 0x00003009 -_08155978: .4byte gUnknown_30030F0 +_08155978: .4byte gMain _0815597C: .4byte 0x00003020 _08155980: .4byte 0x00003014 _08155984: diff --git a/asm/unk_8159F40.s b/asm/unk_8159F40.s index f2faaa338..64c60c0c7 100644 --- a/asm/unk_8159F40.s +++ b/asm/unk_8159F40.s @@ -759,7 +759,7 @@ _0815A508: b _0815A224 _0815A512: ldr r0, _0815A538 @ =gUnknown_2036E38 - ldr r1, _0815A53C @ =gUnknown_3005008 + ldr r1, _0815A53C @ =gSaveBlock1Ptr ldr r1, [r1] movs r2, 0xD4 lsls r2, 3 @@ -777,7 +777,7 @@ _0815A512: bx r0 .align 2, 0 _0815A538: .4byte gUnknown_2036E38 -_0815A53C: .4byte gUnknown_3005008 +_0815A53C: .4byte gSaveBlock1Ptr thumb_func_end sub_815A1F8 thumb_func_start sub_815A540 diff --git a/asm/unk_815C980.s b/asm/unk_815C980.s index eae2dd237..a348558f3 100644 --- a/asm/unk_815C980.s +++ b/asm/unk_815C980.s @@ -373,7 +373,7 @@ sub_815CC28: @ 815CC28 movs r0, 0 strh r0, [r1] lsls r1, r5, 3 - ldr r2, _0815CD58 @ =gUnknown_3003128 + ldr r2, _0815CD58 @ =gMain + 0x38 mov r9, r2 add r1, r9 mov r0, r8 @@ -394,7 +394,7 @@ sub_815CC28: @ 815CC28 mov r9, r2 _0815CC72: lsls r0, r5, 3 - ldr r1, _0815CD5C @ =gUnknown_30030F0 + ldr r1, _0815CD5C @ =gMain adds r3, r0, r1 ldrh r1, [r4, 0xE] adds r0, r3, 0 @@ -463,7 +463,7 @@ _0815CC72: bcc _0815CC72 _0815CCFA: subs r5, 0x1 - ldr r0, _0815CD5C @ =gUnknown_30030F0 + ldr r0, _0815CD5C @ =gMain lsls r3, r5, 3 adds r3, r0 movs r2, 0xC @@ -510,8 +510,8 @@ _0815CCFA: pop {r0} bx r0 .align 2, 0 -_0815CD58: .4byte gUnknown_3003128 -_0815CD5C: .4byte gUnknown_30030F0 +_0815CD58: .4byte gMain + 0x38 +_0815CD5C: .4byte gMain _0815CD60: .4byte 0x000001ff _0815CD64: .4byte 0xfffffe00 _0815CD68: .4byte 0x000003ff @@ -590,7 +590,7 @@ sub_815CDDC: @ 815CDDC str r2, [sp] ldr r5, [r0, 0x14] ldrb r7, [r0, 0x1] - ldr r0, _0815CE60 @ =gUnknown_30030F0 + ldr r0, _0815CE60 @ =gMain mov r10, r0 cmp r5, 0 beq _0815CE46 @@ -645,7 +645,7 @@ _0815CE46: strb r1, [r0] b _0815CE80 .align 2, 0 -_0815CE60: .4byte gUnknown_30030F0 +_0815CE60: .4byte gMain _0815CE64: .4byte 0x000003ff _0815CE68: .4byte 0xfffffc00 _0815CE6C: @@ -693,7 +693,7 @@ sub_815CE90: @ 815CE90 str r0, [r1] adds r7, r3, 0 mov r10, r1 - ldr r0, _0815CF44 @ =gUnknown_30030F0 + ldr r0, _0815CF44 @ =gMain mov r9, r0 cmp r5, 0 beq _0815CF78 @@ -759,7 +759,7 @@ _0815CEF4: _0815CF38: .4byte gUnknown_3002078 _0815CF3C: .4byte gUnknown_300207C _0815CF40: .4byte gUnknown_3002080 -_0815CF44: .4byte gUnknown_30030F0 +_0815CF44: .4byte gMain _0815CF48: .4byte 0x000003ff _0815CF4C: .4byte 0xfffffc00 _0815CF50: @@ -866,7 +866,7 @@ _0815D00C: lsls r0, r3, 3 adds r1, r0, 0 adds r1, 0x39 - ldr r2, _0815D0D0 @ =gUnknown_30030F0 + ldr r2, _0815D0D0 @ =gMain adds r7, r1, r2 adds r0, 0x3C adds r6, r0, r2 @@ -929,7 +929,7 @@ _0815D086: ldrb r0, [r0, 0x3] cmp r9, r0 bge _0815D0B6 - ldr r1, _0815D0D0 @ =gUnknown_30030F0 + ldr r1, _0815D0D0 @ =gMain movs r5, 0x4 negs r5, r5 movs r4, 0x2 @@ -955,7 +955,7 @@ _0815D0B6: cmp r1, 0 beq _0815D0DC lsls r0, r3, 3 - ldr r2, _0815D0D0 @ =gUnknown_30030F0 + ldr r2, _0815D0D0 @ =gMain adds r0, r2 adds r0, 0x39 ldrb r2, [r0] @@ -965,12 +965,12 @@ _0815D0B6: strb r1, [r0] b _0815D0F2 .align 2, 0 -_0815D0D0: .4byte gUnknown_30030F0 +_0815D0D0: .4byte gMain _0815D0D4: .4byte 0x000003ff _0815D0D8: .4byte 0xfffffc00 _0815D0DC: lsls r2, r3, 3 - ldr r4, _0815D104 @ =gUnknown_30030F0 + ldr r4, _0815D104 @ =gMain adds r2, r4 adds r2, 0x39 ldrb r1, [r2] @@ -990,7 +990,7 @@ _0815D0F2: pop {r0} bx r0 .align 2, 0 -_0815D104: .4byte gUnknown_30030F0 +_0815D104: .4byte gMain thumb_func_end sub_815CFEC thumb_func_start sub_815D108 @@ -1015,7 +1015,7 @@ sub_815D108: @ 815D108 ldrb r2, [r2, 0x1] cmp r0, 0 beq _0815D152 - ldr r1, _0815D1A4 @ =gUnknown_30030F0 + ldr r1, _0815D1A4 @ =gMain movs r7, 0x4 negs r7, r7 movs r6, 0x2 @@ -1074,7 +1074,7 @@ _0815D19A: bx r0 .align 2, 0 _0815D1A0: .4byte gUnknown_203F454 -_0815D1A4: .4byte gUnknown_30030F0 +_0815D1A4: .4byte gMain thumb_func_end sub_815D108 thumb_func_start sub_815D1A8 @@ -1103,7 +1103,7 @@ sub_815D1A8: @ 815D1A8 beq _0815D204 cmp r1, 0 beq _0815D238 - ldr r1, _0815D200 @ =gUnknown_30030F0 + ldr r1, _0815D200 @ =gMain movs r5, 0x4 negs r5, r5 movs r4, 0x2 @@ -1124,11 +1124,11 @@ _0815D1E8: b _0815D238 .align 2, 0 _0815D1FC: .4byte gUnknown_203F454 -_0815D200: .4byte gUnknown_30030F0 +_0815D200: .4byte gMain _0815D204: cmp r1, 0 beq _0815D226 - ldr r1, _0815D240 @ =gUnknown_30030F0 + ldr r1, _0815D240 @ =gMain movs r5, 0x4 negs r5, r5 adds r3, 0x1 @@ -1158,7 +1158,7 @@ _0815D238: pop {r0} bx r0 .align 2, 0 -_0815D240: .4byte gUnknown_30030F0 +_0815D240: .4byte gMain thumb_func_end sub_815D1A8 thumb_func_start sub_815D244 diff --git a/asm/unk_815EDDC.s b/asm/unk_815EDDC.s index b2e204215..f12d6cc9d 100644 --- a/asm/unk_815EDDC.s +++ b/asm/unk_815EDDC.s @@ -7,7 +7,7 @@ thumb_func_start sub_815EDDC sub_815EDDC: @ 815EDDC - ldr r1, _0815EDF0 @ =gUnknown_300500C + ldr r1, _0815EDF0 @ =gSaveBlock2Ptr ldr r1, [r1] movs r2, 0xF2 lsls r2, 4 @@ -17,12 +17,12 @@ sub_815EDDC: @ 815EDDC eors r0, r1 bx lr .align 2, 0 -_0815EDF0: .4byte gUnknown_300500C +_0815EDF0: .4byte gSaveBlock2Ptr thumb_func_end sub_815EDDC thumb_func_start sub_815EDF4 sub_815EDF4: @ 815EDF4 - ldr r2, _0815EE08 @ =gUnknown_300500C + ldr r2, _0815EE08 @ =gSaveBlock2Ptr ldr r2, [r2] movs r3, 0xF2 lsls r3, 4 @@ -32,13 +32,13 @@ sub_815EDF4: @ 815EDF4 str r2, [r0] bx lr .align 2, 0 -_0815EE08: .4byte gUnknown_300500C +_0815EE08: .4byte gSaveBlock2Ptr thumb_func_end sub_815EDF4 thumb_func_start sub_815EE0C sub_815EE0C: @ 815EE0C push {r4-r6,lr} - ldr r6, _0815EE30 @ =gUnknown_3005008 + ldr r6, _0815EE30 @ =gSaveBlock1Ptr ldr r5, _0815EE34 @ =0x00003d38 movs r4, 0x3 _0815EE14: @@ -55,14 +55,14 @@ _0815EE14: pop {r0} bx r0 .align 2, 0 -_0815EE30: .4byte gUnknown_3005008 +_0815EE30: .4byte gSaveBlock1Ptr _0815EE34: .4byte 0x00003d38 _0815EE38: .4byte 0x00034bbf thumb_func_end sub_815EE0C thumb_func_start sub_815EE3C sub_815EE3C: @ 815EE3C - ldr r1, _0815EE50 @ =gUnknown_300500C + ldr r1, _0815EE50 @ =gSaveBlock2Ptr ldr r1, [r1] movs r2, 0xF2 lsls r2, 4 @@ -72,12 +72,12 @@ sub_815EE3C: @ 815EE3C eors r0, r1 bx lr .align 2, 0 -_0815EE50: .4byte gUnknown_300500C +_0815EE50: .4byte gSaveBlock2Ptr thumb_func_end sub_815EE3C thumb_func_start sub_815EE54 sub_815EE54: @ 815EE54 - ldr r2, _0815EE68 @ =gUnknown_300500C + ldr r2, _0815EE68 @ =gSaveBlock2Ptr ldr r2, [r2] movs r3, 0xF2 lsls r3, 4 @@ -87,14 +87,14 @@ sub_815EE54: @ 815EE54 str r2, [r0] bx lr .align 2, 0 -_0815EE68: .4byte gUnknown_300500C +_0815EE68: .4byte gSaveBlock2Ptr thumb_func_end sub_815EE54 thumb_func_start sub_815EE6C sub_815EE6C: @ 815EE6C push {lr} adds r1, r0, 0 - ldr r0, _0815EE80 @ =gUnknown_300500C + ldr r0, _0815EE80 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r2, _0815EE84 @ =0x00000af8 adds r0, r2 @@ -102,7 +102,7 @@ sub_815EE6C: @ 815EE6C pop {r0} bx r0 .align 2, 0 -_0815EE80: .4byte gUnknown_300500C +_0815EE80: .4byte gSaveBlock2Ptr _0815EE84: .4byte 0x00000af8 thumb_func_end sub_815EE6C @@ -110,7 +110,7 @@ _0815EE84: .4byte 0x00000af8 sub_815EE88: @ 815EE88 push {r4,lr} adds r4, r0, 0 - ldr r0, _0815EEA0 @ =gUnknown_300500C + ldr r0, _0815EEA0 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EEA4 @ =0x00000af8 adds r0, r1 @@ -120,7 +120,7 @@ sub_815EE88: @ 815EE88 movs r0, 0x1 b _0815EEAA .align 2, 0 -_0815EEA0: .4byte gUnknown_300500C +_0815EEA0: .4byte gSaveBlock2Ptr _0815EEA4: .4byte 0x00000af8 _0815EEA8: movs r0, 0 @@ -133,7 +133,7 @@ _0815EEAA: thumb_func_start sub_815EEB0 sub_815EEB0: @ 815EEB0 push {lr} - ldr r0, _0815EECC @ =gUnknown_300500C + ldr r0, _0815EECC @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EED0 @ =0x00000af8 adds r0, r1 @@ -145,7 +145,7 @@ sub_815EEB0: @ 815EEB0 movs r0, 0x1 b _0815EEDA .align 2, 0 -_0815EECC: .4byte gUnknown_300500C +_0815EECC: .4byte gSaveBlock2Ptr _0815EED0: .4byte 0x00000af8 _0815EED4: .4byte gUnknown_20370C0 _0815EED8: @@ -159,7 +159,7 @@ _0815EEDA: sub_815EEE0: @ 815EEE0 push {r4,r5,lr} adds r4, r0, 0 - ldr r0, _0815EF04 @ =gUnknown_300500C + ldr r0, _0815EF04 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EF08 @ =0x00000af8 adds r5, r0, r1 @@ -174,7 +174,7 @@ sub_815EEE0: @ 815EEE0 movs r0, 0x1 b _0815EF1A .align 2, 0 -_0815EF04: .4byte gUnknown_300500C +_0815EF04: .4byte gSaveBlock2Ptr _0815EF08: .4byte 0x00000af8 _0815EF0C: .4byte 0x0001869f _0815EF10: @@ -192,7 +192,7 @@ _0815EF1A: sub_815EF20: @ 815EF20 push {r4,r5,lr} adds r5, r0, 0 - ldr r0, _0815EF4C @ =gUnknown_300500C + ldr r0, _0815EF4C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EF50 @ =0x00000af8 adds r4, r0, r1 @@ -210,7 +210,7 @@ sub_815EF20: @ 815EF20 movs r0, 0x1 b _0815EF56 .align 2, 0 -_0815EF4C: .4byte gUnknown_300500C +_0815EF4C: .4byte gSaveBlock2Ptr _0815EF50: .4byte 0x00000af8 _0815EF54: movs r0, 0 @@ -223,7 +223,7 @@ _0815EF56: thumb_func_start sub_815EF5C sub_815EF5C: @ 815EF5C push {r4,r5,lr} - ldr r0, _0815EF8C @ =gUnknown_300500C + ldr r0, _0815EF8C @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EF90 @ =0x00000af8 adds r4, r0, r1 @@ -243,7 +243,7 @@ sub_815EF5C: @ 815EF5C movs r0, 0x1 b _0815EF9A .align 2, 0 -_0815EF8C: .4byte gUnknown_300500C +_0815EF8C: .4byte gSaveBlock2Ptr _0815EF90: .4byte 0x00000af8 _0815EF94: .4byte gUnknown_20370C0 _0815EF98: @@ -257,7 +257,7 @@ _0815EF9A: thumb_func_start sub_815EFA0 sub_815EFA0: @ 815EFA0 push {lr} - ldr r0, _0815EFB4 @ =gUnknown_300500C + ldr r0, _0815EFB4 @ =gSaveBlock2Ptr ldr r0, [r0] ldr r1, _0815EFB8 @ =0x00000af8 adds r0, r1 @@ -265,7 +265,7 @@ sub_815EFA0: @ 815EFA0 pop {r1} bx r1 .align 2, 0 -_0815EFB4: .4byte gUnknown_300500C +_0815EFB4: .4byte gSaveBlock2Ptr _0815EFB8: .4byte 0x00000af8 thumb_func_end sub_815EFA0 diff --git a/asm/vs_seeker.s b/asm/vs_seeker.s index 1d490add2..19ca8031c 100644 --- a/asm/vs_seeker.s +++ b/asm/vs_seeker.s @@ -170,7 +170,7 @@ _0810C794: ands r1, r3 orrs r1, r0 strb r1, [r2] - ldr r0, _0810C7F8 @ =gUnknown_3005008 + ldr r0, _0810C7F8 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -193,7 +193,7 @@ _0810C7E8: .4byte gUnknown_3005098 _0810C7EC: .4byte gUnknown_845318C _0810C7F0: .4byte gUnknown_203ADB8 _0810C7F4: .4byte 0x00000431 -_0810C7F8: .4byte gUnknown_3005008 +_0810C7F8: .4byte gSaveBlock1Ptr _0810C7FC: .4byte gUnknown_8453F5C _0810C800: .4byte gUnknown_3005090 _0810C804: .4byte sub_810C8EC @@ -207,7 +207,7 @@ sub_810C808: @ 810C808 mov r5, r8 push {r5-r7} sub sp, 0x4 - ldr r0, _0810C8DC @ =gUnknown_3005008 + ldr r0, _0810C8DC @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0x8E lsls r1, 4 @@ -248,7 +248,7 @@ _0810C846: ldrb r0, [r5] strb r0, [r1, 0x6] ldrb r0, [r5] - ldr r1, _0810C8DC @ =gUnknown_3005008 + ldr r1, _0810C8DC @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -309,7 +309,7 @@ _0810C8BC: pop {r0} bx r0 .align 2, 0 -_0810C8DC: .4byte gUnknown_3005008 +_0810C8DC: .4byte gSaveBlock1Ptr _0810C8E0: .4byte gUnknown_2036DFC _0810C8E4: .4byte gUnknown_203ADB8 _0810C8E8: .4byte gUnknown_2036E38 @@ -321,7 +321,7 @@ sub_810C8EC: @ 810C8EC lsls r0, 24 lsrs r4, r0, 24 adds r5, r4, 0 - ldr r0, _0810C928 @ =gUnknown_3005008 + ldr r0, _0810C928 @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] ldrb r2, [r0, 0x4] @@ -346,7 +346,7 @@ sub_810C8EC: @ 810C8EC bl DisplayItemMessageOnField b _0810C95A .align 2, 0 -_0810C928: .4byte gUnknown_3005008 +_0810C928: .4byte gSaveBlock1Ptr _0810C92C: .4byte gUnknown_203ADB8 _0810C930: .4byte 0x00000431 _0810C934: .4byte gUnknown_81C1429 @@ -378,7 +378,7 @@ _0810C968: .4byte gUnknown_203ADB8 thumb_func_start sub_810C96C sub_810C96C: @ 810C96C push {lr} - ldr r0, _0810C990 @ =gUnknown_3005008 + ldr r0, _0810C990 @ =gSaveBlock1Ptr ldr r0, [r0] movs r1, 0xC7 lsls r1, 3 @@ -394,7 +394,7 @@ sub_810C96C: @ 810C96C movs r0, 0x1 b _0810C9A4 .align 2, 0 -_0810C990: .4byte gUnknown_3005008 +_0810C990: .4byte gSaveBlock1Ptr _0810C994: movs r0, 0x2 b _0810C9A4 @@ -529,7 +529,7 @@ _0810CA7C: _0810CA98: .4byte gUnknown_8453F62 _0810CA9C: .4byte 0x00000431 _0810CAA0: - ldr r0, _0810CB54 @ =gUnknown_3005008 + ldr r0, _0810CB54 @ =gSaveBlock1Ptr ldr r1, [r0] ldr r0, [r6] adds r0, r5 @@ -616,7 +616,7 @@ _0810CB2C: movs r0, 0x2 b _0810CB7E .align 2, 0 -_0810CB54: .4byte gUnknown_3005008 +_0810CB54: .4byte gSaveBlock1Ptr _0810CB58: .4byte 0x0000063a _0810CB5C: .4byte gUnknown_2036E38 _0810CB60: .4byte gUnknown_8453F64 @@ -654,7 +654,7 @@ sub_810CB90: @ 810CB90 movs r1, 0 mov r0, sp strb r1, [r0] - ldr r5, _0810CC54 @ =gUnknown_3005008 + ldr r5, _0810CC54 @ =gSaveBlock1Ptr ldr r0, [r5] movs r1, 0x8E lsls r1, 4 @@ -739,7 +739,7 @@ _0810CBDE: ldrb r0, [r0] b _0810CC76 .align 2, 0 -_0810CC54: .4byte gUnknown_3005008 +_0810CC54: .4byte gSaveBlock1Ptr _0810CC58: .4byte gUnknown_845318C _0810CC5C: .4byte gUnknown_20386AE _0810CC60: .4byte gUnknown_2036DFC @@ -960,7 +960,7 @@ _0810CDE0: thumb_func_start sub_810CDE8 sub_810CDE8: @ 810CDE8 push {lr} - ldr r0, _0810CE04 @ =gUnknown_3005008 + ldr r0, _0810CE04 @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _0810CE08 @ =gUnknown_20370D2 ldr r2, _0810CE0C @ =0x0000063a @@ -973,7 +973,7 @@ sub_810CDE8: @ 810CDE8 pop {r0} bx r0 .align 2, 0 -_0810CE04: .4byte gUnknown_3005008 +_0810CE04: .4byte gSaveBlock1Ptr _0810CE08: .4byte gUnknown_20370D2 _0810CE0C: .4byte 0x0000063a thumb_func_end sub_810CDE8 @@ -1312,7 +1312,7 @@ _0810D0A4: thumb_func_start sub_810D0A8 sub_810D0A8: @ 810D0A8 push {lr} - ldr r1, _0810D0C0 @ =gUnknown_3005008 + ldr r1, _0810D0C0 @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, _0810D0C4 @ =0x0000063a adds r1, r2 @@ -1323,7 +1323,7 @@ sub_810D0A8: @ 810D0A8 movs r0, 0x1 b _0810D0CA .align 2, 0 -_0810D0C0: .4byte gUnknown_3005008 +_0810D0C0: .4byte gSaveBlock1Ptr _0810D0C4: .4byte 0x0000063a _0810D0C8: movs r0, 0 @@ -1336,7 +1336,7 @@ _0810D0CA: sub_810D0D0: @ 810D0D0 push {r4,lr} movs r1, 0 - ldr r4, _0810D0F4 @ =gUnknown_3005008 + ldr r4, _0810D0F4 @ =gSaveBlock1Ptr ldr r3, _0810D0F8 @ =0x0000063a movs r2, 0 _0810D0DA: @@ -1353,7 +1353,7 @@ _0810D0DA: pop {r0} bx r0 .align 2, 0 -_0810D0F4: .4byte gUnknown_3005008 +_0810D0F4: .4byte gSaveBlock1Ptr _0810D0F8: .4byte 0x0000063a thumb_func_end sub_810D0D0 @@ -1554,7 +1554,7 @@ sub_810D24C: @ 810D24C adds r0, r1 bl npc_sync_anim_pause_bits ldrb r0, [r4, 0x6] - ldr r1, _0810D27C @ =gUnknown_3005008 + ldr r1, _0810D27C @ =gSaveBlock1Ptr ldr r2, [r1] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] @@ -1565,7 +1565,7 @@ sub_810D24C: @ 810D24C bx r0 .align 2, 0 _0810D278: .4byte gUnknown_2036E38 -_0810D27C: .4byte gUnknown_3005008 +_0810D27C: .4byte gSaveBlock1Ptr thumb_func_end sub_810D24C thumb_func_start sub_810D280 @@ -1721,7 +1721,7 @@ _0810D380: ldr r0, _0810D3E8 @ =gUnknown_845318C mov r2, sp bl sub_810D164 - ldr r1, _0810D3EC @ =gUnknown_3005008 + ldr r1, _0810D3EC @ =gSaveBlock1Ptr ldr r1, [r1] ldr r2, [r5] adds r2, r6 @@ -1760,7 +1760,7 @@ _0810D3CC: .align 2, 0 _0810D3E4: .4byte gUnknown_2036E38 _0810D3E8: .4byte gUnknown_845318C -_0810D3EC: .4byte gUnknown_3005008 +_0810D3EC: .4byte gSaveBlock1Ptr _0810D3F0: .4byte 0x0000063a thumb_func_end sub_810D304 diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index 23bb15d9e..08f86c10a 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -310,7 +310,7 @@ _08082944: lsls r0, 2 adds r3, r0, r5 ldrb r1, [r3] - ldr r0, _08082998 @ =gUnknown_3005008 + ldr r0, _08082998 @ =gSaveBlock1Ptr ldr r2, [r0] movs r0, 0x4 ldrsb r0, [r2, r0] @@ -345,7 +345,7 @@ _08082980: .align 2, 0 _08082990: .4byte gUnknown_83C9CB8 _08082994: .4byte 0x00007a01 -_08082998: .4byte gUnknown_3005008 +_08082998: .4byte gSaveBlock1Ptr _0808299C: .4byte 0x00004024 _080829A0: adds r0, r4, 0x1 @@ -376,7 +376,7 @@ sub_80829C0: @ 80829C0 lsls r0, 24 cmp r0, 0 bne _080829F4 - ldr r0, _080829F0 @ =gUnknown_3005008 + ldr r0, _080829F0 @ =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] @@ -392,7 +392,7 @@ sub_80829C0: @ 80829C0 b _080829F6 .align 2, 0 _080829EC: .4byte 0x00000849 -_080829F0: .4byte gUnknown_3005008 +_080829F0: .4byte gSaveBlock1Ptr _080829F4: movs r0, 0x1 _080829F6: @@ -431,7 +431,7 @@ sub_80829FC: @ 80829FC .align 2, 0 _08082A38: .4byte gUnknown_202402C _08082A3C: - ldr r0, _08082A7C @ =gUnknown_3005008 + ldr r0, _08082A7C @ =gSaveBlock1Ptr ldr r0, [r0] ldrb r1, [r0, 0x5] subs r1, 0x1B @@ -463,7 +463,7 @@ _08082A74: pop {r0} bx r0 .align 2, 0 -_08082A7C: .4byte gUnknown_3005008 +_08082A7C: .4byte gSaveBlock1Ptr _08082A80: .4byte gUnknown_83CA71C _08082A84: .4byte gUnknown_202402C thumb_func_end sub_80829FC @@ -923,7 +923,7 @@ _08082DD2: cmp r0, 0x1 bne _08082E24 _08082DFA: - ldr r0, _08082E1C @ =gUnknown_3005008 + ldr r0, _08082E1C @ =gSaveBlock1Ptr ldr r0, [r0] ldr r1, _08082E20 @ =0x000030d0 adds r0, r1 @@ -937,7 +937,7 @@ _08082DFA: b _08082E48 .align 2, 0 _08082E18: .4byte gUnknown_83C9CB8 -_08082E1C: .4byte gUnknown_3005008 +_08082E1C: .4byte gSaveBlock1Ptr _08082E20: .4byte 0x000030d0 _08082E24: ldr r4, [r4] diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index 318f23f33..c6b667356 100644 --- a/asm/wireless_communication_status_screen.s +++ b/asm/wireless_communication_status_screen.s @@ -472,7 +472,7 @@ _0814F58A: movs r1, 0x3 bl CopyWindowToVram _0814F5A4: - ldr r0, _0814F5F8 @ =gUnknown_30030F0 + ldr r0, _0814F5F8 @ =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 @@ -515,7 +515,7 @@ _0814F5E2: bl sub_814F364 b _0814F648 .align 2, 0 -_0814F5F8: .4byte gUnknown_30030F0 +_0814F5F8: .4byte gMain _0814F5FC: .4byte gUnknown_3005090 _0814F600: .4byte gUnknown_3002040 _0814F604: .4byte gUnknown_3005098 diff --git a/common_syms/main.txt b/common_syms/main.txt new file mode 100644 index 000000000..af834cad8 --- /dev/null +++ b/common_syms/main.txt @@ -0,0 +1,12 @@ +gKeyRepeatStartDelay +gLinkTransferringData +gMain +gKeyRepeatContinueDelay +gSoftResetDisabled +gIntrTable +gUnknown_3003578 +gLinkVSyncDisabled +IntrMain_Buffer +gUnknown_3003D80 +gUnknown_3003D84 +gPcmDmaCounter diff --git a/data/data.s b/data/data.s index 05ba21574..d98a49aca 100644 --- a/data/data.s +++ b/data/data.s @@ -1,17 +1,5 @@ .section .rodata -gUnknown_81E9F10:: @ 81E9F10 - .incbin "baserom.gba", 0x1E9F10, 0x1 - -gUnknown_81E9F11:: @ 81E9F11 - .incbin "baserom.gba", 0x1E9F11, 0x17 - -gUnknown_81E9F28:: @ 81E9F28 - .incbin "baserom.gba", 0x1E9F28, 0x38 - -gUnknown_81E9F60:: @ 81E9F60 - .incbin "baserom.gba", 0x1E9F60, 0x4 - gUnknown_81E9F64:: @ 81E9F64 .incbin "baserom.gba", 0x1E9F64, 0x4 diff --git a/include/battle.h b/include/battle.h new file mode 100644 index 000000000..7c8c81f52 --- /dev/null +++ b/include/battle.h @@ -0,0 +1,1008 @@ +#ifndef GUARD_BATTLE_H +#define GUARD_BATTLE_H + +// should they be included here or included individually by every file? +#include "battle_util.h" +#include "battle_script_commands.h" +#include "battle_2.h" +#include "battle_ai_switch_items.h" +#include "battle_gfx_sfx_util.h" +#include "battle_util2.h" + +/* + Banks are a name given to what could be called a 'battlerId' or 'monControllerId'. + Each bank has a value consisting of two bits. + 0x1 bit is responsible for the side, 0 = player's side, 1 = opponent's side. + 0x2 bit is responsible for the id of sent out pokemon. 0 means it's the first sent out pokemon, 1 it's the second one. (Triple battle didn't exist at the time yet.) +*/ + +#define BATTLE_BANKS_COUNT 4 + +#define IDENTITY_PLAYER_MON1 0 +#define IDENTITY_OPPONENT_MON1 1 +#define IDENTITY_PLAYER_MON2 2 +#define IDENTITY_OPPONENT_MON2 3 + +#define SIDE_PLAYER 0x0 +#define SIDE_OPPONENT 0x1 + +#define BIT_SIDE 0x1 +#define BIT_MON 0x2 + +#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank])) +#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE)) +#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE)) + +#define BATTLE_TYPE_DOUBLE 0x0001 +#define BATTLE_TYPE_LINK 0x0002 +#define BATTLE_TYPE_WILD 0x0004 +#define BATTLE_TYPE_TRAINER 0x0008 +#define BATTLE_TYPE_FIRST_BATTLE 0x0010 +#define BATTLE_TYPE_20 0x0020 +#define BATTLE_TYPE_MULTI 0x0040 +#define BATTLE_TYPE_SAFARI 0x0080 +#define BATTLE_TYPE_BATTLE_TOWER 0x0100 +#define BATTLE_TYPE_WALLY_TUTORIAL 0x0200 +#define BATTLE_TYPE_ROAMER 0x0400 +#define BATTLE_TYPE_EREADER_TRAINER 0x0800 +#define BATTLE_TYPE_KYOGRE_GROUDON 0x1000 +#define BATTLE_TYPE_LEGENDARY 0x2000 +#define BATTLE_TYPE_REGI 0x4000 +#define BATTLE_TYPE_TWO_OPPONENTS 0x8000 +#define BATTLE_TYPE_DOME 0x10000 +#define BATTLE_TYPE_PALACE 0x20000 +#define BATTLE_TYPE_ARENA 0x40000 +#define BATTLE_TYPE_FACTORY 0x80000 +#define BATTLE_TYPE_x100000 0x100000 +#define BATTLE_TYPE_PYRAMID 0x200000 +#define BATTLE_TYPE_INGAME_PARTNER 0x400000 +#define BATTLE_TYPE_x800000 0x800000 +#define BATTLE_TYPE_RECORDED 0x1000000 +#define BATTLE_TYPE_x2000000 0x2000000 +#define BATTLE_TYPE_x4000000 0x4000000 +#define BATTLE_TYPE_SECRET_BASE 0x8000000 +#define BATTLE_TYPE_GROUDON 0x10000000 +#define BATTLE_TYPE_KYORGE 0x20000000 +#define BATTLE_TYPE_RAYQUAZA 0x40000000 +#define BATTLE_TYPE_x80000000 0x80000000 + +#define TRAINER_OPPONENT_3FE 0x3FE +#define TRAINER_OPPONENT_C00 0xC00 +#define TRAINER_OPPONENT_800 0x800 +#define STEVEN_PARTNER_ID 0xC03 +#define SECRET_BASE_OPPONENT 0x400 + +#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID) +#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000) + +#define BATTLE_WON 0x1 +#define BATTLE_LOST 0x2 +#define BATTLE_DREW 0x3 +#define BATTLE_RAN 0x4 +#define BATTLE_PLAYER_TELEPORTED 0x5 +#define BATTLE_POKE_FLED 0x6 +#define BATTLE_CAUGHT 0x7 +#define BATTLE_SAFARI_OUT_OF_BALLS 0x8 +#define BATTLE_FORFEITED 0x9 +#define BATTLE_OPPONENT_TELEPORTED 0xA + +#define OUTCOME_LINK_BATTLE_RUN 0x80 + +#define STATUS_NONE 0x0 +#define STATUS_SLEEP 0x7 +#define STATUS_POISON 0x8 +#define STATUS_BURN 0x10 +#define STATUS_FREEZE 0x20 +#define STATUS_PARALYSIS 0x40 +#define STATUS_TOXIC_POISON 0x80 +#define STATUS_TOXIC_COUNTER 0xF00 + +#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON)) +#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) + +#define STATUS2_CONFUSION 0x00000007 +#define STATUS2_FLINCHED 0x00000008 +#define STATUS2_UPROAR 0x00000070 +#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200 +#define STATUS2_LOCK_CONFUSE 0x00000C00 +#define STATUS2_MULTIPLETURNS 0x00001000 +#define STATUS2_WRAPPED 0x0000E000 +#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every bank +#define STATUS2_INFATUATED_WITH(bank)((gBitTable[bank] << 16)) +#define STATUS2_FOCUS_ENERGY 0x00100000 +#define STATUS2_TRANSFORMED 0x00200000 +#define STATUS2_RECHARGE 0x00400000 +#define STATUS2_RAGE 0x00800000 +#define STATUS2_SUBSTITUTE 0x01000000 +#define STATUS2_DESTINY_BOND 0x02000000 +#define STATUS2_ESCAPE_PREVENTION 0x04000000 +#define STATUS2_NIGHTMARE 0x08000000 +#define STATUS2_CURSED 0x10000000 +#define STATUS2_FORESIGHT 0x20000000 +#define STATUS2_DEFENSE_CURL 0x40000000 +#define STATUS2_TORMENT 0x80000000 + +#define STATUS3_LEECHSEED_BANK 0x3 +#define STATUS3_LEECHSEED 0x4 +#define STATUS3_ALWAYS_HITS 0x18 // two bits +#define STATUS3_PERISH_SONG 0x20 +#define STATUS3_ON_AIR 0x40 +#define STATUS3_UNDERGROUND 0x80 +#define STATUS3_MINIMIZED 0x100 +#define STATUS3_ROOTED 0x400 +#define STATUS3_CHARGED_UP 0x200 +#define STATUS3_YAWN 0x1800 // two bits +#define STATUS3_IMPRISONED_OTHERS 0x2000 +#define STATUS3_GRUDGE 0x4000 +#define STATUS3_CANT_SCORE_A_CRIT 0x8000 +#define STATUS3_MUDSPORT 0x10000 +#define STATUS3_WATERSPORT 0x20000 +#define STATUS3_UNDERWATER 0x40000 +#define STATUS3_INTIMIDATE_POKES 0x80000 +#define STATUS3_TRACE 0x100000 + +#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)) + +#define HITMARKER_x10 0x00000010 +#define HITMARKER_x20 0x00000020 +#define HITMARKER_DESTINYBOND 0x00000040 +#define HITMARKER_NO_ANIMATIONS 0x00000080 +#define HITMARKER_IGNORE_SUBSTITUTE 0x00000100 +#define HITMARKER_NO_ATTACKSTRING 0x00000200 +#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 +#define HITMARKER_NO_PPDEDUCT 0x00000800 +#define HITMARKER_PURSUIT_TRAP 0x00001000 +#define HITMARKER_IGNORE_SAFEGUARD 0x00002000 +#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 +#define HITMARKER_RUN 0x00008000 +#define HITMARKER_IGNORE_ON_AIR 0x00010000 +#define HITMARKER_IGNORE_UNDERGROUND 0x00020000 +#define HITMARKER_IGNORE_UNDERWATER 0x00040000 +#define HITMARKER_UNABLE_TO_USE_MOVE 0x00080000 +#define HITMARKER_x100000 0x00100000 +#define HITMARKER_x200000 0x00200000 +#define HITMARKER_x400000 0x00400000 +#define HITMARKER_x800000 0x00800000 +#define HITMARKER_GRUDGE 0x01000000 +#define HITMARKER_OBEYS 0x02000000 +#define HITMARKER_x4000000 0x04000000 +#define HITMARKER_x8000000 0x08000000 +#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C)) +#define HITMARKER_UNK(bank) ((0x10000000 << bank)) + +#define SIDE_STATUS_REFLECT (1 << 0) +#define SIDE_STATUS_LIGHTSCREEN (1 << 1) +#define SIDE_STATUS_X4 (1 << 2) +#define SIDE_STATUS_SPIKES (1 << 4) +#define SIDE_STATUS_SAFEGUARD (1 << 5) +#define SIDE_STATUS_FUTUREATTACK (1 << 6) +#define SIDE_STATUS_MIST (1 << 8) +#define SIDE_STATUS_SPIKES_DAMAGED (1 << 9) + +#define ACTION_USE_MOVE 0 +#define ACTION_USE_ITEM 1 +#define ACTION_SWITCH 2 +#define ACTION_RUN 3 +#define ACTION_WATCHES_CAREFULLY 4 +#define ACTION_SAFARI_ZONE_BALL 5 +#define ACTION_POKEBLOCK_CASE 6 +#define ACTION_GO_NEAR 7 +#define ACTION_SAFARI_ZONE_RUN 8 +#define ACTION_9 9 +#define ACTION_RUN_BATTLESCRIPT 10 // when executing an action +#define ACTION_CANCEL_PARTNER 12 // when choosing an action +#define ACTION_FINISHED 12 // when executing an action +#define ACTION_NOTHING_FAINTED 13 // when choosing an action +#define ACTION_INIT_VALUE 0xFF + +#define MOVESTATUS_MISSED (1 << 0) +#define MOVESTATUS_SUPEREFFECTIVE (1 << 1) +#define MOVESTATUS_NOTVERYEFFECTIVE (1 << 2) +#define MOVESTATUS_NOTAFFECTED (1 << 3) +#define MOVESTATUS_ONEHITKO (1 << 4) +#define MOVESTATUS_FAILED (1 << 5) +#define MOVESTATUS_ENDURED (1 << 6) +#define MOVESTATUS_HUNGON (1 << 7) + +#define MOVESTATUS_NOEFFECT ((MOVESTATUS_MISSED | MOVESTATUS_NOTAFFECTED | MOVESTATUS_FAILED)) + +#define MAX_TRAINER_ITEMS 4 +#define MAX_MON_MOVES 4 + +#define WEATHER_RAIN_TEMPORARY (1 << 0) +#define WEATHER_RAIN_DOWNPOUR (1 << 1) +#define WEATHER_RAIN_PERMANENT (1 << 2) +#define WEATHER_RAIN_ANY ((WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)) +#define WEATHER_SANDSTORM_TEMPORARY (1 << 3) +#define WEATHER_SANDSTORM_PERMANENT (1 << 4) +#define WEATHER_SANDSTORM_ANY ((WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)) +#define WEATHER_SUN_TEMPORARY (1 << 5) +#define WEATHER_SUN_PERMANENT (1 << 6) +#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)) +#define WEATHER_HAIL (1 << 7) +#define WEATHER_HAIL_ANY ((WEATHER_HAIL)) +#define WEATHER_ANY ((WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY)) + +#define BATTLE_TERRAIN_GRASS 0 +#define BATTLE_TERRAIN_LONG_GRASS 1 +#define BATTLE_TERRAIN_SAND 2 +#define BATTLE_TERRAIN_UNDERWATER 3 +#define BATTLE_TERRAIN_WATER 4 +#define BATTLE_TERRAIN_POND 5 +#define BATTLE_TERRAIN_ROCK 6 +#define BATTLE_TERRAIN_CAVE 7 +#define BATTLE_TERRAIN_INSIDE 8 +#define BATTLE_TERRAIN_PLAIN 9 + +// array entries for battle communication +#define MULTIUSE_STATE 0x0 +#define CURSOR_POSITION 0x1 +#define TASK_ID 0x1 // task Id and cursor position share the same field +#define SPRITES_INIT_STATE1 0x1 // shares the Id as well +#define SPRITES_INIT_STATE2 0x2 +#define MOVE_EFFECT_BYTE 0x3 +#define ACTIONS_CONFIRMED_COUNT 0x4 +#define MULTISTRING_CHOOSER 0x5 +#define MSG_DISPLAY 0x7 +#define BATTLE_COMMUNICATION_ENTRIES_COUNT 0x8 + +#define MOVE_TARGET_SELECTED 0x0 +#define MOVE_TARGET_DEPENDS 0x1 +#define MOVE_TARGET_USER 0x2 +#define MOVE_TARGET_RANDOM 0x4 +#define MOVE_TARGET_x10 0x10 +#define MOVE_TARGET_BOTH 0x8 +#define MOVE_TARGET_FOES_AND_ALLY 0x20 +#define MOVE_TARGET_OPPONENTS_FIELD 0x40 + +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers +#define TYPE_MUL_NO_EFFECT 0 +#define TYPE_MUL_NOT_EFFECTIVE 5 +#define TYPE_MUL_NORMAL 10 +#define TYPE_MUL_SUPER_EFFECTIVE 20 + +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF + +#define BS_GET_TARGET 0 +#define BS_GET_ATTACKER 1 +#define BS_GET_EFFECT_BANK 2 +#define BS_GET_gBank1 3 +#define BS_GET_BANK_0 7 +#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update +#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability +#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability +#define BS_GET_SCRIPTING_BANK 10 +#define BS_GET_OPPONENT1 12 +#define BS_GET_PLAYER2 13 +#define BS_GET_OPPONENT2 14 + +// for battle script commands +#define CMP_EQUAL 0x0 +#define CMP_NOT_EQUAL 0x1 +#define CMP_GREATER_THAN 0x2 +#define CMP_LESS_THAN 0x3 +#define CMP_COMMON_BITS 0x4 +#define CMP_NO_COMMON_BITS 0x5 + +struct TrainerMonNoItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; +}; + +u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg); +u8 GetBankSide(u8 bank); + +struct TrainerMonItemDefaultMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; +}; + +struct TrainerMonNoItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 moves[4]; +}; + +struct TrainerMonItemCustomMoves +{ + u16 iv; + u8 lvl; + u16 species; + u16 heldItem; + u16 moves[4]; +}; + +union TrainerMonPtr +{ + struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves; + struct TrainerMonNoItemCustomMoves* NoItemCustomMoves; + struct TrainerMonItemDefaultMoves* ItemDefaultMoves; + struct TrainerMonItemCustomMoves* ItemCustomMoves; +}; + +struct Trainer +{ + /*0x00*/ u8 partyFlags; + /*0x01*/ u8 trainerClass; + /*0x02*/ u8 encounterMusic_gender; // last bit is gender + /*0x03*/ u8 trainerPic; + /*0x04*/ u8 trainerName[12]; + /*0x10*/ u16 items[4]; + /*0x18*/ bool8 doubleBattle; + /*0x1C*/ u32 aiFlags; + /*0x20*/ u8 partySize; + /*0x24*/ union TrainerMonPtr party; +}; + +#define PARTY_FLAG_CUSTOM_MOVES 0x1 +#define PARTY_FLAG_HAS_ITEM 0x2 + +extern const struct Trainer gTrainers[]; + +#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F)) + +struct UnknownFlags +{ + u32 flags[4]; +}; + +#define UNKNOWN_FLAG_FLASH_FIRE 1 + +struct DisableStruct +{ + /*0x00*/ u32 transformedMonPersonality; + /*0x04*/ u16 disabledMove; + /*0x06*/ u16 encoredMove; + /*0x08*/ u8 protectUses; + /*0x09*/ u8 stockpileCounter; + /*0x0A*/ u8 substituteHP; + /*0x0B*/ u8 disableTimer1 : 4; + /*0x0B*/ u8 disableTimer2 : 4; + /*0x0C*/ u8 encoredMovePos; + /*0x0D*/ u8 unkD; + /*0x0E*/ u8 encoreTimer1 : 4; + /*0x0E*/ u8 encoreTimer2 : 4; + /*0x0F*/ u8 perishSongTimer1 : 4; + /*0x0F*/ u8 perishSongTimer2 : 4; + /*0x10*/ u8 furyCutterCounter; + /*0x11*/ u8 rolloutCounter1 : 4; + /*0x11*/ u8 rolloutCounter2 : 4; + /*0x12*/ u8 chargeTimer1 : 4; + /*0x12*/ u8 chargeTimer2 : 4; + /*0x13*/ u8 tauntTimer1:4; + /*0x13*/ u8 tauntTimer2:4; + /*0x14*/ u8 bankPreventingEscape; + /*0x15*/ u8 bankWithSureHit; + /*0x16*/ u8 isFirstTurn; + /*0x17*/ u8 unk17; + /*0x18*/ u8 truantCounter : 1; + /*0x18*/ u8 truantUnknownBit : 1; + /*0x18*/ u8 unk18_a_2 : 2; + /*0x18*/ u8 unk18_b : 4; + /*0x19*/ u8 rechargeCounter; + /*0x1A*/ u8 unk1A[2]; +}; + +extern struct DisableStruct gDisableStructs[BATTLE_BANKS_COUNT]; + +struct ProtectStruct +{ + /* field_0 */ + u32 protected:1; + u32 endured:1; + u32 onlyStruggle:1; + u32 helpingHand:1; + u32 bounceMove:1; + u32 stealMove:1; + u32 flag0Unknown:1; + u32 prlzImmobility:1; + /* field_1 */ + u32 confusionSelfDmg:1; + u32 targetNotAffected:1; + u32 chargingTurn:1; + u32 fleeFlag:2; // for RunAway and Smoke Ball + u32 usedImprisionedMove:1; + u32 loveImmobility:1; + u32 usedDisabledMove:1; + /* field_2 */ + u32 usedTauntedMove:1; // 0x1 + u32 flag2Unknown:1; // 0x2 + u32 flinchImmobility:1; // 0x4 + u32 notFirstStrike:1; // 0x8 + u32 flag_x10 : 1; // 0x10 + u32 flag_x20 : 1; // 0x20 + u32 flag_x40 : 1; // 0x40 + u32 flag_x80 : 1; // 0x80 + /* field_3 */ + u32 field3 : 8; + + /* field_4 */ u32 physicalDmg; + /* field_8 */ u32 specialDmg; + /* field_C */ u8 physicalBank; + /* field_D */ u8 specialBank; + /* field_E */ u16 fieldE; +}; + +extern struct ProtectStruct gProtectStructs[BATTLE_BANKS_COUNT]; + +struct SpecialStatus +{ + u8 statLowered : 1; // 0x1 + u8 lightningRodRedirected : 1; // 0x2 + u8 restoredBankSprite: 1; // 0x4 + u8 intimidatedPoke : 1; // 0x8 + u8 traced : 1; // 0x10 + u8 flag20 : 1; + u8 flag40 : 1; + u8 focusBanded : 1; + u8 field1[3]; + s32 moveturnLostHP; + s32 moveturnLostHP_physical; + s32 moveturnLostHP_special; + u8 moveturnPhysicalBank; + u8 moveturnSpecialBank; + u8 field12; + u8 field13; +}; + +extern struct SpecialStatus gSpecialStatuses[BATTLE_BANKS_COUNT]; + +struct SideTimer +{ + /*0x00*/ u8 reflectTimer; + /*0x01*/ u8 reflectBank; + /*0x02*/ u8 lightscreenTimer; + /*0x03*/ u8 lightscreenBank; + /*0x04*/ u8 mistTimer; + /*0x05*/ u8 mistBank; + /*0x06*/ u8 safeguardTimer; + /*0x07*/ u8 safeguardBank; + /*0x08*/ u8 followmeTimer; + /*0x09*/ u8 followmeTarget; + /*0x0A*/ u8 spikesAmount; + /*0x0B*/ u8 fieldB; +}; + +extern struct SideTimer gSideTimers[]; + +struct WishFutureKnock +{ + u8 futureSightCounter[BATTLE_BANKS_COUNT]; + u8 futureSightAttacker[BATTLE_BANKS_COUNT]; + s32 futureSightDmg[BATTLE_BANKS_COUNT]; + u16 futureSightMove[BATTLE_BANKS_COUNT]; + u8 wishCounter[BATTLE_BANKS_COUNT]; + u8 wishUserID[BATTLE_BANKS_COUNT]; + u8 weatherDuration; + u8 knockedOffPokes[2]; +}; + +extern struct WishFutureKnock gWishFutureKnock; + +struct AI_ThinkingStruct +{ + u8 aiState; + u8 movesetIndex; + u16 moveConsidered; + s8 score[4]; + u32 funcResult; + u32 aiFlags; + u8 aiAction; + u8 aiLogicId; + u8 filler12[6]; + u8 simulatedRNG[4]; +}; + +struct UsedMoves +{ + u16 moves[BATTLE_BANKS_COUNT]; + u16 unknown[BATTLE_BANKS_COUNT]; +}; + +struct BattleHistory +{ + struct UsedMoves usedMoves[BATTLE_BANKS_COUNT]; + u8 abilities[BATTLE_BANKS_COUNT]; + u8 itemEffects[BATTLE_BANKS_COUNT]; + u16 trainerItems[BATTLE_BANKS_COUNT]; + u8 itemsNo; +}; + +struct BattleScriptsStack +{ + const u8 *ptr[8]; + u8 size; +}; + +struct BattleCallbacksStack +{ + void (*function[8])(void); + u8 size; +}; + +struct StatsArray +{ + u16 hp; + u16 atk; + u16 def; + u16 spd; + u16 spAtk; + u16 spDef; +}; + +struct BattleResources +{ + struct SecretBaseRecord* secretBase; + struct UnknownFlags *flags; + struct BattleScriptsStack* battleScriptsStack; + struct BattleCallbacksStack* battleCallbackStack; + struct StatsArray* statsBeforeLvlUp; + struct AI_ThinkingStruct *ai; + struct BattleHistory *battleHistory; + struct BattleScriptsStack *AI_ScriptsStack; +}; + +extern struct BattleResources* gBattleResources; + +#define BATTLESCRIPTS_STACK (gBattleResources->battleScriptsStack) +#define BATTLE_CALLBACKS_STACK (gBattleResources->battleCallbackStack) +#define BATTLE_LVLUP_STATS (gBattleResources->statsBeforeLvlUp) + +struct BattleResults +{ + u8 playerFaintCounter; // 0x0 + u8 opponentFaintCounter; // 0x1 + u8 playerSwitchesCounter; // 0x2 + u8 unk3; // 0x3 + u8 unk4; // 0x4 + u8 unk5_0:1; // 0x5 + u8 usedMasterBall:1; // 0x5 + u8 caughtMonBall:4; // 0x5 + u8 unk5_6:1; // 0x5 + u8 unk5_7:1; // 0x5 + u16 playerMon1Species; // 0x6 + u8 playerMon1Name[11]; // 0x8 + u8 battleTurnCounter; // 0x13 + u8 playerMon2Name[11]; // 0x14 + u8 field_1F; // 0x1F + u16 lastOpponentSpecies; // 0x20 + u16 lastUsedMovePlayer; // 0x22 + u16 lastUsedMoveOpponent; // 0x24 + u16 playerMon2Species; // 0x26 + u16 caughtMonSpecies; // 0x28 + u8 caughtMonNick[10]; // 0x2A + u8 filler34[2]; + u8 catchAttempts[11]; // 0x36 +}; + +extern struct BattleResults gBattleResults; + +struct BattleStruct +{ + u8 turnEffectsTracker; + u8 turnEffectsBank; + u8 filler2; + u8 turncountersTracker; + u8 wrappedMove[8]; // ask gamefreak why they declared it that way + u8 moveTarget[4]; + u8 expGetterId; + u8 field_11; + u8 wildVictorySong; + u8 dynamicMoveType; + u8 wrappedBy[4]; + u16 assistPossibleMoves[5 * 4]; // 5 mons, each of them knowing 4 moves + u8 field_40; + u8 field_41; + u8 field_42; + u8 field_43; + u8 field_44; + u8 field_45; + u8 field_46; + u8 field_47; + u8 focusPunchBank; + u8 field_49; + u8 moneyMultiplier; + u8 savedTurnActionNumber; + u8 switchInAbilitiesCounter; + u8 faintedActionsState; + u8 faintedActionsBank; + u8 field_4F; + u16 expValue; + u8 field_52; + u8 sentInPokes; + bool8 selectionScriptFinished[BATTLE_BANKS_COUNT]; + u8 field_58[4]; + u8 monToSwitchIntoId[BATTLE_BANKS_COUNT]; + u8 field_60[4][3]; + u8 runTries; + u8 caughtMonNick[11]; + u8 field_78; + u8 field_79; + u8 field_7A; + u8 field_7B; + u8 field_7C; + u8 field_7D; + u8 field_7E; + u8 formToChangeInto; + u8 chosenMovePositions[BATTLE_BANKS_COUNT]; + u8 stateIdAfterSelScript[BATTLE_BANKS_COUNT]; + u8 field_88; + u8 field_89; + u8 field_8A; + u8 field_8B; + u8 field_8C; + u8 field_8D; + u8 stringMoveType; + u8 expGetterBank; + u8 field_90; + u8 field_91; + u8 field_92; + u8 field_93; + u8 wallyBattleState; + u8 wallyMovesState; + u8 wallyWaitFrames; + u8 wallyMoveFrames; + u8 mirrorMoves[8]; // ask gamefreak why they declared it that way + u8 field_A0; + u8 field_A1; + u8 field_A2; + u8 field_A3; + u8 field_A4; + u8 field_A5; + u8 field_A6; + u8 field_A7; + u16 hpOnSwitchout[2]; + u32 savedBattleTypeFlags; + u8 field_B0; + u8 hpScale; + u8 synchronizeMoveEffect; + u8 field_B3; + void (*savedCallback)(void); + u16 usedHeldItems[BATTLE_BANKS_COUNT]; + u8 chosenItem[4]; // why is this an u8? + u8 AI_itemType[2]; + u8 AI_itemFlags[2]; + u16 choicedMove[BATTLE_BANKS_COUNT]; + u16 changedItems[BATTLE_BANKS_COUNT]; + u8 intimidateBank; + u8 switchInItemsCounter; + u8 field_DA; + u8 turnSideTracker; + u8 fillerDC[0xDF-0xDC]; + u8 field_DF; + u8 mirrorMoveArrays[32]; + u16 castformPalette[BATTLE_BANKS_COUNT][16]; + u8 field_180; + u8 field_181; + u8 field_182; + u8 field_183; + struct BattleEnigmaBerry battleEnigmaBerry; + u8 wishPerishSongState; + u8 wishPerishSongBank; + bool8 overworldWeatherDone; + u8 atkCancellerTracker; + u8 field_1A4[96]; + u8 field_204[104]; + u8 field_26C[40]; + u8 AI_monToSwitchIntoId[BATTLE_BANKS_COUNT]; + u8 field_298[8]; + u8 field_2A0; + u8 field_2A1; + u8 field_2A2; +}; + +extern struct BattleStruct* gBattleStruct; + +#define GET_MOVE_TYPE(move, typeArg) \ +{ \ + if (gBattleStruct->dynamicMoveType) \ + typeArg = gBattleStruct->dynamicMoveType & 0x3F; \ + else \ + typeArg = gBattleMoves[move].type; \ +} + +#define MOVE_EFFECT_SLEEP 0x1 +#define MOVE_EFFECT_POISON 0x2 +#define MOVE_EFFECT_BURN 0x3 +#define MOVE_EFFECT_FREEZE 0x4 +#define MOVE_EFFECT_PARALYSIS 0x5 +#define MOVE_EFFECT_TOXIC 0x6 +#define MOVE_EFFECT_CONFUSION 0x7 +#define MOVE_EFFECT_FLINCH 0x8 +#define MOVE_EFFECT_TRI_ATTACK 0x9 +#define MOVE_EFFECT_UPROAR 0xA +#define MOVE_EFFECT_PAYDAY 0xB +#define MOVE_EFFECT_CHARGING 0xC +#define MOVE_EFFECT_WRAP 0xD +#define MOVE_EFFECT_RECOIL_25 0xE +#define MOVE_EFFECT_ATK_PLUS_1 0xF +#define MOVE_EFFECT_DEF_PLUS_1 0x10 +#define MOVE_EFFECT_SPD_PLUS_1 0x11 +#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12 +#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13 +#define MOVE_EFFECT_ACC_PLUS_1 0x14 +#define MOVE_EFFECT_EVS_PLUS_1 0x15 +#define MOVE_EFFECT_ATK_MINUS_1 0x16 +#define MOVE_EFFECT_DEF_MINUS_1 0x17 +#define MOVE_EFFECT_SPD_MINUS_1 0x18 +#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19 +#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A +#define MOVE_EFFECT_ACC_MINUS_1 0x1B +#define MOVE_EFFECT_EVS_MINUS_1 0x1C +#define MOVE_EFFECT_RECHARGE 0x1D +#define MOVE_EFFECT_RAGE 0x1E +#define MOVE_EFFECT_STEAL_ITEM 0x1F +#define MOVE_EFFECT_PREVENT_ESCAPE 0x20 +#define MOVE_EFFECT_NIGHTMARE 0x21 +#define MOVE_EFFECT_ALL_STATS_UP 0x22 +#define MOVE_EFFECT_RAPIDSPIN 0x23 +#define MOVE_EFFECT_REMOVE_PARALYSIS 0x24 +#define MOVE_EFFECT_ATK_DEF_DOWN 0x25 +#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26 +#define MOVE_EFFECT_ATK_PLUS_2 0x27 +#define MOVE_EFFECT_DEF_PLUS_2 0x28 +#define MOVE_EFFECT_SPD_PLUS_2 0x29 +#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A +#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B +#define MOVE_EFFECT_ACC_PLUS_2 0x2C +#define MOVE_EFFECT_EVS_PLUS_2 0x2D +#define MOVE_EFFECT_ATK_MINUS_2 0x2E +#define MOVE_EFFECT_DEF_MINUS_2 0x2F +#define MOVE_EFFECT_SPD_MINUS_2 0x30 +#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31 +#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32 +#define MOVE_EFFECT_ACC_MINUS_2 0x33 +#define MOVE_EFFECT_EVS_MINUS_2 0x34 +#define MOVE_EFFECT_THRASH 0x35 +#define MOVE_EFFECT_KNOCK_OFF 0x36 +#define MOVE_EFFECT_NOTHING_37 0x37 +#define MOVE_EFFECT_NOTHING_38 0x38 +#define MOVE_EFFECT_NOTHING_39 0x39 +#define MOVE_EFFECT_NOTHING_3A 0x3A +#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x3B +#define MOVE_EFFECT_NOTHING_3C 0x3C +#define MOVE_EFFECT_NOTHING_3D 0x3D +#define MOVE_EFFECT_NOTHING_3E 0x3E +#define MOVE_EFFECT_NOTHING_3F 0x3F +#define MOVE_EFFECT_AFFECTS_USER 0x40 +#define MOVE_EFFECT_CERTAIN 0x80 + +// table ids for general animations +#define B_ANIM_CASTFORM_CHANGE 0x0 +#define B_ANIM_STATS_CHANGE 0x1 +#define B_ANIM_SUBSTITUTE_FADE 0x2 +#define B_ANIM_SUBSTITUTE_APPEAR 0x3 +#define B_ANIM_x4 0x4 +#define B_ANIM_ITEM_KNOCKOFF 0x5 +#define B_ANIM_TURN_TRAP 0x6 +#define B_ANIM_ITEM_EFFECT 0x7 +#define B_ANIM_SMOKEBALL_ESCAPE 0x8 +#define B_ANIM_HANGED_ON 0x9 +#define B_ANIM_RAIN_CONTINUES 0xA +#define B_ANIM_SUN_CONTINUES 0xB +#define B_ANIM_SANDSTORM_CONTINUES 0xC +#define B_ANIM_HAIL_CONTINUES 0xD +#define B_ANIM_LEECH_SEED_DRAIN 0xE +#define B_ANIM_MON_HIT 0xF +#define B_ANIM_ITEM_STEAL 0x10 +#define B_ANIM_SNATCH_MOVE 0x11 +#define B_ANIM_FUTURE_SIGHT_HIT 0x12 +#define B_ANIM_DOOM_DESIRE_HIT 0x13 +#define B_ANIM_x14 0x14 +#define B_ANIM_INGRAIN_HEAL 0x15 +#define B_ANIM_WISH_HEAL 0x16 + +// special animations table +#define B_ANIM_LVL_UP 0x0 +#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1 +#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2 +#define B_ANIM_BALL_THROW 0x3 +#define B_ANIM_SAFARI_BALL_THROW 0x4 +#define B_ANIM_SUBSTITUTE_TO_MON 0x5 +#define B_ANIM_MON_TO_SUBSTITUTE 0x6 + +// status animation table +#define B_ANIM_STATUS_PSN 0x0 +#define B_ANIM_STATUS_CONFUSION 0x1 +#define B_ANIM_STATUS_BRN 0x2 +#define B_ANIM_STATUS_INFATUATION 0x3 +#define B_ANIM_STATUS_SLP 0x4 +#define B_ANIM_STATUS_PRZ 0x5 +#define B_ANIM_STATUS_FRZ 0x6 +#define B_ANIM_STATUS_CURSED 0x7 +#define B_ANIM_STATUS_NIGHTMARE 0x8 +#define B_ANIM_STATUS_WRAPPED 0x9 + +#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 +#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 +#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit + +#define SET_STAT_BUFF_VALUE(n)(((s8)(((s8)(n) << 4)) & 0xF0)) + +#define SET_STATCHANGER(statId, stage, goesDown)(gBattleScripting.statChanger = (statId) + (stage << 4) + (goesDown << 7)) + +struct BattleScripting +{ + s32 painSplitHp; + s32 bideDmg; + u8 multihitString[6]; + u8 dmgMultiplier; + u8 twoTurnsMoveStringId; + u8 animArg1; + u8 animArg2; + u16 tripleKickPower; + u8 atk49_state; + u8 bankWithAbility; + u8 multihitMoveEffect; + u8 bank; + u8 animTurn; + u8 animTargetsHit; + u8 statChanger; + u8 field_1B; + u8 atk23_state; + u8 battleStyle; + u8 atk6C_state; + u8 learnMoveState; + u8 field_20; + u8 reshowMainState; + u8 reshowHelperState; + u8 field_23; + u8 field_24; + u8 multiplayerId; +}; + +extern struct BattleScripting gBattleScripting; + +// functions + +// battle_1 +void LoadBattleTextboxAndBackground(void); +void LoadBattleEntryBackground(void); +void ApplyPlayerChosenFrameToBattleMenu(void); +bool8 LoadChosenBattleElement(u8 caseId); +void DrawMainBattleBackground(void); +void task00_0800F6FC(u8 taskId); + +enum +{ + BACK_PIC_BRENDAN, + BACK_PIC_MAY, + BACK_PIC_RED, + BACK_PIC_LEAF, + BACK_PIC_RS_BRENDAN, + BACK_PIC_RS_MAY, + BACK_PIC_WALLY, + BACK_PIC_STEVEN +}; + +// rom_80A5C6C +u8 GetBankSide(u8 bank); +u8 GetBankIdentity(u8 bank); +u8 GetBankByIdentity(u8 bank); + +struct BattleSpriteInfo +{ + u16 invisible : 1; // 0x1 + u16 lowHpSong : 1; // 0x2 + u16 behindSubstitute : 1; // 0x4 + u16 flag_x8 : 1; // 0x8 + u16 hpNumbersNoBars : 1; // 0x10 + u16 transformSpecies; +}; + +struct BattleAnimationInfo +{ + u16 animArg; // to fill up later + u8 field_2; + u8 field_3; + u8 field_4; + u8 field_5; + u8 field_6; + u8 field_7; + u8 ballThrowCaseId; + u8 field_9_x1 : 1; + u8 field_9_x2 : 1; + u8 field_9_x1C : 3; + u8 field_9_x20 : 1; + u8 field_9_x40 : 1; + u8 field_9_x80 : 1; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 field_E; + u8 field_F; +}; + +struct BattleHealthboxInfo +{ + u8 flag_x1 : 1; + u8 flag_x2 : 1; + u8 flag_x4 : 1; + u8 ballAnimActive : 1; // 0x8 + u8 statusAnimActive : 1; // x10 + u8 animFromTableActive : 1; // x20 + u8 specialAnimActive : 1; //x40 + u8 flag_x80 : 1; + u8 field_1_x1 : 1; + u8 field_1_x1E : 4; + u8 field_1_x20 : 1; + u8 field_1_x40 : 1; + u8 field_1_x80 : 1; + u8 field_2; + u8 field_3; + u8 animationState; + u8 field_5; + u8 field_6; + u8 shadowSpriteId; + u8 field_8; + u8 field_9; + u8 field_A; + u8 field_B; +}; + +struct BattleBarInfo +{ + u8 healthboxSpriteId; + s32 maxValue; + s32 currentValue; + s32 receivedValue; + s32 field_10; +}; + +struct BattleSpriteData +{ + struct BattleSpriteInfo *bankData; + struct BattleHealthboxInfo *healthBoxesData; + struct BattleAnimationInfo *animationData; + struct BattleBarInfo *battleBars; +}; + +extern struct BattleSpriteData *gBattleSpritesDataPtr; + +#define BATTLE_BUFFER_LINK_SIZE 0x1000 + +extern u8 *gLinkBattleSendBuffer; +extern u8 *gLinkBattleRecvBuffer; + +extern u8 *gUnknown_0202305C; +extern u8 *gUnknown_02023060; + +// Move this somewhere else + +#include "sprite.h" + +struct MonSpritesGfx +{ + void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon + void* sprites[4]; + struct SpriteTemplate templates[4]; + struct SpriteFrameImage field_74[4][4]; + u8 field_F4[0x80]; + u8 *barFontGfx; + void *field_178; + void *field_17C; +}; + +extern struct BattleSpritesGfx* gMonSpritesGfx; +extern u8 gBattleOutcome; +extern u16 gLastUsedItem; +extern u32 gBattleTypeFlags; +extern struct MonSpritesGfx* gMonSpritesGfxPtr; +extern u16 gTrainerBattleOpponent_A; + +#endif // GUARD_BATTLE_H diff --git a/include/battle_2.h b/include/battle_2.h new file mode 100644 index 000000000..ee61efd9b --- /dev/null +++ b/include/battle_2.h @@ -0,0 +1,55 @@ +#ifndef GUARD_BATTLE_2_H +#define GUARD_BATTLE_2_H + +void CB2_InitBattle(void); +void BattleMainCB2(void); +void CB2_QuitRecordedBattle(void); +void sub_8038528(struct Sprite* sprite); +void sub_8038A04(void); // unused +void VBlankCB_Battle(void); +void nullsub_17(void); +void sub_8038B74(struct Sprite *sprite); +void sub_8038D64(void); +u32 sub_80391E0(u8 arrayId, u8 caseId); +u32 sub_80397C4(u32 setId, u32 tableId); +void oac_poke_opponent(struct Sprite *sprite); +void SpriteCallbackDummy_2(struct Sprite *sprite); +void sub_8039934(struct Sprite *sprite); +void sub_8039AD8(struct Sprite *sprite); +void sub_8039B2C(struct Sprite *sprite); +void sub_8039B58(struct Sprite *sprite); +void sub_8039BB4(struct Sprite *sprite); +void sub_80105DC(struct Sprite *sprite); +void sub_8039C00(struct Sprite *sprite); +void dp11b_obj_instanciate(u8 bank, u8 b, s8 c, s8 d); +void dp11b_obj_free(u8 bank, bool8 b); +void sub_8039E44(struct Sprite *sprite); +void sub_8039E60(struct Sprite *sprite); +void sub_8039E84(struct Sprite *sprite); +void sub_8039E9C(struct Sprite *sprite); +void nullsub_20(void); +void BeginBattleIntro(void); +void SwitchInClearSetData(void); +void FaintClearSetData(void); +void sub_803B3AC(void); // unused +void sub_803B598(void); // unused +void BattleTurnPassed(void); +u8 IsRunningFromBattleImpossible(void); +void sub_803BDA0(u8 bank); +void SwapTurnOrder(u8 id1, u8 id2); +u8 GetWhoStrikesFirst(u8 bank1, u8 bank2, bool8 ignoreChosenMoves); +void RunBattleScriptCommands_PopCallbacksStack(void); +void RunBattleScriptCommands(void); +bool8 TryRunFromBattle(u8 bank); + +extern const u8 gStatusConditionString_PoisonJpn[8]; +extern const u8 gStatusConditionString_SleepJpn[8]; +extern const u8 gStatusConditionString_ParalysisJpn[8]; +extern const u8 gStatusConditionString_BurnJpn[8]; +extern const u8 gStatusConditionString_IceJpn[8]; +extern const u8 gStatusConditionString_ConfusionJpn[8]; +extern const u8 gStatusConditionString_LoveJpn[8]; + +extern const u8 * const gStatusConditionStringsTable[7][2]; + +#endif // GUARD_BATTLE_2_H diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h new file mode 100644 index 000000000..5fb422b41 --- /dev/null +++ b/include/battle_ai_script_commands.h @@ -0,0 +1,13 @@ +#ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H +#define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H + +void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); +void BattleAI_SetupAIData(u8 defaultScoreMoves); +u8 BattleAI_ChooseMoveOrAction(void); +void ClearBankMoveHistory(u8 bank); +void RecordAbilityBattle(u8 bank, u8 abilityId); +void ClearBankAbilityHistory(u8 bank); +void RecordItemEffectBattle(u8 bank, u8 itemEffect); +void ClearBankItemEffectHistory(u8 bank); + +#endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h new file mode 100644 index 000000000..0a230e7f6 --- /dev/null +++ b/include/battle_ai_switch_items.h @@ -0,0 +1,17 @@ +#ifndef GUARD_BATTLE_AI_SWITCH_ITEMS_H +#define GUARD_BATTLE_AI_SWITCH_ITEMS_H + +enum +{ + AI_ITEM_FULL_RESTORE = 1, + AI_ITEM_HEAL_HP, + AI_ITEM_CURE_CONDITION, + AI_ITEM_X_STAT, + AI_ITEM_GUARD_SPECS, + AI_ITEM_NOT_RECOGNIZABLE +}; + +void AI_TrySwitchOrUseItem(void); +u8 GetMostSuitableMonToSwitchInto(void); + +#endif // GUARD_BATTLE_AI_SWITCH_ITEMS_H diff --git a/include/battle_anim.h b/include/battle_anim.h new file mode 100644 index 000000000..9fb7ccd53 --- /dev/null +++ b/include/battle_anim.h @@ -0,0 +1,118 @@ +#ifndef GUARD_BATTLE_ANIM_H +#define GUARD_BATTLE_ANIM_H + +enum +{ + ANIM_BANK_ATTACKER, + ANIM_BANK_TARGET, + ANIM_BANK_ATK_PARTNER, + ANIM_BANK_DEF_PARTNER, +}; + +enum +{ + BG_ANIM_SCREEN_SIZE, + BG_ANIM_AREA_OVERFLOW_MODE, + BG_ANIM2, + BG_ANIM3, + BG_ANIM_PRIORITY, + BG_ANIM_5, + BG_ANIM_6 +}; + +struct UnknownAnimStruct2 +{ + void *unk0; + u16 *unk4; + u8 unk8; + u8 unk9; + u16 unkA; + u16 unkC; +}; + +struct BattleAnimBackground +{ + void *image; + void *palette; + void *tilemap; +}; + +#define ANIM_ARGS_COUNT 8 + +#define PAN_SIDE_PLAYER -64 +#define PAN_SIDE_OPPONENT 63 + +extern void (*gAnimScriptCallback)(void); +extern bool8 gAnimScriptActive; +extern u8 gAnimVisualTaskCount; +extern u8 gAnimSoundTaskCount; +extern struct DisableStruct *gAnimDisableStructPtr; +extern u32 gAnimMoveDmg; +extern u16 gAnimMovePower; +extern u8 gAnimFriendship; +extern u16 gWeatherMoveAnim; +extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT]; +extern u8 gAnimMoveTurn; +extern u8 gAnimBankAttacker; +extern u8 gAnimBankTarget; +extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT]; +extern u8 gUnknown_02038440; + +void ClearBattleAnimationVars(void); +void DoMoveAnim(u16 move); +void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); +void DestroyAnimSprite(struct Sprite *sprite); +void DestroyAnimVisualTask(u8 taskId); +void DestroyAnimSoundTask(u8 taskId); +bool8 IsAnimBankSpriteVisible(u8 bank); +void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible); +bool8 IsContest(void); +s8 BattleAnimAdjustPanning(s8 pan); +s8 BattleAnimAdjustPanning2(s8 pan); +s16 sub_80A52EC(s16 a); +s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan); + +// battle_anim_80FE840.s +void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value); +void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7); +void HandleIntroSlide(u8 terrainId); + +// battle_anim_80A5C6C.s +void sub_80A6EEC(struct Sprite *sprite); +void sub_80A68D4(struct Sprite *sprite); +void sub_80A6F3C(struct Sprite *sprite); +void sub_80A8278(void); +void sub_80A6B30(struct UnknownAnimStruct2*); +void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1); +u8 sub_80A82E4(u8 bank); +bool8 AnimateBallThrow(struct Sprite *sprite); + +enum +{ + BANK_X_POS, + BANK_Y_POS, +}; + +u8 GetBankPosition(u8 bank, u8 attributeId); + +bool8 IsBankSpritePresent(u8 bank); +void sub_80A6C68(u8 arg0); +u8 GetAnimBankSpriteId(u8 wantedBank); +bool8 IsDoubleBattle(void); +u8 sub_80A6D94(void); +u8 sub_80A8364(u8); +void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); +void oamt_add_pos2_onto_pos1(struct Sprite *sprite); +u8 GetBankSpriteDefault_Y(u8 bank); +u8 sub_80A82E4(u8 bank); +u8 GetSubstituteSpriteDefault_Y(u8 bank); + +// battle_anim_80A9C70.s +void LaunchStatusAnimation(u8 bank, u8 statusAnimId); + +// battle_anim_8170478.s +u8 ItemIdToBallId(u16 itemId); +u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); +u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId); + +#endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h new file mode 100644 index 000000000..c69cb1017 --- /dev/null +++ b/include/battle_controllers.h @@ -0,0 +1,278 @@ +#ifndef GUARD_BATTLE_CONTROLLERS_H +#define GUARD_BATTLE_CONTROLLERS_H + +enum +{ + REQUEST_ALL_BATTLE, + REQUEST_SPECIES_BATTLE, + REQUEST_HELDITEM_BATTLE, + REQUEST_MOVES_PP_BATTLE, + REQUEST_MOVE1_BATTLE, + REQUEST_MOVE2_BATTLE, + REQUEST_MOVE3_BATTLE, + REQUEST_MOVE4_BATTLE, + REQUEST_PP_DATA_BATTLE, + REQUEST_PPMOVE1_BATTLE, + REQUEST_PPMOVE2_BATTLE, + REQUEST_PPMOVE3_BATTLE, + REQUEST_PPMOVE4_BATTLE, + REQUEST_UNUSED_13_BATTLE, + REQUEST_UNUSED_14_BATTLE, + REQUEST_UNUSED_15_BATTLE, + REQUEST_UNUSED_16_BATTLE, + REQUEST_OTID_BATTLE, + REQUEST_EXP_BATTLE, + REQUEST_HP_EV_BATTLE, + REQUEST_ATK_EV_BATTLE, + REQUEST_DEF_EV_BATTLE, + REQUEST_SPEED_EV_BATTLE, + REQUEST_SPATK_EV_BATTLE, + REQUEST_SPDEF_EV_BATTLE, + REQUEST_FRIENDSHIP_BATTLE, + REQUEST_POKERUS_BATTLE, + REQUEST_MET_LOCATION_BATTLE, + REQUEST_MET_LEVEL_BATTLE, + REQUEST_MET_GAME_BATTLE, + REQUEST_POKEBALL_BATTLE, + REQUEST_ALL_IVS_BATTLE, + REQUEST_HP_IV_BATTLE, + REQUEST_ATK_IV_BATTLE, + REQUEST_DEF_IV_BATTLE, + REQUEST_SPEED_IV_BATTLE, + REQUEST_SPATK_IV_BATTLE, + REQUEST_SPDEF_IV_BATTLE, + REQUEST_PERSONALITY_BATTLE, + REQUEST_CHECKSUM_BATTLE, + REQUEST_STATUS_BATTLE, + REQUEST_LEVEL_BATTLE, + REQUEST_HP_BATTLE, + REQUEST_MAX_HP_BATTLE, + REQUEST_ATK_BATTLE, + REQUEST_DEF_BATTLE, + REQUEST_SPEED_BATTLE, + REQUEST_SPATK_BATTLE, + REQUEST_SPDEF_BATTLE, + REQUEST_COOL_BATTLE, + REQUEST_BEAUTY_BATTLE, + REQUEST_CUTE_BATTLE, + REQUEST_SMART_BATTLE, + REQUEST_TOUGH_BATTLE, + REQUEST_SHEEN_BATTLE, + REQUEST_COOL_RIBBON_BATTLE, + REQUEST_BEAUTY_RIBBON_BATTLE, + REQUEST_CUTE_RIBBON_BATTLE, + REQUEST_SMART_RIBBON_BATTLE, + REQUEST_TOUGH_RIBBON_BATTLE, +}; + +#define RESET_ACTION_MOVE_SELECTION 0 +#define RESET_ACTION_SELECTION 1 +#define RESET_MOVE_SELECTION 2 + +#define BALL_NO_SHAKES 0 +#define BALL_1_SHAKE 1 +#define BALL_2_SHAKES 2 +#define BALL_3_SHAKES_FAIL 3 +#define BALL_3_SHAKES_SUCCESS 4 +#define BALL_TRAINER_BLOCK 5 + +#define RET_VALUE_LEVELLED_UP 11 + +#define INSTANT_HP_BAR_DROP 32767 + +struct UnusedControllerStruct +{ + u8 field_0 : 7; + u8 flag_x80 : 1; +}; + +struct HpAndStatus +{ + u16 hp; + u32 status; +}; + +struct MovePpInfo +{ + u16 moves[4]; + u8 pp[4]; + u8 ppBonuses; +}; + +struct ChooseMoveStruct +{ + u16 moves[4]; + u8 currentPp[4]; + u8 maxPp[4]; + u16 species; + u8 monType1; + u8 monType2; +}; + +enum +{ + CONTROLLER_GETMONDATA, + CONTROLLER_GETRAWMONDATA, + CONTROLLER_SETMONDATA, + CONTROLLER_SETRAWMONDATA, + CONTROLLER_LOADMONSPRITE, + CONTROLLER_SWITCHINANIM, + CONTROLLER_RETURNMONTOBALL, + CONTROLLER_DRAWTRAINERPIC, + CONTROLLER_TRAINERSLIDE, + CONTROLLER_TRAINERSLIDEBACK, + CONTROLLER_FAINTANIMATION, + CONTROLLER_PALETTEFADE, + CONTROLLER_SUCCESSBALLTHROWANIM, + CONTROLLER_BALLTHROWANIM, + CONTROLLER_PAUSE, + CONTROLLER_MOVEANIMATION, + CONTROLLER_PRINTSTRING, + CONTROLLER_PRINTSTRINGPLAYERONLY, + CONTROLLER_CHOOSEACTION, + CONTROLLER_UNKNOWNYESNOBOX, + CONTROLLER_CHOOSEMOVE, + CONTROLLER_OPENBAG, + CONTROLLER_CHOOSEPOKEMON, + CONTROLLER_23, + CONTROLLER_HEALTHBARUPDATE, + CONTROLLER_EXPUPDATE, + CONTROLLER_STATUSICONUPDATE, + CONTROLLER_STATUSANIMATION, + CONTROLLER_STATUSXOR, + CONTROLLER_DATATRANSFER, + CONTROLLER_DMA3TRANSFER, + CONTROLLER_31, + CONTROLLER_32, + CONTROLLER_TWORETURNVALUES, + CONTROLLER_CHOSENMONRETURNVALUE, + CONTROLLER_ONERETURNVALUE, + CONTROLLER_ONERETURNVALUE_DUPLICATE, + CONTROLLER_37, + CONTROLLER_38, + CONTROLLER_39, + CONTROLLER_40, + CONTROLLER_HITANIMATION, + CONTROLLER_42, + CONTROLLER_EFFECTIVENESSSOUND, + CONTROLLER_PLAYFANFAREORBGM, + CONTROLLER_FAINTINGCRY, + CONTROLLER_INTROSLIDE, + CONTROLLER_INTROTRAINERBALLTHROW, + CONTROLLER_DRAWPARTYSTATUSSUMMARY, + CONTROLLER_49, + CONTROLLER_50, + CONTROLLER_SPRITEINVISIBILITY, + CONTROLLER_BATTLEANIMATION, + CONTROLLER_LINKSTANDBYMSG, + CONTROLLER_RESETACTIONMOVESELECTION, + CONTROLLER_55, + /*new controllers should go here*/ + CONTROLLER_TERMINATOR_NOP, + CONTROLLER_CMDS_COUNT +}; + + +// general functions +void HandleLinkBattleSetup(void); +void SetUpBattleVarsAndBirchZigzagoon(void); +void sub_8032768(void); +void sub_8033648(void); +void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data); + +// emitters +void EmitGetMonData(u8 bufferId, u8 requestId, u8 monToCheck); +void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused +void EmitSetMonData(u8 bufferId, u8 requestId, u8 monToCheck, u8 bytes, void *data); +void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused +void EmitLoadMonSprite(u8 bufferId); +void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit); +void EmitReturnMonToBall(u8 bufferId, u8 arg1); +void EmitDrawTrainerPic(u8 bufferId); +void EmitTrainerSlide(u8 bufferId); +void EmitTrainerSlideBack(u8 bufferId); +void EmitFaintAnimation(u8 bufferId); +void EmitPaletteFade(u8 bufferId); // unused +void EmitSuccessBallThrowAnim(u8 bufferId); // unused +void EmitBallThrowAnim(u8 bufferId, u8 caseId); +void EmitPause(u8 bufferId, u8 toWait, void *data); // unused +void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); +void EmitPrintString(u8 bufferId, u16 stringId); +void EmitPrintSelectionString(u8 bufferId, u16 stringId); +void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2); +void EmitUnknownYesNoBox(u8 bufferId); +void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); +void EmitChooseItem(u8 bufferId, u8* arg1); +void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4); +void EmitCmd23(u8 bufferId); // unused +void EmitHealthBarUpdate(u8 bufferId, u16 hpValue); +void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints); +void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2); +void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status); +void EmitStatusXor(u8 bufferId, u8 b); // unused +void EmitDataTransfer(u8 bufferId, u16 size, void *data); +void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused +void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused +void EmitCmd32(u8 bufferId, u16 size, void *c); // unused +void EmitTwoReturnValues(u8 bufferId, u8 arg1, u16 arg2); +void EmitChosenMonReturnValue(u8 bufferId, u8 b, u8 *c); +void EmitOneReturnValue(u8 bufferId, u16 arg1); +void EmitOneReturnValue_Duplicate(u8 bufferId, u16 b); +void EmitCmd37(u8 bufferId); // unused +void EmitCmd38(u8 bufferId, u8 b); // unused +void EmitCmd39(u8 bufferId); // unused +void EmitCmd40(u8 bufferId); // unused +void EmitHitAnimation(u8 bufferId); +void EmitCmd42(u8 bufferId); +void EmitPlaySE(u8 bufferId, u16 songId); +void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM); +void EmitFaintingCry(u8 bufferId); +void EmitIntroSlide(u8 bufferId, u8 terrainId); +void EmitIntroTrainerBallThrow(u8 bufferId); +void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2); +void EmitCmd49(u8 bufferId); +void EmitCmd50(u8 bufferId); +void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible); +void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument); +void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2); +void EmitResetActionMoveSelection(u8 bufferId, u8 caseId); +void EmitCmd55(u8 bufferId, u8 arg1); + +// player controller +void SetControllerToPlayer(void); +void nullsub_21(void); +void PlayerHandleGetRawMonData(void); +void sub_80587B0(void); +void sub_805CC00(struct Sprite *sprite); +void SetCB2ToReshowScreenAfterMenu(void); +void SetCB2ToReshowScreenAfterMenu2(void); +void c3_0802FDF4(u8 taskId); +void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); +void ActionSelectionDestroyCursorAt(u8 cursorPos); +void InitMoveSelectionsVarsAndStrings(void); + +// recorded player controller +void SetControllerToRecordedPlayer(void); + +// opponent controller +void SetControllerToOpponent(void); + +// player partner controller +void SetControllerToPlayerPartner(void); + +// safari controller +void SetControllerToSafari(void); + +// wally controller +void SetControllerToWally(void); + +// recorded opponent controller +void SetControllerToRecordedOpponent(void); + +// link opponent +void SetControllerToLinkOpponent(void); + +// link partner +void SetControllerToLinkPartner(void); + +#endif // GUARD_BATTLE_CONTROLLERS_H diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h new file mode 100644 index 000000000..a0696d156 --- /dev/null +++ b/include/battle_dome_cards.h @@ -0,0 +1,13 @@ +#ifndef GUARD_BATTLE_DOME_CARDS_H +#define GUARD_BATTLE_DOME_CARDS_H + +bool16 dp13_810BB8C(void); +u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 sub_818D820(u16 spriteId); +u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); +u16 sub_818D8F0(u16 spriteId); +u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); +u8 sub_818D97C(u8 a0, u8 a1); + +#endif //GUARD_BATTLE_DOME_CARDS_H diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h new file mode 100644 index 000000000..313a29811 --- /dev/null +++ b/include/battle_gfx_sfx_util.h @@ -0,0 +1,50 @@ +#ifndef GUARD_BATTLE_GFX_SFX_UTIL +#define GUARD_BATTLE_GFX_SFX_UTIL + +void AllocateBattleSpritesData(void); +void FreeBattleSpritesData(void); +u16 ChooseMoveAndTargetInBattlePalace(void); +void sub_805D714(struct Sprite *sprite); +void sub_805D770(struct Sprite *sprite, bool8 arg1); +void sub_805D7AC(struct Sprite *sprite); +void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId); +bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); +bool8 mplay_80342A4(u8 bank); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); +void nullsub_23(void); +void nullsub_24(u16 species); +void DecompressTrainerFrontPic(u16 frontPicId, u8 bank); +void DecompressTrainerBackPic(u16 backPicId, u8 bank); +void nullsub_25(u8 arg0); +void FreeTrainerFrontPicPalette(u16 frontPicId); +void sub_805DFFC(void); +bool8 BattleLoadAllHealthBoxesGfx(u8 state); +void LoadBattleBarGfx(u8 arg0); +bool8 BattleInitAllSprites(u8 *state1, u8 *bank); +void ClearSpritesHealthboxAnimData(void); +void CopyAllBattleSpritesInvisibilities(void); +void CopyBattleSpriteInvisibility(u8 bank); +void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform); +void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move); +void ClearBehindSubstituteBit(u8 bank); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank); +void BattleStopLowHpSound(void); +u8 GetMonHPBarLevel(struct Pokemon *mon); +void sub_805EAE8(void); +void sub_805EB9C(u8 affineMode); +void LoadAndCreateEnemyShadowSprites(void); +void SpriteCB_SetInvisible(struct Sprite *sprite); +void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); +void EnemyShadowCallbackToSetInvisible(u8 bank); +void sub_805EF14(void); +void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute); +void AllocateMonSpritesGfx(void); +void FreeMonSpritesGfx(void); +bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon); + +#endif // GUARD_BATTLE_GFX_SFX_UTIL diff --git a/include/battle_interface.h b/include/battle_interface.h new file mode 100644 index 000000000..b2d3b1b97 --- /dev/null +++ b/include/battle_interface.h @@ -0,0 +1,75 @@ +#ifndef GUARD_BATTLE_INTERFACE_H +#define GUARD_BATTLE_INTERFACE_H + +#include "battle_controllers.h" + +enum +{ + HP_CURRENT, + HP_MAX +}; + +enum +{ + HEALTH_BAR, + EXP_BAR +}; + +enum +{ + HP_BAR_EMPTY, + HP_BAR_RED, + HP_BAR_YELLOW, + HP_BAR_GREEN, + HP_BAR_FULL, +}; + +#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF +#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700 +#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 +#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702 + +#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B + +#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C +#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714 + +#define TAG_HEALTHBOX_PAL 0xD6FF +#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710 +#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712 + +enum +{ + HEALTHBOX_ALL, + HEALTHBOX_CURRENT_HP, + HEALTHBOX_MAX_HP, + HEALTHBOX_LEVEL, + HEALTHBOX_NICK, + HEALTHBOX_HEALTH_BAR, + HEALTHBOX_EXP_BAR, + HEALTHBOX_UNUSED_7, + HEALTHBOX_UNUSED_8, + HEALTHBOX_STATUS_ICON, + HEALTHBOX_SAFARI_ALL_TEXT, + HEALTHBOX_SAFARI_BALLS_TEXT +}; + +u8 CreateBankHealthboxSprites(u8 bank); +u8 CreateSafariPlayerHealthboxSprites(void); +void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue); +void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); +void SetHealthboxSpriteVisible(u8 healthboxSpriteId); +void DestoryHealthboxSprite(u8 healthboxSpriteId); +void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); +void UpdateOamPriorityInAllHealthboxes(u8 priority); +void SetBankHealthboxSpritePos(u8 bank); +void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent); +void SwapHpBarsWithHpText(void); +u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart); +void sub_8073C30(u8 taskId); +void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); +s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3); +u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale); +u8 GetHPBarLevel(s16 hp, s16 maxhp); + +#endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/battle_message.h b/include/battle_message.h new file mode 100644 index 000000000..30ddca469 --- /dev/null +++ b/include/battle_message.h @@ -0,0 +1,235 @@ +#ifndef GUARD_BATTLE_MESSAGE_H +#define GUARD_BATTLE_MESSAGE_H + +// for 0xFD + +#define B_TXT_BUFF1 0x0 +#define B_TXT_BUFF2 0x1 +#define B_TXT_COPY_VAR_1 0x2 +#define B_TXT_COPY_VAR_2 0x3 +#define B_TXT_COPY_VAR_3 0x4 +#define B_TXT_PLAYER_MON1_NAME 0x5 +#define B_TXT_OPPONENT_MON1_NAME 0x6 +#define B_TXT_PLAYER_MON2_NAME 0x7 +#define B_TXT_OPPONENT_MON2_NAME 0x8 +#define B_TXT_LINK_PLAYER_MON1_NAME 0x9 +#define B_TXT_LINK_OPPONENT_MON1_NAME 0xA +#define B_TXT_LINK_PLAYER_MON2_NAME 0xB +#define B_TXT_LINK_OPPONENT_MON2_NAME 0xC +#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0xD +#define B_TXT_ATK_PARTNER_NAME 0xE +#define B_TXT_ATK_NAME_WITH_PREFIX 0xF +#define B_TXT_DEF_NAME_WITH_PREFIX 0x10 +#define B_TXT_EFF_NAME_WITH_PREFIX 0x11 // EFF = short for gEffectBank +#define B_TXT_ACTIVE_NAME_WITH_PREFIX 0x12 +#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x13 +#define B_TXT_CURRENT_MOVE 0x14 +#define B_TXT_LAST_MOVE 0x15 +#define B_TXT_LAST_ITEM 0x16 +#define B_TXT_LAST_ABILITY 0x17 +#define B_TXT_ATK_ABILITY 0x18 +#define B_TXT_DEF_ABILITY 0x19 +#define B_TXT_SCR_ACTIVE_ABILITY 0x1A +#define B_TXT_EFF_ABILITY 0x1B +#define B_TXT_TRAINER1_CLASS 0x1C +#define B_TXT_TRAINER1_NAME 0x1D +#define B_TXT_1E 0x1E // trainer name for a link player +#define B_TXT_1F 0x1F // trainer name for a link player +#define B_TXT_20 0x20 // trainer name for a link player +#define B_TXT_21 0x21 // trainer name for a link player +#define B_TXT_22 0x22 // trainer name for a link player +#define B_TXT_PLAYER_NAME 0x23 +#define B_TXT_TRAINER1_LOSE_TEXT 0x24 +#define B_TXT_TRAINER1_WIN_TEXT 0x25 +#define B_TXT_26 0x26 +#define B_TXT_PC_CREATOR_NAME 0x27 +#define B_TXT_ATK_PREFIX1 0x28 +#define B_TXT_DEF_PREFIX1 0x29 +#define B_TXT_ATK_PREFIX2 0x2A +#define B_TXT_DEF_PREFIX2 0x2B +#define B_TXT_ATK_PREFIX3 0x2C +#define B_TXT_DEF_PREFIX3 0x2D +#define B_TXT_TRAINER2_CLASS 0x2E +#define B_TXT_TRAINER2_NAME 0x2F +#define B_TXT_TRAINER2_LOSE_TEXT 0x30 +#define B_TXT_TRAINER2_WIN_TEXT 0x31 +#define B_TXT_PARTNER_CLASS 0x32 +#define B_TXT_PARTNER_NAME 0x33 +#define B_TXT_BUFF3 0x34 + +// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3 + +#define B_BUFF_STRING 0 +#define B_BUFF_NUMBER 1 +#define B_BUFF_MOVE 2 +#define B_BUFF_TYPE 3 +#define B_BUFF_MON_NICK_WITH_PREFIX 4 +#define B_BUFF_STAT 5 +#define B_BUFF_SPECIES 6 +#define B_BUFF_MON_NICK 7 +#define B_BUFF_NEGATIVE_FLAVOR 8 +#define B_BUFF_ABILITY 9 +#define B_BUFF_ITEM 10 + +#define B_BUFF_PLACEHOLDER_BEGIN 0xFD +#define B_BUFF_EOS 0xFF + +#define PREPARE_FLAVOR_BUFFER(textVar, flavorId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NEGATIVE_FLAVOR; \ + textVar[2] = flavorId; \ + textVar[3] = B_BUFF_EOS; \ +} + +#define PREPARE_STAT_BUFFER(textVar, statId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_STAT; \ + textVar[2] = statId; \ + textVar[3] = B_BUFF_EOS; \ +} + +#define PREPARE_ABILITY_BUFFER(textVar, abilityId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_ABILITY; \ + textVar[2] = abilityId; \ + textVar[3] = B_BUFF_EOS; \ +} + +#define PREPARE_TYPE_BUFFER(textVar, typeId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_TYPE; \ + textVar[2] = typeId; \ + textVar[3] = B_BUFF_EOS; \ +} + +#define PREPARE_BYTE_NUMBER_BUFFER(textVar, maxDigits, number) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NUMBER; \ + textVar[2] = 1; \ + textVar[3] = maxDigits; \ + textVar[4] = (number); \ + textVar[5] = B_BUFF_EOS; \ +} + +#define PREPARE_HWORD_NUMBER_BUFFER(textVar, maxDigits, number) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NUMBER; \ + textVar[2] = 2; \ + textVar[3] = maxDigits; \ + textVar[4] = (number); \ + textVar[5] = (number & 0x0000FF00) >> 8; \ + textVar[6] = B_BUFF_EOS; \ +} + +#define PREPARE_WORD_NUMBER_BUFFER(textVar, maxDigits, number) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_NUMBER; \ + textVar[2] = 4; \ + textVar[3] = maxDigits; \ + textVar[4] = (number); \ + textVar[5] = (number & 0x0000FF00) >> 8; \ + textVar[6] = (number & 0x00FF0000) >> 16; \ + textVar[7] = (number & 0xFF000000) >> 24; \ + textVar[8] = B_BUFF_EOS; \ +} + +#define PREPARE_STRING_BUFFER(textVar, stringId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_STRING; \ + textVar[2] = stringId; \ + textVar[3] = (stringId & 0xFF00) >> 8; \ + textVar[4] = B_BUFF_EOS; \ +} + +#define PREPARE_MOVE_BUFFER(textVar, move) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_MOVE; \ + textVar[2] = move; \ + textVar[3] = (move & 0xFF00) >> 8; \ + textVar[4] = B_BUFF_EOS; \ +} + +#define PREPARE_ITEM_BUFFER(textVar, item) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_ITEM; \ + textVar[2] = item; \ + textVar[3] = (item & 0xFF00) >> 8; \ + textVar[4] = B_BUFF_EOS; \ +} + +#define PREPARE_SPECIES_BUFFER(textVar, species) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_SPECIES; \ + textVar[2] = species; \ + textVar[3] = (species & 0xFF00) >> 8; \ + textVar[4] = B_BUFF_EOS; \ +} + +#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, bank, partyId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX; \ + textVar[2] = bank; \ + textVar[3] = partyId; \ + textVar[4] = B_BUFF_EOS; \ +} + +#define PREPARE_MON_NICK_BUFFER(textVar, bank, partyId) \ +{ \ + textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \ + textVar[1] = B_BUFF_MON_NICK; \ + textVar[2] = bank; \ + textVar[3] = partyId; \ + textVar[4] = B_BUFF_EOS; \ +} + +struct StringInfoBattle +{ + u16 currentMove; + u16 originallyUsedMove; + u16 lastItem; + u8 lastAbility; + u8 scrActive; + u8 unk1605E; + u8 hpScale; + u8 StringBank; + u8 moveType; + u8 abilities[4]; + u8 textBuffs[3][0x10]; +}; + +void BufferStringBattle(u16 stringID); +u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src); +u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); +void BattleHandleAddTextPrinter(const u8* text, u8 arg1); +void SetPpNumbersPaletteInMoveSelection(void); +u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp); + +#define TEXT_BUFF_ARRAY_COUNT 16 + +extern u8 gDisplayedStringBattle[300]; +extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT]; +extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT]; +extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT]; + +extern const u8* const gBattleStringsTable[]; +extern const u8* const gStatNamesTable[]; +extern const u8* const gPokeblockWasTooXStringTable[]; +extern const u8* const gRefereeStringsTable[]; +extern const u8* const gStatNamesTable2[]; + +extern const u16 gMissStringIds[]; +extern const u16 gTrappingMoves[]; + +#endif // GUARD_BATTLE_MESSAGE_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h new file mode 100644 index 000000000..80fabaa64 --- /dev/null +++ b/include/battle_script_commands.h @@ -0,0 +1,66 @@ +#ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H +#define GUARD_BATTLE_SCRIPT_COMMANDS_H + +#define NO_ACC_CALC 0xFFFE +#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF +#define ACC_CURR_MOVE 0 + +#define CMP_EQUAL 0x0 +#define CMP_NOT_EQUAL 0x1 +#define CMP_GREATER_THAN 0x2 +#define CMP_LESS_THAN 0x3 +#define CMP_COMMON_BITS 0x4 +#define CMP_NO_COMMON_BITS 0x5 + +#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update +#define BS_GET_ATTACKER_SIDE 8 // for atk1E_jumpifability +#define BS_GET_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability + +#define ATK48_STAT_NEGATIVE 0x1 +#define ATK48_STAT_BY_TWO 0x2 +#define ATK48_BIT_x4 0x4 +#define ATK48_LOWER_FAIL_CHECK 0x8 + +#define ATK4F_DONT_CHECK_STATUSES 0x80 + +#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0 +#define VARIOUS_SET_MAGIC_COAT_TARGET 1 +#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 +#define VARIOUS_GET_MOVE_TARGET 3 +#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 +#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 +#define VARIOUS_EMIT_YESNOBOX 13 +#define VARIOUS_WAIT_CRY 18 +#define VARIOUS_RETURN_OPPONENT_MON1 19 +#define VARIOUS_RETURN_OPPONENT_MON2 20 +#define VARIOUS_SET_TELEPORT_OUTCOME 25 +#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26 + +#define ATK80_DMG_CHANGE_SIGN 0 +#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1 +#define ATK80_DMG_DOUBLED 2 + +#define STAT_CHANGE_BS_PTR 0x1 +#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20 + +#define STAT_CHANGE_WORKED 0 +#define STAT_CHANGE_DIDNT_WORK 1 + +#define WINDOW_CLEAR 0x1 +#define WINDOW_x80 0x80 + +void AI_CalcDmg(u8 bankAtk, u8 bankDef); +u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef); +u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); +u8 BankGetTurnOrder(u8 bank); +void SetMoveEffect(bool8 primary, u8 certain); +void BattleDestroyYesNoCursorAt(u8 cursorPosition); +void BattleCreateYesNoCursorAt(u8 cursorPosition); +void BufferMoveToLearnIntoBattleTextBuff2(void); +void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); +bool8 UproarWakeUpCheck(u8 bank); + +extern void (* const gBattleScriptingCommandsTable[])(void); +extern const u8 gUnknown_0831C494[][4]; + +#endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_scripts.h b/include/battle_scripts.h new file mode 100644 index 000000000..2e31a37c5 --- /dev/null +++ b/include/battle_scripts.h @@ -0,0 +1,290 @@ +#ifndef GUARD_BATTLE_SCRIPTS_H +#define GUARD_BATTLE_SCRIPTS_H + +extern const u8 BattleScript_HitFromCritCalc[]; +extern const u8 BattleScript_MoveEnd[]; +extern const u8 BattleScript_MakeMoveMissed[]; +extern const u8 BattleScript_PrintMoveMissed[]; +extern const u8 BattleScript_MoveMissedPause[]; +extern const u8 BattleScript_MoveMissed[]; +extern const u8 BattleScript_ButItFailed[]; +extern const u8 BattleScript_StatUp[]; +extern const u8 BattleScript_StatDown[]; +extern const u8 BattleScript_AlreadyAtFullHp[]; +extern const u8 BattleScript_PresentHealTarget[]; +extern const u8 BattleScript_MoveUsedMustRecharge[]; +extern const u8 BattleScript_FaintAttacker[]; +extern const u8 BattleScript_FaintTarget[]; +extern const u8 BattleScript_GiveExp[]; +extern const u8 BattleScript_HandleFaintedMon[]; +extern const u8 BattleScript_LocalTrainerBattleWon[]; +extern const u8 BattleScript_LocalTwoTrainersDefeated[]; +extern const u8 BattleScript_LocalBattleWonLoseTexts[]; +extern const u8 BattleScript_LocalBattleWonReward[]; +extern const u8 BattleScript_PayDayMoneyAndPickUpItems[]; +extern const u8 BattleScript_LocalBattleLost[]; +extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[]; +extern const u8 BattleScript_LocalBattleLostEnd[]; +extern const u8 BattleScript_CheckDomeDrew[]; +extern const u8 BattleScript_82DAA0B[]; +extern const u8 BattleScript_82DAA31[]; +extern const u8 BattleScript_LinkBattleWonOrLost[]; +extern const u8 BattleScript_82DAA5C[]; +extern const u8 BattleScript_82DAA83[]; +extern const u8 BattleScript_FrontierTrainerBattleWon[]; +extern const u8 BattleScript_82DAAAB[]; +extern const u8 BattleScript_82DAAAE[]; +extern const u8 BattleScript_82DAACB[]; +extern const u8 BattleScript_82DAADA[]; +extern const u8 BattleScript_SmokeBallEscape[]; +extern const u8 BattleScript_RanAwayUsingMonAbility[]; +extern const u8 BattleScript_GotAwaySafely[]; +extern const u8 BattleScript_WildMonFled[]; +extern const u8 BattleScript_PrintCantRunFromTrainer[]; +extern const u8 BattleScript_PrintFailedToRunString[]; +extern const u8 BattleScript_PrintCantEscapeFromBattle[]; +extern const u8 BattleScript_PrintFullBox[]; +extern const u8 BattleScript_ActionSwitch[]; +extern const u8 BattleScript_82DAB35[]; +extern const u8 BattleScript_82DAB37[]; +extern const u8 BattleScript_82DAB44[]; +extern const u8 BattleScript_82DAB77[]; +extern const u8 BattleScript_82DABB8[]; +extern const u8 BattleScript_Pausex20[]; +extern const u8 BattleScript_LevelUp[]; +extern const u8 BattleScript_RainContinuesOrEnds[]; +extern const u8 BattleScript_DamagingWeatherContinues[]; +extern const u8 BattleScript_SandStormHailEnds[]; +extern const u8 BattleScript_SunlightContinues[]; +extern const u8 BattleScript_SunlightFaded[]; +extern const u8 BattleScript_OverworldWeatherStarts[]; +extern const u8 BattleScript_SideStatusWoreOff[]; +extern const u8 BattleScript_SafeguardProtected[]; +extern const u8 BattleScript_SafeguardEnds[]; +extern const u8 BattleScript_LeechSeedTurnDrain[]; +extern const u8 BattleScript_82DAD47[]; +extern const u8 BattleScript_82DAD4D[]; +extern const u8 BattleScript_BideStoringEnergy[]; +extern const u8 BattleScript_BideAttack[]; +extern const u8 BattleScript_BideNoEnergyToAttack[]; +extern const u8 BattleScript_SuccessForceOut[]; +extern const u8 BattleScript_82DADF1[]; +extern const u8 BattleScript_MistProtected[]; +extern const u8 BattleScript_RageIsBuilding[]; +extern const u8 BattleScript_MoveUsedIsDisabled[]; +extern const u8 BattleScript_SelectingDisabledMove[]; +extern const u8 BattleScript_DisabledNoMore[]; +extern const u8 BattleScript_SelectingDisabledMoveInPalace[]; +extern const u8 BattleScript_SelectingUnusableMoveInPalace[]; +extern const u8 BattleScript_EncoredNoMore[]; +extern const u8 BattleScript_DestinyBondTakesLife[]; +extern const u8 BattleScript_SpikesOnAttacker[]; +extern const u8 BattleScript_82DAE7A[]; +extern const u8 BattleScript_SpikesOnTarget[]; +extern const u8 BattleScript_82DAEB1[]; +extern const u8 BattleScript_SpikesOngBank1[]; +extern const u8 BattleScript_82DAEE8[]; +extern const u8 BattleScript_82DAEFE[]; +extern const u8 BattleScript_PerishSongTakesLife[]; +extern const u8 BattleScript_PerishSongCountGoesDown[]; +extern const u8 BattleScript_AllStatsUp[]; +extern const u8 BattleScript_82DAF54[]; +extern const u8 BattleScript_82DAF72[]; +extern const u8 BattleScript_82DAF86[]; +extern const u8 BattleScript_82DAF9A[]; +extern const u8 BattleScript_82DAFAE[]; +extern const u8 BattleScript_82DAFC2[]; +extern const u8 BattleScript_RapidSpinAway[]; +extern const u8 BattleScript_WrapFree[]; +extern const u8 BattleScript_LeechSeedFree[]; +extern const u8 BattleScript_SpikesFree[]; +extern const u8 BattleScript_MonTookFutureAttack[]; +extern const u8 BattleScript_82DB001[]; +extern const u8 BattleScript_82DB008[]; +extern const u8 BattleScript_82DB020[]; +extern const u8 BattleScript_82DB027[]; +extern const u8 BattleScript_82DB03F[]; +extern const u8 BattleScript_82DB058[]; +extern const u8 BattleScript_NoMovesLeft[]; +extern const u8 BattleScript_SelectingMoveWithNoPP[]; +extern const u8 BattleScript_NoPPForMove[]; +extern const u8 BattleScript_SelectingTormentedMove[]; +extern const u8 BattleScript_MoveUsedIsTormented[]; +extern const u8 BattleScript_SelectingTormentedMoveInPalace[]; +extern const u8 BattleScript_SelectingNotAllowedMoveTaunt[]; +extern const u8 BattleScript_MoveUsedIsTaunted[]; +extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[]; +extern const u8 BattleScript_WishComesTrue[]; +extern const u8 BattleScript_IngrainTurnHeal[]; +extern const u8 BattleScript_AtkDefDown[]; +extern const u8 BattleScript_82DB144[]; +extern const u8 BattleScript_82DB167[]; +extern const u8 BattleScript_KnockedOff[]; +extern const u8 BattleScript_MoveUsedIsImprisoned[]; +extern const u8 BattleScript_SelectingImprisionedMove[]; +extern const u8 BattleScript_SelectingImprisionedMoveInPalace[]; +extern const u8 BattleScript_GrudgeTakesPp[]; +extern const u8 BattleScript_MagicCoatBounce[]; +extern const u8 BattleScript_SnatchedMove[]; +extern const u8 BattleScript_EnduredMsg[]; +extern const u8 BattleScript_OneHitKOMsg[]; +extern const u8 BattleScript_SAtkDown2[]; +extern const u8 BattleScript_82DB1FE[]; +extern const u8 BattleScript_FocusPunchSetUp[]; +extern const u8 BattleScript_MoveUsedIsAsleep[]; +extern const u8 BattleScript_MoveUsedWokeUp[]; +extern const u8 BattleScript_MonWokeUpInUproar[]; +extern const u8 BattleScript_PoisonTurnDmg[]; +extern const u8 BattleScript_82DB243[]; +extern const u8 BattleScript_82DB245[]; +extern const u8 BattleScript_82DB25E[]; +extern const u8 BattleScript_BurnTurnDmg[]; +extern const u8 BattleScript_MoveUsedIsFrozen[]; +extern const u8 BattleScript_MoveUsedUnfroze[]; +extern const u8 BattleScript_DefrostedViaFireMove[]; +extern const u8 BattleScript_MoveUsedIsParalyzed[]; +extern const u8 BattleScript_MoveUsedFlinched[]; +extern const u8 BattleScript_PrintUproarOverTurns[]; +extern const u8 BattleScript_ThrashConfuses[]; +extern const u8 BattleScript_MoveUsedIsConfused[]; +extern const u8 BattleScript_82DB2D4[]; +extern const u8 BattleScript_82DB2FF[]; +extern const u8 BattleScript_MoveUsedIsConfusedNoMore[]; +extern const u8 BattleScript_PrintPayDayMoneyString[]; +extern const u8 BattleScript_WrapTurnDmg[]; +extern const u8 BattleScript_WrapEnds[]; +extern const u8 BattleScript_MoveUsedIsInLove[]; +extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[]; +extern const u8 BattleScript_NightmareTurnDmg[]; +extern const u8 BattleScript_CurseTurnDmg[]; +extern const u8 BattleScript_TargetPRLZHeal[]; +extern const u8 BattleScript_MoveEffectSleep[]; +extern const u8 BattleScript_82DB374[]; +extern const u8 BattleScript_YawnMakesAsleep[]; +extern const u8 BattleScript_MoveEffectPoison[]; +extern const u8 BattleScript_MoveEffectBurn[]; +extern const u8 BattleScript_MoveEffectFreeze[]; +extern const u8 BattleScript_MoveEffectParalysis[]; +extern const u8 BattleScript_MoveEffectUproar[]; +extern const u8 BattleScript_MoveEffectToxic[]; +extern const u8 BattleScript_MoveEffectPayDay[]; +extern const u8 BattleScript_MoveEffectWrap[]; +extern const u8 BattleScript_MoveEffectConfusion[]; +extern const u8 BattleScript_MoveEffectRecoil33[]; +extern const u8 BattleScript_DoRecoil33[]; +extern const u8 BattleScript_Recoil33End[]; +extern const u8 BattleScript_ItemSteal[]; +extern const u8 BattleScript_DrizzleActivates[]; +extern const u8 BattleScript_SpeedBoostActivates[]; +extern const u8 BattleScript_TraceActivates[]; +extern const u8 BattleScript_RainDishActivates[]; +extern const u8 BattleScript_SandstreamActivates[]; +extern const u8 BattleScript_ShedSkinActivates[]; +extern const u8 BattleScript_WeatherFormChanges[]; +extern const u8 BattleScript_WeatherFormChangesLoop[]; +extern const u8 BattleScript_CastformChange[]; +extern const u8 BattleScript_82DB4AF[]; +extern const u8 BattleScript_82DB4B8[]; +extern const u8 BattleScript_82DB4BE[]; +extern const u8 BattleScript_82DB4C1[]; +extern const u8 BattleScript_82DB4CD[]; +extern const u8 BattleScript_82DB510[]; +extern const u8 BattleScript_82DB51B[]; +extern const u8 BattleScript_82DB51C[]; +extern const u8 BattleScript_DroughtActivates[]; +extern const u8 BattleScript_TookAttack[]; +extern const u8 BattleScript_SturdyPreventsOHKO[]; +extern const u8 BattleScript_DampStopsExplosion[]; +extern const u8 BattleScript_MoveHPDrain_PPLoss[]; +extern const u8 BattleScript_MoveHPDrain[]; +extern const u8 BattleScript_MonMadeMoveUseless_PPLoss[]; +extern const u8 BattleScript_MonMadeMoveUseless[]; +extern const u8 BattleScript_FlashFireBoost_PPLoss[]; +extern const u8 BattleScript_FlashFireBoost[]; +extern const u8 BattleScript_AbilityNoStatLoss[]; +extern const u8 BattleScript_BRNPrevention[]; +extern const u8 BattleScript_PRLZPrevention[]; +extern const u8 BattleScript_PSNPrevention[]; +extern const u8 BattleScript_ObliviousPreventsAttraction[]; +extern const u8 BattleScript_FlinchPrevention[]; +extern const u8 BattleScript_OwnTempoPrevents[]; +extern const u8 BattleScript_SoundproofProtected[]; +extern const u8 BattleScript_AbilityNoSpecificStatLoss[]; +extern const u8 BattleScript_StickyHoldActivates[]; +extern const u8 BattleScript_ColorChangeActivates[]; +extern const u8 BattleScript_RoughSkinActivates[]; +extern const u8 BattleScript_CuteCharmActivates[]; +extern const u8 BattleScript_ApplySecondaryEffect[]; +extern const u8 BattleScript_SynchronizeActivates[]; +extern const u8 BattleScript_NoItemSteal[]; +extern const u8 BattleScript_AbilityCuredStatus[]; +extern const u8 BattleScript_82DB695[]; +extern const u8 BattleScript_IgnoresAndUsesRandomMove[]; +extern const u8 BattleScript_MoveUsedLoafingAround[]; +extern const u8 BattleScript_82DB6C7[]; +extern const u8 BattleScript_IgnoresAndFallsAsleep[]; +extern const u8 BattleScript_82DB6F0[]; +extern const u8 BattleScript_SubstituteFade[]; +extern const u8 BattleScript_BerryCurePrlzEnd2[]; +extern const u8 BattleScript_BerryCureParRet[]; +extern const u8 BattleScript_BerryCurePsnEnd2[]; +extern const u8 BattleScript_BerryCurePsnRet[]; +extern const u8 BattleScript_BerryCureBrnEnd2[]; +extern const u8 BattleScript_BerryCureBrnRet[]; +extern const u8 BattleScript_BerryCureFrzEnd2[]; +extern const u8 BattleScript_BerryCureFrzRet[]; +extern const u8 BattleScript_BerryCureSlpEnd2[]; +extern const u8 BattleScript_BerryCureSlpRet[]; +extern const u8 BattleScript_BerryCureConfusionEnd2[]; +extern const u8 BattleScript_BerryCureConfusionRet[]; +extern const u8 BattleScript_BerryCureChosenStatusEnd2[]; +extern const u8 BattleScript_BerryCureChosenStatusRet[]; +extern const u8 BattleScript_WhiteHerbEnd2[]; +extern const u8 BattleScript_WhiteHerbRet[]; +extern const u8 BattleScript_ItemHealHP_RemoveItem[]; +extern const u8 BattleScript_BerryPPHealEnd2[]; +extern const u8 BattleScript_ItemHealHP_End2[]; +extern const u8 BattleScript_ItemHealHP_Ret[]; +extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[]; +extern const u8 BattleScript_HangedOnMsg[]; +extern const u8 BattleScript_BerryConfuseHealEnd2[]; +extern const u8 BattleScript_BerryStatRaiseEnd2[]; +extern const u8 BattleScript_82DB85B[]; +extern const u8 BattleScript_BerryFocusEnergyEnd2[]; +extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[]; +extern const u8 BattleScript_82DB87D[]; +extern const u8 BattleScript_82DB881[]; +extern const u8 BattleScript_82DB887[]; +extern const u8 BattleScript_82DB89D[]; +extern const u8 BattleScript_82DB8BE[]; +extern const u8 BattleScript_82DB8E0[]; +extern const u8 BattleScript_82DB8F3[]; +extern const u8 BattleScript_82DB973[]; +extern const u8 BattleScript_82DB992[]; +extern const u8 BattleScript_AskIfWantsToForfeitMatch[]; +extern const u8 BattleScript_PrintPlayerForfeited[]; +extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[]; +extern const u8 BattleScript_BallThrow[]; +extern const u8 BattleScript_BallThrowByWally[]; +extern const u8 BattleScript_SafariBallThrow[]; +extern const u8 BattleScript_SuccessBallThrow[]; +extern const u8 BattleScript_82DBD92[]; +extern const u8 BattleScript_82DBDA5[]; +extern const u8 BattleScript_82DBDC2[]; +extern const u8 BattleScript_82DBDC3[]; +extern const u8 BattleScript_WallyBallThrow[]; +extern const u8 BattleScript_ShakeBallThrow[]; +extern const u8 BattleScript_82DBE01[]; +extern const u8 BattleScript_TrainerBallBlock[]; +extern const u8 BattleScript_82DBE12[]; +extern const u8 BattleScript_82DBE1C[]; +extern const u8 BattleScript_82DBE4B[]; +extern const u8 BattleScript_82DBE6F[]; +extern const u8 BattleScript_82DBE91[]; +extern const u8 BattleScript_RunByUsingItem[]; +extern const u8 BattleScript_ActionWatchesCarefully[]; +extern const u8 BattleScript_ActionGetNear[]; +extern const u8 BattleScript_ActionThrowPokeblock[]; +extern const u8 BattleScript_82DBEE3[]; + +#endif // GUARD_BATTLE_SCRIPTS_H diff --git a/include/battle_setup.h b/include/battle_setup.h new file mode 100644 index 000000000..0168022cc --- /dev/null +++ b/include/battle_setup.h @@ -0,0 +1,18 @@ +#ifndef GUARD_BATTLE_SETUP_H +#define GUARD_BATTLE_SETUP_H + +void BattleSetup_StartScriptedWildBattle(void); +u8 BattleSetup_GetTerrainId(void); +u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); +void BattleSetup_StartBattlePikeWildBattle(void); +void BattleSetup_StartWildBattle(void); +void BattleSetup_StartRoamerBattle(void); + +u8 HasTrainerAlreadyBeenFought(u16); +void trainer_flag_set(u16); +void trainer_flag_clear(u16); +void BattleSetup_StartTrainerBattle(void); +u8 *BattleSetup_GetScriptAddrAfterBattle(void); +u8 *BattleSetup_GetTrainerPostBattleScript(void); + +#endif // GUARD_BATTLE_SETUP_H diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h new file mode 100644 index 000000000..f242284b0 --- /dev/null +++ b/include/battle_string_ids.h @@ -0,0 +1,387 @@ +#ifndef GUARD_BATTLE_STRING_IDS_H +#define GUARD_BATTLE_STRING_IDS_H + +#define BATTLESTRINGS_COUNT 369 + +#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved + +#define STRINGID_INTROMSG 0 +#define STRINGID_INTROSENDOUT 1 +#define STRINGID_RETURNMON 2 +#define STRINGID_SWITCHINMON 3 +#define STRINGID_USEDMOVE 4 +#define STRINGID_BATTLEEND 5 + + +// todo: make some of those names less vague: attacker/target vs pkmn, etc. +#define STRINGID_TRAINER1LOSETEXT 12 +#define STRINGID_PKMNGAINEDEXP 13 +#define STRINGID_PKMNGREWTOLV 14 +#define STRINGID_PKMNLEARNEDMOVE 15 +#define STRINGID_TRYTOLEARNMOVE1 16 +#define STRINGID_TRYTOLEARNMOVE2 17 +#define STRINGID_TRYTOLEARNMOVE3 18 +#define STRINGID_PKMNFORGOTMOVE 19 +#define STRINGID_STOPLEARNINGMOVE 20 +#define STRINGID_DIDNOTLEARNMOVE 21 +#define STRINGID_PKMNLEARNEDMOVE2 22 +#define STRINGID_ATTACKMISSED 23 +#define STRINGID_PKMNPROTECTEDITSELF 24 +#define STRINGID_STATSWONTINCREASE2 25 +#define STRINGID_AVOIDEDDAMAGE 26 +#define STRINGID_ITDOESNTAFFECT 27 +#define STRINGID_ATTACKERFAINTED 28 +#define STRINGID_TARGETFAINTED 29 +#define STRINGID_PLAYERGOTMONEY 30 +#define STRINGID_PLAYERWHITEOUT 31 +#define STRINGID_PLAYERWHITEOUT2 32 +#define STRINGID_PREVENTSESCAPE 33 +#define STRINGID_HITXTIMES 34 +#define STRINGID_PKMNFELLASLEEP 35 +#define STRINGID_PKMNMADESLEEP 36 +#define STRINGID_PKMNALREADYASLEEP 37 +#define STRINGID_PKMNALREADYASLEEP2 38 +#define STRINGID_PKMNWASNTAFFECTED 39 +#define STRINGID_PKMNWASPOISONED 40 +#define STRINGID_PKMNPOISONEDBY 41 +#define STRINGID_PKMNHURTBYPOISON 42 +#define STRINGID_PKMNALREADYPOISONED 43 +#define STRINGID_PKMNBADLYPOISONED 44 +#define STRINGID_PKMNENERGYDRAINED 45 +#define STRINGID_PKMNWASBURNED 46 +#define STRINGID_PKMNBURNEDBY 47 +#define STRINGID_PKMNHURTBYBURN 48 +#define STRINGID_PKMNWASFROZEN 49 +#define STRINGID_PKMNFROZENBY 50 +#define STRINGID_PKMNISFROZEN 51 +#define STRINGID_PKMNWASDEFROSTED 52 +#define STRINGID_PKMNWASDEFROSTED2 53 +#define STRINGID_PKMNWASDEFROSTEDBY 54 +#define STRINGID_PKMNWASPARALYZED 55 +#define STRINGID_PKMNWASPARALYZEDBY 56 +#define STRINGID_PKMNISPARALYZED 57 +#define STRINGID_PKMNISALREADYPARALYZED 58 +#define STRINGID_PKMNHEALEDPARALYSIS 59 +#define STRINGID_PKMNDREAMEATEN 60 +#define STRINGID_STATSWONTINCREASE 61 +#define STRINGID_STATSWONTDECREASE 62 +#define STRINGID_TEAMSTOPPEDWORKING 63 +#define STRINGID_FOESTOPPEDWORKING 64 +#define STRINGID_PKMNISCONFUSED 65 +#define STRINGID_PKMNHEALEDCONFUSION 66 +#define STRINGID_PKMNWASCONFUSED 67 +#define STRINGID_PKMNALREADYCONFUSED 68 +#define STRINGID_PKMNFELLINLOVE 69 +#define STRINGID_PKMNINLOVE 70 +#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71 +#define STRINGID_PKMNBLOWNAWAY 72 +#define STRINGID_PKMNCHANGEDTYPE 73 +#define STRINGID_PKMNFLINCHED 74 +#define STRINGID_PKMNREGAINEDHEALTH 75 +#define STRINGID_PKMNHPFULL 76 +#define STRINGID_PKMNRAISEDSPDEF 77 +#define STRINGID_PKMNRAISEDDEF 78 +#define STRINGID_PKMNCOVEREDBYVEIL 79 +#define STRINGID_PKMNUSEDSAFEGUARD 80 +#define STRINGID_PKMNSAFEGUARDEXPIRED 81 +#define STRINGID_PKMNWENTTOSLEEP 82 +#define STRINGID_PKMNSLEPTHEALTHY 83 +#define STRINGID_PKMNWHIPPEDWHIRLWIND 84 +#define STRINGID_PKMNTOOKSUNLIGHT 85 +#define STRINGID_PKMNLOWEREDHEAD 86 +#define STRINGID_PKMNISGLOWING 87 +#define STRINGID_PKMNFLEWHIGH 88 +#define STRINGID_PKMNDUGHOLE 89 +#define STRINGID_PKMNSQUEEZEDBYBIND 90 +#define STRINGID_PKMNTRAPPEDINVORTEX 91 +#define STRINGID_PKMNWRAPPEDBY 92 +#define STRINGID_PKMNCLAMPED 93 +#define STRINGID_PKMNHURTBY 94 +#define STRINGID_PKMNFREEDFROM 95 +#define STRINGID_PKMNCRASHED 96 +#define STRINGID_PKMNSHROUDEDINMIST 97 +#define STRINGID_PKMNPROTECTEDBYMIST 98 +#define STRINGID_PKMNGETTINGPUMPED 99 +#define STRINGID_PKMNHITWITHRECOIL 100 +#define STRINGID_PKMNPROTECTEDITSELF2 101 +#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102 +#define STRINGID_PKMNPELTEDBYHAIL 103 +#define STRINGID_PKMNSEEDED 104 +#define STRINGID_PKMNEVADEDATTACK 105 +#define STRINGID_PKMNSAPPEDBYLEECHSEED 106 +#define STRINGID_PKMNFASTASLEEP 107 +#define STRINGID_PKMNWOKEUP 108 +#define STRINGID_PKMNUPROARKEPTAWAKE 109 +#define STRINGID_PKMNWOKEUPINUPROAR 110 +#define STRINGID_PKMNCAUSEDUPROAR 111 +#define STRINGID_PKMNMAKINGUPROAR 112 +#define STRINGID_PKMNCALMEDDOWN 113 +#define STRINGID_PKMNCANTSLEEPINUPROAR 114 +#define STRINGID_PKMNSTOCKPILED 115 +#define STRINGID_PKMNCANTSTOCKPILE 116 +#define STRINGID_PKMNCANTSLEEPINUPROAR2 117 +#define STRINGID_UPROARKEPTPKMNAWAKE 118 +#define STRINGID_PKMNSTAYEDAWAKEUSING 119 +#define STRINGID_PKMNSTORINGENERGY 120 +#define STRINGID_PKMNUNLEASHEDENERGY 121 +#define STRINGID_PKMNFATIGUECONFUSION 122 +#define STRINGID_PKMNPICKEDUPITEM 123 +#define STRINGID_PKMNUNAFFECTED 124 +#define STRINGID_PKMNTRANSFORMEDINTO 125 +#define STRINGID_PKMNMADESUBSTITUTE 126 +#define STRINGID_PKMNHASSUBSTITUTE 127 +#define STRINGID_SUBSTITUTEDAMAGED 128 +#define STRINGID_PKMNSUBSTITUTEFADED 129 +#define STRINGID_PKMNMUSTRECHARGE 130 +#define STRINGID_PKMNRAGEBUILDING 131 +#define STRINGID_PKMNMOVEWASDISABLED 132 +#define STRINGID_PKMNMOVEISDISABLED 133 +#define STRINGID_PKMNMOVEDISABLEDNOMORE 134 +#define STRINGID_PKMNGOTENCORE 135 +#define STRINGID_PKMNENCOREENDED 136 +#define STRINGID_PKMNTOOKAIM 137 +#define STRINGID_PKMNSKETCHEDMOVE 138 +#define STRINGID_PKMNTRYINGTOTAKEFOE 139 +#define STRINGID_PKMNTOOKFOE 140 +#define STRINGID_PKMNREDUCEDPP 141 +#define STRINGID_PKMNSTOLEITEM 142 +#define STRINGID_TARGETCANTESCAPENOW 143 +#define STRINGID_PKMNFELLINTONIGHTMARE 144 +#define STRINGID_PKMNLOCKEDINNIGHTMARE 145 +#define STRINGID_PKMNLAIDCURSE 146 +#define STRINGID_PKMNAFFLICTEDBYCURSE 147 +#define STRINGID_SPIKESSCATTERED 148 +#define STRINGID_PKMNHURTBYSPIKES 149 +#define STRINGID_PKMNIDENTIFIED 150 +#define STRINGID_PKMNPERISHCOUNTFELL 151 +#define STRINGID_PKMNBRACEDITSELF 152 +#define STRINGID_PKMNENDUREDHIT 153 +#define STRINGID_MAGNITUDESTRENGTH 154 +#define STRINGID_PKMNCUTHPMAXEDATTACK 155 +#define STRINGID_PKMNCOPIEDSTATCHANGES 156 +#define STRINGID_PKMNGOTFREE 157 +#define STRINGID_PKMNSHEDLEECHSEED 158 +#define STRINGID_PKMNBLEWAWAYSPIKES 159 +#define STRINGID_PKMNFLEDFROMBATTLE 160 +#define STRINGID_PKMNFORESAWATTACK 161 +#define STRINGID_PKMNTOOKATTACK 162 +#define STRINGID_PKMNATTACK 163 +#define STRINGID_PKMNCENTERATTENTION 164 +#define STRINGID_PKMNCHARGINGPOWER 165 +#define STRINGID_NATUREPOWERTURNEDINTO 166 +#define STRINGID_PKMNSTATUSNORMAL 167 +#define STRINGID_PKMNHASNOMOVESLEFT 168 +#define STRINGID_PKMNSUBJECTEDTOTORMENT 169 +#define STRINGID_PKMNCANTUSEMOVETORMENT 170 +#define STRINGID_PKMNTIGHTENINGFOCUS 171 +#define STRINGID_PKMNFELLFORTAUNT 172 +#define STRINGID_PKMNCANTUSEMOVETAUNT 173 +#define STRINGID_PKMNREADYTOHELP 174 +#define STRINGID_PKMNSWITCHEDITEMS 175 +#define STRINGID_PKMNCOPIEDFOE 176 +#define STRINGID_PKMNMADEWISH 177 +#define STRINGID_PKMNWISHCAMETRUE 178 +#define STRINGID_PKMNPLANTEDROOTS 179 +#define STRINGID_PKMNABSORBEDNUTRIENTS 180 +#define STRINGID_PKMNANCHOREDITSELF 181 +#define STRINGID_PKMNWASMADEDROWSY 182 +#define STRINGID_PKMNKNOCKEDOFF 183 +#define STRINGID_PKMNSWAPPEDABILITIES 184 +#define STRINGID_PKMNSEALEDOPPONENTMOVE 185 +#define STRINGID_PKMNCANTUSEMOVESEALED 186 +#define STRINGID_PKMNWANTSGRUDGE 187 +#define STRINGID_PKMNLOSTPPGRUDGE 188 +#define STRINGID_PKMNSHROUDEDITSELF 189 +#define STRINGID_PKMNMOVEBOUNCED 190 +#define STRINGID_PKMNWAITSFORTARGET 191 +#define STRINGID_PKMNSNATCHEDMOVE 192 +#define STRINGID_PKMNMADEITRAIN 193 +#define STRINGID_PKMNRAISEDSPEED 194 +#define STRINGID_PKMNPROTECTEDBY 195 +#define STRINGID_PKMNPREVENTSUSAGE 196 +#define STRINGID_PKMNRESTOREDHPUSING 197 +#define STRINGID_PKMNCHANGEDTYPEWITH 198 +#define STRINGID_PKMNPREVENTSPARALYSISWITH 199 +#define STRINGID_PKMNPREVENTSROMANCEWITH 200 +#define STRINGID_PKMNPREVENTSPOISONINGWITH 201 +#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202 +#define STRINGID_PKMNRAISEDFIREPOWERWITH 203 +#define STRINGID_PKMNANCHORSITSELFWITH 204 +#define STRINGID_PKMNCUTSATTACKWITH 205 +#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206 +#define STRINGID_PKMNHURTSWITH 207 +#define STRINGID_PKMNTRACED 208 +#define STRINGID_STATSHARPLY 209 +#define STRINGID_STATROSE 210 +#define STRINGID_STATHARSHLY 211 +#define STRINGID_STATFELL 212 +#define STRINGID_PKMNSSTATCHANGED 213 +#define STRINGID_PKMNSSTATCHANGED2 214 +#define STRINGID_PKMNSSTATCHANGED3 215 +#define STRINGID_PKMNSSTATCHANGED4 216 +#define STRINGID_CRITICALHIT 217 +#define STRINGID_ONEHITKO 218 +#define STRINGID_123POOF 219 +#define STRINGID_ANDELLIPSIS 220 +#define STRINGID_NOTVERYEFFECTIVE 221 +#define STRINGID_SUPEREFFECTIVE 222 +#define STRINGID_GOTAWAYSAFELY 223 +#define STRINGID_WILDPKMNFLED 224 +#define STRINGID_NORUNNINGFROMTRAINERS 225 +#define STRINGID_CANTESCAPE 226 +#define STRINGID_DONTLEAVEBIRCH 227 +#define STRINGID_BUTNOTHINGHAPPENED 228 +#define STRINGID_BUTITFAILED 229 +#define STRINGID_ITHURTCONFUSION 230 +#define STRINGID_MIRRORMOVEFAILED 231 +#define STRINGID_STARTEDTORAIN 232 +#define STRINGID_DOWNPOURSTARTED 233 +#define STRINGID_RAINCONTINUES 234 +#define STRINGID_DOWNPOURCONTINUES 235 +#define STRINGID_RAINSTOPPED 236 +#define STRINGID_SANDSTORMBREWED 237 +#define STRINGID_SANDSTORMRAGES 238 +#define STRINGID_SANDSTORMSUBSIDED 239 +#define STRINGID_SUNLIGHTGOTBRIGHT 240 +#define STRINGID_SUNLIGHTSTRONG 241 +#define STRINGID_SUNLIGHTFADED 242 +#define STRINGID_STARTEDHAIL 243 +#define STRINGID_HAILCONTINUES 244 +#define STRINGID_HAILSTOPPED 245 +#define STRINGID_FAILEDTOSPITUP 246 +#define STRINGID_FAILEDTOSWALLOW 247 +#define STRINGID_WINDBECAMEHEATWAVE 248 +#define STRINGID_STATCHANGESGONE 249 +#define STRINGID_COINSSCATTERED 250 +#define STRINGID_TOOWEAKFORSUBSTITUTE 251 +#define STRINGID_SHAREDPAIN 252 +#define STRINGID_BELLCHIMED 253 +#define STRINGID_FAINTINTHREE 254 +#define STRINGID_NOPPLEFT 255 +#define STRINGID_BUTNOPPLEFT 256 +#define STRINGID_PLAYERUSEDITEM 257 +#define STRINGID_WALLYUSEDITEM 258 +#define STRINGID_TRAINERBLOCKEDBALL 259 +#define STRINGID_DONTBEATHIEF 260 +#define STRINGID_ITDODGEDBALL 261 +#define STRINGID_YOUMISSEDPKMN 262 +#define STRINGID_PKMNBROKEFREE 263 +#define STRINGID_ITAPPEAREDCAUGHT 264 +#define STRINGID_AARGHALMOSTHADIT 265 +#define STRINGID_SHOOTSOCLOSE 266 +#define STRINGID_GOTCHAPKMNCAUGHT 267 +#define STRINGID_GOTCHAPKMNCAUGHT2 268 +#define STRINGID_GIVENICKNAMECAPTURED 269 +#define STRINGID_PKMNSENTTOPC 270 +#define STRINGID_PKMNDATAADDEDTODEX 271 +#define STRINGID_ITISRAINING 272 +#define STRINGID_SANDSTORMISRAGING 273 +#define STRINGID_CANTESCAPE2 274 +#define STRINGID_PKMNIGNORESASLEEP 275 +#define STRINGID_PKMNIGNOREDORDERS 276 +#define STRINGID_PKMNBEGANTONAP 277 +#define STRINGID_PKMNLOAFING 278 +#define STRINGID_PKMNWONTOBEY 279 +#define STRINGID_PKMNTURNEDAWAY 280 +#define STRINGID_PKMNPRETENDNOTNOTICE 281 +#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282 +#define STRINGID_CREPTCLOSER 283 +#define STRINGID_CANTGETCLOSER 284 +#define STRINGID_PKMNWATCHINGCAREFULLY 285 +#define STRINGID_PKMNCURIOUSABOUTX 286 +#define STRINGID_PKMNENTHRALLEDBYX 287 +#define STRINGID_PKMNIGNOREDX 288 +#define STRINGID_THREWPOKEBLOCKATPKMN 289 +#define STRINGID_OUTOFSAFARIBALLS 290 +#define STRINGID_PKMNSITEMCUREDPARALYSIS 291 +#define STRINGID_PKMNSITEMCUREDPOISON 292 +#define STRINGID_PKMNSITEMHEALEDBURN 293 +#define STRINGID_PKMNSITEMDEFROSTEDIT 294 +#define STRINGID_PKMNSITEMWOKEIT 295 +#define STRINGID_PKMNSITEMSNAPPEDOUT 296 +#define STRINGID_PKMNSITEMCUREDPROBLEM 297 +#define STRINGID_PKMNSITEMRESTOREDHEALTH 298 +#define STRINGID_PKMNSITEMRESTOREDPP 299 +#define STRINGID_PKMNSITEMRESTOREDSTATUS 300 +#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301 +#define STRINGID_ITEMALLOWSONLYYMOVE 302 +#define STRINGID_PKMNHUNGONWITHX 303 +#define STRINGID_EMPTYSTRING3 304 +#define STRINGID_PKMNSXPREVENTSBURNS 305 +#define STRINGID_PKMNSXBLOCKSY 306 +#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307 +#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308 +#define STRINGID_PKMNSXPREVENTSYLOSS 309 +#define STRINGID_PKMNSXINFATUATEDY 310 +#define STRINGID_PKMNSXMADEYINEFFECTIVE 311 +#define STRINGID_PKMNSXCUREDYPROBLEM 312 +#define STRINGID_ITSUCKEDLIQUIDOOZE 313 +#define STRINGID_PKMNTRANSFORMED 314 +#define STRINGID_ELECTRICITYWEAKENED 315 +#define STRINGID_FIREWEAKENED 316 +#define STRINGID_PKMNHIDUNDERWATER 317 +#define STRINGID_PKMNSPRANGUP 318 +#define STRINGID_HMMOVESCANTBEFORGOTTEN 319 +#define STRINGID_XFOUNDONEY 320 +#define STRINGID_PLAYERDEFEATEDTRAINER1 321 +#define STRINGID_SOOTHINGAROMA 322 +#define STRINGID_ITEMSCANTBEUSEDNOW 323 +#define STRINGID_FORXCOMMAYZ 324 +#define STRINGID_USINGXTHEYOFZN 325 +#define STRINGID_PKMNUSEDXTOGETPUMPED 326 +#define STRINGID_PKMNSXMADEYUSELESS 327 +#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328 +#define STRINGID_EMPTYSTRING4 329 +#define STRINGID_ABOOSTED 330 +#define STRINGID_PKMNSXINTENSIFIEDSUN 331 +#define STRINGID_PKMNMAKESGROUNDMISS 332 +#define STRINGID_YOUTHROWABALLNOWRIGHT 333 +#define STRINGID_PKMNSXTOOKATTACK 334 +#define STRINGID_PKMNCHOSEXASDESTINY 335 +#define STRINGID_PKMNLOSTFOCUS 336 +#define STRINGID_USENEXTPKMN 337 +#define STRINGID_PKMNFLEDUSINGITS 338 +#define STRINGID_PKMNFLEDUSING 339 +#define STRINGID_PKMNWASDRAGGEDOUT 340 +#define STRINGID_PREVENTEDFROMWORKING 341 +#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342 +#define STRINGID_TRAINER1USEDITEM 343 +#define STRINGID_BOXISFULL 344 +#define STRINGID_PKMNAVOIDEDATTACK 345 +#define STRINGID_PKMNSXMADEITINEFFECTIVE 346 +#define STRINGID_PKMNSXPREVENTSFLINCHING 347 +#define STRINGID_PKMNALREADYHASBURN 348 +#define STRINGID_STATSWONTDECREASE2 349 +#define STRINGID_PKMNSXBLOCKSY2 350 +#define STRINGID_PKMNSXWOREOFF 351 +#define STRINGID_PKMNRAISEDDEFALITTLE 352 +#define STRINGID_PKMNRAISEDSPDEFALITTLE 353 +#define STRINGID_THEWALLSHATTERED 354 +#define STRINGID_PKMNSXPREVENTSYSZ 355 +#define STRINGID_PKMNSXCUREDITSYPROBLEM 356 +#define STRINGID_ATTACKERCANTESCAPE 357 +#define STRINGID_PKMNOBTAINEDX 358 +#define STRINGID_PKMNOBTAINEDX2 359 +#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360 +#define STRINGID_BUTNOEFFECT 361 +#define STRINGID_PKMNSXHADNOEFFECTONY 362 +#define STRINGID_TWOENEMIESDEFEATED 363 +#define STRINGID_TRAINER2LOSETEXT 364 +#define STRINGID_PKMNINCAPABLEOFPOWER 365 +#define STRINGID_GLINTAPPEARSINEYE 366 +#define STRINGID_PKMNGETTINGINTOPOSITION 367 +#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368 +#define STRINGID_PKMNEAGERFORMORE 369 +#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370 +#define STRINGID_LOSTTOOPPONENTBYREFEREE 371 +#define STRINGID_TIEDOPPONENTBYREFEREE 372 +#define STRINGID_QUESTIONFORFEITMATCH 373 +#define STRINGID_FORFEITEDMATCH 374 +#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375 +#define STRINGID_PKMNTRANSFERREDLANETTESPC 376 +#define STRINGID_PKMNBOXSOMEONESPCFULL 377 +#define STRINGID_PKMNBOXLANETTESPCFULL 378 +#define STRINGID_TRAINER1WINTEXT 379 +#define STRINGID_TRAINER2WINTEXT 380 + +#endif // GUARD_BATTLE_STRING_IDS_H diff --git a/include/battle_tower.h b/include/battle_tower.h new file mode 100644 index 000000000..25b439c1b --- /dev/null +++ b/include/battle_tower.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_TOWER_H +#define GUARD_BATTLE_TOWER_H + +u16 sub_8164FCC(u8, u8); + +#endif //GUARD_BATTLE_TOWER_H diff --git a/include/battle_transition.h b/include/battle_transition.h new file mode 100644 index 000000000..1603f5c93 --- /dev/null +++ b/include/battle_transition.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BATTLE_TRANSITION_H +#define GUARD_BATTLE_TRANSITION_H + +void sub_8149DFC(u8 a1); + +#endif // GUARD_BATTLE_TRANSITION_H diff --git a/include/battle_util.h b/include/battle_util.h new file mode 100644 index 000000000..81eb85dc7 --- /dev/null +++ b/include/battle_util.h @@ -0,0 +1,84 @@ +#ifndef GUARD_BATTLE_UTIL_H +#define GUARD_BATTLE_UTIL_H + +#define MOVE_LIMITATION_ZEROMOVE (1 << 0) +#define MOVE_LIMITATION_PP (1 << 1) +#define MOVE_LIMITATION_DISABLED (1 << 2) +#define MOVE_LIMITATION_TORMENTED (1 << 3) +#define MOVE_LIMITATION_TAUNT (1 << 4) +#define MOVE_LIMITATION_IMPRISION (1 << 5) + +#define ABILITYEFFECT_ON_SWITCHIN 0x0 +#define ABILITYEFFECT_ENDTURN 0x1 +#define ABILITYEFFECT_MOVES_BLOCK 0x2 +#define ABILITYEFFECT_ABSORBING 0x3 +#define ABILITYEFFECT_CONTACT 0x4 +#define ABILITYEFFECT_IMMUNITY 0x5 +#define ABILITYEFFECT_FORECAST 0x6 +#define ABILITYEFFECT_SYNCHRONIZE 0x7 +#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8 +#define ABILITYEFFECT_INTIMIDATE1 0x9 +#define ABILITYEFFECT_INTIMIDATE2 0xA +#define ABILITYEFFECT_TRACE 0xB +#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC +#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD +#define ABILITYEFFECT_FIELD_SPORT 0xE +#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF +#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10 +#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11 +#define ABILITYEFFECT_COUNT_ON_FIELD 0x12 +#define ABILITYEFFECT_CHECK_ON_FIELD 0x13 +#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF + +#define ITEMEFFECT_ON_SWITCH_IN 0x0 + +#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) +#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0))) + +#define BS_GET_TARGET 0 +#define BS_GET_ATTACKER 1 +#define BS_GET_EFFECT_BANK 2 +#define BS_GET_SCRIPTING_BANK 10 +#define BS_GET_PLAYER1 11 +#define BS_GET_OPPONENT1 12 +#define BS_GET_PLAYER2 13 +#define BS_GET_OPPONENT2 14 + +u8 GetBattleBank(u8 caseId); +void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move); +void PressurePPLoseOnUsingPerishSong(u8 bankAtk); +void PressurePPLoseOnUsingImprision(u8 bankAtk); +void MarkAllBufferBanksForExecution(void); // unused +void MarkBufferBankForExecution(u8 bank); +void sub_803F850(u8 arg0); +void CancelMultiTurnMoves(u8 bank); +bool8 WasUnableToUseMove(u8 bank); +void PrepareStringBattle(u16 stringId, u8 bank); +void ResetSentPokesToOpponentValue(void); +void sub_803F9EC(u8 bank); +void sub_803FA70(u8 bank); +void BattleScriptPush(const u8* bsPtr); +void BattleScriptPushCursor(void); +void BattleScriptPop(void); +u8 TrySetCantSelectMoveBattleScript(void); +u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check); +bool8 AreAllMovesUnusable(void); +u8 GetImprisonedMovesCount(u8 bank, u16 move); +u8 UpdateTurnCounters(void); +u8 TurnBasedEffects(void); +bool8 HandleWishPerishSongOnTurnEnd(void); +bool8 HandleFaintedMonActions(void); +void TryClearRageStatuses(void); +u8 AtkCanceller_UnableToUseMove(void); +bool8 sub_80423F4(u8 bank, u8 r1, u8 r2); +u8 CastformDataTypeChange(u8 bank); +u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg); +void BattleScriptExecute(const u8* BS_ptr); +void BattleScriptPushCursorAndCallback(const u8* BS_ptr); +u8 ItemBattleEffects(u8 caseID, u8 bank, bool8 moveTurn); +void ClearFuryCutterDestinyBondGrudge(u8 bank); +void HandleAction_RunBattleScript(void); +u8 GetMoveTarget(u16 move, u8 useMoveTarget); +u8 IsMonDisobedient(void); + +#endif // GUARD_BATTLE_UTIL_H diff --git a/include/battle_util2.h b/include/battle_util2.h new file mode 100644 index 000000000..3954e42dc --- /dev/null +++ b/include/battle_util2.h @@ -0,0 +1,10 @@ +#ifndef GUARD_BATTLE_UTIL2_H +#define GUARD_BATTLE_UTIL2_H + +void AllocateBattleResources(void); +void FreeBattleResources(void); +void AdjustFriendshipOnBattleFaint(u8 bank); +void sub_80571DC(u8 bank, u8 arg1); +u32 sub_805725C(u8 bank); + +#endif // GUARD_BATTLE_UTIL_H diff --git a/include/berry.h b/include/berry.h new file mode 100644 index 000000000..425a664c9 --- /dev/null +++ b/include/berry.h @@ -0,0 +1,73 @@ +#ifndef GUARD_BERRY_H +#define GUARD_BERRY_H + +enum +{ + BERRY_FIRMNESS_UNKNOWN, + BERRY_FIRMNESS_VERY_SOFT, + BERRY_FIRMNESS_SOFT, + BERRY_FIRMNESS_HARD, + BERRY_FIRMNESS_VERY_HARD, + BERRY_FIRMNESS_SUPER_HARD, +}; + +enum +{ + FLAVOR_SPICY, + FLAVOR_DRY, + FLAVOR_SWEET, + FLAVOR_BITTER, + FLAVOR_SOUR, + FLAVOR_COUNT +}; + +#define NUM_BERRIES 44 + +extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES]; +extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES]; +extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES]; + +void ClearEnigmaBerries(void); +void SetEnigmaBerry(u8 *src); +u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); +bool32 IsEnigmaBerryValid(void); +const struct Berry *GetBerryInfo(u8 berry); +struct BerryTree *GetBerryTreeInfo(u8 id); +bool32 FieldObjectInteractionWaterBerryTree(void); +bool8 IsPlayerFacingPlantedBerryTree(void); +bool8 TryToWaterBerryTree(void); +void ClearBerryTrees(void); +bool32 BerryTreeGrow(struct BerryTree *tree); +void BerryTreeTimeUpdate(s32 minutes); +void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle); +void RemoveBerryTree(u8 id); +u8 GetBerryTypeByBerryTreeId(u8 id); +u8 GetStageByBerryTreeId(u8); +u8 ItemIdToBerryType(u16 item); +u16 BerryTypeToItemId(u16 berry); +void GetBerryNameByBerryType(u8 berry, u8 *string); +void ResetBerryTreeSparkleFlag(u8 id); +u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree); +u8 GetNumStagesWateredByBerryTreeId(u8 id); +u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water); +u8 CalcBerryYield(struct BerryTree *tree); +u8 GetBerryCountByBerryTreeId(u8 id); +u16 GetStageDurationByBerryType(u8); +void Bag_ChooseBerry(void); +void FieldObjectInteractionGetBerryTreeData(void); +void FieldObjectInteractionPlantBerryTree(void); +void FieldObjectInteractionPickBerryTree(void); +void FieldObjectInteractionRemoveBerryTree(void); +u8 PlayerHasBerries(void); +void ResetBerryTreeSparkleFlags(void); + +extern const struct Berry gBerries[]; + +struct UnkStruct_0858AB24 { + u8 unk0; + u16 unk1; +}; + +extern const struct UnkStruct_0858AB24 gUnknown_0858AB24[]; + +#endif // GUARD_BERRY_H diff --git a/include/bg.h b/include/bg.h new file mode 100644 index 000000000..0c6b4ac26 --- /dev/null +++ b/include/bg.h @@ -0,0 +1,85 @@ +#ifndef GUARD_BG_H +#define GUARD_BG_H + +struct BGCntrlBitfield // for the I/O registers +{ + volatile u16 priority:2; + volatile u16 charBaseBlock:2; + volatile u16 field_0_2:4; + volatile u16 field_1_0:5; + volatile u16 areaOverflowMode:1; + volatile u16 screenSize:2; +}; + +enum +{ + BG_CTRL_ATTR_VISIBLE = 1, + BG_CTRL_ATTR_CHARBASEINDEX = 2, + BG_CTRL_ATTR_MAPBASEINDEX = 3, + BG_CTRL_ATTR_SCREENSIZE = 4, + BG_CTRL_ATTR_PALETTEMODE = 5, + BG_CTRL_ATTR_PRIORITY = 6, + BG_CTRL_ATTR_MOSAIC = 7, + BG_CTRL_ATTR_WRAPAROUND = 8, +}; + +struct BgTemplate +{ + u32 bg:2; // 0x1, 0x2 -> 0x3 + u32 charBaseIndex:2; // 0x4, 0x8 -> 0xC + u32 mapBaseIndex:5; // 0x10, 0x20, 0x40, 0x80, 0x100 -> 0x1F0 + u32 screenSize:2; // 0x200, 0x400 -> 0x600 + u32 paletteMode:1; // 0x800 + u32 priority:2; // 0x1000, 0x2000 > 0x3000 + u32 baseTile:10; +}; + +void ResetBgs(void); +u8 GetBgMode(void); +void ResetBgControlStructs(void); +void Unused_ResetBgControlStruct(u8 bg); +void SetBgControlAttributes(u8 bg, u8 charBaseIndex, u8 mapBaseIndex, u8 screenSize, u8 paletteMode, u8 priority, u8 mosaic, u8 wraparound); +u16 GetBgControlAttribute(u8 bg, u8 attributeId); +u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode); +void SetTextModeAndHideBgs(void); +bool8 IsInvalidBg(u8 bg); +int DummiedOutFireRedLeafGreenTileAllocFunc(int a1, int a2, int a3, int a4); +void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable); +void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates); +void InitBgFromTemplate(const struct BgTemplate *template); +void SetBgMode(u8 bgMode); +u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset); +u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset); +u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset); +bool8 IsDma3ManagerBusyWithBgCopy(void); +void ShowBg(u8 bg); +void HideBg(u8 bg); +void SetBgAttribute(u8 bg, u8 attributeId, u8 value); +u16 GetBgAttribute(u8 bg, u8 attributeId); +u32 ChangeBgX(u8 bg, u32 value, u8 op); +u32 GetBgX(u8 bg); +u32 ChangeBgY(u8 bg, u32 value, u8 op); +u32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op); +u32 GetBgY(u8 bg); +void SetBgAffine(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle); +u8 Unused_AdjustBgMosaic(u8 a1, u8 a2); +void SetBgTilemapBuffer(u8 bg, void *tilemap); +void UnsetBgTilemapBuffer(u8 bg); +void* GetBgTilemapBuffer(u8 bg); +void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); +void CopyBgTilemapBufferToVram(u8 bg); +void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height); +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); +void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); +void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); +void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); +void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta); +u16 GetBgMetricTextMode(u8 bg, u8 whichMetric); +u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric); +u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32 screenHeight); +void CopyTileMapEntry(u16 *src, u16 *dest, s32 palette1, u32 tileOffset, u32 palette2); +u32 GetBgType(u8 bg); +bool32 IsInvalidBg32(u8 bg); +bool32 IsTileMapOutsideWram(u8 bg); + +#endif // GUARD_BG_H diff --git a/include/blend_palette.h b/include/blend_palette.h new file mode 100644 index 000000000..1db3f4eb0 --- /dev/null +++ b/include/blend_palette.h @@ -0,0 +1,12 @@ +#ifndef GUARD_BLEND_PALETTE_H +#define GUARD_BLEND_PALETTE_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void BlendPalette(u16, u16, u8, u16); + +#endif //GUARD_BLEND_PALETTE_H diff --git a/include/calculate_base_damage.h b/include/calculate_base_damage.h new file mode 100644 index 000000000..e9146c188 --- /dev/null +++ b/include/calculate_base_damage.h @@ -0,0 +1,6 @@ +#ifndef GUARD_CALCULATE_BASE_DAMAGE_H +#define GUARD_CALCULATE_BASE_DAMAGE_H + +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); + +#endif // GUARD_CALCULATE_BASE_DAMAGE_H diff --git a/include/coins.h b/include/coins.h new file mode 100644 index 000000000..996519605 --- /dev/null +++ b/include/coins.h @@ -0,0 +1,12 @@ +#ifndef GUARD_COINS_H +#define GUARD_COINS_H + +void PrintCoinsString(u32 coinAmount); +void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y); +void HideCoinsWindow(void); +u16 GetCoins(void); +void SetCoins(u16 coinAmount); +bool8 GiveCoins(u16 toAdd); +bool8 TakeCoins(u16 toSub); + +#endif // GUARD_COINS_H diff --git a/include/config.h b/include/config.h new file mode 100644 index 000000000..162af3143 --- /dev/null +++ b/include/config.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONFIG_H +#define GUARD_CONFIG_H + +#define ENGLISH + +#ifdef ENGLISH +#define UNITS_IMPERIAL +#else +#define UNITS_METRIC +#endif + +#endif // GUARD_CONFIG_H diff --git a/include/constants/abilities.h b/include/constants/abilities.h new file mode 100644 index 000000000..4e2c4056c --- /dev/null +++ b/include/constants/abilities.h @@ -0,0 +1,83 @@ +#ifndef GUARD_CONSTANTS_ABILITIES_H +#define GUARD_CONSTANTS_ABILITIES_H + +#define ABILITY_NONE 0 +#define ABILITY_STENCH 1 +#define ABILITY_DRIZZLE 2 +#define ABILITY_SPEED_BOOST 3 +#define ABILITY_BATTLE_ARMOR 4 +#define ABILITY_STURDY 5 +#define ABILITY_DAMP 6 +#define ABILITY_LIMBER 7 +#define ABILITY_SAND_VEIL 8 +#define ABILITY_STATIC 9 +#define ABILITY_VOLT_ABSORB 10 +#define ABILITY_WATER_ABSORB 11 +#define ABILITY_OBLIVIOUS 12 +#define ABILITY_CLOUD_NINE 13 +#define ABILITY_COMPOUND_EYES 14 +#define ABILITY_INSOMNIA 15 +#define ABILITY_COLOR_CHANGE 16 +#define ABILITY_IMMUNITY 17 +#define ABILITY_FLASH_FIRE 18 +#define ABILITY_SHIELD_DUST 19 +#define ABILITY_OWN_TEMPO 20 +#define ABILITY_SUCTION_CUPS 21 +#define ABILITY_INTIMIDATE 22 +#define ABILITY_SHADOW_TAG 23 +#define ABILITY_ROUGH_SKIN 24 +#define ABILITY_WONDER_GUARD 25 +#define ABILITY_LEVITATE 26 +#define ABILITY_EFFECT_SPORE 27 +#define ABILITY_SYNCHRONIZE 28 +#define ABILITY_CLEAR_BODY 29 +#define ABILITY_NATURAL_CURE 30 +#define ABILITY_LIGHTNING_ROD 31 +#define ABILITY_SERENE_GRACE 32 +#define ABILITY_SWIFT_SWIM 33 +#define ABILITY_CHLOROPHYLL 34 +#define ABILITY_ILLUMINATE 35 +#define ABILITY_TRACE 36 +#define ABILITY_HUGE_POWER 37 +#define ABILITY_POISON_POINT 38 +#define ABILITY_INNER_FOCUS 39 +#define ABILITY_MAGMA_ARMOR 40 +#define ABILITY_WATER_VEIL 41 +#define ABILITY_MAGNET_PULL 42 +#define ABILITY_SOUNDPROOF 43 +#define ABILITY_RAIN_DISH 44 +#define ABILITY_SAND_STREAM 45 +#define ABILITY_PRESSURE 46 +#define ABILITY_THICK_FAT 47 +#define ABILITY_EARLY_BIRD 48 +#define ABILITY_FLAME_BODY 49 +#define ABILITY_RUN_AWAY 50 +#define ABILITY_KEEN_EYE 51 +#define ABILITY_HYPER_CUTTER 52 +#define ABILITY_PICKUP 53 +#define ABILITY_TRUANT 54 +#define ABILITY_HUSTLE 55 +#define ABILITY_CUTE_CHARM 56 +#define ABILITY_PLUS 57 +#define ABILITY_MINUS 58 +#define ABILITY_FORECAST 59 +#define ABILITY_STICKY_HOLD 60 +#define ABILITY_SHED_SKIN 61 +#define ABILITY_GUTS 62 +#define ABILITY_MARVEL_SCALE 63 +#define ABILITY_LIQUID_OOZE 64 +#define ABILITY_OVERGROW 65 +#define ABILITY_BLAZE 66 +#define ABILITY_TORRENT 67 +#define ABILITY_SWARM 68 +#define ABILITY_ROCK_HEAD 69 +#define ABILITY_DROUGHT 70 +#define ABILITY_ARENA_TRAP 71 +#define ABILITY_VITAL_SPIRIT 72 +#define ABILITY_WHITE_SMOKE 73 +#define ABILITY_PURE_POWER 74 +#define ABILITY_SHELL_ARMOR 75 +#define ABILITY_CACOPHONY 76 +#define ABILITY_AIR_LOCK 77 + +#endif // GUARD_CONSTANTS_ABILITIES_H diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h new file mode 100644 index 000000000..1b59f2f64 --- /dev/null +++ b/include/constants/battle_move_effects.h @@ -0,0 +1,219 @@ +#ifndef GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H +#define GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H + +#define EFFECT_HIT 0 +#define EFFECT_SLEEP 1 +#define EFFECT_POISON_HIT 2 +#define EFFECT_ABSORB 3 +#define EFFECT_BURN_HIT 4 +#define EFFECT_FREEZE_HIT 5 +#define EFFECT_PARALYZE_HIT 6 +#define EFFECT_EXPLOSION 7 +#define EFFECT_DREAM_EATER 8 +#define EFFECT_MIRROR_MOVE 9 +#define EFFECT_ATTACK_UP 10 +#define EFFECT_DEFENSE_UP 11 +#define EFFECT_SPEED_UP 12 +#define EFFECT_SPECIAL_ATTACK_UP 13 +#define EFFECT_SPECIAL_DEFENSE_UP 14 +#define EFFECT_ACCURACY_UP 15 +#define EFFECT_EVASION_UP 16 +#define EFFECT_ALWAYS_HIT 17 +#define EFFECT_ATTACK_DOWN 18 +#define EFFECT_DEFENSE_DOWN 19 +#define EFFECT_SPEED_DOWN 20 +#define EFFECT_SPECIAL_ATTACK_DOWN 21 // unused +#define EFFECT_SPECIAL_DEFENSE_DOWN 22 // unused +#define EFFECT_ACCURACY_DOWN 23 +#define EFFECT_EVASION_DOWN 24 +#define EFFECT_HAZE 25 +#define EFFECT_BIDE 26 +#define EFFECT_RAMPAGE 27 +#define EFFECT_ROAR 28 +#define EFFECT_MULTI_HIT 29 +#define EFFECT_CONVERSION 30 +#define EFFECT_FLINCH_HIT 31 +#define EFFECT_RESTORE_HP 32 +#define EFFECT_TOXIC 33 +#define EFFECT_PAY_DAY 34 +#define EFFECT_LIGHT_SCREEN 35 +#define EFFECT_TRI_ATTACK 36 +#define EFFECT_REST 37 +#define EFFECT_OHKO 38 +#define EFFECT_RAZOR_WIND 39 +#define EFFECT_SUPER_FANG 40 +#define EFFECT_DRAGON_RAGE 41 +#define EFFECT_TRAP 42 +#define EFFECT_HIGH_CRITICAL 43 +#define EFFECT_DOUBLE_HIT 44 +#define EFFECT_RECOIL_IF_MISS 45 +#define EFFECT_MIST 46 +#define EFFECT_FOCUS_ENERGY 47 +#define EFFECT_RECOIL 48 +#define EFFECT_CONFUSE 49 +#define EFFECT_ATTACK_UP_2 50 +#define EFFECT_DEFENSE_UP_2 51 +#define EFFECT_SPEED_UP_2 52 +#define EFFECT_SPECIAL_ATTACK_UP_2 53 +#define EFFECT_SPECIAL_DEFENSE_UP_2 54 +#define EFFECT_ACCURACY_UP_2 55 +#define EFFECT_EVASION_UP_2 56 +#define EFFECT_TRANSFORM 57 +#define EFFECT_ATTACK_DOWN_2 58 +#define EFFECT_DEFENSE_DOWN_2 59 +#define EFFECT_SPEED_DOWN_2 60 +#define EFFECT_SPECIAL_ATTACK_DOWN_2 61 +#define EFFECT_SPECIAL_DEFENSE_DOWN_2 62 +#define EFFECT_ACCURACY_DOWN_2 63 +#define EFFECT_EVASION_DOWN_2 64 +#define EFFECT_REFLECT 65 +#define EFFECT_POISON 66 +#define EFFECT_PARALYZE 67 +#define EFFECT_ATTACK_DOWN_HIT 68 +#define EFFECT_DEFENSE_DOWN_HIT 69 +#define EFFECT_SPEED_DOWN_HIT 70 +#define EFFECT_SPECIAL_ATTACK_DOWN_HIT 71 +#define EFFECT_SPECIAL_DEFENSE_DOWN_HIT 72 +#define EFFECT_ACCURACY_DOWN_HIT 73 +#define EFFECT_EVASION_DOWN_HIT 74 +#define EFFECT_SKY_ATTACK 75 +#define EFFECT_CONFUSE_HIT 76 +#define EFFECT_TWINEEDLE 77 +#define EFFECT_VITAL_THROW 78 +#define EFFECT_SUBSTITUTE 79 +#define EFFECT_RECHARGE 80 +#define EFFECT_RAGE 81 +#define EFFECT_MIMIC 82 +#define EFFECT_METRONOME 83 +#define EFFECT_LEECH_SEED 84 +#define EFFECT_SPLASH 85 +#define EFFECT_DISABLE 86 +#define EFFECT_LEVEL_DAMAGE 87 +#define EFFECT_PSYWAVE 88 +#define EFFECT_COUNTER 89 +#define EFFECT_ENCORE 90 +#define EFFECT_PAIN_SPLIT 91 +#define EFFECT_SNORE 92 +#define EFFECT_CONVERSION_2 93 +#define EFFECT_LOCK_ON 94 +#define EFFECT_SKETCH 95 +#define EFFECT_UNUSED_60 96 // thaw +#define EFFECT_SLEEP_TALK 97 +#define EFFECT_DESTINY_BOND 98 +#define EFFECT_FLAIL 99 +#define EFFECT_SPITE 100 +#define EFFECT_FALSE_SWIPE 101 +#define EFFECT_HEAL_BELL 102 +#define EFFECT_QUICK_ATTACK 103 +#define EFFECT_TRIPLE_KICK 104 +#define EFFECT_THIEF 105 +#define EFFECT_MEAN_LOOK 106 +#define EFFECT_NIGHTMARE 107 +#define EFFECT_MINIMIZE 108 +#define EFFECT_CURSE 109 +#define EFFECT_UNUSED_6E 110 +#define EFFECT_PROTECT 111 +#define EFFECT_SPIKES 112 +#define EFFECT_FORESIGHT 113 +#define EFFECT_PERISH_SONG 114 +#define EFFECT_SANDSTORM 115 +#define EFFECT_ENDURE 116 +#define EFFECT_ROLLOUT 117 +#define EFFECT_SWAGGER 118 +#define EFFECT_FURY_CUTTER 119 +#define EFFECT_ATTRACT 120 +#define EFFECT_RETURN 121 +#define EFFECT_PRESENT 122 +#define EFFECT_FRUSTRATION 123 +#define EFFECT_SAFEGUARD 124 +#define EFFECT_THAW_HIT 125 +#define EFFECT_MAGNITUDE 126 +#define EFFECT_BATON_PASS 127 +#define EFFECT_PURSUIT 128 +#define EFFECT_RAPID_SPIN 129 +#define EFFECT_SONICBOOM 130 +#define EFFECT_UNUSED_83 131 +#define EFFECT_MORNING_SUN 132 +#define EFFECT_SYNTHESIS 133 +#define EFFECT_MOONLIGHT 134 +#define EFFECT_HIDDEN_POWER 135 +#define EFFECT_RAIN_DANCE 136 +#define EFFECT_SUNNY_DAY 137 +#define EFFECT_DEFENSE_UP_HIT 138 +#define EFFECT_ATTACK_UP_HIT 139 +#define EFFECT_ALL_STATS_UP_HIT 140 +#define EFFECT_UNUSED_8D 141 // incomplete fake out in gen 2 +#define EFFECT_BELLY_DRUM 142 +#define EFFECT_PSYCH_UP 143 +#define EFFECT_MIRROR_COAT 144 +#define EFFECT_SKULL_BASH 145 +#define EFFECT_TWISTER 146 +#define EFFECT_EARTHQUAKE 147 +#define EFFECT_FUTURE_SIGHT 148 +#define EFFECT_GUST 149 +#define EFFECT_FLINCH_HIT_2 150 // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM +#define EFFECT_SOLARBEAM 151 +#define EFFECT_THUNDER 152 +#define EFFECT_TELEPORT 153 +#define EFFECT_BEAT_UP 154 +#define EFFECT_SEMI_INVULNERABLE 155 +#define EFFECT_DEFENSE_CURL 156 +#define EFFECT_SOFTBOILED 157 +#define EFFECT_FAKE_OUT 158 +#define EFFECT_UPROAR 159 +#define EFFECT_STOCKPILE 160 +#define EFFECT_SPIT_UP 161 +#define EFFECT_SWALLOW 162 +#define EFFECT_UNUSED_A3 163 +#define EFFECT_HAIL 164 +#define EFFECT_TORMENT 165 +#define EFFECT_FLATTER 166 +#define EFFECT_WILL_O_WISP 167 +#define EFFECT_MEMENTO 168 +#define EFFECT_FACADE 169 +#define EFFECT_FOCUS_PUNCH 170 +#define EFFECT_SMELLINGSALT 171 +#define EFFECT_FOLLOW_ME 172 +#define EFFECT_NATURE_POWER 173 +#define EFFECT_CHARGE 174 +#define EFFECT_TAUNT 175 +#define EFFECT_HELPING_HAND 176 +#define EFFECT_TRICK 177 +#define EFFECT_ROLE_PLAY 178 +#define EFFECT_WISH 179 +#define EFFECT_ASSIST 180 +#define EFFECT_INGRAIN 181 +#define EFFECT_SUPERPOWER 182 +#define EFFECT_MAGIC_COAT 183 +#define EFFECT_RECYCLE 184 +#define EFFECT_REVENGE 185 +#define EFFECT_BRICK_BREAK 186 +#define EFFECT_YAWN 187 +#define EFFECT_KNOCK_OFF 188 +#define EFFECT_ENDEAVOR 189 +#define EFFECT_ERUPTION 190 +#define EFFECT_SKILL_SWAP 191 +#define EFFECT_IMPRISON 192 +#define EFFECT_REFRESH 193 +#define EFFECT_GRUDGE 194 +#define EFFECT_SNATCH 195 +#define EFFECT_LOW_KICK 196 +#define EFFECT_SECRET_POWER 197 +#define EFFECT_DOUBLE_EDGE 198 +#define EFFECT_TEETER_DANCE 199 +#define EFFECT_BLAZE_KICK 200 +#define EFFECT_MUD_SPORT 201 +#define EFFECT_POISON_FANG 202 +#define EFFECT_WEATHER_BALL 203 +#define EFFECT_OVERHEAT 204 +#define EFFECT_TICKLE 205 +#define EFFECT_COSMIC_POWER 206 +#define EFFECT_SKY_UPPERCUT 207 +#define EFFECT_BULK_UP 208 +#define EFFECT_POISON_TAIL 209 +#define EFFECT_WATER_SPORT 210 +#define EFFECT_CALM_MIND 211 +#define EFFECT_DRAGON_DANCE 212 +#define EFFECT_CAMOUFLAGE 213 + +#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/decorations.h b/include/constants/decorations.h new file mode 100644 index 000000000..2e3558721 --- /dev/null +++ b/include/constants/decorations.h @@ -0,0 +1,126 @@ +#ifndef GUARD_CONSTANTS_DECORATIONS_H +#define GUARD_CONSTANTS_DECORATIONS_H + +#define DECOR_NONE 0 +#define DECOR_SMALL_DESK 1 +#define DECOR_POKEMON_DESK 2 +#define DECOR_HEAVY_DESK 3 +#define DECOR_RAGGED_DESK 4 +#define DECOR_COMFORT_DESK 5 +#define DECOR_PRETTY_DESK 6 +#define DECOR_BRICK_DESK 7 +#define DECOR_CAMP_DESK 8 +#define DECOR_HARD_DESK 9 +#define DECOR_SMALL_CHAIR 10 +#define DECOR_POKEMON_CHAIR 11 +#define DECOR_HEAVY_CHAIR 12 +#define DECOR_PRETTY_CHAIR 13 +#define DECOR_COMFORT_CHAIR 14 +#define DECOR_RAGGED_CHAIR 15 +#define DECOR_BRICK_CHAIR 16 +#define DECOR_CAMP_CHAIR 17 +#define DECOR_HARD_CHAIR 18 +#define DECOR_RED_PLANT 19 +#define DECOR_TROPICAL_PLANT 20 +#define DECOR_PRETTY_FLOWERS 21 +#define DECOR_COLORFUL_PLANT 22 +#define DECOR_BIG_PLANT 23 +#define DECOR_GORGEOUS_PLANT 24 +#define DECOR_RED_BRICK 25 +#define DECOR_YELLOW_BRICK 26 +#define DECOR_BLUE_BRICK 27 +#define DECOR_RED_BALLOON 28 +#define DECOR_BLUE_BALLOON 29 +#define DECOR_YELLOW_BALLOON 30 +#define DECOR_RED_TENT 31 +#define DECOR_BLUE_TENT 32 +#define DECOR_SOLID_BOARD 33 +#define DECOR_SLIDE 34 +#define DECOR_FENCE_LENGTH 35 +#define DECOR_FENCE_WIDTH 36 +#define DECOR_TIRE 37 +#define DECOR_STAND 38 +#define DECOR_MUD_BALL 39 +#define DECOR_BREAKABLE_DOOR 40 +#define DECOR_SAND_ORNAMENT 41 +#define DECOR_SILVER_SHIELD 42 +#define DECOR_GOLD_SHIELD 43 +#define DECOR_GLASS_ORNAMENT 44 +#define DECOR_TV 45 +#define DECOR_ROUND_TV 46 +#define DECOR_CUTE_TV 47 +#define DECOR_GLITTER_MAT 48 +#define DECOR_JUMP_MAT 49 +#define DECOR_SPIN_MAT 50 +#define DECOR_C_LOW_NOTE_MAT 51 +#define DECOR_D_NOTE_MAT 52 +#define DECOR_E_NOTE_MAT 53 +#define DECOR_F_NOTE_MAT 54 +#define DECOR_G_NOTE_MAT 55 +#define DECOR_A_NOTE_MAT 56 +#define DECOR_B_NOTE_MAT 57 +#define DECOR_C_HIGH_NOTE_MAT 58 +#define DECOR_SURF_MAT 59 +#define DECOR_THUNDER_MAT 60 +#define DECOR_FIRE_BLAST_MAT 61 +#define DECOR_POWDER_SNOW_MAT 62 +#define DECOR_ATTRACT_MAT 63 +#define DECOR_FISSURE_MAT 64 +#define DECOR_SPIKES_MAT 65 +#define DECOR_BALL_POSTER 66 +#define DECOR_GREEN_POSTER 67 +#define DECOR_RED_POSTER 68 +#define DECOR_BLUE_POSTER 69 +#define DECOR_CUTE_POSTER 70 +#define DECOR_PIKA_POSTER 71 +#define DECOR_LONG_POSTER 72 +#define DECOR_SEA_POSTER 73 +#define DECOR_SKY_POSTER 74 +#define DECOR_KISS_POSTER 75 +#define DECOR_PICHU_DOLL 76 +#define DECOR_PIKACHU_DOLL 77 +#define DECOR_MARILL_DOLL 78 +#define DECOR_TOGEPI_DOLL 79 +#define DECOR_CYNDAQUIL_DOLL 80 +#define DECOR_CHIKORITA_DOLL 81 +#define DECOR_TOTODILE_DOLL 82 +#define DECOR_JIGGLYPUFF_DOLL 83 +#define DECOR_MEOWTH_DOLL 84 +#define DECOR_CLEFAIRY_DOLL 85 +#define DECOR_DITTO_DOLL 86 +#define DECOR_SMOOCHUM_DOLL 87 +#define DECOR_TREECKO_DOLL 88 +#define DECOR_TORCHIC_DOLL 89 +#define DECOR_MUDKIP_DOLL 90 +#define DECOR_DUSKULL_DOLL 91 +#define DECOR_WYNAUT_DOLL 92 +#define DECOR_BALTOY_DOLL 93 +#define DECOR_KECLEON_DOLL 94 +#define DECOR_AZURILL_DOLL 95 +#define DECOR_SKITTY_DOLL 96 +#define DECOR_SWABLU_DOLL 97 +#define DECOR_GULPIN_DOLL 98 +#define DECOR_LOTAD_DOLL 99 +#define DECOR_SEEDOT_DOLL 100 +#define DECOR_PIKA_CUSHION 101 +#define DECOR_ROUND_CUSHION 102 +#define DECOR_KISS_CUSHION 103 +#define DECOR_ZIGZAG_CUSHION 104 +#define DECOR_SPIN_CUSHION 105 +#define DECOR_DIAMOND_CUSHION 106 +#define DECOR_BALL_CUSHION 107 +#define DECOR_GRASS_CUSHION 108 +#define DECOR_FIRE_CUSHION 109 +#define DECOR_WATER_CUSHION 110 +#define DECOR_SNORLAX_DOLL 111 +#define DECOR_RHYDON_DOLL 112 +#define DECOR_LAPRAS_DOLL 113 +#define DECOR_VENUSAUR_DOLL 114 +#define DECOR_CHARIZARD_DOLL 115 +#define DECOR_BLASTOISE_DOLL 116 +#define DECOR_WAILMER_DOLL 117 +#define DECOR_REGIROCK_DOLL 118 +#define DECOR_REGICE_DOLL 119 +#define DECOR_REGISTEEL_DOLL 120 + +#endif // GUARD_CONSTANTS_DECORATIONS_H diff --git a/include/constants/easy_chat.h b/include/constants/easy_chat.h new file mode 100644 index 000000000..2c437c88e --- /dev/null +++ b/include/constants/easy_chat.h @@ -0,0 +1,1079 @@ +#ifndef GUARD_CONSTANTS_EASY_CHAT_H +#define GUARD_CONSTANTS_EASY_CHAT_H + +#define EC_GROUP_POKEMON 0x0 +#define EC_GROUP_TRAINER 0x1 +#define EC_GROUP_STATUS 0x2 +#define EC_GROUP_BATTLE 0x3 +#define EC_GROUP_GREETINGS 0x4 +#define EC_GROUP_PEOPLE 0x5 +#define EC_GROUP_VOICES 0x6 +#define EC_GROUP_SPEECH 0x7 +#define EC_GROUP_ENDINGS 0x8 +#define EC_GROUP_FEELINGS 0x9 +#define EC_GROUP_CONDITIONS 0xa +#define EC_GROUP_ACTIONS 0xb +#define EC_GROUP_LIFESTYLE 0xc +#define EC_GROUP_HOBBIES 0xd +#define EC_GROUP_TIME 0xe +#define EC_GROUP_MISC 0xf +#define EC_GROUP_ADJECTIVES 0x10 +#define EC_GROUP_EVENTS 0x11 +#define EC_GROUP_MOVE_1 0x12 +#define EC_GROUP_MOVE_2 0x13 +#define EC_GROUP_TRENDY_SAYING 0x14 +#define EC_GROUP_POKEMON_2 0x15 + +// TRAINER +#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0 +#define EC_WORD_GOTCHA (EC_GROUP_TRAINER << 9) | 0x1 +#define EC_WORD_TRADE (EC_GROUP_TRAINER << 9) | 0x2 +#define EC_WORD_SAPPHIRE (EC_GROUP_TRAINER << 9) | 0x3 +#define EC_WORD_EVOLVE (EC_GROUP_TRAINER << 9) | 0x4 +#define EC_WORD_ENCYCLOPEDIA (EC_GROUP_TRAINER << 9) | 0x5 +#define EC_WORD_NATURE (EC_GROUP_TRAINER << 9) | 0x6 +#define EC_WORD_CENTER (EC_GROUP_TRAINER << 9) | 0x7 +#define EC_WORD_EGG (EC_GROUP_TRAINER << 9) | 0x8 +#define EC_WORD_LINK (EC_GROUP_TRAINER << 9) | 0x9 +#define EC_WORD_SP_ABILITY (EC_GROUP_TRAINER << 9) | 0xa +#define EC_WORD_TRAINER (EC_GROUP_TRAINER << 9) | 0xb +#define EC_WORD_VERSION (EC_GROUP_TRAINER << 9) | 0xc +#define EC_WORD_POKENAV (EC_GROUP_TRAINER << 9) | 0xd +#define EC_WORD_POKEMON (EC_GROUP_TRAINER << 9) | 0xe +#define EC_WORD_GET (EC_GROUP_TRAINER << 9) | 0xf +#define EC_WORD_POKEDEX (EC_GROUP_TRAINER << 9) | 0x10 +#define EC_WORD_RUBY (EC_GROUP_TRAINER << 9) | 0x11 +#define EC_WORD_LEVEL (EC_GROUP_TRAINER << 9) | 0x12 +#define EC_WORD_RED (EC_GROUP_TRAINER << 9) | 0x13 +#define EC_WORD_GREEN (EC_GROUP_TRAINER << 9) | 0x14 +#define EC_WORD_BAG (EC_GROUP_TRAINER << 9) | 0x15 +#define EC_WORD_FLAME (EC_GROUP_TRAINER << 9) | 0x16 +#define EC_WORD_GOLD (EC_GROUP_TRAINER << 9) | 0x17 +#define EC_WORD_LEAF (EC_GROUP_TRAINER << 9) | 0x18 +#define EC_WORD_SILVER (EC_GROUP_TRAINER << 9) | 0x19 +#define EC_WORD_EMERALD (EC_GROUP_TRAINER << 9) | 0x1a + +// STATUS +#define EC_WORD_DARK (EC_GROUP_STATUS << 9) | 0x0 +#define EC_WORD_STENCH (EC_GROUP_STATUS << 9) | 0x1 +#define EC_WORD_THICK_FAT (EC_GROUP_STATUS << 9) | 0x2 +#define EC_WORD_RAIN_DISH (EC_GROUP_STATUS << 9) | 0x3 +#define EC_WORD_DRIZZLE (EC_GROUP_STATUS << 9) | 0x4 +#define EC_WORD_ARENA_TRAP (EC_GROUP_STATUS << 9) | 0x5 +#define EC_WORD_INTIMIDATE (EC_GROUP_STATUS << 9) | 0x6 +#define EC_WORD_ROCK_HEAD (EC_GROUP_STATUS << 9) | 0x7 +#define EC_WORD_COLOR (EC_GROUP_STATUS << 9) | 0x8 +#define EC_WORD_ALT_COLOR (EC_GROUP_STATUS << 9) | 0x9 +#define EC_WORD_ROCK (EC_GROUP_STATUS << 9) | 0xa +#define EC_WORD_BEAUTIFUL (EC_GROUP_STATUS << 9) | 0xb +#define EC_WORD_BEAUTY (EC_GROUP_STATUS << 9) | 0xc +#define EC_WORD_AIR_LOCK (EC_GROUP_STATUS << 9) | 0xd +#define EC_WORD_PSYCHIC (EC_GROUP_STATUS << 9) | 0xe +#define EC_WORD_HYPER_CUTTER (EC_GROUP_STATUS << 9) | 0xf +#define EC_WORD_FIGHTING (EC_GROUP_STATUS << 9) | 0x10 +#define EC_WORD_SHADOW_TAG (EC_GROUP_STATUS << 9) | 0x11 +#define EC_WORD_SMART (EC_GROUP_STATUS << 9) | 0x12 +#define EC_WORD_SMARTNESS (EC_GROUP_STATUS << 9) | 0x13 +#define EC_WORD_SPEED_BOOST (EC_GROUP_STATUS << 9) | 0x14 +#define EC_WORD_COOL (EC_GROUP_STATUS << 9) | 0x15 +#define EC_WORD_COOLNESS (EC_GROUP_STATUS << 9) | 0x16 +#define EC_WORD_BATTLE_ARMOR (EC_GROUP_STATUS << 9) | 0x17 +#define EC_WORD_CUTE (EC_GROUP_STATUS << 9) | 0x18 +#define EC_WORD_CUTENESS (EC_GROUP_STATUS << 9) | 0x19 +#define EC_WORD_STURDY (EC_GROUP_STATUS << 9) | 0x1a +#define EC_WORD_SUCTION_CUPS (EC_GROUP_STATUS << 9) | 0x1b +#define EC_WORD_GRASS (EC_GROUP_STATUS << 9) | 0x1c +#define EC_WORD_CLEAR_BODY (EC_GROUP_STATUS << 9) | 0x1d +#define EC_WORD_TORRENT (EC_GROUP_STATUS << 9) | 0x1e +#define EC_WORD_GHOST (EC_GROUP_STATUS << 9) | 0x1f +#define EC_WORD_ICE (EC_GROUP_STATUS << 9) | 0x20 +#define EC_WORD_GUTS (EC_GROUP_STATUS << 9) | 0x21 +#define EC_WORD_ROUGH_SKIN (EC_GROUP_STATUS << 9) | 0x22 +#define EC_WORD_SHELL_ARMOR (EC_GROUP_STATUS << 9) | 0x23 +#define EC_WORD_NATURAL_CURE (EC_GROUP_STATUS << 9) | 0x24 +#define EC_WORD_DAMP (EC_GROUP_STATUS << 9) | 0x25 +#define EC_WORD_GROUND (EC_GROUP_STATUS << 9) | 0x26 +#define EC_WORD_LIMBER (EC_GROUP_STATUS << 9) | 0x27 +#define EC_WORD_MAGNET_PULL (EC_GROUP_STATUS << 9) | 0x28 +#define EC_WORD_WHITE_SMOKE (EC_GROUP_STATUS << 9) | 0x29 +#define EC_WORD_SYNCHRONIZE (EC_GROUP_STATUS << 9) | 0x2a +#define EC_WORD_OVERGROW (EC_GROUP_STATUS << 9) | 0x2b +#define EC_WORD_SWIFT_SWIM (EC_GROUP_STATUS << 9) | 0x2c +#define EC_WORD_SAND_STREAM (EC_GROUP_STATUS << 9) | 0x2d +#define EC_WORD_SAND_VEIL (EC_GROUP_STATUS << 9) | 0x2e +#define EC_WORD_KEEN_EYE (EC_GROUP_STATUS << 9) | 0x2f +#define EC_WORD_INNER_FOCUS (EC_GROUP_STATUS << 9) | 0x30 +#define EC_WORD_STATIC (EC_GROUP_STATUS << 9) | 0x31 +#define EC_WORD_TYPE (EC_GROUP_STATUS << 9) | 0x32 +#define EC_WORD_TOUGH (EC_GROUP_STATUS << 9) | 0x33 +#define EC_WORD_TOUGHNESS (EC_GROUP_STATUS << 9) | 0x34 +#define EC_WORD_SHED_SKIN (EC_GROUP_STATUS << 9) | 0x35 +#define EC_WORD_HUGE_POWER (EC_GROUP_STATUS << 9) | 0x36 +#define EC_WORD_VOLT_ABSORB (EC_GROUP_STATUS << 9) | 0x37 +#define EC_WORD_WATER_ABSORB (EC_GROUP_STATUS << 9) | 0x38 +#define EC_WORD_ELECTRIC (EC_GROUP_STATUS << 9) | 0x39 +#define EC_WORD_FORECAST (EC_GROUP_STATUS << 9) | 0x3a +#define EC_WORD_SERENE_GRACE (EC_GROUP_STATUS << 9) | 0x3b +#define EC_WORD_POISON (EC_GROUP_STATUS << 9) | 0x3c +#define EC_WORD_POISON_POINT (EC_GROUP_STATUS << 9) | 0x3d +#define EC_WORD_DRAGON (EC_GROUP_STATUS << 9) | 0x3e +#define EC_WORD_TRACE (EC_GROUP_STATUS << 9) | 0x3f +#define EC_WORD_OBLIVIOUS (EC_GROUP_STATUS << 9) | 0x40 +#define EC_WORD_TRUANT (EC_GROUP_STATUS << 9) | 0x41 +#define EC_WORD_RUN_AWAY (EC_GROUP_STATUS << 9) | 0x42 +#define EC_WORD_STICKY_HOLD (EC_GROUP_STATUS << 9) | 0x43 +#define EC_WORD_CLOUD_NINE (EC_GROUP_STATUS << 9) | 0x44 +#define EC_WORD_NORMAL (EC_GROUP_STATUS << 9) | 0x45 +#define EC_WORD_STEEL (EC_GROUP_STATUS << 9) | 0x46 +#define EC_WORD_ILLUMINATE (EC_GROUP_STATUS << 9) | 0x47 +#define EC_WORD_EARLY_BIRD (EC_GROUP_STATUS << 9) | 0x48 +#define EC_WORD_HUSTLE (EC_GROUP_STATUS << 9) | 0x49 +#define EC_WORD_SHINE (EC_GROUP_STATUS << 9) | 0x4a +#define EC_WORD_FLYING (EC_GROUP_STATUS << 9) | 0x4b +#define EC_WORD_DROUGHT (EC_GROUP_STATUS << 9) | 0x4c +#define EC_WORD_LIGHTNINGROD (EC_GROUP_STATUS << 9) | 0x4d +#define EC_WORD_COMPOUNDEYES (EC_GROUP_STATUS << 9) | 0x4e +#define EC_WORD_MARVEL_SCALE (EC_GROUP_STATUS << 9) | 0x4f +#define EC_WORD_WONDER_GUARD (EC_GROUP_STATUS << 9) | 0x50 +#define EC_WORD_INSOMNIA (EC_GROUP_STATUS << 9) | 0x51 +#define EC_WORD_LEVITATE (EC_GROUP_STATUS << 9) | 0x52 +#define EC_WORD_PLUS (EC_GROUP_STATUS << 9) | 0x53 +#define EC_WORD_PRESSURE (EC_GROUP_STATUS << 9) | 0x54 +#define EC_WORD_LIQUID_OOZE (EC_GROUP_STATUS << 9) | 0x55 +#define EC_WORD_COLOR_CHANGE (EC_GROUP_STATUS << 9) | 0x56 +#define EC_WORD_SOUNDPROOF (EC_GROUP_STATUS << 9) | 0x57 +#define EC_WORD_EFFECT_SPORE (EC_GROUP_STATUS << 9) | 0x58 +#define EC_WORD_PKRS (EC_GROUP_STATUS << 9) | 0x59 +#define EC_WORD_FIRE (EC_GROUP_STATUS << 9) | 0x5a +#define EC_WORD_FLAME_BODY (EC_GROUP_STATUS << 9) | 0x5b +#define EC_WORD_MINUS (EC_GROUP_STATUS << 9) | 0x5c +#define EC_WORD_OWN_TEMPO (EC_GROUP_STATUS << 9) | 0x5d +#define EC_WORD_MAGMA_ARMOR (EC_GROUP_STATUS << 9) | 0x5e +#define EC_WORD_WATER (EC_GROUP_STATUS << 9) | 0x5f +#define EC_WORD_WATER_VEIL (EC_GROUP_STATUS << 9) | 0x60 +#define EC_WORD_BUG (EC_GROUP_STATUS << 9) | 0x61 +#define EC_WORD_SWARM (EC_GROUP_STATUS << 9) | 0x62 +#define EC_WORD_CUTE_CHARM (EC_GROUP_STATUS << 9) | 0x63 +#define EC_WORD_IMMUNITY (EC_GROUP_STATUS << 9) | 0x64 +#define EC_WORD_BLAZE (EC_GROUP_STATUS << 9) | 0x65 +#define EC_WORD_PICKUP (EC_GROUP_STATUS << 9) | 0x66 +#define EC_WORD_PATTERN (EC_GROUP_STATUS << 9) | 0x67 +#define EC_WORD_FLASH_FIRE (EC_GROUP_STATUS << 9) | 0x68 +#define EC_WORD_VITAL_SPIRIT (EC_GROUP_STATUS << 9) | 0x69 +#define EC_WORD_CHLOROPHYLL (EC_GROUP_STATUS << 9) | 0x6a +#define EC_WORD_PURE_POWER (EC_GROUP_STATUS << 9) | 0x6b +#define EC_WORD_SHIELD_DUST (EC_GROUP_STATUS << 9) | 0x6c + +// BATTLE +#define EC_WORD_MATCH_UP (EC_GROUP_BATTLE << 9) | 0x0 +#define EC_WORD_GO (EC_GROUP_BATTLE << 9) | 0x1 +#define EC_WORD_NO_1 (EC_GROUP_BATTLE << 9) | 0x2 +#define EC_WORD_DECIDE (EC_GROUP_BATTLE << 9) | 0x3 +#define EC_WORD_LET_ME_WIN (EC_GROUP_BATTLE << 9) | 0x4 +#define EC_WORD_WINS (EC_GROUP_BATTLE << 9) | 0x5 +#define EC_WORD_WIN (EC_GROUP_BATTLE << 9) | 0x6 +#define EC_WORD_WON (EC_GROUP_BATTLE << 9) | 0x7 +#define EC_WORD_IF_I_WIN (EC_GROUP_BATTLE << 9) | 0x8 +#define EC_WORD_WHEN_I_WIN (EC_GROUP_BATTLE << 9) | 0x9 +#define EC_WORD_CAN_T_WIN (EC_GROUP_BATTLE << 9) | 0xa +#define EC_WORD_CAN_WIN (EC_GROUP_BATTLE << 9) | 0xb +#define EC_WORD_NO_MATCH (EC_GROUP_BATTLE << 9) | 0xc +#define EC_WORD_SPIRIT (EC_GROUP_BATTLE << 9) | 0xd +#define EC_WORD_DECIDED (EC_GROUP_BATTLE << 9) | 0xe +#define EC_WORD_TRUMP_CARD (EC_GROUP_BATTLE << 9) | 0xf +#define EC_WORD_TAKE_THAT (EC_GROUP_BATTLE << 9) | 0x10 +#define EC_WORD_COME_ON (EC_GROUP_BATTLE << 9) | 0x11 +#define EC_WORD_ATTACK (EC_GROUP_BATTLE << 9) | 0x12 +#define EC_WORD_SURRENDER (EC_GROUP_BATTLE << 9) | 0x13 +#define EC_WORD_GUTSY (EC_GROUP_BATTLE << 9) | 0x14 +#define EC_WORD_TALENT (EC_GROUP_BATTLE << 9) | 0x15 +#define EC_WORD_STRATEGY (EC_GROUP_BATTLE << 9) | 0x16 +#define EC_WORD_SMITE (EC_GROUP_BATTLE << 9) | 0x17 +#define EC_WORD_MATCH (EC_GROUP_BATTLE << 9) | 0x18 +#define EC_WORD_VICTORY (EC_GROUP_BATTLE << 9) | 0x19 +#define EC_WORD_OFFENSIVE (EC_GROUP_BATTLE << 9) | 0x1a +#define EC_WORD_SENSE (EC_GROUP_BATTLE << 9) | 0x1b +#define EC_WORD_VERSUS (EC_GROUP_BATTLE << 9) | 0x1c +#define EC_WORD_FIGHTS (EC_GROUP_BATTLE << 9) | 0x1d +#define EC_WORD_POWER (EC_GROUP_BATTLE << 9) | 0x1e +#define EC_WORD_CHALLENGE (EC_GROUP_BATTLE << 9) | 0x1f +#define EC_WORD_STRONG (EC_GROUP_BATTLE << 9) | 0x20 +#define EC_WORD_TOO_STRONG (EC_GROUP_BATTLE << 9) | 0x21 +#define EC_WORD_GO_EASY (EC_GROUP_BATTLE << 9) | 0x22 +#define EC_WORD_FOE (EC_GROUP_BATTLE << 9) | 0x23 +#define EC_WORD_GENIUS (EC_GROUP_BATTLE << 9) | 0x24 +#define EC_WORD_LEGEND (EC_GROUP_BATTLE << 9) | 0x25 +#define EC_WORD_ESCAPE (EC_GROUP_BATTLE << 9) | 0x26 +#define EC_WORD_AIM (EC_GROUP_BATTLE << 9) | 0x27 +#define EC_WORD_BATTLE (EC_GROUP_BATTLE << 9) | 0x28 +#define EC_WORD_FIGHT (EC_GROUP_BATTLE << 9) | 0x29 +#define EC_WORD_RESUSCITATE (EC_GROUP_BATTLE << 9) | 0x2a +#define EC_WORD_POINTS (EC_GROUP_BATTLE << 9) | 0x2b +#define EC_WORD_SERIOUS (EC_GROUP_BATTLE << 9) | 0x2c +#define EC_WORD_GIVE_UP (EC_GROUP_BATTLE << 9) | 0x2d +#define EC_WORD_LOSS (EC_GROUP_BATTLE << 9) | 0x2e +#define EC_WORD_IF_I_LOSE (EC_GROUP_BATTLE << 9) | 0x2f +#define EC_WORD_LOST (EC_GROUP_BATTLE << 9) | 0x30 +#define EC_WORD_LOSE (EC_GROUP_BATTLE << 9) | 0x31 +#define EC_WORD_GUARD (EC_GROUP_BATTLE << 9) | 0x32 +#define EC_WORD_PARTNER (EC_GROUP_BATTLE << 9) | 0x33 +#define EC_WORD_REJECT (EC_GROUP_BATTLE << 9) | 0x34 +#define EC_WORD_ACCEPT (EC_GROUP_BATTLE << 9) | 0x35 +#define EC_WORD_INVINCIBLE (EC_GROUP_BATTLE << 9) | 0x36 +#define EC_WORD_RECEIVED (EC_GROUP_BATTLE << 9) | 0x37 +#define EC_WORD_EASY (EC_GROUP_BATTLE << 9) | 0x38 +#define EC_WORD_WEAK (EC_GROUP_BATTLE << 9) | 0x39 +#define EC_WORD_TOO_WEAK (EC_GROUP_BATTLE << 9) | 0x3a +#define EC_WORD_PUSHOVER (EC_GROUP_BATTLE << 9) | 0x3b +#define EC_WORD_LEADER (EC_GROUP_BATTLE << 9) | 0x3c +#define EC_WORD_RULE (EC_GROUP_BATTLE << 9) | 0x3d +#define EC_WORD_MOVE (EC_GROUP_BATTLE << 9) | 0x3e + +// GREETINGS +#define EC_WORD_THANKS (EC_GROUP_GREETINGS << 9) | 0x0 +#define EC_WORD_YES (EC_GROUP_GREETINGS << 9) | 0x1 +#define EC_WORD_HERE_GOES (EC_GROUP_GREETINGS << 9) | 0x2 +#define EC_WORD_HERE_I_COME (EC_GROUP_GREETINGS << 9) | 0x3 +#define EC_WORD_HERE_IT_IS (EC_GROUP_GREETINGS << 9) | 0x4 +#define EC_WORD_YEAH (EC_GROUP_GREETINGS << 9) | 0x5 +#define EC_WORD_WELCOME (EC_GROUP_GREETINGS << 9) | 0x6 +#define EC_WORD_OI (EC_GROUP_GREETINGS << 9) | 0x7 +#define EC_WORD_HOW_DO (EC_GROUP_GREETINGS << 9) | 0x8 +#define EC_WORD_CONGRATS (EC_GROUP_GREETINGS << 9) | 0x9 +#define EC_WORD_GIVE_ME (EC_GROUP_GREETINGS << 9) | 0xa +#define EC_WORD_SORRY (EC_GROUP_GREETINGS << 9) | 0xb +#define EC_WORD_APOLOGIZE (EC_GROUP_GREETINGS << 9) | 0xc +#define EC_WORD_FORGIVE (EC_GROUP_GREETINGS << 9) | 0xd +#define EC_WORD_HEY_THERE (EC_GROUP_GREETINGS << 9) | 0xe +#define EC_WORD_HELLO (EC_GROUP_GREETINGS << 9) | 0xf +#define EC_WORD_GOOD_BYE (EC_GROUP_GREETINGS << 9) | 0x10 +#define EC_WORD_THANK_YOU (EC_GROUP_GREETINGS << 9) | 0x11 +#define EC_WORD_I_VE_ARRIVED (EC_GROUP_GREETINGS << 9) | 0x12 +#define EC_WORD_PARDON (EC_GROUP_GREETINGS << 9) | 0x13 +#define EC_WORD_EXCUSE (EC_GROUP_GREETINGS << 9) | 0x14 +#define EC_WORD_SEE_YA (EC_GROUP_GREETINGS << 9) | 0x15 +#define EC_WORD_EXCUSE_ME (EC_GROUP_GREETINGS << 9) | 0x16 +#define EC_WORD_WELL_THEN (EC_GROUP_GREETINGS << 9) | 0x17 +#define EC_WORD_GO_AHEAD (EC_GROUP_GREETINGS << 9) | 0x18 +#define EC_WORD_APPRECIATE (EC_GROUP_GREETINGS << 9) | 0x19 +#define EC_WORD_HEY_QUES (EC_GROUP_GREETINGS << 9) | 0x1a +#define EC_WORD_WHAT_S_UP_QUES (EC_GROUP_GREETINGS << 9) | 0x1b +#define EC_WORD_HUH_QUES (EC_GROUP_GREETINGS << 9) | 0x1c +#define EC_WORD_NO (EC_GROUP_GREETINGS << 9) | 0x1d +#define EC_WORD_HI (EC_GROUP_GREETINGS << 9) | 0x1e +#define EC_WORD_YEAH_YEAH (EC_GROUP_GREETINGS << 9) | 0x1f +#define EC_WORD_BYE_BYE (EC_GROUP_GREETINGS << 9) | 0x20 +#define EC_WORD_MEET_YOU (EC_GROUP_GREETINGS << 9) | 0x21 +#define EC_WORD_HEY (EC_GROUP_GREETINGS << 9) | 0x22 +#define EC_WORD_SMELL (EC_GROUP_GREETINGS << 9) | 0x23 +#define EC_WORD_LISTENING (EC_GROUP_GREETINGS << 9) | 0x24 +#define EC_WORD_HOO_HAH (EC_GROUP_GREETINGS << 9) | 0x25 +#define EC_WORD_YAHOO (EC_GROUP_GREETINGS << 9) | 0x26 +#define EC_WORD_YO (EC_GROUP_GREETINGS << 9) | 0x27 +#define EC_WORD_COME_OVER (EC_GROUP_GREETINGS << 9) | 0x28 +#define EC_WORD_COUNT_ON (EC_GROUP_GREETINGS << 9) | 0x29 + +// PEOPLE +#define EC_WORD_OPPONENT (EC_GROUP_PEOPLE << 9) | 0x0 +#define EC_WORD_I (EC_GROUP_PEOPLE << 9) | 0x1 +#define EC_WORD_YOU (EC_GROUP_PEOPLE << 9) | 0x2 +#define EC_WORD_YOURS (EC_GROUP_PEOPLE << 9) | 0x3 +#define EC_WORD_SON (EC_GROUP_PEOPLE << 9) | 0x4 +#define EC_WORD_YOUR (EC_GROUP_PEOPLE << 9) | 0x5 +#define EC_WORD_YOU_RE (EC_GROUP_PEOPLE << 9) | 0x6 +#define EC_WORD_YOU_VE (EC_GROUP_PEOPLE << 9) | 0x7 +#define EC_WORD_MOTHER (EC_GROUP_PEOPLE << 9) | 0x8 +#define EC_WORD_GRANDFATHER (EC_GROUP_PEOPLE << 9) | 0x9 +#define EC_WORD_UNCLE (EC_GROUP_PEOPLE << 9) | 0xa +#define EC_WORD_FATHER (EC_GROUP_PEOPLE << 9) | 0xb +#define EC_WORD_BOY (EC_GROUP_PEOPLE << 9) | 0xc +#define EC_WORD_ADULT (EC_GROUP_PEOPLE << 9) | 0xd +#define EC_WORD_BROTHER (EC_GROUP_PEOPLE << 9) | 0xe +#define EC_WORD_SISTER (EC_GROUP_PEOPLE << 9) | 0xf +#define EC_WORD_GRANDMOTHER (EC_GROUP_PEOPLE << 9) | 0x10 +#define EC_WORD_AUNT (EC_GROUP_PEOPLE << 9) | 0x11 +#define EC_WORD_PARENT (EC_GROUP_PEOPLE << 9) | 0x12 +#define EC_WORD_MAN (EC_GROUP_PEOPLE << 9) | 0x13 +#define EC_WORD_ME (EC_GROUP_PEOPLE << 9) | 0x14 +#define EC_WORD_GIRL (EC_GROUP_PEOPLE << 9) | 0x15 +#define EC_WORD_BABE (EC_GROUP_PEOPLE << 9) | 0x16 +#define EC_WORD_FAMILY (EC_GROUP_PEOPLE << 9) | 0x17 +#define EC_WORD_HER (EC_GROUP_PEOPLE << 9) | 0x18 +#define EC_WORD_HIM (EC_GROUP_PEOPLE << 9) | 0x19 +#define EC_WORD_HE (EC_GROUP_PEOPLE << 9) | 0x1a +#define EC_WORD_PLACE (EC_GROUP_PEOPLE << 9) | 0x1b +#define EC_WORD_DAUGHTER (EC_GROUP_PEOPLE << 9) | 0x1c +#define EC_WORD_HIS (EC_GROUP_PEOPLE << 9) | 0x1d +#define EC_WORD_HE_S (EC_GROUP_PEOPLE << 9) | 0x1e +#define EC_WORD_AREN_T (EC_GROUP_PEOPLE << 9) | 0x1f +#define EC_WORD_SIBLINGS (EC_GROUP_PEOPLE << 9) | 0x20 +#define EC_WORD_KID (EC_GROUP_PEOPLE << 9) | 0x21 +#define EC_WORD_CHILDREN (EC_GROUP_PEOPLE << 9) | 0x22 +#define EC_WORD_MR (EC_GROUP_PEOPLE << 9) | 0x23 +#define EC_WORD_MRS (EC_GROUP_PEOPLE << 9) | 0x24 +#define EC_WORD_MYSELF (EC_GROUP_PEOPLE << 9) | 0x25 +#define EC_WORD_I_WAS (EC_GROUP_PEOPLE << 9) | 0x26 +#define EC_WORD_TO_ME (EC_GROUP_PEOPLE << 9) | 0x27 +#define EC_WORD_MY (EC_GROUP_PEOPLE << 9) | 0x28 +#define EC_WORD_I_AM (EC_GROUP_PEOPLE << 9) | 0x29 +#define EC_WORD_I_VE (EC_GROUP_PEOPLE << 9) | 0x2a +#define EC_WORD_WHO (EC_GROUP_PEOPLE << 9) | 0x2b +#define EC_WORD_SOMEONE (EC_GROUP_PEOPLE << 9) | 0x2c +#define EC_WORD_WHO_WAS (EC_GROUP_PEOPLE << 9) | 0x2d +#define EC_WORD_TO_WHOM (EC_GROUP_PEOPLE << 9) | 0x2e +#define EC_WORD_WHOSE (EC_GROUP_PEOPLE << 9) | 0x2f +#define EC_WORD_WHO_IS (EC_GROUP_PEOPLE << 9) | 0x30 +#define EC_WORD_IT_S (EC_GROUP_PEOPLE << 9) | 0x31 +#define EC_WORD_LADY (EC_GROUP_PEOPLE << 9) | 0x32 +#define EC_WORD_FRIEND (EC_GROUP_PEOPLE << 9) | 0x33 +#define EC_WORD_ALLY (EC_GROUP_PEOPLE << 9) | 0x34 +#define EC_WORD_PERSON (EC_GROUP_PEOPLE << 9) | 0x35 +#define EC_WORD_DUDE (EC_GROUP_PEOPLE << 9) | 0x36 +#define EC_WORD_THEY (EC_GROUP_PEOPLE << 9) | 0x37 +#define EC_WORD_THEY_WERE (EC_GROUP_PEOPLE << 9) | 0x38 +#define EC_WORD_TO_THEM (EC_GROUP_PEOPLE << 9) | 0x39 +#define EC_WORD_THEIR (EC_GROUP_PEOPLE << 9) | 0x3a +#define EC_WORD_THEY_RE (EC_GROUP_PEOPLE << 9) | 0x3b +#define EC_WORD_THEY_VE (EC_GROUP_PEOPLE << 9) | 0x3c +#define EC_WORD_WE (EC_GROUP_PEOPLE << 9) | 0x3d +#define EC_WORD_BEEN (EC_GROUP_PEOPLE << 9) | 0x3e +#define EC_WORD_TO_US (EC_GROUP_PEOPLE << 9) | 0x3f +#define EC_WORD_OUR (EC_GROUP_PEOPLE << 9) | 0x40 +#define EC_WORD_WE_RE (EC_GROUP_PEOPLE << 9) | 0x41 +#define EC_WORD_RIVAL (EC_GROUP_PEOPLE << 9) | 0x42 +#define EC_WORD_WE_VE (EC_GROUP_PEOPLE << 9) | 0x43 +#define EC_WORD_WOMAN (EC_GROUP_PEOPLE << 9) | 0x44 +#define EC_WORD_SHE (EC_GROUP_PEOPLE << 9) | 0x45 +#define EC_WORD_SHE_WAS (EC_GROUP_PEOPLE << 9) | 0x46 +#define EC_WORD_TO_HER (EC_GROUP_PEOPLE << 9) | 0x47 +#define EC_WORD_HERS (EC_GROUP_PEOPLE << 9) | 0x48 +#define EC_WORD_SHE_IS (EC_GROUP_PEOPLE << 9) | 0x49 +#define EC_WORD_SOME (EC_GROUP_PEOPLE << 9) | 0x4a + +// VOICES +#define EC_WORD_EXCL (EC_GROUP_VOICES << 9) | 0x0 +#define EC_WORD_EXCL_EXCL (EC_GROUP_VOICES << 9) | 0x1 +#define EC_WORD_QUES_EXCL (EC_GROUP_VOICES << 9) | 0x2 +#define EC_WORD_QUES (EC_GROUP_VOICES << 9) | 0x3 +#define EC_WORD_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x4 +#define EC_WORD_ELLIPSIS_EXCL (EC_GROUP_VOICES << 9) | 0x5 +#define EC_WORD_ELLIPSIS_ELLIPSIS_ELLIPSIS (EC_GROUP_VOICES << 9) | 0x6 +#define EC_WORD_DASH (EC_GROUP_VOICES << 9) | 0x7 +#define EC_WORD_DASH_DASH_DASH (EC_GROUP_VOICES << 9) | 0x8 +#define EC_WORD_UH_OH (EC_GROUP_VOICES << 9) | 0x9 +#define EC_WORD_WAAAH (EC_GROUP_VOICES << 9) | 0xa +#define EC_WORD_AHAHA (EC_GROUP_VOICES << 9) | 0xb +#define EC_WORD_OH_QUES (EC_GROUP_VOICES << 9) | 0xc +#define EC_WORD_NOPE (EC_GROUP_VOICES << 9) | 0xd +#define EC_WORD_URGH (EC_GROUP_VOICES << 9) | 0xe +#define EC_WORD_HMM (EC_GROUP_VOICES << 9) | 0xf +#define EC_WORD_WHOAH (EC_GROUP_VOICES << 9) | 0x10 +#define EC_WORD_WROOOAAR_EXCL (EC_GROUP_VOICES << 9) | 0x11 +#define EC_WORD_WOW (EC_GROUP_VOICES << 9) | 0x12 +#define EC_WORD_GIGGLE (EC_GROUP_VOICES << 9) | 0x13 +#define EC_WORD_SIGH (EC_GROUP_VOICES << 9) | 0x14 +#define EC_WORD_UNBELIEVABLE (EC_GROUP_VOICES << 9) | 0x15 +#define EC_WORD_CRIES (EC_GROUP_VOICES << 9) | 0x16 +#define EC_WORD_AGREE (EC_GROUP_VOICES << 9) | 0x17 +#define EC_WORD_EH_QUES (EC_GROUP_VOICES << 9) | 0x18 +#define EC_WORD_CRY (EC_GROUP_VOICES << 9) | 0x19 +#define EC_WORD_EHEHE (EC_GROUP_VOICES << 9) | 0x1a +#define EC_WORD_OI_OI_OI (EC_GROUP_VOICES << 9) | 0x1b +#define EC_WORD_OH_YEAH (EC_GROUP_VOICES << 9) | 0x1c +#define EC_WORD_OH (EC_GROUP_VOICES << 9) | 0x1d +#define EC_WORD_OOPS (EC_GROUP_VOICES << 9) | 0x1e +#define EC_WORD_SHOCKED (EC_GROUP_VOICES << 9) | 0x1f +#define EC_WORD_EEK (EC_GROUP_VOICES << 9) | 0x20 +#define EC_WORD_GRAAAH (EC_GROUP_VOICES << 9) | 0x21 +#define EC_WORD_GWAHAHAHA (EC_GROUP_VOICES << 9) | 0x22 +#define EC_WORD_WAY (EC_GROUP_VOICES << 9) | 0x23 +#define EC_WORD_TCH (EC_GROUP_VOICES << 9) | 0x24 +#define EC_WORD_HEHE (EC_GROUP_VOICES << 9) | 0x25 +#define EC_WORD_HAH (EC_GROUP_VOICES << 9) | 0x26 +#define EC_WORD_YUP (EC_GROUP_VOICES << 9) | 0x27 +#define EC_WORD_HAHAHA (EC_GROUP_VOICES << 9) | 0x28 +#define EC_WORD_AIYEEH (EC_GROUP_VOICES << 9) | 0x29 +#define EC_WORD_HIYAH (EC_GROUP_VOICES << 9) | 0x2a +#define EC_WORD_FUFUFU (EC_GROUP_VOICES << 9) | 0x2b +#define EC_WORD_LOL (EC_GROUP_VOICES << 9) | 0x2c +#define EC_WORD_SNORT (EC_GROUP_VOICES << 9) | 0x2d +#define EC_WORD_HUMPH (EC_GROUP_VOICES << 9) | 0x2e +#define EC_WORD_HEHEHE (EC_GROUP_VOICES << 9) | 0x2f +#define EC_WORD_HEH (EC_GROUP_VOICES << 9) | 0x30 +#define EC_WORD_HOHOHO (EC_GROUP_VOICES << 9) | 0x31 +#define EC_WORD_UH_HUH (EC_GROUP_VOICES << 9) | 0x32 +#define EC_WORD_OH_DEAR (EC_GROUP_VOICES << 9) | 0x33 +#define EC_WORD_ARRGH (EC_GROUP_VOICES << 9) | 0x34 +#define EC_WORD_MUFUFU (EC_GROUP_VOICES << 9) | 0x35 +#define EC_WORD_MMM (EC_GROUP_VOICES << 9) | 0x36 +#define EC_WORD_OH_KAY (EC_GROUP_VOICES << 9) | 0x37 +#define EC_WORD_OKAY (EC_GROUP_VOICES << 9) | 0x38 +#define EC_WORD_LALALA (EC_GROUP_VOICES << 9) | 0x39 +#define EC_WORD_YAY (EC_GROUP_VOICES << 9) | 0x3a +#define EC_WORD_AWW (EC_GROUP_VOICES << 9) | 0x3b +#define EC_WORD_WOWEE (EC_GROUP_VOICES << 9) | 0x3c +#define EC_WORD_GWAH (EC_GROUP_VOICES << 9) | 0x3d +#define EC_WORD_WAHAHAHA (EC_GROUP_VOICES << 9) | 0x3e + +// SPEECH +#define EC_WORD_LISTEN (EC_GROUP_SPEECH << 9) | 0x0 +#define EC_WORD_NOT_VERY (EC_GROUP_SPEECH << 9) | 0x1 +#define EC_WORD_MEAN (EC_GROUP_SPEECH << 9) | 0x2 +#define EC_WORD_LIE (EC_GROUP_SPEECH << 9) | 0x3 +#define EC_WORD_LAY (EC_GROUP_SPEECH << 9) | 0x4 +#define EC_WORD_RECOMMEND (EC_GROUP_SPEECH << 9) | 0x5 +#define EC_WORD_NITWIT (EC_GROUP_SPEECH << 9) | 0x6 +#define EC_WORD_QUITE (EC_GROUP_SPEECH << 9) | 0x7 +#define EC_WORD_FROM (EC_GROUP_SPEECH << 9) | 0x8 +#define EC_WORD_FEELING (EC_GROUP_SPEECH << 9) | 0x9 +#define EC_WORD_BUT (EC_GROUP_SPEECH << 9) | 0xa +#define EC_WORD_HOWEVER (EC_GROUP_SPEECH << 9) | 0xb +#define EC_WORD_CASE (EC_GROUP_SPEECH << 9) | 0xc +#define EC_WORD_THE (EC_GROUP_SPEECH << 9) | 0xd +#define EC_WORD_MISS (EC_GROUP_SPEECH << 9) | 0xe +#define EC_WORD_HOW (EC_GROUP_SPEECH << 9) | 0xf +#define EC_WORD_HIT (EC_GROUP_SPEECH << 9) | 0x10 +#define EC_WORD_ENOUGH (EC_GROUP_SPEECH << 9) | 0x11 +#define EC_WORD_A_LOT (EC_GROUP_SPEECH << 9) | 0x12 +#define EC_WORD_A_LITTLE (EC_GROUP_SPEECH << 9) | 0x13 +#define EC_WORD_ABSOLUTELY (EC_GROUP_SPEECH << 9) | 0x14 +#define EC_WORD_AND (EC_GROUP_SPEECH << 9) | 0x15 +#define EC_WORD_ONLY (EC_GROUP_SPEECH << 9) | 0x16 +#define EC_WORD_AROUND (EC_GROUP_SPEECH << 9) | 0x17 +#define EC_WORD_PROBABLY (EC_GROUP_SPEECH << 9) | 0x18 +#define EC_WORD_IF (EC_GROUP_SPEECH << 9) | 0x19 +#define EC_WORD_VERY (EC_GROUP_SPEECH << 9) | 0x1a +#define EC_WORD_A_TINY_BIT (EC_GROUP_SPEECH << 9) | 0x1b +#define EC_WORD_WILD (EC_GROUP_SPEECH << 9) | 0x1c +#define EC_WORD_THAT_S (EC_GROUP_SPEECH << 9) | 0x1d +#define EC_WORD_JUST (EC_GROUP_SPEECH << 9) | 0x1e +#define EC_WORD_EVEN_SO (EC_GROUP_SPEECH << 9) | 0x1f +#define EC_WORD_MUST_BE (EC_GROUP_SPEECH << 9) | 0x20 +#define EC_WORD_NATURALLY (EC_GROUP_SPEECH << 9) | 0x21 +#define EC_WORD_FOR_NOW (EC_GROUP_SPEECH << 9) | 0x22 +#define EC_WORD_UNDERSTOOD (EC_GROUP_SPEECH << 9) | 0x23 +#define EC_WORD_JOKING (EC_GROUP_SPEECH << 9) | 0x24 +#define EC_WORD_READY (EC_GROUP_SPEECH << 9) | 0x25 +#define EC_WORD_SOMETHING (EC_GROUP_SPEECH << 9) | 0x26 +#define EC_WORD_SOMEHOW (EC_GROUP_SPEECH << 9) | 0x27 +#define EC_WORD_ALTHOUGH (EC_GROUP_SPEECH << 9) | 0x28 +#define EC_WORD_ALSO (EC_GROUP_SPEECH << 9) | 0x29 +#define EC_WORD_PERFECT (EC_GROUP_SPEECH << 9) | 0x2a +#define EC_WORD_AS_MUCH_AS (EC_GROUP_SPEECH << 9) | 0x2b +#define EC_WORD_REALLY (EC_GROUP_SPEECH << 9) | 0x2c +#define EC_WORD_TRULY (EC_GROUP_SPEECH << 9) | 0x2d +#define EC_WORD_SERIOUSLY (EC_GROUP_SPEECH << 9) | 0x2e +#define EC_WORD_TOTALLY (EC_GROUP_SPEECH << 9) | 0x2f +#define EC_WORD_UNTIL (EC_GROUP_SPEECH << 9) | 0x30 +#define EC_WORD_AS_IF (EC_GROUP_SPEECH << 9) | 0x31 +#define EC_WORD_MOOD (EC_GROUP_SPEECH << 9) | 0x32 +#define EC_WORD_RATHER (EC_GROUP_SPEECH << 9) | 0x33 +#define EC_WORD_AWFULLY (EC_GROUP_SPEECH << 9) | 0x34 +#define EC_WORD_MODE (EC_GROUP_SPEECH << 9) | 0x35 +#define EC_WORD_MORE (EC_GROUP_SPEECH << 9) | 0x36 +#define EC_WORD_TOO_LATE (EC_GROUP_SPEECH << 9) | 0x37 +#define EC_WORD_FINALLY (EC_GROUP_SPEECH << 9) | 0x38 +#define EC_WORD_ANY (EC_GROUP_SPEECH << 9) | 0x39 +#define EC_WORD_INSTEAD (EC_GROUP_SPEECH << 9) | 0x3a +#define EC_WORD_FANTASTIC (EC_GROUP_SPEECH << 9) | 0x3b + +// ENDINGS +#define EC_WORD_WILL (EC_GROUP_ENDINGS << 9) | 0x0 +#define EC_WORD_WILL_BE_HERE (EC_GROUP_ENDINGS << 9) | 0x1 +#define EC_WORD_OR (EC_GROUP_ENDINGS << 9) | 0x2 +#define EC_WORD_TIMES (EC_GROUP_ENDINGS << 9) | 0x3 +#define EC_WORD_WONDER (EC_GROUP_ENDINGS << 9) | 0x4 +#define EC_WORD_IS_IT_QUES (EC_GROUP_ENDINGS << 9) | 0x5 +#define EC_WORD_BE (EC_GROUP_ENDINGS << 9) | 0x6 +#define EC_WORD_GIMME (EC_GROUP_ENDINGS << 9) | 0x7 +#define EC_WORD_COULD (EC_GROUP_ENDINGS << 9) | 0x8 +#define EC_WORD_LIKELY_TO (EC_GROUP_ENDINGS << 9) | 0x9 +#define EC_WORD_WOULD (EC_GROUP_ENDINGS << 9) | 0xa +#define EC_WORD_IS (EC_GROUP_ENDINGS << 9) | 0xb +#define EC_WORD_ISN_T_IT_QUES (EC_GROUP_ENDINGS << 9) | 0xc +#define EC_WORD_LET_S (EC_GROUP_ENDINGS << 9) | 0xd +#define EC_WORD_OTHER (EC_GROUP_ENDINGS << 9) | 0xe +#define EC_WORD_ARE (EC_GROUP_ENDINGS << 9) | 0xf +#define EC_WORD_WAS (EC_GROUP_ENDINGS << 9) | 0x10 +#define EC_WORD_WERE (EC_GROUP_ENDINGS << 9) | 0x11 +#define EC_WORD_THOSE (EC_GROUP_ENDINGS << 9) | 0x12 +#define EC_WORD_ISN_T (EC_GROUP_ENDINGS << 9) | 0x13 +#define EC_WORD_WON_T (EC_GROUP_ENDINGS << 9) | 0x14 +#define EC_WORD_CAN_T (EC_GROUP_ENDINGS << 9) | 0x15 +#define EC_WORD_CAN (EC_GROUP_ENDINGS << 9) | 0x16 +#define EC_WORD_DON_T (EC_GROUP_ENDINGS << 9) | 0x17 +#define EC_WORD_DO (EC_GROUP_ENDINGS << 9) | 0x18 +#define EC_WORD_DOES (EC_GROUP_ENDINGS << 9) | 0x19 +#define EC_WORD_WHOM (EC_GROUP_ENDINGS << 9) | 0x1a +#define EC_WORD_WHICH (EC_GROUP_ENDINGS << 9) | 0x1b +#define EC_WORD_WASN_T (EC_GROUP_ENDINGS << 9) | 0x1c +#define EC_WORD_WEREN_T (EC_GROUP_ENDINGS << 9) | 0x1d +#define EC_WORD_HAVE (EC_GROUP_ENDINGS << 9) | 0x1e +#define EC_WORD_HAVEN_T (EC_GROUP_ENDINGS << 9) | 0x1f +#define EC_WORD_A (EC_GROUP_ENDINGS << 9) | 0x20 +#define EC_WORD_AN (EC_GROUP_ENDINGS << 9) | 0x21 +#define EC_WORD_NOT (EC_GROUP_ENDINGS << 9) | 0x22 +#define EC_WORD_THERE (EC_GROUP_ENDINGS << 9) | 0x23 +#define EC_WORD_OK_QUES (EC_GROUP_ENDINGS << 9) | 0x24 +#define EC_WORD_SO (EC_GROUP_ENDINGS << 9) | 0x25 +#define EC_WORD_MAYBE (EC_GROUP_ENDINGS << 9) | 0x26 +#define EC_WORD_ABOUT (EC_GROUP_ENDINGS << 9) | 0x27 +#define EC_WORD_OVER (EC_GROUP_ENDINGS << 9) | 0x28 +#define EC_WORD_IT (EC_GROUP_ENDINGS << 9) | 0x29 +#define EC_WORD_ALL (EC_GROUP_ENDINGS << 9) | 0x2a +#define EC_WORD_FOR (EC_GROUP_ENDINGS << 9) | 0x2b +#define EC_WORD_ON (EC_GROUP_ENDINGS << 9) | 0x2c +#define EC_WORD_OFF (EC_GROUP_ENDINGS << 9) | 0x2d +#define EC_WORD_AS (EC_GROUP_ENDINGS << 9) | 0x2e +#define EC_WORD_TO (EC_GROUP_ENDINGS << 9) | 0x2f +#define EC_WORD_WITH (EC_GROUP_ENDINGS << 9) | 0x30 +#define EC_WORD_BETTER (EC_GROUP_ENDINGS << 9) | 0x31 +#define EC_WORD_EVER (EC_GROUP_ENDINGS << 9) | 0x32 +#define EC_WORD_SINCE (EC_GROUP_ENDINGS << 9) | 0x33 +#define EC_WORD_OF (EC_GROUP_ENDINGS << 9) | 0x34 +#define EC_WORD_BELONGS_TO (EC_GROUP_ENDINGS << 9) | 0x35 +#define EC_WORD_AT (EC_GROUP_ENDINGS << 9) | 0x36 +#define EC_WORD_IN (EC_GROUP_ENDINGS << 9) | 0x37 +#define EC_WORD_OUT (EC_GROUP_ENDINGS << 9) | 0x38 +#define EC_WORD_TOO (EC_GROUP_ENDINGS << 9) | 0x39 +#define EC_WORD_LIKE (EC_GROUP_ENDINGS << 9) | 0x3a +#define EC_WORD_DID (EC_GROUP_ENDINGS << 9) | 0x3b +#define EC_WORD_DIDN_T (EC_GROUP_ENDINGS << 9) | 0x3c +#define EC_WORD_DOESN_T (EC_GROUP_ENDINGS << 9) | 0x3d +#define EC_WORD_WITHOUT (EC_GROUP_ENDINGS << 9) | 0x3e +#define EC_WORD_AFTER (EC_GROUP_ENDINGS << 9) | 0x3f +#define EC_WORD_BEFORE (EC_GROUP_ENDINGS << 9) | 0x40 +#define EC_WORD_WHILE (EC_GROUP_ENDINGS << 9) | 0x41 +#define EC_WORD_THAN (EC_GROUP_ENDINGS << 9) | 0x42 +#define EC_WORD_ONCE (EC_GROUP_ENDINGS << 9) | 0x43 +#define EC_WORD_ANYWHERE (EC_GROUP_ENDINGS << 9) | 0x44 + +// FEELINGS +#define EC_WORD_MEET (EC_GROUP_FEELINGS << 9) | 0x0 +#define EC_WORD_PLAY (EC_GROUP_FEELINGS << 9) | 0x1 +#define EC_WORD_HURRIED (EC_GROUP_FEELINGS << 9) | 0x2 +#define EC_WORD_GOES (EC_GROUP_FEELINGS << 9) | 0x3 +#define EC_WORD_GIDDY (EC_GROUP_FEELINGS << 9) | 0x4 +#define EC_WORD_HAPPY (EC_GROUP_FEELINGS << 9) | 0x5 +#define EC_WORD_HAPPINESS (EC_GROUP_FEELINGS << 9) | 0x6 +#define EC_WORD_EXCITE (EC_GROUP_FEELINGS << 9) | 0x7 +#define EC_WORD_IMPORTANT (EC_GROUP_FEELINGS << 9) | 0x8 +#define EC_WORD_FUNNY (EC_GROUP_FEELINGS << 9) | 0x9 +#define EC_WORD_GOT (EC_GROUP_FEELINGS << 9) | 0xa +#define EC_WORD_GO_HOME (EC_GROUP_FEELINGS << 9) | 0xb +#define EC_WORD_DISAPPOINTED (EC_GROUP_FEELINGS << 9) | 0xc +#define EC_WORD_DISAPPOINTS (EC_GROUP_FEELINGS << 9) | 0xd +#define EC_WORD_SAD (EC_GROUP_FEELINGS << 9) | 0xe +#define EC_WORD_TRY (EC_GROUP_FEELINGS << 9) | 0xf +#define EC_WORD_TRIES (EC_GROUP_FEELINGS << 9) | 0x10 +#define EC_WORD_HEARS (EC_GROUP_FEELINGS << 9) | 0x11 +#define EC_WORD_THINK (EC_GROUP_FEELINGS << 9) | 0x12 +#define EC_WORD_HEAR (EC_GROUP_FEELINGS << 9) | 0x13 +#define EC_WORD_WANTS (EC_GROUP_FEELINGS << 9) | 0x14 +#define EC_WORD_MISHEARD (EC_GROUP_FEELINGS << 9) | 0x15 +#define EC_WORD_DISLIKE (EC_GROUP_FEELINGS << 9) | 0x16 +#define EC_WORD_ANGRY (EC_GROUP_FEELINGS << 9) | 0x17 +#define EC_WORD_ANGER (EC_GROUP_FEELINGS << 9) | 0x18 +#define EC_WORD_SCARY (EC_GROUP_FEELINGS << 9) | 0x19 +#define EC_WORD_LONESOME (EC_GROUP_FEELINGS << 9) | 0x1a +#define EC_WORD_DISAPPOINT (EC_GROUP_FEELINGS << 9) | 0x1b +#define EC_WORD_JOY (EC_GROUP_FEELINGS << 9) | 0x1c +#define EC_WORD_GETS (EC_GROUP_FEELINGS << 9) | 0x1d +#define EC_WORD_NEVER (EC_GROUP_FEELINGS << 9) | 0x1e +#define EC_WORD_DARN (EC_GROUP_FEELINGS << 9) | 0x1f +#define EC_WORD_DOWNCAST (EC_GROUP_FEELINGS << 9) | 0x20 +#define EC_WORD_INCREDIBLE (EC_GROUP_FEELINGS << 9) | 0x21 +#define EC_WORD_LIKES (EC_GROUP_FEELINGS << 9) | 0x22 +#define EC_WORD_DISLIKES (EC_GROUP_FEELINGS << 9) | 0x23 +#define EC_WORD_BORING (EC_GROUP_FEELINGS << 9) | 0x24 +#define EC_WORD_CARE (EC_GROUP_FEELINGS << 9) | 0x25 +#define EC_WORD_CARES (EC_GROUP_FEELINGS << 9) | 0x26 +#define EC_WORD_ALL_RIGHT (EC_GROUP_FEELINGS << 9) | 0x27 +#define EC_WORD_ADORE (EC_GROUP_FEELINGS << 9) | 0x28 +#define EC_WORD_DISASTER (EC_GROUP_FEELINGS << 9) | 0x29 +#define EC_WORD_ENJOY (EC_GROUP_FEELINGS << 9) | 0x2a +#define EC_WORD_ENJOYS (EC_GROUP_FEELINGS << 9) | 0x2b +#define EC_WORD_EAT (EC_GROUP_FEELINGS << 9) | 0x2c +#define EC_WORD_LACKING (EC_GROUP_FEELINGS << 9) | 0x2d +#define EC_WORD_BAD (EC_GROUP_FEELINGS << 9) | 0x2e +#define EC_WORD_HARD (EC_GROUP_FEELINGS << 9) | 0x2f +#define EC_WORD_TERRIBLE (EC_GROUP_FEELINGS << 9) | 0x30 +#define EC_WORD_SHOULD (EC_GROUP_FEELINGS << 9) | 0x31 +#define EC_WORD_NICE (EC_GROUP_FEELINGS << 9) | 0x32 +#define EC_WORD_DRINK (EC_GROUP_FEELINGS << 9) | 0x33 +#define EC_WORD_SURPRISE (EC_GROUP_FEELINGS << 9) | 0x34 +#define EC_WORD_FEAR (EC_GROUP_FEELINGS << 9) | 0x35 +#define EC_WORD_WANT (EC_GROUP_FEELINGS << 9) | 0x36 +#define EC_WORD_WAIT (EC_GROUP_FEELINGS << 9) | 0x37 +#define EC_WORD_SATISFIED (EC_GROUP_FEELINGS << 9) | 0x38 +#define EC_WORD_SEE (EC_GROUP_FEELINGS << 9) | 0x39 +#define EC_WORD_RARE (EC_GROUP_FEELINGS << 9) | 0x3a +#define EC_WORD_NEGATIVE (EC_GROUP_FEELINGS << 9) | 0x3b +#define EC_WORD_DONE (EC_GROUP_FEELINGS << 9) | 0x3c +#define EC_WORD_DANGER (EC_GROUP_FEELINGS << 9) | 0x3d +#define EC_WORD_DEFEATED (EC_GROUP_FEELINGS << 9) | 0x3e +#define EC_WORD_BEAT (EC_GROUP_FEELINGS << 9) | 0x3f +#define EC_WORD_GREAT (EC_GROUP_FEELINGS << 9) | 0x40 +#define EC_WORD_ROMANTIC (EC_GROUP_FEELINGS << 9) | 0x41 +#define EC_WORD_QUESTION (EC_GROUP_FEELINGS << 9) | 0x42 +#define EC_WORD_UNDERSTAND (EC_GROUP_FEELINGS << 9) | 0x43 +#define EC_WORD_UNDERSTANDS (EC_GROUP_FEELINGS << 9) | 0x44 + +// CONDITIONS +#define EC_WORD_HOT (EC_GROUP_CONDITIONS << 9) | 0x0 +#define EC_WORD_EXISTS (EC_GROUP_CONDITIONS << 9) | 0x1 +#define EC_WORD_EXCESS (EC_GROUP_CONDITIONS << 9) | 0x2 +#define EC_WORD_APPROVED (EC_GROUP_CONDITIONS << 9) | 0x3 +#define EC_WORD_HAS (EC_GROUP_CONDITIONS << 9) | 0x4 +#define EC_WORD_GOOD (EC_GROUP_CONDITIONS << 9) | 0x5 +#define EC_WORD_LESS (EC_GROUP_CONDITIONS << 9) | 0x6 +#define EC_WORD_MOMENTUM (EC_GROUP_CONDITIONS << 9) | 0x7 +#define EC_WORD_GOING (EC_GROUP_CONDITIONS << 9) | 0x8 +#define EC_WORD_WEIRD (EC_GROUP_CONDITIONS << 9) | 0x9 +#define EC_WORD_BUSY (EC_GROUP_CONDITIONS << 9) | 0xa +#define EC_WORD_TOGETHER (EC_GROUP_CONDITIONS << 9) | 0xb +#define EC_WORD_FULL (EC_GROUP_CONDITIONS << 9) | 0xc +#define EC_WORD_ABSENT (EC_GROUP_CONDITIONS << 9) | 0xd +#define EC_WORD_BEING (EC_GROUP_CONDITIONS << 9) | 0xe +#define EC_WORD_NEED (EC_GROUP_CONDITIONS << 9) | 0xf +#define EC_WORD_TASTY (EC_GROUP_CONDITIONS << 9) | 0x10 +#define EC_WORD_SKILLED (EC_GROUP_CONDITIONS << 9) | 0x11 +#define EC_WORD_NOISY (EC_GROUP_CONDITIONS << 9) | 0x12 +#define EC_WORD_BIG (EC_GROUP_CONDITIONS << 9) | 0x13 +#define EC_WORD_LATE (EC_GROUP_CONDITIONS << 9) | 0x14 +#define EC_WORD_CLOSE (EC_GROUP_CONDITIONS << 9) | 0x15 +#define EC_WORD_DOCILE (EC_GROUP_CONDITIONS << 9) | 0x16 +#define EC_WORD_AMUSING (EC_GROUP_CONDITIONS << 9) | 0x17 +#define EC_WORD_ENTERTAINING (EC_GROUP_CONDITIONS << 9) | 0x18 +#define EC_WORD_PERFECTION (EC_GROUP_CONDITIONS << 9) | 0x19 +#define EC_WORD_PRETTY (EC_GROUP_CONDITIONS << 9) | 0x1a +#define EC_WORD_HEALTHY (EC_GROUP_CONDITIONS << 9) | 0x1b +#define EC_WORD_EXCELLENT (EC_GROUP_CONDITIONS << 9) | 0x1c +#define EC_WORD_UPSIDE_DOWN (EC_GROUP_CONDITIONS << 9) | 0x1d +#define EC_WORD_COLD (EC_GROUP_CONDITIONS << 9) | 0x1e +#define EC_WORD_REFRESHING (EC_GROUP_CONDITIONS << 9) | 0x1f +#define EC_WORD_UNAVOIDABLE (EC_GROUP_CONDITIONS << 9) | 0x20 +#define EC_WORD_MUCH (EC_GROUP_CONDITIONS << 9) | 0x21 +#define EC_WORD_OVERWHELMING (EC_GROUP_CONDITIONS << 9) | 0x22 +#define EC_WORD_FABULOUS (EC_GROUP_CONDITIONS << 9) | 0x23 +#define EC_WORD_ELSE (EC_GROUP_CONDITIONS << 9) | 0x24 +#define EC_WORD_EXPENSIVE (EC_GROUP_CONDITIONS << 9) | 0x25 +#define EC_WORD_CORRECT (EC_GROUP_CONDITIONS << 9) | 0x26 +#define EC_WORD_IMPOSSIBLE (EC_GROUP_CONDITIONS << 9) | 0x27 +#define EC_WORD_SMALL (EC_GROUP_CONDITIONS << 9) | 0x28 +#define EC_WORD_DIFFERENT (EC_GROUP_CONDITIONS << 9) | 0x29 +#define EC_WORD_TIRED (EC_GROUP_CONDITIONS << 9) | 0x2a +#define EC_WORD_SKILL (EC_GROUP_CONDITIONS << 9) | 0x2b +#define EC_WORD_TOP (EC_GROUP_CONDITIONS << 9) | 0x2c +#define EC_WORD_NON_STOP (EC_GROUP_CONDITIONS << 9) | 0x2d +#define EC_WORD_PREPOSTEROUS (EC_GROUP_CONDITIONS << 9) | 0x2e +#define EC_WORD_NONE (EC_GROUP_CONDITIONS << 9) | 0x2f +#define EC_WORD_NOTHING (EC_GROUP_CONDITIONS << 9) | 0x30 +#define EC_WORD_NATURAL (EC_GROUP_CONDITIONS << 9) | 0x31 +#define EC_WORD_BECOMES (EC_GROUP_CONDITIONS << 9) | 0x32 +#define EC_WORD_LUKEWARM (EC_GROUP_CONDITIONS << 9) | 0x33 +#define EC_WORD_FAST (EC_GROUP_CONDITIONS << 9) | 0x34 +#define EC_WORD_LOW (EC_GROUP_CONDITIONS << 9) | 0x35 +#define EC_WORD_AWFUL (EC_GROUP_CONDITIONS << 9) | 0x36 +#define EC_WORD_ALONE (EC_GROUP_CONDITIONS << 9) | 0x37 +#define EC_WORD_BORED (EC_GROUP_CONDITIONS << 9) | 0x38 +#define EC_WORD_SECRET (EC_GROUP_CONDITIONS << 9) | 0x39 +#define EC_WORD_MYSTERY (EC_GROUP_CONDITIONS << 9) | 0x3a +#define EC_WORD_LACKS (EC_GROUP_CONDITIONS << 9) | 0x3b +#define EC_WORD_BEST (EC_GROUP_CONDITIONS << 9) | 0x3c +#define EC_WORD_LOUSY (EC_GROUP_CONDITIONS << 9) | 0x3d +#define EC_WORD_MISTAKE (EC_GROUP_CONDITIONS << 9) | 0x3e +#define EC_WORD_KIND (EC_GROUP_CONDITIONS << 9) | 0x3f +#define EC_WORD_WELL (EC_GROUP_CONDITIONS << 9) | 0x40 +#define EC_WORD_WEAKENED (EC_GROUP_CONDITIONS << 9) | 0x41 +#define EC_WORD_SIMPLE (EC_GROUP_CONDITIONS << 9) | 0x42 +#define EC_WORD_SEEMS (EC_GROUP_CONDITIONS << 9) | 0x43 +#define EC_WORD_BADLY (EC_GROUP_CONDITIONS << 9) | 0x44 + +// ACTIONS +#define EC_WORD_MEETS (EC_GROUP_ACTIONS << 9) | 0x0 +#define EC_WORD_CONCEDE (EC_GROUP_ACTIONS << 9) | 0x1 +#define EC_WORD_GIVE (EC_GROUP_ACTIONS << 9) | 0x2 +#define EC_WORD_GIVES (EC_GROUP_ACTIONS << 9) | 0x3 +#define EC_WORD_PLAYED (EC_GROUP_ACTIONS << 9) | 0x4 +#define EC_WORD_PLAYS (EC_GROUP_ACTIONS << 9) | 0x5 +#define EC_WORD_COLLECT (EC_GROUP_ACTIONS << 9) | 0x6 +#define EC_WORD_WALKING (EC_GROUP_ACTIONS << 9) | 0x7 +#define EC_WORD_WALKS (EC_GROUP_ACTIONS << 9) | 0x8 +#define EC_WORD_SAYS (EC_GROUP_ACTIONS << 9) | 0x9 +#define EC_WORD_WENT (EC_GROUP_ACTIONS << 9) | 0xa +#define EC_WORD_SAID (EC_GROUP_ACTIONS << 9) | 0xb +#define EC_WORD_WAKE_UP (EC_GROUP_ACTIONS << 9) | 0xc +#define EC_WORD_WAKES_UP (EC_GROUP_ACTIONS << 9) | 0xd +#define EC_WORD_ANGERS (EC_GROUP_ACTIONS << 9) | 0xe +#define EC_WORD_TEACH (EC_GROUP_ACTIONS << 9) | 0xf +#define EC_WORD_TEACHES (EC_GROUP_ACTIONS << 9) | 0x10 +#define EC_WORD_PLEASE (EC_GROUP_ACTIONS << 9) | 0x11 +#define EC_WORD_LEARN (EC_GROUP_ACTIONS << 9) | 0x12 +#define EC_WORD_CHANGE (EC_GROUP_ACTIONS << 9) | 0x13 +#define EC_WORD_STORY (EC_GROUP_ACTIONS << 9) | 0x14 +#define EC_WORD_TRUST (EC_GROUP_ACTIONS << 9) | 0x15 +#define EC_WORD_LAVISH (EC_GROUP_ACTIONS << 9) | 0x16 +#define EC_WORD_LISTENS (EC_GROUP_ACTIONS << 9) | 0x17 +#define EC_WORD_HEARING (EC_GROUP_ACTIONS << 9) | 0x18 +#define EC_WORD_TRAINS (EC_GROUP_ACTIONS << 9) | 0x19 +#define EC_WORD_CHOOSE (EC_GROUP_ACTIONS << 9) | 0x1a +#define EC_WORD_COME (EC_GROUP_ACTIONS << 9) | 0x1b +#define EC_WORD_CAME (EC_GROUP_ACTIONS << 9) | 0x1c +#define EC_WORD_SEARCH (EC_GROUP_ACTIONS << 9) | 0x1d +#define EC_WORD_MAKE (EC_GROUP_ACTIONS << 9) | 0x1e +#define EC_WORD_CAUSE (EC_GROUP_ACTIONS << 9) | 0x1f +#define EC_WORD_KNOW (EC_GROUP_ACTIONS << 9) | 0x20 +#define EC_WORD_KNOWS (EC_GROUP_ACTIONS << 9) | 0x21 +#define EC_WORD_REFUSE (EC_GROUP_ACTIONS << 9) | 0x22 +#define EC_WORD_STORES (EC_GROUP_ACTIONS << 9) | 0x23 +#define EC_WORD_BRAG (EC_GROUP_ACTIONS << 9) | 0x24 +#define EC_WORD_IGNORANT (EC_GROUP_ACTIONS << 9) | 0x25 +#define EC_WORD_THINKS (EC_GROUP_ACTIONS << 9) | 0x26 +#define EC_WORD_BELIEVE (EC_GROUP_ACTIONS << 9) | 0x27 +#define EC_WORD_SLIDE (EC_GROUP_ACTIONS << 9) | 0x28 +#define EC_WORD_EATS (EC_GROUP_ACTIONS << 9) | 0x29 +#define EC_WORD_USE (EC_GROUP_ACTIONS << 9) | 0x2a +#define EC_WORD_USES (EC_GROUP_ACTIONS << 9) | 0x2b +#define EC_WORD_USING (EC_GROUP_ACTIONS << 9) | 0x2c +#define EC_WORD_COULDN_T (EC_GROUP_ACTIONS << 9) | 0x2d +#define EC_WORD_CAPABLE (EC_GROUP_ACTIONS << 9) | 0x2e +#define EC_WORD_DISAPPEAR (EC_GROUP_ACTIONS << 9) | 0x2f +#define EC_WORD_APPEAR (EC_GROUP_ACTIONS << 9) | 0x30 +#define EC_WORD_THROW (EC_GROUP_ACTIONS << 9) | 0x31 +#define EC_WORD_WORRY (EC_GROUP_ACTIONS << 9) | 0x32 +#define EC_WORD_SLEPT (EC_GROUP_ACTIONS << 9) | 0x33 +#define EC_WORD_SLEEP (EC_GROUP_ACTIONS << 9) | 0x34 +#define EC_WORD_RELEASE (EC_GROUP_ACTIONS << 9) | 0x35 +#define EC_WORD_DRINKS (EC_GROUP_ACTIONS << 9) | 0x36 +#define EC_WORD_RUNS (EC_GROUP_ACTIONS << 9) | 0x37 +#define EC_WORD_RUN (EC_GROUP_ACTIONS << 9) | 0x38 +#define EC_WORD_WORKS (EC_GROUP_ACTIONS << 9) | 0x39 +#define EC_WORD_WORKING (EC_GROUP_ACTIONS << 9) | 0x3a +#define EC_WORD_TALKING (EC_GROUP_ACTIONS << 9) | 0x3b +#define EC_WORD_TALK (EC_GROUP_ACTIONS << 9) | 0x3c +#define EC_WORD_SINK (EC_GROUP_ACTIONS << 9) | 0x3d +#define EC_WORD_SMACK (EC_GROUP_ACTIONS << 9) | 0x3e +#define EC_WORD_PRETEND (EC_GROUP_ACTIONS << 9) | 0x3f +#define EC_WORD_PRAISE (EC_GROUP_ACTIONS << 9) | 0x40 +#define EC_WORD_OVERDO (EC_GROUP_ACTIONS << 9) | 0x41 +#define EC_WORD_SHOW (EC_GROUP_ACTIONS << 9) | 0x42 +#define EC_WORD_LOOKS (EC_GROUP_ACTIONS << 9) | 0x43 +#define EC_WORD_SEES (EC_GROUP_ACTIONS << 9) | 0x44 +#define EC_WORD_SEEK (EC_GROUP_ACTIONS << 9) | 0x45 +#define EC_WORD_OWN (EC_GROUP_ACTIONS << 9) | 0x46 +#define EC_WORD_TAKE (EC_GROUP_ACTIONS << 9) | 0x47 +#define EC_WORD_ALLOW (EC_GROUP_ACTIONS << 9) | 0x48 +#define EC_WORD_FORGET (EC_GROUP_ACTIONS << 9) | 0x49 +#define EC_WORD_FORGETS (EC_GROUP_ACTIONS << 9) | 0x4a +#define EC_WORD_APPEARS (EC_GROUP_ACTIONS << 9) | 0x4b +#define EC_WORD_FAINT (EC_GROUP_ACTIONS << 9) | 0x4c +#define EC_WORD_FAINTED (EC_GROUP_ACTIONS << 9) | 0x4d + +// LIFESTYLE +#define EC_WORD_CHORES (EC_GROUP_LIFESTYLE << 9) | 0x0 +#define EC_WORD_HOME (EC_GROUP_LIFESTYLE << 9) | 0x1 +#define EC_WORD_MONEY (EC_GROUP_LIFESTYLE << 9) | 0x2 +#define EC_WORD_ALLOWANCE (EC_GROUP_LIFESTYLE << 9) | 0x3 +#define EC_WORD_BATH (EC_GROUP_LIFESTYLE << 9) | 0x4 +#define EC_WORD_CONVERSATION (EC_GROUP_LIFESTYLE << 9) | 0x5 +#define EC_WORD_SCHOOL (EC_GROUP_LIFESTYLE << 9) | 0x6 +#define EC_WORD_COMMEMORATE (EC_GROUP_LIFESTYLE << 9) | 0x7 +#define EC_WORD_HABIT (EC_GROUP_LIFESTYLE << 9) | 0x8 +#define EC_WORD_GROUP (EC_GROUP_LIFESTYLE << 9) | 0x9 +#define EC_WORD_WORD (EC_GROUP_LIFESTYLE << 9) | 0xa +#define EC_WORD_STORE (EC_GROUP_LIFESTYLE << 9) | 0xb +#define EC_WORD_SERVICE (EC_GROUP_LIFESTYLE << 9) | 0xc +#define EC_WORD_WORK (EC_GROUP_LIFESTYLE << 9) | 0xd +#define EC_WORD_SYSTEM (EC_GROUP_LIFESTYLE << 9) | 0xe +#define EC_WORD_TRAIN (EC_GROUP_LIFESTYLE << 9) | 0xf +#define EC_WORD_CLASS (EC_GROUP_LIFESTYLE << 9) | 0x10 +#define EC_WORD_LESSONS (EC_GROUP_LIFESTYLE << 9) | 0x11 +#define EC_WORD_INFORMATION (EC_GROUP_LIFESTYLE << 9) | 0x12 +#define EC_WORD_LIVING (EC_GROUP_LIFESTYLE << 9) | 0x13 +#define EC_WORD_TEACHER (EC_GROUP_LIFESTYLE << 9) | 0x14 +#define EC_WORD_TOURNAMENT (EC_GROUP_LIFESTYLE << 9) | 0x15 +#define EC_WORD_LETTER (EC_GROUP_LIFESTYLE << 9) | 0x16 +#define EC_WORD_EVENT (EC_GROUP_LIFESTYLE << 9) | 0x17 +#define EC_WORD_DIGITAL (EC_GROUP_LIFESTYLE << 9) | 0x18 +#define EC_WORD_TEST (EC_GROUP_LIFESTYLE << 9) | 0x19 +#define EC_WORD_DEPT_STORE (EC_GROUP_LIFESTYLE << 9) | 0x1a +#define EC_WORD_TELEVISION (EC_GROUP_LIFESTYLE << 9) | 0x1b +#define EC_WORD_PHONE (EC_GROUP_LIFESTYLE << 9) | 0x1c +#define EC_WORD_ITEM (EC_GROUP_LIFESTYLE << 9) | 0x1d +#define EC_WORD_NAME (EC_GROUP_LIFESTYLE << 9) | 0x1e +#define EC_WORD_NEWS (EC_GROUP_LIFESTYLE << 9) | 0x1f +#define EC_WORD_POPULAR (EC_GROUP_LIFESTYLE << 9) | 0x20 +#define EC_WORD_PARTY (EC_GROUP_LIFESTYLE << 9) | 0x21 +#define EC_WORD_STUDY (EC_GROUP_LIFESTYLE << 9) | 0x22 +#define EC_WORD_MACHINE (EC_GROUP_LIFESTYLE << 9) | 0x23 +#define EC_WORD_MAIL (EC_GROUP_LIFESTYLE << 9) | 0x24 +#define EC_WORD_MESSAGE (EC_GROUP_LIFESTYLE << 9) | 0x25 +#define EC_WORD_PROMISE (EC_GROUP_LIFESTYLE << 9) | 0x26 +#define EC_WORD_DREAM (EC_GROUP_LIFESTYLE << 9) | 0x27 +#define EC_WORD_KINDERGARTEN (EC_GROUP_LIFESTYLE << 9) | 0x28 +#define EC_WORD_LIFE (EC_GROUP_LIFESTYLE << 9) | 0x29 +#define EC_WORD_RADIO (EC_GROUP_LIFESTYLE << 9) | 0x2a +#define EC_WORD_RENTAL (EC_GROUP_LIFESTYLE << 9) | 0x2b +#define EC_WORD_WORLD (EC_GROUP_LIFESTYLE << 9) | 0x2c + +// HOBBIES +#define EC_WORD_IDOL (EC_GROUP_HOBBIES << 9) | 0x0 +#define EC_WORD_ANIME (EC_GROUP_HOBBIES << 9) | 0x1 +#define EC_WORD_SONG (EC_GROUP_HOBBIES << 9) | 0x2 +#define EC_WORD_MOVIE (EC_GROUP_HOBBIES << 9) | 0x3 +#define EC_WORD_SWEETS (EC_GROUP_HOBBIES << 9) | 0x4 +#define EC_WORD_CHAT (EC_GROUP_HOBBIES << 9) | 0x5 +#define EC_WORD_CHILD_S_PLAY (EC_GROUP_HOBBIES << 9) | 0x6 +#define EC_WORD_TOYS (EC_GROUP_HOBBIES << 9) | 0x7 +#define EC_WORD_MUSIC (EC_GROUP_HOBBIES << 9) | 0x8 +#define EC_WORD_CARDS (EC_GROUP_HOBBIES << 9) | 0x9 +#define EC_WORD_SHOPPING (EC_GROUP_HOBBIES << 9) | 0xa +#define EC_WORD_CAMERA (EC_GROUP_HOBBIES << 9) | 0xb +#define EC_WORD_VIEWING (EC_GROUP_HOBBIES << 9) | 0xc +#define EC_WORD_SPECTATOR (EC_GROUP_HOBBIES << 9) | 0xd +#define EC_WORD_GOURMET (EC_GROUP_HOBBIES << 9) | 0xe +#define EC_WORD_GAME (EC_GROUP_HOBBIES << 9) | 0xf +#define EC_WORD_RPG (EC_GROUP_HOBBIES << 9) | 0x10 +#define EC_WORD_COLLECTION (EC_GROUP_HOBBIES << 9) | 0x11 +#define EC_WORD_COMPLETE (EC_GROUP_HOBBIES << 9) | 0x12 +#define EC_WORD_MAGAZINE (EC_GROUP_HOBBIES << 9) | 0x13 +#define EC_WORD_WALK (EC_GROUP_HOBBIES << 9) | 0x14 +#define EC_WORD_BIKE (EC_GROUP_HOBBIES << 9) | 0x15 +#define EC_WORD_HOBBY (EC_GROUP_HOBBIES << 9) | 0x16 +#define EC_WORD_SPORTS (EC_GROUP_HOBBIES << 9) | 0x17 +#define EC_WORD_SOFTWARE (EC_GROUP_HOBBIES << 9) | 0x18 +#define EC_WORD_SONGS (EC_GROUP_HOBBIES << 9) | 0x19 +#define EC_WORD_DIET (EC_GROUP_HOBBIES << 9) | 0x1a +#define EC_WORD_TREASURE (EC_GROUP_HOBBIES << 9) | 0x1b +#define EC_WORD_TRAVEL (EC_GROUP_HOBBIES << 9) | 0x1c +#define EC_WORD_DANCE (EC_GROUP_HOBBIES << 9) | 0x1d +#define EC_WORD_CHANNEL (EC_GROUP_HOBBIES << 9) | 0x1e +#define EC_WORD_MAKING (EC_GROUP_HOBBIES << 9) | 0x1f +#define EC_WORD_FISHING (EC_GROUP_HOBBIES << 9) | 0x20 +#define EC_WORD_DATE (EC_GROUP_HOBBIES << 9) | 0x21 +#define EC_WORD_DESIGN (EC_GROUP_HOBBIES << 9) | 0x22 +#define EC_WORD_LOCOMOTIVE (EC_GROUP_HOBBIES << 9) | 0x23 +#define EC_WORD_PLUSH_DOLL (EC_GROUP_HOBBIES << 9) | 0x24 +#define EC_WORD_PC (EC_GROUP_HOBBIES << 9) | 0x25 +#define EC_WORD_FLOWERS (EC_GROUP_HOBBIES << 9) | 0x26 +#define EC_WORD_HERO (EC_GROUP_HOBBIES << 9) | 0x27 +#define EC_WORD_NAP (EC_GROUP_HOBBIES << 9) | 0x28 +#define EC_WORD_HEROINE (EC_GROUP_HOBBIES << 9) | 0x29 +#define EC_WORD_FASHION (EC_GROUP_HOBBIES << 9) | 0x2a +#define EC_WORD_ADVENTURE (EC_GROUP_HOBBIES << 9) | 0x2b +#define EC_WORD_BOARD (EC_GROUP_HOBBIES << 9) | 0x2c +#define EC_WORD_BALL (EC_GROUP_HOBBIES << 9) | 0x2d +#define EC_WORD_BOOK (EC_GROUP_HOBBIES << 9) | 0x2e +#define EC_WORD_FESTIVAL (EC_GROUP_HOBBIES << 9) | 0x2f +#define EC_WORD_COMICS (EC_GROUP_HOBBIES << 9) | 0x30 +#define EC_WORD_HOLIDAY (EC_GROUP_HOBBIES << 9) | 0x31 +#define EC_WORD_PLANS (EC_GROUP_HOBBIES << 9) | 0x32 +#define EC_WORD_TRENDY (EC_GROUP_HOBBIES << 9) | 0x33 +#define EC_WORD_VACATION (EC_GROUP_HOBBIES << 9) | 0x34 +#define EC_WORD_LOOK (EC_GROUP_HOBBIES << 9) | 0x35 + +// TIME +#define EC_WORD_FALL (EC_GROUP_TIME << 9) | 0x0 +#define EC_WORD_MORNING (EC_GROUP_TIME << 9) | 0x1 +#define EC_WORD_TOMORROW (EC_GROUP_TIME << 9) | 0x2 +#define EC_WORD_LAST (EC_GROUP_TIME << 9) | 0x3 +#define EC_WORD_DAY (EC_GROUP_TIME << 9) | 0x4 +#define EC_WORD_SOMETIME (EC_GROUP_TIME << 9) | 0x5 +#define EC_WORD_ALWAYS (EC_GROUP_TIME << 9) | 0x6 +#define EC_WORD_CURRENT (EC_GROUP_TIME << 9) | 0x7 +#define EC_WORD_FOREVER (EC_GROUP_TIME << 9) | 0x8 +#define EC_WORD_DAYS (EC_GROUP_TIME << 9) | 0x9 +#define EC_WORD_END (EC_GROUP_TIME << 9) | 0xa +#define EC_WORD_TUESDAY (EC_GROUP_TIME << 9) | 0xb +#define EC_WORD_YESTERDAY (EC_GROUP_TIME << 9) | 0xc +#define EC_WORD_TODAY (EC_GROUP_TIME << 9) | 0xd +#define EC_WORD_FRIDAY (EC_GROUP_TIME << 9) | 0xe +#define EC_WORD_MONDAY (EC_GROUP_TIME << 9) | 0xf +#define EC_WORD_LATER (EC_GROUP_TIME << 9) | 0x10 +#define EC_WORD_EARLIER (EC_GROUP_TIME << 9) | 0x11 +#define EC_WORD_ANOTHER (EC_GROUP_TIME << 9) | 0x12 +#define EC_WORD_TIME (EC_GROUP_TIME << 9) | 0x13 +#define EC_WORD_FINISH (EC_GROUP_TIME << 9) | 0x14 +#define EC_WORD_WEDNESDAY (EC_GROUP_TIME << 9) | 0x15 +#define EC_WORD_SOON (EC_GROUP_TIME << 9) | 0x16 +#define EC_WORD_START (EC_GROUP_TIME << 9) | 0x17 +#define EC_WORD_MONTH (EC_GROUP_TIME << 9) | 0x18 +#define EC_WORD_STOP (EC_GROUP_TIME << 9) | 0x19 +#define EC_WORD_NOW (EC_GROUP_TIME << 9) | 0x1a +#define EC_WORD_FINAL (EC_GROUP_TIME << 9) | 0x1b +#define EC_WORD_NEXT (EC_GROUP_TIME << 9) | 0x1c +#define EC_WORD_AGE (EC_GROUP_TIME << 9) | 0x1d +#define EC_WORD_SATURDAY (EC_GROUP_TIME << 9) | 0x1e +#define EC_WORD_SUMMER (EC_GROUP_TIME << 9) | 0x1f +#define EC_WORD_SUNDAY (EC_GROUP_TIME << 9) | 0x20 +#define EC_WORD_BEGINNING (EC_GROUP_TIME << 9) | 0x21 +#define EC_WORD_SPRING (EC_GROUP_TIME << 9) | 0x22 +#define EC_WORD_DAYTIME (EC_GROUP_TIME << 9) | 0x23 +#define EC_WORD_WINTER (EC_GROUP_TIME << 9) | 0x24 +#define EC_WORD_DAILY (EC_GROUP_TIME << 9) | 0x25 +#define EC_WORD_OLDEN (EC_GROUP_TIME << 9) | 0x26 +#define EC_WORD_ALMOST (EC_GROUP_TIME << 9) | 0x27 +#define EC_WORD_NEARLY (EC_GROUP_TIME << 9) | 0x28 +#define EC_WORD_THURSDAY (EC_GROUP_TIME << 9) | 0x29 +#define EC_WORD_NIGHTTIME (EC_GROUP_TIME << 9) | 0x2a +#define EC_WORD_NIGHT (EC_GROUP_TIME << 9) | 0x2b +#define EC_WORD_WEEK (EC_GROUP_TIME << 9) | 0x2c + +// MISC +#define EC_WORD_HIGHS (EC_GROUP_MISC << 9) | 0x0 +#define EC_WORD_LOWS (EC_GROUP_MISC << 9) | 0x1 +#define EC_WORD_UM (EC_GROUP_MISC << 9) | 0x2 +#define EC_WORD_REAR (EC_GROUP_MISC << 9) | 0x3 +#define EC_WORD_THINGS (EC_GROUP_MISC << 9) | 0x4 +#define EC_WORD_THING (EC_GROUP_MISC << 9) | 0x5 +#define EC_WORD_BELOW (EC_GROUP_MISC << 9) | 0x6 +#define EC_WORD_ABOVE (EC_GROUP_MISC << 9) | 0x7 +#define EC_WORD_BACK (EC_GROUP_MISC << 9) | 0x8 +#define EC_WORD_HIGH (EC_GROUP_MISC << 9) | 0x9 +#define EC_WORD_HERE (EC_GROUP_MISC << 9) | 0xa +#define EC_WORD_INSIDE (EC_GROUP_MISC << 9) | 0xb +#define EC_WORD_OUTSIDE (EC_GROUP_MISC << 9) | 0xc +#define EC_WORD_BESIDE (EC_GROUP_MISC << 9) | 0xd +#define EC_WORD_THIS_IS_IT_EXCL (EC_GROUP_MISC << 9) | 0xe +#define EC_WORD_THIS (EC_GROUP_MISC << 9) | 0xf +#define EC_WORD_EVERY (EC_GROUP_MISC << 9) | 0x10 +#define EC_WORD_THESE (EC_GROUP_MISC << 9) | 0x11 +#define EC_WORD_THESE_WERE (EC_GROUP_MISC << 9) | 0x12 +#define EC_WORD_DOWN (EC_GROUP_MISC << 9) | 0x13 +#define EC_WORD_THAT (EC_GROUP_MISC << 9) | 0x14 +#define EC_WORD_THOSE_ARE (EC_GROUP_MISC << 9) | 0x15 +#define EC_WORD_THOSE_WERE (EC_GROUP_MISC << 9) | 0x16 +#define EC_WORD_THAT_S_IT_EXCL (EC_GROUP_MISC << 9) | 0x17 +#define EC_WORD_AM (EC_GROUP_MISC << 9) | 0x18 +#define EC_WORD_THAT_WAS (EC_GROUP_MISC << 9) | 0x19 +#define EC_WORD_FRONT (EC_GROUP_MISC << 9) | 0x1a +#define EC_WORD_UP (EC_GROUP_MISC << 9) | 0x1b +#define EC_WORD_CHOICE (EC_GROUP_MISC << 9) | 0x1c +#define EC_WORD_FAR (EC_GROUP_MISC << 9) | 0x1d +#define EC_WORD_AWAY (EC_GROUP_MISC << 9) | 0x1e +#define EC_WORD_NEAR (EC_GROUP_MISC << 9) | 0x1f +#define EC_WORD_WHERE (EC_GROUP_MISC << 9) | 0x20 +#define EC_WORD_WHEN (EC_GROUP_MISC << 9) | 0x21 +#define EC_WORD_WHAT (EC_GROUP_MISC << 9) | 0x22 +#define EC_WORD_DEEP (EC_GROUP_MISC << 9) | 0x23 +#define EC_WORD_SHALLOW (EC_GROUP_MISC << 9) | 0x24 +#define EC_WORD_WHY (EC_GROUP_MISC << 9) | 0x25 +#define EC_WORD_CONFUSED (EC_GROUP_MISC << 9) | 0x26 +#define EC_WORD_OPPOSITE (EC_GROUP_MISC << 9) | 0x27 +#define EC_WORD_LEFT (EC_GROUP_MISC << 9) | 0x28 +#define EC_WORD_RIGHT (EC_GROUP_MISC << 9) | 0x29 + +// ADJECTIVES +#define EC_WORD_WANDERING (EC_GROUP_ADJECTIVES << 9) | 0x0 +#define EC_WORD_RICKETY (EC_GROUP_ADJECTIVES << 9) | 0x1 +#define EC_WORD_ROCK_SOLID (EC_GROUP_ADJECTIVES << 9) | 0x2 +#define EC_WORD_HUNGRY (EC_GROUP_ADJECTIVES << 9) | 0x3 +#define EC_WORD_TIGHT (EC_GROUP_ADJECTIVES << 9) | 0x4 +#define EC_WORD_TICKLISH (EC_GROUP_ADJECTIVES << 9) | 0x5 +#define EC_WORD_TWIRLING (EC_GROUP_ADJECTIVES << 9) | 0x6 +#define EC_WORD_SPIRALING (EC_GROUP_ADJECTIVES << 9) | 0x7 +#define EC_WORD_THIRSTY (EC_GROUP_ADJECTIVES << 9) | 0x8 +#define EC_WORD_LOLLING (EC_GROUP_ADJECTIVES << 9) | 0x9 +#define EC_WORD_SILKY (EC_GROUP_ADJECTIVES << 9) | 0xa +#define EC_WORD_SADLY (EC_GROUP_ADJECTIVES << 9) | 0xb +#define EC_WORD_HOPELESS (EC_GROUP_ADJECTIVES << 9) | 0xc +#define EC_WORD_USELESS (EC_GROUP_ADJECTIVES << 9) | 0xd +#define EC_WORD_DROOLING (EC_GROUP_ADJECTIVES << 9) | 0xe +#define EC_WORD_EXCITING (EC_GROUP_ADJECTIVES << 9) | 0xf +#define EC_WORD_THICK (EC_GROUP_ADJECTIVES << 9) | 0x10 +#define EC_WORD_SMOOTH (EC_GROUP_ADJECTIVES << 9) | 0x11 +#define EC_WORD_SLIMY (EC_GROUP_ADJECTIVES << 9) | 0x12 +#define EC_WORD_THIN (EC_GROUP_ADJECTIVES << 9) | 0x13 +#define EC_WORD_BREAK (EC_GROUP_ADJECTIVES << 9) | 0x14 +#define EC_WORD_VORACIOUS (EC_GROUP_ADJECTIVES << 9) | 0x15 +#define EC_WORD_SCATTER (EC_GROUP_ADJECTIVES << 9) | 0x16 +#define EC_WORD_AWESOME (EC_GROUP_ADJECTIVES << 9) | 0x17 +#define EC_WORD_WIMPY (EC_GROUP_ADJECTIVES << 9) | 0x18 +#define EC_WORD_WOBBLY (EC_GROUP_ADJECTIVES << 9) | 0x19 +#define EC_WORD_SHAKY (EC_GROUP_ADJECTIVES << 9) | 0x1a +#define EC_WORD_RIPPED (EC_GROUP_ADJECTIVES << 9) | 0x1b +#define EC_WORD_SHREDDED (EC_GROUP_ADJECTIVES << 9) | 0x1c +#define EC_WORD_INCREASING (EC_GROUP_ADJECTIVES << 9) | 0x1d +#define EC_WORD_YET (EC_GROUP_ADJECTIVES << 9) | 0x1e +#define EC_WORD_DESTROYED (EC_GROUP_ADJECTIVES << 9) | 0x1f +#define EC_WORD_FIERY (EC_GROUP_ADJECTIVES << 9) | 0x20 +#define EC_WORD_LOVEY_DOVEY (EC_GROUP_ADJECTIVES << 9) | 0x21 +#define EC_WORD_HAPPILY (EC_GROUP_ADJECTIVES << 9) | 0x22 +#define EC_WORD_ANTICIPATION (EC_GROUP_ADJECTIVES << 9) | 0x23 + +// EVENTS +#define EC_WORD_APPEAL (EC_GROUP_EVENTS << 9) | 0x0 +#define EC_WORD_EVENTS (EC_GROUP_EVENTS << 9) | 0x1 +#define EC_WORD_STAY_AT_HOME (EC_GROUP_EVENTS << 9) | 0x2 +#define EC_WORD_BERRY (EC_GROUP_EVENTS << 9) | 0x3 +#define EC_WORD_CONTEST (EC_GROUP_EVENTS << 9) | 0x4 +#define EC_WORD_MC (EC_GROUP_EVENTS << 9) | 0x5 +#define EC_WORD_JUDGE (EC_GROUP_EVENTS << 9) | 0x6 +#define EC_WORD_SUPER (EC_GROUP_EVENTS << 9) | 0x7 +#define EC_WORD_STAGE (EC_GROUP_EVENTS << 9) | 0x8 +#define EC_WORD_HALL_OF_FAME (EC_GROUP_EVENTS << 9) | 0x9 +#define EC_WORD_EVOLUTION (EC_GROUP_EVENTS << 9) | 0xa +#define EC_WORD_HYPER (EC_GROUP_EVENTS << 9) | 0xb +#define EC_WORD_BATTLE_TOWER (EC_GROUP_EVENTS << 9) | 0xc +#define EC_WORD_LEADERS (EC_GROUP_EVENTS << 9) | 0xd +#define EC_WORD_BATTLE_ROOM (EC_GROUP_EVENTS << 9) | 0xe +#define EC_WORD_HIDDEN (EC_GROUP_EVENTS << 9) | 0xf +#define EC_WORD_SECRET_BASE (EC_GROUP_EVENTS << 9) | 0x10 +#define EC_WORD_BLEND (EC_GROUP_EVENTS << 9) | 0x11 +#define EC_WORD_POKEBLOCK (EC_GROUP_EVENTS << 9) | 0x12 +#define EC_WORD_MASTER (EC_GROUP_EVENTS << 9) | 0x13 +#define EC_WORD_RANK (EC_GROUP_EVENTS << 9) | 0x14 +#define EC_WORD_RIBBON (EC_GROUP_EVENTS << 9) | 0x15 +#define EC_WORD_CRUSH (EC_GROUP_EVENTS << 9) | 0x16 +#define EC_WORD_DIRECT (EC_GROUP_EVENTS << 9) | 0x17 +#define EC_WORD_TOWER (EC_GROUP_EVENTS << 9) | 0x18 +#define EC_WORD_UNION (EC_GROUP_EVENTS << 9) | 0x19 +#define EC_WORD_ROOM (EC_GROUP_EVENTS << 9) | 0x1a +#define EC_WORD_WIRELESS (EC_GROUP_EVENTS << 9) | 0x1b +#define EC_WORD_FRONTIER (EC_GROUP_EVENTS << 9) | 0x1c + +// TRENDY_SAYING +#define EC_WORD_KTHX_BYE (EC_GROUP_TRENDY_SAYING << 9) | 0x0 +#define EC_WORD_YES_SIR_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x1 +#define EC_WORD_AVANT_GARDE (EC_GROUP_TRENDY_SAYING << 9) | 0x2 +#define EC_WORD_COUPLE (EC_GROUP_TRENDY_SAYING << 9) | 0x3 +#define EC_WORD_MUCH_OBLIGED (EC_GROUP_TRENDY_SAYING << 9) | 0x4 +#define EC_WORD_YEEHAW_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x5 +#define EC_WORD_MEGA (EC_GROUP_TRENDY_SAYING << 9) | 0x6 +#define EC_WORD_1_HIT_KO_EXCL (EC_GROUP_TRENDY_SAYING << 9) | 0x7 +#define EC_WORD_DESTINY (EC_GROUP_TRENDY_SAYING << 9) | 0x8 +#define EC_WORD_CANCEL (EC_GROUP_TRENDY_SAYING << 9) | 0x9 +#define EC_WORD_NEW (EC_GROUP_TRENDY_SAYING << 9) | 0xa +#define EC_WORD_FLATTEN (EC_GROUP_TRENDY_SAYING << 9) | 0xb +#define EC_WORD_KIDDING (EC_GROUP_TRENDY_SAYING << 9) | 0xc +#define EC_WORD_LOSER (EC_GROUP_TRENDY_SAYING << 9) | 0xd +#define EC_WORD_LOSING (EC_GROUP_TRENDY_SAYING << 9) | 0xe +#define EC_WORD_HAPPENING (EC_GROUP_TRENDY_SAYING << 9) | 0xf +#define EC_WORD_HIP_AND (EC_GROUP_TRENDY_SAYING << 9) | 0x10 +#define EC_WORD_SHAKE (EC_GROUP_TRENDY_SAYING << 9) | 0x11 +#define EC_WORD_SHADY (EC_GROUP_TRENDY_SAYING << 9) | 0x12 +#define EC_WORD_UPBEAT (EC_GROUP_TRENDY_SAYING << 9) | 0x13 +#define EC_WORD_MODERN (EC_GROUP_TRENDY_SAYING << 9) | 0x14 +#define EC_WORD_SMELL_YA (EC_GROUP_TRENDY_SAYING << 9) | 0x15 +#define EC_WORD_BANG (EC_GROUP_TRENDY_SAYING << 9) | 0x16 +#define EC_WORD_KNOCKOUT (EC_GROUP_TRENDY_SAYING << 9) | 0x17 +#define EC_WORD_HASSLE (EC_GROUP_TRENDY_SAYING << 9) | 0x18 +#define EC_WORD_WINNER (EC_GROUP_TRENDY_SAYING << 9) | 0x19 +#define EC_WORD_FEVER (EC_GROUP_TRENDY_SAYING << 9) | 0x1a +#define EC_WORD_WANNABE (EC_GROUP_TRENDY_SAYING << 9) | 0x1b +#define EC_WORD_BABY (EC_GROUP_TRENDY_SAYING << 9) | 0x1c +#define EC_WORD_HEART (EC_GROUP_TRENDY_SAYING << 9) | 0x1d +#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e +#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f +#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20 + +#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon) +#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon) +#define EC_MOVE(move) ((EC_GROUP_MOVE_1 << 9) | MOVE_##move) +#define EC_MOVE2(move) ((EC_GROUP_MOVE_2 << 9) | MOVE_##move) + +#define EC_GROUP(word) ((word) >> 9) +#define EC_INDEX(word) ((word) & 0x1FF) + +#endif // GUARD_CONSTANTS_EASY_CHAT_H diff --git a/include/constants/flags.h b/include/constants/flags.h new file mode 100644 index 000000000..e74ef1ef0 --- /dev/null +++ b/include/constants/flags.h @@ -0,0 +1,1578 @@ +#ifndef GUARD_CONSTANTS_FLAGS_H +#define GUARD_CONSTANTS_FLAGS_H + +#define FLAG_0x001 0x1 +#define FLAG_0x002 0x2 +#define FLAG_0x003 0x3 +#define FLAG_0x004 0x4 +#define FLAG_0x005 0x5 +#define FLAG_0x006 0x6 +#define FLAG_0x007 0x7 +#define FLAG_0x008 0x8 +#define FLAG_0x009 0x9 +#define FLAG_0x00A 0xA +#define FLAG_0x00B 0xB +#define FLAG_0x00C 0xC +#define FLAG_0x00D 0xD +#define FLAG_0x00E 0xE +#define FLAG_0x00F 0xF +#define FLAG_0x010 0x10 +#define FLAG_0x011 0x11 +#define FLAG_0x012 0x12 +#define FLAG_0x013 0x13 +#define FLAG_0x014 0x14 +#define FLAG_0x015 0x15 +#define FLAG_0x016 0x16 +#define FLAG_0x017 0x17 +#define FLAG_0x018 0x18 +#define FLAG_0x019 0x19 +#define FLAG_0x01A 0x1A +#define FLAG_0x01B 0x1B +#define FLAG_0x01C 0x1C +#define FLAG_0x01D 0x1D +#define FLAG_0x01E 0x1E +#define FLAG_0x01F 0x1F +#define FLAG_0x020 0x20 +#define FLAG_0x021 0x21 +#define FLAG_0x022 0x22 +#define FLAG_0x023 0x23 +#define FLAG_0x024 0x24 +#define FLAG_0x025 0x25 +#define FLAG_0x026 0x26 +#define FLAG_0x027 0x27 +#define FLAG_0x028 0x28 +#define FLAG_0x029 0x29 +#define FLAG_0x02A 0x2A +#define FLAG_0x02B 0x2B +#define FLAG_0x02C 0x2C +#define FLAG_0x02D 0x2D +#define FLAG_0x02E 0x2E +#define FLAG_0x02F 0x2F +#define FLAG_0x030 0x30 +#define FLAG_0x031 0x31 +#define FLAG_0x032 0x32 +#define FLAG_0x033 0x33 +#define FLAG_0x034 0x34 +#define FLAG_0x035 0x35 +#define FLAG_0x036 0x36 +#define FLAG_0x037 0x37 +#define FLAG_0x038 0x38 +#define FLAG_0x039 0x39 +#define FLAG_0x03A 0x3A +#define FLAG_0x03B 0x3B +#define FLAG_0x03C 0x3C +#define FLAG_0x03D 0x3D +#define FLAG_0x03E 0x3E +#define FLAG_0x03F 0x3F +#define FLAG_0x040 0x40 +#define FLAG_0x041 0x41 +#define FLAG_0x042 0x42 +#define FLAG_0x043 0x43 +#define FLAG_0x044 0x44 +#define FLAG_0x045 0x45 +#define FLAG_0x046 0x46 +#define FLAG_0x047 0x47 +#define FLAG_0x048 0x48 +#define FLAG_0x049 0x49 +#define FLAG_0x04A 0x4A +#define FLAG_0x04B 0x4B +#define FLAG_0x04C 0x4C +#define FLAG_0x04D 0x4D +#define FLAG_0x04E 0x4E +#define FLAG_0x04F 0x4F +#define FLAG_0x050 0x50 +#define FLAG_0x051 0x51 +#define FLAG_0x052 0x52 +#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53 +#define FLAG_0x054 0x54 +#define FLAG_0x055 0x55 +#define FLAG_0x056 0x56 +#define FLAG_0x057 0x57 +#define FLAG_0x058 0x58 +#define FLAG_0x059 0x59 +#define FLAG_0x05A 0x5A +#define FLAG_0x05B 0x5B +#define FLAG_0x05C 0x5C +#define FLAG_0x05D 0x5D +#define FLAG_0x05E 0x5E +#define FLAG_0x05F 0x5F +#define FLAG_0x060 0x60 +#define FLAG_0x061 0x61 +#define FLAG_0x062 0x62 +#define FLAG_0x063 0x63 +#define FLAG_0x064 0x64 +#define FLAG_0x065 0x65 +#define FLAG_0x066 0x66 +#define FLAG_0x067 0x67 +#define FLAG_0x068 0x68 +#define FLAG_0x069 0x69 +#define FLAG_0x06A 0x6A +#define FLAG_0x06B 0x6B +#define FLAG_0x06C 0x6C +#define FLAG_0x06D 0x6D +#define FLAG_0x06E 0x6E +#define FLAG_0x06F 0x6F +#define FLAG_0x070 0x70 +#define FLAG_0x071 0x71 +#define FLAG_0x072 0x72 +#define FLAG_0x073 0x73 +#define FLAG_0x074 0x74 +#define FLAG_0x075 0x75 +#define FLAG_0x076 0x76 +#define FLAG_0x077 0x77 +#define FLAG_0x078 0x78 +#define FLAG_0x079 0x79 +#define FLAG_0x07A 0x7A +#define FLAG_0x07B 0x7B +#define FLAG_0x07C 0x7C +#define FLAG_0x07D 0x7D +#define FLAG_0x07E 0x7E +#define FLAG_0x07F 0x7F +#define FLAG_0x080 0x80 +#define FLAG_0x081 0x81 +#define FLAG_0x082 0x82 +#define FLAG_0x083 0x83 +#define FLAG_0x084 0x84 +#define FLAG_0x085 0x85 +#define FLAG_PENDING_DAYCARE_EGG 0x86 +#define FLAG_0x087 0x87 +#define FLAG_0x088 0x88 +#define FLAG_0x089 0x89 +#define FLAG_0x08A 0x8A +#define FLAG_0x08B 0x8B +#define FLAG_0x08C 0x8C +#define FLAG_0x08D 0x8D +#define FLAG_0x08E 0x8E +#define FLAG_0x08F 0x8F +#define FLAG_0x090 0x90 +#define FLAG_0x091 0x91 +#define FLAG_0x092 0x92 +#define FLAG_0x093 0x93 +#define FLAG_0x094 0x94 +#define FLAG_0x095 0x95 +#define FLAG_0x096 0x96 +#define FLAG_0x097 0x97 +#define FLAG_0x098 0x98 +#define FLAG_0x099 0x99 +#define FLAG_0x09A 0x9A +#define FLAG_0x09B 0x9B +#define FLAG_0x09C 0x9C +#define FLAG_0x09D 0x9D +#define FLAG_0x09E 0x9E +#define FLAG_0x09F 0x9F +#define FLAG_0x0A0 0xA0 +#define FLAG_0x0A1 0xA1 +#define FLAG_0x0A2 0xA2 +#define FLAG_0x0A3 0xA3 +#define FLAG_0x0A4 0xA4 +#define FLAG_0x0A5 0xA5 +#define FLAG_0x0A6 0xA6 +#define FLAG_0x0A7 0xA7 +#define FLAG_0x0A8 0xA8 +#define FLAG_0x0A9 0xA9 +#define FLAG_0x0AA 0xAA +#define FLAG_0x0AB 0xAB +#define FLAG_0x0AC 0xAC +#define FLAG_0x0AD 0xAD +#define FLAG_0x0AE 0xAE +#define FLAG_0x0AF 0xAF +#define FLAG_0x0B0 0xB0 +#define FLAG_0x0B1 0xB1 +#define FLAG_0x0B2 0xB2 +#define FLAG_0x0B3 0xB3 +#define FLAG_0x0B4 0xB4 +#define FLAG_0x0B5 0xB5 +#define FLAG_0x0B6 0xB6 +#define FLAG_0x0B7 0xB7 +#define FLAG_0x0B8 0xB8 +#define FLAG_0x0B9 0xB9 +#define FLAG_0x0BA 0xBA +#define FLAG_0x0BB 0xBB +#define FLAG_0x0BC 0xBC +#define FLAG_0x0BD 0xBD +#define FLAG_0x0BE 0xBE +#define FLAG_0x0BF 0xBF +#define FLAG_0x0C0 0xC0 +#define FLAG_0x0C1 0xC1 +#define FLAG_0x0C2 0xC2 +#define FLAG_0x0C3 0xC3 +#define FLAG_0x0C4 0xC4 +#define FLAG_0x0C5 0xC5 +#define FLAG_0x0C6 0xC6 +#define FLAG_0x0C7 0xC7 +#define FLAG_0x0C8 0xC8 +#define FLAG_0x0C9 0xC9 +#define FLAG_0x0CA 0xCA +#define FLAG_0x0CB 0xCB +#define FLAG_0x0CC 0xCC +#define FLAG_0x0CD 0xCD +#define FLAG_0x0CE 0xCE +#define FLAG_0x0CF 0xCF +#define FLAG_0x0D0 0xD0 +#define FLAG_0x0D1 0xD1 +#define FLAG_0x0D2 0xD2 +#define FLAG_0x0D3 0xD3 +#define FLAG_0x0D4 0xD4 +#define FLAG_0x0D5 0xD5 +#define FLAG_0x0D6 0xD6 +#define FLAG_0x0D7 0xD7 +#define FLAG_0x0D8 0xD8 +#define FLAG_0x0D9 0xD9 +#define FLAG_0x0DA 0xDA +#define FLAG_0x0DB 0xDB +#define FLAG_0x0DC 0xDC +#define FLAG_0x0DD 0xDD +#define FLAG_0x0DE 0xDE +#define FLAG_0x0DF 0xDF +#define FLAG_0x0E0 0xE0 +#define FLAG_0x0E1 0xE1 +#define FLAG_0x0E2 0xE2 +#define FLAG_0x0E3 0xE3 +#define FLAG_0x0E4 0xE4 +#define FLAG_0x0E5 0xE5 +#define FLAG_0x0E6 0xE6 +#define FLAG_0x0E7 0xE7 +#define FLAG_0x0E8 0xE8 +#define FLAG_0x0E9 0xE9 +#define FLAG_0x0EA 0xEA +#define FLAG_0x0EB 0xEB +#define FLAG_0x0EC 0xEC +#define FLAG_0x0ED 0xED +#define FLAG_0x0EE 0xEE +#define FLAG_0x0EF 0xEF +#define FLAG_0x0F0 0xF0 +#define FLAG_0x0F1 0xF1 +#define FLAG_0x0F2 0xF2 +#define FLAG_0x0F3 0xF3 +#define FLAG_0x0F4 0xF4 +#define FLAG_0x0F5 0xF5 +#define FLAG_0x0F6 0xF6 +#define FLAG_0x0F7 0xF7 +#define FLAG_0x0F8 0xF8 +#define FLAG_0x0F9 0xF9 +#define FLAG_0x0FA 0xFA +#define FLAG_0x0FB 0xFB +#define FLAG_0x0FC 0xFC +#define FLAG_0x0FD 0xFD +#define FLAG_0x0FE 0xFE +#define FLAG_0x0FF 0xFF +#define FLAG_0x100 0x100 +#define FLAG_0x101 0x101 +#define FLAG_0x102 0x102 +#define FLAG_0x103 0x103 +#define FLAG_0x104 0x104 +#define FLAG_0x105 0x105 +#define FLAG_0x106 0x106 +#define FLAG_0x107 0x107 +#define FLAG_0x108 0x108 +#define FLAG_0x109 0x109 +#define FLAG_0x10A 0x10A +#define FLAG_0x10B 0x10B +#define FLAG_0x10C 0x10C +#define FLAG_0x10D 0x10D +#define FLAG_0x10E 0x10E +#define FLAG_0x10F 0x10F +#define FLAG_0x110 0x110 +#define FLAG_0x111 0x111 +#define FLAG_0x112 0x112 +#define FLAG_0x113 0x113 +#define FLAG_0x114 0x114 +#define FLAG_0x115 0x115 +#define FLAG_0x116 0x116 +#define FLAG_0x117 0x117 +#define FLAG_0x118 0x118 +#define FLAG_0x119 0x119 +#define FLAG_0x11A 0x11A +#define FLAG_0x11B 0x11B +#define FLAG_0x11C 0x11C +#define FLAG_0x11D 0x11D +#define FLAG_0x11E 0x11E +#define FLAG_0x11F 0x11F +#define FLAG_0x120 0x120 +#define FLAG_0x121 0x121 +#define FLAG_0x122 0x122 +#define FLAG_0x123 0x123 +#define FLAG_0x124 0x124 +#define FLAG_0x125 0x125 +#define FLAG_0x126 0x126 +#define FLAG_0x127 0x127 +#define FLAG_0x128 0x128 +#define FLAG_0x129 0x129 +#define FLAG_0x12A 0x12A +#define FLAG_0x12B 0x12B +#define FLAG_0x12C 0x12C +#define FLAG_0x12D 0x12D +#define FLAG_0x12E 0x12E +#define FLAG_0x12F 0x12F +#define FLAG_0x130 0x130 +#define FLAG_0x131 0x131 +#define FLAG_0x132 0x132 +#define FLAG_0x133 0x133 +#define FLAG_0x134 0x134 +#define FLAG_0x135 0x135 +#define FLAG_0x136 0x136 +#define FLAG_0x137 0x137 +#define FLAG_0x138 0x138 +#define FLAG_0x139 0x139 +#define FLAG_0x13A 0x13A +#define FLAG_0x13B 0x13B +#define FLAG_0x13C 0x13C +#define FLAG_0x13D 0x13D +#define FLAG_0x13E 0x13E +#define FLAG_0x13F 0x13F +#define FLAG_0x140 0x140 +#define FLAG_0x141 0x141 +#define FLAG_0x142 0x142 +#define FLAG_0x143 0x143 +#define FLAG_0x144 0x144 +#define FLAG_0x145 0x145 +#define FLAG_0x146 0x146 +#define FLAG_0x147 0x147 +#define FLAG_0x148 0x148 +#define FLAG_0x149 0x149 +#define FLAG_0x14A 0x14A +#define FLAG_0x14B 0x14B +#define FLAG_0x14C 0x14C +#define FLAG_0x14D 0x14D +#define FLAG_0x14E 0x14E +#define FLAG_0x14F 0x14F +#define FLAG_0x150 0x150 +#define FLAG_0x151 0x151 +#define FLAG_0x152 0x152 +#define FLAG_0x153 0x153 +#define FLAG_0x154 0x154 +#define FLAG_0x155 0x155 +#define FLAG_0x156 0x156 +#define FLAG_0x157 0x157 +#define FLAG_0x158 0x158 +#define FLAG_0x159 0x159 +#define FLAG_0x15A 0x15A +#define FLAG_0x15B 0x15B +#define FLAG_0x15C 0x15C +#define FLAG_0x15D 0x15D +#define FLAG_0x15E 0x15E +#define FLAG_0x15F 0x15F +#define FLAG_0x160 0x160 +#define FLAG_0x161 0x161 +#define FLAG_0x162 0x162 +#define FLAG_0x163 0x163 +#define FLAG_0x164 0x164 +#define FLAG_0x165 0x165 +#define FLAG_0x166 0x166 +#define FLAG_0x167 0x167 +#define FLAG_0x168 0x168 +#define FLAG_0x169 0x169 +#define FLAG_0x16A 0x16A +#define FLAG_0x16B 0x16B +#define FLAG_0x16C 0x16C +#define FLAG_0x16D 0x16D +#define FLAG_0x16E 0x16E +#define FLAG_0x16F 0x16F +#define FLAG_0x170 0x170 +#define FLAG_0x171 0x171 +#define FLAG_0x172 0x172 +#define FLAG_0x173 0x173 +#define FLAG_0x174 0x174 +#define FLAG_0x175 0x175 +#define FLAG_0x176 0x176 +#define FLAG_0x177 0x177 +#define FLAG_0x178 0x178 +#define FLAG_0x179 0x179 +#define FLAG_0x17A 0x17A +#define FLAG_0x17B 0x17B +#define FLAG_0x17C 0x17C +#define FLAG_0x17D 0x17D +#define FLAG_0x17E 0x17E +#define FLAG_0x17F 0x17F +#define FLAG_0x180 0x180 +#define FLAG_0x181 0x181 +#define FLAG_0x182 0x182 +#define FLAG_0x183 0x183 +#define FLAG_0x184 0x184 +#define FLAG_0x185 0x185 +#define FLAG_0x186 0x186 +#define FLAG_0x187 0x187 +#define FLAG_0x188 0x188 +#define FLAG_0x189 0x189 +#define FLAG_0x18A 0x18A +#define FLAG_0x18B 0x18B +#define FLAG_0x18C 0x18C +#define FLAG_0x18D 0x18D +#define FLAG_0x18E 0x18E +#define FLAG_0x18F 0x18F +#define FLAG_0x190 0x190 +#define FLAG_0x191 0x191 +#define FLAG_0x192 0x192 +#define FLAG_0x193 0x193 +#define FLAG_0x194 0x194 +#define FLAG_0x195 0x195 +#define FLAG_0x196 0x196 +#define FLAG_0x197 0x197 +#define FLAG_0x198 0x198 +#define FLAG_0x199 0x199 +#define FLAG_0x19A 0x19A +#define FLAG_0x19B 0x19B +#define FLAG_0x19C 0x19C +#define FLAG_0x19D 0x19D +#define FLAG_0x19E 0x19E +#define FLAG_0x19F 0x19F +#define FLAG_0x1A0 0x1A0 +#define FLAG_0x1A1 0x1A1 +#define FLAG_0x1A2 0x1A2 +#define FLAG_0x1A3 0x1A3 +#define FLAG_0x1A4 0x1A4 +#define FLAG_0x1A5 0x1A5 +#define FLAG_0x1A6 0x1A6 +#define FLAG_0x1A7 0x1A7 +#define FLAG_0x1A8 0x1A8 +#define FLAG_0x1A9 0x1A9 +#define FLAG_0x1AA 0x1AA +#define FLAG_0x1AB 0x1AB +#define FLAG_0x1AC 0x1AC +#define FLAG_0x1AD 0x1AD +#define FLAG_0x1AE 0x1AE +#define FLAG_0x1AF 0x1AF +#define FLAG_0x1B0 0x1B0 +#define FLAG_0x1B1 0x1B1 +#define FLAG_0x1B2 0x1B2 +#define FLAG_0x1B3 0x1B3 +#define FLAG_0x1B4 0x1B4 +#define FLAG_0x1B5 0x1B5 +#define FLAG_0x1B6 0x1B6 +#define FLAG_0x1B7 0x1B7 +#define FLAG_0x1B8 0x1B8 +#define FLAG_0x1B9 0x1B9 +#define FLAG_0x1BA 0x1BA +#define FLAG_0x1BB 0x1BB +#define FLAG_0x1BC 0x1BC +#define FLAG_0x1BD 0x1BD +#define FLAG_0x1BE 0x1BE +#define FLAG_0x1BF 0x1BF +#define FLAG_0x1C0 0x1C0 +#define FLAG_0x1C1 0x1C1 +#define FLAG_0x1C2 0x1C2 +#define FLAG_0x1C3 0x1C3 +#define FLAG_0x1C4 0x1C4 +#define FLAG_0x1C5 0x1C5 +#define FLAG_0x1C6 0x1C6 +#define FLAG_0x1C7 0x1C7 +#define FLAG_0x1C8 0x1C8 +#define FLAG_0x1C9 0x1C9 +#define FLAG_0x1CA 0x1CA +#define FLAG_0x1CB 0x1CB +#define FLAG_0x1CC 0x1CC +#define FLAG_0x1CD 0x1CD +#define FLAG_0x1CE 0x1CE +#define FLAG_0x1CF 0x1CF +#define FLAG_0x1D0 0x1D0 +#define FLAG_0x1D1 0x1D1 +#define FLAG_0x1D2 0x1D2 +#define FLAG_0x1D3 0x1D3 +#define FLAG_0x1D4 0x1D4 +#define FLAG_0x1D5 0x1D5 +#define FLAG_0x1D6 0x1D6 +#define FLAG_0x1D7 0x1D7 +#define FLAG_0x1D8 0x1D8 +#define FLAG_0x1D9 0x1D9 +#define FLAG_0x1DA 0x1DA +#define FLAG_0x1DB 0x1DB +#define FLAG_0x1DC 0x1DC +#define FLAG_0x1DD 0x1DD +#define FLAG_0x1DE 0x1DE +#define FLAG_0x1DF 0x1DF +#define FLAG_0x1E0 0x1E0 +#define FLAG_0x1E1 0x1E1 +#define FLAG_0x1E2 0x1E2 +#define FLAG_0x1E3 0x1E3 +#define FLAG_0x1E4 0x1E4 +#define FLAG_0x1E5 0x1E5 +#define FLAG_0x1E6 0x1E6 +#define FLAG_0x1E7 0x1E7 +#define FLAG_0x1E8 0x1E8 +#define FLAG_0x1E9 0x1E9 +#define FLAG_0x1EA 0x1EA +#define FLAG_0x1EB 0x1EB +#define FLAG_0x1EC 0x1EC +#define FLAG_0x1ED 0x1ED +#define FLAG_0x1EE 0x1EE +#define FLAG_0x1EF 0x1EF +#define FLAG_0x1F0 0x1F0 +#define FLAG_0x1F1 0x1F1 +#define FLAG_0x1F2 0x1F2 +#define FLAG_0x1F3 0x1F3 +#define FLAG_0x1F4 0x1F4 +#define FLAG_0x1F5 0x1F5 +#define FLAG_0x1F6 0x1F6 +#define FLAG_0x1F7 0x1F7 +#define FLAG_0x1F8 0x1F8 +#define FLAG_0x1F9 0x1F9 +#define FLAG_0x1FA 0x1FA +#define FLAG_0x1FB 0x1FB +#define FLAG_0x1FC 0x1FC +#define FLAG_0x1FD 0x1FD +#define FLAG_0x1FE 0x1FE +#define FLAG_0x1FF 0x1FF +#define FLAG_0x200 0x200 +#define FLAG_0x201 0x201 +#define FLAG_0x202 0x202 +#define FLAG_0x203 0x203 +#define FLAG_0x204 0x204 +#define FLAG_0x205 0x205 +#define FLAG_0x206 0x206 +#define FLAG_0x207 0x207 +#define FLAG_0x208 0x208 +#define FLAG_0x209 0x209 +#define FLAG_0x20A 0x20A +#define FLAG_0x20B 0x20B +#define FLAG_0x20C 0x20C +#define FLAG_0x20D 0x20D +#define FLAG_0x20E 0x20E +#define FLAG_0x20F 0x20F +#define FLAG_0x210 0x210 +#define FLAG_0x211 0x211 +#define FLAG_0x212 0x212 +#define FLAG_0x213 0x213 +#define FLAG_0x214 0x214 +#define FLAG_0x215 0x215 +#define FLAG_0x216 0x216 +#define FLAG_0x217 0x217 +#define FLAG_0x218 0x218 +#define FLAG_0x219 0x219 +#define FLAG_0x21A 0x21A +#define FLAG_0x21B 0x21B +#define FLAG_0x21C 0x21C +#define FLAG_0x21D 0x21D +#define FLAG_0x21E 0x21E +#define FLAG_0x21F 0x21F +#define FLAG_0x220 0x220 +#define FLAG_0x221 0x221 +#define FLAG_0x222 0x222 +#define FLAG_0x223 0x223 +#define FLAG_0x224 0x224 +#define FLAG_0x225 0x225 +#define FLAG_0x226 0x226 +#define FLAG_0x227 0x227 +#define FLAG_0x228 0x228 +#define FLAG_0x229 0x229 +#define FLAG_0x22A 0x22A +#define FLAG_0x22B 0x22B +#define FLAG_0x22C 0x22C +#define FLAG_0x22D 0x22D +#define FLAG_0x22E 0x22E +#define FLAG_0x22F 0x22F +#define FLAG_0x230 0x230 +#define FLAG_0x231 0x231 +#define FLAG_0x232 0x232 +#define FLAG_0x233 0x233 +#define FLAG_0x234 0x234 +#define FLAG_0x235 0x235 +#define FLAG_0x236 0x236 +#define FLAG_0x237 0x237 +#define FLAG_0x238 0x238 +#define FLAG_0x239 0x239 +#define FLAG_0x23A 0x23A +#define FLAG_0x23B 0x23B +#define FLAG_0x23C 0x23C +#define FLAG_0x23D 0x23D +#define FLAG_0x23E 0x23E +#define FLAG_0x23F 0x23F +#define FLAG_0x240 0x240 +#define FLAG_0x241 0x241 +#define FLAG_0x242 0x242 +#define FLAG_0x243 0x243 +#define FLAG_0x244 0x244 +#define FLAG_0x245 0x245 +#define FLAG_0x246 0x246 +#define FLAG_0x247 0x247 +#define FLAG_0x248 0x248 +#define FLAG_0x249 0x249 +#define FLAG_0x24A 0x24A +#define FLAG_0x24B 0x24B +#define FLAG_0x24C 0x24C +#define FLAG_0x24D 0x24D +#define FLAG_0x24E 0x24E +#define FLAG_0x24F 0x24F +#define FLAG_0x250 0x250 +#define FLAG_0x251 0x251 +#define FLAG_0x252 0x252 +#define FLAG_0x253 0x253 +#define FLAG_0x254 0x254 +#define FLAG_0x255 0x255 +#define FLAG_0x256 0x256 +#define FLAG_0x257 0x257 +#define FLAG_0x258 0x258 +#define FLAG_0x259 0x259 +#define FLAG_0x25A 0x25A +#define FLAG_0x25B 0x25B +#define FLAG_0x25C 0x25C +#define FLAG_0x25D 0x25D +#define FLAG_0x25E 0x25E +#define FLAG_0x25F 0x25F +#define FLAG_0x260 0x260 +#define FLAG_0x261 0x261 +#define FLAG_0x262 0x262 +#define FLAG_0x263 0x263 +#define FLAG_0x264 0x264 +#define FLAG_0x265 0x265 +#define FLAG_0x266 0x266 +#define FLAG_0x267 0x267 +#define FLAG_0x268 0x268 +#define FLAG_0x269 0x269 +#define FLAG_0x26A 0x26A +#define FLAG_0x26B 0x26B +#define FLAG_0x26C 0x26C +#define FLAG_0x26D 0x26D +#define FLAG_0x26E 0x26E +#define FLAG_0x26F 0x26F +#define FLAG_0x270 0x270 +#define FLAG_0x271 0x271 +#define FLAG_0x272 0x272 +#define FLAG_0x273 0x273 +#define FLAG_0x274 0x274 +#define FLAG_0x275 0x275 +#define FLAG_0x276 0x276 +#define FLAG_0x277 0x277 +#define FLAG_0x278 0x278 +#define FLAG_0x279 0x279 +#define FLAG_0x27A 0x27A +#define FLAG_0x27B 0x27B +#define FLAG_0x27C 0x27C +#define FLAG_0x27D 0x27D +#define FLAG_0x27E 0x27E +#define FLAG_0x27F 0x27F +#define FLAG_0x280 0x280 +#define FLAG_0x281 0x281 +#define FLAG_0x282 0x282 +#define FLAG_0x283 0x283 +#define FLAG_0x284 0x284 +#define FLAG_0x285 0x285 +#define FLAG_0x286 0x286 +#define FLAG_0x287 0x287 +#define FLAG_0x288 0x288 +#define FLAG_0x289 0x289 +#define FLAG_0x28A 0x28A +#define FLAG_0x28B 0x28B +#define FLAG_0x28C 0x28C +#define FLAG_0x28D 0x28D +#define FLAG_0x28E 0x28E +#define FLAG_0x28F 0x28F +#define FLAG_0x290 0x290 +#define FLAG_0x291 0x291 +#define FLAG_0x292 0x292 +#define FLAG_0x293 0x293 +#define FLAG_0x294 0x294 +#define FLAG_0x295 0x295 +#define FLAG_0x296 0x296 +#define FLAG_0x297 0x297 +#define FLAG_0x298 0x298 +#define FLAG_0x299 0x299 +#define FLAG_0x29A 0x29A +#define FLAG_0x29B 0x29B +#define FLAG_0x29C 0x29C +#define FLAG_0x29D 0x29D +#define FLAG_0x29E 0x29E +#define FLAG_0x29F 0x29F +#define FLAG_0x2A0 0x2A0 +#define FLAG_0x2A1 0x2A1 +#define FLAG_0x2A2 0x2A2 +#define FLAG_0x2A3 0x2A3 +#define FLAG_0x2A4 0x2A4 +#define FLAG_0x2A5 0x2A5 +#define FLAG_0x2A6 0x2A6 +#define FLAG_0x2A7 0x2A7 +#define FLAG_0x2A8 0x2A8 +#define FLAG_0x2A9 0x2A9 +#define FLAG_0x2AA 0x2AA +#define FLAG_0x2AB 0x2AB +#define FLAG_0x2AC 0x2AC +#define FLAG_0x2AD 0x2AD +#define FLAG_0x2AE 0x2AE +#define FLAG_0x2AF 0x2AF +#define FLAG_0x2B0 0x2B0 +#define FLAG_0x2B1 0x2B1 +#define FLAG_0x2B2 0x2B2 +#define FLAG_0x2B3 0x2B3 +#define FLAG_0x2B4 0x2B4 +#define FLAG_0x2B5 0x2B5 +#define FLAG_0x2B6 0x2B6 +#define FLAG_0x2B7 0x2B7 +#define FLAG_0x2B8 0x2B8 +#define FLAG_0x2B9 0x2B9 +#define FLAG_0x2BA 0x2BA +#define FLAG_0x2BB 0x2BB +#define FLAG_0x2BC 0x2BC +#define FLAG_0x2BD 0x2BD +#define FLAG_0x2BE 0x2BE +#define FLAG_0x2BF 0x2BF +#define FLAG_0x2C0 0x2C0 +#define FLAG_0x2C1 0x2C1 +#define FLAG_0x2C2 0x2C2 +#define FLAG_0x2C3 0x2C3 +#define FLAG_0x2C4 0x2C4 +#define FLAG_0x2C5 0x2C5 +#define FLAG_0x2C6 0x2C6 +#define FLAG_0x2C7 0x2C7 +#define FLAG_0x2C8 0x2C8 +#define FLAG_0x2C9 0x2C9 +#define FLAG_0x2CA 0x2CA +#define FLAG_0x2CB 0x2CB +#define FLAG_0x2CC 0x2CC +#define FLAG_0x2CD 0x2CD +#define FLAG_0x2CE 0x2CE +#define FLAG_0x2CF 0x2CF +#define FLAG_0x2D0 0x2D0 +#define FLAG_0x2D1 0x2D1 +#define FLAG_0x2D2 0x2D2 +#define FLAG_0x2D3 0x2D3 +#define FLAG_0x2D4 0x2D4 +#define FLAG_0x2D5 0x2D5 +#define FLAG_0x2D6 0x2D6 +#define FLAG_0x2D7 0x2D7 +#define FLAG_0x2D8 0x2D8 +#define FLAG_0x2D9 0x2D9 +#define FLAG_0x2DA 0x2DA +#define FLAG_0x2DB 0x2DB +#define FLAG_0x2DC 0x2DC +#define FLAG_0x2DD 0x2DD +#define FLAG_0x2DE 0x2DE +#define FLAG_0x2DF 0x2DF +#define FLAG_0x2E0 0x2E0 +#define FLAG_0x2E1 0x2E1 +#define FLAG_0x2E2 0x2E2 +#define FLAG_0x2E3 0x2E3 +#define FLAG_0x2E4 0x2E4 +#define FLAG_0x2E5 0x2E5 +#define FLAG_0x2E6 0x2E6 +#define FLAG_0x2E7 0x2E7 +#define FLAG_0x2E8 0x2E8 +#define FLAG_0x2E9 0x2E9 +#define FLAG_0x2EA 0x2EA +#define FLAG_0x2EB 0x2EB +#define FLAG_0x2EC 0x2EC +#define FLAG_0x2ED 0x2ED +#define FLAG_0x2EE 0x2EE +#define FLAG_0x2EF 0x2EF +#define FLAG_0x2F0 0x2F0 +#define FLAG_0x2F1 0x2F1 +#define FLAG_0x2F2 0x2F2 +#define FLAG_0x2F3 0x2F3 +#define FLAG_0x2F4 0x2F4 +#define FLAG_0x2F5 0x2F5 +#define FLAG_0x2F6 0x2F6 +#define FLAG_0x2F7 0x2F7 +#define FLAG_0x2F8 0x2F8 +#define FLAG_0x2F9 0x2F9 +#define FLAG_0x2FA 0x2FA +#define FLAG_0x2FB 0x2FB +#define FLAG_0x2FC 0x2FC +#define FLAG_0x2FD 0x2FD +#define FLAG_0x2FE 0x2FE +#define FLAG_0x2FF 0x2FF +#define FLAG_0x300 0x300 +#define FLAG_0x301 0x301 +#define FLAG_0x302 0x302 +#define FLAG_0x303 0x303 +#define FLAG_0x304 0x304 +#define FLAG_0x305 0x305 +#define FLAG_0x306 0x306 +#define FLAG_0x307 0x307 +#define FLAG_0x308 0x308 +#define FLAG_0x309 0x309 +#define FLAG_0x30A 0x30A +#define FLAG_0x30B 0x30B +#define FLAG_0x30C 0x30C +#define FLAG_0x30D 0x30D +#define FLAG_0x30E 0x30E +#define FLAG_0x30F 0x30F +#define FLAG_0x310 0x310 +#define FLAG_0x311 0x311 +#define FLAG_0x312 0x312 +#define FLAG_0x313 0x313 +#define FLAG_0x314 0x314 +#define FLAG_0x315 0x315 +#define FLAG_0x316 0x316 +#define FLAG_0x317 0x317 +#define FLAG_0x318 0x318 +#define FLAG_0x319 0x319 +#define FLAG_0x31A 0x31A +#define FLAG_0x31B 0x31B +#define FLAG_0x31C 0x31C +#define FLAG_0x31D 0x31D +#define FLAG_0x31E 0x31E +#define FLAG_0x31F 0x31F +#define FLAG_0x320 0x320 +#define FLAG_0x321 0x321 +#define FLAG_0x322 0x322 +#define FLAG_0x323 0x323 +#define FLAG_0x324 0x324 +#define FLAG_0x325 0x325 +#define FLAG_0x326 0x326 +#define FLAG_0x327 0x327 +#define FLAG_0x328 0x328 +#define FLAG_0x329 0x329 +#define FLAG_0x32A 0x32A +#define FLAG_0x32B 0x32B +#define FLAG_0x32C 0x32C +#define FLAG_0x32D 0x32D +#define FLAG_0x32E 0x32E +#define FLAG_0x32F 0x32F +#define FLAG_0x330 0x330 +#define FLAG_0x331 0x331 +#define FLAG_0x332 0x332 +#define FLAG_0x333 0x333 +#define FLAG_0x334 0x334 +#define FLAG_0x335 0x335 +#define FLAG_0x336 0x336 +#define FLAG_0x337 0x337 +#define FLAG_0x338 0x338 +#define FLAG_0x339 0x339 +#define FLAG_0x33A 0x33A +#define FLAG_0x33B 0x33B +#define FLAG_0x33C 0x33C +#define FLAG_0x33D 0x33D +#define FLAG_0x33E 0x33E +#define FLAG_0x33F 0x33F +#define FLAG_0x340 0x340 +#define FLAG_0x341 0x341 +#define FLAG_0x342 0x342 +#define FLAG_0x343 0x343 +#define FLAG_0x344 0x344 +#define FLAG_0x345 0x345 +#define FLAG_0x346 0x346 +#define FLAG_0x347 0x347 +#define FLAG_0x348 0x348 +#define FLAG_0x349 0x349 +#define FLAG_0x34A 0x34A +#define FLAG_0x34B 0x34B +#define FLAG_0x34C 0x34C +#define FLAG_0x34D 0x34D +#define FLAG_0x34E 0x34E +#define FLAG_0x34F 0x34F +#define FLAG_0x350 0x350 +#define FLAG_0x351 0x351 +#define FLAG_0x352 0x352 +#define FLAG_0x353 0x353 +#define FLAG_0x354 0x354 +#define FLAG_0x355 0x355 +#define FLAG_0x356 0x356 +#define FLAG_0x357 0x357 +#define FLAG_0x358 0x358 +#define FLAG_0x359 0x359 +#define FLAG_0x35A 0x35A +#define FLAG_0x35B 0x35B +#define FLAG_0x35C 0x35C +#define FLAG_0x35D 0x35D +#define FLAG_0x35E 0x35E +#define FLAG_0x35F 0x35F +#define FLAG_0x360 0x360 +#define FLAG_0x361 0x361 +#define FLAG_0x362 0x362 +#define FLAG_0x363 0x363 +#define FLAG_0x364 0x364 +#define FLAG_0x365 0x365 +#define FLAG_0x366 0x366 +#define FLAG_0x367 0x367 +#define FLAG_0x368 0x368 +#define FLAG_0x369 0x369 +#define FLAG_0x36A 0x36A +#define FLAG_0x36B 0x36B +#define FLAG_0x36C 0x36C +#define FLAG_0x36D 0x36D +#define FLAG_0x36E 0x36E +#define FLAG_0x36F 0x36F +#define FLAG_0x370 0x370 +#define FLAG_0x371 0x371 +#define FLAG_0x372 0x372 +#define FLAG_0x373 0x373 +#define FLAG_0x374 0x374 +#define FLAG_0x375 0x375 +#define FLAG_0x376 0x376 +#define FLAG_0x377 0x377 +#define FLAG_0x378 0x378 +#define FLAG_0x379 0x379 +#define FLAG_0x37A 0x37A +#define FLAG_0x37B 0x37B +#define FLAG_0x37C 0x37C +#define FLAG_0x37D 0x37D +#define FLAG_0x37E 0x37E +#define FLAG_0x37F 0x37F +#define FLAG_0x380 0x380 +#define FLAG_0x381 0x381 +#define FLAG_0x382 0x382 +#define FLAG_0x383 0x383 +#define FLAG_0x384 0x384 +#define FLAG_0x385 0x385 +#define FLAG_0x386 0x386 +#define FLAG_0x387 0x387 +#define FLAG_0x388 0x388 +#define FLAG_0x389 0x389 +#define FLAG_0x38A 0x38A +#define FLAG_0x38B 0x38B +#define FLAG_0x38C 0x38C +#define FLAG_0x38D 0x38D +#define FLAG_0x38E 0x38E +#define FLAG_0x38F 0x38F +#define FLAG_0x390 0x390 +#define FLAG_0x391 0x391 +#define FLAG_0x392 0x392 +#define FLAG_0x393 0x393 +#define FLAG_0x394 0x394 +#define FLAG_0x395 0x395 +#define FLAG_0x396 0x396 +#define FLAG_0x397 0x397 +#define FLAG_0x398 0x398 +#define FLAG_0x399 0x399 +#define FLAG_0x39A 0x39A +#define FLAG_0x39B 0x39B +#define FLAG_0x39C 0x39C +#define FLAG_0x39D 0x39D +#define FLAG_0x39E 0x39E +#define FLAG_0x39F 0x39F +#define FLAG_0x3A0 0x3A0 +#define FLAG_0x3A1 0x3A1 +#define FLAG_0x3A2 0x3A2 +#define FLAG_0x3A3 0x3A3 +#define FLAG_0x3A4 0x3A4 +#define FLAG_0x3A5 0x3A5 +#define FLAG_0x3A6 0x3A6 +#define FLAG_0x3A7 0x3A7 +#define FLAG_0x3A8 0x3A8 +#define FLAG_0x3A9 0x3A9 +#define FLAG_0x3AA 0x3AA +#define FLAG_0x3AB 0x3AB +#define FLAG_0x3AC 0x3AC +#define FLAG_0x3AD 0x3AD +#define FLAG_0x3AE 0x3AE +#define FLAG_0x3AF 0x3AF +#define FLAG_0x3B0 0x3B0 +#define FLAG_0x3B1 0x3B1 +#define FLAG_0x3B2 0x3B2 +#define FLAG_0x3B3 0x3B3 +#define FLAG_0x3B4 0x3B4 +#define FLAG_0x3B5 0x3B5 +#define FLAG_0x3B6 0x3B6 +#define FLAG_0x3B7 0x3B7 +#define FLAG_0x3B8 0x3B8 +#define FLAG_0x3B9 0x3B9 +#define FLAG_0x3BA 0x3BA +#define FLAG_0x3BB 0x3BB +#define FLAG_0x3BC 0x3BC +#define FLAG_0x3BD 0x3BD +#define FLAG_0x3BE 0x3BE +#define FLAG_0x3BF 0x3BF +#define FLAG_0x3C0 0x3C0 +#define FLAG_0x3C1 0x3C1 +#define FLAG_0x3C2 0x3C2 +#define FLAG_0x3C3 0x3C3 +#define FLAG_0x3C4 0x3C4 +#define FLAG_0x3C5 0x3C5 +#define FLAG_0x3C6 0x3C6 +#define FLAG_0x3C7 0x3C7 +#define FLAG_0x3C8 0x3C8 +#define FLAG_0x3C9 0x3C9 +#define FLAG_0x3CA 0x3CA +#define FLAG_0x3CB 0x3CB +#define FLAG_0x3CC 0x3CC +#define FLAG_0x3CD 0x3CD +#define FLAG_0x3CE 0x3CE +#define FLAG_0x3CF 0x3CF +#define FLAG_0x3D0 0x3D0 +#define FLAG_0x3D1 0x3D1 +#define FLAG_0x3D2 0x3D2 +#define FLAG_0x3D3 0x3D3 +#define FLAG_0x3D4 0x3D4 +#define FLAG_0x3D5 0x3D5 +#define FLAG_0x3D6 0x3D6 +#define FLAG_0x3D7 0x3D7 +#define FLAG_0x3D8 0x3D8 +#define FLAG_0x3D9 0x3D9 +#define FLAG_0x3DA 0x3DA +#define FLAG_0x3DB 0x3DB +#define FLAG_0x3DC 0x3DC +#define FLAG_0x3DD 0x3DD +#define FLAG_0x3DE 0x3DE +#define FLAG_0x3DF 0x3DF +#define FLAG_0x3E0 0x3E0 +#define FLAG_0x3E1 0x3E1 +#define FLAG_0x3E2 0x3E2 +#define FLAG_0x3E3 0x3E3 +#define FLAG_0x3E4 0x3E4 +#define FLAG_0x3E5 0x3E5 +#define FLAG_0x3E6 0x3E6 +#define FLAG_0x3E7 0x3E7 +#define FLAG_0x3E8 0x3E8 +#define FLAG_0x3E9 0x3E9 +#define FLAG_0x3EA 0x3EA +#define FLAG_0x3EB 0x3EB +#define FLAG_0x3EC 0x3EC +#define FLAG_0x3ED 0x3ED +#define FLAG_0x3EE 0x3EE +#define FLAG_0x3EF 0x3EF +#define FLAG_0x3F0 0x3F0 +#define FLAG_0x3F1 0x3F1 +#define FLAG_0x3F2 0x3F2 +#define FLAG_0x3F3 0x3F3 +#define FLAG_0x3F4 0x3F4 +#define FLAG_0x3F5 0x3F5 +#define FLAG_0x3F6 0x3F6 +#define FLAG_0x3F7 0x3F7 +#define FLAG_0x3F8 0x3F8 +#define FLAG_0x3F9 0x3F9 +#define FLAG_0x3FA 0x3FA +#define FLAG_0x3FB 0x3FB +#define FLAG_0x3FC 0x3FC +#define FLAG_0x3FD 0x3FD +#define FLAG_0x3FE 0x3FE +#define FLAG_0x3FF 0x3FF +#define FLAG_0x400 0x400 +#define FLAG_0x401 0x401 +#define FLAG_0x402 0x402 +#define FLAG_0x403 0x403 +#define FLAG_0x404 0x404 +#define FLAG_0x405 0x405 +#define FLAG_0x406 0x406 +#define FLAG_0x407 0x407 +#define FLAG_0x408 0x408 +#define FLAG_0x409 0x409 +#define FLAG_0x40A 0x40A +#define FLAG_0x40B 0x40B +#define FLAG_0x40C 0x40C +#define FLAG_0x40D 0x40D +#define FLAG_0x40E 0x40E +#define FLAG_0x40F 0x40F +#define FLAG_0x410 0x410 +#define FLAG_0x411 0x411 +#define FLAG_0x412 0x412 +#define FLAG_0x413 0x413 +#define FLAG_0x414 0x414 +#define FLAG_0x415 0x415 +#define FLAG_0x416 0x416 +#define FLAG_0x417 0x417 +#define FLAG_0x418 0x418 +#define FLAG_0x419 0x419 +#define FLAG_0x41A 0x41A +#define FLAG_0x41B 0x41B +#define FLAG_0x41C 0x41C +#define FLAG_0x41D 0x41D +#define FLAG_0x41E 0x41E +#define FLAG_0x41F 0x41F +#define FLAG_0x420 0x420 +#define FLAG_0x421 0x421 +#define FLAG_0x422 0x422 +#define FLAG_0x423 0x423 +#define FLAG_0x424 0x424 +#define FLAG_0x425 0x425 +#define FLAG_0x426 0x426 +#define FLAG_0x427 0x427 +#define FLAG_0x428 0x428 +#define FLAG_0x429 0x429 +#define FLAG_0x42A 0x42A +#define FLAG_0x42B 0x42B +#define FLAG_0x42C 0x42C +#define FLAG_0x42D 0x42D +#define FLAG_0x42E 0x42E +#define FLAG_0x42F 0x42F +#define FLAG_0x430 0x430 +#define FLAG_0x431 0x431 +#define FLAG_0x432 0x432 +#define FLAG_0x433 0x433 +#define FLAG_0x434 0x434 +#define FLAG_0x435 0x435 +#define FLAG_0x436 0x436 +#define FLAG_0x437 0x437 +#define FLAG_0x438 0x438 +#define FLAG_0x439 0x439 +#define FLAG_0x43A 0x43A +#define FLAG_0x43B 0x43B +#define FLAG_0x43C 0x43C +#define FLAG_0x43D 0x43D +#define FLAG_0x43E 0x43E +#define FLAG_0x43F 0x43F +#define FLAG_0x440 0x440 +#define FLAG_0x441 0x441 +#define FLAG_0x442 0x442 +#define FLAG_0x443 0x443 +#define FLAG_0x444 0x444 +#define FLAG_0x445 0x445 +#define FLAG_0x446 0x446 +#define FLAG_0x447 0x447 +#define FLAG_0x448 0x448 +#define FLAG_0x449 0x449 +#define FLAG_0x44A 0x44A +#define FLAG_0x44B 0x44B +#define FLAG_0x44C 0x44C +#define FLAG_0x44D 0x44D +#define FLAG_0x44E 0x44E +#define FLAG_0x44F 0x44F +#define FLAG_0x450 0x450 +#define FLAG_0x451 0x451 +#define FLAG_0x452 0x452 +#define FLAG_0x453 0x453 +#define FLAG_0x454 0x454 +#define FLAG_0x455 0x455 +#define FLAG_0x456 0x456 +#define FLAG_0x457 0x457 +#define FLAG_0x458 0x458 +#define FLAG_0x459 0x459 +#define FLAG_0x45A 0x45A +#define FLAG_0x45B 0x45B +#define FLAG_0x45C 0x45C +#define FLAG_0x45D 0x45D +#define FLAG_0x45E 0x45E +#define FLAG_0x45F 0x45F +#define FLAG_0x460 0x460 +#define FLAG_0x461 0x461 +#define FLAG_0x462 0x462 +#define FLAG_0x463 0x463 +#define FLAG_0x464 0x464 +#define FLAG_0x465 0x465 +#define FLAG_0x466 0x466 +#define FLAG_0x467 0x467 +#define FLAG_0x468 0x468 +#define FLAG_0x469 0x469 +#define FLAG_0x46A 0x46A +#define FLAG_0x46B 0x46B +#define FLAG_0x46C 0x46C +#define FLAG_0x46D 0x46D +#define FLAG_0x46E 0x46E +#define FLAG_0x46F 0x46F +#define FLAG_0x470 0x470 +#define FLAG_0x471 0x471 +#define FLAG_0x472 0x472 +#define FLAG_0x473 0x473 +#define FLAG_0x474 0x474 +#define FLAG_0x475 0x475 +#define FLAG_0x476 0x476 +#define FLAG_0x477 0x477 +#define FLAG_0x478 0x478 +#define FLAG_0x479 0x479 +#define FLAG_0x47A 0x47A +#define FLAG_0x47B 0x47B +#define FLAG_0x47C 0x47C +#define FLAG_0x47D 0x47D +#define FLAG_0x47E 0x47E +#define FLAG_0x47F 0x47F +#define FLAG_0x480 0x480 +#define FLAG_0x481 0x481 +#define FLAG_0x482 0x482 +#define FLAG_0x483 0x483 +#define FLAG_0x484 0x484 +#define FLAG_0x485 0x485 +#define FLAG_0x486 0x486 +#define FLAG_0x487 0x487 +#define FLAG_0x488 0x488 +#define FLAG_0x489 0x489 +#define FLAG_0x48A 0x48A +#define FLAG_0x48B 0x48B +#define FLAG_0x48C 0x48C +#define FLAG_0x48D 0x48D +#define FLAG_0x48E 0x48E +#define FLAG_0x48F 0x48F +#define FLAG_0x490 0x490 +#define FLAG_0x491 0x491 +#define FLAG_0x492 0x492 +#define FLAG_0x493 0x493 +#define FLAG_0x494 0x494 +#define FLAG_0x495 0x495 +#define FLAG_0x496 0x496 +#define FLAG_0x497 0x497 +#define FLAG_0x498 0x498 +#define FLAG_0x499 0x499 +#define FLAG_0x49A 0x49A +#define FLAG_0x49B 0x49B +#define FLAG_0x49C 0x49C +#define FLAG_0x49D 0x49D +#define FLAG_0x49E 0x49E +#define FLAG_0x49F 0x49F +#define FLAG_0x4A0 0x4A0 +#define FLAG_0x4A1 0x4A1 +#define FLAG_0x4A2 0x4A2 +#define FLAG_0x4A3 0x4A3 +#define FLAG_0x4A4 0x4A4 +#define FLAG_0x4A5 0x4A5 +#define FLAG_0x4A6 0x4A6 +#define FLAG_0x4A7 0x4A7 +#define FLAG_0x4A8 0x4A8 +#define FLAG_0x4A9 0x4A9 +#define FLAG_0x4AA 0x4AA +#define FLAG_0x4AB 0x4AB +#define FLAG_0x4AC 0x4AC +#define FLAG_0x4AD 0x4AD +#define FLAG_0x4AE 0x4AE +#define FLAG_0x4AF 0x4AF +#define FLAG_0x4B0 0x4B0 +#define FLAG_0x4B1 0x4B1 +#define FLAG_0x4B2 0x4B2 +#define FLAG_0x4B3 0x4B3 +#define FLAG_0x4B4 0x4B4 +#define FLAG_0x4B5 0x4B5 +#define FLAG_0x4B6 0x4B6 +#define FLAG_0x4B7 0x4B7 +#define FLAG_0x4B8 0x4B8 +#define FLAG_0x4B9 0x4B9 +#define FLAG_0x4BA 0x4BA +#define FLAG_0x4BB 0x4BB +#define FLAG_0x4BC 0x4BC +#define FLAG_0x4BD 0x4BD +#define FLAG_0x4BE 0x4BE +#define FLAG_0x4BF 0x4BF +#define FLAG_0x4C0 0x4C0 +#define FLAG_0x4C1 0x4C1 +#define FLAG_0x4C2 0x4C2 +#define FLAG_0x4C3 0x4C3 +#define FLAG_0x4C4 0x4C4 +#define FLAG_0x4C5 0x4C5 +#define FLAG_0x4C6 0x4C6 +#define FLAG_0x4C7 0x4C7 +#define FLAG_0x4C8 0x4C8 +#define FLAG_0x4C9 0x4C9 +#define FLAG_0x4CA 0x4CA +#define FLAG_0x4CB 0x4CB +#define FLAG_0x4CC 0x4CC +#define FLAG_0x4CD 0x4CD +#define FLAG_0x4CE 0x4CE +#define FLAG_0x4CF 0x4CF +#define FLAG_0x4D0 0x4D0 +#define FLAG_0x4D1 0x4D1 +#define FLAG_0x4D2 0x4D2 +#define FLAG_0x4D3 0x4D3 +#define FLAG_0x4D4 0x4D4 +#define FLAG_0x4D5 0x4D5 +#define FLAG_0x4D6 0x4D6 +#define FLAG_0x4D7 0x4D7 +#define FLAG_0x4D8 0x4D8 +#define FLAG_0x4D9 0x4D9 +#define FLAG_0x4DA 0x4DA +#define FLAG_0x4DB 0x4DB +#define FLAG_0x4DC 0x4DC +#define FLAG_0x4DD 0x4DD +#define FLAG_0x4DE 0x4DE +#define FLAG_0x4DF 0x4DF +#define FLAG_0x4E0 0x4E0 +#define FLAG_0x4E1 0x4E1 +#define FLAG_0x4E2 0x4E2 +#define FLAG_0x4E3 0x4E3 +#define FLAG_0x4E4 0x4E4 +#define FLAG_0x4E5 0x4E5 +#define FLAG_0x4E6 0x4E6 +#define FLAG_0x4E7 0x4E7 +#define FLAG_0x4E8 0x4E8 +#define FLAG_0x4E9 0x4E9 +#define FLAG_0x4EA 0x4EA +#define FLAG_0x4EB 0x4EB +#define FLAG_0x4EC 0x4EC +#define FLAG_0x4ED 0x4ED +#define FLAG_0x4EE 0x4EE +#define FLAG_0x4EF 0x4EF +#define FLAG_0x4F0 0x4F0 +#define FLAG_0x4F1 0x4F1 +#define FLAG_0x4F2 0x4F2 +#define FLAG_0x4F3 0x4F3 +#define FLAG_0x4F4 0x4F4 +#define FLAG_0x4F5 0x4F5 +#define FLAG_0x4F6 0x4F6 +#define FLAG_0x4F7 0x4F7 +#define FLAG_0x4F8 0x4F8 +#define FLAG_0x4F9 0x4F9 +#define FLAG_0x4FA 0x4FA +#define FLAG_0x4FB 0x4FB +#define FLAG_0x4FC 0x4FC +#define FLAG_0x4FD 0x4FD +#define FLAG_0x4FE 0x4FE +#define FLAG_0x4FF 0x4FF + +#define FLAG_TRAINER_FLAG_START 0x500 + +#define TRAINERS_FLAG_NO 0x356 +#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 + +// SYSTEM FLAGS + +// 0x860 +#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0) +#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1) +#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2) +// third one appears unused +#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4) +#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5) +#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6) + +// badges +#define FLAG_BADGE01_GET (CODE_FLAGS + 7) +#define FLAG_BADGE02_GET (CODE_FLAGS + 8) +#define FLAG_BADGE03_GET (CODE_FLAGS + 9) +#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA) +#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB) +#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC) +#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD) +#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE) + +// cities and towns +#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF) +#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10) +#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11) +#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12) +#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13) +#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14) +#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15) +#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16) +#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17) +#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18) +#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19) +#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A) +#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B) +#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C) +#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D) +#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E) + +#define FLAG_0x87F (CODE_FLAGS + 0x1F) +#define FLAG_0x880 (CODE_FLAGS + 0x20) +#define FLAG_0x881 (CODE_FLAGS + 0x21) +#define FLAG_0x882 (CODE_FLAGS + 0x22) +#define FLAG_0x883 (CODE_FLAGS + 0x23) +#define FLAG_0x884 (CODE_FLAGS + 0x24) +#define FLAG_0x885 (CODE_FLAGS + 0x25) +#define FLAG_0x886 (CODE_FLAGS + 0x26) +#define FLAG_0x887 (CODE_FLAGS + 0x27) + +#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28) +#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29) +#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A) +#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B) +#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C) +#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D) + +#define FLAG_0x88E (CODE_FLAGS + 0x2E) +#define FLAG_0x88F (CODE_FLAGS + 0x2F) + +#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30) +#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31) +#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32) +#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33) +#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34) +#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35) +#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36) +#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37) +#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38) +#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39) +#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A) +#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B) + +#define FLAG_0x89C (CODE_FLAGS + 0x3C) +#define FLAG_0x89D (CODE_FLAGS + 0x3D) +#define FLAG_0x89E (CODE_FLAGS + 0x3E) +#define FLAG_0x89F (CODE_FLAGS + 0x3F) +#define FLAG_0x8A0 (CODE_FLAGS + 0x40) +#define FLAG_0x8A1 (CODE_FLAGS + 0x41) +#define FLAG_0x8A2 (CODE_FLAGS + 0x42) +#define FLAG_0x8A3 (CODE_FLAGS + 0x43) +#define FLAG_0x8A4 (CODE_FLAGS + 0x44) +#define FLAG_0x8A5 (CODE_FLAGS + 0x45) +#define FLAG_0x8A6 (CODE_FLAGS + 0x46) +#define FLAG_0x8A7 (CODE_FLAGS + 0x47) +#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48) +#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49) +#define FLAG_0x8AA (CODE_FLAGS + 0x4A) + +#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B) +#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C) +#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D) +#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E) +#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F) +#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50) +#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51) +#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52) +#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53) + +#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54) + +#define FLAG_0x8B5 (CODE_FLAGS + 0x55) +#define FLAG_0x8B6 (CODE_FLAGS + 0x56) +#define FLAG_0x8B7 (CODE_FLAGS + 0x57) +#define FLAG_0x8B8 (CODE_FLAGS + 0x58) +#define FLAG_0x8B9 (CODE_FLAGS + 0x59) +#define FLAG_0x8BA (CODE_FLAGS + 0x5A) +#define FLAG_0x8BB (CODE_FLAGS + 0x5B) +#define FLAG_0x8BC (CODE_FLAGS + 0x5C) + +#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D) + +#define FLAG_0x8BE (CODE_FLAGS + 0x5E) + +#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F) +#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes +#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61) +#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62) + +#define FLAG_0x8C3 (CODE_FLAGS + 0x63) + +#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64) +#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65) +#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66) +#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67) +#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68) +#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69) +#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A) +#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B) +#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C) +#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D) +#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E) +#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F) +#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70) +#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71) +#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72) + +#define FLAG_0x8D3 (CODE_FLAGS + 0x73) +#define FLAG_0x8D4 (CODE_FLAGS + 0x74) +#define FLAG_0x8D5 (CODE_FLAGS + 0x75) +#define FLAG_0x8D6 (CODE_FLAGS + 0x76) + +#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77) + +#define FLAG_0x8D8 (CODE_FLAGS + 0x78) +#define FLAG_0x8D9 (CODE_FLAGS + 0x79) +#define FLAG_0x8DA (CODE_FLAGS + 0x7A) + +#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B) + +#define FLAG_0x8DC (CODE_FLAGS + 0x7C) +#define FLAG_0x8DD (CODE_FLAGS + 0x7D) +#define FLAG_0x8DE (CODE_FLAGS + 0x7E) +#define FLAG_0x8DF (CODE_FLAGS + 0x7F) +#define FLAG_0x8E0 (CODE_FLAGS + 0x80) +#define FLAG_0x8E1 (CODE_FLAGS + 0x81) +#define FLAG_0x8E2 (CODE_FLAGS + 0x82) +#define FLAG_0x8E3 (CODE_FLAGS + 0x83) +#define FLAG_0x8E4 (CODE_FLAGS + 0x84) +#define FLAG_0x8E5 (CODE_FLAGS + 0x85) +#define FLAG_0x8E6 (CODE_FLAGS + 0x86) +#define FLAG_0x8E7 (CODE_FLAGS + 0x87) +#define FLAG_0x8E8 (CODE_FLAGS + 0x88) +#define FLAG_0x8E9 (CODE_FLAGS + 0x89) +#define FLAG_0x8EA (CODE_FLAGS + 0x8A) +#define FLAG_0x8EB (CODE_FLAGS + 0x8B) +#define FLAG_0x8EC (CODE_FLAGS + 0x8C) +#define FLAG_0x8ED (CODE_FLAGS + 0x8D) +#define FLAG_0x8EE (CODE_FLAGS + 0x8E) +#define FLAG_0x8EF (CODE_FLAGS + 0x8F) +#define FLAG_0x8F0 (CODE_FLAGS + 0x90) +#define FLAG_0x8F1 (CODE_FLAGS + 0x91) +#define FLAG_0x8F2 (CODE_FLAGS + 0x92) +#define FLAG_0x8F3 (CODE_FLAGS + 0x93) +#define FLAG_0x8F4 (CODE_FLAGS + 0x94) +#define FLAG_0x8F5 (CODE_FLAGS + 0x95) +#define FLAG_0x8F6 (CODE_FLAGS + 0x96) +#define FLAG_0x8F7 (CODE_FLAGS + 0x97) +#define FLAG_0x8F8 (CODE_FLAGS + 0x98) +#define FLAG_0x8F9 (CODE_FLAGS + 0x99) +#define FLAG_0x8FA (CODE_FLAGS + 0x9A) +#define FLAG_0x8FB (CODE_FLAGS + 0x9B) +#define FLAG_0x8FC (CODE_FLAGS + 0x9C) +#define FLAG_0x8FD (CODE_FLAGS + 0x9D) +#define FLAG_0x8FE (CODE_FLAGS + 0x9E) +#define FLAG_0x8FF (CODE_FLAGS + 0x9F) +#define FLAG_0x900 (CODE_FLAGS + 0xA0) +#define FLAG_0x901 (CODE_FLAGS + 0xA1) +#define FLAG_0x902 (CODE_FLAGS + 0xA2) +#define FLAG_0x903 (CODE_FLAGS + 0xA3) +#define FLAG_0x904 (CODE_FLAGS + 0xA4) +#define FLAG_0x905 (CODE_FLAGS + 0xA5) +#define FLAG_0x906 (CODE_FLAGS + 0xA6) +#define FLAG_0x907 (CODE_FLAGS + 0xA7) +#define FLAG_0x908 (CODE_FLAGS + 0xA8) +#define FLAG_0x909 (CODE_FLAGS + 0xA9) +#define FLAG_0x90A (CODE_FLAGS + 0xAA) +#define FLAG_0x90B (CODE_FLAGS + 0xAB) +#define FLAG_0x90C (CODE_FLAGS + 0xAC) +#define FLAG_0x90D (CODE_FLAGS + 0xAD) +#define FLAG_0x90E (CODE_FLAGS + 0xAE) +#define FLAG_0x90F (CODE_FLAGS + 0xAF) +#define FLAG_0x910 (CODE_FLAGS + 0xB0) +#define FLAG_0x911 (CODE_FLAGS + 0xB1) +#define FLAG_0x912 (CODE_FLAGS + 0xB2) +#define FLAG_0x913 (CODE_FLAGS + 0xB3) +#define FLAG_0x914 (CODE_FLAGS + 0xB4) +#define FLAG_0x915 (CODE_FLAGS + 0xB5) +#define FLAG_0x916 (CODE_FLAGS + 0xB6) +#define FLAG_0x917 (CODE_FLAGS + 0xB7) +#define FLAG_0x918 (CODE_FLAGS + 0xB8) +#define FLAG_0x919 (CODE_FLAGS + 0xB9) +#define FLAG_0x91A (CODE_FLAGS + 0xBA) +#define FLAG_0x91B (CODE_FLAGS + 0xBB) +#define FLAG_0x91C (CODE_FLAGS + 0xBC) +#define FLAG_0x91D (CODE_FLAGS + 0xBD) +#define FLAG_0x91E (CODE_FLAGS + 0xBE) +#define FLAG_0x91F (CODE_FLAGS + 0xBF) +#define FLAG_0x920 (CODE_FLAGS + 0xC0) +#define FLAG_0x921 (CODE_FLAGS + 0xC1) +#define FLAG_0x922 (CODE_FLAGS + 0xC2) +#define FLAG_0x923 (CODE_FLAGS + 0xC3) +#define FLAG_0x924 (CODE_FLAGS + 0xC4) +#define FLAG_0x925 (CODE_FLAGS + 0xC5) +#define FLAG_0x926 (CODE_FLAGS + 0xC6) +#define FLAG_0x927 (CODE_FLAGS + 0xC7) +#define FLAG_0x928 (CODE_FLAGS + 0xC8) +#define FLAG_0x929 (CODE_FLAGS + 0xC9) +#define FLAG_0x92A (CODE_FLAGS + 0xCA) +#define FLAG_0x92B (CODE_FLAGS + 0xCB) +#define FLAG_0x92C (CODE_FLAGS + 0xCC) +#define FLAG_0x92D (CODE_FLAGS + 0xCD) +#define FLAG_0x92E (CODE_FLAGS + 0xCE) +#define FLAG_0x92F (CODE_FLAGS + 0xCF) +#define FLAG_0x930 (CODE_FLAGS + 0xD0) +#define FLAG_0x931 (CODE_FLAGS + 0xD1) +#define FLAG_0x932 (CODE_FLAGS + 0xD2) +#define FLAG_0x933 (CODE_FLAGS + 0xD3) +#define FLAG_0x934 (CODE_FLAGS + 0xD4) +#define FLAG_0x935 (CODE_FLAGS + 0xD5) +#define FLAG_0x936 (CODE_FLAGS + 0xD6) +#define FLAG_0x937 (CODE_FLAGS + 0xD7) +#define FLAG_0x938 (CODE_FLAGS + 0xD8) +#define FLAG_0x939 (CODE_FLAGS + 0xD9) +#define FLAG_0x93A (CODE_FLAGS + 0xDA) +#define FLAG_0x93B (CODE_FLAGS + 0xDB) +#define FLAG_0x93C (CODE_FLAGS + 0xDC) +#define FLAG_0x93D (CODE_FLAGS + 0xDD) +#define FLAG_0x93E (CODE_FLAGS + 0xDE) +#define FLAG_0x93F (CODE_FLAGS + 0xDF) +#define FLAG_0x940 (CODE_FLAGS + 0xE0) +#define FLAG_0x941 (CODE_FLAGS + 0xE1) +#define FLAG_0x942 (CODE_FLAGS + 0xE2) +#define FLAG_0x943 (CODE_FLAGS + 0xE3) +#define FLAG_0x944 (CODE_FLAGS + 0xE4) +#define FLAG_0x945 (CODE_FLAGS + 0xE5) +#define FLAG_0x946 (CODE_FLAGS + 0xE6) +#define FLAG_0x947 (CODE_FLAGS + 0xE7) +#define FLAG_0x948 (CODE_FLAGS + 0xE8) +#define FLAG_0x949 (CODE_FLAGS + 0xE9) +#define FLAG_0x94A (CODE_FLAGS + 0xEA) +#define FLAG_0x94B (CODE_FLAGS + 0xEB) +#define FLAG_0x94C (CODE_FLAGS + 0xEC) +#define FLAG_0x94D (CODE_FLAGS + 0xED) +#define FLAG_0x94E (CODE_FLAGS + 0xEE) +#define FLAG_0x94F (CODE_FLAGS + 0xEF) +#define FLAG_0x950 (CODE_FLAGS + 0xF0) +#define FLAG_0x951 (CODE_FLAGS + 0xF1) +#define FLAG_0x952 (CODE_FLAGS + 0xF2) +#define FLAG_0x953 (CODE_FLAGS + 0xF3) +#define FLAG_0x954 (CODE_FLAGS + 0xF4) +#define FLAG_0x955 (CODE_FLAGS + 0xF5) +#define FLAG_0x956 (CODE_FLAGS + 0xF6) +#define FLAG_0x957 (CODE_FLAGS + 0xF7) +#define FLAG_0x958 (CODE_FLAGS + 0xF8) +#define FLAG_0x959 (CODE_FLAGS + 0xF9) +#define FLAG_0x95A (CODE_FLAGS + 0xFA) +#define FLAG_0x95B (CODE_FLAGS + 0xFB) +#define FLAG_0x95C (CODE_FLAGS + 0xFC) +#define FLAG_0x95D (CODE_FLAGS + 0xFD) +#define FLAG_0x95E (CODE_FLAGS + 0xFE) +#define FLAG_0x95F (CODE_FLAGS + 0xFF) + +// SPECIAL FLAGS (unknown purpose) +#define FLAG_SPECIAL_FLAG_0x4000 0x4000 +#define FLAG_SPECIAL_FLAG_0x4001 0x4001 +#define FLAG_SPECIAL_FLAG_0x4002 0x4002 +#define FLAG_SPECIAL_FLAG_0x4003 0x4003 +#define FLAG_SPECIAL_FLAG_0x4004 0x4004 + +#endif // GUARD_CONSTANTS_FLAGS_H diff --git a/include/constants/game_stat.h b/include/constants/game_stat.h new file mode 100644 index 000000000..b1f3d4197 --- /dev/null +++ b/include/constants/game_stat.h @@ -0,0 +1,59 @@ +#ifndef GUARD_CONSTANTS_GAME_STAT_H +#define GUARD_CONSTANTS_GAME_STAT_H + +#define GAME_STAT_SAVED_GAME 0 +#define GAME_STAT_FIRST_HOF_PLAY_TIME 1 +#define GAME_STAT_STARTED_TRENDS 2 +#define GAME_STAT_PLANTED_BERRIES 3 +#define GAME_STAT_TRADED_BIKES 4 +#define GAME_STAT_STEPS 5 +#define GAME_STAT_GOT_INTERVIEWED 6 +#define GAME_STAT_TOTAL_BATTLES 7 +#define GAME_STAT_WILD_BATTLES 8 +#define GAME_STAT_TRAINER_BATTLES 9 +#define GAME_STAT_ENTERED_HOF 10 +#define GAME_STAT_POKEMON_CAPTURES 11 +#define GAME_STAT_FISHING_CAPTURES 12 +#define GAME_STAT_HATCHED_EGGS 13 +#define GAME_STAT_EVOLVED_POKEMON 14 +#define GAME_STAT_USED_POKECENTER 15 +#define GAME_STAT_RESTED_AT_HOME 16 +#define GAME_STAT_ENTERED_SAFARI_ZONE 17 +#define GAME_STAT_USED_CUT 18 +#define GAME_STAT_USED_ROCK_SMASH 19 +#define GAME_STAT_MOVED_SECRET_BASE 20 +#define GAME_STAT_POKEMON_TRADES 21 +#define GAME_STAT_UNKNOWN_22 22 +#define GAME_STAT_LINK_BATTLE_WINS 23 +#define GAME_STAT_LINK_BATTLE_LOSSES 24 +#define GAME_STAT_LINK_BATTLE_DRAWS 25 +#define GAME_STAT_USED_SPLASH 26 +#define GAME_STAT_USED_STRUGGLE 27 +#define GAME_STAT_SLOT_JACKPOTS 28 +#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29 +#define GAME_STAT_ENTERED_BATTLE_TOWER 30 +#define GAME_STAT_UNKNOWN_31 31 +#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32 +#define GAME_STAT_POKEBLOCKS 33 +#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34 +#define GAME_STAT_WON_LINK_CONTEST 35 +#define GAME_STAT_ENTERED_CONTEST 36 +#define GAME_STAT_WON_CONTEST 37 +#define GAME_STAT_SHOPPED 38 +#define GAME_STAT_USED_ITEMFINDER 39 +#define GAME_STAT_GOT_RAINED_ON 40 +#define GAME_STAT_CHECKED_POKEDEX 41 +#define GAME_STAT_RECEIVED_RIBBONS 42 +#define GAME_STAT_JUMPED_DOWN_LEDGES 43 +#define GAME_STAT_WATCHED_TV 44 +#define GAME_STAT_CHECKED_CLOCK 45 +#define GAME_STAT_WON_POKEMON_LOTTERY 46 +#define GAME_STAT_USED_DAYCARE 47 +#define GAME_STAT_RODE_CABLE_CAR 48 +#define GAME_STAT_ENTERED_HOT_SPRINGS 49 + +/*TODO: add new stats added in Emerald*/ + +#define NUM_GAME_STATS 64 + +#endif // GUARD_CONSTANTS_GAME_STAT_H diff --git a/include/constants/hold_effects.h b/include/constants/hold_effects.h new file mode 100644 index 000000000..b653f5a92 --- /dev/null +++ b/include/constants/hold_effects.h @@ -0,0 +1,72 @@ +#ifndef GUARD_HOLD_EFFECTS_H +#define GUARD_HOLD_EFFECTS_H + +#define HOLD_EFFECT_NONE 0 +#define HOLD_EFFECT_RESTORE_HP 1 +#define HOLD_EFFECT_CURE_PAR 2 +#define HOLD_EFFECT_CURE_SLP 3 +#define HOLD_EFFECT_CURE_PSN 4 +#define HOLD_EFFECT_CURE_BRN 5 +#define HOLD_EFFECT_CURE_FRZ 6 +#define HOLD_EFFECT_RESTORE_PP 7 +#define HOLD_EFFECT_CURE_CONFUSION 8 +#define HOLD_EFFECT_CURE_STATUS 9 +#define HOLD_EFFECT_CONFUSE_SPICY 10 +#define HOLD_EFFECT_CONFUSE_DRY 11 +#define HOLD_EFFECT_CONFUSE_SWEET 12 +#define HOLD_EFFECT_CONFUSE_BITTER 13 +#define HOLD_EFFECT_CONFUSE_SOUR 14 +#define HOLD_EFFECT_ATTACK_UP 15 +#define HOLD_EFFECT_DEFENSE_UP 16 +#define HOLD_EFFECT_SPEED_UP 17 +#define HOLD_EFFECT_SP_ATTACK_UP 18 +#define HOLD_EFFECT_SP_DEFENSE_UP 19 +#define HOLD_EFFECT_CRITICAL_UP 20 +#define HOLD_EFFECT_RANDOM_STAT_UP 21 +#define HOLD_EFFECT_EVASION_UP 22 +#define HOLD_EFFECT_RESTORE_STATS 23 +#define HOLD_EFFECT_MACHO_BRACE 24 +#define HOLD_EFFECT_EXP_SHARE 25 +#define HOLD_EFFECT_QUICK_CLAW 26 +#define HOLD_EFFECT_HAPPINESS_UP 27 +#define HOLD_EFFECT_CURE_ATTRACT 28 +#define HOLD_EFFECT_CHOICE_BAND 29 +#define HOLD_EFFECT_FLINCH 30 +#define HOLD_EFFECT_BUG_POWER 31 +#define HOLD_EFFECT_DOUBLE_PRIZE 32 +#define HOLD_EFFECT_REPEL 33 +#define HOLD_EFFECT_SOUL_DEW 34 +#define HOLD_EFFECT_DEEP_SEA_TOOTH 35 +#define HOLD_EFFECT_DEEP_SEA_SCALE 36 +#define HOLD_EFFECT_CAN_ALWAYS_RUN 37 +#define HOLD_EFFECT_PREVENT_EVOLVE 38 +#define HOLD_EFFECT_FOCUS_BAND 39 +#define HOLD_EFFECT_LUCKY_EGG 40 +#define HOLD_EFFECT_SCOPE_LENS 41 +#define HOLD_EFFECT_STEEL_POWER 42 +#define HOLD_EFFECT_LEFTOVERS 43 +#define HOLD_EFFECT_DRAGON_SCALE 44 +#define HOLD_EFFECT_LIGHT_BALL 45 +#define HOLD_EFFECT_GROUND_POWER 46 +#define HOLD_EFFECT_ROCK_POWER 47 +#define HOLD_EFFECT_GRASS_POWER 48 +#define HOLD_EFFECT_DARK_POWER 49 +#define HOLD_EFFECT_FIGHTING_POWER 50 +#define HOLD_EFFECT_ELECTRIC_POWER 51 +#define HOLD_EFFECT_WATER_POWER 52 +#define HOLD_EFFECT_FLYING_POWER 53 +#define HOLD_EFFECT_POISON_POWER 54 +#define HOLD_EFFECT_ICE_POWER 55 +#define HOLD_EFFECT_GHOST_POWER 56 +#define HOLD_EFFECT_PSYCHIC_POWER 57 +#define HOLD_EFFECT_FIRE_POWER 58 +#define HOLD_EFFECT_DRAGON_POWER 59 +#define HOLD_EFFECT_NORMAL_POWER 60 +#define HOLD_EFFECT_UP_GRADE 61 +#define HOLD_EFFECT_SHELL_BELL 62 +#define HOLD_EFFECT_LUCKY_PUNCH 63 +#define HOLD_EFFECT_METAL_POWDER 64 +#define HOLD_EFFECT_THICK_CLUB 65 +#define HOLD_EFFECT_STICK 66 + +#endif // GUARD_HOLD_EFFECTS_H diff --git a/include/constants/items.h b/include/constants/items.h new file mode 100644 index 000000000..6135b8d6f --- /dev/null +++ b/include/constants/items.h @@ -0,0 +1,393 @@ +#ifndef GUARD_CONSTANTS_ITEMS_H +#define GUARD_CONSTANTS_ITEMS_H + +#define ITEM_NONE 0 +#define ITEM_MASTER_BALL 1 +#define ITEM_ULTRA_BALL 2 +#define ITEM_GREAT_BALL 3 +#define ITEM_POKE_BALL 4 +#define ITEM_SAFARI_BALL 5 +#define ITEM_NET_BALL 6 +#define ITEM_DIVE_BALL 7 +#define ITEM_NEST_BALL 8 +#define ITEM_REPEAT_BALL 9 +#define ITEM_TIMER_BALL 10 +#define ITEM_LUXURY_BALL 11 +#define ITEM_PREMIER_BALL 12 +#define ITEM_POTION 13 +#define ITEM_ANTIDOTE 14 +#define ITEM_BURN_HEAL 15 +#define ITEM_ICE_HEAL 16 +#define ITEM_AWAKENING 17 +#define ITEM_PARALYZE_HEAL 18 +#define ITEM_FULL_RESTORE 19 +#define ITEM_MAX_POTION 20 +#define ITEM_HYPER_POTION 21 +#define ITEM_SUPER_POTION 22 +#define ITEM_FULL_HEAL 23 +#define ITEM_REVIVE 24 +#define ITEM_MAX_REVIVE 25 +#define ITEM_FRESH_WATER 26 +#define ITEM_SODA_POP 27 +#define ITEM_LEMONADE 28 +#define ITEM_MOOMOO_MILK 29 +#define ITEM_ENERGY_POWDER 30 +#define ITEM_ENERGY_ROOT 31 +#define ITEM_HEAL_POWDER 32 +#define ITEM_REVIVAL_HERB 33 +#define ITEM_ETHER 34 +#define ITEM_MAX_ETHER 35 +#define ITEM_ELIXIR 36 +#define ITEM_MAX_ELIXIR 37 +#define ITEM_LAVA_COOKIE 38 +#define ITEM_BLUE_FLUTE 39 +#define ITEM_YELLOW_FLUTE 40 +#define ITEM_RED_FLUTE 41 +#define ITEM_BLACK_FLUTE 42 +#define ITEM_WHITE_FLUTE 43 +#define ITEM_BERRY_JUICE 44 +#define ITEM_SACRED_ASH 45 +#define ITEM_SHOAL_SALT 46 +#define ITEM_SHOAL_SHELL 47 +#define ITEM_RED_SHARD 48 +#define ITEM_BLUE_SHARD 49 +#define ITEM_YELLOW_SHARD 50 +#define ITEM_GREEN_SHARD 51 +#define ITEM_034 52 +#define ITEM_035 53 +#define ITEM_036 54 +#define ITEM_037 55 +#define ITEM_038 56 +#define ITEM_039 57 +#define ITEM_03A 58 +#define ITEM_03B 59 +#define ITEM_03C 60 +#define ITEM_03D 61 +#define ITEM_03E 62 +#define ITEM_HP_UP 63 +#define ITEM_PROTEIN 64 +#define ITEM_IRON 65 +#define ITEM_CARBOS 66 +#define ITEM_CALCIUM 67 +#define ITEM_RARE_CANDY 68 +#define ITEM_PP_UP 69 +#define ITEM_ZINC 70 +#define ITEM_PP_MAX 71 +#define ITEM_048 72 +#define ITEM_GUARD_SPEC 73 +#define ITEM_DIRE_HIT 74 +#define ITEM_X_ATTACK 75 +#define ITEM_X_DEFEND 76 +#define ITEM_X_SPEED 77 +#define ITEM_X_ACCURACY 78 +#define ITEM_X_SPECIAL 79 +#define ITEM_POKE_DOLL 80 +#define ITEM_FLUFFY_TAIL 81 +#define ITEM_052 82 +#define ITEM_SUPER_REPEL 83 +#define ITEM_MAX_REPEL 84 +#define ITEM_ESCAPE_ROPE 85 +#define ITEM_REPEL 86 +#define ITEM_057 87 +#define ITEM_058 88 +#define ITEM_059 89 +#define ITEM_05A 90 +#define ITEM_05B 91 +#define ITEM_05C 92 +#define ITEM_SUN_STONE 93 +#define ITEM_MOON_STONE 94 +#define ITEM_FIRE_STONE 95 +#define ITEM_THUNDER_STONE 96 +#define ITEM_WATER_STONE 97 +#define ITEM_LEAF_STONE 98 +#define ITEM_063 99 +#define ITEM_064 100 +#define ITEM_065 101 +#define ITEM_066 102 +#define ITEM_TINY_MUSHROOM 103 +#define ITEM_BIG_MUSHROOM 104 +#define ITEM_069 105 +#define ITEM_PEARL 106 +#define ITEM_BIG_PEARL 107 +#define ITEM_STARDUST 108 +#define ITEM_STAR_PIECE 109 +#define ITEM_NUGGET 110 +#define ITEM_HEART_SCALE 111 +#define ITEM_070 112 +#define ITEM_071 113 +#define ITEM_072 114 +#define ITEM_073 115 +#define ITEM_074 116 +#define ITEM_075 117 +#define ITEM_076 118 +#define ITEM_077 119 +#define ITEM_078 120 +#define ITEM_ORANGE_MAIL 121 +#define ITEM_HARBOR_MAIL 122 +#define ITEM_GLITTER_MAIL 123 +#define ITEM_MECH_MAIL 124 +#define ITEM_WOOD_MAIL 125 +#define ITEM_WAVE_MAIL 126 +#define ITEM_BEAD_MAIL 127 +#define ITEM_SHADOW_MAIL 128 +#define ITEM_TROPIC_MAIL 129 +#define ITEM_DREAM_MAIL 130 +#define ITEM_FAB_MAIL 131 +#define ITEM_RETRO_MAIL 132 +#define ITEM_CHERI_BERRY 133 +#define ITEM_CHESTO_BERRY 134 +#define ITEM_PECHA_BERRY 135 +#define ITEM_RAWST_BERRY 136 +#define ITEM_ASPEAR_BERRY 137 +#define ITEM_LEPPA_BERRY 138 +#define ITEM_ORAN_BERRY 139 +#define ITEM_PERSIM_BERRY 140 +#define ITEM_LUM_BERRY 141 +#define ITEM_SITRUS_BERRY 142 +#define ITEM_FIGY_BERRY 143 +#define ITEM_WIKI_BERRY 144 +#define ITEM_MAGO_BERRY 145 +#define ITEM_AGUAV_BERRY 146 +#define ITEM_IAPAPA_BERRY 147 +#define ITEM_RAZZ_BERRY 148 +#define ITEM_BLUK_BERRY 149 +#define ITEM_NANAB_BERRY 150 +#define ITEM_WEPEAR_BERRY 151 +#define ITEM_PINAP_BERRY 152 +#define ITEM_POMEG_BERRY 153 +#define ITEM_KELPSY_BERRY 154 +#define ITEM_QUALOT_BERRY 155 +#define ITEM_HONDEW_BERRY 156 +#define ITEM_GREPA_BERRY 157 +#define ITEM_TAMATO_BERRY 158 +#define ITEM_CORNN_BERRY 159 +#define ITEM_MAGOST_BERRY 160 +#define ITEM_RABUTA_BERRY 161 +#define ITEM_NOMEL_BERRY 162 +#define ITEM_SPELON_BERRY 163 +#define ITEM_PAMTRE_BERRY 164 +#define ITEM_WATMEL_BERRY 165 +#define ITEM_DURIN_BERRY 166 +#define ITEM_BELUE_BERRY 167 +#define ITEM_LIECHI_BERRY 168 +#define ITEM_GANLON_BERRY 169 +#define ITEM_SALAC_BERRY 170 +#define ITEM_PETAYA_BERRY 171 +#define ITEM_APICOT_BERRY 172 +#define ITEM_LANSAT_BERRY 173 +#define ITEM_STARF_BERRY 174 +#define ITEM_ENIGMA_BERRY 175 +#define ITEM_0B0 176 +#define ITEM_0B1 177 +#define ITEM_0B2 178 +#define ITEM_BRIGHT_POWDER 179 +#define ITEM_WHITE_HERB 180 +#define ITEM_MACHO_BRACE 181 +#define ITEM_EXP_SHARE 182 +#define ITEM_QUICK_CLAW 183 +#define ITEM_SOOTHE_BELL 184 +#define ITEM_MENTAL_HERB 185 +#define ITEM_CHOICE_BAND 186 +#define ITEM_KINGS_ROCK 187 +#define ITEM_SILVER_POWDER 188 +#define ITEM_AMULET_COIN 189 +#define ITEM_CLEANSE_TAG 190 +#define ITEM_SOUL_DEW 191 +#define ITEM_DEEP_SEA_TOOTH 192 +#define ITEM_DEEP_SEA_SCALE 193 +#define ITEM_SMOKE_BALL 194 +#define ITEM_EVERSTONE 195 +#define ITEM_FOCUS_BAND 196 +#define ITEM_LUCKY_EGG 197 +#define ITEM_SCOPE_LENS 198 +#define ITEM_METAL_COAT 199 +#define ITEM_LEFTOVERS 200 +#define ITEM_DRAGON_SCALE 201 +#define ITEM_LIGHT_BALL 202 +#define ITEM_SOFT_SAND 203 +#define ITEM_HARD_STONE 204 +#define ITEM_MIRACLE_SEED 205 +#define ITEM_BLACK_GLASSES 206 +#define ITEM_BLACK_BELT 207 +#define ITEM_MAGNET 208 +#define ITEM_MYSTIC_WATER 209 +#define ITEM_SHARP_BEAK 210 +#define ITEM_POISON_BARB 211 +#define ITEM_NEVER_MELT_ICE 212 +#define ITEM_SPELL_TAG 213 +#define ITEM_TWISTED_SPOON 214 +#define ITEM_CHARCOAL 215 +#define ITEM_DRAGON_FANG 216 +#define ITEM_SILK_SCARF 217 +#define ITEM_UP_GRADE 218 +#define ITEM_SHELL_BELL 219 +#define ITEM_SEA_INCENSE 220 +#define ITEM_LAX_INCENSE 221 +#define ITEM_LUCKY_PUNCH 222 +#define ITEM_METAL_POWDER 223 +#define ITEM_THICK_CLUB 224 +#define ITEM_STICK 225 +#define ITEM_0E2 226 +#define ITEM_0E3 227 +#define ITEM_0E4 228 +#define ITEM_0E5 229 +#define ITEM_0E6 230 +#define ITEM_0E7 231 +#define ITEM_0E8 232 +#define ITEM_0E9 233 +#define ITEM_0EA 234 +#define ITEM_0EB 235 +#define ITEM_0EC 236 +#define ITEM_0ED 237 +#define ITEM_0EE 238 +#define ITEM_0EF 239 +#define ITEM_0F0 240 +#define ITEM_0F1 241 +#define ITEM_0F2 242 +#define ITEM_0F3 243 +#define ITEM_0F4 244 +#define ITEM_0F5 245 +#define ITEM_0F6 246 +#define ITEM_0F7 247 +#define ITEM_0F8 248 +#define ITEM_0F9 249 +#define ITEM_0FA 250 +#define ITEM_0FB 251 +#define ITEM_0FC 252 +#define ITEM_0FD 253 +#define ITEM_RED_SCARF 254 +#define ITEM_BLUE_SCARF 255 +#define ITEM_PINK_SCARF 256 +#define ITEM_GREEN_SCARF 257 +#define ITEM_YELLOW_SCARF 258 +#define ITEM_MACH_BIKE 259 +#define ITEM_COIN_CASE 260 +#define ITEM_ITEMFINDER 261 +#define ITEM_OLD_ROD 262 +#define ITEM_GOOD_ROD 263 +#define ITEM_SUPER_ROD 264 +#define ITEM_SS_TICKET 265 +#define ITEM_CONTEST_PASS 266 +#define ITEM_10B 267 +#define ITEM_WAILMER_PAIL 268 +#define ITEM_DEVON_GOODS 269 +#define ITEM_SOOT_SACK 270 +#define ITEM_BASEMENT_KEY 271 +#define ITEM_ACRO_BIKE 272 +#define ITEM_POKEBLOCK_CASE 273 +#define ITEM_LETTER 274 +#define ITEM_EON_TICKET 275 +#define ITEM_RED_ORB 276 +#define ITEM_BLUE_ORB 277 +#define ITEM_SCANNER 278 +#define ITEM_GO_GOGGLES 279 +#define ITEM_METEORITE 280 +#define ITEM_ROOM_1_KEY 281 +#define ITEM_ROOM_2_KEY 282 +#define ITEM_ROOM_4_KEY 283 +#define ITEM_ROOM_6_KEY 284 +#define ITEM_STORAGE_KEY 285 +#define ITEM_ROOT_FOSSIL 286 +#define ITEM_CLAW_FOSSIL 287 +#define ITEM_DEVON_SCOPE 288 +#define ITEM_TM01 289 +#define ITEM_TM02 290 +#define ITEM_TM03 291 +#define ITEM_TM04 292 +#define ITEM_TM05 293 +#define ITEM_TM06 294 +#define ITEM_TM07 295 +#define ITEM_TM08 296 +#define ITEM_TM09 297 +#define ITEM_TM10 298 +#define ITEM_TM11 299 +#define ITEM_TM12 300 +#define ITEM_TM13 301 +#define ITEM_TM14 302 +#define ITEM_TM15 303 +#define ITEM_TM16 304 +#define ITEM_TM17 305 +#define ITEM_TM18 306 +#define ITEM_TM19 307 +#define ITEM_TM20 308 +#define ITEM_TM21 309 +#define ITEM_TM22 310 +#define ITEM_TM23 311 +#define ITEM_TM24 312 +#define ITEM_TM25 313 +#define ITEM_TM26 314 +#define ITEM_TM27 315 +#define ITEM_TM28 316 +#define ITEM_TM29 317 +#define ITEM_TM30 318 +#define ITEM_TM31 319 +#define ITEM_TM32 320 +#define ITEM_TM33 321 +#define ITEM_TM34 322 +#define ITEM_TM35 323 +#define ITEM_TM36 324 +#define ITEM_TM37 325 +#define ITEM_TM38 326 +#define ITEM_TM39 327 +#define ITEM_TM40 328 +#define ITEM_TM41 329 +#define ITEM_TM42 330 +#define ITEM_TM43 331 +#define ITEM_TM44 332 +#define ITEM_TM45 333 +#define ITEM_TM46 334 +#define ITEM_TM47 335 +#define ITEM_TM48 336 +#define ITEM_TM49 337 +#define ITEM_TM50 338 +#define ITEM_HM01 339 +#define ITEM_HM02 340 +#define ITEM_HM03 341 +#define ITEM_HM04 342 +#define ITEM_HM05 343 +#define ITEM_HM06 344 +#define ITEM_HM07 345 +#define ITEM_HM08 346 +#define ITEM_15B 347 +#define ITEM_15C 348 + +// FireRed/LeafGreen +#define ITEM_OAKS_PARCEL 349 +#define ITEM_POKE_FLUTE 350 +#define ITEM_SECRET_KEY 351 +#define ITEM_BIKE_VOUCHER 352 +#define ITEM_GOLD_TEETH 353 +#define ITEM_OLD_AMBER 354 +#define ITEM_CARD_KEY 355 +#define ITEM_LIFT_KEY 356 +#define ITEM_HELIX_FOSSIL 357 +#define ITEM_DOME_FOSSIL 358 +#define ITEM_SILPH_SCOPE 359 +#define ITEM_BICYCLE 360 +#define ITEM_TOWN_MAP 361 +#define ITEM_VS_SEEKER 362 +#define ITEM_FAME_CHECKER 363 +#define ITEM_TM_CASE 364 +#define ITEM_BERRY_POUCH 365 +#define ITEM_TEACHY_TV 366 +#define ITEM_TRI_PASS 367 +#define ITEM_RAINBOW_PASS 368 +#define ITEM_TEA 369 +#define ITEM_MYSTIC_TICKET 370 +#define ITEM_AURORA_TICKET 371 +#define ITEM_POWDER_JAR 372 +#define ITEM_RUBY 373 +#define ITEM_SAPPHIRE 374 + +// Emerald +#define ITEM_MAGMA_EMBLEM 375 +#define ITEM_OLD_SEA_MAP 376 + +#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY +#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY +#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1)) + +#define NUM_TECHNICAL_MACHINES 50 +#define NUM_HIDDEN_MACHINES 8 + +#endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h new file mode 100644 index 000000000..d5b983005 --- /dev/null +++ b/include/constants/map_objects.h @@ -0,0 +1,263 @@ +#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H +#define GUARD_CONSTANTS_MAP_OBJECTS_H + +#define MAP_OBJ_GFX_BRENDAN_NORMAL 0 +#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1 +#define MAP_OBJ_GFX_BRENDAN_SURFING 2 +#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3 +#define MAP_OBJ_GFX_QUINTY_PLUMP 4 +#define MAP_OBJ_GFX_LITTLE_BOY_1 5 +#define MAP_OBJ_GFX_LITTLE_GIRL_1 6 +#define MAP_OBJ_GFX_BOY_1 7 +#define MAP_OBJ_GFX_GIRL_1 8 +#define MAP_OBJ_GFX_BOY_2 9 +#define MAP_OBJ_GFX_GIRL_2 10 +#define MAP_OBJ_GFX_LITTLE_BOY_2 11 +#define MAP_OBJ_GFX_LITTLE_GIRL_2 12 +#define MAP_OBJ_GFX_BOY_3 13 +#define MAP_OBJ_GFX_GIRL_3 14 +#define MAP_OBJ_GFX_BOY_4 15 +#define MAP_OBJ_GFX_WOMAN_1 16 +#define MAP_OBJ_GFX_FAT_MAN 17 +#define MAP_OBJ_GFX_WOMAN_2 18 +#define MAP_OBJ_GFX_MAN_1 19 +#define MAP_OBJ_GFX_WOMAN_3 20 +#define MAP_OBJ_GFX_OLD_MAN_1 21 +#define MAP_OBJ_GFX_OLD_WOMAN_1 22 +#define MAP_OBJ_GFX_MAN_2 23 +#define MAP_OBJ_GFX_WOMAN_4 24 +#define MAP_OBJ_GFX_MAN_3 25 +#define MAP_OBJ_GFX_WOMAN_5 26 +#define MAP_OBJ_GFX_COOK 27 +#define MAP_OBJ_GFX_WOMAN_6 28 +#define MAP_OBJ_GFX_OLD_MAN_2 29 +#define MAP_OBJ_GFX_OLD_WOMAN_2 30 +#define MAP_OBJ_GFX_CAMPER 31 +#define MAP_OBJ_GFX_PICNICKER 32 +#define MAP_OBJ_GFX_MAN_4 33 +#define MAP_OBJ_GFX_WOMAN_7 34 +#define MAP_OBJ_GFX_YOUNGSTER 35 +#define MAP_OBJ_GFX_BUG_CATCHER 36 +#define MAP_OBJ_GFX_PSYCHIC_M 37 +#define MAP_OBJ_GFX_SCHOOL_KID_M 38 +#define MAP_OBJ_GFX_MANIAC 39 +#define MAP_OBJ_GFX_HEX_MANIAC 40 +#define MAP_OBJ_GFX_RAYQUAZA_1 41 +#define MAP_OBJ_GFX_SWIMMER_M 42 +#define MAP_OBJ_GFX_SWIMMER_F 43 +#define MAP_OBJ_GFX_BLACK_BELT 44 +#define MAP_OBJ_GFX_BEAUTY 45 +#define MAP_OBJ_GFX_SCIENTIST_1 46 +#define MAP_OBJ_GFX_LASS 47 +#define MAP_OBJ_GFX_GENTLEMAN 48 +#define MAP_OBJ_GFX_SAILOR 49 +#define MAP_OBJ_GFX_FISHERMAN 50 +#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51 +#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52 +#define MAP_OBJ_GFX_TUBER_F 53 +#define MAP_OBJ_GFX_TUBER_M 54 +#define MAP_OBJ_GFX_HIKER 55 +#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56 +#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57 +#define MAP_OBJ_GFX_NURSE 58 +#define MAP_OBJ_GFX_ITEM_BALL 59 +#define MAP_OBJ_GFX_BERRY_TREE 60 +#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61 +#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62 +#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63 +#define MAP_OBJ_GFX_PROF_BIRCH 64 +#define MAP_OBJ_GFX_MAN_5 65 +#define MAP_OBJ_GFX_MAN_6 66 +#define MAP_OBJ_GFX_REPORTER_M 67 +#define MAP_OBJ_GFX_REPORTER_F 68 +#define MAP_OBJ_GFX_BARD 69 +#define MAP_OBJ_GFX_ANABEL 70 +#define MAP_OBJ_GFX_TUCKER 71 +#define MAP_OBJ_GFX_GRETA 72 +#define MAP_OBJ_GFX_SPENSER 73 +#define MAP_OBJ_GFX_NOLAND 74 +#define MAP_OBJ_GFX_LUCY 75 +#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76 +#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77 +#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78 +#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79 +#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80 +#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81 +#define MAP_OBJ_GFX_CUTTABLE_TREE 82 +#define MAP_OBJ_GFX_MART_EMPLOYEE 83 +#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84 +#define MAP_OBJ_GFX_TEALA 85 +#define MAP_OBJ_GFX_BREAKABLE_ROCK 86 +#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87 +#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88 +#define MAP_OBJ_GFX_MAY_NORMAL 89 +#define MAP_OBJ_GFX_MAY_MACH_BIKE 90 +#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91 +#define MAP_OBJ_GFX_MAY_SURFING 92 +#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93 +#define MAP_OBJ_GFX_TRUCK 94 +#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95 +#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96 +#define MAP_OBJ_GFX_BIRCHS_BAG 97 +#define MAP_OBJ_GFX_ZIGZAGOON_1 98 +#define MAP_OBJ_GFX_ARTIST 99 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103 +#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104 +#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105 +#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106 +#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107 +#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108 +#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109 +#define MAP_OBJ_GFX_CAMERAMAN 110 +#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111 +#define MAP_OBJ_GFX_MAY_UNDERWATER 112 +#define MAP_OBJ_GFX_MOVING_BOX 113 +#define MAP_OBJ_GFX_CABLE_CAR 114 +#define MAP_OBJ_GFX_SCIENTIST_2 115 +#define MAP_OBJ_GFX_MAN_7 116 +#define MAP_OBJ_GFX_AQUA_MEMBER_M 117 +#define MAP_OBJ_GFX_AQUA_MEMBER_F 118 +#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119 +#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120 +#define MAP_OBJ_GFX_SIDNEY 121 +#define MAP_OBJ_GFX_PHOEBE 122 +#define MAP_OBJ_GFX_GLACIA 123 +#define MAP_OBJ_GFX_DRAKE 124 +#define MAP_OBJ_GFX_ROXANNE 125 +#define MAP_OBJ_GFX_BRAWLY 126 +#define MAP_OBJ_GFX_WATTSON 127 +#define MAP_OBJ_GFX_FLANNERY 128 +#define MAP_OBJ_GFX_NORMAN 129 +#define MAP_OBJ_GFX_WINONA 130 +#define MAP_OBJ_GFX_LIZA 131 +#define MAP_OBJ_GFX_TATE 132 +#define MAP_OBJ_GFX_WALLACE 133 +#define MAP_OBJ_GFX_STEVEN 134 +#define MAP_OBJ_GFX_WALLY 135 +#define MAP_OBJ_GFX_LITTLE_BOY_3 136 +#define MAP_OBJ_GFX_BRENDAN_FISHING 137 +#define MAP_OBJ_GFX_MAY_FISHING 138 +#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139 +#define MAP_OBJ_GFX_SS_TIDAL 140 +#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141 +#define MAP_OBJ_GFX_PICHU_DOLL 142 +#define MAP_OBJ_GFX_PIKACHU_DOLL 143 +#define MAP_OBJ_GFX_MARILL_DOLL 144 +#define MAP_OBJ_GFX_TOGEPI_DOLL 145 +#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146 +#define MAP_OBJ_GFX_CHIKORITA_DOLL 147 +#define MAP_OBJ_GFX_TOTODILE_DOLL 148 +#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149 +#define MAP_OBJ_GFX_MEOWTH_DOLL 150 +#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151 +#define MAP_OBJ_GFX_DITTO_DOLL 152 +#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153 +#define MAP_OBJ_GFX_TREECKO_DOLL 154 +#define MAP_OBJ_GFX_TORCHIC_DOLL 155 +#define MAP_OBJ_GFX_MUDKIP_DOLL 156 +#define MAP_OBJ_GFX_DUSKULL_DOLL 157 +#define MAP_OBJ_GFX_WYNAUT_DOLL 158 +#define MAP_OBJ_GFX_BALTOY_DOLL 159 +#define MAP_OBJ_GFX_KECLEON_DOLL 160 +#define MAP_OBJ_GFX_AZURILL_DOLL 161 +#define MAP_OBJ_GFX_SKITTY_DOLL 162 +#define MAP_OBJ_GFX_SWABLU_DOLL 163 +#define MAP_OBJ_GFX_GULPIN_DOLL 164 +#define MAP_OBJ_GFX_LOTAD_DOLL 165 +#define MAP_OBJ_GFX_SEEDOT_DOLL 166 +#define MAP_OBJ_GFX_PIKA_CUSHION 167 +#define MAP_OBJ_GFX_ROUND_CUSHION 168 +#define MAP_OBJ_GFX_KISS_CUSHION 169 +#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170 +#define MAP_OBJ_GFX_SPIN_CUSHION 171 +#define MAP_OBJ_GFX_DIAMOND_CUSHION 172 +#define MAP_OBJ_GFX_BALL_CUSHION 173 +#define MAP_OBJ_GFX_GRASS_CUSHION 174 +#define MAP_OBJ_GFX_FIRE_CUSHION 175 +#define MAP_OBJ_GFX_WATER_CUSHION 176 +#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177 +#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178 +#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179 +#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180 +#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181 +#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182 +#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183 +#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184 +#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185 +#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186 +#define MAP_OBJ_GFX_LATIAS 187 +#define MAP_OBJ_GFX_LATIOS 188 +#define MAP_OBJ_GFX_BOY_5 189 +#define MAP_OBJ_GFX_CONTEST_JUDGE 190 +#define MAP_OBJ_GFX_BRENDAN_WATERING 191 +#define MAP_OBJ_GFX_MAY_WATERING 192 +#define MAP_OBJ_GFX_BRENDAN_DECORATING 193 +#define MAP_OBJ_GFX_MAY_DECORATING 194 +#define MAP_OBJ_GFX_ARCHIE 195 +#define MAP_OBJ_GFX_MAXIE 196 +#define MAP_OBJ_GFX_KYOGRE_1 197 +#define MAP_OBJ_GFX_GROUDON_1 198 +#define MAP_OBJ_GFX_FOSSIL 199 +#define MAP_OBJ_GFX_REGIROCK 200 +#define MAP_OBJ_GFX_REGICE 201 +#define MAP_OBJ_GFX_REGISTEEL 202 +#define MAP_OBJ_GFX_SKITTY 203 +#define MAP_OBJ_GFX_KECLEON_1 204 +#define MAP_OBJ_GFX_KYOGRE_2 205 +#define MAP_OBJ_GFX_GROUDON_2 206 +#define MAP_OBJ_GFX_RAYQUAZA_2 207 +#define MAP_OBJ_GFX_ZIGZAGOON_2 208 +#define MAP_OBJ_GFX_PIKACHU 209 +#define MAP_OBJ_GFX_AZUMARILL 210 +#define MAP_OBJ_GFX_WINGULL 211 +#define MAP_OBJ_GFX_KECLEON_2 212 +#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213 +#define MAP_OBJ_GFX_AZURILL 214 +#define MAP_OBJ_GFX_MOM 215 +#define MAP_OBJ_GFX_LINK_BRENDAN 216 +#define MAP_OBJ_GFX_LINK_MAY 217 +#define MAP_OBJ_GFX_JUAN 218 +#define MAP_OBJ_GFX_SCOTT 219 +#define MAP_OBJ_GFX_POOCHYENA 220 +#define MAP_OBJ_GFX_KYOGRE_3 221 +#define MAP_OBJ_GFX_GROUDON_3 222 +#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223 +#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224 +#define MAP_OBJ_GFX_KIRLIA 225 +#define MAP_OBJ_GFX_DUSCLOPS 226 +#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227 +#define MAP_OBJ_GFX_SUDOWOODO 228 +#define MAP_OBJ_GFX_MEW 229 +#define MAP_OBJ_GFX_RED 230 +#define MAP_OBJ_GFX_LEAF 231 +#define MAP_OBJ_GFX_DEOXYS 232 +#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233 +#define MAP_OBJ_GFX_BRANDON 234 +#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235 +#define MAP_OBJ_GFX_LINK_RS_MAY 236 +#define MAP_OBJ_GFX_LUGIA 237 +#define MAP_OBJ_GFX_HOOH 238 +#define MAP_OBJ_GFX_BARD_2 239 +#define MAP_OBJ_GFX_HIPSTER 240 +#define MAP_OBJ_GFX_TRADER 241 +#define MAP_OBJ_GFX_STORYTELLER 242 +#define MAP_OBJ_GFX_GIDDY 243 +#define MAP_OBJ_GFX_PLACEHOLDER_1 244 +#define MAP_OBJ_GFX_PLACEHOLDER_2 245 + +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_XL 3 + +#define F_INANIMATE (1 << 6) +#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) + +#define TRACKS_NONE 0 +#define TRACKS_FOOT 1 +#define TRACKS_BIKE_TIRE 2 + +#endif // GUARD_CONSTANTS_MAP_OBJECTS_H diff --git a/include/constants/maps.h b/include/constants/maps.h new file mode 100644 index 000000000..737edd7de --- /dev/null +++ b/include/constants/maps.h @@ -0,0 +1,595 @@ +#ifndef GUARD_CONSTANTS_MAPS_H +#define GUARD_CONSTANTS_MAPS_H + +// Map Group 0 +#define MAP_PETALBURG_CITY (0 | (0 << 8)) +#define MAP_SLATEPORT_CITY (1 | (0 << 8)) +#define MAP_MAUVILLE_CITY (2 | (0 << 8)) +#define MAP_RUSTBORO_CITY (3 | (0 << 8)) +#define MAP_FORTREE_CITY (4 | (0 << 8)) +#define MAP_LILYCOVE_CITY (5 | (0 << 8)) +#define MAP_MOSSDEEP_CITY (6 | (0 << 8)) +#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8)) +#define MAP_EVER_GRANDE_CITY (8 | (0 << 8)) +#define MAP_LITTLEROOT_TOWN (9 | (0 << 8)) +#define MAP_OLDALE_TOWN (10 | (0 << 8)) +#define MAP_DEWFORD_TOWN (11 | (0 << 8)) +#define MAP_LAVARIDGE_TOWN (12 | (0 << 8)) +#define MAP_FALLARBOR_TOWN (13 | (0 << 8)) +#define MAP_VERDANTURF_TOWN (14 | (0 << 8)) +#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8)) +#define MAP_ROUTE101 (16 | (0 << 8)) +#define MAP_ROUTE102 (17 | (0 << 8)) +#define MAP_ROUTE103 (18 | (0 << 8)) +#define MAP_ROUTE104 (19 | (0 << 8)) +#define MAP_ROUTE105 (20 | (0 << 8)) +#define MAP_ROUTE106 (21 | (0 << 8)) +#define MAP_ROUTE107 (22 | (0 << 8)) +#define MAP_ROUTE108 (23 | (0 << 8)) +#define MAP_ROUTE109 (24 | (0 << 8)) +#define MAP_ROUTE110 (25 | (0 << 8)) +#define MAP_ROUTE111 (26 | (0 << 8)) +#define MAP_ROUTE112 (27 | (0 << 8)) +#define MAP_ROUTE113 (28 | (0 << 8)) +#define MAP_ROUTE114 (29 | (0 << 8)) +#define MAP_ROUTE115 (30 | (0 << 8)) +#define MAP_ROUTE116 (31 | (0 << 8)) +#define MAP_ROUTE117 (32 | (0 << 8)) +#define MAP_ROUTE118 (33 | (0 << 8)) +#define MAP_ROUTE119 (34 | (0 << 8)) +#define MAP_ROUTE120 (35 | (0 << 8)) +#define MAP_ROUTE121 (36 | (0 << 8)) +#define MAP_ROUTE122 (37 | (0 << 8)) +#define MAP_ROUTE123 (38 | (0 << 8)) +#define MAP_ROUTE124 (39 | (0 << 8)) +#define MAP_ROUTE125 (40 | (0 << 8)) +#define MAP_ROUTE126 (41 | (0 << 8)) +#define MAP_ROUTE127 (42 | (0 << 8)) +#define MAP_ROUTE128 (43 | (0 << 8)) +#define MAP_ROUTE129 (44 | (0 << 8)) +#define MAP_ROUTE130 (45 | (0 << 8)) +#define MAP_ROUTE131 (46 | (0 << 8)) +#define MAP_ROUTE132 (47 | (0 << 8)) +#define MAP_ROUTE133 (48 | (0 << 8)) +#define MAP_ROUTE134 (49 | (0 << 8)) +#define MAP_UNDERWATER1 (50 | (0 << 8)) +#define MAP_UNDERWATER2 (51 | (0 << 8)) +#define MAP_UNDERWATER3 (52 | (0 << 8)) +#define MAP_UNDERWATER4 (53 | (0 << 8)) + +// Map Group 1 +#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8)) +#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8)) + +// Map Group 2 +#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8)) +#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8)) +#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8)) +#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8)) +#define MAP_OLDALE_TOWN_MART (4 | (2 << 8)) + +// Map Group 3 +#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8)) +#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8)) +#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8)) +#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8)) +#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8)) +#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8)) + +// Map Group 4 +#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8)) +#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8)) + +// Map Group 5 +#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8)) +#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8)) + +// Map Group 6 +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8)) +#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8)) + +// Map Group 7 +#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8)) +#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8)) + +// Map Group 8 +#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8)) +#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8)) +#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8)) +#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8)) +#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8)) +#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8)) +#define MAP_PETALBURG_CITY_MART (6 | (8 << 8)) + +// Map Group 9 +#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8)) +#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8)) +#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8)) +#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8)) +#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8)) +#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8)) +#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8)) +#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8)) + +// Map Group 10 +#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8)) +#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8)) +#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8)) +#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8)) +#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8)) +#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8)) +#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8)) +#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8)) + +// Map Group 11 +#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8)) +#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8)) +#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8)) +#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8)) +#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8)) +#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8)) +#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8)) +#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8)) +#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8)) + +// Map Group 12 +#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8)) +#define MAP_FORTREE_CITY_GYM (1 | (12 << 8)) +#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8)) +#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8)) +#define MAP_FORTREE_CITY_MART (4 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8)) +#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8)) +#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8)) + +// Map Group 13 +#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8)) +#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8)) +#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8)) +#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8)) +#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8)) +#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8)) +#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8)) +#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8)) +#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8)) +#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8)) +#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8)) + +// Map Group 14 +#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8)) +#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8)) + +// Map Group 15 +#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE9_1F (13 | (15 << 8)) +#define MAP_SOOTOPOLIS_CITY_HOUSE9_B1F (14 | (15 << 8)) + +// Map Group 16 +#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8)) +#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8)) + +// Map Group 17 +#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8)) +#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8)) + +// Map Group 18 +#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8)) +#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8)) + +// Map Group 19 +#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8)) +#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8)) + +// Map Group 20 +#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8)) +#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8)) +#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8)) + +// Map Group 21 +#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8)) + +// Map Group 22 +#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8)) + +// Map Group 23 +#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8)) + +// Map Group 24 +#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8)) +#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8)) +#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8)) +#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8)) +#define MAP_RUSTURF_TUNNEL (4 | (24 << 8)) +#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8)) +#define MAP_DESERT_RUINS (6 | (24 << 8)) +#define MAP_GRANITE_CAVE_1F (7 | (24 << 8)) +#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8)) +#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8)) +#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8)) +#define MAP_PETALBURG_WOODS (11 | (24 << 8)) +#define MAP_MT_CHIMNEY (12 | (24 << 8)) +#define MAP_JAGGED_PASS (13 | (24 << 8)) +#define MAP_FIERY_PATH (14 | (24 << 8)) +#define MAP_MT_PYRE_1F (15 | (24 << 8)) +#define MAP_MT_PYRE_2F (16 | (24 << 8)) +#define MAP_MT_PYRE_3F (17 | (24 << 8)) +#define MAP_MT_PYRE_4F (18 | (24 << 8)) +#define MAP_MT_PYRE_5F (19 | (24 << 8)) +#define MAP_MT_PYRE_6F (20 | (24 << 8)) +#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8)) +#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8)) +#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8)) +#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8)) +#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8)) +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B1F (39 | (24 << 8)) // +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B2F (40 | (24 << 8)) // Ruby/Sapphire leftovers +#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B3F (41 | (24 << 8)) // +#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8)) +#define MAP_VICTORY_ROAD_1F (43 | (24 << 8)) +#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8)) +#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8)) +#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8)) +#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8)) +#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8)) +#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8)) +#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8)) +#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8)) +#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8)) +#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8)) +#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8)) +#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8)) +#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8)) +#define MAP_ISLAND_CAVE (67 | (24 << 8)) +#define MAP_ANCIENT_TOMB (68 | (24 << 8)) +#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8)) +#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8)) +#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8)) +#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8)) +#define MAP_SCORCHED_SLAB (73 | (24 << 8)) +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_1F (74 | (24 << 8)) // +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B1F (75 | (24 << 8)) // Ruby/Sapphire leftovers +#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B2F (76 | (24 << 8)) // +#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8)) +#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8)) +#define MAP_SKY_PILLAR_1F (79 | (24 << 8)) +#define MAP_SKY_PILLAR_2F (80 | (24 << 8)) +#define MAP_SKY_PILLAR_3F (81 | (24 << 8)) +#define MAP_SKY_PILLAR_4F (82 | (24 << 8)) +#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8)) +#define MAP_SKY_PILLAR_5F (84 | (24 << 8)) +#define MAP_SKY_PILLAR_TOP (85 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8)) +#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8)) +#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8)) +#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8)) +#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8)) +#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8)) +#define MAP_DESERT_UNDERPASS (98 | (24 << 8)) +#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8)) +#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8)) +#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8)) +#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8)) +#define MAP_MARINE_CAVE_END (103 | (24 << 8)) +#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8)) +#define MAP_TERRA_CAVE_END (105 | (24 << 8)) +#define MAP_ALTERING_CAVE (106 | (24 << 8)) +#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8)) + +// Map Group 25 +#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8)) +#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8)) +#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8)) +#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8)) +#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8)) +#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8)) +#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8)) +#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8)) +#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8)) +#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8)) +#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8)) +#define MAP_TRADE_CENTER (25 | (25 << 8)) +#define MAP_RECORD_CORNER (26 | (25 << 8)) +#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_29 (29 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8)) +#define MAP_UNKNOWN_MAP_25_34 (34 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8)) +#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8)) +#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8)) +#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8)) +#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8)) +#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_01 (44 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_02 (45 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_03 (46 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_04 (47 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_05 (48 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_06 (49 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_07 (50 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_08 (51 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_09 (52 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_10 (53 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_11 (54 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_12 (55 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_13 (56 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_14 (57 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_15 (58 | (25 << 8)) +#define MAP_BATTLE_PYRAMID_SQUARE_16 (59 | (25 << 8)) +#define MAP_UNION_ROOM (60 | (25 << 8)) + +// Map Group 26 +#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8)) +#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8)) +#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8)) +#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8)) +#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8)) +#define MAP_SAFARI_ZONE_EM_1 (12 | (26 << 8)) +#define MAP_SAFARI_ZONE_EM_2 (13 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 (16 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 (17 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 (37 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 (38 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 (39 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_1 (41 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_2 (43 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_3 (44 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_4 (45 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_5 (47 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_6 (48 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_7 (49 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_8 (51 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_LOUNGE_9 (52 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8)) +#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8)) +#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8)) +#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8)) +#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8)) +#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8)) +#define MAP_TRAINER_HILL_1F (61 | (26 << 8)) +#define MAP_TRAINER_HILL_2F (62 | (26 << 8)) +#define MAP_TRAINER_HILL_3F (63 | (26 << 8)) +#define MAP_TRAINER_HILL_4F (64 | (26 << 8)) +#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8)) +#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8)) +#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8)) +#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8)) +#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8)) +#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_1 (71 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_2 (72 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_3 (73 | (26 << 8)) +#define MAP_NAVEL_ROCK_UP_4 (74 | (26 << 8)) +#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_01 (76 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_02 (77 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_03 (78 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_04 (79 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_05 (80 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_06 (81 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_07 (82 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_08 (83 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_09 (84 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_10 (85 | (26 << 8)) +#define MAP_NAVEL_ROCK_DOWN_11 (86 | (26 << 8)) +#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8)) +#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8)) + +// Map Group 27 +#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8)) +#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8)) + +// Map Group 28 +#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8)) + +// Map Group 29 +#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8)) +#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8)) +#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8)) +#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8)) + +// Map Group 30 +#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8)) + +// Map Group 31 +#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8)) + +// Map Group 32 +#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8)) +#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8)) +#define MAP_ROUTE119_HOUSE (2 | (32 << 8)) + +// Map Group 33 +#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8)) + + +#define MAP_NONE (0x7F | (0x7F << 8)) +#define MAP_UNDEFINED (0xFF | (0xFF << 8)) + + +#define MAP_GROUP(map) (MAP_##map >> 8) +#define MAP_NUM(map) (MAP_##map & 0xFF) + +#endif // GUARD_CONSTANTS_MAPS_H diff --git a/include/constants/moves.h b/include/constants/moves.h new file mode 100644 index 000000000..f3a3acb90 --- /dev/null +++ b/include/constants/moves.h @@ -0,0 +1,362 @@ +#ifndef GUARD_CONSTANTS_MOVES_H +#define GUARD_CONSTANTS_MOVES_H + +#define MOVE_NONE 0 +#define MOVE_POUND 1 +#define MOVE_KARATE_CHOP 2 +#define MOVE_DOUBLE_SLAP 3 +#define MOVE_COMET_PUNCH 4 +#define MOVE_MEGA_PUNCH 5 +#define MOVE_PAY_DAY 6 +#define MOVE_FIRE_PUNCH 7 +#define MOVE_ICE_PUNCH 8 +#define MOVE_THUNDER_PUNCH 9 +#define MOVE_SCRATCH 10 +#define MOVE_VICE_GRIP 11 +#define MOVE_GUILLOTINE 12 +#define MOVE_RAZOR_WIND 13 +#define MOVE_SWORDS_DANCE 14 +#define MOVE_CUT 15 +#define MOVE_GUST 16 +#define MOVE_WING_ATTACK 17 +#define MOVE_WHIRLWIND 18 +#define MOVE_FLY 19 +#define MOVE_BIND 20 +#define MOVE_SLAM 21 +#define MOVE_VINE_WHIP 22 +#define MOVE_STOMP 23 +#define MOVE_DOUBLE_KICK 24 +#define MOVE_MEGA_KICK 25 +#define MOVE_JUMP_KICK 26 +#define MOVE_ROLLING_KICK 27 +#define MOVE_SAND_ATTACK 28 +#define MOVE_HEADBUTT 29 +#define MOVE_HORN_ATTACK 30 +#define MOVE_FURY_ATTACK 31 +#define MOVE_HORN_DRILL 32 +#define MOVE_TACKLE 33 +#define MOVE_BODY_SLAM 34 +#define MOVE_WRAP 35 +#define MOVE_TAKE_DOWN 36 +#define MOVE_THRASH 37 +#define MOVE_DOUBLE_EDGE 38 +#define MOVE_TAIL_WHIP 39 +#define MOVE_POISON_STING 40 +#define MOVE_TWINEEDLE 41 +#define MOVE_PIN_MISSILE 42 +#define MOVE_LEER 43 +#define MOVE_BITE 44 +#define MOVE_GROWL 45 +#define MOVE_ROAR 46 +#define MOVE_SING 47 +#define MOVE_SUPERSONIC 48 +#define MOVE_SONIC_BOOM 49 +#define MOVE_DISABLE 50 +#define MOVE_ACID 51 +#define MOVE_EMBER 52 +#define MOVE_FLAMETHROWER 53 +#define MOVE_MIST 54 +#define MOVE_WATER_GUN 55 +#define MOVE_HYDRO_PUMP 56 +#define MOVE_SURF 57 +#define MOVE_ICE_BEAM 58 +#define MOVE_BLIZZARD 59 +#define MOVE_PSYBEAM 60 +#define MOVE_BUBBLE_BEAM 61 +#define MOVE_AURORA_BEAM 62 +#define MOVE_HYPER_BEAM 63 +#define MOVE_PECK 64 +#define MOVE_DRILL_PECK 65 +#define MOVE_SUBMISSION 66 +#define MOVE_LOW_KICK 67 +#define MOVE_COUNTER 68 +#define MOVE_SEISMIC_TOSS 69 +#define MOVE_STRENGTH 70 +#define MOVE_ABSORB 71 +#define MOVE_MEGA_DRAIN 72 +#define MOVE_LEECH_SEED 73 +#define MOVE_GROWTH 74 +#define MOVE_RAZOR_LEAF 75 +#define MOVE_SOLAR_BEAM 76 +#define MOVE_POISON_POWDER 77 +#define MOVE_STUN_SPORE 78 +#define MOVE_SLEEP_POWDER 79 +#define MOVE_PETAL_DANCE 80 +#define MOVE_STRING_SHOT 81 +#define MOVE_DRAGON_RAGE 82 +#define MOVE_FIRE_SPIN 83 +#define MOVE_THUNDER_SHOCK 84 +#define MOVE_THUNDERBOLT 85 +#define MOVE_THUNDER_WAVE 86 +#define MOVE_THUNDER 87 +#define MOVE_ROCK_THROW 88 +#define MOVE_EARTHQUAKE 89 +#define MOVE_FISSURE 90 +#define MOVE_DIG 91 +#define MOVE_TOXIC 92 +#define MOVE_CONFUSION 93 +#define MOVE_PSYCHIC 94 +#define MOVE_HYPNOSIS 95 +#define MOVE_MEDITATE 96 +#define MOVE_AGILITY 97 +#define MOVE_QUICK_ATTACK 98 +#define MOVE_RAGE 99 +#define MOVE_TELEPORT 100 +#define MOVE_NIGHT_SHADE 101 +#define MOVE_MIMIC 102 +#define MOVE_SCREECH 103 +#define MOVE_DOUBLE_TEAM 104 +#define MOVE_RECOVER 105 +#define MOVE_HARDEN 106 +#define MOVE_MINIMIZE 107 +#define MOVE_SMOKESCREEN 108 +#define MOVE_CONFUSE_RAY 109 +#define MOVE_WITHDRAW 110 +#define MOVE_DEFENSE_CURL 111 +#define MOVE_BARRIER 112 +#define MOVE_LIGHT_SCREEN 113 +#define MOVE_HAZE 114 +#define MOVE_REFLECT 115 +#define MOVE_FOCUS_ENERGY 116 +#define MOVE_BIDE 117 +#define MOVE_METRONOME 118 +#define MOVE_MIRROR_MOVE 119 +#define MOVE_SELF_DESTRUCT 120 +#define MOVE_EGG_BOMB 121 +#define MOVE_LICK 122 +#define MOVE_SMOG 123 +#define MOVE_SLUDGE 124 +#define MOVE_BONE_CLUB 125 +#define MOVE_FIRE_BLAST 126 +#define MOVE_WATERFALL 127 +#define MOVE_CLAMP 128 +#define MOVE_SWIFT 129 +#define MOVE_SKULL_BASH 130 +#define MOVE_SPIKE_CANNON 131 +#define MOVE_CONSTRICT 132 +#define MOVE_AMNESIA 133 +#define MOVE_KINESIS 134 +#define MOVE_SOFT_BOILED 135 +#define MOVE_HI_JUMP_KICK 136 +#define MOVE_GLARE 137 +#define MOVE_DREAM_EATER 138 +#define MOVE_POISON_GAS 139 +#define MOVE_BARRAGE 140 +#define MOVE_LEECH_LIFE 141 +#define MOVE_LOVELY_KISS 142 +#define MOVE_SKY_ATTACK 143 +#define MOVE_TRANSFORM 144 +#define MOVE_BUBBLE 145 +#define MOVE_DIZZY_PUNCH 146 +#define MOVE_SPORE 147 +#define MOVE_FLASH 148 +#define MOVE_PSYWAVE 149 +#define MOVE_SPLASH 150 +#define MOVE_ACID_ARMOR 151 +#define MOVE_CRABHAMMER 152 +#define MOVE_EXPLOSION 153 +#define MOVE_FURY_SWIPES 154 +#define MOVE_BONEMERANG 155 +#define MOVE_REST 156 +#define MOVE_ROCK_SLIDE 157 +#define MOVE_HYPER_FANG 158 +#define MOVE_SHARPEN 159 +#define MOVE_CONVERSION 160 +#define MOVE_TRI_ATTACK 161 +#define MOVE_SUPER_FANG 162 +#define MOVE_SLASH 163 +#define MOVE_SUBSTITUTE 164 +#define MOVE_STRUGGLE 165 +#define MOVE_SKETCH 166 +#define MOVE_TRIPLE_KICK 167 +#define MOVE_THIEF 168 +#define MOVE_SPIDER_WEB 169 +#define MOVE_MIND_READER 170 +#define MOVE_NIGHTMARE 171 +#define MOVE_FLAME_WHEEL 172 +#define MOVE_SNORE 173 +#define MOVE_CURSE 174 +#define MOVE_FLAIL 175 +#define MOVE_CONVERSION_2 176 +#define MOVE_AEROBLAST 177 +#define MOVE_COTTON_SPORE 178 +#define MOVE_REVERSAL 179 +#define MOVE_SPITE 180 +#define MOVE_POWDER_SNOW 181 +#define MOVE_PROTECT 182 +#define MOVE_MACH_PUNCH 183 +#define MOVE_SCARY_FACE 184 +#define MOVE_FAINT_ATTACK 185 +#define MOVE_SWEET_KISS 186 +#define MOVE_BELLY_DRUM 187 +#define MOVE_SLUDGE_BOMB 188 +#define MOVE_MUD_SLAP 189 +#define MOVE_OCTAZOOKA 190 +#define MOVE_SPIKES 191 +#define MOVE_ZAP_CANNON 192 +#define MOVE_FORESIGHT 193 +#define MOVE_DESTINY_BOND 194 +#define MOVE_PERISH_SONG 195 +#define MOVE_ICY_WIND 196 +#define MOVE_DETECT 197 +#define MOVE_BONE_RUSH 198 +#define MOVE_LOCK_ON 199 +#define MOVE_OUTRAGE 200 +#define MOVE_SANDSTORM 201 +#define MOVE_GIGA_DRAIN 202 +#define MOVE_ENDURE 203 +#define MOVE_CHARM 204 +#define MOVE_ROLLOUT 205 +#define MOVE_FALSE_SWIPE 206 +#define MOVE_SWAGGER 207 +#define MOVE_MILK_DRINK 208 +#define MOVE_SPARK 209 +#define MOVE_FURY_CUTTER 210 +#define MOVE_STEEL_WING 211 +#define MOVE_MEAN_LOOK 212 +#define MOVE_ATTRACT 213 +#define MOVE_SLEEP_TALK 214 +#define MOVE_HEAL_BELL 215 +#define MOVE_RETURN 216 +#define MOVE_PRESENT 217 +#define MOVE_FRUSTRATION 218 +#define MOVE_SAFEGUARD 219 +#define MOVE_PAIN_SPLIT 220 +#define MOVE_SACRED_FIRE 221 +#define MOVE_MAGNITUDE 222 +#define MOVE_DYNAMIC_PUNCH 223 +#define MOVE_MEGAHORN 224 +#define MOVE_DRAGON_BREATH 225 +#define MOVE_BATON_PASS 226 +#define MOVE_ENCORE 227 +#define MOVE_PURSUIT 228 +#define MOVE_RAPID_SPIN 229 +#define MOVE_SWEET_SCENT 230 +#define MOVE_IRON_TAIL 231 +#define MOVE_METAL_CLAW 232 +#define MOVE_VITAL_THROW 233 +#define MOVE_MORNING_SUN 234 +#define MOVE_SYNTHESIS 235 +#define MOVE_MOONLIGHT 236 +#define MOVE_HIDDEN_POWER 237 +#define MOVE_CROSS_CHOP 238 +#define MOVE_TWISTER 239 +#define MOVE_RAIN_DANCE 240 +#define MOVE_SUNNY_DAY 241 +#define MOVE_CRUNCH 242 +#define MOVE_MIRROR_COAT 243 +#define MOVE_PSYCH_UP 244 +#define MOVE_EXTREME_SPEED 245 +#define MOVE_ANCIENT_POWER 246 +#define MOVE_SHADOW_BALL 247 +#define MOVE_FUTURE_SIGHT 248 +#define MOVE_ROCK_SMASH 249 +#define MOVE_WHIRLPOOL 250 +#define MOVE_BEAT_UP 251 +#define MOVE_FAKE_OUT 252 +#define MOVE_UPROAR 253 +#define MOVE_STOCKPILE 254 +#define MOVE_SPIT_UP 255 +#define MOVE_SWALLOW 256 +#define MOVE_HEAT_WAVE 257 +#define MOVE_HAIL 258 +#define MOVE_TORMENT 259 +#define MOVE_FLATTER 260 +#define MOVE_WILL_O_WISP 261 +#define MOVE_MEMENTO 262 +#define MOVE_FACADE 263 +#define MOVE_FOCUS_PUNCH 264 +#define MOVE_SMELLING_SALT 265 +#define MOVE_FOLLOW_ME 266 +#define MOVE_NATURE_POWER 267 +#define MOVE_CHARGE 268 +#define MOVE_TAUNT 269 +#define MOVE_HELPING_HAND 270 +#define MOVE_TRICK 271 +#define MOVE_ROLE_PLAY 272 +#define MOVE_WISH 273 +#define MOVE_ASSIST 274 +#define MOVE_INGRAIN 275 +#define MOVE_SUPERPOWER 276 +#define MOVE_MAGIC_COAT 277 +#define MOVE_RECYCLE 278 +#define MOVE_REVENGE 279 +#define MOVE_BRICK_BREAK 280 +#define MOVE_YAWN 281 +#define MOVE_KNOCK_OFF 282 +#define MOVE_ENDEAVOR 283 +#define MOVE_ERUPTION 284 +#define MOVE_SKILL_SWAP 285 +#define MOVE_IMPRISON 286 +#define MOVE_REFRESH 287 +#define MOVE_GRUDGE 288 +#define MOVE_SNATCH 289 +#define MOVE_SECRET_POWER 290 +#define MOVE_DIVE 291 +#define MOVE_ARM_THRUST 292 +#define MOVE_CAMOUFLAGE 293 +#define MOVE_TAIL_GLOW 294 +#define MOVE_LUSTER_PURGE 295 +#define MOVE_MIST_BALL 296 +#define MOVE_FEATHER_DANCE 297 +#define MOVE_TEETER_DANCE 298 +#define MOVE_BLAZE_KICK 299 +#define MOVE_MUD_SPORT 300 +#define MOVE_ICE_BALL 301 +#define MOVE_NEEDLE_ARM 302 +#define MOVE_SLACK_OFF 303 +#define MOVE_HYPER_VOICE 304 +#define MOVE_POISON_FANG 305 +#define MOVE_CRUSH_CLAW 306 +#define MOVE_BLAST_BURN 307 +#define MOVE_HYDRO_CANNON 308 +#define MOVE_METEOR_MASH 309 +#define MOVE_ASTONISH 310 +#define MOVE_WEATHER_BALL 311 +#define MOVE_AROMATHERAPY 312 +#define MOVE_FAKE_TEARS 313 +#define MOVE_AIR_CUTTER 314 +#define MOVE_OVERHEAT 315 +#define MOVE_ODOR_SLEUTH 316 +#define MOVE_ROCK_TOMB 317 +#define MOVE_SILVER_WIND 318 +#define MOVE_METAL_SOUND 319 +#define MOVE_GRASS_WHISTLE 320 +#define MOVE_TICKLE 321 +#define MOVE_COSMIC_POWER 322 +#define MOVE_WATER_SPOUT 323 +#define MOVE_SIGNAL_BEAM 324 +#define MOVE_SHADOW_PUNCH 325 +#define MOVE_EXTRASENSORY 326 +#define MOVE_SKY_UPPERCUT 327 +#define MOVE_SAND_TOMB 328 +#define MOVE_SHEER_COLD 329 +#define MOVE_MUDDY_WATER 330 +#define MOVE_BULLET_SEED 331 +#define MOVE_AERIAL_ACE 332 +#define MOVE_ICICLE_SPEAR 333 +#define MOVE_IRON_DEFENSE 334 +#define MOVE_BLOCK 335 +#define MOVE_HOWL 336 +#define MOVE_DRAGON_CLAW 337 +#define MOVE_FRENZY_PLANT 338 +#define MOVE_BULK_UP 339 +#define MOVE_BOUNCE 340 +#define MOVE_MUD_SHOT 341 +#define MOVE_POISON_TAIL 342 +#define MOVE_COVET 343 +#define MOVE_VOLT_TACKLE 344 +#define MOVE_MAGICAL_LEAF 345 +#define MOVE_WATER_SPORT 346 +#define MOVE_CALM_MIND 347 +#define MOVE_LEAF_BLADE 348 +#define MOVE_DRAGON_DANCE 349 +#define MOVE_ROCK_BLAST 350 +#define MOVE_SHOCK_WAVE 351 +#define MOVE_WATER_PULSE 352 +#define MOVE_DOOM_DESIRE 353 +#define MOVE_PSYCHO_BOOST 354 + +#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST + +#endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/constants/songs.h b/include/constants/songs.h new file mode 100644 index 000000000..2e3adcbbf --- /dev/null +++ b/include/constants/songs.h @@ -0,0 +1,465 @@ +#ifndef GUARD_CONSTANTS_SONGS_H +#define GUARD_CONSTANTS_SONGS_H + +#define SE_STOP 0 +#define SE_KAIFUKU 1 +#define SE_PC_LOGON 2 +#define SE_PC_OFF 3 +#define SE_PC_ON 4 +#define SE_SELECT 5 +#define SE_WIN_OPEN 6 +#define SE_WALL_HIT 7 +#define SE_DOOR 8 +#define SE_KAIDAN 9 +#define SE_DANSA 10 +#define SE_JITENSYA 11 +#define SE_KOUKA_L 12 +#define SE_KOUKA_M 13 +#define SE_KOUKA_H 14 +#define SE_BOWA2 15 +#define SE_POKE_DEAD 16 +#define SE_NIGERU 17 +#define SE_JIDO_DOA 18 +#define SE_NAMINORI 19 +#define SE_BAN 20 +#define SE_PIN 21 +#define SE_BOO 22 +#define SE_BOWA 23 +#define SE_JYUNI 24 +#define SE_A 25 +#define SE_I 26 +#define SE_U 27 +#define SE_E 28 +#define SE_O 29 +#define SE_N 30 +#define SE_SEIKAI 31 +#define SE_HAZURE 32 +#define SE_EXP 33 +#define SE_JITE_PYOKO 34 +#define SE_MU_PACHI 35 +#define SE_TK_KASYA 36 +#define SE_FU_ZAKU 37 +#define SE_FU_ZAKU2 38 +#define SE_FU_ZUZUZU 39 +#define SE_RU_GASHIN 40 +#define SE_RU_GASYAN 41 +#define SE_RU_BARI 42 +#define SE_RU_HYUU 43 +#define SE_KI_GASYAN 44 +#define SE_TK_WARPIN 45 +#define SE_TK_WARPOUT 46 +#define SE_TU_SAA 47 +#define SE_HI_TURUN 48 +#define SE_TRACK_MOVE 49 +#define SE_TRACK_STOP 50 +#define SE_TRACK_HAIK 51 +#define SE_TRACK_DOOR 52 +#define SE_MOTER 53 +#define SE_CARD 54 +#define SE_SAVE 55 +#define SE_KON 56 +#define SE_KON2 57 +#define SE_KON3 58 +#define SE_KON4 59 +#define SE_SUIKOMU 60 +#define SE_NAGERU 61 +#define SE_TOY_C 62 +#define SE_TOY_D 63 +#define SE_TOY_E 64 +#define SE_TOY_F 65 +#define SE_TOY_G 66 +#define SE_TOY_A 67 +#define SE_TOY_B 68 +#define SE_TOY_C1 69 +#define SE_MIZU 70 +#define SE_HASHI 71 +#define SE_DAUGI 72 +#define SE_PINPON 73 +#define SE_FUUSEN1 74 +#define SE_FUUSEN2 75 +#define SE_FUUSEN3 76 +#define SE_TOY_KABE 77 +#define SE_TOY_DANGO 78 +#define SE_DOKU 79 +#define SE_ESUKA 80 +#define SE_T_AME 81 +#define SE_T_AME_E 82 +#define SE_T_OOAME 83 +#define SE_T_OOAME_E 84 +#define SE_T_KOAME 85 +#define SE_T_KOAME_E 86 +#define SE_T_KAMI 87 +#define SE_T_KAMI2 88 +#define SE_ELEBETA 89 +#define SE_HINSI 90 +#define SE_EXPMAX 91 +#define SE_TAMAKORO 92 +#define SE_TAMAKORO_E 93 +#define SE_BASABASA 94 +#define SE_REGI 95 +#define SE_C_GAJI 96 +#define SE_C_MAKU_U 97 +#define SE_C_MAKU_D 98 +#define SE_C_PASI 99 +#define SE_C_SYU 100 +#define SE_C_PIKON 101 +#define SE_REAPOKE 102 +#define SE_OP_BASYU 103 +#define SE_BT_START 104 +#define SE_DENDOU 105 +#define SE_JIHANKI 106 +#define SE_TAMA 107 +#define SE_Z_SCROLL 108 +#define SE_Z_PAGE 109 +#define SE_PN_ON 110 +#define SE_PN_OFF 111 +#define SE_Z_SEARCH 112 +#define SE_TAMAGO 113 +#define SE_TB_START 114 +#define SE_TB_KON 115 +#define SE_TB_KARA 116 +#define SE_BIDORO 117 +#define SE_W085 118 +#define SE_W085B 119 +#define SE_W231 120 +#define SE_W171 121 +#define SE_W233 122 +#define SE_W233B 123 +#define SE_W145 124 +#define SE_W145B 125 +#define SE_W145C 126 +#define SE_W240 127 +#define SE_W015 128 +#define SE_W081 129 +#define SE_W081B 130 +#define SE_W088 131 +#define SE_W016 132 +#define SE_W016B 133 +#define SE_W003 134 +#define SE_W104 135 +#define SE_W013 136 +#define SE_W196 137 +#define SE_W086 138 +#define SE_W004 139 +#define SE_W025 140 +#define SE_W025B 141 +#define SE_W152 142 +#define SE_W026 143 +#define SE_W172 144 +#define SE_W172B 145 +#define SE_W053 146 +#define SE_W007 147 +#define SE_W092 148 +#define SE_W221 149 +#define SE_W221B 150 +#define SE_W052 151 +#define SE_W036 152 +#define SE_W059 153 +#define SE_W059B 154 +#define SE_W010 155 +#define SE_W011 156 +#define SE_W017 157 +#define SE_W019 158 +#define SE_W028 159 +#define SE_W013B 160 +#define SE_W044 161 +#define SE_W029 162 +#define SE_W057 163 +#define SE_W056 164 +#define SE_W250 165 +#define SE_W030 166 +#define SE_W039 167 +#define SE_W054 168 +#define SE_W077 169 +#define SE_W020 170 +#define SE_W082 171 +#define SE_W047 172 +#define SE_W195 173 +#define SE_W006 174 +#define SE_W091 175 +#define SE_W146 176 +#define SE_W120 177 +#define SE_W153 178 +#define SE_W071B 179 +#define SE_W071 180 +#define SE_W103 181 +#define SE_W062 182 +#define SE_W062B 183 +#define SE_W048 184 +#define SE_W187 185 +#define SE_W118 186 +#define SE_W155 187 +#define SE_W122 188 +#define SE_W060 189 +#define SE_W185 190 +#define SE_W014 191 +#define SE_W043 192 +#define SE_W207 193 +#define SE_W207B 194 +#define SE_W215 195 +#define SE_W109 196 +#define SE_W173 197 +#define SE_W280 198 +#define SE_W202 199 +#define SE_W060B 200 +#define SE_W076 201 +#define SE_W080 202 +#define SE_W100 203 +#define SE_W107 204 +#define SE_W166 205 +#define SE_W129 206 +#define SE_W115 207 +#define SE_W112 208 +#define SE_W197 209 +#define SE_W199 210 +#define SE_W236 211 +#define SE_W204 212 +#define SE_W268 213 +#define SE_W070 214 +#define SE_W063 215 +#define SE_W127 216 +#define SE_W179 217 +#define SE_W151 218 +#define SE_W201 219 +#define SE_W161 220 +#define SE_W161B 221 +#define SE_W227 222 +#define SE_W227B 223 +#define SE_W226 224 +#define SE_W208 225 +#define SE_W213 226 +#define SE_W213B 227 +#define SE_W234 228 +#define SE_W260 229 +#define SE_W328 230 +#define SE_W320 231 +#define SE_W255 232 +#define SE_W291 233 +#define SE_W089 234 +#define SE_W239 235 +#define SE_W230 236 +#define SE_W281 237 +#define SE_W327 238 +#define SE_W287 239 +#define SE_W257 240 +#define SE_W253 241 +#define SE_W258 242 +#define SE_W322 243 +#define SE_W298 244 +#define SE_W287B 245 +#define SE_W114 246 +#define SE_W063B 247 +#define BGM_STOP 349 +#define BGM_TETSUJI 350 +#define BGM_FIELD13 351 +#define BGM_KACHI22 352 +#define BGM_KACHI2 353 +#define BGM_KACHI3 354 +#define BGM_KACHI5 355 +#define BGM_PCC 356 +#define BGM_NIBI 357 +#define BGM_SUIKUN 358 +#define BGM_DOORO1 359 +#define BGM_DOORO_X1 360 +#define BGM_DOORO_X3 361 +#define BGM_MACHI_S2 362 +#define BGM_MACHI_S4 363 +#define BGM_GIM 364 +#define BGM_NAMINORI 365 +#define BGM_DAN01 366 +#define BGM_FANFA1 367 +#define BGM_ME_ASA 368 +#define BGM_ME_BACHI 369 +#define BGM_FANFA4 370 +#define BGM_FANFA5 371 +#define BGM_ME_WAZA 372 +#define BGM_BIJYUTU 373 +#define BGM_DOORO_X4 374 +#define BGM_FUNE_KAN 375 +#define BGM_ME_SHINKA 376 +#define BGM_SHINKA 377 +#define BGM_ME_WASURE 378 +#define BGM_SYOUJOEYE 379 +#define BGM_BOYEYE 380 +#define BGM_DAN02 381 +#define BGM_MACHI_S3 382 +#define BGM_ODAMAKI 383 +#define BGM_B_TOWER 384 +#define BGM_SWIMEYE 385 +#define BGM_DAN03 386 +#define BGM_ME_KINOMI 387 +#define BGM_ME_TAMA 388 +#define BGM_ME_B_BIG 389 +#define BGM_ME_B_SMALL 390 +#define BGM_ME_ZANNEN 391 +#define BGM_BD_TIME 392 +#define BGM_TEST1 393 +#define BGM_TEST2 394 +#define BGM_TEST3 395 +#define BGM_TEST4 396 +#define BGM_TEST 397 +#define BGM_GOMACHI0 398 +#define BGM_GOTOWN 399 +#define BGM_POKECEN 400 +#define BGM_NEXTROAD 401 +#define BGM_GRANROAD 402 +#define BGM_CYCLING 403 +#define BGM_FRIENDLY 404 +#define BGM_MISHIRO 405 +#define BGM_TOZAN 406 +#define BGM_GIRLEYE 407 +#define BGM_MINAMO 408 +#define BGM_ASHROAD 409 +#define BGM_EVENT0 410 +#define BGM_DEEPDEEP 411 +#define BGM_KACHI1 412 +#define BGM_TITLE3 413 +#define BGM_DEMO1 414 +#define BGM_GIRL_SUP 415 +#define BGM_HAGESHII 416 +#define BGM_KAKKOII 417 +#define BGM_KAZANBAI 418 +#define BGM_AQA_0 419 +#define BGM_TSURETEK 420 +#define BGM_BOY_SUP 421 +#define BGM_RAINBOW 422 +#define BGM_AYASII 423 +#define BGM_KACHI4 424 +#define BGM_ROPEWAY 425 +#define BGM_CASINO 426 +#define BGM_HIGHTOWN 427 +#define BGM_SAFARI 428 +#define BGM_C_ROAD 429 +#define BGM_AJITO 430 +#define BGM_M_BOAT 431 +#define BGM_M_DUNGON 432 +#define BGM_FINECITY 433 +#define BGM_MACHUPI 434 +#define BGM_P_SCHOOL 435 +#define BGM_DENDOU 436 +#define BGM_TONEKUSA 437 +#define BGM_MABOROSI 438 +#define BGM_CON_FAN 439 +#define BGM_CONTEST0 440 +#define BGM_MGM0 441 +#define BGM_T_BATTLE 442 +#define BGM_OOAME 443 +#define BGM_HIDERI 444 +#define BGM_RUNECITY 445 +#define BGM_CON_K 446 +#define BGM_EIKOU_R 447 +#define BGM_KARAKURI 448 +#define BGM_HUTAGO 449 +#define BGM_SITENNOU 450 +#define BGM_YAMA_EYE 451 +#define BGM_CONLOBBY 452 +#define BGM_INTER_V 453 +#define BGM_DAIGO 454 +#define BGM_THANKFOR 455 +#define BGM_END 456 +#define BGM_BATTLE_FRONTIER 457 +#define BGM_BATTLE_ARENA 458 +#define BGM_ME_BATTLE_POINTS 459 +#define BGM_ME_MATCH_CALL 460 +#define BGM_BATTLE_PYRAMID 461 +#define BGM_BATTLE_PYRAMID_SUMMIT 462 +#define BGM_BATTLE_PALACE 463 +#define BGM_FANFA_RAYQUAZA 464 +#define BGM_BATTLE_TOWER 465 +#define BGM_ME_BATTLE_SYMBOL 466 +#define BGM_BATTLE_DOME_TOURNAMENT 467 +#define BGM_BATTLE_PIKE 468 +#define BGM_BATTLE_FACTORY 469 +#define BGM_BATTLE_LEGENDARY 470 +#define BGM_BATTLE_FRONTIER_BRAIN 471 +#define BGM_BATTLE_MEW 472 +#define BGM_BATTLE_DOME 473 +#define BGM_BATTLE27 474 +#define BGM_BATTLE31 475 +#define BGM_BATTLE20 476 +#define BGM_BATTLE32 477 +#define BGM_BATTLE33 478 +#define BGM_BATTLE36 479 +#define BGM_BATTLE34 480 +#define BGM_BATTLE35 481 +#define BGM_BATTLE38 482 +#define BGM_BATTLE30 483 +#define BGM_FRLG_FOLLOW_ME 484 +#define BGM_FRLG_GAMECORNER 485 +#define BGM_FRLG_ROCKET_HIDEOUT 486 +#define BGM_FRLG_GYM 487 +#define BGM_FRLG_JIGGLYPUFF 488 +#define BGM_FRLG_OPENING 489 +#define BGM_FRLG_TITLE 490 +#define BGM_FRLG_CINNABAR_ISLAND 491 +#define BGM_FRLG_LAVENDER_TOWN 492 +#define BGM_FRLG_HEALING_TEST 493 +#define BGM_FRLG_BICYCLE 494 +#define BGM_FRLG_SUSPICIOUS_EYE 495 +#define BGM_FRLG_GIRL_EYE 496 +#define BGM_FRLG_BOY_EYE 497 +#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 498 +#define BGM_FRLG_VIRIDIAN_FOREST 499 +#define BGM_FRLG_MT_MOON 500 +#define BGM_FRLG_POKEMON_MANSION 501 +#define BGM_FRLG_CREDITS 502 +#define BGM_FRLG_ROUTE_1 503 +#define BGM_FRLG_ROUTE_24 504 +#define BGM_FRLG_ROUTE_3 505 +#define BGM_FRLG_ROUTE_11 506 +#define BGM_FRLG_INDIGO_PLATEAU 507 +#define BGM_FRLG_BATTLE_LEADER 508 +#define BGM_FRLG_BATTLE_TRAINER 509 +#define BGM_FRLG_BATTLE_WILD_POKEMON 510 +#define BGM_FRLG_BATTLE_CHAMPION 511 +#define BGM_FRLG_PALLET_TOWN 512 +#define BGM_FRLG_OAK_LAB 513 +#define BGM_FRLG_PROF_OAK 514 +#define BGM_FRLG_POKEMON_CENTER 515 +#define BGM_FRLG_SS_ANNE 516 +#define BGM_FRLG_SURF 517 +#define BGM_FRLG_POKEMON_TOWER 518 +#define BGM_FRLG_SILPH 519 +#define BGM_FRLG_CERULEAN_CITY 520 +#define BGM_FRLG_CELADON_CITY 521 +#define BGM_FRLG_KACHI_TRAINER 522 +#define BGM_FRLG_KACHI_WILD_POKEMON 523 +#define BGM_FRLG_KACHI_LEADER 524 +#define BGM_FRLG_VERMILION_CITY 525 +#define BGM_FRLG_VIRIDIAN_CITY 526 +#define BGM_FRLG_RIVAL 527 +#define BGM_FRLG_RIVAL_POSTBATTLE 528 +#define BGM_FRLG_ME_POKEDEX_EVAL 529 +#define BGM_FRLG_ME_KEYITEM 530 +#define BGM_FRLG_FANFA_POKEMON_CAUGHT 531 +#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 532 +#define BGM_FRLG_GAMEFREAK_LOGO 533 +#define BGM_FRLG_CAUGHT_POKEMON 534 +#define BGM_FRLG_GAME_EXPLANATION_START 535 +#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 536 +#define BGM_FRLG_GAME_EXPLANATION_END 537 +#define BGM_FRLG_POKEMON_JUMP 538 +#define BGM_FRLG_UNION_ROOM 539 +#define BGM_FRLG_POKEMON_NETWORK_CENTER 540 +#define BGM_FRLG_MYSTERY_GIFT 541 +#define BGM_FRLG_DODRIO_BERRY_PICK 542 +#define BGM_FRLG_MT_EMBER 543 +#define BGM_FRLG_TEACHY_TV_EPISODE 544 +#define BGM_FRLG_SEVII_ISLANDS 545 +#define BGM_FRLG_TANOBY_RUINS 546 +#define BGM_FRLG_ISLAND_ONE 547 +#define BGM_FRLG_ISLAND_FOUR 548 +#define BGM_FRLG_ISLAND_SIX 549 +#define BGM_FRLG_FLUTE 550 +#define BGM_FRLG_BATTLE_DEOXYS 551 +#define BGM_FRLG_BATTLE_MEWTWO 552 +#define BGM_FRLG_BATTLE_LEGENDARY 553 +#define BGM_FRLG_LEADER_EYE 554 +#define BGM_FRLG_DEOXYS_EYE 555 +#define BGM_FRLG_TRAINER_TOWER 556 +#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 557 +#define BGM_FRLG_TEACHY_TV 558 + +#define BGM_ROUTE_118 0x7FFF // What is this for? + +#endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/constants/species.h b/include/constants/species.h new file mode 100644 index 000000000..f698ada14 --- /dev/null +++ b/include/constants/species.h @@ -0,0 +1,450 @@ +#ifndef GUARD_CONSTANTS_SPECIES_H +#define GUARD_CONSTANTS_SPECIES_H + +#define SPECIES_NONE 0 +#define SPECIES_BULBASAUR 1 +#define SPECIES_IVYSAUR 2 +#define SPECIES_VENUSAUR 3 +#define SPECIES_CHARMANDER 4 +#define SPECIES_CHARMELEON 5 +#define SPECIES_CHARIZARD 6 +#define SPECIES_SQUIRTLE 7 +#define SPECIES_WARTORTLE 8 +#define SPECIES_BLASTOISE 9 +#define SPECIES_CATERPIE 10 +#define SPECIES_METAPOD 11 +#define SPECIES_BUTTERFREE 12 +#define SPECIES_WEEDLE 13 +#define SPECIES_KAKUNA 14 +#define SPECIES_BEEDRILL 15 +#define SPECIES_PIDGEY 16 +#define SPECIES_PIDGEOTTO 17 +#define SPECIES_PIDGEOT 18 +#define SPECIES_RATTATA 19 +#define SPECIES_RATICATE 20 +#define SPECIES_SPEAROW 21 +#define SPECIES_FEAROW 22 +#define SPECIES_EKANS 23 +#define SPECIES_ARBOK 24 +#define SPECIES_PIKACHU 25 +#define SPECIES_RAICHU 26 +#define SPECIES_SANDSHREW 27 +#define SPECIES_SANDSLASH 28 +#define SPECIES_NIDORAN_F 29 +#define SPECIES_NIDORINA 30 +#define SPECIES_NIDOQUEEN 31 +#define SPECIES_NIDORAN_M 32 +#define SPECIES_NIDORINO 33 +#define SPECIES_NIDOKING 34 +#define SPECIES_CLEFAIRY 35 +#define SPECIES_CLEFABLE 36 +#define SPECIES_VULPIX 37 +#define SPECIES_NINETALES 38 +#define SPECIES_JIGGLYPUFF 39 +#define SPECIES_WIGGLYTUFF 40 +#define SPECIES_ZUBAT 41 +#define SPECIES_GOLBAT 42 +#define SPECIES_ODDISH 43 +#define SPECIES_GLOOM 44 +#define SPECIES_VILEPLUME 45 +#define SPECIES_PARAS 46 +#define SPECIES_PARASECT 47 +#define SPECIES_VENONAT 48 +#define SPECIES_VENOMOTH 49 +#define SPECIES_DIGLETT 50 +#define SPECIES_DUGTRIO 51 +#define SPECIES_MEOWTH 52 +#define SPECIES_PERSIAN 53 +#define SPECIES_PSYDUCK 54 +#define SPECIES_GOLDUCK 55 +#define SPECIES_MANKEY 56 +#define SPECIES_PRIMEAPE 57 +#define SPECIES_GROWLITHE 58 +#define SPECIES_ARCANINE 59 +#define SPECIES_POLIWAG 60 +#define SPECIES_POLIWHIRL 61 +#define SPECIES_POLIWRATH 62 +#define SPECIES_ABRA 63 +#define SPECIES_KADABRA 64 +#define SPECIES_ALAKAZAM 65 +#define SPECIES_MACHOP 66 +#define SPECIES_MACHOKE 67 +#define SPECIES_MACHAMP 68 +#define SPECIES_BELLSPROUT 69 +#define SPECIES_WEEPINBELL 70 +#define SPECIES_VICTREEBEL 71 +#define SPECIES_TENTACOOL 72 +#define SPECIES_TENTACRUEL 73 +#define SPECIES_GEODUDE 74 +#define SPECIES_GRAVELER 75 +#define SPECIES_GOLEM 76 +#define SPECIES_PONYTA 77 +#define SPECIES_RAPIDASH 78 +#define SPECIES_SLOWPOKE 79 +#define SPECIES_SLOWBRO 80 +#define SPECIES_MAGNEMITE 81 +#define SPECIES_MAGNETON 82 +#define SPECIES_FARFETCHD 83 +#define SPECIES_DODUO 84 +#define SPECIES_DODRIO 85 +#define SPECIES_SEEL 86 +#define SPECIES_DEWGONG 87 +#define SPECIES_GRIMER 88 +#define SPECIES_MUK 89 +#define SPECIES_SHELLDER 90 +#define SPECIES_CLOYSTER 91 +#define SPECIES_GASTLY 92 +#define SPECIES_HAUNTER 93 +#define SPECIES_GENGAR 94 +#define SPECIES_ONIX 95 +#define SPECIES_DROWZEE 96 +#define SPECIES_HYPNO 97 +#define SPECIES_KRABBY 98 +#define SPECIES_KINGLER 99 +#define SPECIES_VOLTORB 100 +#define SPECIES_ELECTRODE 101 +#define SPECIES_EXEGGCUTE 102 +#define SPECIES_EXEGGUTOR 103 +#define SPECIES_CUBONE 104 +#define SPECIES_MAROWAK 105 +#define SPECIES_HITMONLEE 106 +#define SPECIES_HITMONCHAN 107 +#define SPECIES_LICKITUNG 108 +#define SPECIES_KOFFING 109 +#define SPECIES_WEEZING 110 +#define SPECIES_RHYHORN 111 +#define SPECIES_RHYDON 112 +#define SPECIES_CHANSEY 113 +#define SPECIES_TANGELA 114 +#define SPECIES_KANGASKHAN 115 +#define SPECIES_HORSEA 116 +#define SPECIES_SEADRA 117 +#define SPECIES_GOLDEEN 118 +#define SPECIES_SEAKING 119 +#define SPECIES_STARYU 120 +#define SPECIES_STARMIE 121 +#define SPECIES_MR_MIME 122 +#define SPECIES_SCYTHER 123 +#define SPECIES_JYNX 124 +#define SPECIES_ELECTABUZZ 125 +#define SPECIES_MAGMAR 126 +#define SPECIES_PINSIR 127 +#define SPECIES_TAUROS 128 +#define SPECIES_MAGIKARP 129 +#define SPECIES_GYARADOS 130 +#define SPECIES_LAPRAS 131 +#define SPECIES_DITTO 132 +#define SPECIES_EEVEE 133 +#define SPECIES_VAPOREON 134 +#define SPECIES_JOLTEON 135 +#define SPECIES_FLAREON 136 +#define SPECIES_PORYGON 137 +#define SPECIES_OMANYTE 138 +#define SPECIES_OMASTAR 139 +#define SPECIES_KABUTO 140 +#define SPECIES_KABUTOPS 141 +#define SPECIES_AERODACTYL 142 +#define SPECIES_SNORLAX 143 +#define SPECIES_ARTICUNO 144 +#define SPECIES_ZAPDOS 145 +#define SPECIES_MOLTRES 146 +#define SPECIES_DRATINI 147 +#define SPECIES_DRAGONAIR 148 +#define SPECIES_DRAGONITE 149 +#define SPECIES_MEWTWO 150 +#define SPECIES_MEW 151 +#define SPECIES_CHIKORITA 152 +#define SPECIES_BAYLEEF 153 +#define SPECIES_MEGANIUM 154 +#define SPECIES_CYNDAQUIL 155 +#define SPECIES_QUILAVA 156 +#define SPECIES_TYPHLOSION 157 +#define SPECIES_TOTODILE 158 +#define SPECIES_CROCONAW 159 +#define SPECIES_FERALIGATR 160 +#define SPECIES_SENTRET 161 +#define SPECIES_FURRET 162 +#define SPECIES_HOOTHOOT 163 +#define SPECIES_NOCTOWL 164 +#define SPECIES_LEDYBA 165 +#define SPECIES_LEDIAN 166 +#define SPECIES_SPINARAK 167 +#define SPECIES_ARIADOS 168 +#define SPECIES_CROBAT 169 +#define SPECIES_CHINCHOU 170 +#define SPECIES_LANTURN 171 +#define SPECIES_PICHU 172 +#define SPECIES_CLEFFA 173 +#define SPECIES_IGGLYBUFF 174 +#define SPECIES_TOGEPI 175 +#define SPECIES_TOGETIC 176 +#define SPECIES_NATU 177 +#define SPECIES_XATU 178 +#define SPECIES_MAREEP 179 +#define SPECIES_FLAAFFY 180 +#define SPECIES_AMPHAROS 181 +#define SPECIES_BELLOSSOM 182 +#define SPECIES_MARILL 183 +#define SPECIES_AZUMARILL 184 +#define SPECIES_SUDOWOODO 185 +#define SPECIES_POLITOED 186 +#define SPECIES_HOPPIP 187 +#define SPECIES_SKIPLOOM 188 +#define SPECIES_JUMPLUFF 189 +#define SPECIES_AIPOM 190 +#define SPECIES_SUNKERN 191 +#define SPECIES_SUNFLORA 192 +#define SPECIES_YANMA 193 +#define SPECIES_WOOPER 194 +#define SPECIES_QUAGSIRE 195 +#define SPECIES_ESPEON 196 +#define SPECIES_UMBREON 197 +#define SPECIES_MURKROW 198 +#define SPECIES_SLOWKING 199 +#define SPECIES_MISDREAVUS 200 +#define SPECIES_UNOWN 201 +#define SPECIES_WOBBUFFET 202 +#define SPECIES_GIRAFARIG 203 +#define SPECIES_PINECO 204 +#define SPECIES_FORRETRESS 205 +#define SPECIES_DUNSPARCE 206 +#define SPECIES_GLIGAR 207 +#define SPECIES_STEELIX 208 +#define SPECIES_SNUBBULL 209 +#define SPECIES_GRANBULL 210 +#define SPECIES_QWILFISH 211 +#define SPECIES_SCIZOR 212 +#define SPECIES_SHUCKLE 213 +#define SPECIES_HERACROSS 214 +#define SPECIES_SNEASEL 215 +#define SPECIES_TEDDIURSA 216 +#define SPECIES_URSARING 217 +#define SPECIES_SLUGMA 218 +#define SPECIES_MAGCARGO 219 +#define SPECIES_SWINUB 220 +#define SPECIES_PILOSWINE 221 +#define SPECIES_CORSOLA 222 +#define SPECIES_REMORAID 223 +#define SPECIES_OCTILLERY 224 +#define SPECIES_DELIBIRD 225 +#define SPECIES_MANTINE 226 +#define SPECIES_SKARMORY 227 +#define SPECIES_HOUNDOUR 228 +#define SPECIES_HOUNDOOM 229 +#define SPECIES_KINGDRA 230 +#define SPECIES_PHANPY 231 +#define SPECIES_DONPHAN 232 +#define SPECIES_PORYGON2 233 +#define SPECIES_STANTLER 234 +#define SPECIES_SMEARGLE 235 +#define SPECIES_TYROGUE 236 +#define SPECIES_HITMONTOP 237 +#define SPECIES_SMOOCHUM 238 +#define SPECIES_ELEKID 239 +#define SPECIES_MAGBY 240 +#define SPECIES_MILTANK 241 +#define SPECIES_BLISSEY 242 +#define SPECIES_RAIKOU 243 +#define SPECIES_ENTEI 244 +#define SPECIES_SUICUNE 245 +#define SPECIES_LARVITAR 246 +#define SPECIES_PUPITAR 247 +#define SPECIES_TYRANITAR 248 +#define SPECIES_LUGIA 249 +#define SPECIES_HO_OH 250 +#define SPECIES_CELEBI 251 + +#define SPECIES_OLD_UNOWN_B 252 +#define SPECIES_OLD_UNOWN_C 253 +#define SPECIES_OLD_UNOWN_D 254 +#define SPECIES_OLD_UNOWN_E 255 +#define SPECIES_OLD_UNOWN_F 256 +#define SPECIES_OLD_UNOWN_G 257 +#define SPECIES_OLD_UNOWN_H 258 +#define SPECIES_OLD_UNOWN_I 259 +#define SPECIES_OLD_UNOWN_J 260 +#define SPECIES_OLD_UNOWN_K 261 +#define SPECIES_OLD_UNOWN_L 262 +#define SPECIES_OLD_UNOWN_M 263 +#define SPECIES_OLD_UNOWN_N 264 +#define SPECIES_OLD_UNOWN_O 265 +#define SPECIES_OLD_UNOWN_P 266 +#define SPECIES_OLD_UNOWN_Q 267 +#define SPECIES_OLD_UNOWN_R 268 +#define SPECIES_OLD_UNOWN_S 269 +#define SPECIES_OLD_UNOWN_T 270 +#define SPECIES_OLD_UNOWN_U 271 +#define SPECIES_OLD_UNOWN_V 272 +#define SPECIES_OLD_UNOWN_W 273 +#define SPECIES_OLD_UNOWN_X 274 +#define SPECIES_OLD_UNOWN_Y 275 +#define SPECIES_OLD_UNOWN_Z 276 + +#define SPECIES_TREECKO 277 +#define SPECIES_GROVYLE 278 +#define SPECIES_SCEPTILE 279 +#define SPECIES_TORCHIC 280 +#define SPECIES_COMBUSKEN 281 +#define SPECIES_BLAZIKEN 282 +#define SPECIES_MUDKIP 283 +#define SPECIES_MARSHTOMP 284 +#define SPECIES_SWAMPERT 285 +#define SPECIES_POOCHYENA 286 +#define SPECIES_MIGHTYENA 287 +#define SPECIES_ZIGZAGOON 288 +#define SPECIES_LINOONE 289 +#define SPECIES_WURMPLE 290 +#define SPECIES_SILCOON 291 +#define SPECIES_BEAUTIFLY 292 +#define SPECIES_CASCOON 293 +#define SPECIES_DUSTOX 294 +#define SPECIES_LOTAD 295 +#define SPECIES_LOMBRE 296 +#define SPECIES_LUDICOLO 297 +#define SPECIES_SEEDOT 298 +#define SPECIES_NUZLEAF 299 +#define SPECIES_SHIFTRY 300 +#define SPECIES_NINCADA 301 +#define SPECIES_NINJASK 302 +#define SPECIES_SHEDINJA 303 +#define SPECIES_TAILLOW 304 +#define SPECIES_SWELLOW 305 +#define SPECIES_SHROOMISH 306 +#define SPECIES_BRELOOM 307 +#define SPECIES_SPINDA 308 +#define SPECIES_WINGULL 309 +#define SPECIES_PELIPPER 310 +#define SPECIES_SURSKIT 311 +#define SPECIES_MASQUERAIN 312 +#define SPECIES_WAILMER 313 +#define SPECIES_WAILORD 314 +#define SPECIES_SKITTY 315 +#define SPECIES_DELCATTY 316 +#define SPECIES_KECLEON 317 +#define SPECIES_BALTOY 318 +#define SPECIES_CLAYDOL 319 +#define SPECIES_NOSEPASS 320 +#define SPECIES_TORKOAL 321 +#define SPECIES_SABLEYE 322 +#define SPECIES_BARBOACH 323 +#define SPECIES_WHISCASH 324 +#define SPECIES_LUVDISC 325 +#define SPECIES_CORPHISH 326 +#define SPECIES_CRAWDAUNT 327 +#define SPECIES_FEEBAS 328 +#define SPECIES_MILOTIC 329 +#define SPECIES_CARVANHA 330 +#define SPECIES_SHARPEDO 331 +#define SPECIES_TRAPINCH 332 +#define SPECIES_VIBRAVA 333 +#define SPECIES_FLYGON 334 +#define SPECIES_MAKUHITA 335 +#define SPECIES_HARIYAMA 336 +#define SPECIES_ELECTRIKE 337 +#define SPECIES_MANECTRIC 338 +#define SPECIES_NUMEL 339 +#define SPECIES_CAMERUPT 340 +#define SPECIES_SPHEAL 341 +#define SPECIES_SEALEO 342 +#define SPECIES_WALREIN 343 +#define SPECIES_CACNEA 344 +#define SPECIES_CACTURNE 345 +#define SPECIES_SNORUNT 346 +#define SPECIES_GLALIE 347 +#define SPECIES_LUNATONE 348 +#define SPECIES_SOLROCK 349 +#define SPECIES_AZURILL 350 +#define SPECIES_SPOINK 351 +#define SPECIES_GRUMPIG 352 +#define SPECIES_PLUSLE 353 +#define SPECIES_MINUN 354 +#define SPECIES_MAWILE 355 +#define SPECIES_MEDITITE 356 +#define SPECIES_MEDICHAM 357 +#define SPECIES_SWABLU 358 +#define SPECIES_ALTARIA 359 +#define SPECIES_WYNAUT 360 +#define SPECIES_DUSKULL 361 +#define SPECIES_DUSCLOPS 362 +#define SPECIES_ROSELIA 363 +#define SPECIES_SLAKOTH 364 +#define SPECIES_VIGOROTH 365 +#define SPECIES_SLAKING 366 +#define SPECIES_GULPIN 367 +#define SPECIES_SWALOT 368 +#define SPECIES_TROPIUS 369 +#define SPECIES_WHISMUR 370 +#define SPECIES_LOUDRED 371 +#define SPECIES_EXPLOUD 372 +#define SPECIES_CLAMPERL 373 +#define SPECIES_HUNTAIL 374 +#define SPECIES_GOREBYSS 375 +#define SPECIES_ABSOL 376 +#define SPECIES_SHUPPET 377 +#define SPECIES_BANETTE 378 +#define SPECIES_SEVIPER 379 +#define SPECIES_ZANGOOSE 380 +#define SPECIES_RELICANTH 381 +#define SPECIES_ARON 382 +#define SPECIES_LAIRON 383 +#define SPECIES_AGGRON 384 +#define SPECIES_CASTFORM 385 +#define SPECIES_VOLBEAT 386 +#define SPECIES_ILLUMISE 387 +#define SPECIES_LILEEP 388 +#define SPECIES_CRADILY 389 +#define SPECIES_ANORITH 390 +#define SPECIES_ARMALDO 391 +#define SPECIES_RALTS 392 +#define SPECIES_KIRLIA 393 +#define SPECIES_GARDEVOIR 394 +#define SPECIES_BAGON 395 +#define SPECIES_SHELGON 396 +#define SPECIES_SALAMENCE 397 +#define SPECIES_BELDUM 398 +#define SPECIES_METANG 399 +#define SPECIES_METAGROSS 400 +#define SPECIES_REGIROCK 401 +#define SPECIES_REGICE 402 +#define SPECIES_REGISTEEL 403 +#define SPECIES_KYOGRE 404 +#define SPECIES_GROUDON 405 +#define SPECIES_RAYQUAZA 406 +#define SPECIES_LATIAS 407 +#define SPECIES_LATIOS 408 +#define SPECIES_JIRACHI 409 +#define SPECIES_DEOXYS 410 +#define SPECIES_CHIMECHO 411 +#define SPECIES_EGG 412 + +#define SPECIES_UNOWN_B 413 +#define SPECIES_UNOWN_C 414 +#define SPECIES_UNOWN_D 415 +#define SPECIES_UNOWN_E 416 +#define SPECIES_UNOWN_F 417 +#define SPECIES_UNOWN_G 418 +#define SPECIES_UNOWN_H 419 +#define SPECIES_UNOWN_I 420 +#define SPECIES_UNOWN_J 421 +#define SPECIES_UNOWN_K 422 +#define SPECIES_UNOWN_L 423 +#define SPECIES_UNOWN_M 424 +#define SPECIES_UNOWN_N 425 +#define SPECIES_UNOWN_O 426 +#define SPECIES_UNOWN_P 427 +#define SPECIES_UNOWN_Q 428 +#define SPECIES_UNOWN_R 429 +#define SPECIES_UNOWN_S 430 +#define SPECIES_UNOWN_T 431 +#define SPECIES_UNOWN_U 432 +#define SPECIES_UNOWN_V 433 +#define SPECIES_UNOWN_W 434 +#define SPECIES_UNOWN_X 435 +#define SPECIES_UNOWN_Y 436 +#define SPECIES_UNOWN_Z 437 +#define SPECIES_UNOWN_EMARK 438 +#define SPECIES_UNOWN_QMARK 439 + +#define NUM_SPECIES SPECIES_EGG + +#endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/vars.h b/include/constants/vars.h new file mode 100644 index 000000000..6dc8d0ccd --- /dev/null +++ b/include/constants/vars.h @@ -0,0 +1,288 @@ +#ifndef GUARD_CONSTANTS_VARS_H +#define GUARD_CONSTANTS_VARS_H + +#define VAR_0x3F20 0x3F20 + +#define VAR_0x4000 0x4000 +#define VAR_0x4001 0x4001 +#define VAR_0x4002 0x4002 +#define VAR_0x4003 0x4003 +#define VAR_0x4004 0x4004 +#define VAR_0x4005 0x4005 +#define VAR_0x4006 0x4006 +#define VAR_0x4007 0x4007 +#define VAR_0x4008 0x4008 +#define VAR_0x4009 0x4009 +#define VAR_0x400A 0x400A +#define VAR_0x400B 0x400B +#define VAR_0x400C 0x400C +#define VAR_0x400D 0x400D +#define VAR_0x400E 0x400E +#define VAR_0x400F 0x400F +#define VAR_0x4010 0x4010 +#define VAR_0x4011 0x4011 +#define VAR_0x4012 0x4012 +#define VAR_0x4013 0x4013 +#define VAR_0x4014 0x4014 +#define VAR_0x4015 0x4015 +#define VAR_0x4016 0x4016 +#define VAR_0x4017 0x4017 +#define VAR_0x4018 0x4018 +#define VAR_0x4019 0x4019 +#define VAR_0x401A 0x401A +#define VAR_0x401B 0x401B +#define VAR_0x401C 0x401C +#define VAR_0x401D 0x401D +#define VAR_0x401E 0x401E +#define VAR_0x401F 0x401F +#define VAR_RECYCLE_GOODS 0x4020 +#define VAR_REPEL_STEP_COUNT 0x4021 +#define VAR_ICE_STEP_COUNT 0x4022 +#define VAR_FIRST_POKE 0x4023 +#define VAR_MIRAGE_RND_H 0x4024 +#define VAR_MIRAGE_RND_L 0x4025 +#define VAR_SECRET_BASE_MAP 0x4026 +#define VAR_0x4027 0x4027 +#define VAR_0x4028 0x4028 +#define VAR_0x4029 0x4029 +#define VAR_HAPPINESS_STEP_COUNTER 0x402A +#define VAR_POISON_STEP_COUNTER 0x402B +#define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_0x402D 0x402D +#define VAR_0x402E 0x402E + +#define VAR_FRONTIER_MANIAC_FACILITY 0x402F + +#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 +#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031 +#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 +#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 + +#define VAR_0x4034 0x4034 +#define VAR_0x4035 0x4035 +#define VAR_STORAGE_UNKNOWN 0x4036 +#define VAR_0x4037 0x4037 +#define VAR_0x4038 0x4038 +#define VAR_0x4039 0x4039 +#define VAR_0x403A 0x403A +#define VAR_0x403B 0x403B +#define VAR_0x403C 0x403C +#define VAR_0x403D 0x403D +#define VAR_ALTERING_CAVE_WILD_SET 0x403E +#define VAR_0x403F 0x403F +#define VAR_DAYS 0x4040 +#define VAR_0x4041 0x4041 +#define VAR_0x4042 0x4042 +#define VAR_DEPT_STORE_FLOOR 0x4043 +#define VAR_0x4044 0x4044 +#define VAR_POKELOT_PRIZE 0x4045 +#define VAR_NATIONAL_DEX 0x4046 +#define VAR_SEEDOT_SIZE_RECORD 0x4047 +#define VAR_ASH_GATHER_COUNT 0x4048 +#define VAR_BIRCH_STATE 0x4049 +#define VAR_CRUISE_STEP_COUNT 0x404A +#define VAR_POKELOT_RND1 0x404B +#define VAR_POKELOT_RND2 0x404C +#define VAR_0x404D 0x404D +#define VAR_0x404E 0x404E +#define VAR_LOTAD_SIZE_RECORD 0x404F +#define VAR_0x4050 0x4050 +#define VAR_0x4051 0x4051 +#define VAR_0x4052 0x4052 +#define VAR_0x4053 0x4053 +#define VAR_0x4054 0x4054 +#define VAR_0x4055 0x4055 +#define VAR_0x4056 0x4056 +#define VAR_0x4057 0x4057 +#define VAR_0x4058 0x4058 +#define VAR_0x4059 0x4059 +#define VAR_0x405A 0x405A +#define VAR_0x405B 0x405B +#define VAR_0x405C 0x405C +#define VAR_0x405D 0x405D +#define VAR_0x405E 0x405E +#define VAR_0x405F 0x405F +#define VAR_0x4060 0x4060 +#define VAR_0x4061 0x4061 +#define VAR_0x4062 0x4062 +#define VAR_0x4063 0x4063 +#define VAR_0x4064 0x4064 +#define VAR_0x4065 0x4065 +#define VAR_0x4066 0x4066 +#define VAR_0x4067 0x4067 +#define VAR_0x4068 0x4068 +#define VAR_0x4069 0x4069 +#define VAR_0x406A 0x406A +#define VAR_0x406B 0x406B +#define VAR_0x406C 0x406C +#define VAR_0x406D 0x406D +#define VAR_0x406E 0x406E +#define VAR_0x406F 0x406F +#define VAR_0x4070 0x4070 +#define VAR_0x4071 0x4071 +#define VAR_0x4072 0x4072 +#define VAR_0x4073 0x4073 +#define VAR_0x4074 0x4074 +#define VAR_0x4075 0x4075 +#define VAR_0x4076 0x4076 +#define VAR_0x4077 0x4077 +#define VAR_0x4078 0x4078 +#define VAR_0x4079 0x4079 +#define VAR_0x407A 0x407A +#define VAR_0x407B 0x407B +#define VAR_0x407C 0x407C +#define VAR_0x407D 0x407D +#define VAR_0x407E 0x407E +#define VAR_0x407F 0x407F +#define VAR_0x4080 0x4080 +#define VAR_0x4081 0x4081 +#define VAR_0x4082 0x4082 +#define VAR_0x4083 0x4083 +#define VAR_0x4084 0x4084 +#define VAR_0x4085 0x4085 +#define VAR_0x4086 0x4086 +#define VAR_0x4087 0x4087 +#define VAR_0x4088 0x4088 +#define VAR_0x4089 0x4089 +#define VAR_0x408A 0x408A +#define VAR_0x408B 0x408B +#define VAR_0x408C 0x408C +#define VAR_0x408D 0x408D +#define VAR_0x408E 0x408E +#define VAR_0x408F 0x408F +#define VAR_0x4090 0x4090 +#define VAR_0x4091 0x4091 +#define VAR_0x4092 0x4092 +#define VAR_0x4093 0x4093 +#define VAR_0x4094 0x4094 +#define VAR_0x4095 0x4095 +#define VAR_0x4096 0x4096 +#define VAR_0x4097 0x4097 +#define VAR_0x4098 0x4098 +#define VAR_0x4099 0x4099 +#define VAR_0x409A 0x409A +#define VAR_0x409B 0x409B +#define VAR_0x409C 0x409C +#define VAR_0x409D 0x409D +#define VAR_0x409E 0x409E +#define VAR_0x409F 0x409F +#define VAR_0x40A0 0x40A0 +#define VAR_0x40A1 0x40A1 +#define VAR_0x40A2 0x40A2 +#define VAR_0x40A3 0x40A3 +#define VAR_0x40A4 0x40A4 +#define VAR_0x40A5 0x40A5 +#define VAR_0x40A6 0x40A6 +#define VAR_0x40A7 0x40A7 +#define VAR_0x40A8 0x40A8 +#define VAR_0x40A9 0x40A9 +#define VAR_0x40AA 0x40AA +#define VAR_0x40AB 0x40AB +#define VAR_0x40AC 0x40AC +#define VAR_0x40AD 0x40AD +#define VAR_0x40AE 0x40AE +#define VAR_0x40AF 0x40AF +#define VAR_0x40B0 0x40B0 +#define VAR_0x40B1 0x40B1 +#define VAR_0x40B2 0x40B2 +#define VAR_0x40B3 0x40B3 +#define VAR_PORTHOLE 0x40B4 +#define VAR_0x40B5 0x40B5 +#define VAR_0x40B6 0x40B6 +#define VAR_0x40B7 0x40B7 +#define VAR_0x40B8 0x40B8 +#define VAR_0x40B9 0x40B9 +#define VAR_0x40BA 0x40BA +#define VAR_0x40BB 0x40BB +#define VAR_0x40BC 0x40BC +#define VAR_0x40BD 0x40BD +#define VAR_0x40BE 0x40BE +#define VAR_0x40BF 0x40BF +#define VAR_0x40C0 0x40C0 +#define VAR_0x40C1 0x40C1 +#define VAR_0x40C2 0x40C2 +#define VAR_0x40C3 0x40C3 +#define VAR_0x40C4 0x40C4 +#define VAR_0x40C5 0x40C5 +#define VAR_0x40C6 0x40C6 +#define VAR_0x40C7 0x40C7 +#define VAR_0x40C8 0x40C8 +#define VAR_0x40C9 0x40C9 +#define VAR_0x40CA 0x40CA +#define VAR_0x40CB 0x40CB +#define VAR_0x40CC 0x40CC +#define VAR_0x40CD 0x40CD +#define VAR_0x40CE 0x40CE +#define VAR_FRONTIER_FACILITY 0x40CF +#define VAR_0x40D0 0x40D0 +#define VAR_0x40D1 0x40D1 +#define VAR_0x40D2 0x40D2 +#define VAR_0x40D3 0x40D3 +#define VAR_0x40D4 0x40D4 +#define VAR_0x40D5 0x40D5 +#define VAR_0x40D6 0x40D6 +#define VAR_0x40D7 0x40D7 +#define VAR_0x40D8 0x40D8 +#define VAR_0x40D9 0x40D9 +#define VAR_0x40DA 0x40DA +#define VAR_0x40DB 0x40DB +#define VAR_0x40DC 0x40DC +#define VAR_0x40DD 0x40DD +#define VAR_0x40DE 0x40DE +#define VAR_0x40DF 0x40DF +#define VAR_0x40E0 0x40E0 +#define VAR_0x40E1 0x40E1 +#define VAR_0x40E2 0x40E2 +#define VAR_0x40E3 0x40E3 +#define VAR_0x40E4 0x40E4 +#define VAR_0x40E5 0x40E5 +#define VAR_DAILY_SLOTS 0x40E6 +#define VAR_DAILY_WILDS 0x40E7 +#define VAR_DAILY_BLENDER 0x40E8 +#define VAR_DAILY_PLANTED_BERRIES 0x40E9 +#define VAR_DAILY_PICKED_BERRIES 0x40EA +#define VAR_DAILY_ROULETTE 0x40EB +#define VAR_0x40EC 0x40EC +#define VAR_0x40ED 0x40ED +#define VAR_0x40EE 0x40EE +#define VAR_0x40EF 0x40EF +#define VAR_0x40F0 0x40F0 +#define VAR_DAILY_BP 0x40F1 +#define VAR_0x40F2 0x40F2 +#define VAR_0x40F3 0x40F3 +#define VAR_0x40F4 0x40F4 +#define VAR_0x40F5 0x40F5 +#define VAR_0x40F6 0x40F6 +#define VAR_0x40F7 0x40F7 +#define VAR_0x40F8 0x40F8 +#define VAR_0x40F9 0x40F9 +#define VAR_0x40FA 0x40FA +#define VAR_0x40FB 0x40FB +#define VAR_0x40FC 0x40FC +#define VAR_0x40FD 0x40FD +#define VAR_0x40FE 0x40FE +#define VAR_0x40FF 0x40FF + +#define VAR_0x8000 0x8000 +#define VAR_0x8001 0x8001 +#define VAR_0x8002 0x8002 +#define VAR_0x8003 0x8003 +#define VAR_0x8004 0x8004 +#define VAR_0x8005 0x8005 +#define VAR_0x8006 0x8006 +#define VAR_0x8007 0x8007 +#define VAR_0x8008 0x8008 +#define VAR_0x8009 0x8009 +#define VAR_0x800A 0x800A +#define VAR_0x800B 0x800B +#define VAR_FACING 0x800C +#define VAR_RESULT 0x800D +#define VAR_ITEM_ID 0x800E +#define VAR_LAST_TALKED 0x800F +#define VAR_CONTEST_RANK 0x8010 +#define VAR_CONTEST_CATEGORY 0x8011 +#define VAR_MON_BOX_ID 0x8012 +#define VAR_MON_BOX_POS 0x8013 +#define VAR_0x8014 0x8014 + +#endif // GUARD_CONSTANTS_VARS_H diff --git a/include/data2.h b/include/data2.h new file mode 100644 index 000000000..be0f33ab8 --- /dev/null +++ b/include/data2.h @@ -0,0 +1,20 @@ +#ifndef GUARD_DATA2_H +#define GUARD_DATA2_H + +struct MonCoords +{ + // This would use a bitfield, but some function + // uses it as a u8 and casting won't match. + u8 coords; // u8 x:4, y:4; + u8 y_offset; +}; + +extern struct MonCoords gTrainerBackPicCoords[]; +extern struct MonCoords gTrainerFrontPicCoords[]; + +extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1]; +extern const u8 gMoveNames[][13]; +extern const u8 gAbilityNames[][13]; +extern const u8 gTypeNames[][7]; + +#endif // GUARD_DATA2_H diff --git a/include/daycare.h b/include/daycare.h new file mode 100644 index 000000000..7db44e024 --- /dev/null +++ b/include/daycare.h @@ -0,0 +1,27 @@ +#ifndef GUARD_DAYCARE_H +#define GUARD_DAYCARE_H + +#define EGG_HATCH_LEVEL 5 + +u8 *GetMonNick(struct Pokemon *mon, u8 *dest); +u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest); +u8 CountPokemonInDaycare(struct DayCare *daycare); +void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail); +void StoreSelectedPokemonInDaycare(void); +u16 TakePokemonFromDaycare(void); +void GetDaycareCost(void); +u8 GetNumLevelsGainedFromDaycare(void); +void TriggerPendingDaycareEgg(void); +void RejectEggFromDayCare(void); +void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation); +void GiveEggFromDaycare(void); +bool8 DoEggActions_CheckHatch(void); +u16 GetSelectedMonNickAndSpecies(void); +void GetDaycareMonNicknames(void); +u8 GetDaycareState(void); +void SetDaycareCompatibilityString(void); +bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio); +void ShowDaycareLevelMenu(void); +void ChooseSendDaycareMon(void); + +#endif // GUARD_DAYCARE_H diff --git a/include/decompress.h b/include/decompress.h new file mode 100644 index 000000000..34a678cda --- /dev/null +++ b/include/decompress.h @@ -0,0 +1,33 @@ +#ifndef GUARD_DECOMPRESS_H +#define GUARD_DECOMPRESS_H + +#include "sprite.h" + +extern u8 gDecompressionBuffer[0x4000]; + +void LZDecompressWram(const void *src, void *dest); +void LZDecompressVram(const void *src, void *dest); + +u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src); +void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer); +bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src); + +void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); +void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); +bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src); + +void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species); +void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species); +void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species); + +void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); +void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); +void HandleLoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); + +void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); +void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); +void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); + +u32 sub_8034974(const u8 *ptr); + +#endif // GUARD_DECOMPRESS_H diff --git a/include/diploma.h b/include/diploma.h new file mode 100644 index 000000000..8d730fa05 --- /dev/null +++ b/include/diploma.h @@ -0,0 +1,6 @@ +#ifndef GUARD_DIPLOMA_H +#define GUARD_DIPLOMA_H + +void CB2_ShowDiploma(void); + +#endif // GUARD_DIPLOMA_H diff --git a/include/dma3.h b/include/dma3.h new file mode 100644 index 000000000..265b47824 --- /dev/null +++ b/include/dma3.h @@ -0,0 +1,10 @@ +#ifndef GUARD_DMA3_H +#define GUARD_DMA3_H + +void ClearDma3Requests(void); +void ProcessDma3Requests(void); +int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); +int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode); +int CheckForSpaceForDma3Request(s16 index); + +#endif // GUARD_DMA3_H diff --git a/include/easy_chat.h b/include/easy_chat.h new file mode 100644 index 000000000..f0ac51c22 --- /dev/null +++ b/include/easy_chat.h @@ -0,0 +1,39 @@ +#ifndef GUARD_EASYCHAT_H +#define GUARD_EASYCHAT_H + +// Taken from Pokeruby, check if it's correct +enum +{ + EC_GROUP_POKEMON, + EC_GROUP_TRAINER, + EC_GROUP_STATUS, + EC_GROUP_BATTLE, + EC_GROUP_GREETINGS, + EC_GROUP_PEOPLE, + EC_GROUP_VOICES, + EC_GROUP_SPEECH, + EC_GROUP_ENDINGS, + EC_GROUP_FEELINGS, + EC_GROUP_CONDITIONS, + EC_GROUP_ACTIONS, + EC_GROUP_LIFESTYLE, + EC_GROUP_HOBBIES, + EC_GROUP_TIME, + EC_GROUP_MISC, + EC_GROUP_ADJECTIVES, + EC_GROUP_EVENTS, + EC_GROUP_MOVE_1, + EC_GROUP_MOVE_2, + EC_GROUP_TRENDY_SAYING, + EC_GROUP_POKEMON_2, +}; + +void InitEasyChatPhrases(void); +void easy_chat_input_maybe(void); +void CopyEasyChatWord(u8 *dest, u16 word); +bool32 sub_811F8D8(u16 word); +void InitializeEasyChatWordArray(u16 *words, u16 length); +void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); +bool8 ECWord_CheckIfOutsideOfValidRange(u16 word); + +#endif // GUARD_EASYCHAT_H diff --git a/include/egg_hatch.h b/include/egg_hatch.h new file mode 100644 index 000000000..862d33947 --- /dev/null +++ b/include/egg_hatch.h @@ -0,0 +1,10 @@ +#ifndef GUARD_EGG_HATCH_H +#define GUARD_EGG_HATCH_H + +void ScriptHatchMon(void); +bool8 sub_8071614(void); +void EggHatch(void); +u8 GetEggStepsToSubtract(void); +u16 sub_80722E0(void); + +#endif // GUARD_EGG_HATCH_H diff --git a/include/event_data.h b/include/event_data.h new file mode 100644 index 000000000..f829d3b87 --- /dev/null +++ b/include/event_data.h @@ -0,0 +1,52 @@ +#ifndef GUARD_EVENT_DATA_H +#define GUARD_EVENT_DATA_H + +#include "constants/flags.h" +#include "constants/vars.h" + +void InitEventData(void); +void ClearTempFieldEventData(void); +void ClearUpperFlags(void); +void DisableNationalPokedex(void); +void EnableNationalPokedex(void); +bool32 IsNationalPokedexEnabled(void); +void DisableMysteryEvent(void); +void EnableMysteryEvent(void); +bool32 IsMysteryEventEnabled(void); +void DisableMysteryGift(void); +void EnableMysteryGift(void); +bool32 IsMysteryGiftEnabled(void); +void sub_809D4D8(void); +void sub_809D570(void); +void DisableResetRTC(void); +void EnableResetRTC(void); +bool32 CanResetRTC(void); +u16 *GetVarPointer(u16 id); +u16 VarGet(u16 id); +bool8 VarSet(u16 id, u16 value); +u8 VarGetFieldObjectGraphicsId(u8 id); +u8 *GetFlagPointer(u16 id); +u8 FlagSet(u16 id); +u8 FlagClear(u16 id); +bool8 FlagGet(u16 id); + +extern u16 gSpecialVar_0x8000; +extern u16 gSpecialVar_0x8001; +extern u16 gSpecialVar_0x8002; +extern u16 gSpecialVar_0x8003; +extern u16 gSpecialVar_0x8004; +extern u16 gSpecialVar_0x8005; +extern u16 gSpecialVar_0x8006; +extern u16 gSpecialVar_0x8007; +extern u16 gSpecialVar_0x8008; +extern u16 gSpecialVar_0x8009; +extern u16 gSpecialVar_0x800A; +extern u16 gSpecialVar_0x800B; +extern u16 gSpecialVar_Result; +extern u16 gSpecialVar_LastTalked; +extern u16 gSpecialVar_Facing; +extern u16 gSpecialVar_MonBoxId; +extern u16 gSpecialVar_MonBoxPos; +extern u16 gSpecialVar_0x8014; + +#endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h new file mode 100644 index 000000000..844f1052a --- /dev/null +++ b/include/event_scripts.h @@ -0,0 +1,375 @@ +// +// Created by scott on 9/12/2017. +// + +#ifndef GUARD_EVENT_SCRIPTS_H +#define GUARD_EVENT_SCRIPTS_H + +extern const u8 gUnknown_0823B4E8[]; +extern const u8 gUnknown_0823B5E9[]; +extern const u8 EventScript_275BB7[]; +extern const u8 EventScript_275D0C[]; +extern const u8 EventScript_275D1F[]; +extern const u8 EventScript_275D2E[]; +extern const u8 EventScript_2766A2[]; +extern const u8 EventScript_2766A6[]; + +extern const u8 gTVBravoTrainerText00[]; +extern const u8 gTVBravoTrainerText01[]; +extern const u8 gTVBravoTrainerText02[]; +extern const u8 gTVBravoTrainerText03[]; +extern const u8 gTVBravoTrainerText04[]; +extern const u8 gTVBravoTrainerText05[]; +extern const u8 gTVBravoTrainerText06[]; +extern const u8 gTVBravoTrainerText07[]; +extern const u8 gTVBravoTrainerText08[]; +extern const u8 gTVBravoTrainerBattleTowerText00[]; +extern const u8 gTVBravoTrainerBattleTowerText01[]; +extern const u8 gTVBravoTrainerBattleTowerText02[]; +extern const u8 gTVBravoTrainerBattleTowerText03[]; +extern const u8 gTVBravoTrainerBattleTowerText04[]; +extern const u8 gTVBravoTrainerBattleTowerText05[]; +extern const u8 gTVBravoTrainerBattleTowerText06[]; +extern const u8 gTVBravoTrainerBattleTowerText07[]; +extern const u8 gTVBravoTrainerBattleTowerText08[]; +extern const u8 gTVBravoTrainerBattleTowerText09[]; +extern const u8 gTVBravoTrainerBattleTowerText10[]; +extern const u8 gTVBravoTrainerBattleTowerText11[]; +extern const u8 gTVBravoTrainerBattleTowerText12[]; +extern const u8 gTVBravoTrainerBattleTowerText13[]; +extern const u8 gTVBravoTrainerBattleTowerText14[]; +extern const u8 gTVFanClubOpinionsText00[]; +extern const u8 gTVFanClubOpinionsText01[]; +extern const u8 gTVFanClubOpinionsText02[]; +extern const u8 gTVFanClubOpinionsText03[]; +extern const u8 gTVFanClubOpinionsText04[]; +extern const u8 gTVFanClubText00[]; +extern const u8 gTVFanClubText01[]; +extern const u8 gTVFanClubText02[]; +extern const u8 gTVFanClubText03[]; +extern const u8 gTVFanClubText04[]; +extern const u8 gTVFanClubText05[]; +extern const u8 gTVFanClubText06[]; +extern const u8 gTVFanClubText07[]; +extern const u8 gTVRecentHappeningsText00[]; +extern const u8 gTVRecentHappeningsText01[]; +extern const u8 gTVRecentHappeningsText02[]; +extern const u8 gTVRecentHappeningsText03[]; +extern const u8 gTVRecentHappeningsText04[]; +extern const u8 gTVRecentHappeningsText05[]; +extern const u8 gTVMassOutbreakText00[]; +extern const u8 gTV3CheersForPokeblocksText00[]; +extern const u8 gTV3CheersForPokeblocksText01[]; +extern const u8 gTV3CheersForPokeblocksText02[]; +extern const u8 gTV3CheersForPokeblocksText03[]; +extern const u8 gTV3CheersForPokeblocksText04[]; +extern const u8 gTV3CheersForPokeblocksText05[]; +extern const u8 gTVTrainerFanClubSpecialText00[]; +extern const u8 gTVTrainerFanClubSpecialText01[]; +extern const u8 gTVTrainerFanClubSpecialText02[]; +extern const u8 gTVTrainerFanClubSpecialText03[]; +extern const u8 gTVTrainerFanClubSpecialText04[]; +extern const u8 gTVTrainerFanClubSpecialText05[]; +extern const u8 gTVNameRaterText00[]; +extern const u8 gTVNameRaterText01[]; +extern const u8 gTVNameRaterText02[]; +extern const u8 gTVNameRaterText03[]; +extern const u8 gTVNameRaterText04[]; +extern const u8 gTVNameRaterText05[]; +extern const u8 gTVNameRaterText06[]; +extern const u8 gTVNameRaterText07[]; +extern const u8 gTVNameRaterText08[]; +extern const u8 gTVNameRaterText09[]; +extern const u8 gTVNameRaterText10[]; +extern const u8 gTVNameRaterText11[]; +extern const u8 gTVNameRaterText12[]; +extern const u8 gTVNameRaterText13[]; +extern const u8 gTVNameRaterText14[]; +extern const u8 gTVNameRaterText15[]; +extern const u8 gTVNameRaterText16[]; +extern const u8 gTVNameRaterText17[]; +extern const u8 gTVNameRaterText18[]; +extern const u8 gTVPokemonAnglerText00[]; +extern const u8 gTVPokemonAnglerText01[]; +extern const u8 gTVPokemonTodayFailedText00[]; +extern const u8 gTVPokemonTodayFailedText01[]; +extern const u8 gTVPokemonTodayFailedText02[]; +extern const u8 gTVPokemonTodayFailedText03[]; +extern const u8 gTVPokemonTodayFailedText04[]; +extern const u8 gTVPokemonTodayFailedText05[]; +extern const u8 gTVPokemonTodayFailedText06[]; +extern const u8 gTVPokemonTodaySuccessfulText00[]; +extern const u8 gTVPokemonTodaySuccessfulText01[]; +extern const u8 gTVPokemonTodaySuccessfulText02[]; +extern const u8 gTVPokemonTodaySuccessfulText03[]; +extern const u8 gTVPokemonTodaySuccessfulText04[]; +extern const u8 gTVPokemonTodaySuccessfulText05[]; +extern const u8 gTVPokemonTodaySuccessfulText06[]; +extern const u8 gTVPokemonTodaySuccessfulText07[]; +extern const u8 gTVPokemonTodaySuccessfulText08[]; +extern const u8 gTVPokemonTodaySuccessfulText09[]; +extern const u8 gTVPokemonTodaySuccessfulText10[]; +extern const u8 gTVPokemonTodaySuccessfulText11[]; +extern const u8 gTVTodaysSmartShopperText00[]; +extern const u8 gTVTodaysSmartShopperText01[]; +extern const u8 gTVTodaysSmartShopperText02[]; +extern const u8 gTVTodaysSmartShopperText03[]; +extern const u8 gTVTodaysSmartShopperText04[]; +extern const u8 gTVTodaysSmartShopperText05[]; +extern const u8 gTVTodaysSmartShopperText06[]; +extern const u8 gTVTodaysSmartShopperText07[]; +extern const u8 gTVTodaysSmartShopperText08[]; +extern const u8 gTVTodaysSmartShopperText09[]; +extern const u8 gTVTodaysSmartShopperText10[]; +extern const u8 gTVTodaysSmartShopperText11[]; +extern const u8 gTVTodaysSmartShopperText12[]; +extern const u8 gTVWorldOfMastersText00[]; +extern const u8 gTVWorldOfMastersText01[]; +extern const u8 gTVWorldOfMastersText02[]; +extern const u8 gTVTodaysRivalTrainerText00[]; +extern const u8 gTVTodaysRivalTrainerText07[]; +extern const u8 gTVTodaysRivalTrainerText08[]; +extern const u8 gTVTodaysRivalTrainerText09[]; +extern const u8 gTVTodaysRivalTrainerText10[]; +extern const u8 gTVTodaysRivalTrainerText01[]; +extern const u8 gTVTodaysRivalTrainerText02[]; +extern const u8 gTVTodaysRivalTrainerText03[]; +extern const u8 gTVTodaysRivalTrainerText04[]; +extern const u8 gTVTodaysRivalTrainerText05[]; +extern const u8 gTVTodaysRivalTrainerText06[]; +extern const u8 gTVDewfordTrendWatcherNetworkText00[]; +extern const u8 gTVDewfordTrendWatcherNetworkText01[]; +extern const u8 gTVDewfordTrendWatcherNetworkText02[]; +extern const u8 gTVDewfordTrendWatcherNetworkText03[]; +extern const u8 gTVDewfordTrendWatcherNetworkText04[]; +extern const u8 gTVDewfordTrendWatcherNetworkText05[]; +extern const u8 gTVDewfordTrendWatcherNetworkText06[]; +extern const u8 gTVHoennTreasureInvestigatorsText00[]; +extern const u8 gTVHoennTreasureInvestigatorsText01[]; +extern const u8 gTVHoennTreasureInvestigatorsText02[]; +extern const u8 gTVFindThatGamerText00[]; +extern const u8 gTVFindThatGamerText01[]; +extern const u8 gTVFindThatGamerText02[]; +extern const u8 gTVFindThatGamerText03[]; +extern const u8 gTVBreakingNewsText00[]; +extern const u8 gTVBreakingNewsText01[]; +extern const u8 gTVBreakingNewsText02[]; +extern const u8 gTVBreakingNewsText03[]; +extern const u8 gTVBreakingNewsText04[]; +extern const u8 gTVBreakingNewsText05[]; +extern const u8 gTVBreakingNewsText06[]; +extern const u8 gTVBreakingNewsText07[]; +extern const u8 gTVBreakingNewsText12[]; +extern const u8 gTVBreakingNewsText08[]; +extern const u8 gTVBreakingNewsText09[]; +extern const u8 gTVBreakingNewsText10[]; +extern const u8 gTVBreakingNewsText11[]; +extern const u8 gTVSecretBaseVisitText00[]; +extern const u8 gTVSecretBaseVisitText01[]; +extern const u8 gTVSecretBaseVisitText02[]; +extern const u8 gTVSecretBaseVisitText03[]; +extern const u8 gTVSecretBaseVisitText04[]; +extern const u8 gTVSecretBaseVisitText05[]; +extern const u8 gTVSecretBaseVisitText06[]; +extern const u8 gTVSecretBaseVisitText07[]; +extern const u8 gTVSecretBaseVisitText08[]; +extern const u8 gTVSecretBaseVisitText09[]; +extern const u8 gTVSecretBaseVisitText10[]; +extern const u8 gTVSecretBaseVisitText11[]; +extern const u8 gTVSecretBaseVisitText12[]; +extern const u8 gTVSecretBaseVisitText13[]; +extern const u8 gTVPokemonLotteryWinnerFlashReportText00[]; +extern const u8 gTVThePokemonBattleSeminarText00[]; +extern const u8 gTVThePokemonBattleSeminarText01[]; +extern const u8 gTVThePokemonBattleSeminarText02[]; +extern const u8 gTVThePokemonBattleSeminarText03[]; +extern const u8 gTVThePokemonBattleSeminarText04[]; +extern const u8 gTVThePokemonBattleSeminarText05[]; +extern const u8 gTVThePokemonBattleSeminarText06[]; +extern const u8 gTVTrainerFanClubText00[]; +extern const u8 gTVTrainerFanClubText01[]; +extern const u8 gTVTrainerFanClubText02[]; +extern const u8 gTVTrainerFanClubText03[]; +extern const u8 gTVTrainerFanClubText04[]; +extern const u8 gTVTrainerFanClubText05[]; +extern const u8 gTVTrainerFanClubText06[]; +extern const u8 gTVTrainerFanClubText07[]; +extern const u8 gTVTrainerFanClubText08[]; +extern const u8 gTVTrainerFanClubText09[]; +extern const u8 gTVTrainerFanClubText10[]; +extern const u8 gTVTrainerFanClubText11[]; +extern const u8 gTVCutiesText00[]; +extern const u8 gTVCutiesText01[]; +extern const u8 gTVCutiesText02[]; +extern const u8 gTVCutiesText03[]; +extern const u8 gTVCutiesText04[]; +extern const u8 gTVCutiesText05[]; +extern const u8 gTVCutiesText06[]; +extern const u8 gTVCutiesText07[]; +extern const u8 gTVCutiesText08[]; +extern const u8 gTVCutiesText09[]; +extern const u8 gTVCutiesText10[]; +extern const u8 gTVCutiesText11[]; +extern const u8 gTVCutiesText12[]; +extern const u8 gTVCutiesText13[]; +extern const u8 gTVCutiesText14[]; +extern const u8 gTVCutiesText15[]; +extern const u8 gTVPokemonNewsBattleFrontierText00[]; +extern const u8 gTVPokemonNewsBattleFrontierText01[]; +extern const u8 gTVPokemonNewsBattleFrontierText02[]; +extern const u8 gTVPokemonNewsBattleFrontierText03[]; +extern const u8 gTVPokemonNewsBattleFrontierText04[]; +extern const u8 gTVPokemonNewsBattleFrontierText05[]; +extern const u8 gTVPokemonNewsBattleFrontierText06[]; +extern const u8 gTVPokemonNewsBattleFrontierText07[]; +extern const u8 gTVPokemonNewsBattleFrontierText08[]; +extern const u8 gTVPokemonNewsBattleFrontierText09[]; +extern const u8 gTVPokemonNewsBattleFrontierText10[]; +extern const u8 gTVPokemonNewsBattleFrontierText11[]; +extern const u8 gTVPokemonNewsBattleFrontierText12[]; +extern const u8 gTVPokemonNewsBattleFrontierText13[]; +extern const u8 gTVPokemonNewsBattleFrontierText14[]; +extern const u8 gTVPokemonNewsBattleFrontierText15[]; +extern const u8 gTVPokemonNewsBattleFrontierText16[]; +extern const u8 gTVPokemonNewsBattleFrontierText17[]; +extern const u8 gTVPokemonNewsBattleFrontierText18[]; +extern const u8 gTVWhatsNo1InHoennTodayText00[]; +extern const u8 gTVWhatsNo1InHoennTodayText01[]; +extern const u8 gTVWhatsNo1InHoennTodayText02[]; +extern const u8 gTVWhatsNo1InHoennTodayText03[]; +extern const u8 gTVWhatsNo1InHoennTodayText04[]; +extern const u8 gTVWhatsNo1InHoennTodayText05[]; +extern const u8 gTVWhatsNo1InHoennTodayText06[]; +extern const u8 gTVWhatsNo1InHoennTodayText07[]; +extern const u8 gTVWhatsNo1InHoennTodayText08[]; +extern const u8 gTVSecretBaseSecretsText00[]; +extern const u8 gTVSecretBaseSecretsText01[]; +extern const u8 gTVSecretBaseSecretsText02[]; +extern const u8 gTVSecretBaseSecretsText03[]; +extern const u8 gTVSecretBaseSecretsText04[]; +extern const u8 gTVSecretBaseSecretsText05[]; +extern const u8 gTVSecretBaseSecretsText06[]; +extern const u8 gTVSecretBaseSecretsText07[]; +extern const u8 gTVSecretBaseSecretsText08[]; +extern const u8 gTVSecretBaseSecretsText09[]; +extern const u8 gTVSecretBaseSecretsText10[]; +extern const u8 gTVSecretBaseSecretsText11[]; +extern const u8 gTVSecretBaseSecretsText12[]; +extern const u8 gTVSecretBaseSecretsText13[]; +extern const u8 gTVSecretBaseSecretsText14[]; +extern const u8 gTVSecretBaseSecretsText15[]; +extern const u8 gTVSecretBaseSecretsText16[]; +extern const u8 gTVSecretBaseSecretsText17[]; +extern const u8 gTVSecretBaseSecretsText18[]; +extern const u8 gTVSecretBaseSecretsText19[]; +extern const u8 gTVSecretBaseSecretsText20[]; +extern const u8 gTVSecretBaseSecretsText21[]; +extern const u8 gTVSecretBaseSecretsText22[]; +extern const u8 gTVSecretBaseSecretsText23[]; +extern const u8 gTVSecretBaseSecretsText24[]; +extern const u8 gTVSecretBaseSecretsText25[]; +extern const u8 gTVSecretBaseSecretsText26[]; +extern const u8 gTVSecretBaseSecretsText27[]; +extern const u8 gTVSecretBaseSecretsText28[]; +extern const u8 gTVSecretBaseSecretsText29[]; +extern const u8 gTVSecretBaseSecretsText30[]; +extern const u8 gTVSecretBaseSecretsText31[]; +extern const u8 gTVSecretBaseSecretsText32[]; +extern const u8 gTVSecretBaseSecretsText33[]; +extern const u8 gTVSecretBaseSecretsText34[]; +extern const u8 gTVSecretBaseSecretsText35[]; +extern const u8 gTVSecretBaseSecretsText36[]; +extern const u8 gTVSecretBaseSecretsText37[]; +extern const u8 gTVSecretBaseSecretsText38[]; +extern const u8 gTVSecretBaseSecretsText39[]; +extern const u8 gTVSecretBaseSecretsText40[]; +extern const u8 gTVSecretBaseSecretsText41[]; +extern const u8 gTVSecretBaseSecretsText42[]; +extern const u8 gTVSafariFanClubText00[]; +extern const u8 gTVSafariFanClubText01[]; +extern const u8 gTVSafariFanClubText02[]; +extern const u8 gTVSafariFanClubText03[]; +extern const u8 gTVSafariFanClubText04[]; +extern const u8 gTVSafariFanClubText05[]; +extern const u8 gTVSafariFanClubText06[]; +extern const u8 gTVSafariFanClubText07[]; +extern const u8 gTVSafariFanClubText08[]; +extern const u8 gTVSafariFanClubText09[]; +extern const u8 gTVSafariFanClubText10[]; +extern const u8 gTVContestLiveUpdatesText00[]; +extern const u8 gTVContestLiveUpdatesText01[]; +extern const u8 gTVContestLiveUpdatesText02[]; +extern const u8 gTVContestLiveUpdatesText03[]; +extern const u8 gTVContestLiveUpdatesText04[]; +extern const u8 gTVContestLiveUpdatesText05[]; +extern const u8 gTVContestLiveUpdatesText06[]; +extern const u8 gTVContestLiveUpdatesText07[]; +extern const u8 gTVContestLiveUpdatesText08[]; +extern const u8 gTVContestLiveUpdatesText09[]; +extern const u8 gTVContestLiveUpdatesText10[]; +extern const u8 gTVContestLiveUpdatesText11[]; +extern const u8 gTVContestLiveUpdatesText12[]; +extern const u8 gTVContestLiveUpdatesText13[]; +extern const u8 gTVContestLiveUpdatesText14[]; +extern const u8 gTVContestLiveUpdatesText15[]; +extern const u8 gTVContestLiveUpdatesText16[]; +extern const u8 gTVContestLiveUpdatesText17[]; +extern const u8 gTVContestLiveUpdatesText18[]; +extern const u8 gTVContestLiveUpdatesText19[]; +extern const u8 gTVContestLiveUpdatesText20[]; +extern const u8 gTVContestLiveUpdatesText21[]; +extern const u8 gTVContestLiveUpdatesText22[]; +extern const u8 gTVContestLiveUpdatesText23[]; +extern const u8 gTVContestLiveUpdatesText24[]; +extern const u8 gTVContestLiveUpdatesText25[]; +extern const u8 gTVContestLiveUpdatesText26[]; +extern const u8 gTVContestLiveUpdatesText27[]; +extern const u8 gTVContestLiveUpdatesText28[]; +extern const u8 gTVContestLiveUpdatesText29[]; +extern const u8 gTVContestLiveUpdatesText30[]; +extern const u8 gTVContestLiveUpdatesText31[]; +extern const u8 gTVContestLiveUpdatesText32[]; +extern const u8 gTVPokemonBattleUpdateText00[]; +extern const u8 gTVPokemonBattleUpdateText01[]; +extern const u8 gTVPokemonBattleUpdateText02[]; +extern const u8 gTVPokemonBattleUpdateText03[]; +extern const u8 gTVPokemonBattleUpdateText04[]; +extern const u8 gTVPokemonBattleUpdateText05[]; +extern const u8 gTVPokemonBattleUpdateText06[]; +extern const u8 gTVPokemonBattleUpdateText07[]; +extern const u8 gTVInSearchOfTrainersText00[]; +extern const u8 gTVInSearchOfTrainersText01[]; +extern const u8 gTVInSearchOfTrainersText02[]; +extern const u8 gTVInSearchOfTrainersText03[]; +extern const u8 gTVInSearchOfTrainersText04[]; +extern const u8 gTVInSearchOfTrainersText05[]; +extern const u8 gTVInSearchOfTrainersText06[]; +extern const u8 gTVInSearchOfTrainersText07[]; +extern const u8 gTVInSearchOfTrainersText08[]; +extern const u8 gTVPokemonContestLiveUpdates2Text00[]; +extern const u8 gTVPokemonContestLiveUpdates2Text01[]; +extern const u8 gTVPokemonContestLiveUpdates2Text02[]; +extern const u8 gTVPokemonContestLiveUpdates2Text03[]; +extern const u8 gPokeNewsTextSlateport_Upcoming[]; +extern const u8 gPokeNewsTextSlateport_Ongoing[]; +extern const u8 gPokeNewsTextSlateport_Ending[]; +extern const u8 gPokeNewsTextGameCorner_Upcoming[]; +extern const u8 gPokeNewsTextGameCorner_Ongoing[]; +extern const u8 gPokeNewsTextGameCorner_Ending[]; +extern const u8 gPokeNewsTextLilycove_Upcoming[]; +extern const u8 gPokeNewsTextLilycove_Ongoing[]; +extern const u8 gPokeNewsTextLilycove_Ending[]; +extern const u8 gPokeNewsTextBlendMaster_Upcoming[]; +extern const u8 gPokeNewsTextBlendMaster_Ongoing[]; +extern const u8 gPokeNewsTextBlendMaster_Ending[]; +extern const u8 SecretBase_RedCave1_Text_274966[]; +extern const u8 SecretBase_RedCave1_Text_274D13[]; +extern const u8 SecretBase_RedCave1_Text_274FFE[]; +extern const u8 SecretBase_RedCave1_Text_275367[]; +extern const u8 SecretBase_RedCave1_Text_2756C7[]; +extern const u8 SecretBase_RedCave1_Text_274B24[]; +extern const u8 SecretBase_RedCave1_Text_274E75[]; +extern const u8 SecretBase_RedCave1_Text_2751E1[]; +extern const u8 SecretBase_RedCave1_Text_2754F6[]; +extern const u8 SecretBase_RedCave1_Text_2758CC[]; +#endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h new file mode 100644 index 000000000..f52105815 --- /dev/null +++ b/include/evolution_graphics.h @@ -0,0 +1,15 @@ +#ifndef GUARD_EVOLUTION_GRAPHICS_H +#define GUARD_EVOLUTION_GRAPHICS_H + +void LoadEvoSparkleSpriteAndPal(void); + +u8 LaunchTask_PreEvoSparklesSet1(u16 arg0); +u8 LaunchTask_PreEvoSparklesSet2(void); +u8 LaunchTask_PostEvoSparklesSet1(void); +u8 LaunchTask_PostEvoSparklesSet2AndFlash(u16 species); +u8 LaunchTask_PostEvoSparklesSet2AndFlash_Trade(u16 species); +u8 sub_817C3A0(u8 preEvoSpriteID, u8 postEvoSpriteID); + +#define EvoGraphicsTaskEvoStop data[8] + +#endif // GUARD_EVOLUTION_GRAPHICS_H diff --git a/include/evolution_scene.h b/include/evolution_scene.h new file mode 100644 index 000000000..5f8c534b9 --- /dev/null +++ b/include/evolution_scene.h @@ -0,0 +1,10 @@ +#ifndef GUARD_EVOLUTION_SCENE_H +#define GUARD_EVOLUTION_SCENE_H + +void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); +void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); +void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); + +extern void (*gCB2_AfterEvolution)(void); + +#endif // GUARD_EVOLUTION_SCENE_H diff --git a/include/field_camera.h b/include/field_camera.h new file mode 100644 index 000000000..a8559e1c2 --- /dev/null +++ b/include/field_camera.h @@ -0,0 +1,28 @@ +#ifndef GUARD_FIELD_CAMERA_H +#define GUARD_FIELD_CAMERA_H + +// Exported type declarations + +struct CameraObject +{ + void (*callback)(struct CameraObject *); + u32 unk4; + s32 unk8; + s32 unkC; + s32 x; + s32 y; +}; + +extern struct CameraObject gUnknown_03005DD0; + +// Exported RAM declarations + +extern u16 gUnknown_03005DEC; +extern u16 gUnknown_03005DE8; + +// Exported ROM declarations + +void DrawWholeMapView(void); +void CurrentMapDrawMetatileAt(int x, int y); + +#endif //GUARD_FIELD_CAMERA_H diff --git a/include/field_door.h b/include/field_door.h new file mode 100644 index 000000000..f1dfc551d --- /dev/null +++ b/include/field_door.h @@ -0,0 +1,11 @@ +#ifndef GUARD_FIELDDOOR_H +#define GUARD_FIELDDOOR_H + +void FieldSetDoorOpened(u32, u32); +void FieldSetDoorClosed(u32, u32); +s8 FieldAnimateDoorClose(u32, u32); +s8 FieldAnimateDoorOpen(u32, u32); +bool8 FieldIsDoorAnimationRunning(void); +u32 GetDoorSoundEffect(u32 x, u32 y); + +#endif diff --git a/include/field_effect.h b/include/field_effect.h new file mode 100644 index 000000000..629ae07c7 --- /dev/null +++ b/include/field_effect.h @@ -0,0 +1,78 @@ +#ifndef GUARD_FIELD_EFFECTS_H +#define GUARD_FIELD_EFFECTS_H + +enum FieldEffectScriptIdx +{ + FLDEFF_EXCLAMATION_MARK_ICON_1, + FLDEFF_USE_CUT_ON_GRASS, + FLDEFF_USE_CUT_ON_TREE, + FLDEFF_SHADOW, + FLDEFF_TALL_GRASS, + FLDEFF_RIPPLE, + FLDEFF_FIELD_MOVE_SHOW_MON, + FLDEFF_ASH, + FLDEFF_SURF_BLOB, + FLDEFF_USE_SURF, + FLDEFF_DUST, + FLDEFF_USE_SECRET_POWER_CAVE, + FLDEFF_JUMP_TALL_GRASS, + FLDEFF_SAND_FOOTPRINTS, + FLDEFF_JUMP_BIG_SPLASH, + FLDEFF_SPLASH, + FLDEFF_JUMP_SMALL_SPLASH, + FLDEFF_LONG_GRASS, + FLDEFF_JUMP_LONG_GRASS, + FLDEFF_UNKNOWN_19, + FLDEFF_UNKNOWN_20, + FLDEFF_UNKNOWN_21, + FLDEFF_UNKNOWN_22, + FLDEFF_BERRY_TREE_GROWTH_SPARKLE, + FLDEFF_DEEP_SAND_FOOTPRINTS, + FLDEFF_POKECENTER_HEAL, + FLDEFF_USE_SECRET_POWER_TREE, + FLDEFF_USE_SECRET_POWER_SHRUB, + FLDEFF_TREE_DISGUISE, + FLDEFF_MOUNTAIN_DISGUISE, + FLDEFF_NPCFLY_OUT, + FLDEFF_USE_FLY, + FLDEFF_FLY_IN, + FLDEFF_EXCLAMATION_MARK_ICON_2, + FLDEFF_FEET_IN_FLOWING_WATER, + FLDEFF_BIKE_TIRE_TRACKS, + FLDEFF_SAND_DISGUISE, + FLDEFF_USE_ROCK_SMASH, + FLDEFF_USE_DIG, + FLDEFF_SAND_PILE, + FLDEFF_USE_STRENGTH, + FLDEFF_SHORT_GRASS, + FLDEFF_HOT_SPRINGS_WATER, + FLDEFF_USE_WATERFALL, + FLDEFF_USE_DIVE, + FLDEFF_POKEBALL, + FLDEFF_HEART_ICON, + FLDEFF_NOP_47, + FLDEFF_NOP_48, + FLDEFF_POP_OUT_OF_ASH, + FLDEFF_LAVARIDGE_GYM_WARP, + FLDEFF_SWEET_SCENT, + FLDEFF_SAND_PILLAR, + FLDEFF_BUBBLES, + FLDEFF_SPARKLE, + FLDEFF_SECRET_POWER_CAVE, + FLDEFF_SECRET_POWER_TREE, + FLDEFF_SECRET_POWER_SHRUB, + FLDEFF_CUT_GRASS, + FLDEFF_FIELD_MOVE_SHOW_MON_INIT, + FLDEFF_USE_FLY_ANCIENT_TOMB, + FLDEFF_PCTURN_ON, + FLDEFF_HALL_OF_FAME_RECORD, + FLDEFF_USE_TELEPORT +}; + +extern u32 gFieldEffectArguments[8]; + +u8 FieldEffectStart(u8); +bool8 FieldEffectActiveListContains(u8 id); +void sub_80B69DC(void); + +#endif //GUARD_FIELD_EFFECTS_H diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h new file mode 100644 index 000000000..e80daf3bd --- /dev/null +++ b/include/field_effect_helpers.h @@ -0,0 +1,16 @@ +// +// Created by scott on 9/7/2017. +// + +#ifndef GUARD_FIELD_EFFECT_HELPERS_H +#define GUARD_FIELD_EFFECT_HELPERS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +u8 sub_8154228(void); +bool8 sub_8155DA0(struct MapObject *); + +#endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h new file mode 100644 index 000000000..7c2d16a24 --- /dev/null +++ b/include/field_fadetransition.h @@ -0,0 +1,12 @@ +#ifndef GUARD_FIELD_FADETRANSITION_H +#define GUARD_FIELD_FADETRANSITION_H + +void sub_80AF734(void); +void sp13E_warp_to_last_warp(void); +void sub_80AF7D0(void); +void sp13F_fall_to_last_warp(void); + +void sub_80AF848(void); +void sub_80AF87C(void); + +#endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h new file mode 100644 index 000000000..63b67ceaf --- /dev/null +++ b/include/field_ground_effect.h @@ -0,0 +1,22 @@ +// +// Created by scott on 9/6/2017. +// + +#ifndef GUARD_FIELD_GROUND_EFFECT_H +#define GUARD_FIELD_GROUND_EFFECT_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); +void InitObjectPriorityByZCoord(struct Sprite *, u8); +bool8 IsZCoordMismatchAt(u8, s16, s16); +bool8 AreZCoordsCompatible(u8, u8); +void FieldObjectUpdateSubpriority(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnSpawn(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnBeginStep(struct MapObject *, struct Sprite *); +void DoGroundEffects_OnFinishStep(struct MapObject *, struct Sprite *); + +#endif //GUARD_FIELD_GROUND_EFFECT_H diff --git a/include/field_map_obj.h b/include/field_map_obj.h new file mode 100644 index 000000000..0107fa10f --- /dev/null +++ b/include/field_map_obj.h @@ -0,0 +1,84 @@ +#ifndef GUARD_FIELD_MAP_OBJ_H +#define GUARD_FIELD_MAP_OBJ_H + +#define NUM_OBJECT_GRAPHICS_INFO 239 +#define SPRITE_VAR 240 + +// Exported struct declarations + +enum SpinnerRunnerFollowPatterns { + RUNFOLLOW_ANY, + RUNFOLLOW_NORTH_SOUTH, + RUNFOLLOW_EAST_WEST, + RUNFOLLOW_NORTH_WEST, + RUNFOLLOW_NORTH_EAST, + RUNFOLLOW_SOUTH_WEST, + RUNFOLLOW_SOUTH_EAST, + RUNFOLLOW_NORTH_SOUTH_WEST, + RUNFOLLOW_NORTH_SOUTH_EAST, + RUNFOLLOW_NORTH_EAST_WEST, + RUNFOLLOW_SOUTH_EAST_WEST +}; + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_808D438(void); +u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8); +bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); +u8 GetFieldObjectIdByXY(s16, s16); +void FieldObjectSetDirection(struct MapObject *, u8); +u8 sub_808D4F4(void); +void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8); +void npc_load_two_palettes__no_record(u16, u8); +void npc_load_two_palettes__and_record(u16, u8); +void sub_808EBA8(u8, u8, u8, s16, s16); +void pal_patch_for_npc(u16, u8); +void sub_808E16C(s16, s16); +void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); +void sub_8092FF0(s16, s16, s16 *, s16 *); +u8 FieldObjectDirectionToImageAnimId(u8); +void sub_80930E0(s16 *, s16 *, s16, s16); +void FieldObjectClearAnim(struct MapObject *); +void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *); +void SpawnFieldObjectsInView(s16, s16); +u8 sprite_new(u8, u8, s16, s16, u8, u8); +u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8); +u8 show_sprite(u8, u8, u8); +u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8); +u8 SpawnSpecialFieldObject(struct MapObjectTemplate *); +void sub_8093038(s16, s16, s16 *, s16 *); +void CameraObjectReset1(void); +void FieldObjectSetGraphicsId(struct MapObject *, u8); +void FieldObjectTurn(struct MapObject *, u8); +void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8); +const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8); +void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); +void gpu_pal_allocator_reset__manage_upper_four(void); +void sub_808E82C(u8, u8, u8, s16, s16); +void sub_808E7E4(u8, u8, u8); +void sub_808E78C(u8, u8, u8, u8); +void sub_808E75C(s16, s16); +void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); +void npc_coords_shift(struct MapObject *, s16, s16); +void sub_808EB08(struct MapObject *, s16, s16); +void sub_808F254(u8, u8, u8); +void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *)); +u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8); +u8 GetOppositeDirection(u8); +u8 GetStepInPlaceDelay4AnimId(u32); +u8 GetStepInPlaceDelay8AnimId(u32); +u8 GetStepInPlaceDelay16AnimId(u32); +u8 GetStepInPlaceDelay32AnimId(u32); +u8 npc_block_way(struct MapObject *, s16, s16, u32); +void MoveCoords(u8, s16 *, s16 *); +bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); +u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); +u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); + +// Exported data declarations + +extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; + +#endif //GUARD_FIELD_MAP_OBJ_H diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h new file mode 100644 index 000000000..ba797ec98 --- /dev/null +++ b/include/field_map_obj_helpers.h @@ -0,0 +1,7 @@ +#ifndef GUARD_FIELDMAPOBJHELP_H +#define GUARD_FIELDMAPOBJHELP_H + +void UnfreezeMapObjects(void); +void sub_8097B78(u8, u8); + +#endif diff --git a/include/field_message_box.h b/include/field_message_box.h new file mode 100644 index 000000000..432c9078b --- /dev/null +++ b/include/field_message_box.h @@ -0,0 +1,10 @@ +#ifndef GUARD_FIELD_MESSAGE_BOX_H +#define GUARD_FIELD_MESSAGE_BOX_H + +bool8 ShowFieldMessage(const u8 *message); +bool8 sub_8098238(const u8 *message); +bool8 ShowFieldAutoScrollMessage(const u8 *message); +void HideFieldMessageBox(void); +bool8 IsFieldMessageBoxHidden(void); + +#endif // GUARD_FIELD_MESSAGE_BOX_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h new file mode 100644 index 000000000..25b7f2d71 --- /dev/null +++ b/include/field_player_avatar.h @@ -0,0 +1,16 @@ +#ifndef GUARD_FIELD_PLAYER_AVATAR_H +#define GUARD_FIELD_PLAYER_AVATAR_H + +void ClearPlayerAvatarInfo(void); +void SetPlayerAvatarExtraStateTransition(u8, u8); +u8 GetPlayerAvatarGenderByGraphicsId(u8); +bool8 TestPlayerAvatarFlags(u8); +void PlayerGetDestCoords(s16 *, s16 *); +u8 player_get_direction_lower_nybble(void); +u8 player_get_direction_upper_nybble(void); +u8 player_get_x22(void); + +void sub_808D074(u8); +void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); + +#endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h new file mode 100644 index 000000000..d1a4c823b --- /dev/null +++ b/include/field_poison.h @@ -0,0 +1,19 @@ +#ifndef GUARD_FIELD_POISON_H +#define GUARD_FIELD_POISON_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +enum { + FLDPSN_NONE, + FLDPSN_PSN, + FLDPSN_FNT +}; + +void sub_80F972C(void); +unsigned int overworld_poison(void); + +#endif //GUARD_FIELD_POISON_H diff --git a/include/field_screen.h b/include/field_screen.h new file mode 100644 index 000000000..cfc0d081f --- /dev/null +++ b/include/field_screen.h @@ -0,0 +1,14 @@ +#ifndef GUARD_FIELD_SCREEN_H +#define GUARD_FIELD_SCREEN_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void pal_fill_black(void); +bool8 sub_80ABDFC(void); +void sub_80AF168(void); +void UpdateWeatherPerDay(u16 days); + +#endif //GUARD_FIELD_SCREEN_H diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h new file mode 100644 index 000000000..ef81c2f9e --- /dev/null +++ b/include/field_screen_effect.h @@ -0,0 +1,8 @@ +#ifndef GUARD_FIELD_SCREEN_EFFECT_H +#define GUARD_FIELD_SCREEN_EFFECT_H + +void sub_80AF79C(void); +void sub_80B009C(u8); +void sub_80B0244(void); + +#endif // GUARD_FIELD_SCREEN_EFFECT_H diff --git a/include/field_specials.h b/include/field_specials.h new file mode 100644 index 000000000..1f8fbf147 --- /dev/null +++ b/include/field_specials.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_SPECIALS_H +#define GUARD_FIELD_SPECIALS_H + +u8 GetLeadMonIndex(void); + +#endif // GUARD_FIELD_SPECIALS_H diff --git a/include/field_tasks.h b/include/field_tasks.h new file mode 100644 index 000000000..2a2a772d8 --- /dev/null +++ b/include/field_tasks.h @@ -0,0 +1,6 @@ +#ifndef GUARD_FIELD_TASKS_H +#define GUARD_FIELD_TASKS_H + +void ActivatePerStepCallback(u8); + +#endif // GUARD_FIELD_TASKS_H diff --git a/include/field_weather.h b/include/field_weather.h new file mode 100644 index 000000000..e12107e70 --- /dev/null +++ b/include/field_weather.h @@ -0,0 +1,12 @@ +#ifndef GUARD_WEATHER_H +#define GUARD_WEATHER_H + +void fade_screen(u8, s8); + +void SetSav1Weather(u32); +u8 GetSav1Weather(void); +void sub_80AEDBC(void); + +void DoCurrentWeather(void); + +#endif // GUARD_WEATHER_H diff --git a/include/fieldmap.h b/include/fieldmap.h new file mode 100644 index 000000000..06cb7cc77 --- /dev/null +++ b/include/fieldmap.h @@ -0,0 +1,19 @@ +#ifndef GUARD_FIELDMAP_H +#define GUARD_FIELDMAP_H + +extern struct MapCoords { + int width; + int height; +} gUnknown_03005DC0; + +u32 MapGridGetMetatileIdAt(int, int); +u32 MapGridGetMetatileBehaviorAt(int, int); +void MapGridSetMetatileIdAt(int, int, u16); +void MapGridSetMetatileEntryAt(int, int, u16); +void GetCameraCoords(u16*, u16*); +bool8 MapGridIsImpassableAt(s16, s16); +s32 GetMapBorderIdAt(s16, s16); +bool32 CanCameraMoveInDirection(u8); +u16 GetBehaviorByMetatileId(u16 metatileId); + +#endif //GUARD_FIELDMAP_H diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h new file mode 100644 index 000000000..d57665c68 --- /dev/null +++ b/include/fldeff_80F9BCC.h @@ -0,0 +1,14 @@ +#ifndef GUARD_FLDEFF_80F9BCC_H +#define GUARD_FLDEFF_80F9BCC_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_80FA5E4(s16 id, s16 x, s16 y); +void sub_80FA794(s16 x, s16 y); +void overworld_poison_effect(void); + +#endif //GUARD_FLDEFF_80F9BCC_H diff --git a/include/gba/gba.h b/include/gba/gba.h index 42ae3cdde..7e58efb9f 100644 --- a/include/gba/gba.h +++ b/include/gba/gba.h @@ -1,11 +1,12 @@ #ifndef GUARD_GBA_GBA_H #define GUARD_GBA_GBA_H -#include "gba/defines.h" -#include "gba/io_reg.h" -#include "gba/types.h" -#include "gba/multiboot.h" -#include "gba/syscall.h" -#include "gba/macro.h" +#include "defines.h" +#include "io_reg.h" +#include "types.h" +#include "multiboot.h" +#include "syscall.h" +#include "macro.h" +#include "isagbprint.h" #endif // GUARD_GBA_GBA_H diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h new file mode 100644 index 000000000..ce547928c --- /dev/null +++ b/include/gba/isagbprint.h @@ -0,0 +1,36 @@ +#ifndef GUARD_GBA_ISAGBPRINT_H +#define GUARD_GBA_ISAGBPRINT_H + +#ifdef NDEBUG +#define AGBPrintInit() +#define AGBPutc(cChr) +#define AGBPrint(pBuf) +#define AGBPrintf(pBuf, ...) +#define AGBPrintFlush1Block() +#define AGBPrintFlush() +#define AGBAssert(pFile, nLine, pExpression, nStopProgram) +#else +void AGBPrintInit(void); +void AGBPutc(const char cChr); +void AGBPrint(const char *pBuf); +void AGBPrintf(const char *pBuf, ...); +void AGBPrintFlush1Block(void); +void AGBPrintFlush(void); +void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram); +#endif + +#undef AGB_ASSERT +#ifdef NDEBUG +#define AGB_ASSERT(exp) +#else +#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1); +#endif + +#undef AGB_WARNING +#ifdef NDEBUG +#define AGB_WARNING(exp) +#else +#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0); +#endif + +#endif // GUARD_GBA_ISAGBPRINT_H diff --git a/include/global.berry.h b/include/global.berry.h new file mode 100644 index 000000000..5c8a43a02 --- /dev/null +++ b/include/global.berry.h @@ -0,0 +1,76 @@ +#ifndef GUARD_GLOBAL_BERRY_H +#define GUARD_GLOBAL_BERRY_H + +#define BERRY_NAME_COUNT 7 +#define BERRY_ITEM_EFFECT_COUNT 18 + +struct Berry +{ + const u8 name[BERRY_NAME_COUNT]; + u8 firmness; + u16 size; + u8 maxYield; + u8 minYield; + const u8 *description1; + const u8 *description2; + u8 stageDuration; + u8 spicy; + u8 dry; + u8 sweet; + u8 bitter; + u8 sour; + u8 smoothness; +}; + +// with no const fields + +struct Berry2 +{ + u8 name[BERRY_NAME_COUNT]; + u8 firmness; + u16 size; + u8 maxYield; + u8 minYield; + u8 *description1; + u8 *description2; + u8 stageDuration; + u8 spicy; + u8 dry; + u8 sweet; + u8 bitter; + u8 sour; + u8 smoothness; +}; + +struct EnigmaBerry +{ + struct Berry2 berry; + u8 itemEffect[BERRY_ITEM_EFFECT_COUNT]; + u8 holdEffect; + u8 holdEffectParam; + u32 checksum; +}; + +struct BattleEnigmaBerry +{ + /*0x00*/ u8 name[BERRY_NAME_COUNT]; + /*0x07*/ u8 holdEffect; + /*0x08*/ u8 itemEffect[BERRY_ITEM_EFFECT_COUNT]; + /*0x1A*/ u8 holdEffectParam; +}; + +struct BerryTree +{ + u8 berry; + u8 stage:7; + u8 growthSparkle:1; + u16 minutesUntilNextStage; + u8 berryYield; + u8 regrowthCount:4; + u8 watered1:1; + u8 watered2:1; + u8 watered3:1; + u8 watered4:1; +}; + +#endif // GUARD_GLOBAL_BERRY_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h new file mode 100644 index 000000000..ed5054b7d --- /dev/null +++ b/include/global.fieldmap.h @@ -0,0 +1,336 @@ +#ifndef GUARD_GLOBAL_FIELDMAP_H +#define GUARD_GLOBAL_FIELDMAP_H + +#define NUM_FIELD_OBJECTS 16 + +enum +{ + CONNECTION_SOUTH = 1, + CONNECTION_NORTH, + CONNECTION_WEST, + CONNECTION_EAST, + CONNECTION_DIVE, + CONNECTION_EMERGE +}; + +// map types +enum +{ + MAP_TYPE_0, + MAP_TYPE_TOWN, + MAP_TYPE_CITY, + MAP_TYPE_ROUTE, + MAP_TYPE_UNDERGROUND, + MAP_TYPE_UNDERWATER, + MAP_TYPE_6, + MAP_TYPE_7, + MAP_TYPE_INDOOR, + MAP_TYPE_SECRET_BASE +}; + +// map battle scenes +enum +{ + MAP_BATTLE_SCENE_NORMAL, // 0 + MAP_BATTLE_SCENE_GYM, // 1 + MAP_BATTLE_SCENE_MAGMA, // 2 + MAP_BATTLE_SCENE_AQUA, // 3 + MAP_BATTLE_SCENE_SIDNEY, // 4 + MAP_BATTLE_SCENE_PHOEBE, // 5 + MAP_BATTLE_SCENE_GLACIA, // 6 + MAP_BATTLE_SCENE_DRAKE, // 7 + MAP_BATTLE_SCENE_BATTLE_TOWER, // 8 +}; + +typedef void (*TilesetCB)(void); + +struct Tileset +{ + /*0x00*/ bool8 isCompressed; + /*0x01*/ bool8 isSecondary; + /*0x04*/ void *tiles; + /*0x08*/ void *palettes; + /*0x0c*/ void *metatiles; + /*0x10*/ void *metatileAttributes; + /*0x14*/ TilesetCB callback; +}; + +struct MapData +{ + /*0x00*/ s32 width; + /*0x04*/ s32 height; + /*0x08*/ u16 *border; + /*0x0c*/ u16 *map; + /*0x10*/ struct Tileset *primaryTileset; + /*0x14*/ struct Tileset *secondaryTileset; +}; + +struct BackupMapData +{ + s32 width; + s32 height; + u16 *map; +}; + +struct MapObjectTemplate +{ + /*0x00*/ u8 localId; + /*0x01*/ u8 graphicsId; + /*0x02*/ u8 unk2; + /*0x04*/ s16 x; + /*0x06*/ s16 y; + /*0x08*/ u8 elevation; + /*0x09*/ u8 movementType; + /*0x0A*/ u8 unkA_0:4; + u8 unkA_4:4; + ///*0x0B*/ u8 fillerB[1]; + /*0x0C*/ u16 unkC; + /*0x0E*/ u16 unkE; + /*0x10*/ const u8 *script; + /*0x14*/ u16 flagId; + /*0x16*/ u8 filler_16[2]; +}; /*size = 0x18*/ + +struct WarpEvent +{ + s16 x, y; + s8 warpId; + u8 mapGroup; + u8 mapNum; + u8 unk7; +}; + +struct CoordEvent +{ + s16 x, y; + u8 unk4; + u8 filler_5; + u16 trigger; + u16 index; + u8 filler_A[0x2]; + u8 *script; +}; + +struct BgEvent +{ + u16 x, y; + u8 unk4; + u8 kind; + // 0x2 padding for the union beginning. + union { // carried over from diego's FR/LG work, seems to be the same struct + // in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union. + u8 *script; + + // hidden item type probably + struct { + u8 filler6[0x2]; + u16 hiddenItemId; // flag offset to determine flag lookup + } hiddenItem; + + // secret base type + u32 secretBaseId; + + } bgUnion; +}; + +struct MapEvents +{ + u8 mapObjectCount; + u8 warpCount; + u8 coordEventCount; + u8 bgEventCount; + + struct MapObjectTemplate *mapObjects; + struct WarpEvent *warps; + struct CoordEvent *coordEvents; + struct BgEvent *bgEvents; +}; + +struct MapConnection +{ + /*0x00*/ u8 direction; + /*0x01*/ u32 offset; + /*0x05*/ u8 mapGroup; + /*0x06*/ u8 mapNum; +}; + +struct MapConnections +{ + s32 count; + struct MapConnection *connections; +}; + +struct MapHeader +{ + /* 0x00 */ struct MapData *mapData; + /* 0x04 */ struct MapEvents *events; + /* 0x08 */ u8 *mapScripts; + /* 0x0C */ struct MapConnections *connections; + /* 0x10 */ u16 music; + /* 0x12 */ u16 mapDataId; + /* 0x14 */ u8 regionMapSectionId; + /* 0x15 */ u8 cave; + /* 0x16 */ u8 weather; + /* 0x17 */ u8 mapType; + /* 0x18 */ u8 filler_18; + /* 0x19 */ u8 escapeRope; + /* 0x1A */ u8 flags; + /* 0x1B */ u8 battleType; +}; + +struct MapObject +{ + /*0x00*/ u32 active:1; + u32 mapobj_bit_1:1; + u32 mapobj_bit_2:1; + u32 mapobj_bit_3:1; + u32 mapobj_bit_4:1; + u32 mapobj_bit_5:1; + u32 mapobj_bit_6:1; + u32 mapobj_bit_7:1; + /*0x01*/ u32 mapobj_bit_8:1; + u32 mapobj_bit_9:1; + u32 mapobj_bit_10:1; + u32 mapobj_bit_11:1; + u32 mapobj_bit_12:1; + u32 mapobj_bit_13:1; + u32 mapobj_bit_14:1; + u32 mapobj_bit_15:1; + /*0x02*/ u32 mapobj_bit_16:1; + u32 mapobj_bit_17:1; + u32 mapobj_bit_18:1; + u32 mapobj_bit_19:1; + u32 mapobj_bit_20:1; + u32 mapobj_bit_21:1; + u32 mapobj_bit_22:1; + u32 mapobj_bit_23:1; + /*0x03*/ u32 mapobj_bit_24:1; + u32 mapobj_bit_25:1; + u32 mapobj_bit_26:1; + u32 mapobj_bit_27:1; + u32 mapobj_bit_28:1; + u32 mapobj_bit_29:1; + u32 mapobj_bit_30:1; + u32 mapobj_bit_31:1; + /*0x04*/ u8 spriteId; + /*0x05*/ u8 graphicsId; + /*0x06*/ u8 animPattern; + /*0x07*/ u8 trainerType; + /*0x08*/ u8 localId; + /*0x09*/ u8 mapNum; + /*0x0A*/ u8 mapGroup; + /*0x0B*/ u8 mapobj_unk_0B_0:4; + u8 elevation:4; + /*0x0C*/ struct Coords16 coords1; + /*0x10*/ struct Coords16 coords2; + /*0x14*/ struct Coords16 coords3; + /*0x18*/ u8 mapobj_unk_18:4; //current direction? + /*0x18*/ u8 placeholder18:4; + /*0x19*/ union __attribute__((packed)) { + u8 as_byte; + struct __attribute__((packed)) { + u8 x:4; + u8 y:4; + } __attribute__((aligned (1))) as_nybbles; + } __attribute__((aligned (1))) range; + /*0x1A*/ u8 mapobj_unk_1A; + /*0x1B*/ u8 mapobj_unk_1B; + /*0x1C*/ u8 mapobj_unk_1C; + /*0x1D*/ u8 trainerRange_berryTreeId; + /*0x1E*/ u8 mapobj_unk_1E; + /*0x1F*/ u8 mapobj_unk_1F; + /*0x20*/ u8 mapobj_unk_20; + /*0x21*/ u8 mapobj_unk_21; + /*0x22*/ u8 animId; + /*size = 0x24*/ +}; + +struct MapObjectGraphicsInfo +{ + /*0x00*/ u16 tileTag; + /*0x02*/ u16 paletteTag1; + /*0x04*/ u16 paletteTag2; + /*0x06*/ u16 size; + /*0x08*/ s16 width; + /*0x0A*/ s16 height; + /*0x0C*/ u8 paletteSlot:4; + u8 shadowSize:2; + u8 inanimate:1; + u8 disableReflectionPaletteLoad:1; + /*0x0D*/ u8 tracks; + /*0x10*/ const struct OamData *oam; + /*0x14*/ const struct SubspriteTable *subspriteTables; + /*0x18*/ const union AnimCmd *const *anims; + /*0x1C*/ const struct SpriteFrameImage *images; + /*0x20*/ const union AffineAnimCmd *const *affineAnims; +}; + +#define PLAYER_AVATAR_FLAG_ON_FOOT (1 << 0) +#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1) +#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2) +#define PLAYER_AVATAR_FLAG_SURFING (1 << 3) +#define PLAYER_AVATAR_FLAG_4 (1 << 4) +#define PLAYER_AVATAR_FLAG_5 (1 << 5) +#define PLAYER_AVATAR_FLAG_6 (1 << 6) +#define PLAYER_AVATAR_FLAG_DASH (1 << 7) + +enum +{ + ACRO_BIKE_NORMAL, + ACRO_BIKE_TURNING, + ACRO_BIKE_WHEELIE_STANDING, + ACRO_BIKE_BUNNY_HOP, + ACRO_BIKE_WHEELIE_MOVING, + ACRO_BIKE_STATE5, + ACRO_BIKE_STATE6, +}; + +enum +{ + DIR_NONE, + DIR_SOUTH, + DIR_NORTH, + DIR_WEST, + DIR_EAST, +}; + +enum +{ + COLLISION_LEDGE_JUMP = 6 +}; + +struct PlayerAvatar /* 0x202E858 */ +{ + /*0x00*/ u8 flags; + /*0x01*/ u8 bike; + /*0x02*/ u8 running2; + /*0x03*/ u8 running1; + /*0x04*/ u8 spriteId; + /*0x05*/ u8 mapObjectId; + /*0x06*/ u8 unk6; + /*0x07*/ u8 gender; + u8 acroBikeState; + u8 unk9; + u8 bikeFrameCounter; + u8 unkB; + u32 unkC; + u32 unk10; + u8 unk14[8]; + u8 unk1C[8]; + // TODO: rest of struct +}; + +struct Camera +{ + bool8 active:1; + s32 x; + s32 y; +}; + +extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS]; +extern u8 gSelectedMapObject; +extern struct MapHeader gMapHeader; +extern struct PlayerAvatar gPlayerAvatar; +extern struct Camera gCamera; + +#endif // GUARD_GLOBAL_FIELDMAP_H diff --git a/include/global.h b/include/global.h new file mode 100644 index 000000000..d864a6ab7 --- /dev/null +++ b/include/global.h @@ -0,0 +1,620 @@ +#ifndef GUARD_GLOBAL_H +#define GUARD_GLOBAL_H + +#include "gba/gba.h" +#include "config.h" + +// Prevent cross-jump optimization. +#define BLOCK_CROSS_JUMP asm(""); + +// to help in decompiling +#define asm_comment(x) asm volatile("@ -- " x " -- ") +#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") + +#if defined (__APPLE__) || defined (__CYGWIN__) +void *memset(void *, int, size_t); +void *memcpy(void *, const void *, size_t); +int strcmp(const char *s1, const char *s2); +char* strcpy(char *dst0, const char *src0); +#endif // __APPLE__ + +#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) + +// useful math macros + +// Converts a number to Q8.8 fixed-point format +#define Q_8_8(n) ((s16)((n) * 256)) + +// Converts a number to Q4.12 fixed-point format +#define Q_4_12(n) ((s16)((n) * 4096)) + +#define POKEMON_NAME_LENGTH 10 +#define OT_NAME_LENGTH 7 + +extern u8 gStringVar1[]; +extern u8 gStringVar2[]; +extern u8 gStringVar3[]; +extern u8 gStringVar4[]; + +enum +{ + VERSION_SAPPHIRE = 1, + VERSION_RUBY = 2, + VERSION_EMERALD = 3, + VERSION_FIRE_RED = 4, + VERSION_LEAF_GREEN = 5, +}; + +enum LanguageId { + LANGUAGE_JAPANESE = 1, + LANGUAGE_ENGLISH = 2, + LANGUAGE_FRENCH = 3, + LANGUAGE_ITALIAN = 4, + LANGUAGE_GERMAN = 5, + // 6 goes unused but the theory is it was meant to be Korean + LANGUAGE_SPANISH = 7, +}; + +#define GAME_LANGUAGE (LANGUAGE_ENGLISH) + +enum +{ + MALE, + FEMALE +}; + +enum +{ + OPTIONS_BUTTON_MODE_NORMAL, + OPTIONS_BUTTON_MODE_LR, + OPTIONS_BUTTON_MODE_L_EQUALS_A +}; + +enum +{ + OPTIONS_TEXT_SPEED_SLOW, + OPTIONS_TEXT_SPEED_MID, + OPTIONS_TEXT_SPEED_FAST +}; + +enum +{ + OPTIONS_SOUND_MONO, + OPTIONS_SOUND_STEREO +}; + +enum +{ + OPTIONS_BATTLE_STYLE_SHIFT, + OPTIONS_BATTLE_STYLE_SET +}; + +enum +{ + BAG_ITEMS = 1, + BAG_POKEBALLS, + BAG_TMsHMs, + BAG_BERRIES, + BAG_KEYITEMS +}; + +struct Coords16 +{ + s16 x; + s16 y; +}; + +struct UCoords16 +{ + u16 x; + u16 y; +}; + +struct Time +{ + /*0x00*/ s16 days; + /*0x02*/ s8 hours; + /*0x03*/ s8 minutes; + /*0x04*/ s8 seconds; +}; + +struct Pokedex +{ + /*0x00*/ u8 order; + /*0x01*/ u8 unknown1; + /*0x02*/ u8 nationalMagic; // must equal 0xDA in order to have National mode + /*0x03*/ u8 unknown2; + /*0x04*/ u32 unownPersonality; // set when you first see Unown + /*0x08*/ u32 spindaPersonality; // set when you first see Spinda + /*0x0C*/ u32 unknown3; + /*0x10*/ u8 owned[52]; + /*0x44*/ u8 seen[52]; +}; + +struct PokemonJumpResults // possibly used in the game itself? +{ + u16 jumpsInRow; + u16 field2; + u16 excellentsInRow; + u16 field6; + u16 field8; + u16 fieldA; + u32 bestJumpScore; +}; + +struct BerryPickingResults // possibly used in the game itself? Size may be wrong as well +{ + u32 bestScore; + u16 berriesPicked; + u16 berriesPickedInRow; + u8 field_8; + u8 field_9; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 field_E; + u8 field_F; +}; + +struct PyramidBag +{ + u16 items_Lvl50[10]; + u16 items_OpenLvl[10]; + u8 quantity[10]; +}; + +struct BerryCrush +{ + u16 berryCrushResults[4]; + u32 berryPowderAmount; + u32 unk; +}; + +#define PLAYER_NAME_LENGTH 8 + +struct UnknownSaveBlock2Struct +{ + u8 field_0; + u8 field_1; + u8 field_2[2]; + u8 field_4[8]; + u8 field_C[16]; + u16 field_1C[6]; + u16 field_28[6]; + u8 field_34[176]; + u8 field_E4; + u8 field_E5; + u8 field_E6; + u8 field_E7; + u8 field_E8; + u8 field_E9; + u8 field_EA; + u8 field_EB; +}; // sizeof = 0xEC + +struct SaveBlock2 +{ + /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; + /*0x008*/ u8 playerGender; // MALE, FEMALE + /*0x009*/ u8 specialSaveWarp; + /*0x00A*/ u8 playerTrainerId[4]; + /*0x00E*/ u16 playTimeHours; + /*0x010*/ u8 playTimeMinutes; + /*0x011*/ u8 playTimeSeconds; + /*0x012*/ u8 playTimeVBlanks; + /*0x013*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A] + /*0x014*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST] + u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes + u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO] + u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET] + u16 optionsBattleSceneOff:1; // whether battle animations are disabled + u16 regionMapZoom:1; // whether the map is zoomed in + /*0x018*/ struct Pokedex pokedex; + /*0x090*/ u8 filler_90[0x8]; + /*0x098*/ struct Time localTimeOffset; + /*0x0A0*/ struct Time lastBerryTreeUpdate; + /*0x0A8*/ u32 field_A8; + /*0x0AC*/ u8 filler_AC[0xE74]; + /*0xF20*/ u32 encryptionKey; +}; + +extern struct SaveBlock2 *gSaveBlock2Ptr; + +struct SecretBaseRecord +{ + /*0x1A9C*/ u8 secretBaseId; + /*0x1A9D*/ u8 sbr_field_1_0:4; + /*0x1A9D*/ u8 gender:1; + /*0x1A9D*/ u8 sbr_field_1_5:1; + /*0x1A9D*/ u8 sbr_field_1_6:2; + /*0x1A9E*/ u8 trainerName[OT_NAME_LENGTH]; + /*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class + /*0x1AA9*/ u8 language; + /*0x1AAA*/ u16 sbr_field_e; + /*0x1AAC*/ u8 sbr_field_10; + /*0x1AAD*/ u8 sbr_field_11; + /*0x1AAE*/ u8 decorations[16]; + /*0x1ABE*/ u8 decorationPos[16]; + /*0x1AD0*/ u32 partyPersonality[6]; + /*0x1AE8*/ u16 partyMoves[6 * 4]; + /*0x1B18*/ u16 partySpecies[6]; + /*0x1B24*/ u16 partyHeldItems[6]; + /*0x1B2E*/ u8 partyLevels[6]; + /*0x1B34*/ u8 partyEVs[6]; +}; + +#include "constants/game_stat.h" +#include "global.fieldmap.h" +#include "global.berry.h" +#include "pokemon.h" + +struct WarpData +{ + s8 mapGroup; + s8 mapNum; + s8 warpId; + s16 x, y; +}; + +struct ItemSlot +{ + u16 itemId; + u16 quantity; +}; + +struct Pokeblock +{ + u8 color; + u8 spicy; + u8 dry; + u8 sweet; + u8 bitter; + u8 sour; + u8 feel; +}; + +struct Roamer +{ + /*0x00*/ u32 ivs; + /*0x04*/ u32 personality; + /*0x08*/ u16 species; + /*0x0A*/ u16 hp; + /*0x0C*/ u8 level; + /*0x0D*/ u8 status; + /*0x0E*/ u8 cool; + /*0x0F*/ u8 beauty; + /*0x10*/ u8 cute; + /*0x11*/ u8 smart; + /*0x12*/ u8 tough; + /*0x13*/ bool8 active; + /*0x14*/ u8 filler[0x8]; +}; + +struct RamScriptData +{ + u8 magic; + u8 mapGroup; + u8 mapNum; + u8 objectId; + u8 script[995]; +}; + +struct RamScript +{ + u32 checksum; + struct RamScriptData data; +}; + +struct EasyChatPair +{ + u16 unk0_0:7; + u16 unk0_7:7; + u16 unk1_6:1; + u16 unk2; + u16 words[2]; +}; /*size = 0x8*/ + +struct MailStruct +{ + /*0x00*/ u16 words[9]; + /*0x12*/ u8 playerName[8]; + /*0x1A*/ u8 trainerId[4]; + /*0x1E*/ u16 species; + /*0x20*/ u16 itemId; +}; + +struct UnkMauvilleOldManStruct +{ + u8 unk_2D94; + u8 unk_2D95; + /*0x2D96*/ u16 mauvilleOldMan_ecArray[6]; + /*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6]; + /*0x2DAE*/ u8 playerName[8]; + /*0x2DB6*/ u8 filler_2DB6[0x3]; + /*0x2DB9*/ u8 playerTrainerId[4]; + u8 unk_2DBD; +}; /*size = 0x2C*/ + +struct UnkMauvilleOldManStruct2 +{ + u8 filler0; + u8 unk1; + u8 unk2; + u16 mauvilleOldMan_ecArray[10]; + u8 mauvilleOldMan_ecArray2[12]; + u8 fillerF[0x2]; +}; /*size = 0x2C*/ + +struct MauvilleOldManTrader +{ + u8 unk0; + u8 unk1[4]; + u8 unk5[4][11]; + u8 unk31; +}; + +typedef union OldMan +{ + struct UnkMauvilleOldManStruct oldMan1; + struct UnkMauvilleOldManStruct2 oldMan2; + struct MauvilleOldManTrader trader; + u8 filler[0x40]; +} OldMan; + +struct RecordMixing_UnknownStructSub +{ + u32 unk0; + u8 data[0x34]; + //u8 data[0x38]; +}; + +struct RecordMixing_UnknownStruct +{ + struct RecordMixing_UnknownStructSub data[2]; + u32 unk70; + u16 unk74[0x2]; +}; + +struct LinkBattleRecord +{ + u8 name[8]; + u16 trainerId; + u16 wins; + u16 losses; + u16 draws; +}; + +struct RecordMixingGiftData +{ + u8 unk0; + u8 quantity; + u16 itemId; + u8 filler4[8]; +}; + +struct RecordMixingGift +{ + int checksum; + struct RecordMixingGiftData data; +}; + +struct ContestWinner +{ + u32 personality; + u32 trainerId; + u16 species; + u8 contestCategory; + u8 monName[11]; + u8 trainerName[8]; + u8 contestRank; +}; + +struct DaycareMiscMon +{ + struct MailStruct mail; + u8 OT_name[OT_NAME_LENGTH + 1]; + u8 monName[POKEMON_NAME_LENGTH + 1]; + u8 gameLanguage:4; + u8 monLanguage:4; +}; + +struct DaycareMon +{ + struct BoxPokemon mon; + struct DaycareMiscMon misc; + u32 steps; +}; + +#define DAYCARE_MON_COUNT 2 + +struct DayCare +{ + struct DaycareMon mons[DAYCARE_MON_COUNT]; + u32 offspringPersonality; + u8 stepCounter; +}; + +struct DayCareMail +{ + /*0x00*/ struct MailStruct message; + /*0x24*/ u8 names[19]; +}; + +struct RecordMixingDayCareMail +{ + struct DayCareMail mail[DAYCARE_MON_COUNT]; + u32 numDaycareMons; + bool16 holdsItem[DAYCARE_MON_COUNT]; +}; + +#define MAP_OBJECTS_COUNT 16 +#define BERRY_TREES_COUNT 128 +#define FLAGS_COUNT 300 +#define VARS_COUNT 256 +#define MAIL_COUNT 16 + +enum +{ + LILYCOVE_LADY_QUIZ, + LILYCOVE_LADY_FAVOUR, + LILYCOVE_LADY_CONTEST +}; + +struct LilycoveLadyQuiz +{ + /*0x000*/ u8 id; + /*0x001*/ u8 phase; + /*0x002*/ u16 unk_002[9]; + /*0x014*/ u16 unk_014; + /*0x016*/ u16 unk_016; + /*0x018*/ u8 playerName[8]; + /*0x020*/ u16 playerTrainerId[4]; + /*0x028*/ u16 itemId; + /*0x02a*/ u8 unk_02a; + /*0x02b*/ u8 unk_02b; + /*0x02c*/ u8 unk_02c; + /*0x02d*/ u8 language; +}; + +struct LilycoveLadyFavour +{ + /*0x000*/ u8 id; + /*0x001*/ u8 phase; + /*0x002*/ u8 unk_002; + /*0x003*/ u8 unk_003; + /*0x004*/ u8 playerName[8]; + /*0x00c*/ u8 unk_00c; + /*0x00e*/ u16 itemId; + /*0x010*/ u16 unk_010; + /*0x012*/ u8 language; +}; + +struct LilycoveLadyContest +{ + /*0x000*/ u8 id; + /*0x001*/ u8 phase; + /*0x002*/ u8 fave_pkblk; + /*0x003*/ u8 other_pkblk; + /*0x004*/ u8 playerName[8]; + /*0x00c*/ u8 max_sheen; + /*0x00d*/ u8 category; + /*0x00e*/ u8 language; +}; + +typedef union // TODO +{ + struct LilycoveLadyQuiz quiz; + struct LilycoveLadyFavour favour; + struct LilycoveLadyContest contest; + u8 id; +} LilycoveLady; + +struct WaldaPhrase +{ + u16 field_0; + u16 field_2; + u8 text[16]; + u8 iconId; + u8 patternId; + bool8 patternUnlocked; +}; + +struct SaveBlock1 +{ + /*0x00*/ struct Coords16 pos; + /*0x04*/ struct WarpData location; + /*0x0C*/ struct WarpData warp1; + /*0x14*/ struct WarpData warp2; + /*0x1C*/ struct WarpData warp3; + /*0x24*/ struct WarpData warp4; + /*0x2C*/ u16 battleMusic; + /*0x2E*/ u8 weather; + /*0x2F*/ u8 filler_2F; + /*0x30*/ u8 flashUsed; + /*0x32*/ u16 mapDataId; + /*0x34*/ u16 mapView[0x100]; + /*0x234*/ u8 playerPartyCount; + /*0x238*/ struct Pokemon playerParty[6]; + /*0x490*/ u32 money; + /*0x494*/ u16 coins; + /*0x496*/ u16 registeredItem; // registered for use with SELECT button + /*0x498*/ struct ItemSlot pcItems[50]; + /*0x560*/ struct ItemSlot bagPocket_Items[30]; + /*0x5D8*/ struct ItemSlot bagPocket_KeyItems[30]; + /*0x650*/ struct ItemSlot bagPocket_PokeBalls[16]; + /*0x690*/ struct ItemSlot bagPocket_TMHM[64]; + /*0x790*/ struct ItemSlot bagPocket_Berries[46]; + /*0x848*/ struct Pokeblock pokeblocks[40]; + /*0x988*/ u8 seen1[52]; + /*0x9BC*/ u16 berryBlenderRecords[3]; + /*0x9C2*/ u8 field_9C2[6]; + /*0x9C8*/ u16 trainerRematchStepCounter; + /*0x9CA*/ u8 trainerRematches[100]; + /*0xA30*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; + /*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64]; + /*0x1270*/ u8 flags[FLAGS_COUNT]; + /*0x139C*/ u16 vars[VARS_COUNT]; + /*0x159C*/ u32 gameStats[NUM_GAME_STATS]; + /*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; + /*0x1A9C*/ struct SecretBaseRecord secretBases[20]; + /*0x271C*/ u8 playerRoomDecor[12]; + /*0x2728*/ u8 playerRoomDecorPos[12]; + /*0x2734*/ u8 decorDesk[10]; + /*0x????*/ u8 decorChair[10]; + /*0x????*/ u8 decorPlant[10]; + /*0x????*/ u8 decorOrnament[30]; + /*0x????*/ u8 decorMat[30]; + /*0x????*/ u8 decorPoster[10]; + /*0x????*/ u8 decorDoll[40]; + /*0x????*/ u8 decorCushion[10]; + /*0x27CA*/ u8 padding_27CA[2]; + /*0x2B90*/ u16 outbreakPokemonSpecies; + /*0x2B92*/ u8 outbreakLocationMapNum; + /*0x2B93*/ u8 outbreakLocationMapGroup; + /*0x2B94*/ u8 outbreakPokemonLevel; + /*0x2B95*/ u8 outbreakUnk1; + /*0x2B96*/ u16 outbreakUnk2; + /*0x2B98*/ u16 outbreakPokemonMoves[4]; + /*0x2BA0*/ u8 outbreakUnk4; + /*0x2BA1*/ u8 outbreakPokemonProbability; + /*0x2BA2*/ u16 outbreakDaysLeft; + /*0x2BB0*/ u16 unk2BB0[6]; + /*0x2BBC*/ u16 unk2BBC[6]; + /*0x2BC8*/ u16 unk2BC8[6]; + /*0x2BD4*/ u16 unk2BD4[6]; + /*0x2BE0*/ struct MailStruct mail[MAIL_COUNT]; + /*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system + /*0x2E25*/ u8 unk2E25[3]; // possibly padding? + /*0x2E28*/ OldMan oldMan; + /*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff + /*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum + /*0x3030*/ struct DayCare daycare; + /*0x3150*/ struct LinkBattleRecord linkBattleRecords[5]; + /*0x31A0*/ u8 unk_31A0; + /*0x31A1*/ u8 filler_31A1[7]; + /*0x31A8*/ u8 giftRibbons[52]; + /*0x31DC*/ struct Roamer roamer; + /*0x31F8*/ struct EnigmaBerry enigmaBerry; + /*0x322C*/ u8 field_322C[1276]; + /*0x3728*/ struct RamScript ramScript; + /*0x3B14*/ struct RecordMixingGift recordMixingGift; + /*0x3B24*/ u8 seen2[52]; + /*0x3B58*/ LilycoveLady lilycoveLady; + /*0x3B88*/ u8 filler_3B88[0x1E8]; + /*0x3D70*/ struct WaldaPhrase waldaPhrase; + // sizeof: 0x3D88 +}; + +extern struct SaveBlock1* gSaveBlock1Ptr; + +struct Bitmap // TODO: Find a better spot for this +{ + u8* pixels; + u32 width:16; + u32 height:16; +}; + +extern u8 gReservedSpritePaletteCount; + +#endif // GUARD_GLOBAL_H diff --git a/include/gpu_regs.h b/include/gpu_regs.h new file mode 100644 index 000000000..89e0cb64b --- /dev/null +++ b/include/gpu_regs.h @@ -0,0 +1,19 @@ +#ifndef GUARD_GPU_REGS_H +#define GUARD_GPU_REGS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void InitGpuRegManager(void); +void CopyBufferedValuesToGpuRegs(void); +void SetGpuReg(u8 regOffset, u16 value); +void SetGpuReg_ForcedBlank(u8 regOffset, u16 value); +u16 GetGpuReg(u8 regOffset); +void SetGpuRegBits(u8 regOffset, u16 mask); +void ClearGpuRegBits(u8 regOffset, u16 mask); +void EnableInterrupts(u16 mask); +void DisableInterrupts(u16 mask); + +#endif //GUARD_GPU_REGS_H diff --git a/include/graphics.h b/include/graphics.h new file mode 100644 index 000000000..aad5c0190 --- /dev/null +++ b/include/graphics.h @@ -0,0 +1,144 @@ +// +// Created by scott on 10/21/2017. +// + +#ifndef GUARD_GRAPHICS_H +#define GUARD_GRAPHICS_H + +extern const u8 gInterfaceGfx_PokeBall[]; +extern const u8 gInterfacePal_PokeBall[]; +extern const u8 gInterfaceGfx_GreatBall[]; +extern const u8 gInterfacePal_GreatBall[]; +extern const u8 gInterfaceGfx_SafariBall[]; +extern const u8 gInterfacePal_SafariBall[]; +extern const u8 gInterfaceGfx_UltraBall[]; +extern const u8 gInterfacePal_UltraBall[]; +extern const u8 gInterfaceGfx_MasterBall[]; +extern const u8 gInterfacePal_MasterBall[]; +extern const u8 gInterfaceGfx_NetBall[]; +extern const u8 gInterfacePal_NetBall[]; +extern const u8 gInterfaceGfx_DiveBall[]; +extern const u8 gInterfacePal_DiveBall[]; +extern const u8 gInterfaceGfx_NestBall[]; +extern const u8 gInterfacePal_NestBall[]; +extern const u8 gInterfaceGfx_RepeatBall[]; +extern const u8 gInterfacePal_RepeatBall[]; +extern const u8 gInterfaceGfx_TimerBall[]; +extern const u8 gInterfacePal_TimerBall[]; +extern const u8 gInterfaceGfx_LuxuryBall[]; +extern const u8 gInterfacePal_LuxuryBall[]; +extern const u8 gInterfaceGfx_PremierBall[]; +extern const u8 gInterfacePal_PremierBall[]; +extern const u8 gOpenPokeballGfx[]; + +extern const u8 gItemIcon_QuestionMark[]; +extern const u8 gItemIconPalette_QuestionMark[]; +extern const u8 gUnknown_08DB7AA0[]; +extern const u8 gUnknown_08DB7B34[]; +extern const u8 gUnknown_08DB7B5C[]; +extern const u8 gUnknown_08DB7BEC[]; +extern const u8 gUnknown_08DB7C08[]; +extern const u8 gUnknown_08DB7CE8[]; +extern const u8 gUnknown_08DB7D08[]; +extern const u8 gUnknown_08DB7DCC[]; +extern const u8 gUnknown_08DB7DF4[]; +extern const u8 gUnknown_08DB7EA0[]; +extern const u8 gUnknown_08DB7EC4[]; +extern const u8 gUnknown_08DB7F60[]; +extern const u8 gUnknown_08DB7F7C[]; +extern const u8 gUnknown_08DB8070[]; +extern const u8 gUnknown_08DB808C[]; +extern const u8 gUnknown_08DB8138[]; +extern const u8 gUnknown_08DB8160[]; +extern const u8 gUnknown_08DB8218[]; +extern const u8 gUnknown_08DB823C[]; +extern const u8 gUnknown_08DB8300[]; +extern const u8 gUnknown_08DB8328[]; +extern const u8 gUnknown_08DB8430[]; +extern const u8 gUnknown_08DB8458[]; +extern const u8 gUnknown_08DB8528[]; +extern const u8 gUnknown_08DB854C[]; +extern const u8 gUnknown_08DB862C[]; +extern const u8 gUnknown_08DB8654[]; +extern const u8 gUnknown_08DB86C4[]; +extern const u8 gUnknown_08DB86E0[]; +extern const u8 gUnknown_08DB8750[]; +extern const u8 gUnknown_08DB876C[]; +extern const u8 gUnknown_08DB87DC[]; +extern const u8 gUnknown_08DB87F8[]; +extern const u8 gUnknown_08DB88D8[]; +extern const u8 gUnknown_08DB8900[]; +extern const u8 gUnknown_08DB89E0[]; +extern const u8 gUnknown_08DB8A08[]; +extern const u8 gUnknown_08DB8A68[]; +extern const u8 gUnknown_08DB8A84[]; +extern const u8 gUnknown_08DB8B40[]; +extern const u8 gUnknown_08DB8B68[]; +extern const u8 gUnknown_08DB8C40[]; +extern const u8 gUnknown_08DB8C5C[]; +extern const u8 gUnknown_08DB8CF4[]; +extern const u8 gUnknown_08DB8D18[]; +extern const u8 gUnknown_08DB8DB0[]; +extern const u8 gUnknown_08DB8DD4[]; +extern const u8 gUnknown_08DB8E80[]; +extern const u8 gUnknown_08DB8EA0[]; +extern const u8 gUnknown_08DB8F58[]; +extern const u8 gUnknown_08DB8F7C[]; +extern const u8 gUnknown_08DB9038[]; +extern const u8 gUnknown_08DB9058[]; +extern const u8 gUnknown_08DB9130[]; +extern const u8 gUnknown_08DB9154[]; +extern const u8 gUnknown_08DB9218[]; +extern const u8 gUnknown_08DB9234[]; +extern const u8 gUnknown_08DB92FC[]; +extern const u8 gUnknown_08DB931C[]; +extern const u8 gUnknown_08DB93E8[]; +extern const u8 gUnknown_08DB940C[]; +extern const u8 gUnknown_08DB94CC[]; +extern const u8 gUnknown_08DB94E8[]; +extern const u8 gUnknown_08DB95AC[]; +extern const u8 gUnknown_08DB95D0[]; +extern const u8 gUnknown_08DB96C4[]; +extern const u8 gUnknown_08DB96EC[]; +extern const u8 gUnknown_08DB97F4[]; +extern const u8 gUnknown_08DB981C[]; +extern const u8 gUnknown_08DB9908[]; +extern const u8 gUnknown_08DB9930[]; +extern const u8 gUnknown_08DB9A54[]; +extern const u8 gUnknown_08DB9A7C[]; +extern const u8 gUnknown_08DB9B7C[]; +extern const u8 gUnknown_08DB9BA4[]; +extern const u8 gUnknown_08DB9CB0[]; +extern const u8 gUnknown_08DB9CD8[]; +extern const u8 gUnknown_08DB9DAC[]; +extern const u8 gUnknown_08DB9DD4[]; +extern const u8 gUnknown_08DB9EE4[]; +extern const u8 gUnknown_08DB9F08[]; +extern const u8 gUnknown_08DB9FFC[]; +extern const u8 gUnknown_08DBA020[]; +extern const u8 gUnknown_08DBA12C[]; +extern const u8 gUnknown_08DCC05C[]; +extern const u16 gUnknown_08DCC01C[]; +extern const u16 gUnknown_08DCC03C[]; +extern const u8 gUnknown_08DCC648[]; +extern const u8 gUnknown_08DCC908[]; +extern const u8 gUnknown_08DD87C0[]; +extern const u8 gUnknown_08DD8EE0[]; +extern const u16 gUnknown_08DD8780[]; +extern const u8 gUnknown_08DD90E0[]; +extern const u8 gUnknown_08DD9718[]; +extern const u16 gUnknown_08DD9080[]; +extern const u8 gUnknown_08DD98B4[]; +extern const u8 gUnknown_08DD9E58[]; +extern const u16 gUnknown_08DD9874[]; +extern const u8 gUnknown_08DDA02C[]; +extern const u8 gUnknown_08DDA63C[]; +extern const u16 gUnknown_08DD9FEC[]; +extern const u8 gUnknown_08DDA840[]; +extern const u8 gUnknown_08DDAE40[]; +extern const u16 gUnknown_08DDA800[]; +extern const u8 gUnknown_08DDB020[]; +extern const u8 gUnknown_08DDB2C4[]; +extern const u16 gUnknown_08DDAFE0[]; + +#endif //GUARD_GRAPHICS_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h new file mode 100644 index 000000000..d35ecf268 --- /dev/null +++ b/include/hall_of_fame.h @@ -0,0 +1,9 @@ +#ifndef GUARD_HALL_OF_FAME_H +#define GUARD_HALL_OF_FAME_H + +void CB2_DoHallOfFameScreen(void); +void CB2_DoHallOfFameScreenDontSaveData(void); +void CB2_DoHallOfFamePC(void); +void sub_8175280(void); + +#endif // GUARD_HALL_OF_FAME_H diff --git a/include/heal_location.h b/include/heal_location.h new file mode 100644 index 000000000..1f966f1ae --- /dev/null +++ b/include/heal_location.h @@ -0,0 +1,25 @@ +#ifndef GUARD_HEAL_LOCATION_H +#define GUARD_HEAL_LOCATION_H + +// Exported type declarations + +struct UnkStruct_0859F534 { + const union AffineAnimCmd *const *const affineAnims; + void (* callback)(struct Sprite *sprite); +}; + +struct HealLocation +{ + s8 group; + s8 map; + u16 x; + u16 y; +}; + +// Exported RAM declarations + +// Exported ROM declarations + +const struct HealLocation *GetHealLocationPointer(u32 loc); + +#endif //GUARD_HEAL_LOCATION_H diff --git a/include/international_string_util.h b/include/international_string_util.h new file mode 100644 index 000000000..e7876162e --- /dev/null +++ b/include/international_string_util.h @@ -0,0 +1,23 @@ +#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H +#define GUARD_INTERNATIONAL_STRING_UTIL_H + +#include "menu.h" + +void sub_81DB52C(const u8 *src); +void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language); +s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth); +s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth); +s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing); +s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing); +s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1); +s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2); +// sub_81DB41C +// CopyMonCategoryText +// sub_81DB494 +// sub_81DB4DC +// sub_81DB554 +// sub_81DB5AC +u32 sub_81DB604(const u8 *); +// sub_81DB620 + +#endif // GUARD_INTERNATIONAL_STRING_UTIL_H diff --git a/include/item.h b/include/item.h new file mode 100644 index 000000000..a136f03ec --- /dev/null +++ b/include/item.h @@ -0,0 +1,64 @@ +#ifndef ITEM_H +#define ITEM_H + +typedef void (*ItemUseFunc)(u8); + +struct Item +{ + u8 name[14]; + u16 itemId; + u16 price; + u8 holdEffect; + u8 holdEffectParam; + const u8 *description; + u8 importance; + u8 unk19; + u8 pocket; + u8 type; + ItemUseFunc fieldUseFunc; + u8 battleUsage; + ItemUseFunc battleUseFunc; + u8 secondaryId; +}; + +struct BagPocket +{ + struct ItemSlot *itemSlots; + u8 capacity; +}; + +extern struct BagPocket gBagPockets[]; + +void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity); +void CopyItemName(u16 itemId, u8 *string); +void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity); +bool8 IsBagPocketNonEmpty(u8 pocket); +bool8 CheckBagHasItem(u16 itemId, u16 count); +bool8 CheckBagHasSpace(u16 itemId, u16 count); +bool8 AddBagItem(u16 itemId, u16 count); +bool8 RemoveBagItem(u16 itemId, u16 count); +u8 GetPocketByItemId(u16 itemId); +void ClearItemSlots(struct ItemSlot *itemSlots, u8 b); +u8 CountUsedPCItemSlots(void); +bool8 CheckPCHasItem(u16 itemId, u16 count); +bool8 AddPCItem(u16 itemId, u16 count); +void RemovePCItem(u8 index, u16 count); +void SwapRegisteredBike(void); +const struct Item *ItemId_GetItem(u16 itemId); +u16 ItemId_GetId(u16 itemId); +u16 ItemId_GetPrice(u16 itemId); +u8 ItemId_GetHoldEffect(u16 itemId); +u8 ItemId_GetHoldEffectParam(u16 itemId); +const u8 *ItemId_GetDescription(u16 itemId); +bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c); +u8 ItemId_GetImportance(u16 itemId); +u8 ItemId_GetUnknownValue(u16 itemId); +u8 ItemId_GetPocket(u16 itemId); +u8 ItemId_GetType(u16 itemId); +ItemUseFunc ItemId_GetFieldFunc(u16 itemId); +u8 ItemId_GetBattleUsage(u16 itemId); +ItemUseFunc ItemId_GetBattleFunc(u16 itemId); +u8 ItemId_GetSecondaryId(u16 itemId); +u16 itemid_get_market_price(u16 itemId); + +#endif // ITEM_H diff --git a/include/item_icon.h b/include/item_icon.h new file mode 100644 index 000000000..a43b72f39 --- /dev/null +++ b/include/item_icon.h @@ -0,0 +1,17 @@ +// +// Created by scott on 10/20/2017. +// + +#ifndef GUARD_ITEM_ICON_H +#define GUARD_ITEM_ICON_H + +extern EWRAM_DATA void *gUnknown_0203CEBC; +extern EWRAM_DATA void *gUnknown_0203CEC0; + +extern const struct SpriteTemplate gUnknown_08614FF4; + +bool8 AllocItemIconTemporaryBuffers(void); +void CopyItemIconPicTo4x4Buffer(void *src, void *dest); +void FreeItemIconTemporaryBuffers(void); + +#endif //GUARD_ITEM_ICON_H diff --git a/include/item_menu.h b/include/item_menu.h new file mode 100644 index 000000000..85655e9d5 --- /dev/null +++ b/include/item_menu.h @@ -0,0 +1,12 @@ +#ifndef GUARD_item_menu_H +#define GUARD_item_menu_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void sub_81AAC50(void); +void sub_81AAC70(void); + +#endif //GUARD_item_menu_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h new file mode 100644 index 000000000..553e7c262 --- /dev/null +++ b/include/item_menu_icons.h @@ -0,0 +1,6 @@ +#ifndef GUARD_ITEM_MENU_ICONS +#define GUARD_ITEM_MENU_ICONS + +u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); + +#endif // GUARD_ITEM_MENU_ICONS diff --git a/include/librfu.h b/include/librfu.h new file mode 100644 index 000000000..dbc8a41a6 --- /dev/null +++ b/include/librfu.h @@ -0,0 +1,108 @@ +#include "main.h" + +enum +{ + RFU_RESET = 0x10, + RFU_LINK_STATUS, + RFU_VERSION_STATUS, + RFU_SYSTEM_STATUS, + RFU_SLOT_STATUS, + RFU_CONFIG_STATUS, + RFU_GAME_CONFIG, + RFU_SYSTEM_CONFIG, + RFU_UNK18, + RFU_SC_START, + RFU_SC_POLLING, + RFU_SC_END, + RFU_SP_START, + RFU_SP_POLLING, + RFU_SP_END, + RFU_CP_START, + RFU_CP_POLLING, + RFU_CP_END, + RFU_UNK22, + RFU_UNK23, + RFU_DATA_TX, + RFU_DATA_TX_AND_CHANGE, + RFU_DATA_RX, + RFU_MS_CHANGE, + RFU_DATA_READY_AND_CHANGE, + RFU_DISCONNECTED_AND_CHANGE, + RFU_UNK2A, + RFU_UNK2B, + RFU_UNK2C, + RFU_UNK2D, + RFU_UNK2E, + RFU_UNK2F, + RFU_DISCONNECT, + RFU_TEST_MODE, + RFU_CPR_START, + RFU_CPR_POLLING, + RFU_CPR_END, + RFU_UNK35, + RFU_UNK36, + RFU_RESUME_RETRANSMIT_AND_CHANGE, + RFU_UNK38, + RFU_UNK39, + RFU_UNK3A, + RFU_UNK3B, + RFU_UNK3C, + RFU_STOP_MODE, //3D +}; + +struct RfuPacket8 +{ + u8 data[0x74]; +}; + +struct RfuPacket32 +{ + u32 command; + u32 data[0x1C]; +}; + +union RfuPacket +{ + struct RfuPacket32 rfuPacket32; + struct RfuPacket8 rfuPacket8; +}; + +struct RfuStruct +{ + vs32 unk_0; + u8 txParams; + u8 unk_5; + u8 activeCommand; + u8 unk_7; + u8 unk_8; + u8 unk_9; + u8 timerSelect; + u8 unk_b; + int timerState; + vu8 timerActive; + u8 unk_11; + vu16 unk_12; + vu8 msMode; + u8 unk_15; + u8 unk_16; + u8 unk_17; + void (*callbackM)(); + void (*callbackS)(); + u32 callbackID; + union RfuPacket *txPacket; + union RfuPacket *rxPacket; + vu8 unk_2c; + u8 padding[3]; +}; + +struct RfuIntrStruct +{ + u8 rxPacketAlloc[0x74]; + u8 txPacketAlloc[0x74]; + u8 block1[0x960]; + u8 block2[0x30]; +}; + +extern struct RfuStruct *gRfuState; + +void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); diff --git a/include/link.h b/include/link.h new file mode 100644 index 000000000..1f91ebfeb --- /dev/null +++ b/include/link.h @@ -0,0 +1,198 @@ +#ifndef GUARD_LINK_H +#define GUARD_LINK_H + +#define MAX_LINK_PLAYERS 4 +#define MAX_RFU_PLAYERS 5 +#define CMD_LENGTH 8 +#define QUEUE_CAPACITY 50 +#define BLOCK_BUFFER_SIZE 0x100 + +#define LINK_STAT_LOCAL_ID 0x00000003 +#define LINK_STAT_PLAYER_COUNT 0x0000001C +#define LINK_STAT_PLAYER_COUNT_SHIFT 2 +#define LINK_STAT_MASTER 0x00000020 +#define LINK_STAT_MASTER_SHIFT 5 +#define LINK_STAT_CONN_ESTABLISHED 0x00000040 +#define LINK_STAT_CONN_ESTABLISHED_SHIFT 6 +#define LINK_STAT_RECEIVED_NOTHING 0x00000100 +#define LINK_STAT_RECEIVED_NOTHING_SHIFT 8 +#define LINK_STAT_ERRORS 0x0007F000 + +#define EXTRACT_PLAYER_COUNT(status) \ +(((status) & LINK_STAT_PLAYER_COUNT) >> LINK_STAT_PLAYER_COUNT_SHIFT) +#define EXTRACT_MASTER(status) \ +(((status) >> LINK_STAT_MASTER_SHIFT) & 1) +#define EXTRACT_CONN_ESTABLISHED(status) \ +(((status) >> LINK_STAT_CONN_ESTABLISHED_SHIFT) & 1) +#define EXTRACT_RECEIVED_NOTHING(status) \ +(((status) >> LINK_STAT_RECEIVED_NOTHING_SHIFT) & 1) + +#define MASTER_HANDSHAKE 0x8FFF +#define SLAVE_HANDSHAKE 0xB9A0 + +enum +{ + LINK_STATE_START0, + LINK_STATE_START1, + LINK_STATE_HANDSHAKE, + LINK_STATE_INIT_TIMER, + LINK_STATE_CONN_ESTABLISHED, +}; + +enum +{ + EXCHANGE_NOT_STARTED, + EXCHANGE_COMPLETE, + EXCHANGE_TIMED_OUT, + EXCHANGE_IN_PROGRESS, +}; + +enum +{ + QUEUE_FULL_NONE, + QUEUE_FULL_SEND, + QUEUE_FULL_RECV, +}; + +enum +{ + LAG_NONE, + LAG_MASTER, + LAG_SLAVE, +}; + +struct LinkPlayer +{ + /* 0x00 */ u16 version; + /* 0x02 */ u16 lp_field_2; + /* 0x04 */ u32 trainerId; + /* 0x08 */ u8 name[11]; + /* 0x13 */ u8 gender; + /* 0x14 */ u32 linkType; + /* 0x18 */ u16 lp_field_18; // battle bank in battles + /* 0x1A */ u16 language; +}; + +struct LinkPlayerBlock +{ + u8 magic1[16]; + struct LinkPlayer linkPlayer; + u8 magic2[16]; +}; + +// circular queues + +struct SendQueue +{ + u16 data[CMD_LENGTH][QUEUE_CAPACITY]; + u8 pos; + u8 count; +}; + +struct RecvQueue +{ + u16 data[MAX_LINK_PLAYERS][CMD_LENGTH][QUEUE_CAPACITY]; + u8 pos; + u8 count; +}; + +struct Link +{ + u8 isMaster; // 0: slave, 8: master + u8 state; + u8 localId; // local multi-player ID + u8 playerCount; + u16 tempRecvBuffer[4]; + bool8 receivedNothing; + s8 serialIntrCounter; + bool8 handshakeAsMaster; + u8 link_field_F; + + // error conditions + bool8 hardwareError; // hardware reported an error + bool8 badChecksum; // checksum didn't match between devices + u8 queueFull; // send or recv queue out of space + u8 lag; // connection is lagging + + u16 checksum; + + u8 sendCmdIndex; + u8 recvCmdIndex; + + struct SendQueue sendQueue; + struct RecvQueue recvQueue; +}; + +struct BlockRequest +{ + void * address; + u32 size; +}; + +extern const struct BlockRequest sBlockRequestLookupTable[5]; + +extern struct Link gLink; +extern u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH]; +extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; +extern u16 gLinkType; +extern u32 gLinkStatus; +extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; +extern u16 gSendCmd[CMD_LENGTH]; +extern u8 gShouldAdvanceLinkState; +extern struct LinkPlayer gLinkPlayers[]; +extern u16 word_3002910[]; +extern bool8 gReceivedRemoteLinkPlayers; +extern bool8 gLinkVSyncDisabled; + +void Task_DestroySelf(u8); +void OpenLink(void); +void CloseLink(void); +u16 LinkMain2(u16 *); +void sub_8007B14(void); +bool32 sub_8007B24(void); +void ClearLinkCallback(void); +void ClearLinkCallback_2(void); +u8 GetLinkPlayerCount(void); +void OpenLinkTimed(void); +u8 GetLinkPlayerDataExchangeStatusTimed(void); +bool8 IsLinkPlayerDataExchangeComplete(void); +u32 GetLinkPlayerTrainerId(u8); +void ResetLinkPlayers(void); +void sub_8007E24(void); +void sub_8007E4C(void); +u8 GetMultiplayerId(void); +u8 bitmask_all_link_players_but_self(void); +bool8 SendBlock(u8, void *, u16); +u8 GetBlockReceivedStatus(void); +void ResetBlockReceivedFlags(void); +void ResetBlockReceivedFlag(u8); +void SetLinkDebugValues(u32, u32); +u8 GetLinkPlayerCount_2(void); +bool8 IsLinkMaster(void); +void CB2_LinkError(void); +u8 GetSioMultiSI(void); +bool8 IsLinkConnectionEstablished(void); +void SetSuppressLinkErrorMessage(bool8); +bool8 HasLinkErrorOccurred(void); +void ResetSerial(void); +u32 LinkMain1(u8 *, u16 *, u16[CMD_LENGTH][MAX_LINK_PLAYERS]); +void RFUVSync(void); +void Timer3Intr(void); +void SerialCB(void); +u8 GetLinkPlayerCount(void); +bool32 InUnionRoom(void); + +void sub_800E0E8(void); +bool8 sub_800A520(void); +bool8 sub_8010500(void); +void sub_800DFB4(u8, u8); +void sub_800ADF8(void); +void sub_800B488(void); +void sub_8009734(void); +void sub_800A620(void); +void sub_8011BD0(void); +u8 sub_800ABAC(void); +u8 sub_800ABBC(void); +void sub_800AC34(void); + +#endif // GUARD_LINK_H diff --git a/include/list_menu.h b/include/list_menu.h new file mode 100644 index 000000000..0249b06af --- /dev/null +++ b/include/list_menu.h @@ -0,0 +1,56 @@ +#ifndef GUARD_LIST_MENU_H +#define GUARD_LIST_MENU_H + +// Exported type declarations + +// Exported RAM declarations + +struct ListMenuItem +{ + const u8 *unk_00; + s32 unk_04; +}; + +struct ListMenu; + +struct ListMenuTemplate +{ + const struct ListMenuItem *items; + void (* unk_04)(u32, bool8, struct ListMenu *); + void (* unk_08)(u8, s32, u8); + u16 totalItems; + u16 maxShowed; + u8 unk_10; + u8 unk_11; + u8 unk_12; + u8 cursor_Y; + u32 upText_Y:4; // x1, x2, x4, x8 = xF + u32 cursorColor:4; // x10, x20, x40, x80 = xF0 + u32 fillColor:4; // x100, x200, x400, x800 = xF00 + u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000 + u32 unk_16_0:1; // x10000 + u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000 + u32 unk_16_7:1; // x800000 + u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000 +}; + +struct ListMenu { + struct ListMenuTemplate _template; + u16 scrollOffset; + u16 selectedRow; + u8 unk_1C; + u8 unk_1D; + u8 unk_1E; + u8 unk_1F; +}; + +extern struct ListMenuTemplate gUnknown_03006310; + +// Exported ROM declarations + +u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); +s32 ListMenuHandleInput(u8 id); +void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); +void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); + +#endif //GUARD_LIST_MENU_H diff --git a/include/load_save.h b/include/load_save.h new file mode 100644 index 000000000..1f406bbad --- /dev/null +++ b/include/load_save.h @@ -0,0 +1,24 @@ +#ifndef GUARD_LOAD_SAVE_H +#define GUARD_LOAD_SAVE_H + +extern bool32 gFlashMemoryPresent; + +void ClearSav2(void); +void ClearSav1(void); +void CheckForFlashMemory(void); +void MoveSaveBlocks_ResetHeap(void); +bool32 GetSecretBase2Field_9(void); +void ClearSecretBase2Field_9(void); +void SetSecretBase2Field_9(void); +void SetSecretBase2Field_9_AndHideBG(void); +void ClearSecretBase2Field_9_2(void); +void SavePlayerParty(void); +void LoadPlayerParty(void); +void SaveSerializedGame(void); +void LoadSerializedGame(void); +void LoadPlayerBag(void); +void SavePlayerBag(void); +void SetSaveBlocksPointers(u16); +void MoveSaveBlocks_ResetHeap(void); + +#endif // GUARD_LOAD_SAVE_H diff --git a/include/m4a.h b/include/m4a.h new file mode 100644 index 000000000..8c3380dd8 --- /dev/null +++ b/include/m4a.h @@ -0,0 +1,20 @@ +#ifndef GUARD_M4A_H +#define GUARD_M4A_H + +#include "gba/m4a_internal.h" + +void m4aSoundVSync(void); +void m4aSoundVSyncOn(void); + +void m4aSoundInit(void); +void m4aSoundMain(void); +void m4aSongNumStart(u16); +void m4aSongNumStop(u16 n); +void m4aMPlayAllStop(void); +void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo); +void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed); +void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo); + +#endif //GUARD_M4A_H diff --git a/include/mail.h b/include/mail.h new file mode 100644 index 000000000..0a70237bf --- /dev/null +++ b/include/mail.h @@ -0,0 +1,23 @@ +#ifndef GUARD_MAIL_H +#define GUARD_MAIL_H + +#define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ + || itemId == ITEM_HARBOR_MAIL \ + || itemId == ITEM_GLITTER_MAIL \ + || itemId == ITEM_MECH_MAIL \ + || itemId == ITEM_WOOD_MAIL \ + || itemId == ITEM_WAVE_MAIL \ + || itemId == ITEM_BEAD_MAIL \ + || itemId == ITEM_SHADOW_MAIL \ + || itemId == ITEM_TROPIC_MAIL \ + || itemId == ITEM_DREAM_MAIL \ + || itemId == ITEM_FAB_MAIL \ + || itemId == ITEM_RETRO_MAIL)) + + +bool8 MonHasMail(struct Pokemon *mon); +void TakeMailFromMon(struct Pokemon *mon); +u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail); +void ClearMailStruct(struct MailStruct *mail); + +#endif // GUARD_MAIL_H diff --git a/include/mail_data.h b/include/mail_data.h new file mode 100644 index 000000000..bf6540bad --- /dev/null +++ b/include/mail_data.h @@ -0,0 +1,12 @@ +#ifndef GUARD_MAIL_DATA_H +#define GUARD_MAIL_DATA_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +u16 sub_80D45E8(u16, u16 *); + +#endif //GUARD_MAIL_DATA_H diff --git a/include/main.h b/include/main.h new file mode 100644 index 000000000..82f85f881 --- /dev/null +++ b/include/main.h @@ -0,0 +1,64 @@ +#ifndef GUARD_MAIN_H +#define GUARD_MAIN_H + +#include "global.h" + +typedef void (*MainCallback)(void); +typedef void (*IntrCallback)(void); +typedef void (*IntrFunc)(void); + +struct Main +{ + /*0x000*/ MainCallback callback1; + /*0x004*/ MainCallback callback2; + + /*0x008*/ MainCallback savedCallback; + + /*0x00C*/ IntrCallback vblankCallback; + /*0x010*/ IntrCallback hblankCallback; + /*0x014*/ IntrCallback vcountCallback; + /*0x018*/ IntrCallback serialCallback; + + /*0x01C*/ vu16 intrCheck; + + /*0x020*/ u32 *vblankCounter1; + /*0x024*/ u32 vblankCounter2; + + /*0x028*/ u16 heldKeysRaw; // held keys without L=A remapping + /*0x02A*/ u16 newKeysRaw; // newly pressed keys without L=A remapping + /*0x02C*/ u16 heldKeys; // held keys with L=A remapping + /*0x02E*/ u16 newKeys; // newly pressed keys with L=A remapping + /*0x030*/ u16 newAndRepeatedKeys; // newly pressed keys plus key repeat + /*0x032*/ u16 keyRepeatCounter; // counts down to 0, triggering key repeat + /*0x034*/ bool16 watchedKeysPressed; // whether one of the watched keys was pressed + /*0x036*/ u16 watchedKeysMask; // bit mask for watched keys + + /*0x038*/ struct OamData oamBuffer[128]; + + /*0x438*/ u8 state; + + /*0x439*/ u8 oamLoadDisabled:1; + /*0x439*/ u8 inBattle:1; + /*0x439*/ u8 field_439_x4:1; +}; + +extern u8 gUnknown_3001764; +extern struct Main gMain; +extern bool8 gSoftResetDisabled; +extern bool8 gLinkVSyncDisabled; + +extern const u8 gGameVersion; +extern const u8 gGameLanguage; + +void AgbMain(void); +void SetMainCallback2(MainCallback callback); +void InitKeys(void); +void SetVBlankCallback(IntrCallback callback); +void SetHBlankCallback(IntrCallback callback); +void SetVCountCallback(IntrCallback callback); +void SetSerialCallback(IntrCallback callback); +void InitFlashTimer(void); +void DoSoftReset(void); +void ClearPokemonCrySongs(void); + +#endif // GUARD_MAIN_H diff --git a/include/malloc.h b/include/malloc.h new file mode 100644 index 000000000..003ee1f03 --- /dev/null +++ b/include/malloc.h @@ -0,0 +1,20 @@ +#ifndef GUARD_MALLOC_H +#define GUARD_MALLOC_H + +#define malloc Alloc +#define calloc(ct, sz) AllocZeroed((ct) * (sz)) +#define free Free + +#define FREE_AND_SET_NULL(ptr) \ +{ \ + free(ptr); \ + ptr = NULL; \ +} + +extern u8 gHeap[]; +void *Alloc(u32 size); +void *AllocZeroed(u32 size); +void Free(void *pointer); +void InitHeap(void *pointer, u32 size); + +#endif // GUARD_MALLOC_H diff --git a/include/map_name_popup.h b/include/map_name_popup.h new file mode 100644 index 000000000..8a9043a3f --- /dev/null +++ b/include/map_name_popup.h @@ -0,0 +1,11 @@ +#ifndef GUARD_MAP_NAME_POPUP_H +#define GUARD_MAP_NAME_POPUP_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +void HideMapNamePopUpWindow(void); + +#endif //GUARD_MAP_NAME_POPUP_H diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h new file mode 100644 index 000000000..27ffd18cb --- /dev/null +++ b/include/map_obj_8097404.h @@ -0,0 +1,32 @@ +// +// Created by scott on 9/7/2017. +// + +#ifndef GUARD_MAP_OBJ_8097404_H +#define GUARD_MAP_OBJ_8097404_H + +// Exported type declarations + +// Exported RAM declarations +extern void *gUnknown_020375B8; + +// Exported ROM declarations +void sub_8097AC8(struct Sprite *); +void npc_sync_anim_pause_bits(struct MapObject *); +void oamt_npc_ministep_reset(struct Sprite *, u8, u8); +u8 sub_8097F78(struct MapObject *); +bool8 obj_npc_ministep(struct Sprite *sprite); +bool8 sub_80976EC(struct Sprite *sprite); +void sub_80976DC(struct Sprite *, u8); +void sub_809783C(struct Sprite *, u8, u8, u8); +void DoShadowFieldEffect(struct MapObject *); +u8 sub_809785C(struct Sprite *); +u8 sub_80978E4(struct Sprite *); +void obj_anim_image_set_and_seek(struct Sprite *, u8, u8); +bool8 sub_80979BC(struct Sprite *); +void sub_8097750(struct Sprite *); +bool8 sub_8097758(struct Sprite *); +void sub_8097FA4(struct MapObject *); +void sub_8098044(u8); + +#endif //GUARD_MAP_OBJ_8097404_H diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h new file mode 100644 index 000000000..a10648f2f --- /dev/null +++ b/include/map_obj_lock.h @@ -0,0 +1,11 @@ +#ifndef GUARD_MAP_OBJ_LOCK_H +#define GUARD_MAP_OBJ_LOCK_H + +bool8 sub_80983C4(void); +void ScriptFreezeMapObjects(void); +bool8 sub_809847C(void); +void LockSelectedMapObject(void); +void sub_8098630(void); +bool8 sub_8098734(void); + +#endif // GUARD_MAP_OBJ_LOCK_H diff --git a/include/menu.h b/include/menu.h new file mode 100644 index 000000000..99ff35adb --- /dev/null +++ b/include/menu.h @@ -0,0 +1,38 @@ +#ifndef GUARD_MENU_H +#define GUARD_MENU_H + +#include "text.h" +#include "window.h" + +struct MenuAction +{ + const u8 *text; + union { + void (*void_u8)(u8); + u8 (*u8_void)(void); + } func; +}; + +void box_print(u8, u8, u8, u8, const void *, s8, const u8 *); +void sub_8198070(u8 windowId, bool8 copyToVram); +void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); +void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); +void schedule_bg_copy_tilemap_to_vram(u8 bgNum); +void PrintMenuTable(u8 idx, u8 nstrs, const struct MenuAction *strs); +void InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 idx, u8 nstrs,u8); +u8 GetMenuCursorPos(void); +s8 ProcessMenuInput(void); +s8 ProcessMenuInputNoWrapAround(void); +void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y); +void reset_temp_tile_data_buffers(void); +int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode); +bool8 free_temp_tile_data_buffers_if_possible(void); +u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd +void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); +s8 ProcessMenuInputNoWrap_(void); +void do_scheduled_bg_tilemap_copies_to_vram(void); +void clear_scheduled_bg_copies_to_vram(void); +void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); +void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); + +#endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h new file mode 100644 index 000000000..f083a10e2 --- /dev/null +++ b/include/menu_helpers.h @@ -0,0 +1,20 @@ +#ifndef GUARD_MENU_HELPERS_H +#define GUARD_MENU_HELPERS_H + +// Exported type declarations + +struct YesNoFuncTable { + TaskFunc yesFunc; + TaskFunc noFunc; +}; + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_812225C(u16 *, u16 *, u8, u8); +void sub_8122298(u16 *, u16 *, u8, u8, u8); +void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); +bool8 sub_81221AC(void); + +#endif //GUARD_MENU_HELPERS_H diff --git a/include/menu_indicators.h b/include/menu_indicators.h new file mode 100644 index 000000000..d0baac810 --- /dev/null +++ b/include/menu_indicators.h @@ -0,0 +1,12 @@ +#ifndef GUARD_MENU_INDICATORS_H +#define GUARD_MENU_INDICATORS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations +u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); +void RemoveScrollIndicatorArrowPair(u8); + +#endif //GUARD_MENU_INDICATORS_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h new file mode 100644 index 000000000..d6743b788 --- /dev/null +++ b/include/metatile_behavior.h @@ -0,0 +1,149 @@ +#ifndef GUARD_METATILE_BEHAVIOR +#define GUARD_METATILE_BEHAVIOR + +bool8 ShouldDoJumpLandingDustEffect(u8); +bool8 MetatileBehavior_IsEncounterTile(u8); +bool8 MetatileBehavior_IsJumpEast(u8); +bool8 MetatileBehavior_IsJumpWest(u8); +bool8 MetatileBehavior_IsJumpNorth(u8); +bool8 MetatileBehavior_IsJumpSouth(u8); +bool8 MetatileBehavior_IsPokeGrass(u8); +bool8 MetatileBehavior_IsSandOrDeepSand(u8); +bool8 MetatileBehavior_IsDeepSand(u8); +bool8 MetatileBehavior_IsReflective(u8); +bool8 MetatileBehavior_IsIce(u8); +bool8 MetatileBehavior_IsWarpDoor(u8); +bool8 MetatileBehavior_IsDoor(u8); +bool8 MetatileBehavior_IsEscalator(u8); +bool8 MetatileBehavior_IsMB_04(u8); +bool8 MetatileBehavior_IsLadder(u8); +bool8 MetatileBehavior_IsNonAnimDoor(u8); +bool8 MetatileBehavior_IsDeepSouthWarp(u8); +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); +bool8 MetatileBehavior_IsEastArrowWarp(u8); +bool8 MetatileBehavior_IsWestArrowWarp(u8); +bool8 MetatileBehavior_IsNorthArrowWarp(u8); +bool8 MetatileBehavior_IsSouthArrowWarp(u8); +bool8 MetatileBehavior_IsArrowWarp(u8); +bool8 MetatileBehavior_IsMoveTile(u8); +bool8 MetatileBehavior_IsIce_2(u8); +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); +bool8 MetatileBehavior_IsMB_05(u8); +bool8 MetatileBehavior_IsWalkNorth(u8); +bool8 MetatileBehavior_IsWalkSouth(u8); +bool8 MetatileBehavior_IsWalkWest(u8); +bool8 MetatileBehavior_IsWalkEast(u8); +bool8 MetatileBehavior_IsNorthwardCurrent(u8); +bool8 MetatileBehavior_IsSouthwardCurrent(u8); +bool8 MetatileBehavior_IsWestwardCurrent(u8); +bool8 MetatileBehavior_IsEastwardCurrent(u8); +bool8 MetatileBehavior_IsSlideNorth(u8); +bool8 MetatileBehavior_IsSlideSouth(u8); +bool8 MetatileBehavior_IsSlideWest(u8); +bool8 MetatileBehavior_IsSlideEast(u8); +bool8 MetatileBehavior_IsCounter(u8); +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir); +bool8 MetatileBehavior_IsPC(u8); +bool8 MetatileBehavior_IsCableBoxResults1(u8); +bool8 MetatileBehavior_IsSecretBaseOpen(u8); +bool8 MetatileBehavior_IsSecretBaseCave(u8); +bool8 MetatileBehavior_IsSecretBaseTree(u8); +bool8 MetatileBehavior_IsSecretBaseShrub(u8); +bool8 MetatileBehavior_IsSecretBasePC(u8); +bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8); +bool8 MetatileBehavior_IsMB_B2(u8); +bool8 MetatileBehavior_IsMB_B3(u8); +bool8 MetatileBehavior_IsMB_B9(u8); +bool8 MetatileBehavior_IsMB_C6(u8); +bool8 MetatileBehavior_IsSecretBasePoster(u8); +bool8 MetatileBehavior_IsNormal(u8); +bool8 MetatileBehavior_IsMB_B7(u8); +bool8 MetatileBehavior_IsMB_B2_Duplicate(u8); +bool8 MetatileBehavior_IsMB_B5(u8); +bool8 MetatileBehavior_IsMB_C3(u8); +bool8 MetatileBehavior_IsMB_C2(u8); +bool8 MetatileBehavior_IsSecretBaseBalloon(u8); +bool8 MetatileBehavior_IsMB_BE(u8); +bool8 MetatileBehavior_IsSecretBaseSoundMat(u8); +bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8); +bool8 MetatileBehavior_IsMB_BF(u8); +bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8); +bool8 MetatileBehavior_IsMB_C5(u8); +bool8 MetatileBehavior_HasRipples(u8); +bool8 MetatileBehavior_IsPuddle(u8); +bool8 MetatileBehavior_IsTallGrass(u8); +bool8 MetatileBehavior_IsLongGrass(u8); +bool8 MetatileBehavior_IsBerryTreeSoil(u8); +bool8 MetatileBehavior_IsAsh(u8); +bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8); +bool8 MetatileBehavior_IsBridge(u8); +u8 MetatileBehavior_GetBridgeSth(u8); +u8 MetatileBehavior_8089510(u8); +bool8 MetatileBehavior_IsLandWildEncounter(u8); +bool8 MetatileBehavior_IsWaterWildEncounter(u8); +bool8 MetatileBehavior_IsMB_0B(u8); +bool8 MetatileBehavior_IsMountain(u8); +bool8 MetatileBehavior_IsDiveable(u8); +bool8 MetatileBehavior_IsUnableToEmerge(u8); +bool8 MetatileBehavior_IsShallowFlowingWater(u8); +bool8 MetatileBehavior_IsThinIce(u8); +bool8 MetatileBehavior_IsCrackedIce(u8); +bool8 MetatileBehavior_IsDeepOrOceanWater(u8); +bool8 MetatileBehavior_IsMB_18_OrMB_1A(u8); +bool8 MetatileBehavior_IsSurfableAndNotWaterfall(u8); +bool8 MetatileBehavior_IsEastBlocked(u8); +bool8 MetatileBehavior_IsWestBlocked(u8); +bool8 MetatileBehavior_IsNorthBlocked(u8); +bool8 MetatileBehavior_IsSouthBlocked(u8); +bool8 MetatileBehavior_IsShortGrass(u8); +bool8 MetatileBehavior_IsHotSprings(u8); +bool8 MetatileBehavior_IsWaterfall(u8); +bool8 MetatileBehavior_IsFortreeBridge(u8); +bool8 MetatileBehavior_IsPacifilogVerticalLog1(u8); +bool8 MetatileBehavior_IsPacifilogVerticalLog2(u8); +bool8 MetatileBehavior_IsPacifilogHorizontalLog1(u8); +bool8 MetatileBehavior_IsPacifilogHorizontalLog2(u8); +bool8 MetatileBehavior_IsPacifidlogLog(u8); +bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8); +bool8 MetatileBehavior_IsRegionMap(u8); +bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8); +bool8 MetatileBehavior_IsUnknownClosedDoor(u8); +bool8 MetatileBehavior_IsRoulette(u8); +bool8 MetatileBehavior_IsPokeblockFeeder(u8); +bool8 MetatileBehavior_IsSecretBaseJumpMat(u8); +bool8 MetatileBehavior_IsSecretBaseSpinMat(u8); +bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); +bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8); +bool8 MetatileBehavior_IsAquaHideoutWarp(u8); +bool8 MetatileBehavior_IsWarpOrBridge(u8); +bool8 MetatileBehavior_IsMossdeepGymWarp(u8); +bool8 MetatileBehavior_IsSurfableFishableWater(u8); +bool8 MetatileBehavior_IsMtPyreHole(u8); +bool8 MetatileBehavior_IsCrackedFloorHole(u8); +bool8 MetatileBehavior_IsCrackedFloor(u8); +bool8 MetatileBehavior_IsMuddySlope(u8); +bool8 MetatileBehavior_IsBumpySlope(u8); +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8); +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8); +bool8 MetatileBehavior_IsVerticalRail(u8); +bool8 MetatileBehavior_IsHorizontalRail(u8); +bool8 MetatileBehavior_IsSeaweed(u8); +bool8 MetatileBehavior_IsRunningDisallowed(u8); +bool8 MetatileBehavior_IsCuttableGrass(u8); +bool8 MetatileBehavior_IsRunningShoesInstruction(u8); +bool8 MetatileBehavior_IsPictureBookShelf(u8); +bool8 MetatileBehavior_IsBookShelf(u8); +bool8 MetatileBehavior_IsPokeCenterBookShelf(u8); +bool8 MetatileBehavior_IsVase(u8); +bool8 MetatileBehavior_IsTrashCan(u8); +bool8 MetatileBehavior_IsShopShelf(u8); +bool8 MetatileBehavior_IsBlueprint(u8); +bool8 MetatileBehavior_IsBattlePyramidWarp(u8); +bool8 MetatileBehavior_IsPlayerFacingWirelessBoxResults(u8 tile, u8 playerDir); +bool8 MetatileBehavior_IsCableBoxResults2(u8 tile, u8 playerDir); +bool8 MetatileBehavior_IsQuestionnaire(u8); +bool8 MetatileBehavior_IsLongGrass_Duplicate(u8); +bool8 MetatileBehavior_IsLongGrassSouthEdge(u8); +bool8 MetatileBehavior_IsTrainerHillTimer(u8); + +#endif // GUARD_METATILE_BEHAVIOR diff --git a/include/metatile_behaviors.h b/include/metatile_behaviors.h new file mode 100644 index 000000000..dd3a8b4f4 --- /dev/null +++ b/include/metatile_behaviors.h @@ -0,0 +1,179 @@ +#ifndef GUARD_METATILE_BEHAVIORS +#define GUARD_METATILE_BEHAVIORS + +#define MB_NORMAL 0x00 +#define MB_TALL_GRASS 0x02 +#define MB_LONG_GRASS 0x03 +#define MB_04 0x04 +#define MB_05 0x05 +#define MB_DEEP_SAND 0x06 +#define MB_SHORT_GRASS 0x07 +#define MB_CAVE 0x08 +#define MB_LONG_GRASS_SOUTH_EDGE 0x09 +#define MB_NO_RUNNING 0x0A +#define MB_0B 0x0B +#define MB_MOUNTAIN_TOP 0x0C +#define MB_BATTLE_PYRAMID_WARP 0x0D +#define MB_MOSSDEEP_GYM_WARP 0x0E +#define MB_MT_PYRE_HOLE 0x0F +#define MB_POND_WATER 0x10 +#define MB_SEMI_DEEP_WATER 0x11 +#define MB_DEEP_WATER 0x12 +#define MB_WATERFALL 0x13 +#define MB_SOOTOPOLIS_DEEP_WATER 0x14 +#define MB_OCEAN_WATER 0x15 +#define MB_PUDDLE 0x16 +#define MB_SHALLOW_WATER 0x17 +#define MB_18 0x18 +#define MB_NO_SURFACING 0x19 +#define MB_1A 0x1A +#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B +#define MB_SHOAL_CAVE_ENTRANCE 0x1C +#define MB_ICE 0x20 +#define MB_SAND 0x21 +#define MB_SEAWEED 0x22 +#define MB_ASHGRASS 0x24 +#define MB_25 0x25 +#define MB_THIN_ICE 0x26 +#define MB_CRACKED_ICE 0x27 +#define MB_HOT_SPRINGS 0x28 +#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 +#define MB_SEAWEED_NO_SURFACING 0x2A +#define MB_REFLECTION_UNDER_BRIDGE 0x2B +#define MB_IMPASSABLE_EAST 0x30 +#define MB_IMPASSABLE_WEST 0x31 +#define MB_IMPASSABLE_NORTH 0x32 +#define MB_IMPASSABLE_SOUTH 0x33 +#define MB_IMPASSABLE_NORTHEAST 0x34 +#define MB_IMPASSABLE_NORTHWEST 0x35 +#define MB_IMPASSABLE_SOUTHEAST 0x36 +#define MB_IMPASSABLE_SOUTHWEST 0x37 +#define MB_JUMP_EAST 0x38 +#define MB_JUMP_WEST 0x39 +#define MB_JUMP_NORTH 0x3A +#define MB_JUMP_SOUTH 0x3B +#define MB_JUMP_SOUTHEAST 0x3E +#define MB_JUMP_SOUTHWEST 0x3F +#define MB_WALK_EAST 0x40 +#define MB_WALK_WEST 0x41 +#define MB_WALK_NORTH 0x42 +#define MB_WALK_SOUTH 0x43 +#define MB_SLIDE_EAST 0x44 +#define MB_SLIDE_WEST 0x45 +#define MB_SLIDE_NORTH 0x46 +#define MB_SLIDE_SOUTH 0x47 +#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 +#define MB_EASTWARD_CURRENT 0x50 +#define MB_WESTWARD_CURRENT 0x51 +#define MB_NORTHWARD_CURRENT 0x52 +#define MB_SOUTHWARD_CURRENT 0x53 +#define MB_NON_ANIMATED_DOOR 0x60 +#define MB_LADDER 0x61 +#define MB_EAST_ARROW_WARP 0x62 +#define MB_WEST_ARROW_WARP 0x63 +#define MB_NORTH_ARROW_WARP 0x64 +#define MB_SOUTH_ARROW_WARP 0x65 +#define MB_CRACKED_FLOOR_HOLE 0x66 +#define MB_AQUA_HIDEOUT_WARP 0x67 +#define MB_LAVARIDGE_GYM_1F_WARP 0x68 +#define MB_ANIMATED_DOOR 0x69 +#define MB_UP_ESCALATOR 0x6A +#define MB_DOWN_ESCALATOR 0x6B +#define MB_WATER_DOOR 0x6C +#define MB_WATER_SOUTH_ARROW_WARP 0x6D +#define MB_DEEP_SOUTH_WARP 0x6E +#define MB_WARP_OR_BRIDGE 0x70 +#define MB_71 0x71 +#define MB_ROUTE120_NORTH_BRIDGE_1 0x72 +#define MB_ROUTE120_NORTH_BRIDGE_2 0x73 +#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74 +#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77 +#define MB_FORTREE_BRIDGE 0x78 +#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A +#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B +#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C +#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D +#define MB_7E 0x7E +#define MB_ROUTE110_BRIDGE 0x7F +#define MB_COUNTER 0x80 +#define MB_PC 0x83 +#define MB_CABLE_BOX_RESULTS_1 0x84 +#define MB_REGION_MAP 0x85 +#define MB_TELEVISION 0x86 +#define MB_POKEBLOCK_FEEDER 0x87 +#define MB_SLOT_MACHINE 0x89 +#define MB_ROULETTE 0x8A +#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B +#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C +#define MB_8D 0x8D +#define MB_RUNNING_SHOES_INSTRUCTION 0x8E +#define MB_QUESTIONNAIRE 0x8F +#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 +#define MB_SECRET_BASE_SPOT_RED_CAVE_OPEN 0x91 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE_OPEN 0x93 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE_OPEN 0x95 +#define MB_SECRET_BASE_SPOT_TREE_LEFT 0x96 +#define MB_SECRET_BASE_SPOT_TREE_LEFT_OPEN 0x97 +#define MB_SECRET_BASE_SPOT_SHRUB 0x98 +#define MB_SECRET_BASE_SPOT_SHRUB_OPEN 0x99 +#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A +#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B +#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C +#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D +#define MB_BERRY_TREE_SOIL 0xA0 +#define MB_SECRET_BASE_PC 0xB0 +#define MB_SECRET_BASE_REGISTER_PC 0xB1 +#define MB_B2 0xB2 +#define MB_B3 0xB3 +#define MB_B4 0xB4 +#define MB_B5 0xB5 +#define MB_B6 0xB6 +#define MB_B7 0xB7 +#define MB_SECRET_BASE_BALLOON 0xB8 +#define MB_B9 0xB9 +#define MB_SECRET_BASE_GLITTER_MAT 0xBA +#define MB_SECRET_BASE_JUMP_MAT 0xBB +#define MB_SECRET_BASE_SPIN_MAT 0xBC +#define MB_SECRET_BASE_SOUND_MAT 0xBD +#define MB_BE 0xBE +#define MB_BF 0xBF +#define MB_BED 0xC0 +#define MB_C1 0xC1 +#define MB_C2 0xC2 +#define MB_C3 0xC3 +#define MB_SECRET_BASE_TV_SHIELD 0xC4 +#define MB_C5 0xC5 +#define MB_C6 0xC6 +#define MB_SECRET_BASE_POSTER 0xC7 +#define MB_C8 0xC8 +#define MB_C9 0xC9 +#define MB_CA 0xCA +#define MB_CB 0xCB +#define MB_CC 0xCC +#define MB_CD 0xCD +#define MB_CE 0xCE +#define MB_CF 0xCF +#define MB_MUDDY_SLOPE 0xD0 +#define MB_BUMPY_SLOPE 0xD1 +#define MB_CRACKED_FLOOR 0xD2 +#define MB_ISOLATED_VERTICAL_RAIL 0xD3 +#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 +#define MB_VERTICAL_RAIL 0xD5 +#define MB_HORIZONTAL_RAIL 0xD6 +#define MB_PICTURE_BOOK_SHELF 0xE0 +#define MB_BOOKSHELF 0xE1 +#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 +#define MB_VASE 0xE3 +#define MB_TRASH_CAN 0xE4 +#define MB_SHOP_SHELF 0xE5 +#define MB_BLUEPRINT 0xE6 +#define MB_CABLE_BOX_RESULTS_2 0xE7 +#define MB_WIRELESS_BOX_RESULTS 0xE8 +#define MB_TRAINER_HILL_TIMER 0xE9 +#define MB_UNKNOWN_CLOSED_DOOR 0xEA + +#endif // GUARD_METATILE_BEHAVIORS diff --git a/include/money.h b/include/money.h new file mode 100644 index 000000000..5c7c1c984 --- /dev/null +++ b/include/money.h @@ -0,0 +1,20 @@ +#ifndef GUARD_MONEY_H +#define GUARD_MONEY_H + +u32 GetMoney(u32* moneyPtr); +void SetMoney(u32* moneyPtr, u32 newValue); +bool8 IsEnoughMoney(u32* moneyPtr, u32 cost); +void AddMoney(u32* moneyPtr, u32 toAdd); +void RemoveMoney(u32* moneyPtr, u32 toSub); +bool8 IsEnoughForCostInVar0x8005(void); +void SubtractMoneyFromVar0x8005(void); +void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); +void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed); +void PrintMoneyAmountInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount); +void ChangeAmountInMoneyBox(int amount); +void DrawMoneyBox(int amount, u8 x, u8 y); +void HideMoneyBox(void); +void AddMoneyLabelObject(u16 x, u16 y); +void RemoveMoneyLabelObject(void); + +#endif // GUARD_MONEY_H diff --git a/include/multiboot.h b/include/multiboot.h new file mode 100644 index 000000000..d4700ff4e --- /dev/null +++ b/include/multiboot.h @@ -0,0 +1,21 @@ +#ifndef GUARD_MULTIBOOT_H +#define GUARD_MULTIBOOT_H + +#define MULTIBOOT_MASTER_INFO 0x62 +#define MULTIBOOT_CLIENT_INFO 0x72 +#define MULTIBOOT_MASTER_START_PROBE 0x61 +#define MULTIBOOT_MASTER_REQUEST_DLREADY 0x63 +#define MULTIBOOT_CLIENT_DLREADY 0x73 +#define MULTIBOOT_MASTER_START_DL 0x64 +#define MULTIBOOT_MASTER_REQUEST_CRC 0x65 +#define MULTIBOOT_CLIENT_CALC_CRC 0x74 +#define MULTIBOOT_CLIENT_CRCREADY 0x75 +#define MULTIBOOT_MASTER_VERIFY_CRC 0x66 + +void MultiBootInit(struct MultiBootParam *mp); +int MultiBootMain(struct MultiBootParam *mp); +void MultiBootStartProbe(struct MultiBootParam *mp); +void MultiBootStartMaster(struct MultiBootParam *mp, const u8 *srcp, int length, u8 palette_color, s8 palette_speed); +int MultiBootCheckComplete(struct MultiBootParam *mp); + +#endif // GUARD_MULTIBOOT_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h new file mode 100644 index 000000000..ab23a8d00 --- /dev/null +++ b/include/mystery_event_script.h @@ -0,0 +1,8 @@ +#ifndef GUARD_MYSTERY_EVENT_SCRIPT_H +#define GUARD_MYSTERY_EVENT_SCRIPT_H + +u32 RunMysteryEventScript(u8 *); +void SetMysteryEventScriptStatus(u32 val); +u16 GetRecordMixingGift(void); + +#endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/naming_screen.h b/include/naming_screen.h new file mode 100644 index 000000000..3d69b834f --- /dev/null +++ b/include/naming_screen.h @@ -0,0 +1,12 @@ +#ifndef GUARD_NAMING_SCREEN_H +#define GUARD_NAMING_SCREEN_H + +#define NAMING_SCREEN_PLAYER 0 +#define NAMING_SCREEN_BOX 1 +#define NAMING_SCREEN_CAUGHT_MON 2 +#define NAMING_SCREEN_3 3 +#define NAMING_SCREEN_WALDA 4 + +void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void)); + +#endif // GUARD_NAMING_SCREEN_H diff --git a/include/new_game.h b/include/new_game.h new file mode 100644 index 000000000..2088d1826 --- /dev/null +++ b/include/new_game.h @@ -0,0 +1,16 @@ +#ifndef GUARD_NEW_GAME_H +#define GUARD_NEW_GAME_H + +void WriteUnalignedWord(u32 var, u8 *dataPtr); +u32 ReadUnalignedWord(u8* dataPtr); +void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom); +void InitPlayerTrainerId(void); +void SetDefaultOptions(void); +void ClearPokedexFlags(void); +void WarpToTruck(void); +void NewGameInitData(void); +void ResetMiniGamesResults(void); +void sub_808447C(void); +void Sav2_ClearSetDefault(void); + +#endif // GUARD_NEW_GAME_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h new file mode 100644 index 000000000..c52184972 --- /dev/null +++ b/include/new_menu_helpers.h @@ -0,0 +1,18 @@ +#ifndef GUARD_NEW_MENU_HELPERS_H +#define GUARD_NEW_MENU_HELPERS_H + +#include "text.h" +#include "task.h" + +void sub_81973A4(void); +void sub_81973C4(u8, u8); +void sub_819746C(u8 windowId, bool8 copyToVram); +void sub_81973FC(u8, u8); +u16 AddTextPrinterParametrized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void ( *callback)(u16, struct TextPrinter *), u8 fgColor, u8 bgColor, u8 shadowColor); +void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback); +void sub_8197434(u8 a0, u8 a1); +void SetStandardWindowBorderStyle(u8 a0, u8 a1); +void sub_8197930(void); +u8 GetPlayerTextSpeed(void); + +#endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h new file mode 100644 index 000000000..a5fba0c10 --- /dev/null +++ b/include/overworld.h @@ -0,0 +1,74 @@ +#ifndef GUARD_ROM4_H +#define GUARD_ROM4_H + +#include "main.h" + +struct UnkPlayerStruct +{ + u8 player_field_0; + u8 player_field_1; +}; + +struct LinkPlayerMapObject +{ + u8 active; + u8 linkPlayerId; + u8 mapObjId; + u8 mode; +}; + +struct UCoords32 +{ + u32 x, y; +}; + +extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4]; +extern MainCallback gFieldCallback; + +void IncrementGameStat(u8 index); + +void Overworld_SetMapObjTemplateCoords(u8, s16, s16); +void Overworld_SetMapObjTemplateMovementType(u8, u8); + +void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); + +void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); +void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void Overworld_SetHealLocationWarp(u8); +void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void sub_8084E2C(s8, s8, s8, s8, s8); +void sub_8084E80(s8, s8, s8, s8, s8); +void sub_8084EBC(s16, s16); + +void player_avatar_init_params_reset(void); + +void Overworld_SetFlashLevel(s32 a1); +//u8 Overworld_GetFlashLevel(void); +void sub_8085524(u16); + +void Overworld_SetSavedMusic(u16); +void Overworld_ChangeMusicToDefault(void); +void Overworld_ChangeMusicTo(u16); + +bool32 is_c1_link_related_active(void); + +void strange_npc_table_clear(void); +const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); +void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); +void sub_8086230(void); +void c2_exit_to_overworld_2_switch(void); +bool32 sub_8087598(void); +void c2_exit_to_overworld_1_continue_scripts_restart_music(void); +void warp_in(void); +u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum); +void sub_8086194(void); +void sub_8084CCC(u8 spawn); +void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum); +void c2_load_new_map(void); +void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); +void mapldr_default(void); + +void IncrementGameStat(u8); +u32 GetGameStat(u8); + +#endif //GUARD_ROM4_H diff --git a/include/palette.h b/include/palette.h new file mode 100644 index 000000000..d3bcd2271 --- /dev/null +++ b/include/palette.h @@ -0,0 +1,71 @@ +#ifndef GUARD_PALETTE_H +#define GUARD_PALETTE_H + +#include "global.h" + +#define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade +#define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade +#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade +#define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade + +#define PLTT_BUFFER_SIZE 0x200 +#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2) + +enum +{ + FAST_FADE_IN_FROM_WHITE, + FAST_FADE_OUT_TO_WHTIE, + FAST_FADE_IN_FROM_BLACK, + FAST_FADE_OUT_TO_BLACK, +}; + +struct PaletteFadeControl +{ + u32 multipurpose1; + u8 delayCounter:6; + u16 y:5; // blend coefficient + u16 targetY:5; // target blend coefficient + u16 blendColor:15; + u16 active:1; + u16 multipurpose2:6; + u16 yDec:1; // whether blend coefficient is decreasing + u16 bufferTransferDisabled:1; + u16 mode:2; + u16 shouldResetBlendRegisters:1; + u16 hardwareFadeFinishing:1; + u16 softwareFadeFinishingCounter:5; + u16 softwareFadeFinishing:1; + u16 objPaletteToggle:1; + u8 deltaY:4; // rate of change of blend coefficient +}; + +extern struct PaletteFadeControl gPaletteFade; +extern u32 gPlttBufferTransferPending; +extern u8 gPaletteDecompressionBuffer[]; +extern u16 gPlttBufferUnfaded[]; +extern u16 gPlttBufferFaded[]; + +void LoadCompressedPalette(const void *, u16, u16); +void LoadPalette(const void *, u16, u16); +void FillPalette(u16, u16, u16); +void TransferPlttBuffer(void); +u8 UpdatePaletteFade(void); +void ResetPaletteFade(void); +void ReadPlttIntoBuffers(void); +bool8 BeginNormalPaletteFade(u32, s8, u8, u8, u16); +bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16); +void unref_sub_8073D84(u8, u32 *); +void ResetPaletteStructByUid(u16); +void ResetPaletteStruct(u8); +void ResetPaletteFadeControl(); +void unref_sub_8074168(u16); +void unref_sub_8074194(u16); +void InvertPlttBuffer(u32); +void TintPlttBuffer(u32, s8, s8, s8); +void UnfadePlttBuffer(u32); +void BeginFastPaletteFade(u8); +void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); +void BlendPalettes(u32, u8, u16); +void BlendPalettesUnfaded(u32, u8, u16); + +#endif // GUARD_PALETTE_H diff --git a/include/party_menu.h b/include/party_menu.h new file mode 100644 index 000000000..c787bafb1 --- /dev/null +++ b/include/party_menu.h @@ -0,0 +1,18 @@ +#ifndef GUARD_PARTY_MENU_H +#define GUARD_PARTY_MENU_H + +enum { + AILMENT_NONE, + AILMENT_PSN, + AILMENT_PRZ, + AILMENT_SLP, + AILMENT_FRZ, + AILMENT_BRN +}; + +bool8 pokemon_has_move(struct Pokemon *, u16); +void sub_81B58A8(void); +void DoWallyTutorialBagMenu(void); +u8 pokemon_ailments_get_primary(u32 status); + +#endif // GUARD_PARTY_MENU_H diff --git a/include/play_time.h b/include/play_time.h new file mode 100644 index 000000000..49091f4b1 --- /dev/null +++ b/include/play_time.h @@ -0,0 +1,10 @@ +#ifndef GUARD_PLAY_TIME_H +#define GUARD_PLAY_TIME_H + +void PlayTimeCounter_Reset(void); +void PlayTimeCounter_Start(void); +void PlayTimeCounter_Stop(void); +void PlayTimeCounter_Update(void); +void PlayTimeCounter_SetToMax(void); + +#endif // GUARD_PLAY_TIME_H diff --git a/include/player_pc.h b/include/player_pc.h new file mode 100644 index 000000000..b14d1ede3 --- /dev/null +++ b/include/player_pc.h @@ -0,0 +1,12 @@ +#ifndef GUARD_PLAYER_PC_H +#define GUARD_PLAYER_PC_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +void sub_816B060(u8 taskId); + +#endif //GUARD_PLAYER_PC_H diff --git a/include/pokeball.h b/include/pokeball.h new file mode 100644 index 000000000..84178b5b2 --- /dev/null +++ b/include/pokeball.h @@ -0,0 +1,32 @@ +#ifndef GUARD_POKEBALL_H +#define GUARD_POKEBALL_H + +enum +{ + BALL_POKE, + BALL_GREAT, + BALL_SAFARI, + BALL_ULTRA, + BALL_MASTER, + BALL_NET, + BALL_DIVE, + BALL_NEST, + BALL_REPEAT, + BALL_TIMER, + BALL_LUXURY, + BALL_PREMIER, + POKEBALL_COUNT +}; + +#define POKEBALL_PLAYER_SENDOUT 0xFF +#define POKEBALL_OPPONENT_SENDOUT 0xFE + +u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow); +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species); +u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h); +void sub_8076918(u8 bank); +void DoHitAnimHealthboxEffect(u8 bank); +void LoadBallGfx(u8 ballId); +void FreeBallGfx(u8 ballId); + +#endif // GUARD_POKEBALL_H diff --git a/include/pokedex.h b/include/pokedex.h new file mode 100644 index 000000000..236feac45 --- /dev/null +++ b/include/pokedex.h @@ -0,0 +1,23 @@ +#ifndef GUARD_POKEDEX_H +#define GUARD_POKEDEX_H + +void ResetPokedex(void); +void CopyMonCategoryText(u16 species, u8 *dst); +u16 GetPokedexHeightWeight(u16 dexNum, u8 data); +u16 GetNationalPokedexCount(u8); +u16 GetHoennPokedexCount(u8); +u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality); + +enum +{ + FLAG_GET_SEEN, + FLAG_GET_CAUGHT, + FLAG_SET_SEEN, + FLAG_SET_CAUGHT +}; + +s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId); +u16 pokedex_count(u8); +u16 sub_80C0844(u8); + +#endif // GUARD_POKEDEX_H diff --git a/include/pokemon.h b/include/pokemon.h new file mode 100644 index 000000000..480c8d9b9 --- /dev/null +++ b/include/pokemon.h @@ -0,0 +1,663 @@ +#ifndef GUARD_POKEMON_H +#define GUARD_POKEMON_H + +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_BIT1 4 +#define MON_DATA_SANITY_BIT2 5 +#define MON_DATA_SANITY_BIT3 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_10 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPEED_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPEED_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ALT_ABILITY 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPEED 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_MAIL 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_OBEDIENCE 80 +#define MON_DATA_KNOWN_MOVES 81 +#define MON_DATA_RIBBON_COUNT 82 +#define MON_DATA_RIBBONS 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPEED2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + +#define OT_ID_RANDOM_NO_SHINY 2 +#define OT_ID_PRESET 1 +#define OT_ID_PLAYER_ID 0 + +#define MON_GIVEN_TO_PARTY 0x0 +#define MON_GIVEN_TO_PC 0x1 +#define MON_CANT_GIVE 0x2 + +#define PLAYER_HAS_TWO_USABLE_MONS 0x0 +#define PLAYER_HAS_ONE_MON 0x1 +#define PLAYER_HAS_ONE_USABLE_MON 0x2 + +#define MON_MALE 0x00 +#define MON_FEMALE 0xFE +#define MON_GENDERLESS 0xFF + +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 + +#define NUMBER_OF_MON_TYPES 0x12 + +#define PARTY_SIZE 6 +#define MAX_TOTAL_EVS 510 +#define NUM_STATS 6 +#define UNOWN_FORM_COUNT 28 +#define MAX_MON_LEVEL 100 + +enum +{ + EGG_GROUP_NONE, + EGG_GROUP_MONSTER, + EGG_GROUP_WATER_1, + EGG_GROUP_BUG, + EGG_GROUP_FLYING, + EGG_GROUP_FIELD, + EGG_GROUP_FAIRY, + EGG_GROUP_GRASS, + EGG_GROUP_HUMAN_LIKE, + EGG_GROUP_WATER_3, + EGG_GROUP_MINERAL, + EGG_GROUP_AMORPHOUS, + EGG_GROUP_WATER_2, + EGG_GROUP_DITTO, + EGG_GROUP_DRAGON, + EGG_GROUP_UNDISCOVERED +}; + +enum +{ + NATURE_HARDY, + NATURE_LONELY, + NATURE_BRAVE, + NATURE_ADAMANT, + NATURE_NAUGHTY, + NATURE_BOLD, + NATURE_DOCILE, + NATURE_RELAXED, + NATURE_IMPISH, + NATURE_LAX, + NATURE_TIMID, + NATURE_HASTY, + NATURE_SERIOUS, + NATURE_JOLLY, + NATURE_NAIVE, + NATURE_MODEST, + NATURE_MILD, + NATURE_QUIET, + NATURE_BASHFUL, + NATURE_RASH, + NATURE_CALM, + NATURE_GENTLE, + NATURE_SASSY, + NATURE_CAREFUL, + NATURE_QUIRKY, +}; + +struct PokemonSubstruct0 +{ + u16 species; + u16 heldItem; + u32 experience; + u8 ppBonuses; + u8 friendship; +}; + +struct PokemonSubstruct1 +{ + u16 moves[4]; + u8 pp[4]; +}; + +struct PokemonSubstruct2 +{ + u8 hpEV; + u8 attackEV; + u8 defenseEV; + u8 speedEV; + u8 spAttackEV; + u8 spDefenseEV; + u8 cool; + u8 beauty; + u8 cute; + u8 smart; + u8 tough; + u8 sheen; +}; + +struct PokemonSubstruct3 +{ + /* 0x00 */ u8 pokerus; + /* 0x01 */ u8 metLocation; + + /* 0x02 */ u16 metLevel:7; + /* 0x02 */ u16 metGame:4; + /* 0x03 */ u16 pokeball:4; + /* 0x03 */ u16 otGender:1; + + /* 0x04 */ u32 hpIV:5; + /* 0x04 */ u32 attackIV:5; + /* 0x05 */ u32 defenseIV:5; + /* 0x05 */ u32 speedIV:5; + /* 0x05 */ u32 spAttackIV:5; + /* 0x06 */ u32 spDefenseIV:5; + /* 0x07 */ u32 isEgg:1; + /* 0x07 */ u32 altAbility:1; + + /* 0x08 */ u32 coolRibbon:3; + /* 0x08 */ u32 beautyRibbon:3; + /* 0x08 */ u32 cuteRibbon:3; + /* 0x09 */ u32 smartRibbon:3; + /* 0x09 */ u32 toughRibbon:3; + /* 0x09 */ u32 championRibbon:1; + /* 0x0A */ u32 winningRibbon:1; + /* 0x0A */ u32 victoryRibbon:1; + /* 0x0A */ u32 artistRibbon:1; + /* 0x0A */ u32 effortRibbon:1; + /* 0x0A */ u32 giftRibbon1:1; + /* 0x0A */ u32 giftRibbon2:1; + /* 0x0A */ u32 giftRibbon3:1; + /* 0x0A */ u32 giftRibbon4:1; + /* 0x0B */ u32 giftRibbon5:1; + /* 0x0B */ u32 giftRibbon6:1; + /* 0x0B */ u32 giftRibbon7:1; + /* 0x0B */ u32 fatefulEncounter:4; + /* 0x0B */ u32 obedient:1; +}; + +union PokemonSubstruct +{ + struct PokemonSubstruct0 type0; + struct PokemonSubstruct1 type1; + struct PokemonSubstruct2 type2; + struct PokemonSubstruct3 type3; + u16 raw[6]; +}; + +struct BoxPokemon +{ + u32 personality; + u32 otId; + u8 nickname[POKEMON_NAME_LENGTH]; + u8 language; + u8 isBadEgg:1; + u8 hasSpecies:1; + u8 isEgg:1; + u8 unused:5; + u8 otName[OT_NAME_LENGTH]; + u8 markings; + u16 checksum; + u16 unknown; + + union + { + u32 raw[12]; + union PokemonSubstruct substructs[4]; + } secure; +}; + +struct Pokemon +{ + struct BoxPokemon box; + u32 status; + u8 level; + u8 mail; + u16 hp; + u16 maxHP; + u16 attack; + u16 defense; + u16 speed; + u16 spAttack; + u16 spDefense; +}; + +struct PokemonStorage +{ + /*0x0000*/ u8 currentBox; + /*0x0001*/ struct BoxPokemon boxes[14][30]; + /*0x8344*/ u8 boxNames[14][9]; + /*0x83C2*/ u8 boxWallpapers[14]; +}; + +struct UnknownPokemonStruct +{ + u16 species; + u16 heldItem; + u16 moves[4]; + u8 level; + u8 ppBonuses; + u8 hpEV; + u8 attackEV; + u8 defenseEV; + u8 speedEV; + u8 spAttackEV; + u8 spDefenseEV; + u32 otId; + u32 hpIV:5; + u32 attackIV:5; + u32 defenseIV:5; + u32 speedIV:5; + u32 spAttackIV:5; + u32 spDefenseIV:5; + u32 gap:1; + u32 altAbility:1; + u32 personality; + u8 nickname[POKEMON_NAME_LENGTH + 1]; + u8 friendship; +}; + +#define BATTLE_STATS_NO 8 + +struct BattlePokemon +{ + /*0x00*/ u16 species; + /*0x02*/ u16 attack; + /*0x04*/ u16 defense; + /*0x06*/ u16 speed; + /*0x08*/ u16 spAttack; + /*0x0A*/ u16 spDefense; + /*0x0C*/ u16 moves[4]; + /*0x14*/ u32 hpIV:5; + /*0x14*/ u32 attackIV:5; + /*0x15*/ u32 defenseIV:5; + /*0x15*/ u32 speedIV:5; + /*0x16*/ u32 spAttackIV:5; + /*0x17*/ u32 spDefenseIV:5; + /*0x17*/ u32 isEgg:1; + /*0x17*/ u32 altAbility:1; + /*0x18*/ s8 statStages[BATTLE_STATS_NO]; + /*0x20*/ u8 ability; + /*0x21*/ u8 type1; + /*0x22*/ u8 type2; + /*0x23*/ u8 unknown; + /*0x24*/ u8 pp[4]; + /*0x28*/ u16 hp; + /*0x2A*/ u8 level; + /*0x2B*/ u8 friendship; + /*0x2C*/ u16 maxHP; + /*0x2E*/ u16 item; + /*0x30*/ u8 nickname[POKEMON_NAME_LENGTH + 1]; + /*0x3B*/ u8 ppBonuses; + /*0x3C*/ u8 otName[8]; + /*0x44*/ u32 experience; + /*0x48*/ u32 personality; + /*0x4C*/ u32 status1; + /*0x50*/ u32 status2; + /*0x54*/ u32 otId; +}; + +enum +{ + STAT_STAGE_HP, // 0 + STAT_STAGE_ATK, // 1 + STAT_STAGE_DEF, // 2 + STAT_STAGE_SPEED, // 3 + STAT_STAGE_SPATK, // 4 + STAT_STAGE_SPDEF, // 5 + STAT_STAGE_ACC, // 6 + STAT_STAGE_EVASION, // 7 +}; + +enum +{ + STAT_HP, // 0 + STAT_ATK, // 1 + STAT_DEF, // 2 + STAT_SPD, // 3 + STAT_SPATK, // 4 + STAT_SPDEF, // 5 +}; + +struct BaseStats +{ + /* 0x00 */ u8 baseHP; + /* 0x01 */ u8 baseAttack; + /* 0x02 */ u8 baseDefense; + /* 0x03 */ u8 baseSpeed; + /* 0x04 */ u8 baseSpAttack; + /* 0x05 */ u8 baseSpDefense; + /* 0x06 */ u8 type1; + /* 0x07 */ u8 type2; + /* 0x08 */ u8 catchRate; + /* 0x09 */ u8 expYield; + /* 0x0A */ u16 evYield_HP:2; + /* 0x0A */ u16 evYield_Attack:2; + /* 0x0A */ u16 evYield_Defense:2; + /* 0x0A */ u16 evYield_Speed:2; + /* 0x0B */ u16 evYield_SpAttack:2; + /* 0x0B */ u16 evYield_SpDefense:2; + /* 0x0C */ u16 item1; + /* 0x0E */ u16 item2; + /* 0x10 */ u8 genderRatio; + /* 0x11 */ u8 eggCycles; + /* 0x12 */ u8 friendship; + /* 0x13 */ u8 growthRate; + /* 0x14 */ u8 eggGroup1; + /* 0x15 */ u8 eggGroup2; + /* 0x16 */ u8 ability1; + /* 0x17 */ u8 ability2; + /* 0x18 */ u8 safariZoneFleeRate; + /* 0x19 */ u8 bodyColor : 7; + u8 noFlip : 1; +}; + +struct BattleMove +{ + u8 effect; + u8 power; + u8 type; + u8 accuracy; + u8 pp; + u8 secondaryEffectChance; + u8 target; + s8 priority; + u8 flags; +}; + +#define FLAG_MAKES_CONTACT 0x1 +#define FLAG_PROTECT_AFFECTED 0x2 +#define FLAG_MAGICCOAT_AFFECTED 0x4 +#define FLAG_SNATCH_AFFECTED 0x8 +#define FLAG_MIRROR_MOVE_AFFECTED 0x10 +#define FLAG_KINGSROCK_AFFECTED 0x20 + +struct SpindaSpot +{ + u8 x, y; + u16 image[16]; +}; + +struct __attribute__((packed)) LevelUpMove +{ + u16 move:9; + u16 level:7; +}; + +enum +{ + GROWTH_MEDIUM_FAST, + GROWTH_ERRATIC, + GROWTH_FLUCTUATING, + GROWTH_MEDIUM_SLOW, + GROWTH_FAST, + GROWTH_SLOW +}; + +enum +{ + BODY_COLOR_RED, + BODY_COLOR_BLUE, + BODY_COLOR_YELLOW, + BODY_COLOR_GREEN, + BODY_COLOR_BLACK, + BODY_COLOR_BROWN, + BODY_COLOR_PURPLE, + BODY_COLOR_GRAY, + BODY_COLOR_WHITE, + BODY_COLOR_PINK +}; + +#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220 +#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220 +#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220 +#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level +#define EVO_TRADE 0x0005 // Pokémon is traded +#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item +#define EVO_ITEM 0x0007 // specified item is used on Pokémon +#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense +#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense +#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense +#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value +#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value +#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask) +#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja) +#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value + +struct Evolution +{ + u16 method; + u16 param; + u16 targetSpecies; +}; + +#define EVOS_PER_MON 5 + +struct EvolutionData +{ + struct Evolution evolutions[EVOS_PER_MON]; +}; + +extern u8 gPlayerPartyCount; +extern struct Pokemon gPlayerParty[PARTY_SIZE]; +extern u8 gEnemyPartyCount; +extern struct Pokemon gEnemyParty[PARTY_SIZE]; +extern const struct BaseStats gBaseStats[]; +extern const u8 *const gItemEffectTable[]; +extern const struct EvolutionData gEvolutionTable[]; +extern struct PokemonStorage* gPokemonStoragePtr; +extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; +extern const u16 *const gLevelUpLearnsets[]; + +u8 CountAliveMonsInBattle(u8 caseId); +#define BATTLE_ALIVE_EXCEPT_ACTIVE 0 +#define BATTLE_ALIVE_ATK_SIDE 1 +#define BATTLE_ALIVE_DEF_SIDE 2 + +void ZeroBoxMonData(struct BoxPokemon *boxMon); +void ZeroMonData(struct Pokemon *mon); +void ZeroPlayerPartyMons(void); +void ZeroEnemyPartyMons(void); +void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId); +void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId); +void CreateMonWithNature(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 nature); +void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 gender, u8 nature, u8 unownLetter); +void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level); +void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality); +void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u32 otId); +void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread); +u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon); +void CalculateMonStats(struct Pokemon *mon); +u8 GetLevelFromMonExp(struct Pokemon *mon); +u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon); +u16 GiveMoveToMon(struct Pokemon *mon, u16 move); +u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); +u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move); +void MonRestorePP(struct Pokemon *mon); +void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot); +void SetBattleMonMoveSlot(struct BattlePokemon *mon, u16 move, u8 slot); +void GiveMonInitialMoveset(struct Pokemon *mon); +void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon); +void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move); +void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move); + +u8 GetMonGender(struct Pokemon *mon); +u8 GetBoxMonGender(struct BoxPokemon *boxMon); +u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality); +void EncryptBoxMon(struct BoxPokemon *boxMon); +void DecryptBoxMon(struct BoxPokemon *boxMon); + +// These are full type signatures for GetMonData() and GetBoxMonData(), +// but they are not used since some code erroneously omits the third arg. +// u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); +// u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data); +u32 GetMonData(); +u32 GetBoxMonData(); + +void SetMonData(struct Pokemon *mon, s32 field, const void *data); +void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *data); +void CopyMon(void *dest, void *src, size_t size); +u8 GiveMonToPlayer(struct Pokemon *mon); +u8 SendMonToPC(struct Pokemon *mon); +u8 CalculatePlayerPartyCount(void); +u8 CalculateEnemyPartyCount(void); + +u8 GetAbilityBySpecies(u16 species, bool8 altAbility); +u8 GetMonAbility(struct Pokemon *mon); +void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord); +u8 GetSecretBaseTrainerPicIndex(void); +u8 GetSecretBaseTrainerNameIndex(void); +bool8 IsPlayerPartyAndPokemonStorageFull(void); +bool8 IsPokemonStorageFull(void); +void GetSpeciesName(u8 *name, u16 species); +u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex); +void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex); +void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex); +void CopyPlayerPartyMonToBattleData(u8 battleIndex, u8 partyIndex); + +u8 GetNature(struct Pokemon *mon); +u8 GetNatureFromPersonality(u32 personality); + +u16 nature_stat_mod(u8 nature, u16 n, u8 statIndex); + +void MonRestorePP(struct Pokemon *); +void BoxMonRestorePP(struct BoxPokemon *); + +u16 NationalPokedexNumToSpecies(u16 nationalNum); +u16 NationalToHoennOrder(u16); +u16 SpeciesToNationalPokedexNum(u16); +u16 HoennToNationalOrder(u16); +u16 SpeciesToCryId(u16 species); +void DrawSpindaSpots(u16, u32, u8 *, u8); +void AdjustFriendship(struct Pokemon *, u8); +u8 CheckPartyHasHadPokerus(struct Pokemon *, u8); +void UpdatePartyPokerusTime(u16); +u32 CanMonLearnTMHM(struct Pokemon *, u8); +u32 CanSpeciesLearnTMHM(u16 species, u8 tm); +u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves); +void ClearBattleMonForms(void); +const u8 *GetMonFrontSpritePal(struct Pokemon *mon); +const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32); +const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32); +bool8 IsOtherTrainer(u32, u8 *); +void SetWildMonHeldItem(void); +u16 GetMonEVCount(struct Pokemon *); + +const struct CompressedSpritePalette *sub_806E794(struct Pokemon *mon); +const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16 species, u32 otId , u32 personality); +bool32 IsHMMove2(u16 move); +bool8 IsPokeSpriteNotFlipped(u16 species); +bool8 IsMonShiny(struct Pokemon *mon); +bool8 IsShinyOtIdPersonality(u32 otId, u32 personality); + +void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies); +bool8 IsTradedMon(struct Pokemon *mon); +void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality); +s32 GetBankMultiplayerId(u16 a1); +bool16 sub_806D82C(u8 id); +u16 MonTryLearningNewMove(struct Pokemon* mon, bool8); +void sub_8068AA4(void); // sets stats for deoxys +bool8 HasTwoFramesAnimation(u16 species); +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem); +void RandomlyGivePartyPokerus(struct Pokemon *party); +u8 CheckPartyPokerus(struct Pokemon *party, u8 selection); +u8 CheckPartyHasHadPokerus(struct Pokemon *party, u8 selection); +void UpdatePartyPokerusTime(u16 days); +void PartySpreadPokerus(struct Pokemon *party); +s8 GetMonFlavorRelation(struct Pokemon *mon, u8 a2); +s8 GetFlavorRelationByPersonality(u32 personality, u8 a2); +u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit); +u8 GetDefaultMoveTarget(u8 atkBank); +u16 PlayerGenderToFrontTrainerPicId(u8 playerGender); +void sub_806A1C0(u16 arg0, u8 bankIdentity); +void sub_806A12C(u16 trainerSpriteId, u8 bankIdentity); +u8 GetSecretBaseTrainerPicIndex(void); +bool8 TryIncrementMonLevel(struct Pokemon *mon); +void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon); +u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves); + +#include "sprite.h" + +void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); +void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3); +void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); + +#endif // GUARD_POKEMON_H diff --git a/include/pokemon_3.h b/include/pokemon_3.h new file mode 100644 index 000000000..5c9862d57 --- /dev/null +++ b/include/pokemon_3.h @@ -0,0 +1,7 @@ +#ifndef GUARD_POKEMON_3_H +#define GUARD_POKEMON_3_H + +const u8* GetTrainerClassNameFromId(u16 trainerId); +const u8* GetTrainerNameFromId(u16 trainerId); + +#endif // GUARD_POKEMON_3_H diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h new file mode 100644 index 000000000..b6d21823e --- /dev/null +++ b/include/pokemon_icon.h @@ -0,0 +1,12 @@ +#ifndef GUARD_POKEMON_ICON_H +#define GUARD_POKEMON_ICON_H + +const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); +const u16 *GetValidMonIconPalettePtr(u16 speciesId); +u16 sub_80D2E84(u16 speciesId); +void sub_80D2F68(u16 iconId); +u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); +void sub_80D2FF0(u16 iconId); +void sub_80D2EF8(struct Sprite *sprite); + +#endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_item_effects.h b/include/pokemon_item_effects.h new file mode 100644 index 000000000..505cc0f25 --- /dev/null +++ b/include/pokemon_item_effects.h @@ -0,0 +1,62 @@ +#ifndef GUARD_POKEMON_ITEM_EFFECTS +#define GUARD_POKEMON_ITEM_EFFECTS + +#include "pokemon.h" + +// TODO once pokemon item effects is decompiled +/* +struct PokemonItemEffect +{ + //field 0 + u8 xAtk : 4; // x1, x2, x4, x8 = xF + u8 field_0_x10 : 1; // x10 + u8 critRatioUp : 1; // x20 + u8 field_0_x40 : 1; // x40 + u8 cureInfatuation : 1; // x80 + + /*field 1 + u8 xSpeed : 4; // x1, x2, x4, x8 = xF + u8 xDefense : 4; // x10, x20, x40, xF0 + + /*field 2 + u8 xSpAtk : 4; // x1, x2, x4, x8 = xF + u8 xAccuracy : 4; // x10, x20, x40, xF0 + + /*field 3 + u8 cureConfusion : 1; // x1 + u8 cureParalysis : 1; // x2 + u8 cureFreeze : 1; // x4 + u8 cureBurn : 1; // x8 + u8 curePoison : 1; // x10 + u8 cureSleep : 1; // x20 + u8 field_3_x40 : 1; // x40 + u8 cantLowerStats : 1; // x80 + + /*field 4 + u8 hpEv : 1; // x1 + u8 attackEv : 1; // x2 + u8 healHp : 1; // x4 + u8 field_4_x8 : 1; // x8 + u8 field_4_x10 : 1; // x10 + u8 ppUp : 1; // x20 + u8 levelUp : 1; // x40 + u8 evolutionStone : 1; // x80 + + /*field 5 + u8 defEv: 1; // x1 + u8 speedEv : 1; // x2 + u8 spDefEv : 1; // x4 + u8 spAtkEv : 1; // x8 + u8 ppMax : 1; // x10 + u8 field_5_x20 : 1; // x20 + u8 field_5_x40 : 1; // x40 + u8 field_5_x80 : 1; // x80 + + /*field 6 + u8 value; +}; +*/ + +bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 itemId, u8 partyId, u8 monMoveIndex, u8 a5); + +#endif // GUARD_POKEMON_ITEM_EFFECTS diff --git a/include/pokemon_size_record.h b/include/pokemon_size_record.h new file mode 100644 index 000000000..f61286bd4 --- /dev/null +++ b/include/pokemon_size_record.h @@ -0,0 +1,14 @@ +#ifndef GUARD_POKEMON_SIZE_RECORD_H +#define GUARD_POKEMON_SIZE_RECORD_H + +void InitSeedotSizeRecord(void); +void GetSeedotSizeRecordInfo(void); +void CompareSeedotSize(void); + +void InitLotadSizeRecord(void); +void GetLotadSizeRecordInfo(void); +void CompareLotadSize(void); + +void GiveGiftRibbonToParty(u8 index, u8 ribbonId); + +#endif // GUARD_POKEMON_SIZE_RECORD_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h new file mode 100644 index 000000000..9fcfdba96 --- /dev/null +++ b/include/pokemon_storage_system.h @@ -0,0 +1,13 @@ +#ifndef GUARD_POKEMON_STORAGE_SYSTEM_H +#define GUARD_POKEMON_STORAGE_SYSTEM_H + +#define TOTAL_BOXES_COUNT 14 +#define IN_BOX_COUNT 30 + +u8* GetBoxNamePtr(u8 boxNumber); +struct BoxPokemon *GetBoxedMonPtr(u8, u8); +void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +void CompactPartySlots(void); +u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); + +#endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokenav.h b/include/pokenav.h new file mode 100644 index 000000000..06676610a --- /dev/null +++ b/include/pokenav.h @@ -0,0 +1,6 @@ +#ifndef GUARD_POKENAV_H +#define GUARD_POKENAV_H + +bool8 sub_81D5C18(void); + +#endif //GUARD_POKENAV_H diff --git a/include/random.h b/include/random.h new file mode 100644 index 000000000..79a9d71dc --- /dev/null +++ b/include/random.h @@ -0,0 +1,18 @@ +#ifndef GUARD_RANDOM_H +#define GUARD_RANDOM_H + +extern u32 gRngValue; +extern u32 gRng2Value; + +//Returns a 16-bit pseudorandom number +u16 Random(void); +u16 Random2(void); + +//Returns a 32-bit pseudorandom number +#define Random32() (Random() | (Random() << 16)) + +//Sets the initial seed value of the pseudorandom number generator +void SeedRng(u16 seed); +void SeedRng2(u16 seed); + +#endif // GUARD_RANDOM_H diff --git a/include/region_map.h b/include/region_map.h new file mode 100644 index 000000000..91384d166 --- /dev/null +++ b/include/region_map.h @@ -0,0 +1,314 @@ +#ifndef GUARD_REGION_MAP_H +#define GUARD_REGION_MAP_H + +#include "bg.h" + +// Exported type declarations + +enum { + MAPSEC_LITTLEROOT_TOWN, + MAPSEC_OLDALE_TOWN, + MAPSEC_DEWFORD_TOWN, + MAPSEC_LAVARIDGE_TOWN, + MAPSEC_FALLARBOR_TOWN, + MAPSEC_VERDANTURF_TOWN, + MAPSEC_PACIFIDLOG_TOWN, + MAPSEC_PETALBURG_CITY, + MAPSEC_SLATEPORT_CITY, + MAPSEC_MAUVILLE_CITY, + MAPSEC_RUSTBORO_CITY, + MAPSEC_FORTREE_CITY, + MAPSEC_LILYCOVE_CITY, + MAPSEC_MOSSDEEP_CITY, + MAPSEC_SOOTOPOLIS_CITY, + MAPSEC_EVER_GRANDE_CITY, + MAPSEC_ROUTE_101, + MAPSEC_ROUTE_102, + MAPSEC_ROUTE_103, + MAPSEC_ROUTE_104, + MAPSEC_ROUTE_105, + MAPSEC_ROUTE_106, + MAPSEC_ROUTE_107, + MAPSEC_ROUTE_108, + MAPSEC_ROUTE_109, + MAPSEC_ROUTE_110, + MAPSEC_ROUTE_111, + MAPSEC_ROUTE_112, + MAPSEC_ROUTE_113, + MAPSEC_ROUTE_114, + MAPSEC_ROUTE_115, + MAPSEC_ROUTE_116, + MAPSEC_ROUTE_117, + MAPSEC_ROUTE_118, + MAPSEC_ROUTE_119, + MAPSEC_ROUTE_120, + MAPSEC_ROUTE_121, + MAPSEC_ROUTE_122, + MAPSEC_ROUTE_123, + MAPSEC_ROUTE_124, + MAPSEC_ROUTE_125, + MAPSEC_ROUTE_126, + MAPSEC_ROUTE_127, + MAPSEC_ROUTE_128, + MAPSEC_ROUTE_129, + MAPSEC_ROUTE_130, + MAPSEC_ROUTE_131, + MAPSEC_ROUTE_132, + MAPSEC_ROUTE_133, + MAPSEC_ROUTE_134, + MAPSEC_UNDERWATER_124, + MAPSEC_UNDERWATER_125, + MAPSEC_UNDERWATER_126, + MAPSEC_UNDERWATER_127, + MAPSEC_UNDERWATER_SOOTOPOLIS, + MAPSEC_GRANITE_CAVE, + MAPSEC_MT_CHIMNEY, + MAPSEC_SAFARI_ZONE, + MAPSEC_BATTLE_FRONTIER, + MAPSEC_PETALBURG_WOODS, + MAPSEC_RUSTURF_TUNNEL, + MAPSEC_ABANDONED_SHIP, + MAPSEC_NEW_MAUVILLE, + MAPSEC_METEOR_FALLS, + MAPSEC_METEOR_FALLS2, + MAPSEC_MT_PYRE, + MAPSEC_AQUA_HIDEOUT_OLD, + MAPSEC_SHOAL_CAVE, + MAPSEC_SEAFLOOR_CAVERN, + MAPSEC_UNDERWATER_128, + MAPSEC_VICTORY_ROAD, + MAPSEC_MIRAGE_ISLAND, + MAPSEC_CAVE_OF_ORIGIN, + MAPSEC_SOUTHERN_ISLAND, + MAPSEC_FIERY_PATH, + MAPSEC_FIERY_PATH2, + MAPSEC_JAGGED_PASS, + MAPSEC_JAGGED_PASS2, + MAPSEC_SEALED_CHAMBER, + MAPSEC_UNDERWATER_SEALED_CHAMBER, + MAPSEC_SCORCHED_SLAB, + MAPSEC_ISLAND_CAVE, + MAPSEC_DESERT_RUINS, + MAPSEC_ANCIENT_TOMB, + MAPSEC_INSIDE_OF_TRUCK, + MAPSEC_SKY_PILLAR, + MAPSEC_SECRET_BASE, + MAPSEC_DYNAMIC, + MAPSEC_PALLET_TOWN, + MAPSEC_VIRIDIAN_CITY, + MAPSEC_PEWTER_CITY, + MAPSEC_CERULEAN_CITY, + MAPSEC_LAVENDER_TOWN, + MAPSEC_VERMILION_CITY, + MAPSEC_CELADON_CITY, + MAPSEC_FUCHSIA_CITY, + MAPSEC_CINNABAR_ISLAND, + MAPSEC_INDIGO_PLATEAU, + MAPSEC_SAFFRON_CITY, + MAPSEC_ROUTE_4, + MAPSEC_ROUTE_10, + MAPSEC_ROUTE_1, + MAPSEC_ROUTE_2, + MAPSEC_ROUTE_3, + MAPSEC_ROUTE_4_2, + MAPSEC_ROUTE_5, + MAPSEC_ROUTE_6, + MAPSEC_ROUTE_7, + MAPSEC_ROUTE_8, + MAPSEC_ROUTE_9, + MAPSEC_ROUTE_10_2, + MAPSEC_ROUTE_11, + MAPSEC_ROUTE_12, + MAPSEC_ROUTE_13, + MAPSEC_ROUTE_14, + MAPSEC_ROUTE_15, + MAPSEC_ROUTE_16, + MAPSEC_ROUTE_17, + MAPSEC_ROUTE_18, + MAPSEC_ROUTE_19, + MAPSEC_ROUTE_20, + MAPSEC_ROUTE_21, + MAPSEC_ROUTE_22, + MAPSEC_ROUTE_23, + MAPSEC_ROUTE_24, + MAPSEC_ROUTE_25, + MAPSEC_VIRIDIAN_FOREST, + MAPSEC_MT_MOON, + MAPSEC_S_S_ANNE, + MAPSEC_UNDERGROUND_PATH, + MAPSEC_UNDERGROUND_PATH_2, + MAPSEC_DIGLETTS_CAVE, + MAPSEC_KANTO_VICTORY_ROAD, + MAPSEC_ROCKET_HIDEOUT, + MAPSEC_SILPH_CO, + MAPSEC_POKEMON_MANSION, + MAPSEC_KANTO_SAFARI_ZONE, + MAPSEC_POKEMON_LEAGUE, + MAPSEC_ROCK_TUNNEL, + MAPSEC_SEAFOAM_ISLANDS, + MAPSEC_POKEMON_TOWER, + MAPSEC_CERULEAN_CAVE, + MAPSEC_POWER_PLANT, + MAPSEC_ONE_ISLAND, + MAPSEC_TWO_ISLAND, + MAPSEC_THREE_ISLAND, + MAPSEC_FOUR_ISLAND, + MAPSEC_FIVE_ISLAND, + MAPSEC_SEVEN_ISLAND, + MAPSEC_SIX_ISLAND, + MAPSEC_KINDLE_ROAD, + MAPSEC_TREASURE_BEACH, + MAPSEC_CAPE_BRINK, + MAPSEC_BOND_BRIDGE, + MAPSEC_THREE_ISLE_PORT, + MAPSEC_SEVII_ISLE_6, + MAPSEC_SEVII_ISLE_7, + MAPSEC_SEVII_ISLE_8, + MAPSEC_SEVII_ISLE_9, + MAPSEC_RESORT_GORGEOUS, + MAPSEC_WATER_LABYRINTH, + MAPSEC_FIVE_ISLE_MEADOW, + MAPSEC_MEMORIAL_PILLAR, + MAPSEC_OUTCAST_ISLAND, + MAPSEC_GREEN_PATH, + MAPSEC_WATER_PATH, + MAPSEC_RUIN_VALLEY, + MAPSEC_TRAINER_TOWER, + MAPSEC_CANYON_ENTRANCE, + MAPSEC_SEVAULT_CANYON, + MAPSEC_TANOBY_RUINS, + MAPSEC_SEVII_ISLE_22, + MAPSEC_SEVII_ISLE_23, + MAPSEC_SEVII_ISLE_24, + MAPSEC_NAVEL_ROCK, + MAPSEC_MT_EMBER, + MAPSEC_BERRY_FOREST, + MAPSEC_ICEFALL_CAVE, + MAPSEC_ROCKET_WAREHOUSE, + MAPSEC_TRAINER_TOWER_2, + MAPSEC_DOTTED_HOLE, + MAPSEC_LOST_CAVE, + MAPSEC_PATTERN_BUSH, + MAPSEC_ALTERING_CAVE, + MAPSEC_TANOBY_CHAMBERS, + MAPSEC_THREE_ISLE_PATH, + MAPSEC_TANOBY_KEY, + MAPSEC_BIRTH_ISLAND, + MAPSEC_MONEAN_CHAMBER, + MAPSEC_LIPTOO_CHAMBER, + MAPSEC_WEEPTH_CHAMBER, + MAPSEC_DILFORD_CHAMBER, + MAPSEC_SCUFIB_CHAMBER, + MAPSEC_RIXY_CHAMBER, + MAPSEC_VIAPOIS_CHAMBER, + MAPSEC_EMBER_SPA, + MAPSEC_SPECIAL_AREA, + MAPSEC_AQUA_HIDEOUT, + MAPSEC_MAGMA_HIDEOUT, + MAPSEC_MIRAGE_TOWER, + MAPSEC_BIRTH_ISLAND_2, + MAPSEC_FARAWAY_ISLAND, + MAPSEC_ARTISAN_CAVE, + MAPSEC_MARINE_CAVE, + MAPSEC_UNDERWATER_MARINE_CAVE, + MAPSEC_TERRA_CAVE, + MAPSEC_UNDERWATER_TERRA_CAVE, + MAPSEC_UNDERWATER_UNK1, + MAPSEC_UNDERWATER_129, + MAPSEC_DESERT_UNDERPASS, + MAPSEC_ALTERING_CAVE_2, + MAPSEC_NAVEL_ROCK2, + MAPSEC_TRAINER_HILL, + MAPSEC_NONE +}; + +enum +{ + INPUT_EVENT_NONE, + INPUT_EVENT_MOVE_START, + INPUT_EVENT_MOVE_CONT, + INPUT_EVENT_MOVE_END, + INPUT_EVENT_A_BUTTON, + INPUT_EVENT_B_BUTTON, +}; + +enum { + MAPSECTYPE_NONE, + MAPSECTYPE_PLAIN, + MAPSECTYPE_CITY_CANFLY, + MAPSECTYPE_CITY_CANTFLY, + MAPSECTYPE_BATTLE_FRONTIER +}; + +struct RegionMap { + /*0x000*/ u16 mapSecId; + /*0x002*/ u8 iconDrawType; + /*0x003*/ u8 posWithinMapSec; + /*0x004*/ u8 mapSecName[0x14]; + /*0x018*/ u8 (*inputCallback)(void); + /*0x01c*/ struct Sprite *cursorSprite; + /*0x020*/ struct Sprite *playerIconSprite; + /*0x024*/ s32 bg2x; + /*0x028*/ s32 bg2y; + /*0x02c*/ u32 bg2pa; + /*0x034*/ u32 bg2pc; + /*0x030*/ u32 bg2pb; + /*0x038*/ u32 bg2pd; + /*0x03c*/ s32 unk_03c; + /*0x040*/ s32 unk_040; + /*0x044*/ s32 unk_044; + /*0x048*/ s32 unk_048; + /*0x04c*/ s32 unk_04c; + /*0x050*/ s32 unk_050; + /*0x054*/ u16 cursorPosX; + /*0x056*/ u16 cursorPosY; + /*0x058*/ u16 cursorTileTag; + /*0x05a*/ u16 cursorPaletteTag; + /*0x05c*/ s16 scrollX; + /*0x05e*/ s16 scrollY; + /*0x060*/ s16 unk_060; + /*0x062*/ s16 unk_062; + /*0x064*/ u16 zoomedCursorPosX; + /*0x066*/ u16 zoomedCursorPosY; + /*0x068*/ s16 zoomedCursorDeltaY; + /*0x06a*/ s16 zoomedCursorDeltaX; + /*0x06c*/ u16 zoomedCursorMovementFrameCounter; + /*0x06e*/ u16 unk_06e; + /*0x070*/ u16 playerIconTileTag; + /*0x072*/ u16 playerIconPaletteTag; + /*0x074*/ u16 playerIconSpritePosX; + /*0x076*/ u16 playerIconSpritePosY; + /*0x078*/ bool8 zoomed; + /*0x079*/ u8 initStep; + /*0x07a*/ s8 cursorMovementFrameCounter; + /*0x07b*/ s8 cursorDeltaX; + /*0x07c*/ s8 cursorDeltaY; + /*0x07d*/ bool8 needUpdateVideoRegs; + /*0x07e*/ bool8 blinkPlayerIcon; + /*0x07f*/ bool8 playerIsInCave; + /*0x080*/ u8 bgNum; + /*0x081*/ u8 charBaseIdx; + /*0x082*/ u8 mapBaseIdx; + /*0x083*/ bool8 bgManaged; + /*0x084*/ u8 filler_084[0x100]; + /*0x184*/ u8 cursorSmallImage[0x100]; + /*0x284*/ u8 cursorLargeImage[0x600]; +}; // size = 0x884 + +// Exported RAM declarations + +// Exported ROM declarations +void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed); +bool8 sub_8122DB0(void); +void UpdateRegionMapVideoRegs(void); +void InitRegionMap(struct RegionMap *regionMap, u8 argument); +u8 sub_81230AC(void); +bool8 sub_8123514(void); +void FreeRegionMapIconResources(void); +u16 GetRegionMapSectionIdAt(u16 x, u16 y); +void CreateRegionMapPlayerIcon(u16 x, u16 y); +void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); +u8 *GetMapName(u8 *, u16, u16); +bool32 sub_8124668(u8 mapSecId); + +#endif //GUARD_REGION_MAP_H diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h new file mode 100644 index 000000000..c22135280 --- /dev/null +++ b/include/reshow_battle_screen.h @@ -0,0 +1,7 @@ +#ifndef GUARD_RESHOW_BATTLE_SCREEN_H +#define GUARD_RESHOW_BATTLE_SCREEN_H + +void nullsub_35(void); +void ReshowBattleScreenAfterMenu(void); + +#endif // GUARD_RESHOW_BATTLE_SCREEN_H diff --git a/include/roamer.h b/include/roamer.h new file mode 100644 index 000000000..ba1b09b54 --- /dev/null +++ b/include/roamer.h @@ -0,0 +1,17 @@ +#ifndef GUARD_ROAMER_H +#define GUARD_ROAMER_H + +void ClearRoamerData(void); +void ClearRoamerLocationData(void); +void InitRoamer(void); +void UpdateLocationHistoryForRoamer(void); +void RoamerMoveToOtherLocationSet(void); +void RoamerMove(void); +bool8 IsRoamerAt(u8 mapGroup, u8 mapNum); +void CreateRoamerMonInstance(void); +u8 TryStartRoamerEncounter(void); +void UpdateRoamerHPStatus(struct Pokemon *mon); +void SetRoamerInactive(void); +void GetRoamerLocation(u8 *mapGroup, u8 *mapNum); + +#endif // GUARD_ROAMER_H diff --git a/include/rom6.h b/include/rom6.h new file mode 100644 index 000000000..6d20752e2 --- /dev/null +++ b/include/rom6.h @@ -0,0 +1,15 @@ +#ifndef GUARD_ROM6_H +#define GUARD_ROM6_H + +void sub_81357FC(u8, void(void)); +u8 GetLeadMonIndex(void); +u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); +void sub_813BADC(bool8); +bool8 sub_813B9C0(void); +void UpdateMirageRnd(u16 days); +void UpdateBirchState(u16 days); +void UpdateFrontierManiac(u16 days); +void UpdateFrontierGambler(u16 days); +void SetShoalItemFlag(u16 days); + +#endif //GUARD_ROM6_H diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h new file mode 100644 index 000000000..1d0626b2b --- /dev/null +++ b/include/rom_818CFC8.h @@ -0,0 +1,11 @@ +// +// Created by Scott Norton on 9/6/17. +// + +#ifndef GUARD_ROM_818CFC8_H +#define GUARD_ROM_818CFC8_H + +bool8 InBattlePyramid(void); +u8 sub_81AAA40(void); + +#endif //GUARD_ROM_818CFC8_H diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h new file mode 100644 index 000000000..5b4f80249 --- /dev/null +++ b/include/rom_81BE66C.h @@ -0,0 +1,12 @@ +// +// Created by Scott Norton on 9/6/17. +// + +#ifndef GUARD_ROM_81BE66C_H +#define GUARD_ROM_81BE66C_H + +bool32 InTrainerHill(void); +bool8 FieldObjectIsFarawayIslandMew(struct MapObject *); +u32 sub_81D427C(void); + +#endif //GUARD_ROM_81BE66C_H diff --git a/include/safari_zone.h b/include/safari_zone.h new file mode 100644 index 000000000..9a81894b8 --- /dev/null +++ b/include/safari_zone.h @@ -0,0 +1,19 @@ +#ifndef GUARD_SAFARI_ZONE_H +#define GUARD_SAFARI_ZONE_H + +extern u8 gNumSafariBalls; + +bool32 GetSafariZoneFlag(void); +void SetSafariZoneFlag(void); +void ResetSafariZoneFlag(void); + +void EnterSafariMode(void); +void ExitSafariMode(void); + +bool8 SafariZoneTakeStep(void); +void SafariZoneRetirePrompt(void); + +struct Pokeblock *SafariZoneGetActivePokeblock(void); +void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index); + +#endif // GUARD_SAFARI_ZONE_H diff --git a/include/save.h b/include/save.h new file mode 100644 index 000000000..3bd1ff8cf --- /dev/null +++ b/include/save.h @@ -0,0 +1,97 @@ +#ifndef GUARD_SAVE_H +#define GUARD_SAVE_H + +extern u16 gSaveFileStatus; + +struct SaveSectionLocation +{ + void *data; + u16 size; +}; + +struct SaveSection +{ + u8 data[0xFF4]; + u16 id; + u16 checksum; + u32 security; + u32 counter; +}; // size is 0x1000 + +// headless save section? +struct UnkSaveSection +{ + u8 data[0xFF4]; + u32 security; +}; // size is 0xFF8 + +struct SaveSectionOffsets +{ + u16 toAdd; + u16 size; +}; + +// Emerald changes this definition to be the sectors per slot. +#define NUM_SECTORS_PER_SLOT 16 // move to save.h + +#define UNKNOWN_CHECK_VALUE 0x8012025 + +// SetDamagedSectorBits states +enum +{ + ENABLE, + DISABLE, + CHECK // unused +}; + +// Do save types +enum +{ + NORMAL_SAVE, + LINK_SAVE, + //EREADER_SAVE, // depreciated in Emerald + LINK2_SAVE, // unknown 2nd link save + HOF_SAVE, + DIFFERENT_FILE_SAVE, + HOF_DELETE_SAVE // unused +}; + +#define SECTION_ID_RECORDED_BATTLE 31 + +void ClearSaveData(void); +void ResetSaveCounters(void); +bool32 SetDamagedSectorBits(u8 op, u8 bit); +u8 save_write_to_flash(u16 a1, const struct SaveSectionLocation *location); +u8 HandleWriteSector(u16 a1, const struct SaveSectionLocation *location); +u8 HandleWriteSectorNBytes(u8 sector, u8 *data, u16 size); +u8 TryWriteSector(u8 sector, u8 *data); +u32 RestoreSaveBackupVarsAndIncrement(const struct SaveSectionLocation *location); +u32 RestoreSaveBackupVars(const struct SaveSectionLocation *location); +u8 sub_81529D4(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152A34(u16 a1, const struct SaveSectionLocation *location); +u8 ClearSaveData_2(u16 a1, const struct SaveSectionLocation *location); +u8 sav12_xor_get(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152CAC(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152D44(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152DD0(u16 a1, const struct SaveSectionLocation *location); +u8 sub_8152E10(u16 a1, const struct SaveSectionLocation *location); +u8 GetSaveValidStatus(const struct SaveSectionLocation *location); +u8 sub_81530DC(u8 a1, u8 *data, u16 size); +u8 DoReadFlashWholeSection(u8 sector, struct SaveSection *section); +u16 CalculateChecksum(void *data, u16 size); +void UpdateSaveAddresses(void); +u8 HandleSavingData(u8 saveType); +u8 TrySavingData(u8 saveType); +u8 sub_8153380(void); +bool8 sub_81533AC(void); +u8 sub_81533E0(void); +u8 sub_8153408(void); +u8 sub_8153430(void); +bool8 sub_8153474(void); +u8 sub_81534D0(u8 a1); +u16 sub_815355C(void); +u32 TryCopySpecialSaveSection(u8 sector, u8* dst); +u32 sub_8153634(u8 sector, u8* src); +void sub_8153688(u8 taskId); + +#endif // GUARD_SAVE_H diff --git a/include/save_location.h b/include/save_location.h new file mode 100644 index 000000000..95b3a7d7d --- /dev/null +++ b/include/save_location.h @@ -0,0 +1,9 @@ +#ifndef GUARD_SAVE_LOCATION_H +#define GUARD_SAVE_LOCATION_H + +bool32 sub_81AFCEC(void); +void TrySetMapSaveWarpStatus(void); +void sub_81AFDA0(void); +void sub_81AFDD0(void); + +#endif // GUARD_SAVE_LOCATION_H diff --git a/include/script.h b/include/script.h new file mode 100644 index 000000000..2b5f8c2ce --- /dev/null +++ b/include/script.h @@ -0,0 +1,64 @@ +#ifndef GUARD_SCRIPT_H +#define GUARD_SCRIPT_H + +struct ScriptContext; + +typedef bool8 (*ScrCmdFunc)(struct ScriptContext *); +typedef u8 Script[]; + +struct ScriptContext +{ + u8 stackDepth; + u8 mode; + u8 comparisonResult; + u8 (*nativePtr)(void); + const u8 *scriptPtr; + const u8 *stack[20]; + ScrCmdFunc *cmdTable; + ScrCmdFunc *cmdTableEnd; + u32 data[4]; +}; + +#define ScriptReadByte(ctx) (*(ctx->scriptPtr++)) + +void InitScriptContext(struct ScriptContext *ctx, void *cmdTable, void *cmdTableEnd); +u8 SetupBytecodeScript(struct ScriptContext *ctx, const u8 *ptr); +void SetupNativeScript(struct ScriptContext *ctx, bool8 (*ptr)(void)); +void StopScript(struct ScriptContext *ctx); +bool8 RunScriptCommand(struct ScriptContext *ctx); +u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr); +const u8 *ScriptPop(struct ScriptContext *ctx); +void ScriptJump(struct ScriptContext *ctx, const u8 *ptr); +void ScriptCall(struct ScriptContext *ctx, const u8 *ptr); +void ScriptReturn(struct ScriptContext *ctx); +u16 ScriptReadHalfword(struct ScriptContext *ctx); +u32 ScriptReadWord(struct ScriptContext *ctx); +void ScriptContext2_Enable(void); +void ScriptContext2_Disable(void); +bool8 ScriptContext2_IsEnabled(void); +void ScriptContext1_Init(void); +bool8 ScriptContext1_IsScriptSetUp(void); +bool8 ScriptContext2_RunScript(void); +void ScriptContext1_SetupScript(const u8 *ptr); +void ScriptContext1_Stop(void); +void EnableBothScriptContexts(void); +void ScriptContext2_RunNewScript(const u8 *ptr); +u8 *mapheader_get_tagged_pointer(u8 tag); +void mapheader_run_script_by_tag(u8 tag); +u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag); +void mapheader_run_script_with_tag_x1(void); +void mapheader_run_script_with_tag_x3(void); +void mapheader_run_script_with_tag_x5(void); +void mapheader_run_script_with_tag_x7(void); +void mapheader_run_script_with_tag_x6(void); +bool8 mapheader_run_first_tag2_script_list_match(void); +void mapheader_run_first_tag4_script_list_match(void); +u32 CalculateRamScriptChecksum(void); +void ClearRamScript(void); +bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); +u8 *GetRamScript(u8 objectId, u8 *script); +bool32 sub_80991F8(void); +u8 *sub_8099244(void); +void sub_80992A0(u8 *script, u16 scriptSize); + +#endif // GUARD_SCRIPT_H diff --git a/include/script_menu.h b/include/script_menu.h new file mode 100644 index 000000000..717eda041 --- /dev/null +++ b/include/script_menu.h @@ -0,0 +1,13 @@ +#ifndef GUARD_SCRIPT_MENU_H +#define GUARD_SCRIPT_MENU_H + +extern const u8 *const gUnknown_0858BAF0[9]; + +bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4); +bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5); +bool8 ScriptMenu_YesNo(u8 var1, u8 var2); +bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount); +bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); +bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); + +#endif //GUARD_SCRIPT_MENU_H diff --git a/include/script_movement.h b/include/script_movement.h new file mode 100644 index 000000000..4c3fa6002 --- /dev/null +++ b/include/script_movement.h @@ -0,0 +1,8 @@ +#ifndef GUARD_SCRIPT_MOVEMENT_H +#define GUARD_SCRIPT_MOVEMENT_H + +bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); +bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); +void sub_80D338C(void); + +#endif // GUARD_SCRIPT_MOVEMENT_H diff --git a/include/script_pokemon_80F8.h b/include/script_pokemon_80F8.h new file mode 100644 index 000000000..8dd7ed0c0 --- /dev/null +++ b/include/script_pokemon_80F8.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SCRIPTPOKE80F8_H +#define GUARD_SCRIPTPOKE80F8_H + +void ShowContestWinner(void); +u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); +u8 ScriptGiveEgg(u16); +void CreateScriptedWildMon(u16, u8, u16); +void ScriptSetMonMoveSlot(u8, u16, u8); + +#endif diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h new file mode 100644 index 000000000..1b8563ee6 --- /dev/null +++ b/include/script_pokemon_81B9.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SCRIPTPOKE81B9_H +#define GUARD_SCRIPTPOKE81B9_H + +void sub_81B9404(void); + +#endif diff --git a/include/shop.h b/include/shop.h new file mode 100644 index 000000000..d3e86408c --- /dev/null +++ b/include/shop.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SHOP_H +#define GUARD_SHOP_H + +extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; + +void CreatePokemartMenu(const u16 *); +void CreateDecorationShop1Menu(const u16 *); +void CreateDecorationShop2Menu(const u16 *); + +#endif // GUARD_SHOP_H diff --git a/include/slot_machine.h b/include/slot_machine.h new file mode 100644 index 000000000..8334e56fc --- /dev/null +++ b/include/slot_machine.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SLOT_MACHINE_H +#define GUARD_SLOT_MACHINE_H + +void PlaySlotMachine(u8, void *); + +#endif // GUARD_SLOT_MACHINE_H diff --git a/include/songs.h b/include/songs.h new file mode 100644 index 000000000..5a1fff00c --- /dev/null +++ b/include/songs.h @@ -0,0 +1,466 @@ +#ifndef GUARD_SONGS_H +#define GUARD_SONGS_H + +enum +{ + /*0x00*/ SE_STOP, + /*0x01*/ SE_KAIFUKU, + /*0x02*/ SE_PC_LOGON, + /*0x03*/ SE_PC_OFF, + /*0x04*/ SE_PC_ON, + /*0x05*/ SE_SELECT, + /*0x06*/ SE_WIN_OPEN, + /*0x07*/ SE_WALL_HIT, + /*0x08*/ SE_DOOR, + /*0x09*/ SE_KAIDAN, + /*0x0A*/ SE_DANSA, + /*0x0B*/ SE_JITENSYA, + /*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because + /*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move + /*0x0E*/ SE_KOUKA_H, + /*0x0F*/ SE_BOWA2, + /*0x10*/ SE_POKE_DEAD, + /*0x11*/ SE_NIGERU, + /*0x12*/ SE_JIDO_DOA, + /*0x13*/ SE_NAMINORI, + /*0x14*/ SE_BAN, + /*0x15*/ SE_PIN, + /*0x16*/ SE_BOO, + /*0x17*/ SE_BOWA, + /*0x18*/ SE_JYUNI, + /*0x19*/ SE_A, + /*0x1A*/ SE_I, + /*0x1B*/ SE_U, + /*0x1C*/ SE_E, + /*0x1D*/ SE_O, + /*0x1E*/ SE_N, + /*0x1F*/ SE_SEIKAI, + /*0x20*/ SE_HAZURE, + /*0x21*/ SE_EXP, + /*0x22*/ SE_JITE_PYOKO, + /*0x23*/ SE_MU_PACHI, + /*0x24*/ SE_TK_KASYA, + /*0x25*/ SE_FU_ZAKU, + /*0x26*/ SE_FU_ZAKU2, + /*0x27*/ SE_FU_ZUZUZU, + /*0x28*/ SE_RU_GASHIN, + /*0x29*/ SE_RU_GASYAN, + /*0x2A*/ SE_RU_BARI, + /*0x2B*/ SE_RU_HYUU, + /*0x2C*/ SE_KI_GASYAN, + /*0x2D*/ SE_TK_WARPIN, + /*0x2E*/ SE_TK_WARPOUT, + /*0x2F*/ SE_TU_SAA, + /*0x30*/ SE_HI_TURUN, + /*0x31*/ SE_TRACK_MOVE, + /*0x32*/ SE_TRACK_STOP, + /*0x33*/ SE_TRACK_HAIK, + /*0x34*/ SE_TRACK_DOOR, + /*0x35*/ SE_MOTER, + /*0x36*/ SE_CARD, + /*0x37*/ SE_SAVE, + /*0x38*/ SE_KON, + /*0x39*/ SE_KON2, + /*0x3A*/ SE_KON3, + /*0x3B*/ SE_KON4, + /*0x3C*/ SE_SUIKOMU, + /*0x3D*/ SE_NAGERU, + SE_TOY_C, + SE_TOY_D, + SE_TOY_E, + SE_TOY_F, + SE_TOY_G, + SE_TOY_A, + SE_TOY_B, + SE_TOY_C1, + SE_MIZU, + SE_HASHI, + SE_DAUGI, + SE_PINPON, + SE_FUUSEN1, + SE_FUUSEN2, + SE_FUUSEN3, + SE_TOY_KABE, + SE_TOY_DANGO, + SE_DOKU, + SE_ESUKA, + SE_T_AME, + SE_T_AME_E, + SE_T_OOAME, + SE_T_OOAME_E, + SE_T_KOAME, + SE_T_KOAME_E, + SE_T_KAMI, + SE_T_KAMI2, + SE_ELEBETA, + /*0x5A*/ SE_HINSI, + /*0x5B*/ SE_EXPMAX, + /*0x5C*/ SE_TAMAKORO, + /*0x5D*/ SE_TAMAKORO_E, + /*0x5E*/ SE_BASABASA, + /*0x5F*/ SE_REGI, + SE_C_GAJI, + SE_C_MAKU_U, + SE_C_MAKU_D, + SE_C_PASI, + SE_C_SYU, + SE_C_PIKON, + /*0x66*/ SE_REAPOKE, + /*0x67*/ SE_OP_BASYU, + /*0x68*/ SE_BT_START, + SE_DENDOU, + SE_JIHANKI, + SE_TAMA, + SE_Z_SCROLL, + /*0x6D*/ SE_Z_PAGE, + /*0x6E*/ SE_PN_ON, + /*0x6F*/ SE_PN_OFF, + /*0x70*/ SE_Z_SEARCH, + /*0x71*/ SE_TAMAGO, + /*0x72*/ SE_TB_START, + /*0x73*/ SE_TB_KON, + /*0x74*/ SE_TB_KARA, + /*0x75*/ SE_BIDORO, + /*0x76*/ SE_W085, + /*0x77*/ SE_W085B, + /*0x78*/ SE_W231, + /*0x79*/ SE_W171, + /*0x7A*/ SE_W233, + /*0x7B*/ SE_W233B, + /*0x7C*/ SE_W145, + /*0x7D*/ SE_W145B, + /*0x7E*/ SE_W145C, + /*0x7F*/ SE_W240, + /*0x80*/ SE_W015, + /*0x81*/ SE_W081, + /*0x82*/ SE_W081B, + /*0x83*/ SE_W088, + /*0x84*/ SE_W016, + /*0x85*/ SE_W016B, + /*0x86*/ SE_W003, + /*0x87*/ SE_W104, + /*0x88*/ SE_W013, + /*0x89*/ SE_W196, + /*0x8A*/ SE_W086, + /*0x8B*/ SE_W004, + /*0x8C*/ SE_W025, + /*0x8D*/ SE_W025B, + SE_W152, + SE_W026, + SE_W172, + SE_W172B, + SE_W053, + SE_W007, + SE_W092, + SE_W221, + SE_W221B, + SE_W052, + SE_W036, + SE_W059, + SE_W059B, + SE_W010, + SE_W011, + SE_W017, + SE_W019, + SE_W028, + SE_W013B, + SE_W044, + SE_W029, + SE_W057, + SE_W056, + SE_W250, + SE_W030, + SE_W039, + SE_W054, + SE_W077, + SE_W020, + SE_W082, + SE_W047, + SE_W195, + SE_W006, + SE_W091, + SE_W146, + SE_W120, + SE_W153, + SE_W071B, + SE_W071, + SE_W103, + /*0xB6*/ SE_W062, + /*0xB7*/ SE_W062B, + /*0xB8*/ SE_W048, + /*0xB9*/ SE_W187, + /*0xBA*/ SE_W118, + /*0xBB*/ SE_W155, + /*0xBC*/ SE_W122, + /*0xBD*/ SE_W060, + /*0xBE*/ SE_W185, + /*0xBF*/ SE_W014, + /*0xC0*/ SE_W043, + /*0xC1*/ SE_W207, + /*0xC2*/ SE_W207B, + /*0xC3*/ SE_W215, + /*0xC4*/ SE_W109, + /*0xC5*/ SE_W173, + /*0xC6*/ SE_W280, + /*0xC7*/ SE_W202, + /*0xC8*/ SE_W060B, + /*0xC9*/ SE_W076, + /*0xCA*/ SE_W080, + /*0xCB*/ SE_W100, + /*0xCC*/ SE_W107, + SE_W166, + SE_W129, + SE_W115, + SE_W112, + SE_W197, + SE_W199, + SE_W236, + SE_W204, + SE_W268, + SE_W070, + SE_W063, + SE_W127, + SE_W179, + SE_W151, + SE_W201, + SE_W161, + SE_W161B, + SE_W227, + SE_W227B, + SE_W226, + SE_W208, + SE_W213, + SE_W213B, + SE_W234, + SE_W260, + SE_W328, + SE_W320, + SE_W255, + SE_W291, + SE_W089, + SE_W239, + SE_W230, + SE_W281, + SE_W327, + SE_W287, + SE_W257, + SE_W253, + SE_W258, + SE_W322, + SE_W298, + SE_W287B, + SE_W114, + SE_W063B, + BGM_STOP = 349, + /*0x15E*/ BGM_TETSUJI, + /*0x15F*/ BGM_FIELD13, + /*0x160*/ BGM_KACHI22, + /*0x161*/ BGM_KACHI2, + /*0x162*/ BGM_KACHI3, + /*0x163*/ BGM_KACHI5, + /*0x164*/ BGM_PCC, + /*0x165*/ BGM_NIBI, + /*0x166*/ BGM_SUIKUN, + /*0x167*/ BGM_DOORO1, + /*0x168*/ BGM_DOORO_X1, + /*0x169*/ BGM_DOORO_X3, + /*0x16A*/ BGM_MACHI_S2, + /*0x16B*/ BGM_MACHI_S4, + /*0x16C*/ BGM_GIM, + /*0x16D*/ BGM_NAMINORI, + /*0x16E*/ BGM_DAN01, + /*0x16F*/ BGM_FANFA1, + /*0x170*/ BGM_ME_ASA, + /*0x171*/ BGM_ME_BACHI, + /*0x172*/ BGM_FANFA4, + /*0x173*/ BGM_FANFA5, + /*0x174*/ BGM_ME_WAZA, + /*0x175*/ BGM_BIJYUTU, + /*0x176*/ BGM_DOORO_X4, + /*0x177*/ BGM_FUNE_KAN, + /*0x178*/ BGM_ME_SHINKA, + /*0x179*/ BGM_SHINKA, + /*0x17A*/ BGM_ME_WASURE, + /*0x17B*/ BGM_SYOUJOEYE, + /*0x17C*/ BGM_BOYEYE, + /*0x17D*/ BGM_DAN02, + /*0x17E*/ BGM_MACHI_S3, + /*0x17F*/ BGM_ODAMAKI, + /*0x180*/ BGM_B_TOWER, + /*0x181*/ BGM_SWIMEYE, + /*0x182*/ BGM_DAN03, + /*0x183*/ BGM_ME_KINOMI, + /*0x184*/ BGM_ME_TAMA, + /*0x185*/ BGM_ME_B_BIG, + /*0x186*/ BGM_ME_B_SMALL, + /*0x187*/ BGM_ME_ZANNEN, + /*0x188*/ BGM_BD_TIME, + /*0x189*/ BGM_TEST1, + /*0x18A*/ BGM_TEST2, + /*0x18B*/ BGM_TEST3, + /*0x18C*/ BGM_TEST4, + /*0x18D*/ BGM_TEST, + /*0x18E*/ BGM_GOMACHI0, + /*0x18F*/ BGM_GOTOWN, + /*0x190*/ BGM_POKECEN, + /*0x191*/ BGM_NEXTROAD, + /*0x192*/ BGM_GRANROAD, + /*0x193*/ BGM_CYCLING, + /*0x194*/ BGM_FRIENDLY, + /*0x195*/ BGM_MISHIRO, + /*0x196*/ BGM_TOZAN, + /*0x197*/ BGM_GIRLEYE, + /*0x198*/ BGM_MINAMO, + /*0x199*/ BGM_ASHROAD, + /*0x19A*/ BGM_EVENT0, + /*0x19B*/ BGM_DEEPDEEP, + /*0x19C*/ BGM_KACHI1, + /*0x19D*/ BGM_TITLE3, + /*0x19E*/ BGM_DEMO1, + /*0x19F*/ BGM_GIRL_SUP, + /*0x1A0*/ BGM_HAGESHII, + /*0x1A1*/ BGM_KAKKOII, + /*0x1A2*/ BGM_KAZANBAI, + /*0x1A3*/ BGM_AQA_0, + /*0x1A4*/ BGM_TSURETEK, + /*0x1A5*/ BGM_BOY_SUP, + /*0x1A6*/ BGM_RAINBOW, + /*0x1A7*/ BGM_AYASII, + /*0x1A8*/ BGM_KACHI4, + /*0x1A9*/ BGM_ROPEWAY, + /*0x1AA*/ BGM_CASINO, + /*0x1AB*/ BGM_HIGHTOWN, + /*0x1AC*/ BGM_SAFARI, + BGM_C_ROAD, + BGM_AJITO, + BGM_M_BOAT, + BGM_M_DUNGON, + BGM_FINECITY, + BGM_MACHUPI, + BGM_P_SCHOOL, + BGM_DENDOU, + BGM_TONEKUSA, + BGM_MABOROSI, + BGM_CON_FAN, + BGM_CONTEST0, + BGM_MGM0, + BGM_T_BATTLE, + BGM_OOAME, + BGM_HIDERI, + BGM_RUNECITY, + BGM_CON_K, + BGM_EIKOU_R, + BGM_KARAKURI, + BGM_HUTAGO, + BGM_SITENNOU, + BGM_YAMA_EYE, + BGM_CONLOBBY, + BGM_INTER_V, + BGM_DAIGO, + BGM_THANKFOR, + BGM_END, + /*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames + BGM_BATTLE_ARENA, + BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above + BGM_ME_MATCH_CALL, + BGM_BATTLE_PYRAMID, + BGM_BATTLE_PYRAMID_SUMMIT, + BGM_BATTLE_PALACE, + BGM_FANFA_RAYQUAZA, + BGM_BATTLE_TOWER, + BGM_ME_BATTLE_SYMBOL, + BGM_BATTLE_DOME_TOURNAMENT, + BGM_BATTLE_PIKE, + BGM_BATTLE_FACTORY, + BGM_BATTLE_LEGENDARY, + BGM_BATTLE_FRONTIER_BRAIN, + BGM_BATTLE_MEW, + BGM_BATTLE_DOME, // end of the human-readable names + /*0x1DA*/ BGM_BATTLE27, // wild + BGM_BATTLE31, // aqua/magma grunt + BGM_BATTLE20, // trainer + BGM_BATTLE32, // gym leader + BGM_BATTLE33, // champion + BGM_BATTLE36, // regi + BGM_BATTLE34, // weather trio + BGM_BATTLE35, // rival + BGM_BATTLE38, // elite four + BGM_BATTLE30, // aqua/magma leader + /*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again! + BGM_FRLG_GAMECORNER, + BGM_FRLG_ROCKET_HIDEOUT, + BGM_FRLG_GYM, + BGM_FRLG_JIGGLYPUFF, + BGM_FRLG_OPENING, + BGM_FRLG_TITLE, + BGM_FRLG_CINNABAR_ISLAND, + BGM_FRLG_LAVENDER_TOWN, + BGM_FRLG_HEALING_TEST, + BGM_FRLG_BICYCLE, + BGM_FRLG_SUSPICIOUS_EYE, + BGM_FRLG_GIRL_EYE, + BGM_FRLG_BOY_EYE, + BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME, + BGM_FRLG_VIRIDIAN_FOREST, + BGM_FRLG_MT_MOON, + BGM_FRLG_POKEMON_MANSION, + BGM_FRLG_CREDITS, + BGM_FRLG_ROUTE_1, + BGM_FRLG_ROUTE_24, + BGM_FRLG_ROUTE_3, + BGM_FRLG_ROUTE_11, + BGM_FRLG_INDIGO_PLATEAU, + BGM_FRLG_BATTLE_LEADER, + BGM_FRLG_BATTLE_TRAINER, + BGM_FRLG_BATTLE_WILD_POKEMON, + BGM_FRLG_BATTLE_CHAMPION, + BGM_FRLG_PALLET_TOWN, + BGM_FRLG_OAK_LAB, + BGM_FRLG_PROF_OAK, + BGM_FRLG_POKEMON_CENTER, + BGM_FRLG_SS_ANNE, + BGM_FRLG_SURF, + BGM_FRLG_POKEMON_TOWER, + BGM_FRLG_SILPH, + BGM_FRLG_CERULEAN_CITY, + BGM_FRLG_CELADON_CITY, + BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory + BGM_FRLG_KACHI_WILD_POKEMON, + BGM_FRLG_KACHI_LEADER, + BGM_FRLG_VERMILION_CITY, + BGM_FRLG_VIRIDIAN_CITY, + BGM_FRLG_RIVAL, + BGM_FRLG_RIVAL_POSTBATTLE, + BGM_FRLG_ME_POKEDEX_EVAL, + BGM_FRLG_ME_KEYITEM, + BGM_FRLG_FANFA_POKEMON_CAUGHT, + BGM_FRLG_FANFA_TRAINERCARD_PHOTO, + BGM_FRLG_GAMEFREAK_LOGO, + BGM_FRLG_CAUGHT_POKEMON, + BGM_FRLG_GAME_EXPLANATION_START, + BGM_FRLG_GAME_EXPLANATION_MIDDLE, + BGM_FRLG_GAME_EXPLANATION_END, + BGM_FRLG_POKEMON_JUMP, + BGM_FRLG_UNION_ROOM, + BGM_FRLG_POKEMON_NETWORK_CENTER, + BGM_FRLG_MYSTERY_GIFT, + BGM_FRLG_DODRIO_BERRY_PICK, + BGM_FRLG_MT_EMBER, + BGM_FRLG_TEACHY_TV_EPISODE, + BGM_FRLG_SEVII_ISLANDS, + BGM_FRLG_TANOBY_RUINS, + BGM_FRLG_ISLAND_ONE, + BGM_FRLG_ISLAND_FOUR, + BGM_FRLG_ISLAND_SIX, + BGM_FRLG_FLUTE, + BGM_FRLG_BATTLE_DEOXYS, + BGM_FRLG_BATTLE_MEWTWO, + BGM_FRLG_BATTLE_LEGENDARY, + BGM_FRLG_LEADER_EYE, + BGM_FRLG_DEOXYS_EYE, + BGM_FRLG_TRAINER_TOWER, + BGM_FRLG_HALL_OF_FAME_PALLET_TOWN, + /*0x22E*/BGM_FRLG_TEACHY_TV, +}; + +#endif // GUARD_SONGS_H diff --git a/include/sound.h b/include/sound.h new file mode 100644 index 000000000..7d47b7456 --- /dev/null +++ b/include/sound.h @@ -0,0 +1,48 @@ +#ifndef GUARD_SOUND_H +#define GUARD_SOUND_H + +void InitMapMusic(void); +void MapMusicMain(void); +void ResetMapMusic(void); +u16 GetCurrentMapMusic(void); +void PlayNewMapMusic(u16 songNum); +void StopMapMusic(void); +void FadeOutMapMusic(u8 speed); +void FadeOutAndPlayNewMapMusic(u16 songNum, u8 speed); +void FadeOutAndFadeInNewMapMusic(u16 songNum, u8 fadeOutSpeed, u8 fadeInSpeed); +void FadeInNewMapMusic(u16 songNum, u8 speed); +bool8 IsNotWaitingForBGMStop(void); +void PlayFanfareByFanfareNum(u8 fanfareNum); +bool8 WaitFanfare(bool8 stop); +void StopFanfareByFanfareNum(u8 fanfareNum); +void PlayFanfare(u16 songNum); +bool8 IsFanfareTaskInactive(void); +void FadeInNewBGM(u16 songNum, u8 speed); +void FadeOutBGMTemporarily(u8 speed); +bool8 IsBGMPausedOrStopped(void); +void FadeInBGM(u8 speed); +void FadeOutBGM(u8 speed); +bool8 IsBGMStopped(void); +void PlayCry1(u16 species, s8 pan); +void PlayCry2(u16 species, s8 pan, s8 volume, u8 priority); +void PlayCry3(u16 species, s8 pan, u8 mode); +void PlayCry4(u16 species, s8 pan, u8 mode); +void PlayCry5(u16 species, u8 mode); +void PlayCry6(u16 species, s8 pan, u8 mode); +void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode); +bool8 IsCryFinished(void); +void StopCryAndClearCrySongs(void); +void StopCry(void); +bool8 IsCryPlayingOrClearCrySongs(void); +bool8 IsCryPlaying(void); +void PlayBGM(u16 songNum); +void PlaySE(u16 songNum); +void PlaySE12WithPanning(u16 songNum, s8 pan); +void PlaySE1WithPanning(u16 songNum, s8 pan); +void PlaySE2WithPanning(u16 songNum, s8 pan); +void SE12PanpotControl(s8 pan); +bool8 IsSEPlaying(void); +bool8 IsBGMPlaying(void); +bool8 IsSpecialSEPlaying(void); + +#endif // GUARD_SOUND_H diff --git a/include/sprite.h b/include/sprite.h new file mode 100644 index 000000000..170d77c3f --- /dev/null +++ b/include/sprite.h @@ -0,0 +1,302 @@ +#ifndef GUARD_SPRITE_H +#define GUARD_SPRITE_H + +#define MAX_SPRITES 64 + +struct SpriteSheet +{ + const u8 *data; // Raw uncompressed pixel data + u16 size; + u16 tag; +}; + +struct CompressedSpriteSheet +{ + const u8 *data; // LZ77 compressed pixel data + u16 size; // Uncompressed size of pixel data + u16 tag; +}; + +struct SpriteFrameImage +{ + const u8 *data; + u16 size; +}; + +#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr} + +struct SpritePalette +{ + const u16 *data; // Raw uncompressed palette data + u16 tag; +}; + +struct CompressedSpritePalette +{ + const u8 *data; // LZ77 compressed palette data + u16 tag; +}; + +struct AnimFrameCmd +{ + // If the sprite has an array of images, this is the array index. + // If the sprite has a sheet, this is the tile offset. + u32 imageValue:16; + + u32 duration:6; + u32 hFlip:1; + u32 vFlip:1; +}; + +struct AnimLoopCmd +{ + u32 type:16; + u32 count:6; +}; + +struct AnimJumpCmd +{ + u32 type:16; + u32 target:6; +}; + +// The first halfword of this union specifies the type of command. +// If it -2, then it is a jump command. If it is -1, then it is the end of the script. +// Otherwise, it is the imageValue for a frame command. +union AnimCmd +{ + s16 type; + struct AnimFrameCmd frame; + struct AnimLoopCmd loop; + struct AnimJumpCmd jump; +}; + +#define ANIMCMD_FRAME(...) \ + {.frame = {__VA_ARGS__}} +#define ANIMCMD_LOOP(_count) \ + {.loop = {.type = -3, .count = _count}} +#define ANIMCMD_JUMP(_target) \ + {.jump = {.type = -2, .target = _target}} +#define ANIMCMD_END \ + {.type = -1} + +struct AffineAnimFrameCmd +{ + s16 xScale; + s16 yScale; + u8 rotation; + u8 duration; +}; + +struct AffineAnimLoopCmd +{ + s16 type; + s16 count; +}; + +struct AffineAnimJumpCmd +{ + s16 type; + u16 target; +}; + +union AffineAnimCmd +{ + s16 type; + struct AffineAnimFrameCmd frame; + struct AffineAnimLoopCmd loop; + struct AffineAnimJumpCmd jump; +}; + +#define AFFINEANIMCMDTYPE_LOOP 0x7FFD +#define AFFINEANIMCMDTYPE_JUMP 0x7FFE +#define AFFINEANIMCMDTYPE_END 0x7FFF + +#define AFFINEANIMCMD_FRAME(_xScale, _yScale, _rotation, _duration) \ + {.frame = {.xScale = _xScale, .yScale = _yScale, .rotation = _rotation, .duration = _duration}} +#define AFFINEANIMCMD_LOOP(_count) \ + {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}} +#define AFFINEANIMCMD_JUMP(_target) \ + {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} +#define AFFINEANIMCMD_END \ + {.type = AFFINEANIMCMDTYPE_END} +#define AFFINEANIMCMD_LOOP(_count) \ + {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}} +#define AFFINEANIMCMD_JUMP(_target) \ + {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}} + +struct AffineAnimState +{ + u8 animNum; + u8 animCmdIndex; + u8 delayCounter; + u8 loopCounter; + s16 xScale; + s16 yScale; + u16 rotation; +}; + +enum +{ + SUBSPRITES_OFF, + SUBSPRITES_ON, + SUBSPRITES_IGNORE_PRIORITY, // on but priority is ignored +}; + +struct Subsprite +{ + s8 x; // was u16 in R/S + s8 y; // was u16 in R/S + u16 shape:2; + u16 size:2; + u16 tileOffset:10; + u16 priority:2; +}; + +struct SubspriteTable +{ + u8 subspriteCount; + const struct Subsprite *subsprites; +}; + +struct Sprite; + +struct SpriteTemplate +{ + u16 tileTag; + u16 paletteTag; + const struct OamData *oam; + const union AnimCmd *const *anims; + const struct SpriteFrameImage *images; + const union AffineAnimCmd *const *affineAnims; + void (*callback)(struct Sprite *); +}; + +struct Sprite +{ + /*0x00*/ struct OamData oam; + /*0x08*/ const union AnimCmd *const *anims; + /*0x0C*/ const struct SpriteFrameImage *images; + /*0x10*/ const union AffineAnimCmd *const *affineAnims; + /*0x14*/ const struct SpriteTemplate *template; + /*0x18*/ const struct SubspriteTable *subspriteTables; + /*0x1C*/ void (*callback)(struct Sprite *); + + /*0x20*/ struct Coords16 pos1; + /*0x24*/ struct Coords16 pos2; + /*0x28*/ s8 centerToCornerVecX; + /*0x29*/ s8 centerToCornerVecY; + + /*0x2A*/ u8 animNum; + /*0x2B*/ u8 animCmdIndex; + /*0x2C*/ u8 animDelayCounter:6; + u8 animPaused:1; + u8 affineAnimPaused:1; + /*0x2D*/ u8 animLoopCounter; + + // general purpose data fields + /*0x2E*/ s16 data[8]; + + /*0x3E*/ u16 inUse:1; //1 + u16 coordOffsetEnabled:1; //2 + u16 invisible:1; //4 + u16 flags_3:1; //8 + u16 flags_4:1; //0x10 + u16 flags_5:1; //0x20 + u16 flags_6:1; //0x40 + u16 flags_7:1; //0x80 + /*0x3F*/ u16 hFlip:1; //1 + u16 vFlip:1; //2 + u16 animBeginning:1; //4 + u16 affineAnimBeginning:1; //8 + u16 animEnded:1; //0x10 + u16 affineAnimEnded:1; //0x20 + u16 usingSheet:1; //0x40 + u16 flags_f:1; //0x80 + + /*0x40*/ u16 sheetTileStart; + + /*0x42*/ u8 subspriteTableNum:6; + u8 subspriteMode:2; + + /*0x43*/ u8 subpriority; +}; + +struct OamMatrix +{ + s16 a; + s16 b; + s16 c; + s16 d; +}; + +extern const struct OamData gDummyOamData; +extern const union AnimCmd *const gDummySpriteAnimTable[]; +extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[]; +extern s16 gSpriteCoordOffsetX; +extern s16 gSpriteCoordOffsetY; + +extern struct Sprite gSprites[]; + +void ResetSpriteData(void); +void AnimateSprites(void); +void BuildOamBuffer(void); +u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); +u8 CreateSpriteAtEnd(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); +u8 CreateInvisibleSprite(void (*callback)(struct Sprite *)); +u8 CreateSpriteAndAnimate(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority); +void DestroySprite(struct Sprite *sprite); +void ResetOamRange(u8 a, u8 b); +void LoadOam(void); +void SetOamMatrix(u8 matrixNum, u16 a, u16 b, u16 c, u16 d); +void CalcCenterToCornerVec(struct Sprite *sprite, u8 shape, u8 size, u8 affineMode); +void SpriteCallbackDummy(struct Sprite *sprite); +void ProcessSpriteCopyRequests(void); +void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size); +void FreeSpriteTiles(struct Sprite *sprite); +void FreeSpritePalette(struct Sprite *sprite); +void FreeSpriteOamMatrix(struct Sprite *sprite); +void DestroySpriteAndFreeResources(struct Sprite *sprite); +void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5); +void AnimateSprite(struct Sprite *sprite); +void StartSpriteAnim(struct Sprite *sprite, u8 animNum); +void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum); +void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex); +void StartSpriteAffineAnim(struct Sprite *sprite, u8 animNum); +void StartSpriteAffineAnimIfDifferent(struct Sprite *sprite, u8 animNum); +void ChangeSpriteAffineAnim(struct Sprite *sprite, u8 animNum); +void ChangeSpriteAffineAnimIfDifferent(struct Sprite *sprite, u8 animNum); +void SetSpriteSheetFrameTileNum(struct Sprite *sprite); +u8 AllocOamMatrix(void); +void FreeOamMatrix(u8 matrixNum); +void InitSpriteAffineAnim(struct Sprite *sprite); +void SetOamMatrixRotationScaling(u8 matrixNum, s16 xScale, s16 yScale, u16 rotation); +u16 LoadSpriteSheet(const struct SpriteSheet *sheet); +void LoadSpriteSheets(const struct SpriteSheet *sheets); +u16 AllocTilesForSpriteSheet(struct SpriteSheet *sheet); +void AllocTilesForSpriteSheets(struct SpriteSheet *sheets); +void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet); +void LoadTilesForSpriteSheets(struct SpriteSheet *sheets); +void FreeSpriteTilesByTag(u16 tag); +void FreeSpriteTileRanges(void); +u16 GetSpriteTileStartByTag(u16 tag); +u16 GetSpriteTileTagByTileStart(u16 start); +void RequestSpriteSheetCopy(const struct SpriteSheet *sheet); +u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet); +void FreeAllSpritePalettes(void); +u8 LoadSpritePalette(const struct SpritePalette *palette); +void LoadSpritePalettes(const struct SpritePalette *palettes); +u8 AllocSpritePalette(u16 tag); +u8 IndexOfSpritePaletteTag(u16 tag); +u16 GetSpritePaletteTagByPaletteNum(u8 paletteNum); +void FreeSpritePaletteByTag(u16 tag); +void SetSubspriteTables(struct Sprite *sprite, const struct SubspriteTable *subspriteTables); +bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex); +bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex); +void CopyToSprites(u8 *src); +void CopyFromSprites(u8 *dest); +u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); +void ClearSpriteCopyRequests(void); +void ResetAffineAnimData(void); + +#endif //GUARD_SPRITE_H diff --git a/include/start_menu.h b/include/start_menu.h new file mode 100644 index 000000000..6c7cb3237 --- /dev/null +++ b/include/start_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_START_MENU_H +#define GUARD_START_MENU_H + +void AppendToList(u8* list, u8* pos, u8 newEntry); + +#endif // GUARD_START_MENU_H diff --git a/include/string_util.h b/include/string_util.h new file mode 100644 index 000000000..f26646082 --- /dev/null +++ b/include/string_util.h @@ -0,0 +1,42 @@ +#ifndef GUARD_STRING_UTIL_H +#define GUARD_STRING_UTIL_H + +enum StringConvertMode +{ + STR_CONV_MODE_LEFT_ALIGN, + STR_CONV_MODE_RIGHT_ALIGN, + STR_CONV_MODE_LEADING_ZEROS +}; + +u8 *StringCopy10(u8 *dest, const u8 *src); +u8 *StringGetEnd10(u8 *str); +u8 *StringCopy7(u8 *dest, const u8 *src); +u8 *StringCopy(u8 *dest, const u8 *src); +u8 *StringAppend(u8 *dest, const u8 *src); +u8 *StringCopyN(u8 *dest, const u8 *src, u8 n); +u8 *StringAppendN(u8 *dest, const u8 *src, u8 n); +u16 StringLength(const u8 *str); +s32 StringCompare(const u8 *str1, const u8 *str2); +s32 StringCompareN(const u8 *str1, const u8 *str2, u32 n); +bool8 IsStringLengthAtLeast(const u8 *str, s32 n); +u8 *ConvertIntToDecimalStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n); +u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode, u8 n); +u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n); +u8 *StringExpandPlaceholders(u8 *dest, const u8 *src); +u8 *StringBraille(u8 *dest, const u8 *src); +u8 *GetExpandedPlaceholder(u32 id); +u8 *StringFill(u8 *dest, u8 c, u16 n); +u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n); +u8 *StringFillWithTerminator(u8 *dest, u16 n); +u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n); +u32 StringLength_Multibyte(u8 *str); +u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color); +bool32 IsStringJapanese(u8 *str); +bool32 sub_800924C(u8 *str, s32 n); +u8 GetExtCtrlCodeLength(u8 code); +static const u8 *SkipExtCtrlCode(const u8 *s); +s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2); +void ConvertInternationalString(u8 *s, u8 language); +void StripExtCtrlCodes(u8 *str); + +#endif // GUARD_STRING_UTIL_H diff --git a/include/strings.h b/include/strings.h new file mode 100644 index 000000000..8b218e1e9 --- /dev/null +++ b/include/strings.h @@ -0,0 +1,91 @@ +#ifndef GUARD_STRINGS_H +#define GUARD_STRINGS_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +extern const u8 gText_FromSpace[]; +extern const u8 gText_Lv50[]; +extern const u8 gText_OpenLevel[]; +extern const u8 gText_Mom[]; +extern const u8 gText_Dad[]; +extern const u8 gText_Cool[]; +extern const u8 gText_Beauty[]; +extern const u8 gText_Cute[]; +extern const u8 gText_Smart[]; +extern const u8 gText_Tough[]; +extern const u8 gText_Single[]; +extern const u8 gText_Double[]; +extern const u8 gText_Spicy2[]; +extern const u8 gText_Dry2[]; +extern const u8 gText_Sweet2[]; +extern const u8 gText_Bitter2[]; +extern const u8 gText_Sour2[]; +extern const u8 gText_Excellent[]; +extern const u8 gText_VeryGood[]; +extern const u8 gText_Good[]; +extern const u8 gText_SoSo[]; +extern const u8 gText_Bad[]; +extern const u8 gText_TheWorst[]; +extern const u8 gText_Slots[]; +extern const u8 gText_Roulette[]; +extern const u8 gText_Jackpot[]; +extern const u8 gText_First[]; +extern const u8 gText_Second[]; +extern const u8 gText_Third[]; +extern const u8 gText_NoDecorations[]; +extern const u8 gText_NoDecorationsInUse[]; +extern const u8 gText_Exit[]; +extern const u8 gText_Cancel[]; +extern const u8 gText_Color161Shadow161[]; +extern const u8 gText_GoBackPrevMenu[]; +extern const u8 gText_CantPlaceInRoom[]; +extern const u8 gText_NoMoreDecorations[]; +extern const u8 gText_NoMoreDecorations2[]; +extern const u8 gText_InUseAlready[]; +extern const u8 gText_CancelDecorating[]; +extern const u8 gText_PlaceItHere[]; +extern const u8 gText_CantBePlacedHere[]; +extern const u8 gText_DecorationReturnedToPC[]; +extern const u8 gText_StopPuttingAwayDecorations[]; +extern const u8 gText_ReturnDecorationToPC[]; +extern const u8 gText_NoDecorationHere[]; +extern const u8 gText_DecorationWillBeDiscarded[]; +extern const u8 gText_CantThrowAwayInUse[]; +extern const u8 gText_DecorationThrownAway[]; +extern const u8 gText_Desk[]; +extern const u8 gText_Chair[]; +extern const u8 gText_Plant[]; +extern const u8 gText_Ornament[]; +extern const u8 gText_Mat[]; +extern const u8 gText_Poster[]; +extern const u8 gText_PutOutSelectedDecorItem[]; +extern const u8 gText_StoreChosenDecorInPC[]; +extern const u8 gText_ThrowAwayUnwantedDecors[]; +extern const u8 gText_Doll[]; +extern const u8 gText_Cushion[]; +extern const u8 gText_Decorate[]; +extern const u8 gText_PutAway[]; +extern const u8 gText_Toss2[]; +extern const u8 gText_Hoenn[]; +extern const u8 gText_Ferry[]; +extern const u8 gText_SecretBase[]; +extern const u8 gText_Hideout[]; +extern const u8 gText_FlyToWhere[]; +extern const u8 gText_PokemonLeague[]; +extern const u8 gText_PokemonCenter[]; +extern const u8 gText_ApostropheSBase[]; +extern const u8 gText_NoRegistry[]; +extern const u8 gText_OkayToDeleteFromRegistry[]; +extern const u8 gText_RegisteredDataDeleted[]; +extern const u8 gUnknown_085EA79D[]; +extern const u8 gText_Confirm3[]; +extern const u8 gText_Cancel4[]; +extern const u8 gText_IsThisTheCorrectTime[]; +extern const u8 gText_PkmnFainted3[]; +extern const u8 gText_Coins[]; + +#endif //GUARD_STRINGS_H diff --git a/include/task.h b/include/task.h new file mode 100644 index 000000000..a199ba128 --- /dev/null +++ b/include/task.h @@ -0,0 +1,33 @@ +#ifndef GUARD_TASK_H +#define GUARD_TASK_H + +#define NUM_TASKS 16 + +typedef void (*TaskFunc)(u8 taskId); + +struct Task +{ + TaskFunc func; + bool8 isActive; + u8 prev; + u8 next; + u8 priority; + s16 data[16]; +}; + +extern struct Task gTasks[]; + +void ResetTasks(void); +u8 CreateTask(TaskFunc func, u8 priority); +void DestroyTask(u8 taskId); +void RunTasks(void); +void TaskDummy(u8 taskId); +void SetTaskFuncWithFollowupFunc(u8 taskId, TaskFunc func, TaskFunc followupFunc); +void SwitchTaskToFollowupFunc(u8 taskId); +bool8 FuncIsActiveTask(TaskFunc func); +u8 FindTaskIdByFunc(TaskFunc func); +u8 GetTaskCount(void); +void SetWordTaskArg(u8 taskId, u8 dataElem, u32 value); +u32 GetWordTaskArg(u8 taskId, u8 dataElem); + +#endif // GUARD_TASK_H diff --git a/include/text.h b/include/text.h new file mode 100644 index 000000000..289c7d2b5 --- /dev/null +++ b/include/text.h @@ -0,0 +1,255 @@ +#ifndef GUARD_TEXT_H +#define GUARD_TEXT_H + +#define CHAR_SPACE 0x00 +#define CHAR_0 0xA1 +#define CHAR_QUESTION_MARK 0xAC +#define CHAR_PERIOD 0xAD +#define CHAR_HYPHEN 0xAE +#define CHAR_ELLIPSIS 0xB0 +#define CHAR_MALE 0xB5 +#define CHAR_FEMALE 0xB6 +#define CHAR_CURRENCY 0xB7 +#define CHAR_COMMA 0xB8 +#define CHAR_MULT_SIGN 0xB9 +#define CHAR_SLASH 0xBA +#define CHAR_A 0xBB +#define CHAR_B 0xBC +#define CHAR_C 0xBD +#define CHAR_D 0xBE +#define CHAR_E 0xBF +#define CHAR_F 0xC0 +#define CHAR_G 0xC1 +#define CHAR_H 0xC2 +#define CHAR_I 0xC3 +#define CHAR_J 0xC4 +#define CHAR_K 0xC5 +#define CHAR_L 0xC6 +#define CHAR_M 0xC7 +#define CHAR_N 0xC8 +#define CHAR_O 0xC9 +#define CHAR_P 0xCA +#define CHAR_Q 0xCB +#define CHAR_R 0xCC +#define CHAR_S 0xCD +#define CHAR_T 0xCE +#define CHAR_U 0xCF +#define CHAR_V 0xD0 +#define CHAR_W 0xD1 +#define CHAR_X 0xD2 +#define CHAR_Y 0xD3 +#define CHAR_Z 0xD4 +#define CHAR_a 0xD5 +#define CHAR_b 0xD6 +#define CHAR_c 0xD7 +#define CHAR_d 0xD8 +#define CHAR_e 0xD9 +#define CHAR_f 0xDA +#define CHAR_g 0xDB +#define CHAR_h 0xDC +#define CHAR_i 0xDD +#define CHAR_j 0xDE +#define CHAR_k 0xDF +#define CHAR_l 0xE0 +#define CHAR_m 0xE1 +#define CHAR_n 0xE2 +#define CHAR_o 0xE3 +#define CHAR_p 0xE4 +#define CHAR_q 0xE5 +#define CHAR_r 0xE6 +#define CHAR_s 0xE7 +#define CHAR_t 0xE8 +#define CHAR_u 0xE9 +#define CHAR_v 0xEA +#define CHAR_w 0xEB +#define CHAR_x 0xEC +#define CHAR_y 0xED +#define CHAR_z 0xEE +#define CHAR_SPECIAL_F7 0xF7 +#define CHAR_SPECIAL_F9 0xF9 +#define CHAR_COLON 0xF0 +#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog +#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog +#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code +#define PLACEHOLDER_BEGIN 0xFD // string placeholder +#define CHAR_NEWLINE 0xFE +#define EOS 0xFF // end of string + +#define TEXT_COLOR_TRANSPARENT 0x0 +#define TEXT_COLOR_WHITE 0x1 +#define TEXT_COLOR_DARK_GREY 0x2 + +// battle placeholders are located in battle_message.h + +#define EXT_CTRL_CODE_JPN 0x15 +#define EXT_CTRL_CODE_ENG 0x16 + +#define NUM_TEXT_PRINTERS 32 + +#define TEXT_SPEED_FF 0xFF + +struct TextPrinterSubStruct +{ + u8 font_type:4; // 0x14 + u8 font_type_upper:1; + u8 font_type_5:3; + u8 field_1:5; + u8 field_1_upmid:2; + u8 field_1_top:1; + u8 frames_visible_counter; + u8 field_3; + u8 field_4; // 0x18 + u8 field_5; + u8 field_6; + u8 active; +}; + +struct TextSubPrinter // TODO: Better name +{ + const u8* current_text_offset; + u8 windowId; + u8 fontId; + u8 x; + u8 y; + u8 currentX; // 0x8 + u8 currentY; + u8 letterSpacing; + u8 lineSpacing; + u8 fontColor_l:4; // 0xC + u8 fontColor_h:4; + u8 bgColor:4; + u8 shadowColor:4; +}; + +struct TextPrinter +{ + struct TextSubPrinter subPrinter; + + void (*callback)(struct TextSubPrinter *, u16); // 0x10 + + union { + struct TextPrinterSubStruct sub; + + u8 sub_fields[8]; + } sub_union; + + u8 state; // 0x1C + u8 text_speed; + u8 delayCounter; + u8 scrollDistance; + u8 minLetterSpacing; // 0x20 + u8 japanese; +}; + +struct FontInfo +{ + u16 (*fontFunction)(struct TextPrinter *x); + u8 maxLetterWidth; + u8 maxLetterHeight; + u8 letterSpacing; + u8 lineSpacing; + u8 fontColor_l:4; + u8 fontColor_h:4; + u8 bgColor:4; + u8 shadowColor:4; +}; + +extern const struct FontInfo *gFonts; + +struct GlyphWidthFunc +{ + u32 font_id; + u32 (*func)(u16 glyphId, bool32 isJapanese); +}; + +struct KeypadIcon +{ + u16 tile_offset; + u8 width; + u8 height; +}; + +typedef struct { + u8 flag_0:1; + u8 flag_1:1; + u8 flag_2:1; + u8 flag_3:1; +} TextFlags; + +extern TextFlags gTextFlags; + +struct __attribute__((packed)) TextColor +{ + u8 fgColor; + u8 bgColor; + u8 shadowColor; +}; + +extern u8 gStringVar1[]; +extern u8 gStringVar2[]; +extern u8 gStringVar3[]; +extern u8 gStringVar4[]; + +u8 gUnknown_03002F84; +u8 gUnknown_03002F90[0x20]; +u8 gUnknown_03002FB0[0x20]; +u8 gUnknown_03002FD0[0x20]; +u8 gUnknown_03002FF0[0x20]; +u8 gGlyphDimensions[0x2]; + +void SetFontsPointer(const struct FontInfo *fonts); +void DeactivateAllTextPrinters(void); +u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); +bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); +void RunTextPrinters(void); +bool16 IsTextPrinterActive(u8 id); +u32 RenderFont(struct TextPrinter *textPrinter); +void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor); +void SaveTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); +void RestoreTextColors(u8 *fgColor, u8 *bgColor, u8 *shadowColor); +void DecompressGlyphTile(const u16 *src, u16 *dest); +u8 GetLastTextColor(u8 colorType); +void CopyGlyphToWindow(struct TextPrinter *x); +void ClearTextSpan(struct TextPrinter *textPrinter, u32 width); + +u16 Font0Func(struct TextPrinter *textPrinter); +u16 Font1Func(struct TextPrinter *textPrinter); +u16 Font2Func(struct TextPrinter *textPrinter); +u16 Font3Func(struct TextPrinter *textPrinter); +u16 Font4Func(struct TextPrinter *textPrinter); +u16 Font5Func(struct TextPrinter *textPrinter); +u16 Font7Func(struct TextPrinter *textPrinter); +u16 Font8Func(struct TextPrinter *textPrinter); + +void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter); +void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter); +void TextPrinterClearDownArrow(struct TextPrinter *textPrinter); +bool8 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter); +bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); +bool16 TextPrinterWait(struct TextPrinter *textPrinter); +void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex); +u16 RenderText(struct TextPrinter *textPrinter); +u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); +u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); +u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str); +u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); +u8 GetKeypadIconTileOffset(u8 keypadIconId); +u8 GetKeypadIconWidth(u8 keypadIconId); +u8 GetKeypadIconHeight(u8 keypadIconId); +void SetDefaultFontsPointer(void); +u8 GetFontAttribute(u8 fontId, u8 attributeId); +u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension); +void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese); +u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese); +u32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese); +u32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese); +u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); +u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); +void DecompressGlyphFont9(u16 glyphId); + +#endif // GUARD_TEXT_H diff --git a/include/text_window.h b/include/text_window.h new file mode 100644 index 000000000..da3fb301e --- /dev/null +++ b/include/text_window.h @@ -0,0 +1,22 @@ +#ifndef GUARD_TEXT_WINDOW_H +#define GUARD_TEXT_WINDOW_H + +struct TilesPal +{ + u32* tiles; + u16* pal; +}; + +const struct TilesPal* sub_8098758(u8 id); +void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset); +void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset); +void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset); +void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset); +void sub_8098858(u8 windowId, u16 tileNum, u8 palNum); +void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum); +void rbox_fill_rectangle(u8 windowId); +const u16* stdpal_get(u8 id); +const u16* GetOverworldTextboxPalettePtr(void); +void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); + +#endif // GUARD_TEXT_WINDOW_H diff --git a/include/tilesets.h b/include/tilesets.h new file mode 100644 index 000000000..70609c046 --- /dev/null +++ b/include/tilesets.h @@ -0,0 +1,13 @@ +#ifndef GUARD_tilesets_H +#define GUARD_tilesets_H + +// Exported type declarations + +// Exported RAM declarations + +// Exported ROM declarations + +extern struct Tileset *gTilesetPointer_SecretBase; +extern struct Tileset *gTilesetPointer_SecretBaseRedCave; + +#endif //GUARD_tilesets_H diff --git a/include/trainer_classes.h b/include/trainer_classes.h new file mode 100644 index 000000000..e5e26b359 --- /dev/null +++ b/include/trainer_classes.h @@ -0,0 +1,74 @@ +#ifndef GUARD_TRAINER_CLASSES_H +#define GUARD_TRAINER_CLASSES_H + +enum +{ + CLASS_PKMN_TRAINER0, // 0 + CLASS_PKMN_TRAINER1, // 1 + CLASS_HIKER, // 2 + CLASS_TEAM_AQUA, // 3 + CLASS_PKMN_BREEDER, // 4 + CLASS_COOLTRAINER, // 5 + CLASS_BIRDKEEPER, // 6 + CLASS_COLLECTOR, // 7 + CLASS_SWIMMER_MALE, // 8 + CLASS_TEAM_MAGMA, // 9 + CLASS_EXPERT, // 0xA + CLASS_AQUA_ADMIN, // 0xB + CLASS_BLACK_BELT, // 0xC + CLASS_AQUA_LEADER, // 0xD + CLASS_HEX_MANIAC, // 0xE + CLASS_AROMA_LADY, // 0xF + CLASS_RUIN_MANIAC, // 0x10 + CLASS_INTERVIEWER, // 0x11 + CLASS_TUBER_FEMALE, // 0x12 + CLASS_TUBER_MALE, // 0x13 + CLASS_LADY, // 0x14 + CLASS_BEAUTY, // 0x15 + CLASS_RICH_BOY, // 0x16 + CLASS_POKEMANIAC, // 0x17 + CLASS_GUITARIST, // 0x18 + CLASS_KINDLER, // 0x19 + CLASS_CAMPER, // 0x1A + CLASS_PICKNICKER, // 0x1B + CLASS_BUG_MANIAC, // 0x1C + CLASS_PSYCHIC, // 0x1D + CLASS_GENTLEMAN, // 0x1E + CLASS_ELITE_FOUR, // 0x1F + CLASS_LEADER, // 0x20 + CLASS_SCHOOL_KID, // 0x21 + CLASS_SCHOOL_SR_JR, // 0x22 + CLASS_WINSTRATE, // 0x23 + CLASS_POKE_FAN, // 0x24 + CLASS_YOUNGSTER, // 0x25 + CLASS_CHAMPION, // 0x26 + CLASS_FISHERMAN, // 0x27 + CLASS_TRIATHLETE, // 0x28 + CLASS_DRAGON_TAMER, // 0x29 + CLASS_NINJA_BOY, // 0x2A + CLASS_BATTLE_GIRL, // 0x2B + CLASS_PARASOL_LADY, // 0x2C + CLASS_SWIMMER_FEMALE, // 0x2D + CLASS_TWINS, // 0x2E + CLASS_SAILOR, // 0x2F + CLASS_COOLTRAINER_2, // 0x30 + CLASS_MAGMA_ADMIN, // 0x31 + CLASS_PKMN_TRAINER_RIVAL, // 0x32 + CLASS_BUG_CATCHER, // 0x33 + CLASS_PKMN_RANGER, // 0x34 + CLASS_MAGMA_LEADER, // 0x35 + CLASS_LASS, // 0x36 + CLASS_YOUNG_COUPLE, // 0x37 + CLASS_OLD_COUPLE, // 0x38 + CLASS_SIS_AND_BRO, // 0x39 + CLASS_SALON_MAIDEN, // 0x3A + CLASS_DOME_ACE, // 0x3B + CLASS_PALACE_MAVEN, // 0x3C + CLASS_ARENA_TYCOON, // 0x3D + CLASS_FACTORY_HEAD, // 0x3E + CLASS_PIKE_QUEEN, // 0x3F + CLASS_PYRAMID_KING, // 0x40 + CLASS_PKMN_TRAINER2, // 0x41 +}; + +#endif // GUARD_TRAINER_CLASSES_H diff --git a/include/trainer_front_sprites.h b/include/trainer_front_sprites.h new file mode 100644 index 000000000..3259bec88 --- /dev/null +++ b/include/trainer_front_sprites.h @@ -0,0 +1,101 @@ +#ifndef GUARD_TRAINER_FRONT_SPRITES_H +#define GUARD_TRAINER_FRONT_SPRITES_H + +enum +{ + TRAINER_FRONT_PIC_HIKER, + TRAINER_FRONT_PIC_AQUA_GRUNT_M, + TRAINER_FRONT_PIC_PKMN_BREEDER_F, + TRAINER_FRONT_PIC_COOLTRAINER_M, + TRAINER_FRONT_PIC_BIRD_KEEPER, + TRAINER_FRONT_PIC_COLLECTOR, + TRAINER_FRONT_PIC_AQUA_GRUNT_F, + TRAINER_FRONT_PIC_SWIMMER_M, + TRAINER_FRONT_PIC_MAGMA_GRUNT_M, + TRAINER_FRONT_PIC_EXPERT_M, + TRAINER_FRONT_PIC_AQUA_ADMIN_M, + TRAINER_FRONT_PIC_BLACK_BELT, + TRAINER_FRONT_PIC_AQUA_ADMIN_F, + TRAINER_FRONT_PIC_AQUA_LEADER, + TRAINER_FRONT_PIC_HEX_MANIAC, + TRAINER_FRONT_PIC_AROMA_LADY, + TRAINER_FRONT_PIC_RUIN_MANIAC, + TRAINER_FRONT_PIC_INTERVIEWER, + TRAINER_FRONT_PIC_TUBER_F, + TRAINER_FRONT_PIC_TUBER_M, + TRAINER_FRONT_PIC_COOLTRAINER_F, + TRAINER_FRONT_PIC_LADY, + TRAINER_FRONT_PIC_BEAUTY, + TRAINER_FRONT_PIC_RICH_BOY, + TRAINER_FRONT_PIC_EXPERT_F, + TRAINER_FRONT_PIC_POKE_MANIAC, + TRAINER_FRONT_PIC_MAGMA_GRUNT_F, + TRAINER_FRONT_PIC_GUITARIST, + TRAINER_FRONT_PIC_KINDLER, + TRAINER_FRONT_PIC_CAMPER, + TRAINER_FRONT_PIC_PICNICKER, + TRAINER_FRONT_PIC_BUG_MANIAC, + TRAINER_FRONT_PIC_PKMN_BREEDER_M, + TRAINER_FRONT_PIC_PSYCHIC_M, + TRAINER_FRONT_PIC_PSYCHIC_F, + TRAINER_FRONT_PIC_GENTLEMAN, + TRAINER_FRONT_PIC_SIDNEY, + TRAINER_FRONT_PIC_PHOEBE, + TRAINER_FRONT_PIC_GLACIA, + TRAINER_FRONT_PIC_DRAKE, + TRAINER_FRONT_PIC_ROXANNE, + TRAINER_FRONT_PIC_BRAWLY, + TRAINER_FRONT_PIC_WATTSON, + TRAINER_FRONT_PIC_FLANNERY, + TRAINER_FRONT_PIC_NORMAN, + TRAINER_FRONT_PIC_WINONA, + TRAINER_FRONT_PIC_TATE_LIZA, + TRAINER_FRONT_PIC_JUAN, + TRAINER_FRONT_PIC_SCHOOL_KID_M, + TRAINER_FRONT_PIC_SCHOOL_KID_F, + TRAINER_FRONT_PIC_SR_JR, + TRAINER_FRONT_PIC_POKÉFAN_M, + TRAINER_FRONT_PIC_POKÉFAN_F, + TRAINER_FRONT_PIC_YOUNGSTER, + TRAINER_FRONT_PIC_WALLACE, + TRAINER_FRONT_PIC_FISHERMAN, + TRAINER_FRONT_PIC_TRIATHLETE_BIKER_M, + TRAINER_FRONT_PIC_TRIATHLETE_BIKER_F, + TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_M, + TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_F, + TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_M, + TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_F, + TRAINER_FRONT_PIC_DRAGON_TAMER, + TRAINER_FRONT_PIC_NINJA_BOY, + TRAINER_FRONT_PIC_BATTLE_GIRL, + TRAINER_FRONT_PIC_PARASOL_LADY, + TRAINER_FRONT_PIC_SWIMMER_F, + TRAINER_FRONT_PIC_TWINS, + TRAINER_FRONT_PIC_SAILOR, + TRAINER_FRONT_PIC_MAGMA_ADMIN_M, + TRAINER_FRONT_PIC_WALLY, + TRAINER_FRONT_PIC_BRENDAN_E, + TRAINER_FRONT_PIC_MAY_E, + TRAINER_FRONT_PIC_BUG_CATCHER, + TRAINER_FRONT_PIC_PKMN_RANGER_M, + TRAINER_FRONT_PIC_PKMN_RANGER_F, + TRAINER_FRONT_PIC_MAGMA_LEADER, + TRAINER_FRONT_PIC_LASS, + TRAINER_FRONT_PIC_YOUNG_COUPLE, + TRAINER_FRONT_PIC_OLD_COUPLE, + TRAINER_FRONT_PIC_SIS_AND_BRO, + TRAINER_FRONT_PIC_STEVEN, + TRAINER_FRONT_PIC_ANABEL, + TRAINER_FRONT_PIC_TUCKER, + TRAINER_FRONT_PIC_SPENSER, + TRAINER_FRONT_PIC_GRETA, + TRAINER_FRONT_PIC_NOLAND, + TRAINER_FRONT_PIC_LUCY, + TRAINER_FRONT_PIC_BRANDON, + TRAINER_FRONT_PIC_RED, + TRAINER_FRONT_PIC_LEAF, + TRAINER_FRONT_PIC_BRENDAN_RS, + TRAINER_FRONT_PIC_MAY_RS +}; + +#endif // GUARD_TRAINER_FRONT_SPRITES_H diff --git a/include/trainer_ids.h b/include/trainer_ids.h new file mode 100644 index 000000000..65c80187f --- /dev/null +++ b/include/trainer_ids.h @@ -0,0 +1,7 @@ +#ifndef GUARD_TRAINER_IDS_H +#define GUARD_TRAINER_IDS_H + +#define NO_OF_TRAINERS 854 +#define TRAINER_ID_STEVEN 804 + +#endif // GUARD_TRAINER_IDS_H diff --git a/include/trainer_see.h b/include/trainer_see.h new file mode 100644 index 000000000..ab035d9f8 --- /dev/null +++ b/include/trainer_see.h @@ -0,0 +1,8 @@ +#ifndef GUARD_TRAINER_SEE_H +#define GUARD_TRAINER_SEE_H + +void sub_80B4578(struct MapObject *); +u8 sub_80B47BC(void); +void sub_8155D78(struct MapObject *); + +#endif //GUARD_TRAINER_SEE_H diff --git a/include/trig.h b/include/trig.h new file mode 100644 index 000000000..a2f98a3e6 --- /dev/null +++ b/include/trig.h @@ -0,0 +1,11 @@ +#ifndef GUARD_TRIG_H +#define GUARD_TRIG_H + +extern const s16 gSineTable[]; + +s16 Sin(s16 index, s16 amplitude); +s16 Cos(s16 index, s16 amplitude); +s16 Sin2(u16 angle); +s16 Cos2(u16 angle); + +#endif // GUARD_TRIG_H diff --git a/include/unk_text_util.h b/include/unk_text_util.h new file mode 100644 index 000000000..72243a90e --- /dev/null +++ b/include/unk_text_util.h @@ -0,0 +1,9 @@ +#ifndef GUARD_UNK_TEXT_UTIL_H +#define GUARD_UNK_TEXT_UTIL_H + +void UnkTextUtil_Reset(void); +void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); +u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); +const u8 *UnkTextUtil_GetPtrI(u8 idx); + +#endif //GUARD_UNK_TEXT_UTIL_H diff --git a/include/unknown_task.h b/include/unknown_task.h new file mode 100644 index 000000000..9c6968c30 --- /dev/null +++ b/include/unknown_task.h @@ -0,0 +1,22 @@ +#ifndef GUARD_unknown_task_H +#define GUARD_unknown_task_H + +// Exported type declarations +struct UnknownTaskStruct +{ + volatile void *dest; + u32 control; + u8 unk8; + u8 unk9; +}; + +extern struct UnknownTaskStruct gUnknown_0831AC70; + +// Exported RAM declarations + +// Exported ROM declarations +void remove_some_task(void); +void sub_80BA038(struct UnknownTaskStruct arg0); +void sub_80BA0A8(void); + +#endif // GUARD_unknown_task_H diff --git a/include/util.h b/include/util.h new file mode 100644 index 000000000..63887b13f --- /dev/null +++ b/include/util.h @@ -0,0 +1,17 @@ +#ifndef GUARD_UTIL_H +#define GUARD_UTIL_H + +#include "sprite.h" + +extern const u8 gMiscBlank_Gfx[]; // unused in Emerald +extern const u32 gBitTable[]; + +u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); +void StoreWordInTwoHalfwords(u16 *, u32); +void LoadWordFromTwoHalfwords(u16 *, u32 *); +int CountTrailingZeroBits(u32 value); +u16 CalcCRC16(u8 *data, s32 length); +u16 CalcCRC16WithTable(u8 *data, u32 length); +u32 CalcByteArraySum(const u8* data, u32 length); + +#endif // GUARD_UTIL_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h new file mode 100644 index 000000000..55bbaa7dd --- /dev/null +++ b/include/wild_encounter.h @@ -0,0 +1,44 @@ +#ifndef GUARD_WILD_ENCOUNTER_H +#define GUARD_WILD_ENCOUNTER_H + +#define LAND_WILD_COUNT 12 +#define WATER_WILD_COUNT 5 +#define ROCK_WILD_COUNT 5 +#define FISH_WILD_COUNT 10 + +struct WildPokemon +{ + u8 minLevel; + u8 maxLevel; + u16 species; +}; + +struct WildPokemonInfo +{ + u8 encounterRate; + const struct WildPokemon *wildPokemon; +}; + +struct WildPokemonHeader +{ + u8 mapGroup; + u8 mapNum; + const struct WildPokemonInfo *landMonsInfo; + const struct WildPokemonInfo *waterMonsInfo; + const struct WildPokemonInfo *rockSmashMonsInfo; + const struct WildPokemonInfo *fishingMonsInfo; +}; + +extern const struct WildPokemonHeader gWildMonHeaders[]; + +void DisableWildEncounters(bool8 disabled); +bool8 StandardWildEncounter(u16 currMetaTileBehavior, u16 previousMetaTileBehavior); +void ScrSpecial_RockSmashWildEncounter(void); +bool8 SweetScentWildEncounter(void); +bool8 DoesCurrentMapHaveFishingMons(void); +void FishingWildEncounter(u8 rod); +u16 GetLocalWildMon(bool8 *isWaterMon); +u16 GetLocalWaterMon(void); +bool8 UpdateRepelCounter(void); + +#endif // GUARD_WILD_ENCOUNTER_H diff --git a/include/window.h b/include/window.h new file mode 100644 index 000000000..b630cd316 --- /dev/null +++ b/include/window.h @@ -0,0 +1,72 @@ +#ifndef GUARD_WINDOW_H +#define GUARD_WINDOW_H + +enum +{ + WINDOW_PRIORITY, + WINDOW_TILEMAP_LEFT, + WINDOW_TILEMAP_TOP, + WINDOW_WIDTH, + WINDOW_HEIGHT, + WINDOW_PALETTE_NUM, + WINDOW_BASE_BLOCK, + WINDOW_TILE_DATA +}; + +struct WindowTemplate +{ + u8 priority; + u8 tilemapLeft; + u8 tilemapTop; + u8 width; + u8 height; + u8 paletteNum; + u16 baseBlock; +}; + +#define DUMMY_WIN_TEMPLATE \ +{ \ + 0xFF, \ + 0, \ + 0, \ + 0, \ + 0, \ + 0, \ + 0, \ +} + +struct Window +{ + struct WindowTemplate window; + u8 *tileData; +}; + +bool16 InitWindows(const struct WindowTemplate *templates); +u16 AddWindow(const struct WindowTemplate *template); +int AddWindowWithoutTileMap(const struct WindowTemplate *template); +void RemoveWindow(u8 windowId); +void FreeAllWindowBuffers(void); +void CopyWindowToVram(u8 windowId, u8 mode); +void CopyWindowRectToVram(u32 windowId, u32 mode, u32 x, u32 y, u32 w, u32 h); +void PutWindowTilemap(u8 windowId); +void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette); +void ClearWindowTilemap(u8 windowId); +void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height); +void BlitBitmapToWindow(u8 windowId, u8 *pixels, u16 x, u16 y, u16 width, u16 height); +void BlitBitmapRectToWindow(u8 windowId, const u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight); +void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); +void CopyToWindowPixelBuffer(u8 windowId, const u8 *src, u16 size, u16 tileOffset); +void FillWindowPixelBuffer(u8 windowId, u8 fillValue); +void ScrollWindow(u8 windowId, u8 direction, u8 distance, u8 fillValue); +void CallWindowFunction(u8 windowId, void ( *func)(u8, u8, u8, u8, u8, u8)); +bool8 SetWindowAttribute(u8 windowId, u8 attributeId, u32 value); +u32 GetWindowAttribute(u8 windowId, u8 attributeId); +u16 AddWindow8Bit(struct WindowTemplate *template); +u16 AddWindow8Bit(struct WindowTemplate *template); +void FillWindowPixelRect8Bit(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); +void BlitBitmapRectToWindow4BitTo8Bit(u8 windowId, u8 *pixels, u16 srcX, u16 srcY, u16 srcWidth, int srcHeight, u16 destX, u16 destY, u16 rectWidth, u16 rectHeight, u8 paletteNum); +void CopyWindowToVram8Bit(u8 windowId, u8 mode); + +extern struct Window gWindows[]; + +#endif // GUARD_WINDOW_H diff --git a/ld_script.txt b/ld_script.txt index e78e1120f..7968c5b4a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -82,7 +82,7 @@ SECTIONS { SUBALIGN(4) { asm/crt0.o(.text); - asm/main.o(.text); + src/main.o(.text); asm/gpu_regs.o(.text); asm/dma3_manager.o(.text); asm/bg.o(.text); @@ -391,6 +391,7 @@ SECTIONS { .rodata : SUBALIGN(4) { + src/main.o(.rodata); data/data.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); diff --git a/src/main.c b/src/main.c new file mode 100644 index 000000000..72cb976a1 --- /dev/null +++ b/src/main.c @@ -0,0 +1,454 @@ +#include "global.h" +#include "main.h" +#include "m4a.h" +#include "random.h" +#include "dma3.h" +#include "gba/flash_internal.h" +#include "battle.h" + +extern u16 GetGpuReg(u8); +extern void SetGpuReg(u8, u16); +extern void RFUVSync(void); +extern void LinkVSync(void); +extern void sub_80FCF34(void); +extern void LinkVSync(void); +extern void InitGpuRegManager(void); +extern void InitRFU(void); +extern void CheckForFlashMemory(void); +extern void InitMapMusic(void); +extern void ResetBgs(void); +extern void SetDefaultFontsPointer(void); +extern void InitHeap(void *heapStart, u32 heapSize); // malloc.h +extern void rfu_REQ_stopMode(void); +extern void rfu_waitREQComplete(void); +extern bool32 sub_80582E0(void); +extern bool32 sub_8058274(void); +extern void ClearSpriteCopyRequests(void); +extern void PlayTimeCounter_Update(void); +extern void MapMusicMain(void); +extern void EnableInterrupts(u16); +extern void sub_800DD28(void); +extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); +extern void remove_some_task(void); +extern void sub_80F50F4(void); +extern bool32 sub_80F5118(void); +extern bool8 sub_813B870(void); + +extern struct SoundInfo gSoundInfo; +extern u32 gFlashMemoryPresent; +extern u32 IntrMain[]; +extern u8 gHeap[]; +extern struct SaveBlock1 gSaveBlock1; +extern struct SaveBlock2 gSaveBlock2; +extern struct PokemonStorage gPokemonStorage; +extern u32 gBattleTypeFlags; +extern u8 gUnknown_03002748; +extern u32 *gUnknown_0203CF5C; + +void Timer3Intr(void); +bool8 HandleLinkConnection(void); +void c2_copyright_1(void); + +static void VBlankIntr(void); +static void HBlankIntr(void); +static void VCountIntr(void); +static void SerialIntr(void); +static void IntrDummy(void); + +const u8 gGameVersion = VERSION_FIRE_RED; + +const u8 gGameLanguage = GAME_LANGUAGE; + +const char BuildDateTime[] = "2004 04 26 11:20"; + +const IntrFunc gIntrTableTemplate[] = +{ + VCountIntr, // V-count interrupt + SerialIntr, // Serial interrupt + Timer3Intr, // Timer 3 interrupt + HBlankIntr, // H-blank interrupt + VBlankIntr, // V-blank interrupt + IntrDummy, // Timer 0 interrupt + IntrDummy, // Timer 1 interrupt + IntrDummy, // Timer 2 interrupt + IntrDummy, // DMA 0 interrupt + IntrDummy, // DMA 1 interrupt + IntrDummy, // DMA 2 interrupt + IntrDummy, // DMA 3 interrupt + IntrDummy, // Key interrupt + IntrDummy, // Game Pak interrupt +}; + +#define INTR_COUNT ((int)(sizeof(gIntrTableTemplate)/sizeof(IntrFunc))) + +extern u16 gKeyRepeatStartDelay; +extern u8 gLinkTransferringData; +extern struct Main gMain; +extern u16 gKeyRepeatContinueDelay; +extern u8 gSoftResetDisabled; +extern IntrFunc gIntrTable[INTR_COUNT]; +extern bool8 gLinkVSyncDisabled; +extern u32 IntrMain_Buffer[0x200]; +extern u8 gPcmDmaCounter; +extern u8 gUnknown_3003578; +extern u8 gUnknown_3003D80; +extern u8 gUnknown_3003D84; + +static IntrFunc * const sTimerIntrFunc = gIntrTable + 0x7; + +extern u16 gTrainerId; +extern bool8 gUnknown_3005ECC; +extern bool8 gUnknown_3003F3C; +extern bool8 gUnknown_3005E88; + +EWRAM_DATA void (**gFlashTimerIntrFunc)(void) = NULL; + +static void UpdateLinkAndCallCallbacks(void); +static void InitMainCallbacks(void); +static void CallCallbacks(void); +static void ReadKeys(void); +void InitIntrHandlers(void); +static void WaitForVBlank(void); +void EnableVCountIntrAtLine150(void); + +#define B_START_SELECT (B_BUTTON | START_BUTTON | SELECT_BUTTON) + +void AgbMain() +{ + RegisterRamReset(RESET_ALL); + *(vu16 *)BG_PLTT = 0x7FFF; + InitGpuRegManager(); + REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3; + InitKeys(); + InitIntrHandlers(); + m4aSoundInit(); + EnableVCountIntrAtLine150(); + InitRFU(); + CheckForFlashMemory(); + InitMainCallbacks(); + InitMapMusic(); + ClearDma3Requests(); + ResetBgs(); + InitHeap(gHeap, 0x1C000); + SetDefaultFontsPointer(); + + gSoftResetDisabled = FALSE; + gUnknown_3005ECC = FALSE; + + sub_80F50F4(); + + AGBPrintInit(); + +#if REVISION == 1 + if (gFlashMemoryPresent != TRUE) + SetMainCallback2(NULL); +#endif + + gLinkTransferringData = FALSE; + + for (;;) + { + ReadKeys(); + + if (gSoftResetDisabled == FALSE + && (gMain.heldKeysRaw & A_BUTTON) + && (gMain.heldKeysRaw & B_START_SELECT) == B_START_SELECT) + { + rfu_REQ_stopMode(); + rfu_waitREQComplete(); + DoSoftReset(); + } + + if (sub_80582E0() == 1) + { + gLinkTransferringData = TRUE; + UpdateLinkAndCallCallbacks(); + gLinkTransferringData = FALSE; + } + else + { + gLinkTransferringData = FALSE; + UpdateLinkAndCallCallbacks(); + + if (sub_8058274() == 1) + { + gMain.newKeys = 0; + ClearSpriteCopyRequests(); + gLinkTransferringData = TRUE; + UpdateLinkAndCallCallbacks(); + gLinkTransferringData = FALSE; + } + } + + PlayTimeCounter_Update(); + MapMusicMain(); + WaitForVBlank(); + } +} + +static void UpdateLinkAndCallCallbacks(void) +{ + if (!HandleLinkConnection()) + CallCallbacks(); +} + +static void InitMainCallbacks(void) +{ + gMain.vblankCounter1 = 0; + gMain.vblankCounter2 = 0; + gMain.callback1 = NULL; + SetMainCallback2(c2_copyright_1); + gSaveBlock2Ptr = &gSaveBlock2; + gSaveBlock1Ptr = &gSaveBlock1; + gSaveBlock2.encryptionKey = 0; + gUnknown_3005E88 = FALSE; +} + +static void CallCallbacks(void) +{ + if (!sub_80F5118() && !sub_813B870()) + { + if (gMain.callback1) + gMain.callback1(); + + if (gMain.callback2) + gMain.callback2(); + } +} + +void SetMainCallback2(MainCallback callback) +{ + gMain.callback2 = callback; + gMain.state = 0; +} + +void StartTimer1(void) +{ + REG_TM1CNT_H = 0x80; +} + +void SeedRngAndSetTrainerId(void) +{ + u16 val = REG_TM1CNT_L; + SeedRng(val); + REG_TM1CNT_H = 0; + gTrainerId = val; +} + +u16 GetGeneratedTrainerIdLower(void) +{ + return gTrainerId; +} + +void EnableVCountIntrAtLine150(void) +{ + u16 gpuReg = (GetGpuReg(REG_OFFSET_DISPSTAT) & 0xFF) | (150 << 8); + SetGpuReg(REG_OFFSET_DISPSTAT, gpuReg | DISPSTAT_VCOUNT_INTR); + EnableInterrupts(INTR_FLAG_VCOUNT); +} + +void InitKeys(void) +{ + gKeyRepeatContinueDelay = 5; + gKeyRepeatStartDelay = 40; + + gMain.heldKeys = 0; + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = 0; + gMain.heldKeysRaw = 0; + gMain.newKeysRaw = 0; +} + +static void ReadKeys(void) +{ + u16 keyInput = REG_KEYINPUT ^ KEYS_MASK; + gMain.newKeysRaw = keyInput & ~gMain.heldKeysRaw; + gMain.newKeys = gMain.newKeysRaw; + gMain.newAndRepeatedKeys = gMain.newKeysRaw; + + // BUG: Key repeat won't work when pressing L using L=A button mode + // because it compares the raw key input with the remapped held keys. + // Note that newAndRepeatedKeys is never remapped either. + + if (keyInput != 0 && gMain.heldKeys == keyInput) + { + gMain.keyRepeatCounter--; + + if (gMain.keyRepeatCounter == 0) + { + gMain.newAndRepeatedKeys = keyInput; + gMain.keyRepeatCounter = gKeyRepeatContinueDelay; + } + } + else + { + // If there is no input or the input has changed, reset the counter. + gMain.keyRepeatCounter = gKeyRepeatStartDelay; + } + + gMain.heldKeysRaw = keyInput; + gMain.heldKeys = gMain.heldKeysRaw; + + // Remap L to A if the L=A option is enabled. + if (gSaveBlock2Ptr->optionsButtonMode == 2) + { + if (gMain.newKeys & L_BUTTON) + gMain.newKeys |= A_BUTTON; + + if (gMain.heldKeys & L_BUTTON) + gMain.heldKeys |= A_BUTTON; + } + + if (gMain.newKeys & gMain.watchedKeysMask) + gMain.watchedKeysPressed = TRUE; +} + +void InitIntrHandlers(void) +{ + int i; + + for (i = 0; i < INTR_COUNT; i++) + gIntrTable[i] = gIntrTableTemplate[i]; + + DmaCopy32(3, IntrMain, IntrMain_Buffer, sizeof(IntrMain_Buffer)); + + INTR_VECTOR = IntrMain_Buffer; + + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + SetSerialCallback(NULL); + + REG_IME = 1; + + EnableInterrupts(0x1); +} + +void SetVBlankCallback(IntrCallback callback) +{ + gMain.vblankCallback = callback; +} + +void SetHBlankCallback(IntrCallback callback) +{ + gMain.hblankCallback = callback; +} + +void SetVCountCallback(IntrCallback callback) +{ + gMain.vcountCallback = callback; +} + +void SetSerialCallback(IntrCallback callback) +{ + gMain.serialCallback = callback; +} + +extern void CopyBufferedValuesToGpuRegs(void); +extern void ProcessDma3Requests(void); + +static void VBlankIntr(void) +{ + if (gUnknown_3003F3C) + RFUVSync(); + else if (!gLinkVSyncDisabled) + LinkVSync(); + + if (gMain.vblankCounter1) + (*gMain.vblankCounter1)++; + + if (gMain.vblankCallback) + gMain.vblankCallback(); + + gMain.vblankCounter2++; + + CopyBufferedValuesToGpuRegs(); + ProcessDma3Requests(); + + gPcmDmaCounter = gSoundInfo.pcmDmaCounter; + + gUnknown_3003D84 = REG_VCOUNT; + m4aSoundMain(); + gUnknown_3003578 = REG_VCOUNT; + + sub_800DD28(); + Random(); + sub_80FCF34(); + + INTR_CHECK |= INTR_FLAG_VBLANK; + gMain.intrCheck |= INTR_FLAG_VBLANK; +} + +void InitFlashTimer(void) +{ + IntrFunc **func = (IntrFunc **)&sTimerIntrFunc; + SetFlashTimerIntr(2, *func); +} + +static void HBlankIntr(void) +{ + if (gMain.hblankCallback) + gMain.hblankCallback(); + + INTR_CHECK |= INTR_FLAG_HBLANK; + gMain.intrCheck |= INTR_FLAG_HBLANK; +} + +static void VCountIntr(void) +{ + gUnknown_3003D80 = REG_VCOUNT; + m4aSoundVSync(); + INTR_CHECK |= INTR_FLAG_VCOUNT; + gMain.intrCheck |= INTR_FLAG_VCOUNT; +} + +static void SerialIntr(void) +{ + if (gMain.serialCallback) + gMain.serialCallback(); + + INTR_CHECK |= INTR_FLAG_SERIAL; + gMain.intrCheck |= INTR_FLAG_SERIAL; +} + +void RestoreSerialTimer3IntrHandlers(void) +{ + gIntrTable[1] = SerialIntr; + gIntrTable[2] = Timer3Intr; +} + +static void IntrDummy(void) +{} + +static void WaitForVBlank(void) +{ + gMain.intrCheck &= ~INTR_FLAG_VBLANK; + + while (!(gMain.intrCheck & INTR_FLAG_VBLANK)) + ; +} + +void SetVBlankCounter1Ptr(u32 *ptr) +{ + gMain.vblankCounter1 = ptr; +} + +void DisableVBlankCounter1(void) +{ + gMain.vblankCounter1 = NULL; +} + +void DoSoftReset(void) +{ + REG_IME = 0; + m4aSoundVSyncOff(); + remove_some_task(); + DmaStop(1); + DmaStop(2); + DmaStop(3); + SoftReset(RESET_ALL & ~RESET_SIO_REGS); +} + +void ClearPokemonCrySongs(void) +{ + CpuFill16(0, gPokemonCrySongs, MAX_POKEMON_CRIES * sizeof(struct PokemonCrySong)); +} diff --git a/sym_common.txt b/sym_common.txt index 2235b30fb..817312e2a 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -1,40 +1,28 @@ -gUnknown_30030E0: @ 30030E0 +gKeyRepeatStartDelay: @ 30030E0 .space 0x4 -gUnknown_30030E4: @ 30030E4 +gLinkTransferringData: @ 30030E4 .space 0xC -gUnknown_30030F0: @ 30030F0 - .space 0x2C +gMain: @ 30030F0 + .space 0x43C -gUnknown_300311C: @ 300311C - .space 0xC - -gUnknown_3003128: @ 3003128 - .space 0x400 - -gUnknown_3003528: @ 3003528 +gKeyRepeatContinueDelay: @ 300352C .space 0x4 -gUnknown_300352C: @ 300352C - .space 0x4 - -gUnknown_3003530: @ 3003530 +gSoftResetDisabled: @ 3003530 .space 0x10 gIntrTable: @ 3003540 - .space 0x4 - -gUnknown_3003544: @ 3003544 - .space 0x34 + .space 0x38 gUnknown_3003578: @ 3003578 .space 0x4 -gUnknown_300357C: @ 300357C +gLinkVSyncDisabled: @ 300357C .space 0x4 -gUnknown_3003580: @ 3003580 +IntrMain_Buffer: @ 3003580 .space 0x800 gUnknown_3003D80: @ 3003D80 @@ -43,7 +31,7 @@ gUnknown_3003D80: @ 3003D80 gUnknown_3003D84: @ 3003D84 .space 0x4 -gUnknown_3003D88: @ 3003D88 +gPcmDmaCounter: @ 3003D88 .space 0x4 gUnknown_3003D8C: @ 3003D8C @@ -214,10 +202,10 @@ gUnknown_3005000: @ 3005000 gUnknown_3005004: @ 3005004 .space 0x4 -gUnknown_3005008: @ 3005008 +gSaveBlock1Ptr: @ 3005008 .space 0x4 -gUnknown_300500C: @ 300500C +gSaveBlock2Ptr: @ 300500C .space 0x4 gUnknown_3005010: @ 3005010 diff --git a/sym_ewram.txt b/sym_ewram.txt index f31a93d50..3f109f231 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -25,7 +25,7 @@ gUnknown_201FEE0: @ 201FEE0 gUnknown_201FF00: @ 201FF00 .space 0x100 -gUnknown_2020000: @ 2020000 +gTrainerId: @ 2020000 .space 0x4 gUnknown_2020004: @ 2020004 @@ -592,13 +592,13 @@ gUnknown_202456C: @ 202456C gUnknown_2024580: @ 2024580 .space 0x8 -gUnknown_2024588: @ 2024588 +gSaveBlock2: @ 2024588 .space 0xFA4 -gUnknown_202552C: @ 202552C +gSaveBlock1: @ 202552C .space 0x3DE8 -gUnknown_2029314: @ 2029314 +gPokemonStorage: @ 2029314 .space 0x8450 gUnknown_2031764: @ 2031764 |