diff options
240 files changed, 21640 insertions, 18156 deletions
@@ -356,7 +356,7 @@ sub_810BAE8: @ 810BAE8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 @@ -381,7 +381,7 @@ sub_810BB14: @ 810BB14 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/battle_1.s b/asm/battle_1.s index 72f5fe901..6ae993e27 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -253,7 +253,7 @@ sub_800F380: @ 800F380 cmp r0, 0 beq _0800F3EA movs r0, 0x70 - bl sub_80F77CC + bl Menu_LoadStdPalAt movs r0, 0 movs r1, 0x30 movs r2, 0x70 @@ -908,7 +908,7 @@ _0800F8F0: ldrsh r0, [r5, r1] cmp r0, 0 beq _0800F958 - ldr r4, _0800F944 @ =gUnknown_2022978 + ldr r4, _0800F944 @ =gBattle_BG1_X ldrh r0, [r5, 0xA] bl Sin2 lsls r0, 16 @@ -923,7 +923,7 @@ _0800F90A: adds r0, r2, 0 subs r0, r1 strh r0, [r4] - ldr r4, _0800F948 @ =gUnknown_202297C + ldr r4, _0800F948 @ =gBattle_BG2_X ldrh r0, [r5, 0xC] bl Sin2 lsls r0, 16 @@ -938,21 +938,21 @@ _0800F928: adds r0, r3, 0 subs r0, r1 strh r0, [r4] - ldr r0, _0800F94C @ =gUnknown_202297A + ldr r0, _0800F94C @ =gBattle_BG1_Y ldr r2, _0800F950 @ =0x0000ffdc adds r1, r2, 0 strh r1, [r0] - ldr r0, _0800F954 @ =gUnknown_202297E + ldr r0, _0800F954 @ =gBattle_BG2_Y strh r1, [r0] b _0800F9C4 .align 2, 0 -_0800F944: .4byte gUnknown_2022978 -_0800F948: .4byte gUnknown_202297C -_0800F94C: .4byte gUnknown_202297A +_0800F944: .4byte gBattle_BG1_X +_0800F948: .4byte gBattle_BG2_X +_0800F94C: .4byte gBattle_BG1_Y _0800F950: .4byte 0x0000ffdc -_0800F954: .4byte gUnknown_202297E +_0800F954: .4byte gBattle_BG2_Y _0800F958: - ldr r4, _0800F9E8 @ =gUnknown_2022978 + ldr r4, _0800F9E8 @ =gBattle_BG1_X ldrh r0, [r5, 0xA] bl Sin2 lsls r0, 16 @@ -967,7 +967,7 @@ _0800F96A: adds r0, r3, 0 subs r0, r1 strh r0, [r4] - ldr r4, _0800F9EC @ =gUnknown_202297A + ldr r4, _0800F9EC @ =gBattle_BG1_Y ldrh r0, [r5, 0xA] bl Cos2 lsls r0, 16 @@ -979,7 +979,7 @@ _0800F988: asrs r0, 5 subs r0, 0xA4 strh r0, [r4] - ldr r4, _0800F9F0 @ =gUnknown_202297C + ldr r4, _0800F9F0 @ =gBattle_BG2_X ldrh r0, [r5, 0xC] bl Sin2 lsls r0, 16 @@ -994,7 +994,7 @@ _0800F9A0: adds r0, r2, 0 subs r0, r1 strh r0, [r4] - ldr r4, _0800F9F4 @ =gUnknown_202297E + ldr r4, _0800F9F4 @ =gBattle_BG2_Y ldrh r0, [r5, 0xC] bl Cos2 lsls r0, 16 @@ -1025,10 +1025,10 @@ _0800F9C4: strh r0, [r1, 0xA] b _0800FAC4 .align 2, 0 -_0800F9E8: .4byte gUnknown_2022978 -_0800F9EC: .4byte gUnknown_202297A -_0800F9F0: .4byte gUnknown_202297C -_0800F9F4: .4byte gUnknown_202297E +_0800F9E8: .4byte gBattle_BG1_X +_0800F9EC: .4byte gBattle_BG1_Y +_0800F9F0: .4byte gBattle_BG2_X +_0800F9F4: .4byte gBattle_BG2_Y _0800F9F8: .4byte gTasks _0800F9FC: movs r3, 0x12 @@ -1190,11 +1190,11 @@ sub_800FAE0: @ 800FAE0 movs r0, 0x4A movs r1, 0x36 bl SetGpuReg - ldr r0, _0800FB84 @ =gUnknown_202297A + ldr r0, _0800FB84 @ =gBattle_BG1_Y ldr r2, _0800FB88 @ =0x0000ff5c adds r1, r2, 0 strh r1, [r0] - ldr r0, _0800FB8C @ =gUnknown_202297E + ldr r0, _0800FB8C @ =gBattle_BG2_Y strh r1, [r0] ldr r0, _0800FB90 @ =gUnknown_8248318 bl sub_800F034 @@ -1208,9 +1208,9 @@ _0800FB74: .4byte 0x06010000 _0800FB78: .4byte gFile_graphics_battle_transitions_vs_frame_palette _0800FB7C: .4byte 0x00005c04 _0800FB80: .4byte gFile_graphics_battle_transitions_vs_frame_tilemap -_0800FB84: .4byte gUnknown_202297A +_0800FB84: .4byte gBattle_BG1_Y _0800FB88: .4byte 0x0000ff5c -_0800FB8C: .4byte gUnknown_202297E +_0800FB8C: .4byte gBattle_BG2_Y _0800FB90: .4byte gUnknown_8248318 _0800FB94: movs r0, 0x80 diff --git a/asm/battle_2.s b/asm/battle_2.s index 1ecfe6ad3..ec9fa32a3 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -45,11 +45,11 @@ _0800FDD8: cmp r1, 0 beq _0800FDFE movs r0, 0x19 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FDFE: movs r0, 0x18 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FE06: movs r0, 0x80 @@ -57,11 +57,11 @@ _0800FE06: cmp r1, 0 beq _0800FE16 movs r0, 0x1A - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0800FE1C _0800FE16: movs r0, 0x17 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _0800FE1C: pop {r4} pop {r0} @@ -104,8 +104,8 @@ sub_800FE24: @ 800FE24 strh r0, [r1] ldr r0, _0800FF34 @ =gUnknown_2022986 strh r4, [r0] - bl dp12_8087EA4 - ldr r0, _0800FF38 @ =gUnknown_2038700 + bl ScanlineEffect_Clear + ldr r0, _0800FF38 @ =gScanlineEffectRegBuffers movs r3, 0xF0 movs r1, 0xF0 lsls r1, 3 @@ -121,7 +121,7 @@ _0800FE88: bge _0800FE88 movs r1, 0x50 ldr r4, _0800FF3C @ =gUnknown_824EFE4 - ldr r0, _0800FF38 @ =gUnknown_2038700 + ldr r0, _0800FF38 @ =gScanlineEffectRegBuffers ldr r3, _0800FF40 @ =0x0000ff10 movs r5, 0x82 lsls r5, 4 @@ -138,24 +138,24 @@ _0800FEA6: ldr r0, [r4] ldr r1, [r4, 0x4] ldr r2, [r4, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams bl ResetPaletteFade - ldr r0, _0800FF44 @ =gUnknown_2022974 + ldr r0, _0800FF44 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _0800FF48 @ =gUnknown_2022976 + ldr r0, _0800FF48 @ =gBattle_BG0_Y strh r1, [r0] - ldr r0, _0800FF4C @ =gUnknown_2022978 + ldr r0, _0800FF4C @ =gBattle_BG1_X strh r1, [r0] - ldr r0, _0800FF50 @ =gUnknown_202297A + ldr r0, _0800FF50 @ =gBattle_BG1_Y strh r1, [r0] - ldr r0, _0800FF54 @ =gUnknown_202297C + ldr r0, _0800FF54 @ =gBattle_BG2_X strh r1, [r0] - ldr r0, _0800FF58 @ =gUnknown_202297E + ldr r0, _0800FF58 @ =gBattle_BG2_Y strh r1, [r0] - ldr r0, _0800FF5C @ =gUnknown_2022980 + ldr r0, _0800FF5C @ =gBattle_BG3_X strh r1, [r0] - ldr r0, _0800FF60 @ =gUnknown_2022982 + ldr r0, _0800FF60 @ =gBattle_BG3_Y strh r1, [r0] bl sub_807FC5C ldr r1, _0800FF64 @ =gUnknown_2022B50 @@ -186,17 +186,17 @@ _0800FF28: .4byte 0x05006000 _0800FF2C: .4byte 0x00005051 _0800FF30: .4byte gUnknown_2022984 _0800FF34: .4byte gUnknown_2022986 -_0800FF38: .4byte gUnknown_2038700 +_0800FF38: .4byte gScanlineEffectRegBuffers _0800FF3C: .4byte gUnknown_824EFE4 _0800FF40: .4byte 0x0000ff10 -_0800FF44: .4byte gUnknown_2022974 -_0800FF48: .4byte gUnknown_2022976 -_0800FF4C: .4byte gUnknown_2022978 -_0800FF50: .4byte gUnknown_202297A -_0800FF54: .4byte gUnknown_202297C -_0800FF58: .4byte gUnknown_202297E -_0800FF5C: .4byte gUnknown_2022980 -_0800FF60: .4byte gUnknown_2022982 +_0800FF44: .4byte gBattle_BG0_X +_0800FF48: .4byte gBattle_BG0_Y +_0800FF4C: .4byte gBattle_BG1_X +_0800FF50: .4byte gBattle_BG1_Y +_0800FF54: .4byte gBattle_BG2_X +_0800FF58: .4byte gBattle_BG2_Y +_0800FF5C: .4byte gBattle_BG3_X +_0800FF60: .4byte gBattle_BG3_Y _0800FF64: .4byte gUnknown_2022B50 _0800FF68: .4byte gReservedSpritePaletteCount _0800FF6C: .4byte sub_80116F4 @@ -2410,7 +2410,7 @@ FreeRestoreBattleData: @ 8011174 ldr r0, _080111B0 @ =gUnknown_3004F80 ldr r0, [r0] str r0, [r1] - ldr r2, _080111B4 @ =gUnknown_2039600 + ldr r2, _080111B4 @ =gScanlineEffect movs r0, 0x3 strb r0, [r2, 0x15] ldr r0, _080111B8 @ =0x00000439 @@ -2431,7 +2431,7 @@ FreeRestoreBattleData: @ 8011174 .align 2, 0 _080111AC: .4byte gMain _080111B0: .4byte gUnknown_3004F80 -_080111B4: .4byte gUnknown_2039600 +_080111B4: .4byte gScanlineEffect _080111B8: .4byte 0x00000439 thumb_func_end FreeRestoreBattleData @@ -3125,35 +3125,35 @@ _080116F0: .4byte 0x04000008 sub_80116F4: @ 80116F4 push {lr} bl Random - ldr r0, _08011788 @ =gUnknown_2022974 + ldr r0, _08011788 @ =gBattle_BG0_X ldrh r1, [r0] movs r0, 0x10 bl SetGpuReg - ldr r0, _0801178C @ =gUnknown_2022976 + ldr r0, _0801178C @ =gBattle_BG0_Y ldrh r1, [r0] movs r0, 0x12 bl SetGpuReg - ldr r0, _08011790 @ =gUnknown_2022978 + ldr r0, _08011790 @ =gBattle_BG1_X ldrh r1, [r0] movs r0, 0x14 bl SetGpuReg - ldr r0, _08011794 @ =gUnknown_202297A + ldr r0, _08011794 @ =gBattle_BG1_Y ldrh r1, [r0] movs r0, 0x16 bl SetGpuReg - ldr r0, _08011798 @ =gUnknown_202297C + ldr r0, _08011798 @ =gBattle_BG2_X ldrh r1, [r0] movs r0, 0x18 bl SetGpuReg - ldr r0, _0801179C @ =gUnknown_202297E + ldr r0, _0801179C @ =gBattle_BG2_Y ldrh r1, [r0] movs r0, 0x1A bl SetGpuReg - ldr r0, _080117A0 @ =gUnknown_2022980 + ldr r0, _080117A0 @ =gBattle_BG3_X ldrh r1, [r0] movs r0, 0x1C bl SetGpuReg - ldr r0, _080117A4 @ =gUnknown_2022982 + ldr r0, _080117A4 @ =gBattle_BG3_Y ldrh r1, [r0] movs r0, 0x1E bl SetGpuReg @@ -3176,18 +3176,18 @@ sub_80116F4: @ 80116F4 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .align 2, 0 -_08011788: .4byte gUnknown_2022974 -_0801178C: .4byte gUnknown_2022976 -_08011790: .4byte gUnknown_2022978 -_08011794: .4byte gUnknown_202297A -_08011798: .4byte gUnknown_202297C -_0801179C: .4byte gUnknown_202297E -_080117A0: .4byte gUnknown_2022980 -_080117A4: .4byte gUnknown_2022982 +_08011788: .4byte gBattle_BG0_X +_0801178C: .4byte gBattle_BG0_Y +_08011790: .4byte gBattle_BG1_X +_08011794: .4byte gBattle_BG1_Y +_08011798: .4byte gBattle_BG2_X +_0801179C: .4byte gBattle_BG2_Y +_080117A0: .4byte gBattle_BG3_X +_080117A4: .4byte gBattle_BG3_Y _080117A8: .4byte gUnknown_2022984 _080117AC: .4byte gUnknown_2022986 _080117B0: .4byte gUnknown_2022988 @@ -3548,8 +3548,8 @@ sub_8011A1C: @ 8011A1C strh r0, [r1] ldr r0, _08011B4C @ =gUnknown_2022986 strh r4, [r0] - bl dp12_8087EA4 - ldr r0, _08011B50 @ =gUnknown_2038700 + bl ScanlineEffect_Clear + ldr r0, _08011B50 @ =gScanlineEffectRegBuffers movs r3, 0xF0 movs r1, 0xF0 lsls r1, 3 @@ -3564,7 +3564,7 @@ _08011A80: cmp r1, 0 bge _08011A80 movs r1, 0x50 - ldr r0, _08011B50 @ =gUnknown_2038700 + ldr r0, _08011B50 @ =gScanlineEffectRegBuffers ldr r3, _08011B54 @ =0x0000ff10 movs r4, 0x82 lsls r4, 4 @@ -3579,22 +3579,22 @@ _08011A9C: cmp r1, 0x9F ble _08011A9C bl ResetPaletteFade - ldr r0, _08011B58 @ =gUnknown_2022974 + ldr r0, _08011B58 @ =gBattle_BG0_X movs r4, 0 strh r4, [r0] - ldr r0, _08011B5C @ =gUnknown_2022976 + ldr r0, _08011B5C @ =gBattle_BG0_Y strh r4, [r0] - ldr r0, _08011B60 @ =gUnknown_2022978 + ldr r0, _08011B60 @ =gBattle_BG1_X strh r4, [r0] - ldr r0, _08011B64 @ =gUnknown_202297A + ldr r0, _08011B64 @ =gBattle_BG1_Y strh r4, [r0] - ldr r0, _08011B68 @ =gUnknown_202297C + ldr r0, _08011B68 @ =gBattle_BG2_X strh r4, [r0] - ldr r0, _08011B6C @ =gUnknown_202297E + ldr r0, _08011B6C @ =gBattle_BG2_Y strh r4, [r0] - ldr r0, _08011B70 @ =gUnknown_2022980 + ldr r0, _08011B70 @ =gBattle_BG3_X strh r4, [r0] - ldr r0, _08011B74 @ =gUnknown_2022982 + ldr r0, _08011B74 @ =gBattle_BG3_Y strh r4, [r0] bl sub_800F34C ldr r0, _08011B78 @ =gUnknown_8D004D8 @@ -3645,16 +3645,16 @@ _08011B40: .4byte 0x05006000 _08011B44: .4byte 0x00005051 _08011B48: .4byte gUnknown_2022984 _08011B4C: .4byte gUnknown_2022986 -_08011B50: .4byte gUnknown_2038700 +_08011B50: .4byte gScanlineEffectRegBuffers _08011B54: .4byte 0x0000ff10 -_08011B58: .4byte gUnknown_2022974 -_08011B5C: .4byte gUnknown_2022976 -_08011B60: .4byte gUnknown_2022978 -_08011B64: .4byte gUnknown_202297A -_08011B68: .4byte gUnknown_202297C -_08011B6C: .4byte gUnknown_202297E -_08011B70: .4byte gUnknown_2022980 -_08011B74: .4byte gUnknown_2022982 +_08011B58: .4byte gBattle_BG0_X +_08011B5C: .4byte gBattle_BG0_Y +_08011B60: .4byte gBattle_BG1_X +_08011B64: .4byte gBattle_BG1_Y +_08011B68: .4byte gBattle_BG2_X +_08011B6C: .4byte gBattle_BG2_Y +_08011B70: .4byte gBattle_BG3_X +_08011B74: .4byte gBattle_BG3_Y _08011B78: .4byte gUnknown_8D004D8 _08011B7C: .4byte gReservedSpritePaletteCount _08011B80: .4byte sub_80116F4 @@ -12610,10 +12610,10 @@ sub_8016374: @ 8016374 adds r0, r1 ldrb r0, [r0] strb r0, [r3] - ldr r0, _080163EC @ =gUnknown_2022974 + ldr r0, _080163EC @ =gBattle_BG0_X movs r2, 0 strh r2, [r0] - ldr r0, _080163F0 @ =gUnknown_2022976 + ldr r0, _080163F0 @ =gBattle_BG0_Y strh r2, [r0] ldr r1, _080163F4 @ =gUnknown_2023FF8 ldrb r0, [r3] @@ -12661,8 +12661,8 @@ _080163DA: _080163E0: .4byte sBattler_AI _080163E4: .4byte gUnknown_2023BDE _080163E8: .4byte gUnknown_2023BE2 -_080163EC: .4byte gUnknown_2022974 -_080163F0: .4byte gUnknown_2022976 +_080163EC: .4byte gBattle_BG0_X +_080163F0: .4byte gBattle_BG0_Y _080163F4: .4byte gUnknown_2023FF8 _080163F8: .4byte gUnknown_2023FFC _080163FC: .4byte gBattleTextBuff1 @@ -12690,10 +12690,10 @@ sub_8016418: @ 8016418 ldrb r0, [r0] strb r0, [r2] strb r0, [r4] - ldr r0, _08016484 @ =gUnknown_2022974 + ldr r0, _08016484 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08016488 @ =gUnknown_2022976 + ldr r0, _08016488 @ =gBattle_BG0_Y strh r1, [r0] ldrb r0, [r4] bl ClearFuryCutterDestinyBondGrudge @@ -12726,8 +12726,8 @@ _08016474: .4byte sBattler_AI _08016478: .4byte gBattlerTarget _0801647C: .4byte gUnknown_2023BDE _08016480: .4byte gUnknown_2023BE2 -_08016484: .4byte gUnknown_2022974 -_08016488: .4byte gUnknown_2022976 +_08016484: .4byte gBattle_BG0_X +_08016488: .4byte gBattle_BG0_Y _0801648C: .4byte gUnknown_2023D68 _08016490: .4byte gUnknown_20233C4 _08016494: .4byte gUnknown_2023D74 @@ -13391,10 +13391,10 @@ sub_80169E8: @ 80169E8 adds r0, r1 ldrb r0, [r0] strb r0, [r2] - ldr r0, _08016A50 @ =gUnknown_2022974 + ldr r0, _08016A50 @ =gBattle_BG0_X movs r5, 0 strh r5, [r0] - ldr r0, _08016A54 @ =gUnknown_2022976 + ldr r0, _08016A54 @ =gBattle_BG0_Y strh r5, [r0] ldr r4, _08016A58 @ =gBattleStruct ldr r1, [r4] @@ -13431,8 +13431,8 @@ sub_80169E8: @ 80169E8 _08016A44: .4byte sBattler_AI _08016A48: .4byte gUnknown_2023BDE _08016A4C: .4byte gUnknown_2023BE2 -_08016A50: .4byte gUnknown_2022974 -_08016A54: .4byte gUnknown_2022976 +_08016A50: .4byte gBattle_BG0_X +_08016A54: .4byte gBattle_BG0_Y _08016A58: .4byte gBattleStruct _08016A5C: .4byte gEnemyParty _08016A60: .4byte gBaseStats @@ -13492,10 +13492,10 @@ sub_8016AC0: @ 8016AC0 adds r0, r1 ldrb r0, [r0] strb r0, [r2] - ldr r0, _08016B04 @ =gUnknown_2022974 + ldr r0, _08016B04 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08016B08 @ =gUnknown_2022976 + ldr r0, _08016B08 @ =gBattle_BG0_Y strh r1, [r0] ldr r1, _08016B0C @ =gUnknown_2039994 ldrb r0, [r1] @@ -13516,8 +13516,8 @@ sub_8016AC0: @ 8016AC0 _08016AF8: .4byte sBattler_AI _08016AFC: .4byte gUnknown_2023BDE _08016B00: .4byte gUnknown_2023BE2 -_08016B04: .4byte gUnknown_2022974 -_08016B08: .4byte gUnknown_2022976 +_08016B04: .4byte gBattle_BG0_X +_08016B08: .4byte gBattle_BG0_Y _08016B0C: .4byte gUnknown_2039994 _08016B10: .4byte gUnknown_2023D68 _08016B14: .4byte gUnknown_2023D74 @@ -13535,10 +13535,10 @@ sub_8016B20: @ 8016B20 adds r0, r1 ldrb r0, [r0] strb r0, [r2] - ldr r0, _08016BA8 @ =gUnknown_2022974 + ldr r0, _08016BA8 @ =gBattle_BG0_X movs r7, 0 strh r7, [r0] - ldr r0, _08016BAC @ =gUnknown_2022976 + ldr r0, _08016BAC @ =gBattle_BG0_Y strh r7, [r0] bl Random ldr r6, _08016BB0 @ =gBattleStruct @@ -13592,8 +13592,8 @@ _08016B86: _08016B9C: .4byte sBattler_AI _08016BA0: .4byte gUnknown_2023BDE _08016BA4: .4byte gUnknown_2023BE2 -_08016BA8: .4byte gUnknown_2022974 -_08016BAC: .4byte gUnknown_2022976 +_08016BA8: .4byte gBattle_BG0_X +_08016BAC: .4byte gBattle_BG0_Y _08016BB0: .4byte gBattleStruct _08016BB4: .4byte gUnknown_2023D74 _08016BB8: .4byte gUnknown_81D9A04 @@ -13610,10 +13610,10 @@ sub_8016BC0: @ 8016BC0 adds r0, r1 ldrb r0, [r0] strb r0, [r2] - ldr r0, _08016C48 @ =gUnknown_2022974 + ldr r0, _08016C48 @ =gBattle_BG0_X movs r7, 0 strh r7, [r0] - ldr r0, _08016C4C @ =gUnknown_2022976 + ldr r0, _08016C4C @ =gBattle_BG0_Y strh r7, [r0] bl Random ldr r6, _08016C50 @ =gBattleStruct @@ -13667,8 +13667,8 @@ _08016C26: _08016C3C: .4byte sBattler_AI _08016C40: .4byte gUnknown_2023BDE _08016C44: .4byte gUnknown_2023BE2 -_08016C48: .4byte gUnknown_2022974 -_08016C4C: .4byte gUnknown_2022976 +_08016C48: .4byte gBattle_BG0_X +_08016C4C: .4byte gBattle_BG0_Y _08016C50: .4byte gBattleStruct _08016C54: .4byte gUnknown_2023D74 _08016C58: .4byte gUnknown_81D9A04 @@ -13713,10 +13713,10 @@ HandleAction_Action9: @ 8016C9C adds r0, r1 ldrb r2, [r0] strb r2, [r3] - ldr r0, _08016CF4 @ =gUnknown_2022974 + ldr r0, _08016CF4 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08016CF8 @ =gUnknown_2022976 + ldr r0, _08016CF8 @ =gBattle_BG0_Y strh r1, [r0] ldr r1, _08016CFC @ =gBattleTextBuff1 movs r0, 0xFD @@ -13747,8 +13747,8 @@ HandleAction_Action9: @ 8016C9C _08016CE8: .4byte sBattler_AI _08016CEC: .4byte gUnknown_2023BDE _08016CF0: .4byte gUnknown_2023BE2 -_08016CF4: .4byte gUnknown_2022974 -_08016CF8: .4byte gUnknown_2022976 +_08016CF4: .4byte gBattle_BG0_X +_08016CF8: .4byte gBattle_BG0_Y _08016CFC: .4byte gBattleTextBuff1 _08016D00: .4byte gBattlerPartyIndexes _08016D04: .4byte gUnknown_2023D74 diff --git a/asm/battle_anim.s b/asm/battle_anim.s index 085b11f09..f65b9b705 100644 --- a/asm/battle_anim.s +++ b/asm/battle_anim.s @@ -1037,10 +1037,10 @@ _08072C88: strh r1, [r2, 0xC] cmp r7, 0 bne _08072CF4 - ldr r0, _08072CEC @ =gUnknown_2022978 + ldr r0, _08072CEC @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r2, 0xE] - ldr r0, _08072CF0 @ =gUnknown_202297A + ldr r0, _08072CF0 @ =gBattle_BG1_Y b _08072CFC .align 2, 0 _08072CD8: .4byte gUnknown_2037F1B @@ -1048,13 +1048,13 @@ _08072CDC: .4byte gUnknown_2023D44 _08072CE0: .4byte task_pA_ma0A_obj_to_bg_pal _08072CE4: .4byte gTasks _08072CE8: .4byte gSprites -_08072CEC: .4byte gUnknown_2022978 -_08072CF0: .4byte gUnknown_202297A +_08072CEC: .4byte gBattle_BG1_X +_08072CF0: .4byte gBattle_BG1_Y _08072CF4: - ldr r0, _08072D8C @ =gUnknown_202297C + ldr r0, _08072D8C @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r2, 0xE] - ldr r0, _08072D90 @ =gUnknown_202297E + ldr r0, _08072D90 @ =gBattle_BG2_Y _08072CFC: ldrh r0, [r0] strh r0, [r2, 0x10] @@ -1121,26 +1121,26 @@ _08072D3E: strh r1, [r2, 0xC] cmp r7, 0 bne _08072DB0 - ldr r0, _08072DA8 @ =gUnknown_2022978 + ldr r0, _08072DA8 @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r2, 0xE] - ldr r0, _08072DAC @ =gUnknown_202297A + ldr r0, _08072DAC @ =gBattle_BG1_Y b _08072DB8 .align 2, 0 -_08072D8C: .4byte gUnknown_202297C -_08072D90: .4byte gUnknown_202297E +_08072D8C: .4byte gBattle_BG2_X +_08072D90: .4byte gBattle_BG2_Y _08072D94: .4byte gTasks _08072D98: .4byte gUnknown_2037F14 _08072D9C: .4byte gUnknown_2023D44 _08072DA0: .4byte task_pA_ma0A_obj_to_bg_pal _08072DA4: .4byte gSprites -_08072DA8: .4byte gUnknown_2022978 -_08072DAC: .4byte gUnknown_202297A +_08072DA8: .4byte gBattle_BG1_X +_08072DAC: .4byte gBattle_BG1_Y _08072DB0: - ldr r0, _08072DDC @ =gUnknown_202297C + ldr r0, _08072DDC @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r2, 0xE] - ldr r0, _08072DE0 @ =gUnknown_202297E + ldr r0, _08072DE0 @ =gBattle_BG2_Y _08072DB8: ldrh r0, [r0] strh r0, [r2, 0x10] @@ -1162,8 +1162,8 @@ _08072DCE: pop {r0} bx r0 .align 2, 0 -_08072DDC: .4byte gUnknown_202297C -_08072DE0: .4byte gUnknown_202297E +_08072DDC: .4byte gBattle_BG2_X +_08072DE0: .4byte gBattle_BG2_Y _08072DE4: .4byte gTasks _08072DE8: .4byte gUnknown_2037F14 _08072DEC: .4byte gUnknown_2037ED4 @@ -1271,7 +1271,7 @@ _08072E5E: ldr r2, _08072F6C @ =gUnknown_2023D44 adds r2, r7, r2 ldrb r0, [r2] - ldr r5, _08072F70 @ =gUnknown_2022978 + ldr r5, _08072F70 @ =gBattle_BG1_X ldr r3, _08072F74 @ =gSprites lsls r1, r0, 4 adds r1, r0 @@ -1283,7 +1283,7 @@ _08072E5E: negs r0, r0 adds r0, 0x20 strh r0, [r5] - ldr r4, _08072F78 @ =gUnknown_202297A + ldr r4, _08072F78 @ =gBattle_BG1_Y ldrh r0, [r1, 0x26] ldrh r1, [r1, 0x22] adds r0, r1 @@ -1350,9 +1350,9 @@ _08072F60: .4byte 0x0600e000 _08072F64: .4byte 0x01000800 _08072F68: .4byte 0x01000400 _08072F6C: .4byte gUnknown_2023D44 -_08072F70: .4byte gUnknown_2022978 +_08072F70: .4byte gBattle_BG1_X _08072F74: .4byte gSprites -_08072F78: .4byte gUnknown_202297A +_08072F78: .4byte gBattle_BG1_Y _08072F7C: .4byte gPlttBufferUnfaded + 0x200 _08072F80: .4byte 0x04000008 _08072F84: @@ -1404,7 +1404,7 @@ _08072F84: ldr r2, _080730A4 @ =gUnknown_2023D44 adds r2, r7, r2 ldrb r0, [r2] - ldr r5, _080730A8 @ =gUnknown_202297C + ldr r5, _080730A8 @ =gBattle_BG2_X ldr r3, _080730AC @ =gSprites lsls r1, r0, 4 adds r1, r0 @@ -1416,7 +1416,7 @@ _08072F84: negs r0, r0 adds r0, 0x20 strh r0, [r5] - ldr r4, _080730B0 @ =gUnknown_202297E + ldr r4, _080730B0 @ =gBattle_BG2_Y ldrh r0, [r1, 0x26] ldrh r1, [r1, 0x22] adds r0, r1 @@ -1484,9 +1484,9 @@ _08073098: .4byte 0x0600f000 _0807309C: .4byte 0x01000800 _080730A0: .4byte 0x01000400 _080730A4: .4byte gUnknown_2023D44 -_080730A8: .4byte gUnknown_202297C +_080730A8: .4byte gBattle_BG2_X _080730AC: .4byte gSprites -_080730B0: .4byte gUnknown_202297E +_080730B0: .4byte gBattle_BG2_Y _080730B4: .4byte gPlttBufferUnfaded + 0x200 _080730B8: .4byte 0x05000120 _080730BC: .4byte 0x04000008 @@ -1563,21 +1563,21 @@ sub_8073128: @ 8073128 bne _08073154 movs r0, 0x1 bl sub_8075358 - ldr r0, _0807314C @ =gUnknown_2022978 + ldr r0, _0807314C @ =gBattle_BG1_X strh r4, [r0] - ldr r0, _08073150 @ =gUnknown_202297A + ldr r0, _08073150 @ =gBattle_BG1_Y strh r4, [r0] b _08073164 .align 2, 0 -_0807314C: .4byte gUnknown_2022978 -_08073150: .4byte gUnknown_202297A +_0807314C: .4byte gBattle_BG1_X +_08073150: .4byte gBattle_BG1_Y _08073154: movs r0, 0x2 bl sub_8075358 - ldr r0, _0807316C @ =gUnknown_202297C + ldr r0, _0807316C @ =gBattle_BG2_X movs r1, 0 strh r1, [r0] - ldr r0, _08073170 @ =gUnknown_202297E + ldr r0, _08073170 @ =gBattle_BG2_Y strh r1, [r0] _08073164: add sp, 0x10 @@ -1585,8 +1585,8 @@ _08073164: pop {r0} bx r0 .align 2, 0 -_0807316C: .4byte gUnknown_202297C -_08073170: .4byte gUnknown_202297E +_0807316C: .4byte gBattle_BG2_X +_08073170: .4byte gBattle_BG2_Y thumb_func_end sub_8073128 thumb_func_start task_pA_ma0A_obj_to_bg_pal @@ -1627,13 +1627,13 @@ task_pA_ma0A_obj_to_bg_pal: @ 8073174 ldrsh r0, [r5, r1] cmp r0, 0 bne _0807320C - ldr r1, _080731F8 @ =gUnknown_2022978 + ldr r1, _080731F8 @ =gBattle_BG1_X lsls r0, r3, 16 asrs r0, 16 ldrh r3, [r5, 0xE] adds r0, r3 strh r0, [r1] - ldr r1, _080731FC @ =gUnknown_202297A + ldr r1, _080731FC @ =gBattle_BG1_Y lsls r0, r2, 16 asrs r0, 16 ldrh r5, [r5, 0x10] @@ -1654,19 +1654,19 @@ task_pA_ma0A_obj_to_bg_pal: @ 8073174 .align 2, 0 _080731F0: .4byte gTasks _080731F4: .4byte gSprites -_080731F8: .4byte gUnknown_2022978 -_080731FC: .4byte gUnknown_202297A +_080731F8: .4byte gBattle_BG1_X +_080731FC: .4byte gBattle_BG1_Y _08073200: .4byte gPlttBufferFaded + 0x200 _08073204: .4byte 0xfffffe00 _08073208: .4byte 0x04000008 _0807320C: - ldr r1, _0807323C @ =gUnknown_202297C + ldr r1, _0807323C @ =gBattle_BG2_X lsls r0, r3, 16 asrs r0, 16 ldrh r3, [r5, 0xE] adds r0, r3 strh r0, [r1] - ldr r1, _08073240 @ =gUnknown_202297E + ldr r1, _08073240 @ =gBattle_BG2_Y lsls r0, r2, 16 asrs r0, 16 ldrh r5, [r5, 0x10] @@ -1684,8 +1684,8 @@ _08073232: pop {r0} bx r0 .align 2, 0 -_0807323C: .4byte gUnknown_202297C -_08073240: .4byte gUnknown_202297E +_0807323C: .4byte gBattle_BG2_X +_08073240: .4byte gBattle_BG2_Y _08073244: .4byte gPlttBufferFaded + 0x200 _08073248: .4byte 0x04000008 thumb_func_end task_pA_ma0A_obj_to_bg_pal diff --git a/asm/battle_anim_80A22E8.s b/asm/battle_anim_80A22E8.s index e64654d57..bf7f547f6 100644 --- a/asm/battle_anim_80A22E8.s +++ b/asm/battle_anim_80A22E8.s @@ -3962,7 +3962,7 @@ sub_80A414C: @ 80A414C strh r0, [r4, 0x3C] movs r1, 0x30 ldrsh r2, [r4, r1] - ldr r1, _080A41A0 @ =gUnknown_825E074 + ldr r1, _080A41A0 @ =gSineTable movs r5, 0x2E ldrsh r0, [r4, r5] lsls r0, 1 @@ -3995,7 +3995,7 @@ sub_80A414C: @ 80A414C ble _080A41BC b _080A41B6 .align 2, 0 -_080A41A0: .4byte gUnknown_825E074 +_080A41A0: .4byte gSineTable _080A41A4: movs r1, 0x24 ldrsh r0, [r4, r1] @@ -8720,7 +8720,7 @@ _080A6558: .align 2, 0 _080A657C: .4byte gTasks _080A6580: - ldr r4, _080A65C8 @ =gUnknown_825E074 + ldr r4, _080A65C8 @ =gSineTable movs r1, 0x2E ldrsh r0, [r5, r1] lsls r0, 1 @@ -8755,7 +8755,7 @@ _080A65C2: pop {r0} bx r0 .align 2, 0 -_080A65C8: .4byte gUnknown_825E074 +_080A65C8: .4byte gSineTable thumb_func_end sub_80A653C thumb_func_start sub_80A65CC @@ -9762,7 +9762,7 @@ _080A6D62: adds r1, 0x43 strb r0, [r1] _080A6D72: - ldr r1, _080A6D8C @ =gUnknown_825E074 + ldr r1, _080A6D8C @ =gSineTable movs r3, 0x30 ldrsh r0, [r2, r3] lsls r0, 1 @@ -9777,7 +9777,7 @@ _080A6D88: pop {r0} bx r0 .align 2, 0 -_080A6D8C: .4byte gUnknown_825E074 +_080A6D8C: .4byte gSineTable thumb_func_end sub_80A6D20 thumb_func_start sub_80A6D90 @@ -13284,7 +13284,7 @@ sub_80A8874: @ 80A8874 lsrs r0, 24 cmp r0, 0x1 bne _080A88D4 - ldr r0, _080A88CC @ =gUnknown_2022978 + ldr r0, _080A88CC @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r5, 0x14] ldr r0, _080A88D0 @ =0x04000014 @@ -13292,10 +13292,10 @@ sub_80A8874: @ 80A8874 .align 2, 0 _080A88C4: .4byte gTasks _080A88C8: .4byte gUnknown_2037F1B -_080A88CC: .4byte gUnknown_2022978 +_080A88CC: .4byte gBattle_BG1_X _080A88D0: .4byte 0x04000014 _080A88D4: - ldr r0, _080A8940 @ =gUnknown_202297C + ldr r0, _080A8940 @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r5, 0x14] ldr r0, _080A8944 @ =0x04000018 @@ -13308,7 +13308,7 @@ _080A88DC: lsls r0, 16 cmp r2, r0 bgt _080A891A - ldr r4, _080A8948 @ =gUnknown_2038700 + ldr r4, _080A8948 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -13345,7 +13345,7 @@ _080A891A: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldr r0, _080A8950 @ =sub_80A8954 str r0, [r5] add sp, 0xC @@ -13353,9 +13353,9 @@ _080A891A: pop {r0} bx r0 .align 2, 0 -_080A8940: .4byte gUnknown_202297C +_080A8940: .4byte gBattle_BG2_X _080A8944: .4byte 0x04000018 -_080A8948: .4byte gUnknown_2038700 +_080A8948: .4byte gScanlineEffectRegBuffers _080A894C: .4byte 0xa2600001 _080A8950: .4byte sub_80A8954 thumb_func_end sub_80A8874 @@ -13431,7 +13431,7 @@ _080A89CC: ldrsh r0, [r3, r1] cmp r0, 0 blt _080A89F0 - ldr r2, _080A8A14 @ =gUnknown_2038700 + ldr r2, _080A8A14 @ =gScanlineEffectRegBuffers lsls r0, 1 adds r0, r2 ldrh r1, [r3, 0x14] @@ -13455,7 +13455,7 @@ _080A89F0: ldrsh r1, [r3, r2] cmp r0, r1 blt _080A8A0E - ldr r1, _080A8A18 @ =gUnknown_2039600 + ldr r1, _080A8A18 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] adds r0, r4, 0 @@ -13465,8 +13465,8 @@ _080A8A0E: pop {r0} bx r0 .align 2, 0 -_080A8A14: .4byte gUnknown_2038700 -_080A8A18: .4byte gUnknown_2039600 +_080A8A14: .4byte gScanlineEffectRegBuffers +_080A8A18: .4byte gScanlineEffect thumb_func_end sub_80A8954 thumb_func_start sub_80A8A1C @@ -15940,10 +15940,10 @@ sub_80A9CE8: @ 80A9CE8 movs r2, 0x1 bl SetAnimBgAttribute _080A9D2A: - ldr r0, _080A9DA4 @ =gUnknown_2022978 + ldr r0, _080A9DA4 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r4, _080A9DA8 @ =gUnknown_202297A + ldr r4, _080A9DA8 @ =gBattle_BG1_Y strh r1, [r4] movs r0, 0x14 movs r1, 0 @@ -15993,8 +15993,8 @@ _080A9D88: bx r0 .align 2, 0 _080A9DA0: .4byte 0x00003f42 -_080A9DA4: .4byte gUnknown_2022978 -_080A9DA8: .4byte gUnknown_202297A +_080A9DA4: .4byte gBattle_BG1_X +_080A9DA8: .4byte gBattle_BG1_Y _080A9DAC: .4byte gFile_graphics_battle_anims_backgrounds_attract_tilemap _080A9DB0: .4byte gFile_graphics_battle_anims_backgrounds_attract_sheet _080A9DB4: .4byte gFile_graphics_battle_anims_backgrounds_attract_palette @@ -16197,10 +16197,10 @@ sub_80A9F10: @ 80A9F10 movs r2, 0x1 bl SetAnimBgAttribute _080A9F52: - ldr r0, _080A9F8C @ =gUnknown_2022978 + ldr r0, _080A9F8C @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r4, _080A9F90 @ =gUnknown_202297A + ldr r4, _080A9F90 @ =gBattle_BG1_Y strh r1, [r4] movs r0, 0x14 movs r1, 0 @@ -16220,8 +16220,8 @@ _080A9F52: b _080A9FC6 .align 2, 0 _080A9F88: .4byte 0x00003f42 -_080A9F8C: .4byte gUnknown_2022978 -_080A9F90: .4byte gUnknown_202297A +_080A9F8C: .4byte gBattle_BG1_X +_080A9F90: .4byte gBattle_BG1_Y _080A9F94: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_contest_tilemap _080A9F98: ldr r0, _080A9FB4 @ =gUnknown_2037F1B @@ -18959,11 +18959,11 @@ _080AB476: beq _080AB4F8 ldr r1, _080AB4EC @ =0x0000ffb0 adds r0, r1, 0 - ldr r2, _080AB4F0 @ =gUnknown_2022978 + ldr r2, _080AB4F0 @ =gBattle_BG1_X strh r0, [r2] adds r1, 0x20 adds r0, r1, 0 - ldr r2, _080AB4F4 @ =gUnknown_202297A + ldr r2, _080AB4F4 @ =gBattle_BG1_Y strh r0, [r2] movs r0, 0x2 strh r0, [r6, 0x8] @@ -18977,8 +18977,8 @@ _080AB4E0: .4byte gFile_graphics_battle_anims_backgrounds_water_muddy_palette _080AB4E4: .4byte sub_80AB79C _080AB4E8: .4byte gTasks _080AB4EC: .4byte 0x0000ffb0 -_080AB4F0: .4byte gUnknown_2022978 -_080AB4F4: .4byte gUnknown_202297A +_080AB4F0: .4byte gBattle_BG1_X +_080AB4F4: .4byte gBattle_BG1_Y _080AB4F8: ldr r0, _080AB528 @ =gUnknown_2037F1A ldrb r0, [r0] @@ -18989,12 +18989,12 @@ _080AB4F8: bne _080AB53C ldr r2, _080AB52C @ =0x0000ff20 adds r0, r2, 0 - ldr r2, _080AB530 @ =gUnknown_2022978 + ldr r2, _080AB530 @ =gBattle_BG1_X strh r0, [r2] movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 - ldr r2, _080AB534 @ =gUnknown_202297A + ldr r2, _080AB534 @ =gBattle_BG1_Y strh r0, [r2] movs r0, 0x2 strh r0, [r6, 0x8] @@ -19005,15 +19005,15 @@ _080AB4F8: .align 2, 0 _080AB528: .4byte gUnknown_2037F1A _080AB52C: .4byte 0x0000ff20 -_080AB530: .4byte gUnknown_2022978 -_080AB534: .4byte gUnknown_202297A +_080AB530: .4byte gBattle_BG1_X +_080AB534: .4byte gBattle_BG1_Y _080AB538: .4byte 0x0000ffff _080AB53C: - ldr r0, _080AB584 @ =gUnknown_2022978 + ldr r0, _080AB584 @ =gBattle_BG1_X strh r4, [r0] ldr r1, _080AB588 @ =0x0000ffd0 adds r0, r1, 0 - ldr r2, _080AB58C @ =gUnknown_202297A + ldr r2, _080AB58C @ =gBattle_BG1_Y strh r0, [r2] ldr r0, _080AB590 @ =0x0000fffe strh r0, [r6, 0x8] @@ -19021,11 +19021,11 @@ _080AB53C: strh r0, [r6, 0xA] strh r4, [r7, 0xE] _080AB552: - ldr r0, _080AB584 @ =gUnknown_2022978 + ldr r0, _080AB584 @ =gBattle_BG1_X ldrh r1, [r0] movs r0, 0x14 bl SetGpuReg - ldr r2, _080AB58C @ =gUnknown_202297A + ldr r2, _080AB58C @ =gBattle_BG1_Y ldrh r1, [r2] movs r0, 0x16 bl SetGpuReg @@ -19044,9 +19044,9 @@ _080AB552: movs r0, 0x70 b _080AB59C .align 2, 0 -_080AB584: .4byte gUnknown_2022978 +_080AB584: .4byte gBattle_BG1_X _080AB588: .4byte 0x0000ffd0 -_080AB58C: .4byte gUnknown_202297A +_080AB58C: .4byte gBattle_BG1_Y _080AB590: .4byte 0x0000fffe _080AB594: .4byte gTasks _080AB598: @@ -19082,8 +19082,8 @@ sub_80AB5C8: @ 80AB5C8 sub sp, 0x10 lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080AB6F4 @ =gUnknown_2022978 - ldr r2, _080AB6F8 @ =gUnknown_202297A + ldr r1, _080AB6F4 @ =gBattle_BG1_X + ldr r2, _080AB6F8 @ =gBattle_BG1_Y ldr r0, _080AB6FC @ =gTasks lsls r4, r5, 2 adds r4, r5 @@ -19233,8 +19233,8 @@ _080AB6EC: pop {r0} bx r0 .align 2, 0 -_080AB6F4: .4byte gUnknown_2022978 -_080AB6F8: .4byte gUnknown_202297A +_080AB6F4: .4byte gBattle_BG1_X +_080AB6F8: .4byte gBattle_BG1_Y _080AB6FC: .4byte gTasks _080AB700: .4byte gPlttBufferFaded _080AB704: .4byte sub_80AB708 @@ -19248,8 +19248,8 @@ sub_80AB708: @ 80AB708 lsls r0, 24 lsrs r0, 24 adds r5, r0, 0 - ldr r7, _080AB740 @ =gUnknown_2022978 - ldr r0, _080AB744 @ =gUnknown_202297A + ldr r7, _080AB740 @ =gBattle_BG1_X + ldr r0, _080AB744 @ =gBattle_BG1_Y mov r8, r0 ldr r6, _080AB748 @ =gTasks lsls r0, r5, 2 @@ -19269,8 +19269,8 @@ sub_80AB708: @ 80AB708 strh r0, [r4, 0x8] b _080AB78E .align 2, 0 -_080AB740: .4byte gUnknown_2022978 -_080AB744: .4byte gUnknown_202297A +_080AB740: .4byte gBattle_BG1_X +_080AB744: .4byte gBattle_BG1_Y _080AB748: .4byte gTasks _080AB74C: bl sub_8073788 @@ -19346,7 +19346,7 @@ _080AB7D0: movs r3, 0 movs r2, 0x10 ldrsh r0, [r4, r2] - ldr r1, _080AB8A0 @ =gUnknown_2038700 + ldr r1, _080AB8A0 @ =gScanlineEffectRegBuffers mov r12, r1 cmp r3, r0 bge _080AB80E @@ -19383,7 +19383,7 @@ _080AB80E: ldrsh r0, [r4, r3] cmp r1, r0 bge _080AB848 - ldr r5, _080AB8A0 @ =gUnknown_2038700 + ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -19412,7 +19412,7 @@ _080AB848: asrs r0, r2, 16 cmp r0, 0x9F bgt _080AB87E - ldr r5, _080AB8A0 @ =gUnknown_2038700 + ldr r5, _080AB8A0 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -19453,7 +19453,7 @@ _080AB87E: ldrh r0, [r4, 0xA] b _080AB8BE .align 2, 0 -_080AB8A0: .4byte gUnknown_2038700 +_080AB8A0: .4byte gScanlineEffectRegBuffers _080AB8A4: .4byte 0x0000ffff _080AB8A8: lsls r0, r3, 16 @@ -19482,7 +19482,7 @@ _080AB8BE: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] @@ -19521,8 +19521,8 @@ _080AB91C: ldrsh r0, [r4, r1] cmp r3, r0 bge _080AB950 - ldr r6, _080AB9B4 @ =gUnknown_2038700 - ldr r5, _080AB9B8 @ =gUnknown_2039600 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect _080AB92A: lsls r1, r3, 16 asrs r1, 16 @@ -19551,8 +19551,8 @@ _080AB950: ldrsh r0, [r4, r3] cmp r1, r0 bge _080AB984 - ldr r6, _080AB9B4 @ =gUnknown_2038700 - ldr r5, _080AB9B8 @ =gUnknown_2039600 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect _080AB962: asrs r3, r2, 16 lsls r2, r3, 1 @@ -19577,8 +19577,8 @@ _080AB984: asrs r0, r1, 16 cmp r0, 0x9F bgt _080ABA66 - ldr r6, _080AB9B4 @ =gUnknown_2038700 - ldr r5, _080AB9B8 @ =gUnknown_2039600 + ldr r6, _080AB9B4 @ =gScanlineEffectRegBuffers + ldr r5, _080AB9B8 @ =gScanlineEffect _080AB992: asrs r3, r1, 16 lsls r2, r3, 1 @@ -19597,16 +19597,16 @@ _080AB992: ble _080AB992 b _080ABA66 .align 2, 0 -_080AB9B4: .4byte gUnknown_2038700 -_080AB9B8: .4byte gUnknown_2039600 +_080AB9B4: .4byte gScanlineEffectRegBuffers +_080AB9B8: .4byte gScanlineEffect _080AB9BC: movs r3, 0 movs r1, 0x10 ldrsh r0, [r4, r1] cmp r3, r0 bge _080AB9F0 - ldr r6, _080ABA70 @ =gUnknown_2038700 - ldr r5, _080ABA74 @ =gUnknown_2039600 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect _080AB9CA: lsls r1, r3, 16 asrs r1, 16 @@ -19635,8 +19635,8 @@ _080AB9F0: ldrsh r0, [r4, r3] cmp r1, r0 bge _080ABA24 - ldr r6, _080ABA70 @ =gUnknown_2038700 - ldr r5, _080ABA74 @ =gUnknown_2039600 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect _080ABA02: asrs r3, r2, 16 lsls r2, r3, 1 @@ -19661,8 +19661,8 @@ _080ABA24: asrs r0, r1, 16 cmp r0, 0x9F bgt _080ABA50 - ldr r6, _080ABA70 @ =gUnknown_2038700 - ldr r5, _080ABA74 @ =gUnknown_2039600 + ldr r6, _080ABA70 @ =gScanlineEffectRegBuffers + ldr r5, _080ABA74 @ =gScanlineEffect _080ABA32: asrs r3, r1, 16 lsls r2, r3, 1 @@ -19686,7 +19686,7 @@ _080ABA50: negs r0, r0 cmp r1, r0 bne _080ABA66 - bl remove_some_task + bl ScanlineEffect_Stop adds r0, r7, 0 bl DestroyTask _080ABA66: @@ -19695,8 +19695,8 @@ _080ABA66: pop {r0} bx r0 .align 2, 0 -_080ABA70: .4byte gUnknown_2038700 -_080ABA74: .4byte gUnknown_2039600 +_080ABA70: .4byte gScanlineEffectRegBuffers +_080ABA74: .4byte gScanlineEffect thumb_func_end sub_80AB79C thumb_func_start sub_80ABA78 @@ -20603,7 +20603,7 @@ sub_80AC160: @ 80AC160 adds r4, r0, 0 lsls r1, 24 lsrs r6, r1, 24 - ldr r1, _080AC1EC @ =gUnknown_825E074 + ldr r1, _080AC1EC @ =gSineTable movs r2, 0x18 ldrsh r0, [r4, r2] lsls r0, 1 @@ -20668,7 +20668,7 @@ _080AC1BA: pop {r0} bx r0 .align 2, 0 -_080AC1EC: .4byte gUnknown_825E074 +_080AC1EC: .4byte gSineTable _080AC1F0: .4byte gUnknown_83E5AE0 _080AC1F4: .4byte gSprites _080AC1F8: .4byte sub_80AC204 @@ -24355,7 +24355,7 @@ _080ADE02: lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x22] - ldr r7, _080ADEA0 @ =gUnknown_825E074 + ldr r7, _080ADEA0 @ =gSineTable ldr r6, _080ADEA4 @ =gUnknown_2037F02 movs r1, 0 ldrsh r0, [r6, r1] @@ -24430,7 +24430,7 @@ _080ADE66: pop {r0} bx r0 .align 2, 0 -_080ADEA0: .4byte gUnknown_825E074 +_080ADEA0: .4byte gSineTable _080ADEA4: .4byte gUnknown_2037F02 _080ADEA8: .4byte gOamMatrices _080ADEAC: .4byte sub_80B1D3C @@ -28140,10 +28140,10 @@ sub_80AFAE4: @ 80AFAE4 movs r2, 0x1 bl SetAnimBgAttribute _080AFB26: - ldr r0, _080AFBA4 @ =gUnknown_2022978 + ldr r0, _080AFBA4 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r4, _080AFBA8 @ =gUnknown_202297A + ldr r4, _080AFBA8 @ =gBattle_BG1_Y strh r1, [r4] movs r0, 0x14 movs r1, 0 @@ -28195,8 +28195,8 @@ _080AFB88: bx r0 .align 2, 0 _080AFBA0: .4byte 0x00003f42 -_080AFBA4: .4byte gUnknown_2022978 -_080AFBA8: .4byte gUnknown_202297A +_080AFBA4: .4byte gBattle_BG1_X +_080AFBA8: .4byte gBattle_BG1_Y _080AFBAC: .4byte gUnknown_83C3540 _080AFBB0: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap _080AFBB4: .4byte gUnknown_83C2CE0 @@ -28210,7 +28210,7 @@ sub_80AFBC0: @ 80AFBC0 sub sp, 0x10 lsls r0, 24 lsrs r4, r0, 24 - ldr r1, _080AFBF4 @ =gUnknown_2022978 + ldr r1, _080AFBF4 @ =gBattle_BG1_X ldr r2, _080AFBF8 @ =0x0000ffff adds r0, r2, 0 ldrh r2, [r1] @@ -28234,7 +28234,7 @@ _080AFBEA: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080AFBF4: .4byte gUnknown_2022978 +_080AFBF4: .4byte gBattle_BG1_X _080AFBF8: .4byte 0x0000ffff _080AFBFC: .4byte gTasks _080AFC00: .4byte _080AFC04 @@ -28366,10 +28366,10 @@ _080AFCF8: movs r2, 0 bl SetAnimBgAttribute _080AFD0C: - ldr r0, _080AFD44 @ =gUnknown_2022978 + ldr r0, _080AFD44 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080AFD48 @ =gUnknown_202297A + ldr r0, _080AFD48 @ =gBattle_BG1_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -28390,8 +28390,8 @@ _080AFD36: bx r0 .align 2, 0 _080AFD40: .4byte gTasks -_080AFD44: .4byte gUnknown_2022978 -_080AFD48: .4byte gUnknown_202297A +_080AFD44: .4byte gBattle_BG1_X +_080AFD48: .4byte gBattle_BG1_Y thumb_func_end sub_80AFBC0 thumb_func_start sub_80AFD4C @@ -28451,10 +28451,10 @@ sub_80AFD80: @ 80AFD80 movs r2, 0x1 bl SetAnimBgAttribute _080AFDC2: - ldr r0, _080AFE44 @ =gUnknown_2022978 + ldr r0, _080AFE44 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r4, _080AFE48 @ =gUnknown_202297A + ldr r4, _080AFE48 @ =gBattle_BG1_Y strh r1, [r4] movs r0, 0x14 movs r1, 0 @@ -28508,8 +28508,8 @@ _080AFE24: bx r0 .align 2, 0 _080AFE40: .4byte 0x00003f42 -_080AFE44: .4byte gUnknown_2022978 -_080AFE48: .4byte gUnknown_202297A +_080AFE44: .4byte gBattle_BG1_X +_080AFE48: .4byte gBattle_BG1_Y _080AFE4C: .4byte gUnknown_83C3540 _080AFE50: .4byte gFile_graphics_battle_anims_backgrounds_fog_tilemap _080AFE54: .4byte gUnknown_83C2CE0 @@ -28524,7 +28524,7 @@ sub_80AFE64: @ 80AFE64 sub sp, 0x10 lsls r0, 24 lsrs r4, r0, 24 - ldr r2, _080AFE94 @ =gUnknown_2022978 + ldr r2, _080AFE94 @ =gBattle_BG1_X ldr r3, _080AFE98 @ =gTasks lsls r1, r4, 2 adds r1, r4 @@ -28546,7 +28546,7 @@ _080AFE8A: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080AFE94: .4byte gUnknown_2022978 +_080AFE94: .4byte gBattle_BG1_X _080AFE98: .4byte gTasks _080AFE9C: .4byte _080AFEA0 .align 2, 0 @@ -28667,10 +28667,10 @@ _080AFF80: movs r2, 0 bl SetAnimBgAttribute _080AFF94: - ldr r0, _080AFFCC @ =gUnknown_2022978 + ldr r0, _080AFFCC @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080AFFD0 @ =gUnknown_202297A + ldr r0, _080AFFD0 @ =gBattle_BG1_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -28691,8 +28691,8 @@ _080AFFBE: bx r0 .align 2, 0 _080AFFC8: .4byte gTasks -_080AFFCC: .4byte gUnknown_2022978 -_080AFFD0: .4byte gUnknown_202297A +_080AFFCC: .4byte gBattle_BG1_X +_080AFFD0: .4byte gBattle_BG1_Y thumb_func_end sub_80AFE64 thumb_func_start sub_80AFFD4 @@ -28898,7 +28898,7 @@ _080B0168: _080B016A: adds r0, r4, 0 bl sub_80755E0 - ldr r1, _080B0194 @ =gUnknown_825E074 + ldr r1, _080B0194 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] lsls r0, 1 @@ -28917,7 +28917,7 @@ _080B016A: subs r0, 0x8 b _080B019C .align 2, 0 -_080B0194: .4byte gUnknown_825E074 +_080B0194: .4byte gSineTable _080B0198: ldrh r0, [r4, 0x38] adds r0, 0x8 @@ -28974,7 +28974,7 @@ _080B0200: _080B0202: movs r0, 0 strh r0, [r4, 0x26] - ldr r1, _080B022C @ =gUnknown_825E074 + ldr r1, _080B022C @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] lsls r0, 1 @@ -28992,11 +28992,11 @@ _080B0202: bl obj_translate_based_on_private_1_2_3_4 b _080B0380 .align 2, 0 -_080B022C: .4byte gUnknown_825E074 +_080B022C: .4byte gSineTable _080B0230: adds r0, r4, 0 bl sub_80755E0 - ldr r1, _080B028C @ =gUnknown_825E074 + ldr r1, _080B028C @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] lsls r0, 1 @@ -29038,7 +29038,7 @@ _080B0230: asrs r1, 24 b _080B0298 .align 2, 0 -_080B028C: .4byte gUnknown_825E074 +_080B028C: .4byte gSineTable _080B0290: ldrh r1, [r4, 0x3C] lsls r1, 16 @@ -31514,7 +31514,7 @@ _080B158E: lsls r0, 24 cmp r0, 0 bne _080B15C4 - ldr r1, _080B15C0 @ =gUnknown_2022980 + ldr r1, _080B15C0 @ =gBattle_BG3_X ldrh r0, [r4, 0x1A] lsls r0, 16 asrs r0, 24 @@ -31525,9 +31525,9 @@ _080B158E: b _080B15D4 .align 2, 0 _080B15BC: .4byte gUnknown_2037F1B -_080B15C0: .4byte gUnknown_2022980 +_080B15C0: .4byte gBattle_BG3_X _080B15C4: - ldr r2, _080B1614 @ =gUnknown_2022980 + ldr r2, _080B1614 @ =gBattle_BG3_X ldrh r1, [r4, 0x1A] lsls r1, 16 asrs r1, 24 @@ -31536,7 +31536,7 @@ _080B15C4: strh r0, [r2] adds r7, r2, 0 _080B15D4: - ldr r3, _080B1618 @ =gUnknown_2022982 + ldr r3, _080B1618 @ =gBattle_BG3_Y ldrh r2, [r4, 0x1C] lsls r0, r2, 16 asrs r0, 24 @@ -31567,8 +31567,8 @@ _080B160C: pop {r0} bx r0 .align 2, 0 -_080B1614: .4byte gUnknown_2022980 -_080B1618: .4byte gUnknown_2022982 +_080B1614: .4byte gBattle_BG3_X +_080B1618: .4byte gBattle_BG3_Y _080B161C: .4byte gUnknown_2037F02 thumb_func_end sub_80B1530 @@ -32731,7 +32731,7 @@ _080B1F1E: ands r0, r2 orrs r0, r1 strb r0, [r5] - ldr r3, _080B1F88 @ =gUnknown_825E074 + ldr r3, _080B1F88 @ =gSineTable ldrh r0, [r5, 0x2] lsls r0, 1 adds r0, r3 @@ -32777,7 +32777,7 @@ _080B1F1E: pop {r0} bx r0 .align 2, 0 -_080B1F88: .4byte gUnknown_825E074 +_080B1F88: .4byte gSineTable _080B1F8C: .4byte gOamMatrices _080B1F90: .4byte sub_80B1F94 thumb_func_end sub_80B1D88 @@ -33395,7 +33395,7 @@ _080B23F0: adds r0, 0xC adds r0, r1 ldrb r1, [r0] - ldr r3, _080B2478 @ =gUnknown_825E074 + ldr r3, _080B2478 @ =gSineTable mov r2, r12 lsls r0, r2, 1 adds r0, r3 @@ -33456,7 +33456,7 @@ _080B23F0: strh r0, [r4, 0x2] b _080B2490 .align 2, 0 -_080B2478: .4byte gUnknown_825E074 +_080B2478: .4byte gSineTable _080B247C: .4byte gOamMatrices _080B2480: ldrh r0, [r4, 0x4] @@ -33629,7 +33629,7 @@ _080B25C4: adds r0, r5 strh r0, [r4, 0x3C] _080B25D8: - ldr r5, _080B2680 @ =gUnknown_825E074 + ldr r5, _080B2680 @ =gSineTable ldrh r3, [r4, 0x30] movs r1, 0xFF ands r1, r3 @@ -33714,7 +33714,7 @@ _080B2672: bx r0 .align 2, 0 _080B267C: .4byte gUnknown_2037F1B -_080B2680: .4byte gUnknown_825E074 +_080B2680: .4byte gSineTable _080B2684: .4byte gOamMatrices _080B2688: .4byte sub_80B268C thumb_func_end sub_80B2514 @@ -36385,17 +36385,17 @@ _080B3AD6: lsrs r0, 24 cmp r0, 0x1 bne _080B3AFC - ldr r0, _080B3AF4 @ =gUnknown_2022978 + ldr r0, _080B3AF4 @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r4, 0x1C] ldr r0, _080B3AF8 @ =0x04000014 b _080B3B04 .align 2, 0 _080B3AF0: .4byte gUnknown_2037F1B -_080B3AF4: .4byte gUnknown_2022978 +_080B3AF4: .4byte gBattle_BG1_X _080B3AF8: .4byte 0x04000014 _080B3AFC: - ldr r0, _080B3B64 @ =gUnknown_202297C + ldr r0, _080B3B64 @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r4, 0x1C] ldr r0, _080B3B68 @ =0x04000018 @@ -36409,7 +36409,7 @@ _080B3B04: adds r0, 0x40 cmp r1, r0 bgt _080B3B3E - ldr r5, _080B3B6C @ =gUnknown_2038700 + ldr r5, _080B3B6C @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -36442,7 +36442,7 @@ _080B3B3E: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldr r0, _080B3B74 @ =sub_80B3B78 str r0, [r4] add sp, 0xC @@ -36450,9 +36450,9 @@ _080B3B3E: pop {r0} bx r0 .align 2, 0 -_080B3B64: .4byte gUnknown_202297C +_080B3B64: .4byte gBattle_BG2_X _080B3B68: .4byte 0x04000018 -_080B3B6C: .4byte gUnknown_2038700 +_080B3B6C: .4byte gScanlineEffectRegBuffers _080B3B70: .4byte 0xa2600001 _080B3B74: .4byte sub_80B3B78 thumb_func_end sub_80B3A58 @@ -36494,10 +36494,10 @@ _080B3BAA: ldrsh r0, [r5, r2] cmp r1, r0 bgt _080B3C42 - ldr r0, _080B3BF4 @ =gUnknown_825E074 + ldr r0, _080B3BF4 @ =gSineTable mov r9, r0 movs r7, 0x3 - ldr r1, _080B3BF8 @ =gUnknown_2038700 + ldr r1, _080B3BF8 @ =gScanlineEffectRegBuffers mov r12, r1 movs r2, 0xF0 lsls r2, 3 @@ -36524,8 +36524,8 @@ _080B3BCC: adds r0, r3, r0 b _080B3C08 .align 2, 0 -_080B3BF4: .4byte gUnknown_825E074 -_080B3BF8: .4byte gUnknown_2038700 +_080B3BF4: .4byte gSineTable +_080B3BF8: .4byte gScanlineEffectRegBuffers _080B3BFC: cmp r3, 0 bge _080B3C0C @@ -36574,7 +36574,7 @@ _080B3C42: ble _080B3C6A b _080B3C58 _080B3C52: - ldr r1, _080B3C60 @ =gUnknown_2039600 + ldr r1, _080B3C60 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080B3C58: @@ -36583,7 +36583,7 @@ _080B3C58: strh r0, [r5, 0x8] b _080B3C6A .align 2, 0 -_080B3C60: .4byte gUnknown_2039600 +_080B3C60: .4byte gScanlineEffect _080B3C64: adds r0, r2, 0 bl DestroyAnimVisualTask @@ -36749,7 +36749,7 @@ _080B3DAA: ldrh r0, [r4, 0xA] adds r0, 0x4 strh r0, [r4, 0xA] - ldr r1, _080B3DF8 @ =gUnknown_825E074 + ldr r1, _080B3DF8 @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -36783,12 +36783,12 @@ _080B3DAA: bne _080B3E7C b _080B3E5E .align 2, 0 -_080B3DF8: .4byte gUnknown_825E074 +_080B3DF8: .4byte gSineTable _080B3DFC: ldrh r0, [r4, 0xA] subs r0, 0x4 strh r0, [r4, 0xA] - ldr r1, _080B3E48 @ =gUnknown_825E074 + ldr r1, _080B3E48 @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -36822,7 +36822,7 @@ _080B3DFC: bne _080B3E7C b _080B3E5E .align 2, 0 -_080B3E48: .4byte gUnknown_825E074 +_080B3E48: .4byte gSineTable _080B3E4C: movs r0, 0x26 ldrsh r1, [r4, r0] @@ -38086,9 +38086,9 @@ do_boulder_dust: @ 80B4810 movs r2, 0x1 bl SetAnimBgAttribute _080B4854: - ldr r0, _080B48E8 @ =gUnknown_2022978 + ldr r0, _080B48E8 @ =gBattle_BG1_X strh r5, [r0] - ldr r4, _080B48EC @ =gUnknown_202297A + ldr r4, _080B48EC @ =gBattle_BG1_Y strh r5, [r4] movs r0, 0x14 movs r1, 0 @@ -38152,8 +38152,8 @@ _080B48CA: bx r0 .align 2, 0 _080B48E4: .4byte 0x00003f42 -_080B48E8: .4byte gUnknown_2022978 -_080B48EC: .4byte gUnknown_202297A +_080B48E8: .4byte gBattle_BG1_X +_080B48EC: .4byte gBattle_BG1_Y _080B48F0: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap _080B48F4: .4byte gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet _080B48F8: .4byte gFile_graphics_battle_anims_sprites_261_palette @@ -38179,7 +38179,7 @@ sub_80B490C: @ 80B490C adds r2, r1, 0 cmp r0, 0 bne _080B4940 - ldr r1, _080B4938 @ =gUnknown_2022978 + ldr r1, _080B4938 @ =gBattle_BG1_X ldr r3, _080B493C @ =0x0000fffa adds r0, r3, 0 ldrh r3, [r1] @@ -38187,15 +38187,15 @@ sub_80B490C: @ 80B490C b _080B4946 .align 2, 0 _080B4934: .4byte gTasks -_080B4938: .4byte gUnknown_2022978 +_080B4938: .4byte gBattle_BG1_X _080B493C: .4byte 0x0000fffa _080B4940: - ldr r1, _080B4974 @ =gUnknown_2022978 + ldr r1, _080B4974 @ =gBattle_BG1_X ldrh r0, [r1] adds r0, 0x6 _080B4946: strh r0, [r1] - ldr r1, _080B4978 @ =gUnknown_202297A + ldr r1, _080B4978 @ =gBattle_BG1_Y ldr r3, _080B497C @ =0x0000ffff adds r0, r3, 0 ldrh r3, [r1] @@ -38218,8 +38218,8 @@ _080B4968: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080B4974: .4byte gUnknown_2022978 -_080B4978: .4byte gUnknown_202297A +_080B4974: .4byte gBattle_BG1_X +_080B4978: .4byte gBattle_BG1_Y _080B497C: .4byte 0x0000ffff _080B4980: .4byte _080B4984 .align 2, 0 @@ -38336,10 +38336,10 @@ _080B4A58: movs r2, 0 bl SetAnimBgAttribute _080B4A6C: - ldr r0, _080B4AA0 @ =gUnknown_2022978 + ldr r0, _080B4AA0 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080B4AA4 @ =gUnknown_202297A + ldr r0, _080B4AA4 @ =gBattle_BG1_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -38359,8 +38359,8 @@ _080B4A96: pop {r0} bx r0 .align 2, 0 -_080B4AA0: .4byte gUnknown_2022978 -_080B4AA4: .4byte gUnknown_202297A +_080B4AA0: .4byte gBattle_BG1_X +_080B4AA4: .4byte gBattle_BG1_Y thumb_func_end sub_80B490C thumb_func_start sub_80B4AA8 @@ -39279,7 +39279,7 @@ sub_80B5188: @ 80B5188 movs r0, 0xC8 strh r0, [r5, 0xA] _080B51AA: - ldr r4, _080B51E8 @ =gUnknown_2022982 + ldr r4, _080B51E8 @ =gBattle_BG3_Y movs r1, 0xA ldrsh r0, [r5, r1] movs r1, 0xA @@ -39307,7 +39307,7 @@ _080B51D6: bx r0 .align 2, 0 _080B51E4: .4byte gTasks -_080B51E8: .4byte gUnknown_2022982 +_080B51E8: .4byte gBattle_BG3_Y thumb_func_end sub_80B5188 thumb_func_start sub_80B51EC @@ -39330,7 +39330,7 @@ sub_80B51EC: @ 80B51EC ldrh r0, [r4, 0x8] adds r0, 0x1 strh r0, [r4, 0x8] - ldr r0, _080B525C @ =gUnknown_2022982 + ldr r0, _080B525C @ =gBattle_BG3_Y ldrh r0, [r0] strh r0, [r4, 0xC] _080B5218: @@ -39339,7 +39339,7 @@ _080B5218: movs r1, 0xFF ands r0, r1 strh r0, [r4, 0xA] - ldr r6, _080B525C @ =gUnknown_2022982 + ldr r6, _080B525C @ =gBattle_BG3_Y movs r2, 0xA ldrsh r1, [r4, r2] movs r0, 0x4 @@ -39365,7 +39365,7 @@ _080B5250: bx r0 .align 2, 0 _080B5258: .4byte gTasks -_080B525C: .4byte gUnknown_2022982 +_080B525C: .4byte gBattle_BG3_Y _080B5260: .4byte gUnknown_2037F02 _080B5264: .4byte 0x00000fff thumb_func_end sub_80B51EC @@ -40713,7 +40713,7 @@ _080B5CB0: _080B5CC8: movs r2, 0x2 movs r3, 0x6 - bl sub_8088230 + bl ScanlineEffect_InitWave lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1C] @@ -40789,7 +40789,7 @@ sub_80B5D38: @ 80B5D38 strh r0, [r4, 0x12] cmp r0, 0 bne _080B5D70 - ldr r1, _080B5DC4 @ =gUnknown_825E074 + ldr r1, _080B5DC4 @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -40804,7 +40804,7 @@ _080B5D70: ldrsh r0, [r4, r2] cmp r0, 0x1 bne _080B5D92 - ldr r1, _080B5DC4 @ =gUnknown_825E074 + ldr r1, _080B5DC4 @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -40841,7 +40841,7 @@ _080B5DBA: bx r0 .align 2, 0 _080B5DC0: .4byte gTasks -_080B5DC4: .4byte gUnknown_825E074 +_080B5DC4: .4byte gSineTable _080B5DC8: .4byte sub_80B5DCC thumb_func_end sub_80B5D38 @@ -40877,7 +40877,7 @@ _080B5E04: beq _080B5E4C b _080B5EB4 _080B5E0A: - ldr r1, _080B5E28 @ =gUnknown_2039600 + ldr r1, _080B5E28 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0x1 @@ -40891,7 +40891,7 @@ _080B5E0A: lsls r1, 2 b _080B5E30 .align 2, 0 -_080B5E28: .4byte gUnknown_2039600 +_080B5E28: .4byte gScanlineEffect _080B5E2C: movs r1, 0x80 lsls r1, 3 @@ -42784,10 +42784,10 @@ _080B6D28: movs r1, 0 movs r2, 0 bl SetAnimBgAttribute - ldr r0, _080B6D7C @ =gUnknown_202297C + ldr r0, _080B6D7C @ =gBattle_BG2_X movs r1, 0 strh r1, [r0] - ldr r4, _080B6D80 @ =gUnknown_202297E + ldr r4, _080B6D80 @ =gBattle_BG2_Y strh r1, [r4] movs r0, 0x18 movs r1, 0 @@ -42812,8 +42812,8 @@ _080B6D28: bl LoadCompressedPalette b _080B6F1E .align 2, 0 -_080B6D7C: .4byte gUnknown_202297C -_080B6D80: .4byte gUnknown_202297E +_080B6D7C: .4byte gBattle_BG2_X +_080B6D80: .4byte gBattle_BG2_Y _080B6D84: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_sheet _080B6D88: .4byte gFile_graphics_battle_anims_backgrounds_scary_face_palette _080B6D8C: @@ -42979,7 +42979,7 @@ _080B6EC4: movs r2, 0x4 _080B6EDE: movs r3, 0x8 - bl sub_8088230 + bl ScanlineEffect_InitWave lsls r0, 24 lsrs r0, 24 strh r0, [r6, 0x1C] @@ -43041,7 +43041,7 @@ sub_80B6F30: @ 80B6F30 strh r0, [r4, 0x18] cmp r0, 0 bne _080B6F68 - ldr r1, _080B6FBC @ =gUnknown_825E074 + ldr r1, _080B6FBC @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -43056,7 +43056,7 @@ _080B6F68: ldrsh r0, [r4, r2] cmp r0, 0x1 bne _080B6F8A - ldr r1, _080B6FBC @ =gUnknown_825E074 + ldr r1, _080B6FBC @ =gSineTable movs r2, 0xA ldrsh r0, [r4, r2] lsls r0, 1 @@ -43093,7 +43093,7 @@ _080B6FB2: bx r0 .align 2, 0 _080B6FB8: .4byte gTasks -_080B6FBC: .4byte gUnknown_825E074 +_080B6FBC: .4byte gSineTable _080B6FC0: .4byte sub_80B6FC4 thumb_func_end sub_80B6F30 @@ -43130,7 +43130,7 @@ _080B6FF0: .4byte _080B709C .4byte _080B70E8 _080B7008: - ldr r1, _080B701C @ =gUnknown_2039600 + ldr r1, _080B701C @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldrh r0, [r6, 0x16] @@ -43140,7 +43140,7 @@ _080B7008: bl BlendPalette b _080B7148 .align 2, 0 -_080B701C: .4byte gUnknown_2039600 +_080B701C: .4byte gScanlineEffect _080B7020: .4byte 0x000066e0 _080B7024: ldr r1, _080B7040 @ =0x00003f44 @@ -43879,17 +43879,17 @@ sub_80B75E0: @ 80B75E0 bne _080B761C ldr r0, _080B7614 @ =0x04000014 str r0, [sp] - ldr r0, _080B7618 @ =gUnknown_2022978 + ldr r0, _080B7618 @ =gBattle_BG1_X b _080B7622 .align 2, 0 _080B760C: .4byte gTasks _080B7610: .4byte gUnknown_2037F1A _080B7614: .4byte 0x04000014 -_080B7618: .4byte gUnknown_2022978 +_080B7618: .4byte gBattle_BG1_X _080B761C: ldr r0, _080B7698 @ =0x04000018 str r0, [sp] - ldr r0, _080B769C @ =gUnknown_202297C + ldr r0, _080B769C @ =gBattle_BG2_X _080B7622: ldrh r0, [r0] strh r0, [r4, 0xC] @@ -43920,7 +43920,7 @@ _080B7652: ldrsh r0, [r4, r1] cmp r3, r0 bgt _080B7680 - ldr r5, _080B76A8 @ =gUnknown_2038700 + ldr r5, _080B76A8 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -43943,7 +43943,7 @@ _080B7680: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldr r0, _080B76AC @ =sub_80B76B0 str r0, [r4] add sp, 0xC @@ -43952,10 +43952,10 @@ _080B7680: bx r0 .align 2, 0 _080B7698: .4byte 0x04000018 -_080B769C: .4byte gUnknown_202297C +_080B769C: .4byte gBattle_BG2_X _080B76A0: .4byte 0xa2600001 _080B76A4: .4byte gUnknown_2037F1A -_080B76A8: .4byte gUnknown_2038700 +_080B76A8: .4byte gScanlineEffectRegBuffers _080B76AC: .4byte sub_80B76B0 thumb_func_end sub_80B75E0 @@ -44040,7 +44040,7 @@ _080B7746: bl sub_80B776C b _080B7766 _080B774E: - ldr r1, _080B775C @ =gUnknown_2039600 + ldr r1, _080B775C @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] ldrh r0, [r2, 0x8] @@ -44048,7 +44048,7 @@ _080B774E: strh r0, [r2, 0x8] b _080B7766 .align 2, 0 -_080B775C: .4byte gUnknown_2039600 +_080B775C: .4byte gScanlineEffect _080B7760: adds r0, r3, 0 bl DestroyAnimVisualTask @@ -44069,11 +44069,11 @@ sub_80B776C: @ 80B776C ldrsh r0, [r5, r1] cmp r4, r0 bgt _080B77C2 - ldr r7, _080B77D8 @ =gUnknown_2038700 + ldr r7, _080B77D8 @ =gScanlineEffectRegBuffers mov r12, r7 - ldr r0, _080B77DC @ =gUnknown_825E074 + ldr r0, _080B77DC @ =gSineTable mov r8, r0 - ldr r6, _080B77E0 @ =gUnknown_2039600 + ldr r6, _080B77E0 @ =gScanlineEffect _080B778A: lsls r2, r4, 1 ldrb r1, [r6, 0x14] @@ -44115,9 +44115,9 @@ _080B77C2: pop {r0} bx r0 .align 2, 0 -_080B77D8: .4byte gUnknown_2038700 -_080B77DC: .4byte gUnknown_825E074 -_080B77E0: .4byte gUnknown_2039600 +_080B77D8: .4byte gScanlineEffectRegBuffers +_080B77DC: .4byte gSineTable +_080B77E0: .4byte gScanlineEffect thumb_func_end sub_80B776C thumb_func_start sub_80B77E4 @@ -44926,7 +44926,7 @@ _080B7E16: add r4, sp, 0xC adds r0, r4, 0 bl sub_80752A0 - ldr r0, _080B7E68 @ =gUnknown_202297A + ldr r0, _080B7E68 @ =gBattle_BG1_Y ldrh r0, [r0] strh r0, [r5, 0x1C] ldr r1, _080B7E6C @ =0x00003f42 @@ -44944,17 +44944,17 @@ _080B7E16: lsls r0, 24 cmp r0, 0 bne _080B7EA8 - ldr r1, _080B7E74 @ =gUnknown_202297C + ldr r1, _080B7E74 @ =gBattle_BG2_X b _080B7EA2 .align 2, 0 _080B7E60: .4byte 0x0000ffc0 _080B7E64: .4byte gUnknown_2037F1A -_080B7E68: .4byte gUnknown_202297A +_080B7E68: .4byte gBattle_BG1_Y _080B7E6C: .4byte 0x00003f42 _080B7E70: .4byte 0x04000016 -_080B7E74: .4byte gUnknown_202297C +_080B7E74: .4byte gBattle_BG2_X _080B7E78: - ldr r0, _080B7F30 @ =gUnknown_202297E + ldr r0, _080B7F30 @ =gBattle_BG2_Y ldrh r0, [r0] strh r0, [r5, 0x1C] ldr r1, _080B7F34 @ =0x00003f44 @@ -44971,7 +44971,7 @@ _080B7E78: lsls r0, 24 cmp r0, 0 bne _080B7EA8 - ldr r1, _080B7F3C @ =gUnknown_2022978 + ldr r1, _080B7F3C @ =gBattle_BG1_X _080B7EA2: ldrh r0, [r1] adds r0, 0xF0 @@ -44994,7 +44994,7 @@ _080B7EA8: movs r0, 0x3 bl sub_80B856C movs r3, 0 - ldr r4, _080B7F44 @ =gUnknown_2038700 + ldr r4, _080B7F44 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r4, r0 @@ -45014,7 +45014,7 @@ _080B7ED4: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams movs r0, 0x3F eors r7, r0 movs r1, 0xFC @@ -45043,12 +45043,12 @@ _080B7ED4: pop {r0} bx r0 .align 2, 0 -_080B7F30: .4byte gUnknown_202297E +_080B7F30: .4byte gBattle_BG2_Y _080B7F34: .4byte 0x00003f44 _080B7F38: .4byte 0x0400001a -_080B7F3C: .4byte gUnknown_2022978 +_080B7F3C: .4byte gBattle_BG1_X _080B7F40: .4byte 0xa2600001 -_080B7F44: .4byte gUnknown_2038700 +_080B7F44: .4byte gScanlineEffectRegBuffers _080B7F48: .4byte 0x00003f3f _080B7F4C: .4byte gUnknown_2022984 _080B7F50: .4byte gUnknown_2022986 @@ -45182,7 +45182,7 @@ _080B8036: .align 2, 0 _080B804C: .4byte gUnknown_2022984 _080B8050: - ldr r1, _080B8060 @ =gUnknown_2039600 + ldr r1, _080B8060 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080B8056: @@ -45191,7 +45191,7 @@ _080B8056: strh r0, [r4, 0x8] b _080B806A .align 2, 0 -_080B8060: .4byte gUnknown_2039600 +_080B8060: .4byte gScanlineEffect _080B8064: adds r0, r2, 0 bl DestroyAnimVisualTask @@ -45270,17 +45270,17 @@ _080B80F0: ldr r1, _080B8114 @ =0x00003f42 movs r0, 0x50 bl SetGpuReg - ldr r1, _080B8118 @ =gUnknown_202297C + ldr r1, _080B8118 @ =gBattle_BG2_X b _080B8126 .align 2, 0 _080B8110: .4byte gUnknown_2037F1B _080B8114: .4byte 0x00003f42 -_080B8118: .4byte gUnknown_202297C +_080B8118: .4byte gBattle_BG2_X _080B811C: ldr r1, _080B8130 @ =0x00003f44 movs r0, 0x50 bl SetGpuReg - ldr r1, _080B8134 @ =gUnknown_2022978 + ldr r1, _080B8134 @ =gBattle_BG1_X _080B8126: ldrh r0, [r1] adds r0, 0xF0 @@ -45288,7 +45288,7 @@ _080B8126: b _080B823C .align 2, 0 _080B8130: .4byte 0x00003f44 -_080B8134: .4byte gUnknown_2022978 +_080B8134: .4byte gBattle_BG1_X _080B8138: movs r1, 0xE ldrsh r0, [r5, r1] @@ -45296,7 +45296,7 @@ _080B8138: bne _080B8160 mov r0, sp bl sub_80752A0 - ldr r0, _080B815C @ =gUnknown_202297A + ldr r0, _080B815C @ =gBattle_BG1_Y ldrh r0, [r0] strh r0, [r5, 0x1C] mov r0, sp @@ -45307,9 +45307,9 @@ _080B8138: bl FillPalette b _080B8170 .align 2, 0 -_080B815C: .4byte gUnknown_202297A +_080B815C: .4byte gBattle_BG1_Y _080B8160: - ldr r0, _080B8178 @ =gUnknown_202297E + ldr r0, _080B8178 @ =gBattle_BG2_Y ldrh r0, [r0] strh r0, [r5, 0x1C] movs r0, 0 @@ -45321,7 +45321,7 @@ _080B8170: bl sub_80B856C b _080B823C .align 2, 0 -_080B8178: .4byte gUnknown_202297E +_080B8178: .4byte gBattle_BG2_Y _080B817C: ldr r4, _080B81C8 @ =gUnknown_2037F1B ldrb r0, [r4] @@ -45389,7 +45389,7 @@ _080B81FA: str r0, [sp, 0x10] movs r3, 0 add r4, sp, 0x10 - ldr r6, _080B8248 @ =gUnknown_2038700 + ldr r6, _080B8248 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r7, r6, r0 @@ -45418,7 +45418,7 @@ _080B8208: strb r2, [r4, 0x9] ldr r0, [sp, 0x10] ldr r2, [r4, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams _080B823C: ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -45426,7 +45426,7 @@ _080B823C: b _080B829E .align 2, 0 _080B8244: .4byte 0x0400001a -_080B8248: .4byte gUnknown_2038700 +_080B8248: .4byte gScanlineEffectRegBuffers _080B824C: .4byte 0xa2600001 _080B8250: movs r1, 0xE @@ -45640,7 +45640,7 @@ _080B83D2: bne _080B842A b _080B83FC _080B83F6: - ldr r1, _080B8404 @ =gUnknown_2039600 + ldr r1, _080B8404 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080B83FC: @@ -45649,7 +45649,7 @@ _080B83FC: strh r0, [r4, 0x8] b _080B842A .align 2, 0 -_080B8404: .4byte gUnknown_2039600 +_080B8404: .4byte gScanlineEffect _080B8408: ldr r0, _080B8430 @ =gUnknown_2022984 movs r1, 0 @@ -45699,9 +45699,9 @@ sub_80B843C: @ 80B843C movs r4, 0 cmp r0, 0 ble _080B849C - ldr r0, _080B8528 @ =gUnknown_2038700 + ldr r0, _080B8528 @ =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, _080B852C @ =gUnknown_2039600 + ldr r7, _080B852C @ =gScanlineEffect _080B8470: lsls r2, r4, 16 asrs r2, 16 @@ -45733,9 +45733,9 @@ _080B849C: ldrsh r0, [r6, r2] cmp r1, r0 bgt _080B84E6 - ldr r0, _080B8528 @ =gUnknown_2038700 + ldr r0, _080B8528 @ =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, _080B852C @ =gUnknown_2039600 + ldr r7, _080B852C @ =gScanlineEffect _080B84B0: asrs r4, r3, 16 cmp r4, 0 @@ -45776,8 +45776,8 @@ _080B84E6: ldrsh r0, [r6, r3] cmp r1, r0 bge _080B855E - ldr r7, _080B8528 @ =gUnknown_2038700 - ldr r4, _080B852C @ =gUnknown_2039600 + ldr r7, _080B8528 @ =gScanlineEffectRegBuffers + ldr r4, _080B852C @ =gScanlineEffect _080B84FE: asrs r3, r2, 16 cmp r3, 0 @@ -45801,15 +45801,15 @@ _080B8516: blt _080B84FE b _080B855E .align 2, 0 -_080B8528: .4byte gUnknown_2038700 -_080B852C: .4byte gUnknown_2039600 +_080B8528: .4byte gScanlineEffectRegBuffers +_080B852C: .4byte gScanlineEffect _080B8530: movs r1, 0x1C ldrsh r0, [r6, r1] adds r5, r0, 0 adds r5, 0x9F movs r4, 0 - ldr r3, _080B8568 @ =gUnknown_2038700 + ldr r3, _080B8568 @ =gScanlineEffectRegBuffers movs r2, 0xF0 lsls r2, 3 adds r6, r3, r2 @@ -45835,7 +45835,7 @@ _080B855E: pop {r0} bx r0 .align 2, 0 -_080B8568: .4byte gUnknown_2038700 +_080B8568: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80B843C thumb_func_start sub_80B856C @@ -46204,7 +46204,7 @@ _080B8828: lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - ldr r2, _080B88D0 @ =gUnknown_2022978 + ldr r2, _080B88D0 @ =gBattle_BG1_X ldr r0, _080B88D4 @ =gSprites lsls r1, r4, 4 adds r1, r4 @@ -46214,7 +46214,7 @@ _080B8828: negs r0, r0 adds r0, 0x60 strh r0, [r2] - ldr r2, _080B88D8 @ =gUnknown_202297A + ldr r2, _080B88D8 @ =gBattle_BG1_Y ldrh r0, [r1, 0x22] negs r0, r0 adds r0, 0x20 @@ -46239,9 +46239,9 @@ _080B88C0: .4byte gUnknown_2037F1A _080B88C4: .4byte gFile_graphics_battle_anims_masks_metal_shine_tilemap _080B88C8: .4byte gFile_graphics_battle_anims_masks_metal_shine_sheet _080B88CC: .4byte gFile_graphics_battle_anims_masks_metal_shine_palette -_080B88D0: .4byte gUnknown_2022978 +_080B88D0: .4byte gBattle_BG1_X _080B88D4: .4byte gSprites -_080B88D8: .4byte gUnknown_202297A +_080B88D8: .4byte gBattle_BG1_Y _080B88DC: .4byte gUnknown_2037F02 _080B88E0: lsls r0, r1, 4 @@ -46292,7 +46292,7 @@ sub_80B8920: @ 80B8920 adds r0, 0x4 movs r5, 0 strh r0, [r4, 0x1C] - ldr r2, _080B89EC @ =gUnknown_2022978 + ldr r2, _080B89EC @ =gBattle_BG1_X ldrh r3, [r2] subs r1, r3, 0x4 strh r1, [r2] @@ -46376,7 +46376,7 @@ _080B8990: b _080B8A5E .align 2, 0 _080B89E8: .4byte gTasks -_080B89EC: .4byte gUnknown_2022978 +_080B89EC: .4byte gBattle_BG1_X _080B89F0: .4byte gSprites _080B89F4: .4byte gUnknown_2023D44 _080B89F8: .4byte gUnknown_2037F1A @@ -47039,20 +47039,20 @@ _080B8F14: strh r0, [r4, 0x1E] cmp r0, 0x1 bne _080B8F48 - ldr r0, _080B8F40 @ =gUnknown_2022978 + ldr r0, _080B8F40 @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, _080B8F44 @ =gUnknown_202297A + ldr r0, _080B8F44 @ =gBattle_BG1_Y b _080B8F50 .align 2, 0 _080B8F3C: .4byte gUnknown_2037F1A -_080B8F40: .4byte gUnknown_2022978 -_080B8F44: .4byte gUnknown_202297A +_080B8F40: .4byte gBattle_BG1_X +_080B8F44: .4byte gBattle_BG1_Y _080B8F48: - ldr r0, _080B8F8C @ =gUnknown_202297C + ldr r0, _080B8F8C @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r4, 0x20] - ldr r0, _080B8F90 @ =gUnknown_202297E + ldr r0, _080B8F90 @ =gBattle_BG2_Y _080B8F50: ldrh r0, [r0] strh r0, [r4, 0x22] @@ -47085,8 +47085,8 @@ _080B8F72: strb r1, [r0] b _080B9056 .align 2, 0 -_080B8F8C: .4byte gUnknown_202297C -_080B8F90: .4byte gUnknown_202297E +_080B8F8C: .4byte gBattle_BG2_X +_080B8F90: .4byte gBattle_BG2_Y _080B8F94: .4byte gUnknown_2037F1A _080B8F98: .4byte gSprites _080B8F9C: @@ -47116,7 +47116,7 @@ _080B8FAC: adds r0, 0x1 strh r0, [r4, 0xE] _080B8FCE: - ldr r1, _080B8FF0 @ =gUnknown_825E074 + ldr r1, _080B8FF0 @ =gSineTable movs r2, 0xC ldrsh r0, [r4, r2] lsls r0, 1 @@ -47131,13 +47131,13 @@ _080B8FCE: ldrsh r0, [r4, r1] cmp r0, 0x1 bne _080B8FF8 - ldr r1, _080B8FF4 @ =gUnknown_202297A + ldr r1, _080B8FF4 @ =gBattle_BG1_Y b _080B8FFA .align 2, 0 -_080B8FF0: .4byte gUnknown_825E074 -_080B8FF4: .4byte gUnknown_202297A +_080B8FF0: .4byte gSineTable +_080B8FF4: .4byte gBattle_BG1_Y _080B8FF8: - ldr r1, _080B901C @ =gUnknown_202297E + ldr r1, _080B901C @ =gBattle_BG2_Y _080B8FFA: ldrh r0, [r4, 0x22] subs r0, r2 @@ -47154,13 +47154,13 @@ _080B8FFA: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _080B9024 - ldr r1, _080B9020 @ =gUnknown_202297A + ldr r1, _080B9020 @ =gBattle_BG1_Y b _080B9026 .align 2, 0 -_080B901C: .4byte gUnknown_202297E -_080B9020: .4byte gUnknown_202297A +_080B901C: .4byte gBattle_BG2_Y +_080B9020: .4byte gBattle_BG1_Y _080B9024: - ldr r1, _080B9048 @ =gUnknown_202297E + ldr r1, _080B9048 @ =gBattle_BG2_Y _080B9026: ldrh r0, [r4, 0x22] subs r0, r2 @@ -47180,10 +47180,10 @@ _080B9026: strh r0, [r1, 0x24] b _080B9056 .align 2, 0 -_080B9048: .4byte gUnknown_202297E +_080B9048: .4byte gBattle_BG2_Y _080B904C: .4byte gSprites _080B9050: - ldr r1, _080B9060 @ =gUnknown_2039600 + ldr r1, _080B9060 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080B9056: @@ -47192,7 +47192,7 @@ _080B9056: strh r0, [r4, 0x8] b _080B9082 .align 2, 0 -_080B9060: .4byte gUnknown_2039600 +_080B9060: .4byte gScanlineEffect _080B9064: adds r0, r2, 0 bl DestroyAnimVisualTask @@ -47246,14 +47246,14 @@ sub_80B908C: @ 80B908C lsrs r0, 24 cmp r0, 0x1 bne _080B90D8 - ldr r0, _080B90D4 @ =gUnknown_202297A + ldr r0, _080B90D4 @ =gBattle_BG1_Y b _080B90DA .align 2, 0 _080B90CC: .4byte gSprites _080B90D0: .4byte gUnknown_2037F1A -_080B90D4: .4byte gUnknown_202297A +_080B90D4: .4byte gBattle_BG1_Y _080B90D8: - ldr r0, _080B90E8 @ =gUnknown_202297E + ldr r0, _080B90E8 @ =gBattle_BG2_Y _080B90DA: strh r4, [r0] adds r0, r5, 0 @@ -47262,7 +47262,7 @@ _080B90DA: pop {r0} bx r0 .align 2, 0 -_080B90E8: .4byte gUnknown_202297E +_080B90E8: .4byte gBattle_BG2_Y thumb_func_end sub_80B908C thumb_func_start sub_80B90EC @@ -47412,13 +47412,13 @@ _080B91F0: strh r0, [r4, 0x1E] cmp r0, 0x1 bne _080B921C - ldr r0, _080B9218 @ =gUnknown_2022978 + ldr r0, _080B9218 @ =gBattle_BG1_X b _080B921E .align 2, 0 _080B9214: .4byte gUnknown_2037F1A -_080B9218: .4byte gUnknown_2022978 +_080B9218: .4byte gBattle_BG1_X _080B921C: - ldr r0, _080B923C @ =gUnknown_202297C + ldr r0, _080B923C @ =gBattle_BG2_X _080B921E: ldrh r0, [r0] strh r0, [r4, 0x20] @@ -47434,7 +47434,7 @@ _080B921E: strh r0, [r4, 0x26] b _080B929A .align 2, 0 -_080B923C: .4byte gUnknown_202297C +_080B923C: .4byte gBattle_BG2_X _080B9240: .4byte gUnknown_2037F1A _080B9244: ldrb r0, [r4, 0x1E] @@ -47477,7 +47477,7 @@ _080B926C: ldrsh r0, [r0, r1] cmp r0, 0 bne _080B92B2 - ldr r1, _080B92A8 @ =gUnknown_2039600 + ldr r1, _080B92A8 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080B929A: @@ -47487,7 +47487,7 @@ _080B929A: b _080B92B2 .align 2, 0 _080B92A4: .4byte gSprites -_080B92A8: .4byte gUnknown_2039600 +_080B92A8: .4byte gScanlineEffect _080B92AC: adds r0, r2, 0 bl DestroyAnimVisualTask @@ -47509,15 +47509,15 @@ sub_80B92B8: @ 80B92B8 lsrs r4, r2, 16 cmp r0, 0x1 bne _080B92DC - ldr r0, _080B92D4 @ =gUnknown_2022978 + ldr r0, _080B92D4 @ =gBattle_BG1_X ldrh r3, [r0] ldr r0, _080B92D8 @ =0x04000014 b _080B92E2 .align 2, 0 -_080B92D4: .4byte gUnknown_2022978 +_080B92D4: .4byte gBattle_BG1_X _080B92D8: .4byte 0x04000014 _080B92DC: - ldr r0, _080B9368 @ =gUnknown_202297C + ldr r0, _080B9368 @ =gBattle_BG2_X ldrh r3, [r0] ldr r0, _080B936C @ =0x04000018 _080B92E2: @@ -47532,7 +47532,7 @@ _080B92EC: asrs r4, r0, 16 cmp r2, r0 bge _080B9318 - ldr r5, _080B9370 @ =gUnknown_2038700 + ldr r5, _080B9370 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -47555,7 +47555,7 @@ _080B9318: asrs r0, r1, 16 cmp r0, 0x9F bgt _080B9346 - ldr r4, _080B9370 @ =gUnknown_2038700 + ldr r4, _080B9370 @ =gScanlineEffectRegBuffers lsls r0, r3, 16 asrs r0, 16 adds r3, r0, 0 @@ -47587,15 +47587,15 @@ _080B9346: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams add sp, 0xC pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_080B9368: .4byte gUnknown_202297C +_080B9368: .4byte gBattle_BG2_X _080B936C: .4byte 0x04000018 -_080B9370: .4byte gUnknown_2038700 +_080B9370: .4byte gScanlineEffectRegBuffers _080B9374: .4byte 0xa2600001 thumb_func_end sub_80B92B8 @@ -47795,14 +47795,14 @@ _080B94EC: beq _080B9518 cmp r0, 0x5 bne _080B9558 - ldr r0, _080B9510 @ =gUnknown_2022980 + ldr r0, _080B9510 @ =gBattle_BG3_X ldrh r0, [r0] strh r0, [r4, 0x22] ldr r0, _080B9514 @ =sub_80B9584 b _080B9576 .align 2, 0 _080B950C: .4byte gUnknown_2037EEC -_080B9510: .4byte gUnknown_2022980 +_080B9510: .4byte gBattle_BG3_X _080B9514: .4byte sub_80B9584 _080B9518: movs r0, 0 @@ -47903,16 +47903,16 @@ _080B95B2: ands r0, r1 cmp r0, 0 bne _080B95DC - ldr r1, _080B95D8 @ =gUnknown_2022980 + ldr r1, _080B95D8 @ =gBattle_BG3_X ldrh r0, [r3, 0x26] ldrh r2, [r3, 0x22] adds r0, r2 strh r0, [r1] b _080B95E6 .align 2, 0 -_080B95D8: .4byte gUnknown_2022980 +_080B95D8: .4byte gBattle_BG3_X _080B95DC: - ldr r0, _080B9604 @ =gUnknown_2022980 + ldr r0, _080B9604 @ =gBattle_BG3_X ldrh r1, [r3, 0x22] ldrh r2, [r3, 0x26] subs r1, r2 @@ -47934,7 +47934,7 @@ _080B95E6: strh r0, [r3, 0x24] b _080B965C .align 2, 0 -_080B9604: .4byte gUnknown_2022980 +_080B9604: .4byte gBattle_BG3_X _080B9608: ldrh r0, [r3, 0xA] adds r0, 0x1 @@ -47949,16 +47949,16 @@ _080B9608: ands r1, r0 cmp r1, 0 bne _080B9634 - ldr r1, _080B9630 @ =gUnknown_2022980 + ldr r1, _080B9630 @ =gBattle_BG3_X ldrh r0, [r3, 0x24] ldrh r2, [r3, 0x22] adds r0, r2 strh r0, [r1] b _080B963E .align 2, 0 -_080B9630: .4byte gUnknown_2022980 +_080B9630: .4byte gBattle_BG3_X _080B9634: - ldr r0, _080B9664 @ =gUnknown_2022980 + ldr r0, _080B9664 @ =gBattle_BG3_X ldrh r1, [r3, 0x22] ldrh r2, [r3, 0x24] subs r1, r2 @@ -47985,9 +47985,9 @@ _080B965C: strh r0, [r3, 0x8] b _080B9674 .align 2, 0 -_080B9664: .4byte gUnknown_2022980 +_080B9664: .4byte gBattle_BG3_X _080B9668: - ldr r1, _080B9678 @ =gUnknown_2022980 + ldr r1, _080B9678 @ =gBattle_BG3_X ldrh r0, [r3, 0x22] strh r0, [r1] adds r0, r2, 0 @@ -47996,7 +47996,7 @@ _080B9674: pop {r0} bx r0 .align 2, 0 -_080B9678: .4byte gUnknown_2022980 +_080B9678: .4byte gBattle_BG3_X thumb_func_end sub_80B9584 thumb_func_start sub_80B967C @@ -48271,10 +48271,10 @@ _080B9832: movs r0, 0xFF ands r1, r0 strh r1, [r4, 0xC] - ldr r2, _080B98A0 @ =gUnknown_2022980 + ldr r2, _080B98A0 @ =gBattle_BG3_X ldrh r0, [r4, 0xA] strh r0, [r2] - ldr r0, _080B98A4 @ =gUnknown_2022982 + ldr r0, _080B98A4 @ =gBattle_BG3_Y strh r1, [r0] ldrh r0, [r6, 0x4] strh r0, [r4, 0xE] @@ -48288,8 +48288,8 @@ _080B9890: .4byte gUnknown_2037F1A _080B9894: .4byte sub_80B98A8 _080B9898: .4byte gTasks _080B989C: .4byte 0x000001ff -_080B98A0: .4byte gUnknown_2022980 -_080B98A4: .4byte gUnknown_2022982 +_080B98A0: .4byte gBattle_BG3_X +_080B98A4: .4byte gBattle_BG3_Y thumb_func_end sub_80B9800 thumb_func_start sub_80B98A8 @@ -48309,10 +48309,10 @@ sub_80B98A8: @ 80B98A8 ldrsh r0, [r2, r4] cmp r1, r0 bne _080B98E8 - ldr r0, _080B98E0 @ =gUnknown_2022980 + ldr r0, _080B98E0 @ =gBattle_BG3_X movs r1, 0 strh r1, [r0] - ldr r0, _080B98E4 @ =gUnknown_2022982 + ldr r0, _080B98E4 @ =gBattle_BG3_Y strh r1, [r0] adds r0, r3, 0 bl DestroyTask @@ -48320,13 +48320,13 @@ sub_80B98A8: @ 80B98A8 .align 2, 0 _080B98D8: .4byte gTasks _080B98DC: .4byte gUnknown_2037F02 -_080B98E0: .4byte gUnknown_2022980 -_080B98E4: .4byte gUnknown_2022982 +_080B98E0: .4byte gBattle_BG3_X +_080B98E4: .4byte gBattle_BG3_Y _080B98E8: - ldr r1, _080B98FC @ =gUnknown_2022980 + ldr r1, _080B98FC @ =gBattle_BG3_X ldrh r0, [r2, 0xA] strh r0, [r1] - ldr r1, _080B9900 @ =gUnknown_2022982 + ldr r1, _080B9900 @ =gBattle_BG3_Y ldrh r0, [r2, 0xC] strh r0, [r1] _080B98F4: @@ -48334,8 +48334,8 @@ _080B98F4: pop {r0} bx r0 .align 2, 0 -_080B98FC: .4byte gUnknown_2022980 -_080B9900: .4byte gUnknown_2022982 +_080B98FC: .4byte gBattle_BG3_X +_080B9900: .4byte gBattle_BG3_Y thumb_func_end sub_80B98A8 thumb_func_start sub_80B9904 @@ -49629,15 +49629,15 @@ _080BA2B4: beq _080BA2CC b _080BA2DC _080BA2BA: - ldr r1, _080BA2C0 @ =gUnknown_2022980 + ldr r1, _080BA2C0 @ =gBattle_BG3_X b _080BA2CE .align 2, 0 -_080BA2C0: .4byte gUnknown_2022980 +_080BA2C0: .4byte gBattle_BG3_X _080BA2C4: - ldr r1, _080BA2C8 @ =gUnknown_2022982 + ldr r1, _080BA2C8 @ =gBattle_BG3_Y b _080BA2CE .align 2, 0 -_080BA2C8: .4byte gUnknown_2022982 +_080BA2C8: .4byte gBattle_BG3_Y _080BA2CC: ldr r1, _080BA2D8 @ =gSpriteCoordOffsetX _080BA2CE: @@ -49883,10 +49883,10 @@ sub_80BA47C: @ 80BA47C strh r1, [r2, 0xE] ldrh r1, [r3, 0x6] strh r1, [r2, 0x18] - ldr r4, _080BA4C4 @ =gUnknown_2022980 + ldr r4, _080BA4C4 @ =gBattle_BG3_X ldrh r1, [r3] strh r1, [r4] - ldr r4, _080BA4C8 @ =gUnknown_2022982 + ldr r4, _080BA4C8 @ =gBattle_BG3_Y ldrh r1, [r3, 0x2] strh r1, [r4] ldr r1, _080BA4CC @ =sub_80BA4D0 @@ -49898,8 +49898,8 @@ sub_80BA47C: @ 80BA47C .align 2, 0 _080BA4BC: .4byte gTasks _080BA4C0: .4byte gUnknown_2037F02 -_080BA4C4: .4byte gUnknown_2022980 -_080BA4C8: .4byte gUnknown_2022982 +_080BA4C4: .4byte gBattle_BG3_X +_080BA4C8: .4byte gBattle_BG3_Y _080BA4CC: .4byte sub_80BA4D0 thumb_func_end sub_80BA47C @@ -49919,7 +49919,7 @@ sub_80BA4D0: @ 80BA4D0 mov r12, r1 cmp r0, 0 bne _080BA556 - ldr r0, _080BA504 @ =gUnknown_2022980 + ldr r0, _080BA504 @ =gBattle_BG3_X ldrh r2, [r0] movs r7, 0x8 ldrsh r1, [r3, r7] @@ -49931,12 +49931,12 @@ sub_80BA4D0: @ 80BA4D0 b _080BA50A .align 2, 0 _080BA500: .4byte gTasks -_080BA504: .4byte gUnknown_2022980 +_080BA504: .4byte gBattle_BG3_X _080BA508: ldrh r0, [r3, 0x8] _080BA50A: strh r0, [r6] - ldr r2, _080BA528 @ =gUnknown_2022982 + ldr r2, _080BA528 @ =gBattle_BG3_Y ldrh r3, [r2] lsls r1, r5, 2 adds r0, r1, r5 @@ -49950,7 +49950,7 @@ _080BA50A: movs r0, 0 b _080BA530 .align 2, 0 -_080BA528: .4byte gUnknown_2022982 +_080BA528: .4byte gBattle_BG3_Y _080BA52C: ldrh r0, [r4, 0xA] negs r0, r0 @@ -51171,7 +51171,7 @@ _080BAEAC: adds r1, 0x1 movs r2, 0x2 bl LoadPalette - ldr r2, _080BAF24 @ =gUnknown_2022978 + ldr r2, _080BAF24 @ =gBattle_BG1_X ldr r0, _080BAF28 @ =gSprites lsls r1, r5, 4 adds r1, r5 @@ -51181,7 +51181,7 @@ _080BAEAC: negs r0, r0 adds r0, 0x20 strh r0, [r2] - ldr r2, _080BAF2C @ =gUnknown_202297A + ldr r2, _080BAF2C @ =gBattle_BG1_Y ldrh r0, [r1, 0x22] negs r0, r0 adds r0, 0x20 @@ -51210,9 +51210,9 @@ _080BAF14: .4byte gUnknown_2037F1A _080BAF18: .4byte gFile_graphics_battle_anims_masks_curse_tilemap _080BAF1C: .4byte gFile_graphics_battle_anims_masks_curse_sheet _080BAF20: .4byte gUnknown_83E7CC8 -_080BAF24: .4byte gUnknown_2022978 +_080BAF24: .4byte gBattle_BG1_X _080BAF28: .4byte gSprites -_080BAF2C: .4byte gUnknown_202297A +_080BAF2C: .4byte gBattle_BG1_Y _080BAF30: .4byte gTasks _080BAF34: .4byte sub_80BAF38 thumb_func_end sub_80BACEC @@ -51236,7 +51236,7 @@ sub_80BAF38: @ 80BAF38 movs r1, 0 mov r8, r1 strh r0, [r5, 0x1C] - ldr r7, _080BB06C @ =gUnknown_202297A + ldr r7, _080BB06C @ =gBattle_BG1_Y ldrh r2, [r7] subs r1, r2, 0x4 strh r1, [r7] @@ -51360,7 +51360,7 @@ _080BB05A: bx r0 .align 2, 0 _080BB068: .4byte gTasks -_080BB06C: .4byte gUnknown_202297A +_080BB06C: .4byte gBattle_BG1_Y _080BB070: .4byte gUnknown_2022984 _080BB074: .4byte gUnknown_2022986 _080BB078: .4byte 0x00003f3f @@ -51763,10 +51763,10 @@ _080BB3C4: movs r2, 0x20 bl LoadCompressedPalette _080BB3D2: - ldr r3, _080BB400 @ =gUnknown_2022978 + ldr r3, _080BB400 @ =gBattle_BG1_X movs r2, 0 strh r2, [r3] - ldr r0, _080BB404 @ =gUnknown_202297A + ldr r0, _080BB404 @ =gBattle_BG1_Y strh r2, [r0] ldr r1, _080BB408 @ =gUnknown_20399B4 ldr r0, [r1] @@ -51786,8 +51786,8 @@ _080BB3D2: b _080BB420 .align 2, 0 _080BB3FC: .4byte gFile_graphics_battle_anims_masks_stat5_palette -_080BB400: .4byte gUnknown_2022978 -_080BB404: .4byte gUnknown_202297A +_080BB400: .4byte gBattle_BG1_X +_080BB404: .4byte gBattle_BG1_Y _080BB408: .4byte gUnknown_20399B4 _080BB40C: .4byte gTasks _080BB410: .4byte 0x0000fffd @@ -51880,7 +51880,7 @@ sub_80BB4B8: @ 80BB4B8 push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 - ldr r2, _080BB4E4 @ =gUnknown_202297A + ldr r2, _080BB4E4 @ =gBattle_BG1_Y ldr r1, _080BB4E8 @ =gTasks lsls r0, r6, 2 adds r0, r6 @@ -51900,7 +51900,7 @@ sub_80BB4B8: @ 80BB4B8 beq _080BB4F6 b _080BB644 .align 2, 0 -_080BB4E4: .4byte gUnknown_202297A +_080BB4E4: .4byte gBattle_BG1_Y _080BB4E8: .4byte gTasks _080BB4EC: cmp r2, 0x2 @@ -52406,13 +52406,13 @@ sub_80BB8A4: @ 80BB8A4 ldrh r7, [r1, 0x1E] adds r2, r7 strh r2, [r1, 0x1E] - ldr r6, _080BB914 @ =gUnknown_2022980 + ldr r6, _080BB914 @ =gBattle_BG3_X lsls r0, r3, 16 asrs r0, 24 ldrh r4, [r6] adds r0, r4 strh r0, [r6] - ldr r4, _080BB918 @ =gUnknown_2022982 + ldr r4, _080BB918 @ =gBattle_BG3_Y lsls r0, r2, 16 asrs r0, 24 ldrh r7, [r4] @@ -52443,8 +52443,8 @@ _080BB90A: bx r0 .align 2, 0 _080BB910: .4byte gTasks -_080BB914: .4byte gUnknown_2022980 -_080BB918: .4byte gUnknown_2022982 +_080BB914: .4byte gBattle_BG3_X +_080BB918: .4byte gBattle_BG3_Y _080BB91C: .4byte gUnknown_2037F02 thumb_func_end sub_80BB8A4 @@ -52772,10 +52772,10 @@ _080BBBA8: ldr r0, [sp, 0x5C] movs r2, 0x20 bl LoadCompressedPalette - ldr r0, _080BBC1C @ =gUnknown_2022978 + ldr r0, _080BBC1C @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080BBC20 @ =gUnknown_202297A + ldr r0, _080BBC20 @ =gBattle_BG1_Y strh r1, [r0] ldr r1, _080BBC24 @ =gTasks mov r2, r9 @@ -52814,8 +52814,8 @@ _080BBBA8: _080BBC10: .4byte gBattlerPartyIndexes _080BBC14: .4byte gPlayerParty _080BBC18: .4byte gUnknown_2023D44 -_080BBC1C: .4byte gUnknown_2022978 -_080BBC20: .4byte gUnknown_202297A +_080BBC1C: .4byte gBattle_BG1_X +_080BBC20: .4byte gBattle_BG1_Y _080BBC24: .4byte gTasks _080BBC28: .4byte sub_80BBC2C thumb_func_end sub_80BBA20 @@ -52845,7 +52845,7 @@ _080BBC4A: ldrsh r0, [r3, r1] cmp r0, 0 bge _080BBC70 - ldr r2, _080BBC6C @ =gUnknown_202297A + ldr r2, _080BBC6C @ =gBattle_BG1_Y lsls r1, r4, 16 asrs r1, 24 ldrh r0, [r2] @@ -52854,9 +52854,9 @@ _080BBC4A: b _080BBC7C .align 2, 0 _080BBC68: .4byte gTasks -_080BBC6C: .4byte gUnknown_202297A +_080BBC6C: .4byte gBattle_BG1_Y _080BBC70: - ldr r1, _080BBCA0 @ =gUnknown_202297A + ldr r1, _080BBCA0 @ =gBattle_BG1_Y lsls r0, r4, 16 asrs r0, 24 ldrh r2, [r1] @@ -52882,7 +52882,7 @@ _080BBC7C: beq _080BBCAA b _080BBDD8 .align 2, 0 -_080BBCA0: .4byte gUnknown_202297A +_080BBCA0: .4byte gBattle_BG1_Y _080BBCA4: cmp r0, 0x2 beq _080BBD00 @@ -53860,14 +53860,14 @@ sub_80BC41C: @ 80BC41C lsls r0, 24 lsrs r0, 24 bl DestroyTask - ldr r0, _080BC468 @ =gUnknown_2022978 + ldr r0, _080BC468 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080BC46C @ =gUnknown_202297A + ldr r0, _080BC46C @ =gBattle_BG1_Y strh r1, [r0] - ldr r0, _080BC470 @ =gUnknown_202297C + ldr r0, _080BC470 @ =gBattle_BG2_X strh r1, [r0] - ldr r0, _080BC474 @ =gUnknown_202297E + ldr r0, _080BC474 @ =gBattle_BG2_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -53889,10 +53889,10 @@ sub_80BC41C: @ 80BC41C pop {r0} bx r0 .align 2, 0 -_080BC468: .4byte gUnknown_2022978 -_080BC46C: .4byte gUnknown_202297A -_080BC470: .4byte gUnknown_202297C -_080BC474: .4byte gUnknown_202297E +_080BC468: .4byte gBattle_BG1_X +_080BC46C: .4byte gBattle_BG1_Y +_080BC470: .4byte gBattle_BG2_X +_080BC474: .4byte gBattle_BG2_Y _080BC478: .4byte 0x00003f3f thumb_func_end sub_80BC41C @@ -53905,7 +53905,7 @@ task_battle_intro_80BC47C: @ 80BC47C sub sp, 0x4 lsls r0, 24 lsrs r4, r0, 24 - ldr r1, _080BC4B4 @ =gUnknown_2022978 + ldr r1, _080BC4B4 @ =gBattle_BG1_X ldrh r0, [r1] adds r0, 0x6 strh r0, [r1] @@ -53927,7 +53927,7 @@ _080BC4A8: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BC4B4: .4byte gUnknown_2022978 +_080BC4B4: .4byte gBattle_BG1_X _080BC4B8: .4byte gTasks _080BC4BC: .4byte _080BC4C0 .align 2, 0 @@ -54040,7 +54040,7 @@ _080BC590: ldrsh r0, [r2, r1] cmp r0, 0x1 bne _080BC5B0 - ldr r2, _080BC5A8 @ =gUnknown_202297A + ldr r2, _080BC5A8 @ =gBattle_BG1_Y ldrh r1, [r2] ldr r0, _080BC5AC @ =0x0000ffb0 cmp r1, r0 @@ -54048,10 +54048,10 @@ _080BC590: subs r0, r1, 0x2 b _080BC5BC .align 2, 0 -_080BC5A8: .4byte gUnknown_202297A +_080BC5A8: .4byte gBattle_BG1_Y _080BC5AC: .4byte 0x0000ffb0 _080BC5B0: - ldr r2, _080BC690 @ =gUnknown_202297A + ldr r2, _080BC690 @ =gBattle_BG1_Y ldrh r1, [r2] ldr r0, _080BC694 @ =0x0000ffc8 cmp r1, r0 @@ -54085,9 +54085,9 @@ _080BC5D2: strh r0, [r1, 0xC] _080BC5EA: movs r3, 0 - ldr r5, _080BC6A0 @ =gUnknown_2039600 + ldr r5, _080BC6A0 @ =gScanlineEffect mov r9, r5 - ldr r7, _080BC6A4 @ =gUnknown_2038700 + ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers mov r6, r9 adds r5, r1, 0 _080BC5F6: @@ -54105,8 +54105,8 @@ _080BC5F6: ble _080BC5F6 cmp r3, 0x9F bgt _080BC63A - ldr r7, _080BC6A4 @ =gUnknown_2038700 - ldr r6, _080BC6A0 @ =gUnknown_2039600 + ldr r7, _080BC6A4 @ =gScanlineEffectRegBuffers + ldr r6, _080BC6A0 @ =gScanlineEffect ldr r1, _080BC6A8 @ =gTasks mov r2, r12 adds r0, r2, r4 @@ -54165,12 +54165,12 @@ _080BC63A: bl SetGpuReg b _080BC6BA .align 2, 0 -_080BC690: .4byte gUnknown_202297A +_080BC690: .4byte gBattle_BG1_Y _080BC694: .4byte 0x0000ffc8 _080BC698: .4byte gUnknown_2022986 _080BC69C: .4byte 0xfffffc04 -_080BC6A0: .4byte gUnknown_2039600 -_080BC6A4: .4byte gUnknown_2038700 +_080BC6A0: .4byte gScanlineEffect +_080BC6A4: .4byte gScanlineEffectRegBuffers _080BC6A8: .4byte gTasks _080BC6AC: .4byte 0x0600e000 _080BC6B0: .4byte 0x05000200 @@ -54216,14 +54216,14 @@ _080BC6F8: cmp r0, 0x4 bne _080BC710 _080BC6FC: - ldr r1, _080BC704 @ =gUnknown_2022978 + ldr r1, _080BC704 @ =gBattle_BG1_X ldrh r0, [r1] adds r0, 0x8 b _080BC70E .align 2, 0 -_080BC704: .4byte gUnknown_2022978 +_080BC704: .4byte gBattle_BG1_X _080BC708: - ldr r1, _080BC74C @ =gUnknown_2022978 + ldr r1, _080BC74C @ =gBattle_BG1_X ldrh r0, [r1] adds r0, 0x6 _080BC70E: @@ -54238,7 +54238,7 @@ _080BC710: adds r6, r0, 0 cmp r1, 0x4 bne _080BC774 - ldr r7, _080BC750 @ =gUnknown_202297A + ldr r7, _080BC750 @ =gBattle_BG1_Y ldrh r0, [r4, 0x14] bl Cos2 lsls r0, 16 @@ -54259,8 +54259,8 @@ _080BC736: adds r0, r1, 0x4 b _080BC75A .align 2, 0 -_080BC74C: .4byte gUnknown_2022978 -_080BC750: .4byte gUnknown_202297A +_080BC74C: .4byte gBattle_BG1_X +_080BC750: .4byte gBattle_BG1_Y _080BC754: .4byte 0x000001ff _080BC758: adds r0, r1, 0x6 @@ -54459,9 +54459,9 @@ _080BC8CC: strh r0, [r1, 0xC] _080BC8E2: movs r3, 0 - ldr r0, _080BC994 @ =gUnknown_2039600 + ldr r0, _080BC994 @ =gScanlineEffect mov r8, r0 - ldr r2, _080BC998 @ =gUnknown_2038700 + ldr r2, _080BC998 @ =gScanlineEffectRegBuffers mov r12, r2 mov r7, r8 adds r4, r1, 0 @@ -54480,9 +54480,9 @@ _080BC8F0: ble _080BC8F0 cmp r3, 0x9F bgt _080BC934 - ldr r0, _080BC998 @ =gUnknown_2038700 + ldr r0, _080BC998 @ =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, _080BC994 @ =gUnknown_2039600 + ldr r7, _080BC994 @ =gScanlineEffect ldr r1, _080BC990 @ =gTasks adds r0, r6, r5 lsls r0, 3 @@ -54542,8 +54542,8 @@ _080BC934: _080BC988: .4byte gUnknown_2022986 _080BC98C: .4byte 0xfffffc04 _080BC990: .4byte gTasks -_080BC994: .4byte gUnknown_2039600 -_080BC998: .4byte gUnknown_2038700 +_080BC994: .4byte gScanlineEffect +_080BC998: .4byte gScanlineEffectRegBuffers _080BC99C: .4byte 0x0600e000 _080BC9A0: .4byte 0x05000200 _080BC9A4: @@ -54580,7 +54580,7 @@ task_battle_intro_anim: @ 80BC9D4 sub sp, 0x4 lsls r0, 24 lsrs r5, r0, 24 - ldr r1, _080BCA08 @ =gUnknown_2022978 + ldr r1, _080BCA08 @ =gBattle_BG1_X ldrh r0, [r1] adds r0, 0x8 strh r0, [r1] @@ -54602,7 +54602,7 @@ _080BC9FE: ldr r0, [r0] mov pc, r0 .align 2, 0 -_080BCA08: .4byte gUnknown_2022978 +_080BCA08: .4byte gBattle_BG1_X _080BCA0C: .4byte gTasks _080BCA10: .4byte _080BCA14 .align 2, 0 @@ -54768,9 +54768,9 @@ _080BCB46: strh r0, [r1, 0xC] _080BCB5C: movs r3, 0 - ldr r6, _080BCC08 @ =gUnknown_2039600 + ldr r6, _080BCC08 @ =gScanlineEffect mov r8, r6 - ldr r7, _080BCC0C @ =gUnknown_2038700 + ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers adds r4, r1, 0 _080BCB66: lsls r2, r3, 1 @@ -54787,8 +54787,8 @@ _080BCB66: ble _080BCB66 cmp r3, 0x9F bgt _080BCBAA - ldr r7, _080BCC0C @ =gUnknown_2038700 - ldr r6, _080BCC08 @ =gUnknown_2039600 + ldr r7, _080BCC0C @ =gScanlineEffectRegBuffers + ldr r6, _080BCC08 @ =gScanlineEffect ldr r1, _080BCC10 @ =gTasks mov r2, r12 adds r0, r2, r5 @@ -54849,8 +54849,8 @@ _080BCBAA: .align 2, 0 _080BCC00: .4byte gUnknown_2022986 _080BCC04: .4byte 0xfffffc04 -_080BCC08: .4byte gUnknown_2039600 -_080BCC0C: .4byte gUnknown_2038700 +_080BCC08: .4byte gScanlineEffect +_080BCC0C: .4byte gScanlineEffectRegBuffers _080BCC10: .4byte gTasks _080BCC14: .4byte 0x0600e000 _080BCC18: .4byte 0x05000200 @@ -54903,7 +54903,7 @@ sub_80BCC4C: @ 80BCC4C ldrsh r0, [r7, r2] cmp r0, 0 bne _080BCCC2 - ldr r2, _080BCC9C @ =gUnknown_2022978 + ldr r2, _080BCC9C @ =gBattle_BG1_X ldrh r1, [r2] movs r0, 0x80 lsls r0, 8 @@ -54917,15 +54917,15 @@ sub_80BCC4C: @ 80BCC4C _080BCC8A: adds r0, r1, 0x3 strh r0, [r2] - ldr r1, _080BCCA0 @ =gUnknown_202297C + ldr r1, _080BCCA0 @ =gBattle_BG2_X ldrh r0, [r1] subs r0, 0x3 strh r0, [r1] b _080BCCC2 .align 2, 0 _080BCC98: .4byte gTasks -_080BCC9C: .4byte gUnknown_2022978 -_080BCCA0: .4byte gUnknown_202297C +_080BCC9C: .4byte gBattle_BG1_X +_080BCCA0: .4byte gBattle_BG2_X _080BCCA4: str r5, [sp] ldr r1, _080BCCE4 @ =0x0600e000 @@ -55120,9 +55120,9 @@ _080BCE1C: strh r0, [r1, 0xC] _080BCE32: movs r3, 0 - ldr r0, _080BCED4 @ =gUnknown_2039600 + ldr r0, _080BCED4 @ =gScanlineEffect mov r12, r0 - ldr r2, _080BCED8 @ =gUnknown_2038700 + ldr r2, _080BCED8 @ =gScanlineEffectRegBuffers mov r8, r2 mov r7, r12 adds r4, r1, 0 @@ -55141,9 +55141,9 @@ _080BCE40: ble _080BCE40 cmp r3, 0x9F bgt _080BCE84 - ldr r0, _080BCED8 @ =gUnknown_2038700 + ldr r0, _080BCED8 @ =gScanlineEffectRegBuffers mov r8, r0 - ldr r7, _080BCED4 @ =gUnknown_2039600 + ldr r7, _080BCED4 @ =gScanlineEffect ldr r1, _080BCEDC @ =gTasks adds r0, r5, r6 lsls r0, 3 @@ -55197,8 +55197,8 @@ _080BCE84: .align 2, 0 _080BCECC: .4byte gUnknown_2022986 _080BCED0: .4byte 0xfffffc04 -_080BCED4: .4byte gUnknown_2039600 -_080BCED8: .4byte gUnknown_2038700 +_080BCED4: .4byte gScanlineEffect +_080BCED8: .4byte gScanlineEffectRegBuffers _080BCEDC: .4byte gTasks _080BCEE0: adds r0, r6, 0 diff --git a/asm/battle_anim_80DE2C0.s b/asm/battle_anim_80DE2C0.s index f3ddeb0b1..603005d78 100644 --- a/asm/battle_anim_80DE2C0.s +++ b/asm/battle_anim_80DE2C0.s @@ -1644,7 +1644,7 @@ sub_80DEF38: @ 80DEF38 movs r1, 0xFF ands r0, r1 strh r0, [r2, 0x30] - ldr r1, _080DEF80 @ =gUnknown_825E074 + ldr r1, _080DEF80 @ =gSineTable movs r3, 0x30 ldrsh r0, [r2, r3] lsls r0, 1 @@ -1671,7 +1671,7 @@ sub_80DEF38: @ 80DEF38 bl DestroyAnimSprite b _080DEF96 .align 2, 0 -_080DEF80: .4byte gUnknown_825E074 +_080DEF80: .4byte gSineTable _080DEF84: lsls r0, r1, 16 asrs r0, 16 @@ -1742,14 +1742,14 @@ _080DEFF4: strh r2, [r5, 0x16] cmp r7, 0x1 bne _080DF01C - ldr r0, _080DF018 @ =gUnknown_2022978 + ldr r0, _080DF018 @ =gBattle_BG1_X b _080DF01E .align 2, 0 _080DF010: .4byte gUnknown_2037F1B _080DF014: .4byte gUnknown_2037F02 -_080DF018: .4byte gUnknown_2022978 +_080DF018: .4byte gBattle_BG1_X _080DF01C: - ldr r0, _080DF03C @ =gUnknown_202297C + ldr r0, _080DF03C @ =gBattle_BG2_X _080DF01E: ldrh r2, [r0] strh r2, [r5, 0x18] @@ -1766,7 +1766,7 @@ _080DF01E: ldrh r3, [r5, 0x18] b _080DF044 .align 2, 0 -_080DF03C: .4byte gUnknown_202297C +_080DF03C: .4byte gBattle_BG2_X _080DF040: strh r2, [r5, 0x1E] ldrh r3, [r5, 0x1A] @@ -1780,7 +1780,7 @@ _080DF044: ldrsh r0, [r5, r6] cmp r1, r0 bgt _080DF07A - ldr r4, _080DF084 @ =gUnknown_2038700 + ldr r4, _080DF084 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r4 @@ -1805,7 +1805,7 @@ _080DF07A: ldr r0, _080DF088 @ =0x04000014 b _080DF08E .align 2, 0 -_080DF084: .4byte gUnknown_2038700 +_080DF084: .4byte gScanlineEffectRegBuffers _080DF088: .4byte 0x04000014 _080DF08C: ldr r0, _080DF0B8 @ =0x04000018 @@ -1822,7 +1822,7 @@ _080DF08E: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldr r0, _080DF0C0 @ =sub_80DF0C4 str r0, [r5] add sp, 0xC @@ -1917,7 +1917,7 @@ _080DF148: ldrsh r0, [r4, r2] cmp r1, r0 bge _080DF17C - ldr r5, _080DF1D4 @ =gUnknown_2038700 + ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1945,7 +1945,7 @@ _080DF17C: ldrsh r0, [r4, r2] cmp r1, r0 bgt _080DF1B0 - ldr r5, _080DF1D4 @ =gUnknown_2038700 + ldr r5, _080DF1D4 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r6, r5, r0 @@ -1974,7 +1974,7 @@ _080DF1B0: ldrsh r0, [r4, r1] cmp r0, 0 beq _080DF1C6 - ldr r1, _080DF1D8 @ =gUnknown_2039600 + ldr r1, _080DF1D8 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _080DF1C6: @@ -1985,8 +1985,8 @@ _080DF1CC: pop {r0} bx r0 .align 2, 0 -_080DF1D4: .4byte gUnknown_2038700 -_080DF1D8: .4byte gUnknown_2039600 +_080DF1D4: .4byte gScanlineEffectRegBuffers +_080DF1D8: .4byte gScanlineEffect thumb_func_end sub_80DF0C4 thumb_func_start sub_80DF1DC @@ -3434,7 +3434,7 @@ _080DFCCE: movs r2, 0 movs r3, 0 bl sub_80730C0 - ldr r1, _080DFD28 @ =gUnknown_2022978 + ldr r1, _080DFD28 @ =gBattle_BG1_X ldr r3, _080DFD2C @ =0x0000ffc8 b _080DFD58 .align 2, 0 @@ -3442,7 +3442,7 @@ _080DFD18: .4byte 0x00003f42 _080DFD1C: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap _080DFD20: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet _080DFD24: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette -_080DFD28: .4byte gUnknown_2022978 +_080DFD28: .4byte gBattle_BG1_X _080DFD2C: .4byte 0x0000ffc8 _080DFD30: ldr r0, _080DFD48 @ =gUnknown_2037F1A @@ -3451,22 +3451,22 @@ _080DFD30: lsls r0, 24 cmp r0, 0 beq _080DFD54 - ldr r1, _080DFD4C @ =gUnknown_2022978 + ldr r1, _080DFD4C @ =gBattle_BG1_X ldr r2, _080DFD50 @ =0x0000ff79 adds r0, r2, 0 b _080DFD5A .align 2, 0 _080DFD48: .4byte gUnknown_2037F1A -_080DFD4C: .4byte gUnknown_2022978 +_080DFD4C: .4byte gBattle_BG1_X _080DFD50: .4byte 0x0000ff79 _080DFD54: - ldr r1, _080DFD80 @ =gUnknown_2022978 + ldr r1, _080DFD80 @ =gBattle_BG1_X ldr r3, _080DFD84 @ =0x0000fff6 _080DFD58: adds r0, r3, 0 _080DFD5A: strh r0, [r1] - ldr r1, _080DFD88 @ =gUnknown_202297A + ldr r1, _080DFD88 @ =gBattle_BG1_Y movs r0, 0 strh r0, [r1] ldr r0, _080DFD8C @ =gTasks @@ -3474,19 +3474,19 @@ _080DFD5A: adds r1, r4 lsls r1, 3 adds r1, r0 - ldr r0, _080DFD80 @ =gUnknown_2022978 + ldr r0, _080DFD80 @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r1, 0x1C] - ldr r0, _080DFD88 @ =gUnknown_202297A + ldr r0, _080DFD88 @ =gBattle_BG1_Y ldrh r0, [r0] strh r0, [r1, 0x1E] ldrh r0, [r1, 0x8] adds r0, 0x1 b _080DFE66 .align 2, 0 -_080DFD80: .4byte gUnknown_2022978 +_080DFD80: .4byte gBattle_BG1_X _080DFD84: .4byte 0x0000fff6 -_080DFD88: .4byte gUnknown_202297A +_080DFD88: .4byte gBattle_BG1_Y _080DFD8C: .4byte gTasks _080DFD90: lsls r0, r4, 2 @@ -3557,7 +3557,7 @@ _080DFDF8: ldrsh r0, [r4, r2] cmp r0, 0 bne _080DFECA - ldr r2, _080DFE3C @ =gUnknown_2022978 + ldr r2, _080DFE3C @ =gBattle_BG1_X ldr r1, _080DFE40 @ =gUnknown_83FF240 movs r3, 0xC ldrsh r0, [r4, r3] @@ -3578,7 +3578,7 @@ _080DFDF8: strh r0, [r4, 0x8] b _080DFECA .align 2, 0 -_080DFE3C: .4byte gUnknown_2022978 +_080DFE3C: .4byte gBattle_BG1_X _080DFE40: .4byte gUnknown_83FF240 _080DFE44: movs r0, 0x3 @@ -3629,10 +3629,10 @@ _080DFEA0: movs r1, 0x4 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, _080DFED4 @ =gUnknown_2022978 + ldr r0, _080DFED4 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080DFED8 @ =gUnknown_202297A + ldr r0, _080DFED8 @ =gBattle_BG1_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -3648,8 +3648,8 @@ _080DFECA: pop {r0} bx r0 .align 2, 0 -_080DFED4: .4byte gUnknown_2022978 -_080DFED8: .4byte gUnknown_202297A +_080DFED4: .4byte gBattle_BG1_X +_080DFED8: .4byte gBattle_BG1_Y thumb_func_end sub_80DFC50 thumb_func_start sub_80DFEDC @@ -4076,7 +4076,7 @@ _080E01FC: movs r2, 0 movs r3, 0 bl sub_80730C0 - ldr r1, _080E025C @ =gUnknown_2022978 + ldr r1, _080E025C @ =gBattle_BG1_X ldr r3, _080E0260 @ =0x0000ffc8 adds r0, r3, 0 b _080E02CE @@ -4086,7 +4086,7 @@ _080E024C: .4byte 0x00000d03 _080E0250: .4byte gFile_graphics_battle_anims_masks_morning_sun_tilemap _080E0254: .4byte gFile_graphics_battle_anims_masks_morning_sun_sheet _080E0258: .4byte gFile_graphics_battle_anims_masks_morning_sun_palette -_080E025C: .4byte gUnknown_2022978 +_080E025C: .4byte gBattle_BG1_X _080E0260: .4byte 0x0000ffc8 _080E0264: ldr r0, _080E02A4 @ =gUnknown_2037F1B @@ -4099,7 +4099,7 @@ _080E0264: lsrs r0, 24 cmp r0, 0x1 bne _080E02B8 - ldr r1, _080E02A8 @ =gUnknown_2022978 + ldr r1, _080E02A8 @ =gBattle_BG1_X cmp r4, 0x1 bne _080E0288 ldr r2, _080E02AC @ =0x0000ff65 @@ -4119,33 +4119,33 @@ _080E0292: _080E029A: cmp r4, 0x2 bne _080E02D0 - ldr r1, _080E02A8 @ =gUnknown_2022978 + ldr r1, _080E02A8 @ =gBattle_BG1_X ldr r2, _080E02B4 @ =0x0000ffec b _080E02CC .align 2, 0 _080E02A4: .4byte gUnknown_2037F1B -_080E02A8: .4byte gUnknown_2022978 +_080E02A8: .4byte gBattle_BG1_X _080E02AC: .4byte 0x0000ff65 _080E02B0: .4byte 0x0000ff8d _080E02B4: .4byte 0x0000ffec _080E02B8: cmp r4, 0x1 bne _080E02C4 - ldr r1, _080E02F0 @ =gUnknown_2022978 + ldr r1, _080E02F0 @ =gBattle_BG1_X ldr r3, _080E02F4 @ =0x0000ff79 adds r0, r3, 0 strh r0, [r1] _080E02C4: cmp r4, 0 bne _080E02D0 - ldr r1, _080E02F0 @ =gUnknown_2022978 + ldr r1, _080E02F0 @ =gBattle_BG1_X ldr r2, _080E02F8 @ =0x0000fff6 _080E02CC: adds r0, r2, 0 _080E02CE: strh r0, [r1] _080E02D0: - ldr r1, _080E02FC @ =gUnknown_202297A + ldr r1, _080E02FC @ =gBattle_BG1_Y movs r0, 0 strh r0, [r1] ldr r0, _080E0300 @ =gTasks @@ -4153,18 +4153,18 @@ _080E02D0: adds r1, r6 lsls r1, 3 adds r1, r0 - ldr r0, _080E02F0 @ =gUnknown_2022978 + ldr r0, _080E02F0 @ =gBattle_BG1_X ldrh r0, [r0] strh r0, [r1, 0x1C] - ldr r0, _080E02FC @ =gUnknown_202297A + ldr r0, _080E02FC @ =gBattle_BG1_Y ldrh r0, [r0] strh r0, [r1, 0x1E] b _080E0384 .align 2, 0 -_080E02F0: .4byte gUnknown_2022978 +_080E02F0: .4byte gBattle_BG1_X _080E02F4: .4byte 0x0000ff79 _080E02F8: .4byte 0x0000fff6 -_080E02FC: .4byte gUnknown_202297A +_080E02FC: .4byte gBattle_BG1_Y _080E0300: .4byte gTasks _080E0304: ldr r1, _080E0338 @ =gTasks @@ -4181,7 +4181,7 @@ _080E0304: lsrs r0, 24 cmp r0, 0x1 bne _080E0348 - ldr r2, _080E0340 @ =gUnknown_2022978 + ldr r2, _080E0340 @ =gBattle_BG1_X ldr r1, _080E0344 @ =gUnknown_83FF284 movs r3, 0xC ldrsh r0, [r5, r3] @@ -4195,10 +4195,10 @@ _080E0304: .align 2, 0 _080E0338: .4byte gTasks _080E033C: .4byte gUnknown_2037F1B -_080E0340: .4byte gUnknown_2022978 +_080E0340: .4byte gBattle_BG1_X _080E0344: .4byte gUnknown_83FF284 _080E0348: - ldr r2, _080E0378 @ =gUnknown_2022978 + ldr r2, _080E0378 @ =gBattle_BG1_X ldr r1, _080E037C @ =gUnknown_83FF284 movs r3, 0xC ldrsh r0, [r5, r3] @@ -4223,7 +4223,7 @@ _080E035A: strh r0, [r1, 0x8] b _080E0476 .align 2, 0 -_080E0378: .4byte gUnknown_2022978 +_080E0378: .4byte gBattle_BG1_X _080E037C: .4byte gUnknown_83FF284 _080E0380: .4byte gTasks _080E0384: @@ -4332,10 +4332,10 @@ _080E044C: movs r1, 0x4 movs r2, 0x1 bl SetAnimBgAttribute - ldr r0, _080E0480 @ =gUnknown_2022978 + ldr r0, _080E0480 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080E0484 @ =gUnknown_202297A + ldr r0, _080E0484 @ =gBattle_BG1_Y strh r1, [r0] movs r0, 0x50 movs r1, 0 @@ -4351,8 +4351,8 @@ _080E0476: pop {r0} bx r0 .align 2, 0 -_080E0480: .4byte gUnknown_2022978 -_080E0484: .4byte gUnknown_202297A +_080E0480: .4byte gBattle_BG1_X +_080E0484: .4byte gBattle_BG1_Y thumb_func_end sub_80E017C thumb_func_start sub_80E0488 @@ -6291,31 +6291,31 @@ _080E136C: ldr r1, _080E13B0 @ =0x00003f42 movs r0, 0x50 bl SetGpuReg - ldr r0, _080E13B4 @ =gUnknown_2022978 + ldr r0, _080E13B4 @ =gBattle_BG1_X ldrh r5, [r0] - ldr r0, _080E13B8 @ =gUnknown_202297A + ldr r0, _080E13B8 @ =gBattle_BG1_Y b _080E13CE .align 2, 0 _080E13A4: .4byte gUnknown_2037F1B _080E13A8: .4byte gUnknown_2037F02 _080E13AC: .4byte 0x04000014 _080E13B0: .4byte 0x00003f42 -_080E13B4: .4byte gUnknown_2022978 -_080E13B8: .4byte gUnknown_202297A +_080E13B4: .4byte gBattle_BG1_X +_080E13B8: .4byte gBattle_BG1_Y _080E13BC: ldr r0, _080E1434 @ =0x04000018 str r0, [sp] ldr r1, _080E1438 @ =0x00003f44 movs r0, 0x50 bl SetGpuReg - ldr r0, _080E143C @ =gUnknown_202297C + ldr r0, _080E143C @ =gBattle_BG2_X ldrh r5, [r0] - ldr r0, _080E1440 @ =gUnknown_202297E + ldr r0, _080E1440 @ =gBattle_BG2_Y _080E13CE: ldrh r3, [r0] movs r7, 0 movs r2, 0 - ldr r6, _080E1444 @ =gUnknown_2038700 + ldr r6, _080E1444 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r0, r6 @@ -6356,7 +6356,7 @@ _080E13DE: ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams ldr r0, _080E144C @ =sub_80E1450 str r0, [r4] add sp, 0xC @@ -6366,9 +6366,9 @@ _080E13DE: .align 2, 0 _080E1434: .4byte 0x04000018 _080E1438: .4byte 0x00003f44 -_080E143C: .4byte gUnknown_202297C -_080E1440: .4byte gUnknown_202297E -_080E1444: .4byte gUnknown_2038700 +_080E143C: .4byte gBattle_BG2_X +_080E1440: .4byte gBattle_BG2_Y +_080E1444: .4byte gScanlineEffectRegBuffers _080E1448: .4byte 0xa6600001 _080E144C: .4byte sub_80E1450 thumb_func_end sub_80E12F8 @@ -6394,20 +6394,20 @@ sub_80E1450: @ 80E1450 lsrs r0, 24 cmp r0, 0x1 bne _080E1490 - ldr r0, _080E1488 @ =gUnknown_2022978 + ldr r0, _080E1488 @ =gBattle_BG1_X ldrh r0, [r0] str r0, [sp, 0x4] - ldr r0, _080E148C @ =gUnknown_202297A + ldr r0, _080E148C @ =gBattle_BG1_Y b _080E1498 .align 2, 0 _080E1484: .4byte gTasks -_080E1488: .4byte gUnknown_2022978 -_080E148C: .4byte gUnknown_202297A +_080E1488: .4byte gBattle_BG1_X +_080E148C: .4byte gBattle_BG1_Y _080E1490: - ldr r0, _080E14B0 @ =gUnknown_202297C + ldr r0, _080E14B0 @ =gBattle_BG2_X ldrh r0, [r0] str r0, [sp, 0x4] - ldr r0, _080E14B4 @ =gUnknown_202297E + ldr r0, _080E14B4 @ =gBattle_BG2_Y _080E1498: ldrh r0, [r0] str r0, [sp, 0x8] @@ -6423,8 +6423,8 @@ _080E14A6: beq _080E14C6 b _080E16F4 .align 2, 0 -_080E14B0: .4byte gUnknown_202297C -_080E14B4: .4byte gUnknown_202297E +_080E14B0: .4byte gBattle_BG2_X +_080E14B4: .4byte gBattle_BG2_Y _080E14B8: cmp r0, 0x2 bne _080E14BE @@ -6480,7 +6480,7 @@ _080E14C6: ldrsh r0, [r6, r3] cmp r1, r0 ble _080E15E6 - ldr r0, _080E163C @ =gUnknown_2039600 + ldr r0, _080E163C @ =gScanlineEffect mov r10, r0 ldr r1, [sp, 0x4] lsls r0, r1, 16 @@ -6501,7 +6501,7 @@ _080E1536: subs r0, r1 lsls r0, 7 adds r2, r0 - ldr r0, _080E1640 @ =gUnknown_2038700 + ldr r0, _080E1640 @ =gScanlineEffectRegBuffers adds r2, r0 lsls r4, 16 asrs r4, 16 @@ -6519,7 +6519,7 @@ _080E1536: subs r0, r1 lsls r0, 7 adds r3, r0 - ldr r1, _080E1640 @ =gUnknown_2038700 + ldr r1, _080E1640 @ =gScanlineEffectRegBuffers adds r3, r1 lsls r1, r7, 16 asrs r1, 16 @@ -6529,7 +6529,7 @@ _080E1536: lsls r2, r7, 16 asrs r2, 16 lsls r0, r2, 1 - ldr r7, _080E1644 @ =gUnknown_825E074 + ldr r7, _080E1644 @ =gSineTable adds r0, r7 ldrh r0, [r0] lsls r0, 16 @@ -6583,7 +6583,7 @@ _080E15E6: lsls r1, r2, 17 cmp r1, 0 blt _080E1612 - ldr r4, _080E1640 @ =gUnknown_2038700 + ldr r4, _080E1640 @ =gScanlineEffectRegBuffers ldr r7, [sp, 0x4] lsls r0, r7, 16 asrs r0, 16 @@ -6625,9 +6625,9 @@ _080E1612: strh r0, [r6, 0xE] b _080E1652 .align 2, 0 -_080E163C: .4byte gUnknown_2039600 -_080E1640: .4byte gUnknown_2038700 -_080E1644: .4byte gUnknown_825E074 +_080E163C: .4byte gScanlineEffect +_080E1640: .4byte gScanlineEffectRegBuffers +_080E1644: .4byte gSineTable _080E1648: .4byte 0xffff0000 _080E164C: ldrh r0, [r6, 0x10] @@ -6667,14 +6667,14 @@ _080E1684: asrs r0, 16 cmp r0, 0xC ble _080E16F4 - ldr r1, _080E16A0 @ =gUnknown_2039600 + ldr r1, _080E16A0 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] movs r0, 0 strh r0, [r6, 0xC] b _080E16E6 .align 2, 0 -_080E16A0: .4byte gUnknown_2039600 +_080E16A0: .4byte gScanlineEffect _080E16A4: ldrh r0, [r6, 0xC] adds r0, 0x1 @@ -9427,7 +9427,7 @@ _080E2B80: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r3, _080E2BBC @ =gUnknown_825E074 + ldr r3, _080E2BBC @ =gSineTable movs r0, 0x30 ldrsh r1, [r4, r0] lsls r0, r1, 2 @@ -9448,7 +9448,7 @@ _080E2B80: _080E2BB8: b _080E2CAE .align 2, 0 -_080E2BBC: .4byte gUnknown_825E074 +_080E2BBC: .4byte gSineTable _080E2BC0: ldrh r0, [r4, 0x30] adds r0, 0x1 @@ -9471,7 +9471,7 @@ _080E2BD2: ldrh r0, [r4, 0x22] subs r0, r1 strh r0, [r4, 0x22] - ldr r3, _080E2C0C @ =gUnknown_825E074 + ldr r3, _080E2C0C @ =gSineTable movs r0, 0x30 ldrsh r1, [r4, r0] lsls r0, r1, 2 @@ -9490,7 +9490,7 @@ _080E2BD2: bne _080E2CDC b _080E2CB2 .align 2, 0 -_080E2C0C: .4byte gUnknown_825E074 +_080E2C0C: .4byte gSineTable _080E2C10: ldrh r2, [r4, 0x30] adds r2, 0x1 @@ -9502,7 +9502,7 @@ _080E2C10: ldrh r1, [r4, 0x22] adds r0, r1 strh r0, [r4, 0x22] - ldr r3, _080E2C68 @ =gUnknown_825E074 + ldr r3, _080E2C68 @ =gSineTable movs r0, 0x30 ldrsh r1, [r4, r0] lsls r0, r1, 2 @@ -9537,7 +9537,7 @@ _080E2C5C: bne _080E2CDC b _080E2CAE .align 2, 0 -_080E2C68: .4byte gUnknown_825E074 +_080E2C68: .4byte gSineTable _080E2C6C: .4byte 0x000003ff _080E2C70: .4byte 0xfffffc00 _080E2C74: @@ -10738,7 +10738,7 @@ _080E3588: adds r1, 0x4 movs r5, 0 strh r1, [r4, 0x30] - ldr r2, _080E35C4 @ =gUnknown_825E074 + ldr r2, _080E35C4 @ =gSineTable movs r3, 0x30 ldrsh r0, [r4, r3] lsls r0, 1 @@ -10763,13 +10763,13 @@ _080E3588: strh r5, [r4, 0x26] b _080E361C .align 2, 0 -_080E35C4: .4byte gUnknown_825E074 +_080E35C4: .4byte gSineTable _080E35C8: ldrh r1, [r4, 0x30] adds r1, 0x6 movs r3, 0 strh r1, [r4, 0x30] - ldr r2, _080E35F4 @ =gUnknown_825E074 + ldr r2, _080E35F4 @ =gSineTable movs r5, 0x30 ldrsh r0, [r4, r5] lsls r0, 1 @@ -10787,7 +10787,7 @@ _080E35C8: strh r3, [r4, 0x26] b _080E361C .align 2, 0 -_080E35F4: .4byte gUnknown_825E074 +_080E35F4: .4byte gSineTable _080E35F8: ldrh r0, [r4, 0x30] adds r0, 0x1 @@ -12322,7 +12322,7 @@ _080E4206: adds r1, r0 lsls r1, 2 adds r1, r5 - ldr r3, _080E427C @ =gUnknown_825E074 + ldr r3, _080E427C @ =gSineTable movs r6, 0x1E ldrsh r0, [r4, r6] lsls r0, 1 @@ -12368,7 +12368,7 @@ _080E4206: b _080E42C0 .align 2, 0 _080E4278: .4byte gSprites -_080E427C: .4byte gUnknown_825E074 +_080E427C: .4byte gSineTable _080E4280: ldrh r0, [r4, 0x1E] adds r0, 0x8 @@ -12382,7 +12382,7 @@ _080E4280: adds r1, r0 lsls r1, 2 adds r1, r3 - ldr r2, _080E42CC @ =gUnknown_825E074 + ldr r2, _080E42CC @ =gSineTable movs r5, 0x1E ldrsh r0, [r4, r5] lsls r0, 1 @@ -12409,7 +12409,7 @@ _080E42C0: b _080E42D6 .align 2, 0 _080E42C8: .4byte gSprites -_080E42CC: .4byte gUnknown_825E074 +_080E42CC: .4byte gSineTable _080E42D0: adds r0, r2, 0 bl DestroyAnimVisualTask diff --git a/asm/battle_anim_80EEC0C.s b/asm/battle_anim_80EEC0C.s index 82179f2e0..dbcc63093 100644 --- a/asm/battle_anim_80EEC0C.s +++ b/asm/battle_anim_80EEC0C.s @@ -168,12 +168,12 @@ sub_80EEC0C: @ 80EEC0C lsls r1, 4 movs r2, 0x20 bl LoadCompressedPalette - ldr r1, _080EEDE4 @ =gUnknown_2022978 + ldr r1, _080EEDE4 @ =gBattle_BG1_X ldrh r0, [r7, 0x20] negs r0, r0 adds r0, 0x20 strh r0, [r1] - ldr r1, _080EEDE8 @ =gUnknown_202297A + ldr r1, _080EEDE8 @ =gBattle_BG1_Y ldrh r0, [r7, 0x22] negs r0, r0 subs r0, 0x20 @@ -215,8 +215,8 @@ _080EEDD4: .4byte SpriteCallbackDummy _080EEDD8: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_tilemap _080EEDDC: .4byte gFile_graphics_battle_anims_masks_unknown_D2EC24_sheet _080EEDE0: .4byte gFile_graphics_battle_anims_masks_cure_bubbles_palette -_080EEDE4: .4byte gUnknown_2022978 -_080EEDE8: .4byte gUnknown_202297A +_080EEDE4: .4byte gBattle_BG1_X +_080EEDE8: .4byte gBattle_BG1_Y _080EEDEC: .4byte gTasks _080EEDF0: .4byte sub_80EEDF4 thumb_func_end sub_80EEC0C @@ -241,7 +241,7 @@ sub_80EEDF4: @ 80EEDF4 adds r1, r0 movs r3, 0 strh r1, [r5, 0x22] - ldr r2, _080EEE44 @ =gUnknown_202297A + ldr r2, _080EEE44 @ =gBattle_BG1_Y lsls r0, r1, 16 lsrs r0, 24 ldrh r4, [r2] @@ -262,7 +262,7 @@ sub_80EEDF4: @ 80EEDF4 .align 2, 0 _080EEE3C: .4byte gUnknown_2037F1A _080EEE40: .4byte gTasks -_080EEE44: .4byte gUnknown_202297A +_080EEE44: .4byte gBattle_BG1_Y _080EEE48: cmp r0, 0x2 beq _080EEE9C diff --git a/asm/battle_controller_link_opponent.s b/asm/battle_controller_link_opponent.s index d5a9b8ae6..e2c52a592 100644 --- a/asm/battle_controller_link_opponent.s +++ b/asm/battle_controller_link_opponent.s @@ -4952,10 +4952,10 @@ _0803CF40: thumb_func_start sub_803CF50 sub_803CF50: @ 803CF50 push {r4,lr} - ldr r0, _0803CF84 @ =gUnknown_2022974 + ldr r0, _0803CF84 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _0803CF88 @ =gUnknown_2022976 + ldr r0, _0803CF88 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _0803CF8C @ =gActiveBattler ldrb r4, [r0] @@ -4974,8 +4974,8 @@ sub_803CF50: @ 803CF50 bl sub_80D87BC b _0803CFA0 .align 2, 0 -_0803CF84: .4byte gUnknown_2022974 -_0803CF88: .4byte gUnknown_2022976 +_0803CF84: .4byte gBattle_BG0_X +_0803CF88: .4byte gBattle_BG0_Y _0803CF8C: .4byte gActiveBattler _0803CF90: .4byte gUnknown_2022BC6 _0803CF94: .4byte gDisplayedStringBattle diff --git a/asm/battle_controller_link_partner.s b/asm/battle_controller_link_partner.s index 7480e8b12..0087859c4 100644 --- a/asm/battle_controller_link_partner.s +++ b/asm/battle_controller_link_partner.s @@ -4573,10 +4573,10 @@ _080D67BC: thumb_func_start sub_80D67CC sub_80D67CC: @ 80D67CC push {r4,lr} - ldr r0, _080D6800 @ =gUnknown_2022974 + ldr r0, _080D6800 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080D6804 @ =gUnknown_2022976 + ldr r0, _080D6804 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _080D6808 @ =gActiveBattler ldrb r4, [r0] @@ -4595,8 +4595,8 @@ sub_80D67CC: @ 80D67CC bl sub_80D87BC b _080D681C .align 2, 0 -_080D6800: .4byte gUnknown_2022974 -_080D6804: .4byte gUnknown_2022976 +_080D6800: .4byte gBattle_BG0_X +_080D6804: .4byte gBattle_BG0_Y _080D6808: .4byte gActiveBattler _080D680C: .4byte gUnknown_2022BC6 _080D6810: .4byte gDisplayedStringBattle diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s index 91931bb63..7ccd33f5d 100644 --- a/asm/battle_controller_oak.s +++ b/asm/battle_controller_oak.s @@ -5776,10 +5776,10 @@ _080EA520: thumb_func_start sub_80EA52C sub_80EA52C: @ 80EA52C push {r4,lr} - ldr r0, _080EA55C @ =gUnknown_2022974 + ldr r0, _080EA55C @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080EA560 @ =gUnknown_2022976 + ldr r0, _080EA560 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _080EA564 @ =gActiveBattler ldrb r0, [r0] @@ -5799,8 +5799,8 @@ sub_80EA52C: @ 80EA52C bl WallyBufferExecCompleted b _080EA65A .align 2, 0 -_080EA55C: .4byte gUnknown_2022974 -_080EA560: .4byte gUnknown_2022976 +_080EA55C: .4byte gBattle_BG0_X +_080EA560: .4byte gBattle_BG0_Y _080EA564: .4byte gActiveBattler _080EA568: .4byte gUnknown_2022BC6 _080EA56C: .4byte gBattleTypeFlags @@ -5951,9 +5951,9 @@ sub_80EA690: @ 80EA690 lsrs r1, r0, 24 cmp r1, 0 bne _080EA6EA - ldr r0, _080EA6C4 @ =gUnknown_2022974 + ldr r0, _080EA6C4 @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _080EA6C8 @ =gUnknown_2022976 + ldr r1, _080EA6C8 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] ldr r0, _080EA6CC @ =gBattleTypeFlags @@ -5970,8 +5970,8 @@ sub_80EA690: @ 80EA690 ldr r1, _080EA6D8 @ =sub_80E763C b _080EA6E8 .align 2, 0 -_080EA6C4: .4byte gUnknown_2022974 -_080EA6C8: .4byte gUnknown_2022976 +_080EA6C4: .4byte gBattle_BG0_X +_080EA6C8: .4byte gBattle_BG0_Y _080EA6CC: .4byte gBattleTypeFlags _080EA6D0: .4byte gUnknown_3004FE0 _080EA6D4: .4byte gActiveBattler @@ -6074,9 +6074,9 @@ sub_80EA798: @ 80EA798 lsrs r1, r0, 24 cmp r1, 0 bne _080EA7C2 - ldr r0, _080EA7C8 @ =gUnknown_2022974 + ldr r0, _080EA7C8 @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _080EA7CC @ =gUnknown_2022976 + ldr r1, _080EA7CC @ =gBattle_BG0_Y movs r2, 0xA0 lsls r2, 1 adds r0, r2, 0 @@ -6092,8 +6092,8 @@ _080EA7C2: pop {r0} bx r0 .align 2, 0 -_080EA7C8: .4byte gUnknown_2022974 -_080EA7CC: .4byte gUnknown_2022976 +_080EA7C8: .4byte gBattle_BG0_X +_080EA7CC: .4byte gBattle_BG0_Y _080EA7D0: .4byte gUnknown_3004FE0 _080EA7D4: .4byte gActiveBattler _080EA7D8: .4byte sub_80E7988 diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s index 0405efdf1..12185d562 100644 --- a/asm/battle_controller_opponent.s +++ b/asm/battle_controller_opponent.s @@ -5113,10 +5113,10 @@ _080384AC: thumb_func_start sub_80384BC sub_80384BC: @ 80384BC push {r4,lr} - ldr r0, _080384F0 @ =gUnknown_2022974 + ldr r0, _080384F0 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080384F4 @ =gUnknown_2022976 + ldr r0, _080384F4 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _080384F8 @ =gActiveBattler ldrb r0, [r0] @@ -5135,8 +5135,8 @@ sub_80384BC: @ 80384BC bl sub_80D87BC b _0803850C .align 2, 0 -_080384F0: .4byte gUnknown_2022974 -_080384F4: .4byte gUnknown_2022976 +_080384F0: .4byte gBattle_BG0_X +_080384F4: .4byte gBattle_BG0_Y _080384F8: .4byte gActiveBattler _080384FC: .4byte gUnknown_2022BC6 _08038500: .4byte gDisplayedStringBattle diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s index d83245653..9a2ef0f7d 100644 --- a/asm/battle_controller_player.s +++ b/asm/battle_controller_player.s @@ -1354,10 +1354,10 @@ _0802EDF6: beq _0802EE18 movs r0, 0x5 bl PlaySE - ldr r1, _0802EF44 @ =gUnknown_2022974 + ldr r1, _0802EF44 @ =gBattle_BG0_X movs r0, 0 strh r0, [r1] - ldr r1, _0802EF48 @ =gUnknown_2022976 + ldr r1, _0802EF48 @ =gBattle_BG0_Y movs r2, 0xA0 lsls r2, 1 adds r0, r2, 0 @@ -1505,8 +1505,8 @@ _0802EF36: bx r1 .align 2, 0 _0802EF40: .4byte gMain -_0802EF44: .4byte gUnknown_2022974 -_0802EF48: .4byte gUnknown_2022976 +_0802EF44: .4byte gBattle_BG0_X +_0802EF48: .4byte gBattle_BG0_Y _0802EF4C: .4byte gUnknown_2023FFC _0802EF50: .4byte gActiveBattler _0802EF54: .4byte gUnknown_3004FF8 @@ -4051,19 +4051,19 @@ _08030428: bne _0803051C cmp r6, 0 bne _0803044C - ldr r1, _08030444 @ =gUnknown_2022978 + ldr r1, _08030444 @ =gBattle_BG1_X ldrh r0, [r1] strh r0, [r5, 0x1C] - ldr r2, _08030448 @ =gUnknown_202297A + ldr r2, _08030448 @ =gBattle_BG1_Y b _08030454 .align 2, 0 -_08030444: .4byte gUnknown_2022978 -_08030448: .4byte gUnknown_202297A +_08030444: .4byte gBattle_BG1_X +_08030448: .4byte gBattle_BG1_Y _0803044C: - ldr r1, _08030474 @ =gUnknown_202297C + ldr r1, _08030474 @ =gBattle_BG2_X ldrh r0, [r1] strh r0, [r5, 0x1C] - ldr r2, _08030478 @ =gUnknown_202297E + ldr r2, _08030478 @ =gBattle_BG2_Y _08030454: ldrh r0, [r2] strh r0, [r5, 0x1A] @@ -4081,8 +4081,8 @@ _08030454: strh r0, [r2] b _080304E0 .align 2, 0 -_08030474: .4byte gUnknown_202297C -_08030478: .4byte gUnknown_202297E +_08030474: .4byte gBattle_BG2_X +_08030478: .4byte gBattle_BG2_Y _0803047C: adds r0, r7, 0 adds r1, r6, 0 @@ -4138,19 +4138,19 @@ _080304E0: _080304E8: cmp r6, 0 bne _08030500 - ldr r1, _080304F8 @ =gUnknown_2022978 + ldr r1, _080304F8 @ =gBattle_BG1_X ldrh r0, [r5, 0x1C] strh r0, [r1] - ldr r1, _080304FC @ =gUnknown_202297A + ldr r1, _080304FC @ =gBattle_BG1_Y b _08030508 .align 2, 0 -_080304F8: .4byte gUnknown_2022978 -_080304FC: .4byte gUnknown_202297A +_080304F8: .4byte gBattle_BG1_X +_080304FC: .4byte gBattle_BG1_Y _08030500: - ldr r1, _08030528 @ =gUnknown_202297C + ldr r1, _08030528 @ =gBattle_BG2_X ldrh r0, [r5, 0x1C] strh r0, [r1] - ldr r1, _0803052C @ =gUnknown_202297E + ldr r1, _0803052C @ =gBattle_BG2_Y _08030508: ldrh r0, [r5, 0x1A] strh r0, [r1] @@ -4169,8 +4169,8 @@ _0803051C: pop {r0} bx r0 .align 2, 0 -_08030528: .4byte gUnknown_202297C -_0803052C: .4byte gUnknown_202297E +_08030528: .4byte gBattle_BG2_X +_0803052C: .4byte gBattle_BG2_Y _08030530: .4byte gUnknown_3004FE0 _08030534: .4byte sub_802FE94 thumb_func_end sub_80303A8 @@ -4964,10 +4964,10 @@ PrintLinkStandbyMsg: @ 8030B5C ands r0, r1 cmp r0, 0 beq _08030B7C - ldr r0, _08030B84 @ =gUnknown_2022974 + ldr r0, _08030B84 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08030B88 @ =gUnknown_2022976 + ldr r0, _08030B88 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _08030B8C @ =gUnknown_83FE714 movs r1, 0 @@ -4977,8 +4977,8 @@ _08030B7C: bx r0 .align 2, 0 _08030B80: .4byte gBattleTypeFlags -_08030B84: .4byte gUnknown_2022974 -_08030B88: .4byte gUnknown_2022976 +_08030B84: .4byte gBattle_BG0_X +_08030B88: .4byte gBattle_BG0_Y _08030B8C: .4byte gUnknown_83FE714 thumb_func_end PrintLinkStandbyMsg @@ -8747,10 +8747,10 @@ _08032AEC: thumb_func_start sub_8032AFC sub_8032AFC: @ 8032AFC push {r4,lr} - ldr r0, _08032B30 @ =gUnknown_2022974 + ldr r0, _08032B30 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08032B34 @ =gUnknown_2022976 + ldr r0, _08032B34 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _08032B38 @ =gActiveBattler ldrb r4, [r0] @@ -8769,8 +8769,8 @@ sub_8032AFC: @ 8032AFC bl sub_80D87BC b _08032B4C .align 2, 0 -_08032B30: .4byte gUnknown_2022974 -_08032B34: .4byte gUnknown_2022976 +_08032B30: .4byte gBattle_BG0_X +_08032B34: .4byte gBattle_BG0_Y _08032B38: .4byte gActiveBattler _08032B3C: .4byte gUnknown_2022BC6 _08032B40: .4byte gDisplayedStringBattle @@ -8824,9 +8824,9 @@ sub_8032B94: @ 8032B94 lsrs r1, r0, 24 cmp r1, 0 bne _08032BBA - ldr r0, _08032BC0 @ =gUnknown_2022974 + ldr r0, _08032BC0 @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _08032BC4 @ =gUnknown_2022976 + ldr r1, _08032BC4 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] ldr r1, _08032BC8 @ =gUnknown_3004FE0 @@ -8840,8 +8840,8 @@ _08032BBA: pop {r0} bx r0 .align 2, 0 -_08032BC0: .4byte gUnknown_2022974 -_08032BC4: .4byte gUnknown_2022976 +_08032BC0: .4byte gBattle_BG0_X +_08032BC4: .4byte gBattle_BG0_Y _08032BC8: .4byte gUnknown_3004FE0 _08032BCC: .4byte gActiveBattler _08032BD0: .4byte sub_802E438 @@ -8910,9 +8910,9 @@ sub_8032C4C: @ 8032C4C lsrs r1, r0, 24 cmp r1, 0 bne _08032C76 - ldr r0, _08032C7C @ =gUnknown_2022974 + ldr r0, _08032C7C @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _08032C80 @ =gUnknown_2022976 + ldr r1, _08032C80 @ =gBattle_BG0_Y movs r2, 0xA0 lsls r2, 1 adds r0, r2, 0 @@ -8928,8 +8928,8 @@ _08032C76: pop {r0} bx r0 .align 2, 0 -_08032C7C: .4byte gUnknown_2022974 -_08032C80: .4byte gUnknown_2022976 +_08032C7C: .4byte gBattle_BG0_X +_08032C80: .4byte gBattle_BG0_Y _08032C84: .4byte gUnknown_3004FE0 _08032C88: .4byte gActiveBattler _08032C8C: .4byte sub_802EA10 diff --git a/asm/battle_controller_pokedude.s b/asm/battle_controller_pokedude.s index 58fad294a..957a6f658 100644 --- a/asm/battle_controller_pokedude.s +++ b/asm/battle_controller_pokedude.s @@ -5055,10 +5055,10 @@ _08158A7C: thumb_func_start sub_8158A88 sub_8158A88: @ 8158A88 push {r4,lr} - ldr r0, _08158ABC @ =gUnknown_2022974 + ldr r0, _08158ABC @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _08158AC0 @ =gUnknown_2022976 + ldr r0, _08158AC0 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _08158AC4 @ =gActiveBattler ldrb r4, [r0] @@ -5077,8 +5077,8 @@ sub_8158A88: @ 8158A88 bl sub_80D87BC b _08158AD8 .align 2, 0 -_08158ABC: .4byte gUnknown_2022974 -_08158AC0: .4byte gUnknown_2022976 +_08158ABC: .4byte gBattle_BG0_X +_08158AC0: .4byte gBattle_BG0_Y _08158AC4: .4byte gActiveBattler _08158AC8: .4byte gUnknown_2022BC6 _08158ACC: .4byte gDisplayedStringBattle @@ -5132,9 +5132,9 @@ sub_8158B20: @ 8158B20 lsrs r1, r0, 24 cmp r1, 0 bne _08158B46 - ldr r0, _08158B4C @ =gUnknown_2022974 + ldr r0, _08158B4C @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _08158B50 @ =gUnknown_2022976 + ldr r1, _08158B50 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] ldr r1, _08158B54 @ =gUnknown_3004FE0 @@ -5148,8 +5148,8 @@ _08158B46: pop {r0} bx r0 .align 2, 0 -_08158B4C: .4byte gUnknown_2022974 -_08158B50: .4byte gUnknown_2022976 +_08158B4C: .4byte gBattle_BG0_X +_08158B50: .4byte gBattle_BG0_Y _08158B54: .4byte gUnknown_3004FE0 _08158B58: .4byte gActiveBattler _08158B5C: .4byte sub_8156140 @@ -5238,9 +5238,9 @@ sub_8158C04: @ 8158C04 lsrs r1, r0, 24 cmp r1, 0 bne _08158C2E - ldr r0, _08158C34 @ =gUnknown_2022974 + ldr r0, _08158C34 @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _08158C38 @ =gUnknown_2022976 + ldr r1, _08158C38 @ =gBattle_BG0_Y movs r2, 0xA0 lsls r2, 1 adds r0, r2, 0 @@ -5256,8 +5256,8 @@ _08158C2E: pop {r0} bx r0 .align 2, 0 -_08158C34: .4byte gUnknown_2022974 -_08158C38: .4byte gUnknown_2022976 +_08158C34: .4byte gBattle_BG0_X +_08158C38: .4byte gBattle_BG0_Y _08158C3C: .4byte gUnknown_3004FE0 _08158C40: .4byte gActiveBattler _08158C44: .4byte sub_81564E4 @@ -7250,7 +7250,7 @@ _08159C14: lsls r0, 2 adds r0, r5 ldr r1, [r0] - ldr r0, _08159C40 @ =gUnknown_2022976 + ldr r0, _08159C40 @ =gBattle_BG0_Y ldrh r0, [r0] strb r0, [r1, 0x4] bl sub_80EB30C @@ -7260,9 +7260,9 @@ _08159C14: b _08159C9E .align 2, 0 _08159C3C: .4byte gPaletteFade -_08159C40: .4byte gUnknown_2022976 +_08159C40: .4byte gBattle_BG0_Y _08159C44: - ldr r1, _08159C5C @ =gUnknown_2022976 + ldr r1, _08159C5C @ =gBattle_BG0_Y movs r0, 0 strh r0, [r1] bl sub_8159EF0 @@ -7272,7 +7272,7 @@ _08159C44: bl sub_80D87BC b _08159C94 .align 2, 0 -_08159C5C: .4byte gUnknown_2022976 +_08159C5C: .4byte gBattle_BG0_Y _08159C60: .4byte gDisplayedStringBattle _08159C64: movs r0, 0x18 @@ -7331,7 +7331,7 @@ _08159CB4: ldr r0, _08159CFC @ =0x00000137 bl PlayBGM _08159CD8: - ldr r1, _08159D00 @ =gUnknown_2022976 + ldr r1, _08159D00 @ =gBattle_BG0_Y ldrb r0, [r4] lsls r0, 2 adds r0, r5 @@ -7348,7 +7348,7 @@ _08159CEE: .align 2, 0 _08159CF8: .4byte gPaletteFade _08159CFC: .4byte 0x00000137 -_08159D00: .4byte gUnknown_2022976 +_08159D00: .4byte gBattle_BG0_Y thumb_func_end sub_8159BA8 thumb_func_start sub_8159D04 diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s index 405d4c45b..e8edcb7fd 100644 --- a/asm/battle_controller_safari.s +++ b/asm/battle_controller_safari.s @@ -849,10 +849,10 @@ sub_80DDB94: @ 80DDB94 thumb_func_start sub_80DDBA0 sub_80DDBA0: @ 80DDBA0 push {r4,lr} - ldr r0, _080DDBD4 @ =gUnknown_2022974 + ldr r0, _080DDBD4 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080DDBD8 @ =gUnknown_2022976 + ldr r0, _080DDBD8 @ =gBattle_BG0_Y strh r1, [r0] ldr r0, _080DDBDC @ =gActiveBattler ldrb r4, [r0] @@ -871,8 +871,8 @@ sub_80DDBA0: @ 80DDBA0 bl sub_80D87BC b _080DDBF0 .align 2, 0 -_080DDBD4: .4byte gUnknown_2022974 -_080DDBD8: .4byte gUnknown_2022976 +_080DDBD4: .4byte gBattle_BG0_X +_080DDBD8: .4byte gBattle_BG0_Y _080DDBDC: .4byte gActiveBattler _080DDBE0: .4byte gUnknown_2022BC6 _080DDBE4: .4byte gDisplayedStringBattle @@ -926,9 +926,9 @@ sub_80DDC38: @ 80DDC38 lsrs r1, r0, 24 cmp r1, 0 bne _080DDC5E - ldr r0, _080DDC64 @ =gUnknown_2022974 + ldr r0, _080DDC64 @ =gBattle_BG0_X strh r1, [r0] - ldr r1, _080DDC68 @ =gUnknown_2022976 + ldr r1, _080DDC68 @ =gBattle_BG0_Y movs r0, 0xA0 strh r0, [r1] ldr r1, _080DDC6C @ =gUnknown_3004FE0 @@ -942,8 +942,8 @@ _080DDC5E: pop {r0} bx r0 .align 2, 0 -_080DDC64: .4byte gUnknown_2022974 -_080DDC68: .4byte gUnknown_2022976 +_080DDC64: .4byte gBattle_BG0_X +_080DDC68: .4byte gBattle_BG0_Y _080DDC6C: .4byte gUnknown_3004FE0 _080DDC70: .4byte gActiveBattler _080DDC74: .4byte HandleInputChooseAction_0 diff --git a/asm/battle_message.s b/asm/battle_message.s index 183306f97..9505d542b 100644 --- a/asm/battle_message.s +++ b/asm/battle_message.s @@ -2863,7 +2863,7 @@ _080D894A: movs r3, 0x1 b _080D8960 _080D8958: - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r3, r0, 24 _080D8960: diff --git a/asm/battle_records.s b/asm/battle_records.s index 392161676..c407a988a 100644 --- a/asm/battle_records.s +++ b/asm/battle_records.s @@ -471,7 +471,7 @@ _080CD604: .4byte 0x81000800 thumb_func_start sub_80CD608 sub_80CD608: @ 80CD608 push {lr} - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl dp13_810BB8C diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s index ed0e6cb50..b01533468 100644 --- a/asm/battle_script_commands.s +++ b/asm/battle_script_commands.s @@ -17358,7 +17358,7 @@ _08026244: .4byte _08026380 .4byte _080263C4 _0802626C: - ldr r1, _08026290 @ =gUnknown_202297E + ldr r1, _08026290 @ =gBattle_BG2_Y movs r0, 0x60 strh r0, [r1] movs r0, 0x2 @@ -17373,7 +17373,7 @@ _0802626C: strb r0, [r1, 0x1E] b _080263F6 .align 2, 0 -_08026290: .4byte gUnknown_202297E +_08026290: .4byte gBattle_BG2_Y _08026294: .4byte gBattleScripting _08026298: bl sub_80264D0 @@ -17389,10 +17389,10 @@ _080262A4: .align 2, 0 _080262AC: .4byte gBattleScripting _080262B0: - ldr r1, _080262F8 @ =gUnknown_2022978 + ldr r1, _080262F8 @ =gBattle_BG1_X movs r0, 0 strh r0, [r1] - ldr r1, _080262FC @ =gUnknown_202297A + ldr r1, _080262FC @ =gBattle_BG1_Y movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 @@ -17421,8 +17421,8 @@ _080262B0: strb r0, [r1, 0x1E] b _080263F6 .align 2, 0 -_080262F8: .4byte gUnknown_2022978 -_080262FC: .4byte gUnknown_202297A +_080262F8: .4byte gBattle_BG1_X +_080262FC: .4byte gBattle_BG1_Y _08026300: .4byte gBattleScripting _08026304: bl sub_8026404 @@ -17438,11 +17438,11 @@ _08026318: lsrs r1, r0, 24 cmp r1, 0 bne _080263F6 - ldr r0, _0802632C @ =gUnknown_202297A + ldr r0, _0802632C @ =gBattle_BG1_Y strh r1, [r0] b _0802636E .align 2, 0 -_0802632C: .4byte gUnknown_202297A +_0802632C: .4byte gBattle_BG1_Y _08026330: ldr r0, _0802634C @ =gMain ldrh r0, [r0, 0x2E] @@ -17601,10 +17601,10 @@ _0802647C: .4byte gPlayerParty thumb_func_start sub_8026480 sub_8026480: @ 8026480 push {lr} - ldr r1, _080264C0 @ =gUnknown_202297E + ldr r1, _080264C0 @ =gBattle_BG2_Y movs r0, 0 strh r0, [r1] - ldr r1, _080264C4 @ =gUnknown_202297C + ldr r1, _080264C4 @ =gBattle_BG2_X movs r2, 0xD0 lsls r2, 1 adds r0, r2, 0 @@ -17627,8 +17627,8 @@ sub_8026480: @ 8026480 pop {r0} bx r0 .align 2, 0 -_080264C0: .4byte gUnknown_202297E -_080264C4: .4byte gUnknown_202297C +_080264C0: .4byte gBattle_BG2_Y +_080264C4: .4byte gBattle_BG2_X _080264C8: .4byte gUnknown_82506D0 _080264CC: .4byte gUnknown_82506F0 thumb_func_end sub_8026480 @@ -17643,7 +17643,7 @@ sub_80264D0: @ 80264D0 movs r0, 0x1 b _0802651A _080264E0: - ldr r4, _080264F0 @ =gUnknown_202297C + ldr r4, _080264F0 @ =gBattle_BG2_X ldrh r1, [r4] movs r5, 0x80 lsls r5, 2 @@ -17652,7 +17652,7 @@ _080264E0: movs r0, 0 b _0802651A .align 2, 0 -_080264F0: .4byte gUnknown_202297C +_080264F0: .4byte gBattle_BG2_X _080264F4: movs r0, 0xD0 lsls r0, 1 @@ -17823,7 +17823,7 @@ _08026624: thumb_func_start sub_8026648 sub_8026648: @ 8026648 push {lr} - ldr r0, _0802665C @ =gUnknown_202297C + ldr r0, _0802665C @ =gBattle_BG2_X ldrh r1, [r0] movs r3, 0xD0 lsls r3, 1 @@ -17833,7 +17833,7 @@ sub_8026648: @ 8026648 movs r0, 0 b _08026684 .align 2, 0 -_0802665C: .4byte gUnknown_202297C +_0802665C: .4byte gBattle_BG2_X _08026660: ldrh r0, [r2] adds r1, r0, 0 @@ -17930,7 +17930,7 @@ PutMonIconOnLvlUpBox: @ 8026688 adds r1, r2 movs r0, 0 strh r0, [r1, 0x2E] - ldr r0, _08026750 @ =gUnknown_202297C + ldr r0, _08026750 @ =gBattle_BG2_X ldrh r0, [r0] strh r0, [r1, 0x30] add sp, 0x10 @@ -17948,14 +17948,14 @@ _08026740: .4byte 0xd75a0000 _08026744: .4byte 0x0000d75a _08026748: .4byte gUnknown_82507C8 _0802674C: .4byte gSprites -_08026750: .4byte gUnknown_202297C +_08026750: .4byte gBattle_BG2_X thumb_func_end PutMonIconOnLvlUpBox thumb_func_start SpriteCB_MonIconOnLvlUpBox SpriteCB_MonIconOnLvlUpBox: @ 8026754 push {r4,lr} adds r2, r0, 0 - ldr r0, _08026770 @ =gUnknown_202297C + ldr r0, _08026770 @ =gBattle_BG2_X ldrh r1, [r2, 0x30] ldrh r0, [r0] subs r1, r0 @@ -17967,7 +17967,7 @@ SpriteCB_MonIconOnLvlUpBox: @ 8026754 strh r0, [r2, 0x2E] b _08026790 .align 2, 0 -_08026770: .4byte gUnknown_202297C +_08026770: .4byte gBattle_BG2_X _08026774: movs r1, 0x2E ldrsh r0, [r2, r1] @@ -32507,14 +32507,14 @@ _0802DAC4: .4byte sub_80116F4 _0802DAC8: bl sub_800F34C bl LoadBattleTextboxAndBackground - ldr r1, _0802DADC @ =gUnknown_2022980 + ldr r1, _0802DADC @ =gBattle_BG3_X movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] b _0802DB34 .align 2, 0 -_0802DADC: .4byte gUnknown_2022980 +_0802DADC: .4byte gBattle_BG3_X _0802DAE0: bl IsDma3ManagerBusyWithBgCopy lsls r0, 24 diff --git a/asm/battle_transition.s b/asm/battle_transition.s index ae1c7fa08..195d67c8c 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -463,7 +463,7 @@ sub_80D0C0C: @ 80D0C0C sub sp, 0x8 adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear movs r0, 0x1 negs r0, r0 movs r4, 0 @@ -472,7 +472,7 @@ sub_80D0C0C: @ 80D0C0C movs r2, 0 movs r3, 0x10 bl BeginNormalPaletteFade - ldr r0, _080D0C68 @ =gUnknown_2038E80 + ldr r0, _080D0C68 @ =gScanlineEffectRegBuffers + 0x780 ldr r1, _080D0C6C @ =gUnknown_2039A2C ldr r1, [r1] movs r2, 0x14 @@ -498,7 +498,7 @@ sub_80D0C0C: @ 80D0C0C pop {r1} bx r1 .align 2, 0 -_080D0C68: .4byte gUnknown_2038E80 +_080D0C68: .4byte gScanlineEffectRegBuffers + 0x780 _080D0C6C: .4byte gUnknown_2039A2C _080D0C70: .4byte sub_80D0CF0 _080D0C74: .4byte sub_80D0D28 @@ -519,7 +519,7 @@ sub_80D0C78: @ 80D0C78 ldrh r1, [r0, 0xC] adds r1, 0x8 strh r1, [r0, 0xC] - ldr r3, _080D0CE4 @ =gUnknown_2038700 + ldr r3, _080D0CE4 @ =gScanlineEffectRegBuffers ldr r1, [r4] movs r2, 0x14 ldrsh r1, [r1, r2] @@ -557,7 +557,7 @@ _080D0CCA: bx r1 .align 2, 0 _080D0CE0: .4byte gUnknown_2039A2C -_080D0CE4: .4byte gUnknown_2038700 +_080D0CE4: .4byte gScanlineEffectRegBuffers _080D0CE8: .4byte gPaletteFade _080D0CEC: .4byte sub_80D0BD4 thumb_func_end sub_80D0C78 @@ -572,7 +572,7 @@ sub_80D0CF0: @ 80D0CF0 cmp r0, 0 beq _080D0D14 ldr r1, _080D0D1C @ =0x040000d4 - ldr r0, _080D0D20 @ =gUnknown_2038700 + ldr r0, _080D0D20 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -587,13 +587,13 @@ _080D0D14: .align 2, 0 _080D0D18: .4byte gUnknown_2039A2C _080D0D1C: .4byte 0x040000d4 -_080D0D20: .4byte gUnknown_2038700 +_080D0D20: .4byte gScanlineEffectRegBuffers _080D0D24: .4byte 0x800000a0 thumb_func_end sub_80D0CF0 thumb_func_start sub_80D0D28 sub_80D0D28: @ 80D0D28 - ldr r1, _080D0D48 @ =gUnknown_2038700 + ldr r1, _080D0D48 @ =gScanlineEffectRegBuffers ldr r0, _080D0D4C @ =0x04000006 ldrh r0, [r0] lsls r0, 1 @@ -610,7 +610,7 @@ sub_80D0D28: @ 80D0D28 strh r1, [r0] bx lr .align 2, 0 -_080D0D48: .4byte gUnknown_2038700 +_080D0D48: .4byte gScanlineEffectRegBuffers _080D0D4C: .4byte 0x04000006 _080D0D50: .4byte 0x04000014 thumb_func_end sub_80D0D28 @@ -651,7 +651,7 @@ sub_80D0D8C: @ 80D0D8C sub sp, 0x4 adds r4, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -662,7 +662,7 @@ sub_80D0D8C: @ 80D0D8C bl BeginNormalPaletteFade ldr r0, _080D0DE0 @ =gUnknown_2039A2C ldr r1, [r0] - ldr r0, _080D0DE4 @ =gUnknown_2038E80 + ldr r0, _080D0DE4 @ =gScanlineEffectRegBuffers + 0x780 movs r2, 0x16 ldrsh r1, [r1, r2] movs r2, 0xA0 @@ -684,7 +684,7 @@ sub_80D0D8C: @ 80D0D8C bx r1 .align 2, 0 _080D0DE0: .4byte gUnknown_2039A2C -_080D0DE4: .4byte gUnknown_2038E80 +_080D0DE4: .4byte gScanlineEffectRegBuffers + 0x780 _080D0DE8: .4byte sub_80D0E80 _080D0DEC: .4byte sub_80D0EB8 thumb_func_end sub_80D0D8C @@ -715,7 +715,7 @@ _080D0E18: lsrs r0, r4, 8 asrs r1, r7, 16 bl Sin - ldr r1, _080D0E74 @ =gUnknown_2038700 + ldr r1, _080D0E74 @ =gScanlineEffectRegBuffers lsls r2, r5, 1 adds r2, r1 ldr r6, _080D0E70 @ =gUnknown_2039A2C @@ -756,7 +756,7 @@ _080D0E5E: bx r1 .align 2, 0 _080D0E70: .4byte gUnknown_2039A2C -_080D0E74: .4byte gUnknown_2038700 +_080D0E74: .4byte gScanlineEffectRegBuffers _080D0E78: .4byte gPaletteFade _080D0E7C: .4byte sub_80D0D54 thumb_func_end sub_80D0DF0 @@ -771,7 +771,7 @@ sub_80D0E80: @ 80D0E80 cmp r0, 0 beq _080D0EA4 ldr r1, _080D0EAC @ =0x040000d4 - ldr r0, _080D0EB0 @ =gUnknown_2038700 + ldr r0, _080D0EB0 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -786,13 +786,13 @@ _080D0EA4: .align 2, 0 _080D0EA8: .4byte gUnknown_2039A2C _080D0EAC: .4byte 0x040000d4 -_080D0EB0: .4byte gUnknown_2038700 +_080D0EB0: .4byte gScanlineEffectRegBuffers _080D0EB4: .4byte 0x800000a0 thumb_func_end sub_80D0E80 thumb_func_start sub_80D0EB8 sub_80D0EB8: @ 80D0EB8 - ldr r1, _080D0ED8 @ =gUnknown_2038700 + ldr r1, _080D0ED8 @ =gScanlineEffectRegBuffers ldr r0, _080D0EDC @ =0x04000006 ldrh r0, [r0] lsls r0, 1 @@ -809,7 +809,7 @@ sub_80D0EB8: @ 80D0EB8 strh r1, [r0] bx lr .align 2, 0 -_080D0ED8: .4byte gUnknown_2038700 +_080D0ED8: .4byte gScanlineEffectRegBuffers _080D0EDC: .4byte 0x04000006 _080D0EE0: .4byte 0x04000016 thumb_func_end sub_80D0EB8 @@ -850,7 +850,7 @@ sub_80D0F1C: @ 80D0F1C sub sp, 0xC adds r4, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear movs r1, 0 movs r0, 0x10 strh r0, [r4, 0xA] @@ -878,7 +878,7 @@ sub_80D0F1C: @ 80D0F1C movs r1, 0 add r5, sp, 0x4 add r6, sp, 0x8 - ldr r3, _080D0FC0 @ =gUnknown_2038E80 + ldr r3, _080D0FC0 @ =gScanlineEffectRegBuffers + 0x780 movs r2, 0xF0 _080D0F64: lsls r0, r1, 1 @@ -921,7 +921,7 @@ _080D0F64: .align 2, 0 _080D0FB8: .4byte gUnknown_2039A2C _080D0FBC: .4byte 0x00003f41 -_080D0FC0: .4byte gUnknown_2038E80 +_080D0FC0: .4byte gScanlineEffectRegBuffers + 0x780 _080D0FC4: .4byte sub_80D1370 _080D0FC8: .4byte 0x01000400 _080D0FCC: .4byte gUnknown_83F87A0 @@ -943,7 +943,7 @@ sub_80D0FD4: @ 80D0FD4 movs r1, 0 ldr r0, [sp, 0x8] mov r9, r0 - ldr r6, _080D1060 @ =gUnknown_2038700 + ldr r6, _080D1060 @ =gScanlineEffectRegBuffers mov r8, r6 movs r0, 0xF0 lsls r0, 8 @@ -1000,7 +1000,7 @@ _080D1000: bx r1 .align 2, 0 _080D105C: .4byte gUnknown_83FA784 -_080D1060: .4byte gUnknown_2038700 +_080D1060: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D0FD4 thumb_func_start sub_80D1064 @@ -1053,7 +1053,7 @@ _080D10AE: ldrh r5, [r3, 0x12] adds r1, r5 strh r1, [r3, 0x12] - ldr r0, _080D10F4 @ =gUnknown_2038700 + ldr r0, _080D10F4 @ =gScanlineEffectRegBuffers movs r5, 0x10 ldrsh r2, [r3, r5] lsls r1, 16 @@ -1077,7 +1077,7 @@ _080D10AE: .align 2, 0 _080D10EC: .4byte gUnknown_2039A2C _080D10F0: .4byte 0xfffffe80 -_080D10F4: .4byte gUnknown_2038700 +_080D10F4: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D1064 thumb_func_start sub_80D10F8 @@ -1139,7 +1139,7 @@ _080D1160: movs r0, 0 _080D1162: strh r0, [r3, 0x12] - ldr r0, _080D1194 @ =gUnknown_2038700 + ldr r0, _080D1194 @ =gScanlineEffectRegBuffers movs r1, 0x10 ldrsh r2, [r3, r1] ldrh r1, [r3, 0x12] @@ -1163,7 +1163,7 @@ _080D1162: pop {r1} bx r1 .align 2, 0 -_080D1194: .4byte gUnknown_2038700 +_080D1194: .4byte gScanlineEffectRegBuffers _080D1198: .4byte gUnknown_2039A2C thumb_func_end sub_80D10F8 @@ -1195,7 +1195,7 @@ _080D11C8: .4byte 0xfffffe80 _080D11CC: strh r2, [r4, 0x12] _080D11CE: - ldr r0, _080D1218 @ =gUnknown_2038700 + ldr r0, _080D1218 @ =gScanlineEffectRegBuffers movs r3, 0x10 ldrsh r2, [r4, r3] ldrh r1, [r4, 0x12] @@ -1233,7 +1233,7 @@ _080D1202: pop {r1} bx r1 .align 2, 0 -_080D1218: .4byte gUnknown_2038700 +_080D1218: .4byte gScanlineEffectRegBuffers _080D121C: .4byte gUnknown_2039A2C thumb_func_end sub_80D119C @@ -1272,7 +1272,7 @@ _080D1242: bge _080D125E strh r3, [r4, 0xA] _080D125E: - ldr r0, _080D12CC @ =gUnknown_2038700 + ldr r0, _080D12CC @ =gScanlineEffectRegBuffers movs r1, 0xA ldrsh r3, [r4, r1] movs r1, 0x78 @@ -1322,7 +1322,7 @@ _080D12AE: .align 2, 0 _080D12C4: .4byte gUnknown_2039A2C _080D12C8: .4byte 0x000007ff -_080D12CC: .4byte gUnknown_2038700 +_080D12CC: .4byte gScanlineEffectRegBuffers _080D12D0: .4byte 0x040000b0 _080D12D4: .4byte 0x0000c5ff _080D12D8: .4byte 0x00007fff @@ -1350,7 +1350,7 @@ sub_80D12E4: @ 80D12E4 cmp r0, 0 beq _080D131C ldr r1, _080D1364 @ =0x040000d4 - ldr r0, _080D1368 @ =gUnknown_2038700 + ldr r0, _080D1368 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -1389,7 +1389,7 @@ _080D1358: .4byte 0x0000c5ff _080D135C: .4byte 0x00007fff _080D1360: .4byte gUnknown_2039A2C _080D1364: .4byte 0x040000d4 -_080D1368: .4byte gUnknown_2038700 +_080D1368: .4byte gScanlineEffectRegBuffers _080D136C: .4byte 0x800000a0 thumb_func_end sub_80D12E4 @@ -1398,7 +1398,7 @@ sub_80D1370: @ 80D1370 push {lr} bl sub_80D12E4 ldr r1, _080D138C @ =0x040000b0 - ldr r0, _080D1390 @ =gUnknown_2038E80 + ldr r0, _080D1390 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r1] ldr r0, _080D1394 @ =0x04000010 str r0, [r1, 0x4] @@ -1409,7 +1409,7 @@ sub_80D1370: @ 80D1370 bx r0 .align 2, 0 _080D138C: .4byte 0x040000b0 -_080D1390: .4byte gUnknown_2038E80 +_080D1390: .4byte gScanlineEffectRegBuffers + 0x780 _080D1394: .4byte 0x04000010 _080D1398: .4byte 0xa2400001 thumb_func_end sub_80D1370 @@ -1419,7 +1419,7 @@ sub_80D139C: @ 80D139C push {lr} bl sub_80D12E4 ldr r1, _080D13B8 @ =0x040000b0 - ldr r0, _080D13BC @ =gUnknown_2038E80 + ldr r0, _080D13BC @ =gScanlineEffectRegBuffers + 0x780 str r0, [r1] ldr r0, _080D13C0 @ =0x04000040 str r0, [r1, 0x4] @@ -1430,7 +1430,7 @@ sub_80D139C: @ 80D139C bx r0 .align 2, 0 _080D13B8: .4byte 0x040000b0 -_080D13BC: .4byte gUnknown_2038E80 +_080D13BC: .4byte gScanlineEffectRegBuffers + 0x780 _080D13C0: .4byte 0x04000040 _080D13C4: .4byte 0xa2400001 thumb_func_end sub_80D139C @@ -1782,7 +1782,7 @@ sub_80D1670: @ 80D1670 push {r4,lr} adds r4, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldr r0, _080D16C4 @ =gUnknown_2039A2C ldr r1, [r0] movs r0, 0 @@ -1794,7 +1794,7 @@ sub_80D1670: @ 80D1670 movs r0, 0xA0 strh r0, [r1, 0x8] movs r1, 0 - ldr r3, _080D16CC @ =gUnknown_2038E80 + ldr r3, _080D16CC @ =gScanlineEffectRegBuffers + 0x780 ldr r2, _080D16D0 @ =0x0000f3f4 _080D1696: lsls r0, r1, 1 @@ -1821,7 +1821,7 @@ _080D1696: .align 2, 0 _080D16C4: .4byte gUnknown_2039A2C _080D16C8: .4byte 0x0000f0f1 -_080D16CC: .4byte gUnknown_2038E80 +_080D16CC: .4byte gScanlineEffectRegBuffers + 0x780 _080D16D0: .4byte 0x0000f3f4 _080D16D4: .4byte sub_80D1ABC thumb_func_end sub_80D1670 @@ -1850,7 +1850,7 @@ sub_80D16D8: @ 80D16D8 movs r1, 0x78 movs r2, 0x50 bl sub_80D4088 - ldr r5, _080D1764 @ =gUnknown_2038700 + ldr r5, _080D1764 @ =gScanlineEffectRegBuffers _080D1708: ldr r4, _080D1760 @ =gUnknown_2039A2C ldr r0, [r4] @@ -1898,7 +1898,7 @@ _080D174C: bx r1 .align 2, 0 _080D1760: .4byte gUnknown_2039A2C -_080D1764: .4byte gUnknown_2038700 +_080D1764: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D16D8 thumb_func_start sub_80D1768 @@ -1947,7 +1947,7 @@ _080D17A6: ldrh r1, [r3, 0x28] movs r4, 0xF0 _080D17BE: - ldr r6, _080D17F0 @ =gUnknown_2038700 + ldr r6, _080D17F0 @ =gScanlineEffectRegBuffers movs r0, 0x2A ldrsh r2, [r3, r0] lsls r2, 1 @@ -1970,7 +1970,7 @@ _080D17BE: b _080D17A6 .align 2, 0 _080D17EC: .4byte gUnknown_2039A2C -_080D17F0: .4byte gUnknown_2038700 +_080D17F0: .4byte gScanlineEffectRegBuffers _080D17F4: ldr r1, [r7] ldrh r0, [r1, 0x2E] @@ -2051,7 +2051,7 @@ sub_80D185C: @ 80D185C movs r1, 0x78 movs r2, 0x50 bl sub_80D4088 - ldr r5, _080D18E0 @ =gUnknown_2038700 + ldr r5, _080D18E0 @ =gScanlineEffectRegBuffers _080D188A: ldr r4, _080D18DC @ =gUnknown_2039A2C ldr r0, [r4] @@ -2096,7 +2096,7 @@ _080D18C8: bx r1 .align 2, 0 _080D18DC: .4byte gUnknown_2039A2C -_080D18E0: .4byte gUnknown_2038700 +_080D18E0: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D185C thumb_func_start sub_80D18E4 @@ -2129,7 +2129,7 @@ sub_80D18E4: @ 80D18E4 movs r2, 0x50 movs r3, 0 bl sub_80D4088 - ldr r7, _080D1970 @ =gUnknown_2038700 + ldr r7, _080D1970 @ =gScanlineEffectRegBuffers mov r10, r7 ldr r0, _080D196C @ =gUnknown_2039A2C mov r8, r0 @@ -2171,7 +2171,7 @@ _080D1948: b _080D1928 .align 2, 0 _080D196C: .4byte gUnknown_2039A2C -_080D1970: .4byte gUnknown_2038700 +_080D1970: .4byte gScanlineEffectRegBuffers _080D1974: mov r0, r8 ldr r2, [r0] @@ -2193,7 +2193,7 @@ _080D1992: ldrsh r0, [r2, r4] cmp r0, r3 ble _080D19BC - ldr r6, _080D19DC @ =gUnknown_2038700 + ldr r6, _080D19DC @ =gScanlineEffectRegBuffers adds r3, r1, 0 ldr r5, _080D19E0 @ =gUnknown_2039A2C _080D19A0: @@ -2228,7 +2228,7 @@ _080D19BC: pop {r1} bx r1 .align 2, 0 -_080D19DC: .4byte gUnknown_2038700 +_080D19DC: .4byte gScanlineEffectRegBuffers _080D19E0: .4byte gUnknown_2039A2C thumb_func_end sub_80D18E4 @@ -2254,7 +2254,7 @@ sub_80D19E4: @ 80D19E4 movs r1, 0x78 movs r2, 0x50 bl sub_80D4088 - ldr r6, _080D1A78 @ =gUnknown_2038700 + ldr r6, _080D1A78 @ =gScanlineEffectRegBuffers _080D1A10: movs r2, 0x78 ldr r5, _080D1A74 @ =gUnknown_2039A2C @@ -2308,7 +2308,7 @@ _080D1A5E: bx r1 .align 2, 0 _080D1A74: .4byte gUnknown_2039A2C -_080D1A78: .4byte gUnknown_2038700 +_080D1A78: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D19E4 thumb_func_start sub_80D1A7C @@ -2360,7 +2360,7 @@ sub_80D1ABC: @ 80D1ABC cmp r0, 0 beq _080D1AF4 ldr r1, _080D1B44 @ =0x040000d4 - ldr r0, _080D1B48 @ =gUnknown_2038700 + ldr r0, _080D1B48 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -2382,7 +2382,7 @@ _080D1AF4: ldrh r1, [r0, 0x8] movs r0, 0x44 bl SetGpuReg - ldr r4, _080D1B48 @ =gUnknown_2038700 + ldr r4, _080D1B48 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r4, r0 @@ -2404,7 +2404,7 @@ _080D1B38: .4byte 0x0000c5ff _080D1B3C: .4byte 0x00007fff _080D1B40: .4byte gUnknown_2039A2C _080D1B44: .4byte 0x040000d4 -_080D1B48: .4byte gUnknown_2038700 +_080D1B48: .4byte gScanlineEffectRegBuffers _080D1B4C: .4byte 0x800000a0 _080D1B50: .4byte 0x04000040 _080D1B54: .4byte 0xa2400001 @@ -2445,9 +2445,9 @@ sub_80D1B90: @ 80D1B90 push {r4,r5,lr} adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear movs r2, 0 - ldr r4, _080D1BD8 @ =gUnknown_2038E80 + ldr r4, _080D1BD8 @ =gScanlineEffectRegBuffers + 0x780 ldr r3, _080D1BDC @ =gUnknown_2039A2C _080D1BA2: lsls r1, r2, 1 @@ -2474,7 +2474,7 @@ _080D1BA2: pop {r1} bx r1 .align 2, 0 -_080D1BD8: .4byte gUnknown_2038E80 +_080D1BD8: .4byte gScanlineEffectRegBuffers + 0x780 _080D1BDC: .4byte gUnknown_2039A2C _080D1BE0: .4byte sub_80D1CC8 _080D1BE4: .4byte sub_80D1D00 @@ -2519,7 +2519,7 @@ _080D1C28: lsrs r0, r4, 8 asrs r1, r7, 16 bl Sin - ldr r1, _080D1CBC @ =gUnknown_2038700 + ldr r1, _080D1CBC @ =gScanlineEffectRegBuffers lsls r2, r5, 1 adds r2, r1 ldr r1, _080D1CB4 @ =gUnknown_2039A2C @@ -2587,7 +2587,7 @@ _080D1C9A: .align 2, 0 _080D1CB4: .4byte gUnknown_2039A2C _080D1CB8: .4byte 0x1fff0000 -_080D1CBC: .4byte gUnknown_2038700 +_080D1CBC: .4byte gScanlineEffectRegBuffers _080D1CC0: .4byte gPaletteFade _080D1CC4: .4byte sub_80D1B58 thumb_func_end sub_80D1BE8 @@ -2602,7 +2602,7 @@ sub_80D1CC8: @ 80D1CC8 cmp r0, 0 beq _080D1CEC ldr r1, _080D1CF4 @ =0x040000d4 - ldr r0, _080D1CF8 @ =gUnknown_2038700 + ldr r0, _080D1CF8 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -2617,13 +2617,13 @@ _080D1CEC: .align 2, 0 _080D1CF0: .4byte gUnknown_2039A2C _080D1CF4: .4byte 0x040000d4 -_080D1CF8: .4byte gUnknown_2038700 +_080D1CF8: .4byte gScanlineEffectRegBuffers _080D1CFC: .4byte 0x800000a0 thumb_func_end sub_80D1CC8 thumb_func_start sub_80D1D00 sub_80D1D00: @ 80D1D00 - ldr r1, _080D1D20 @ =gUnknown_2038700 + ldr r1, _080D1D20 @ =gScanlineEffectRegBuffers ldr r0, _080D1D24 @ =0x04000006 ldrh r0, [r0] lsls r0, 1 @@ -2640,7 +2640,7 @@ sub_80D1D00: @ 80D1D00 strh r1, [r0] bx lr .align 2, 0 -_080D1D20: .4byte gUnknown_2038700 +_080D1D20: .4byte gScanlineEffectRegBuffers _080D1D24: .4byte 0x04000006 _080D1D28: .4byte 0x04000016 thumb_func_end sub_80D1D00 @@ -2680,7 +2680,7 @@ sub_80D1D64: @ 80D1D64 push {r4,lr} adds r4, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldr r0, _080D1DB0 @ =gUnknown_2039A2C ldr r1, [r0] movs r2, 0 @@ -2692,7 +2692,7 @@ sub_80D1D64: @ 80D1D64 movs r0, 0xA0 strh r0, [r1, 0x8] movs r1, 0 - ldr r3, _080D1DB4 @ =gUnknown_2038E80 + ldr r3, _080D1DB4 @ =gScanlineEffectRegBuffers + 0x780 movs r2, 0xF2 _080D1D8A: lsls r0, r1, 1 @@ -2714,7 +2714,7 @@ _080D1D8A: bx r1 .align 2, 0 _080D1DB0: .4byte gUnknown_2039A2C -_080D1DB4: .4byte gUnknown_2038E80 +_080D1DB4: .4byte gScanlineEffectRegBuffers + 0x780 _080D1DB8: .4byte sub_80D1E98 thumb_func_end sub_80D1D64 @@ -2729,7 +2729,7 @@ sub_80D1DBC: @ 80D1DBC ldrb r0, [r1] movs r0, 0 strb r0, [r1] - ldr r7, _080D1E54 @ =gUnknown_2038700 + ldr r7, _080D1E54 @ =gScanlineEffectRegBuffers ldrh r0, [r4, 0xC] ldrb r5, [r4, 0xC] adds r0, 0x10 @@ -2799,7 +2799,7 @@ _080D1E36: bx r1 .align 2, 0 _080D1E50: .4byte gUnknown_2039A2C -_080D1E54: .4byte gUnknown_2038700 +_080D1E54: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D1DBC thumb_func_start sub_80D1E58 @@ -2851,7 +2851,7 @@ sub_80D1E98: @ 80D1E98 cmp r0, 0 beq _080D1ED0 ldr r1, _080D1F14 @ =0x040000d4 - ldr r0, _080D1F18 @ =gUnknown_2038700 + ldr r0, _080D1F18 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -2873,7 +2873,7 @@ _080D1ED0: ldrh r1, [r0, 0x8] movs r0, 0x44 bl SetGpuReg - ldr r0, _080D1F20 @ =gUnknown_2038E80 + ldr r0, _080D1F20 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r4] ldr r0, _080D1F24 @ =0x04000040 str r0, [r4, 0x4] @@ -2889,9 +2889,9 @@ _080D1F08: .4byte 0x0000c5ff _080D1F0C: .4byte 0x00007fff _080D1F10: .4byte gUnknown_2039A2C _080D1F14: .4byte 0x040000d4 -_080D1F18: .4byte gUnknown_2038700 +_080D1F18: .4byte gScanlineEffectRegBuffers _080D1F1C: .4byte 0x800000a0 -_080D1F20: .4byte gUnknown_2038E80 +_080D1F20: .4byte gScanlineEffectRegBuffers + 0x780 _080D1F24: .4byte 0x04000040 _080D1F28: .4byte 0xa2400001 thumb_func_end sub_80D1E98 @@ -2946,7 +2946,7 @@ sub_80D1F64: @ 80D1F64 mov r10, r0 movs r1, 0xA0 lsls r1, 17 - ldr r4, _080D1FD8 @ =gUnknown_2038E80 + ldr r4, _080D1FD8 @ =gScanlineEffectRegBuffers + 0x780 ldr r3, _080D1FDC @ =0x000003bf movs r2, 0x78 _080D1F8E: @@ -2988,7 +2988,7 @@ _080D1FAE: adds r0, r1, 0 b _080D1FE6 .align 2, 0 -_080D1FD8: .4byte gUnknown_2038E80 +_080D1FD8: .4byte gScanlineEffectRegBuffers + 0x780 _080D1FDC: .4byte 0x000003bf _080D1FE0: lsls r0, r3, 16 @@ -3104,7 +3104,7 @@ _080D2092: lsls r4, 1 adds r0, r2, r4 lsls r0, 1 - ldr r1, _080D20E8 @ =gUnknown_2038E80 + ldr r1, _080D20E8 @ =gScanlineEffectRegBuffers + 0x780 adds r0, r1 strh r7, [r0] lsls r0, r5, 16 @@ -3131,7 +3131,7 @@ _080D20C4: subs r0, r2, 0x1 b _080D20FC .align 2, 0 -_080D20E8: .4byte gUnknown_2038E80 +_080D20E8: .4byte gScanlineEffectRegBuffers + 0x780 _080D20EC: lsls r0, r3, 16 asrs r0, 16 @@ -3150,7 +3150,7 @@ _080D2100: cmp r1, 0 bge _080D212C asrs r2, r6, 16 - ldr r3, _080D2128 @ =gUnknown_2038E80 + ldr r3, _080D2128 @ =gScanlineEffectRegBuffers + 0x780 _080D210C: asrs r1, r0, 16 adds r0, r2, r1 @@ -3166,12 +3166,12 @@ _080D210C: blt _080D210C b _080D21F8 .align 2, 0 -_080D2128: .4byte gUnknown_2038E80 +_080D2128: .4byte gScanlineEffectRegBuffers + 0x780 _080D212C: cmp r1, 0 ble _080D21F8 asrs r2, r6, 16 - ldr r3, _080D2154 @ =gUnknown_2038E80 + ldr r3, _080D2154 @ =gScanlineEffectRegBuffers + 0x780 _080D2134: lsls r1, r5, 16 asrs r1, 16 @@ -3189,13 +3189,13 @@ _080D2134: bgt _080D2134 b _080D21F8 .align 2, 0 -_080D2154: .4byte gUnknown_2038E80 +_080D2154: .4byte gScanlineEffectRegBuffers + 0x780 _080D2158: movs r1, 0xF0 lsls r1, 1 adds r0, r2, r1 lsls r0, 1 - ldr r2, _080D2190 @ =gUnknown_2038E80 + ldr r2, _080D2190 @ =gScanlineEffectRegBuffers + 0x780 adds r0, r2 strh r7, [r0] lsls r0, r5, 16 @@ -3220,7 +3220,7 @@ _080D2158: subs r0, r2, 0x1 b _080D21A4 .align 2, 0 -_080D2190: .4byte gUnknown_2038E80 +_080D2190: .4byte gScanlineEffectRegBuffers + 0x780 _080D2194: lsls r0, r3, 16 asrs r0, 16 @@ -3239,7 +3239,7 @@ _080D21A8: cmp r1, 0 bge _080D21D4 asrs r2, r6, 16 - ldr r3, _080D21D0 @ =gUnknown_2038E80 + ldr r3, _080D21D0 @ =gScanlineEffectRegBuffers + 0x780 _080D21B4: asrs r1, r0, 16 adds r0, r2, r1 @@ -3255,12 +3255,12 @@ _080D21B4: blt _080D21B4 b _080D21F8 .align 2, 0 -_080D21D0: .4byte gUnknown_2038E80 +_080D21D0: .4byte gScanlineEffectRegBuffers + 0x780 _080D21D4: cmp r1, 0 ble _080D21F8 asrs r2, r6, 16 - ldr r3, _080D2270 @ =gUnknown_2038E80 + ldr r3, _080D2270 @ =gScanlineEffectRegBuffers + 0x780 _080D21DC: lsls r1, r5, 16 asrs r1, 16 @@ -3307,7 +3307,7 @@ _080D221A: _080D222C: movs r2, 0 mov r9, r2 - ldr r4, _080D2270 @ =gUnknown_2038E80 + ldr r4, _080D2270 @ =gScanlineEffectRegBuffers + 0x780 movs r5, 0xA0 lsls r5, 1 _080D2236: @@ -3341,7 +3341,7 @@ _080D2236: ble _080D2236 b _080D251C .align 2, 0 -_080D2270: .4byte gUnknown_2038E80 +_080D2270: .4byte gScanlineEffectRegBuffers + 0x780 _080D2274: ldr r1, [sp, 0xC] asrs r4, r1, 16 @@ -3396,7 +3396,7 @@ _080D22CA: adds r0, r5, r0 movs r3, 0 ldrsh r4, [r0, r3] - ldr r6, _080D2324 @ =gUnknown_2038E80 + ldr r6, _080D2324 @ =gScanlineEffectRegBuffers + 0x780 _080D22D4: ldr r0, _080D2328 @ =gUnknown_2039A2C ldr r5, [r0] @@ -3437,7 +3437,7 @@ _080D22D4: b _080D2334 .align 2, 0 _080D2320: .4byte gUnknown_83FA444 -_080D2324: .4byte gUnknown_2038E80 +_080D2324: .4byte gScanlineEffectRegBuffers + 0x780 _080D2328: .4byte gUnknown_2039A2C _080D232C: ldrh r0, [r3] @@ -3474,7 +3474,7 @@ _080D2360: adds r0, r5, r0 movs r3, 0 ldrsh r4, [r0, r3] - ldr r6, _080D23C0 @ =gUnknown_2038E80 + ldr r6, _080D23C0 @ =gScanlineEffectRegBuffers + 0x780 _080D236A: ldr r0, _080D23C4 @ =gUnknown_2039A2C ldr r3, [r0] @@ -3519,7 +3519,7 @@ _080D23A6: b _080D24DA .align 2, 0 _080D23BC: .4byte gUnknown_83FA444 -_080D23C0: .4byte gUnknown_2038E80 +_080D23C0: .4byte gScanlineEffectRegBuffers + 0x780 _080D23C4: .4byte gUnknown_2039A2C _080D23C8: .4byte 0xffff0000 _080D23CC: @@ -3539,7 +3539,7 @@ _080D23DA: adds r0, r5, r0 movs r6, 0 ldrsh r4, [r0, r6] - ldr r6, _080D2440 @ =gUnknown_2038E80 + ldr r6, _080D2440 @ =gScanlineEffectRegBuffers + 0x780 _080D23EC: ldr r0, _080D2444 @ =gUnknown_2039A2C ldr r5, [r0] @@ -3581,7 +3581,7 @@ _080D23EC: .align 2, 0 _080D2438: .4byte 0x0000ffb1 _080D243C: .4byte gUnknown_83FA444 -_080D2440: .4byte gUnknown_2038E80 +_080D2440: .4byte gScanlineEffectRegBuffers + 0x780 _080D2444: .4byte gUnknown_2039A2C _080D2448: ldrh r0, [r3] @@ -3619,7 +3619,7 @@ _080D2474: ldrsh r4, [r0, r3] ldr r6, _080D2534 @ =gUnknown_2039A2C mov r8, r6 - ldr r6, _080D2538 @ =gUnknown_2038E80 + ldr r6, _080D2538 @ =gScanlineEffectRegBuffers + 0x780 _080D248A: mov r0, r8 ldr r3, [r0] @@ -3665,7 +3665,7 @@ _080D24C6: _080D24DA: movs r4, 0 mov r9, r4 - ldr r4, _080D2538 @ =gUnknown_2038E80 + ldr r4, _080D2538 @ =gScanlineEffectRegBuffers + 0x780 movs r5, 0xA0 lsls r5, 1 _080D24E4: @@ -3710,7 +3710,7 @@ _080D251C: _080D252C: .4byte 0x0000ffb1 _080D2530: .4byte gUnknown_83FA444 _080D2534: .4byte gUnknown_2039A2C -_080D2538: .4byte gUnknown_2038E80 +_080D2538: .4byte gScanlineEffectRegBuffers + 0x780 thumb_func_end sub_80D1F64 thumb_func_start sub_80D253C @@ -3718,7 +3718,7 @@ sub_80D253C: @ 80D253C push {r4,r5,lr} adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldr r0, _080D25A0 @ =gUnknown_2039A2C ldr r1, [r0] movs r4, 0 @@ -3741,7 +3741,7 @@ sub_80D253C: @ 80D253C movs r2, 0x1 bl sub_80D1F64 ldr r1, _080D25B0 @ =0x040000d4 - ldr r0, _080D25B4 @ =gUnknown_2038E80 + ldr r0, _080D25B4 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r1] ldr r2, _080D25B8 @ =0xfffff880 adds r0, r2 @@ -3766,7 +3766,7 @@ _080D25A4: .4byte 0x00007878 _080D25A8: .4byte 0x00003070 _080D25AC: .4byte 0x00001090 _080D25B0: .4byte 0x040000d4 -_080D25B4: .4byte gUnknown_2038E80 +_080D25B4: .4byte gScanlineEffectRegBuffers + 0x780 _080D25B8: .4byte 0xfffff880 _080D25BC: .4byte 0x80000140 _080D25C0: .4byte sub_80D2698 @@ -3919,7 +3919,7 @@ _080D26E4: cmp r0, 0 beq _080D2700 ldr r1, _080D274C @ =0x040000d4 - ldr r0, _080D2750 @ =gUnknown_2038E80 + ldr r0, _080D2750 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r1] ldr r6, _080D2754 @ =0xfffff880 adds r0, r6 @@ -3946,7 +3946,7 @@ _080D2700: ldrh r1, [r0, 0xC] movs r0, 0x46 bl SetGpuReg - ldr r4, _080D275C @ =gUnknown_2038700 + ldr r4, _080D275C @ =gScanlineEffectRegBuffers ldrh r1, [r4] movs r0, 0x40 bl SetGpuReg @@ -3965,10 +3965,10 @@ _080D2746: bx r0 .align 2, 0 _080D274C: .4byte 0x040000d4 -_080D2750: .4byte gUnknown_2038E80 +_080D2750: .4byte gScanlineEffectRegBuffers + 0x780 _080D2754: .4byte 0xfffff880 _080D2758: .4byte 0x80000140 -_080D275C: .4byte gUnknown_2038700 +_080D275C: .4byte gScanlineEffectRegBuffers _080D2760: .4byte 0x04000040 _080D2764: .4byte 0xa6400001 thumb_func_end sub_80D2698 @@ -4103,7 +4103,7 @@ Phase2_Mugshot_Func1: @ 80D2840 push {r4,lr} adds r4, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r4, 0 bl sub_80D2EA4 movs r0, 0 @@ -4121,7 +4121,7 @@ Phase2_Mugshot_Func1: @ 80D2840 movs r0, 0xA0 strh r0, [r1, 0x8] movs r1, 0 - ldr r3, _080D289C @ =gUnknown_2038E80 + ldr r3, _080D289C @ =gScanlineEffectRegBuffers + 0x780 ldr r2, _080D28A0 @ =0x0000f0f1 _080D2874: lsls r0, r1, 1 @@ -4143,7 +4143,7 @@ _080D2874: bx r1 .align 2, 0 _080D2898: .4byte gUnknown_2039A2C -_080D289C: .4byte gUnknown_2038E80 +_080D289C: .4byte gScanlineEffectRegBuffers + 0x780 _080D28A0: .4byte 0x0000f0f1 _080D28A4: .4byte sub_80D2D50 thumb_func_end Phase2_Mugshot_Func1 @@ -4248,7 +4248,7 @@ sub_80D2968: @ 80D2968 ldrb r0, [r1] movs r0, 0 strb r0, [r1] - ldr r7, _080D2A50 @ =gUnknown_2038700 + ldr r7, _080D2A50 @ =gScanlineEffectRegBuffers ldrh r0, [r4, 0xA] ldrb r5, [r4, 0xA] adds r0, 0x10 @@ -4364,7 +4364,7 @@ _080D2A2A: bx r1 .align 2, 0 _080D2A4C: .4byte gUnknown_2039A2C -_080D2A50: .4byte gUnknown_2038700 +_080D2A50: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D2968 thumb_func_start sub_80D2A54 @@ -4376,7 +4376,7 @@ sub_80D2A54: @ 80D2A54 ldrb r0, [r1] movs r0, 0 strb r0, [r1] - ldr r1, _080D2ACC @ =gUnknown_2038700 + ldr r1, _080D2ACC @ =gScanlineEffectRegBuffers adds r5, r2, 0 movs r2, 0xF0 _080D2A68: @@ -4425,7 +4425,7 @@ _080D2A68: bx r1 .align 2, 0 _080D2AC8: .4byte gUnknown_2039A2C -_080D2ACC: .4byte gUnknown_2038700 +_080D2ACC: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D2A54 thumb_func_start sub_80D2AD0 @@ -4499,7 +4499,7 @@ sub_80D2B0C: @ 80D2B0C ands r0, r2 strh r0, [r1, 0xA] ldrh r0, [r1, 0xA] - ldr r4, _080D2BBC @ =gUnknown_2038700 + ldr r4, _080D2BBC @ =gScanlineEffectRegBuffers movs r5, 0xA0 lsls r5, 1 adds r0, r4, 0 @@ -4542,7 +4542,7 @@ _080D2BAC: .4byte gUnknown_2039A2C _080D2BB0: .4byte 0x040000b0 _080D2BB4: .4byte 0x0000c5ff _080D2BB8: .4byte 0x00007fff -_080D2BBC: .4byte gUnknown_2038700 +_080D2BBC: .4byte gScanlineEffectRegBuffers _080D2BC0: .4byte sub_80D2DEC thumb_func_end sub_80D2B0C @@ -4593,7 +4593,7 @@ _080D2BFE: cmp r0, 0 blt _080D2C60 movs r7, 0x50 - ldr r5, _080D2C88 @ =gUnknown_2038700 + ldr r5, _080D2C88 @ =gScanlineEffectRegBuffers _080D2C1C: lsls r0, r2, 16 asrs r3, r0, 16 @@ -4652,7 +4652,7 @@ _080D2C6E: bx r1 .align 2, 0 _080D2C84: .4byte gUnknown_2039A2C -_080D2C88: .4byte gUnknown_2038700 +_080D2C88: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D2BC4 thumb_func_start sub_80D2C8C @@ -4697,7 +4697,7 @@ sub_80D2CC4: @ 80D2CC4 ldrh r0, [r4, 0xE] adds r0, 0x1 strh r0, [r4, 0xE] - ldr r0, _080D2D0C @ =gUnknown_2038700 + ldr r0, _080D2D0C @ =gScanlineEffectRegBuffers movs r2, 0xE ldrsh r1, [r4, r2] movs r2, 0xA0 @@ -4722,7 +4722,7 @@ _080D2CF4: bx r1 .align 2, 0 _080D2D08: .4byte gUnknown_2039A2C -_080D2D0C: .4byte gUnknown_2038700 +_080D2D0C: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D2CC4 thumb_func_start sub_80D2D10 @@ -4775,7 +4775,7 @@ sub_80D2D50: @ 80D2D50 cmp r0, 0 beq _080D2D88 ldr r1, _080D2DD4 @ =0x040000d4 - ldr r0, _080D2DD8 @ =gUnknown_2038700 + ldr r0, _080D2DD8 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -4801,7 +4801,7 @@ _080D2D88: ldrh r1, [r0, 0x8] movs r0, 0x44 bl SetGpuReg - ldr r0, _080D2DE0 @ =gUnknown_2038E80 + ldr r0, _080D2DE0 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r4] ldr r0, _080D2DE4 @ =0x04000040 str r0, [r4, 0x4] @@ -4817,9 +4817,9 @@ _080D2DC8: .4byte 0x0000c5ff _080D2DCC: .4byte 0x00007fff _080D2DD0: .4byte gUnknown_2039A2C _080D2DD4: .4byte 0x040000d4 -_080D2DD8: .4byte gUnknown_2038700 +_080D2DD8: .4byte gScanlineEffectRegBuffers _080D2DDC: .4byte 0x800000a0 -_080D2DE0: .4byte gUnknown_2038E80 +_080D2DE0: .4byte gScanlineEffectRegBuffers + 0x780 _080D2DE4: .4byte 0x04000040 _080D2DE8: .4byte 0xa2400001 thumb_func_end sub_80D2D50 @@ -4844,7 +4844,7 @@ sub_80D2DEC: @ 80D2DEC cmp r0, 0 beq _080D2E24 ldr r1, _080D2E54 @ =0x040000d4 - ldr r0, _080D2E58 @ =gUnknown_2038700 + ldr r0, _080D2E58 @ =gScanlineEffectRegBuffers str r0, [r1] movs r3, 0xF0 lsls r3, 3 @@ -4858,7 +4858,7 @@ _080D2E24: ldrh r1, [r0, 0xE] movs r0, 0x50 bl SetGpuReg - ldr r0, _080D2E60 @ =gUnknown_2038E80 + ldr r0, _080D2E60 @ =gScanlineEffectRegBuffers + 0x780 str r0, [r4] ldr r0, _080D2E64 @ =0x04000054 str r0, [r4, 0x4] @@ -4874,9 +4874,9 @@ _080D2E48: .4byte 0x0000c5ff _080D2E4C: .4byte 0x00007fff _080D2E50: .4byte gUnknown_2039A2C _080D2E54: .4byte 0x040000d4 -_080D2E58: .4byte gUnknown_2038700 +_080D2E58: .4byte gScanlineEffectRegBuffers _080D2E5C: .4byte 0x800000a0 -_080D2E60: .4byte gUnknown_2038E80 +_080D2E60: .4byte gScanlineEffectRegBuffers + 0x780 _080D2E64: .4byte 0x04000054 _080D2E68: .4byte 0xa2400001 thumb_func_end sub_80D2DEC @@ -5321,7 +5321,7 @@ sub_80D31A4: @ 80D31A4 push {r4-r6,lr} adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear movs r3, 0 movs r0, 0x80 lsls r0, 1 @@ -5335,7 +5335,7 @@ sub_80D31A4: @ 80D31A4 strh r3, [r1, 0x4] movs r0, 0xA0 strh r0, [r1, 0x8] - ldr r4, _080D3214 @ =gUnknown_2038E80 + ldr r4, _080D3214 @ =gScanlineEffectRegBuffers + 0x780 adds r6, r2, 0 movs r2, 0xF0 _080D31D0: @@ -5369,7 +5369,7 @@ _080D31D0: bx r1 .align 2, 0 _080D3210: .4byte gUnknown_2039A2C -_080D3214: .4byte gUnknown_2038E80 +_080D3214: .4byte gScanlineEffectRegBuffers + 0x780 _080D3218: .4byte sub_80D332C _080D321C: .4byte sub_80D33C0 thumb_func_end sub_80D31A4 @@ -5417,7 +5417,7 @@ _080D325E: strh r0, [r3, 0xE] _080D326A: movs r5, 0 - ldr r7, _080D32A4 @ =gUnknown_2038700 + ldr r7, _080D32A4 @ =gScanlineEffectRegBuffers movs r1, 0xA0 lsls r1, 1 adds r1, r7 @@ -5444,7 +5444,7 @@ _080D3278: .align 2, 0 _080D329C: .4byte gUnknown_2039A2C _080D32A0: .4byte 0x00000fff -_080D32A4: .4byte gUnknown_2038700 +_080D32A4: .4byte gScanlineEffectRegBuffers _080D32A8: ldr r0, [r6] ldrh r0, [r0, 0x14] @@ -5545,7 +5545,7 @@ sub_80D332C: @ 80D332C cmp r0, 0 beq _080D3382 ldr r1, _080D33A8 @ =0x040000d4 - ldr r0, _080D33AC @ =gUnknown_2038700 + ldr r0, _080D33AC @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -5555,7 +5555,7 @@ sub_80D332C: @ 80D332C str r0, [r1, 0x8] ldr r0, [r1, 0x8] _080D3382: - ldr r0, _080D33B4 @ =gUnknown_2038FC0 + ldr r0, _080D33B4 @ =gScanlineEffectRegBuffers + 0x8C0 str r0, [r5] ldr r0, _080D33B8 @ =0x04000040 str r0, [r5, 0x4] @@ -5571,16 +5571,16 @@ _080D339C: .4byte 0x0000c5ff _080D33A0: .4byte 0x00007fff _080D33A4: .4byte gUnknown_2039A2C _080D33A8: .4byte 0x040000d4 -_080D33AC: .4byte gUnknown_2038700 +_080D33AC: .4byte gScanlineEffectRegBuffers _080D33B0: .4byte 0x80000140 -_080D33B4: .4byte gUnknown_2038FC0 +_080D33B4: .4byte gScanlineEffectRegBuffers + 0x8C0 _080D33B8: .4byte 0x04000040 _080D33BC: .4byte 0xa2400001 thumb_func_end sub_80D332C thumb_func_start sub_80D33C0 sub_80D33C0: @ 80D33C0 - ldr r1, _080D33E0 @ =gUnknown_2038700 + ldr r1, _080D33E0 @ =gScanlineEffectRegBuffers ldr r0, _080D33E4 @ =0x04000006 ldrh r0, [r0] lsls r0, 1 @@ -5597,7 +5597,7 @@ sub_80D33C0: @ 80D33C0 strh r1, [r0] bx lr .align 2, 0 -_080D33E0: .4byte gUnknown_2038700 +_080D33E0: .4byte gScanlineEffectRegBuffers _080D33E4: .4byte 0x04000006 _080D33E8: .4byte 0x04000014 thumb_func_end sub_80D33C0 @@ -5637,7 +5637,7 @@ sub_80D3424: @ 80D3424 push {r4,r5,lr} adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldr r0, _080D348C @ =gUnknown_2039A2C ldr r1, [r0] movs r2, 0 @@ -5651,7 +5651,7 @@ sub_80D3424: @ 80D3424 movs r0, 0xA0 strh r0, [r1, 0x8] movs r1, 0 - ldr r2, _080D3490 @ =gUnknown_2038E80 + ldr r2, _080D3490 @ =gScanlineEffectRegBuffers + 0x780 movs r4, 0 movs r3, 0xF0 _080D3450: @@ -5683,7 +5683,7 @@ _080D3450: bx r1 .align 2, 0 _080D348C: .4byte gUnknown_2039A2C -_080D3490: .4byte gUnknown_2038E80 +_080D3490: .4byte gScanlineEffectRegBuffers + 0x780 _080D3494: .4byte sub_80D36E0 _080D3498: .4byte sub_80D35F4 thumb_func_end sub_80D3424 @@ -5896,7 +5896,7 @@ sub_80D35F4: @ 80D35F4 cmp r0, 0 beq _080D3654 ldr r1, _080D3678 @ =0x040000d4 - ldr r0, _080D367C @ =gUnknown_2038700 + ldr r0, _080D367C @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -5906,7 +5906,7 @@ sub_80D35F4: @ 80D35F4 str r0, [r1, 0x8] ldr r0, [r1, 0x8] _080D3654: - ldr r0, _080D3684 @ =gUnknown_2038FC0 + ldr r0, _080D3684 @ =gScanlineEffectRegBuffers + 0x8C0 str r0, [r5] ldr r0, _080D3688 @ =0x04000040 str r0, [r5, 0x4] @@ -5922,9 +5922,9 @@ _080D366C: .4byte 0x0000c5ff _080D3670: .4byte 0x00007fff _080D3674: .4byte gUnknown_2039A2C _080D3678: .4byte 0x040000d4 -_080D367C: .4byte gUnknown_2038700 +_080D367C: .4byte gScanlineEffectRegBuffers _080D3680: .4byte 0x80000140 -_080D3684: .4byte gUnknown_2038FC0 +_080D3684: .4byte gScanlineEffectRegBuffers + 0x8C0 _080D3688: .4byte 0x04000040 _080D368C: .4byte 0xa2400001 thumb_func_end sub_80D35F4 @@ -5981,7 +5981,7 @@ sub_80D36E0: @ 80D36E0 strh r0, [r1] _080D36F8: ldr r2, _080D3718 @ =0x04000054 - ldr r1, _080D371C @ =gUnknown_2038700 + ldr r1, _080D371C @ =gScanlineEffectRegBuffers mov r0, sp ldrh r0, [r0] lsls r0, 1 @@ -5997,7 +5997,7 @@ _080D36F8: .align 2, 0 _080D3714: .4byte 0x04000006 _080D3718: .4byte 0x04000054 -_080D371C: .4byte gUnknown_2038700 +_080D371C: .4byte gScanlineEffectRegBuffers thumb_func_end sub_80D36E0 thumb_func_start sub_80D3720 @@ -6027,7 +6027,7 @@ _080D374C: movs r2, 0x22 ldrsh r0, [r3, r2] lsls r0, 1 - ldr r1, _080D3810 @ =gUnknown_2038700 + ldr r1, _080D3810 @ =gScanlineEffectRegBuffers adds r7, r0, r1 movs r2, 0xA0 lsls r2, 1 @@ -6131,7 +6131,7 @@ _080D380A: pop {r0} bx r0 .align 2, 0 -_080D3810: .4byte gUnknown_2038700 +_080D3810: .4byte gScanlineEffectRegBuffers _080D3814: .4byte gUnknown_2039A2C thumb_func_end sub_80D3720 @@ -6308,7 +6308,7 @@ sub_80D3960: @ 80D3960 push {r4,r5,lr} adds r5, r0, 0 bl sub_80D3DD0 - bl dp12_8087EA4 + bl ScanlineEffect_Clear ldr r0, _080D39B8 @ =gUnknown_2039A2C ldr r1, [r0] movs r2, 0 @@ -6318,7 +6318,7 @@ sub_80D3960: @ 80D3960 movs r0, 0xA0 strh r0, [r1, 0x8] movs r1, 0 - ldr r2, _080D39BC @ =gUnknown_2038700 + ldr r2, _080D39BC @ =gScanlineEffectRegBuffers movs r3, 0xF0 adds r4, r2, 0 _080D3984: @@ -6347,7 +6347,7 @@ _080D3984: bx r1 .align 2, 0 _080D39B8: .4byte gUnknown_2039A2C -_080D39BC: .4byte gUnknown_2038700 +_080D39BC: .4byte gScanlineEffectRegBuffers _080D39C0: .4byte sub_80D3BA4 thumb_func_end sub_80D3960 @@ -6428,10 +6428,10 @@ sub_80D3A40: @ 80D3A40 strb r0, [r1] mov r8, r0 movs r7, 0 - ldr r0, _080D3A94 @ =gUnknown_2038700 + ldr r0, _080D3A94 @ =gScanlineEffectRegBuffers mov r9, r0 _080D3A5C: - ldr r1, _080D3A94 @ =gUnknown_2038700 + ldr r1, _080D3A94 @ =gScanlineEffectRegBuffers ldr r0, _080D3A90 @ =gUnknown_2039A2C ldr r2, [r0] movs r3, 0x2A @@ -6460,7 +6460,7 @@ _080D3A84: b _080D3AB0 .align 2, 0 _080D3A90: .4byte gUnknown_2039A2C -_080D3A94: .4byte gUnknown_2038700 +_080D3A94: .4byte gScanlineEffectRegBuffers _080D3A98: lsls r0, r5, 16 asrs r0, 16 @@ -6626,7 +6626,7 @@ sub_80D3BA4: @ 80D3BA4 cmp r0, 0 beq _080D3BDC ldr r1, _080D3C2C @ =0x040000d4 - ldr r0, _080D3C30 @ =gUnknown_2038700 + ldr r0, _080D3C30 @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -6648,7 +6648,7 @@ _080D3BDC: ldrh r1, [r0, 0x8] movs r0, 0x44 bl SetGpuReg - ldr r4, _080D3C30 @ =gUnknown_2038700 + ldr r4, _080D3C30 @ =gScanlineEffectRegBuffers movs r0, 0xF0 lsls r0, 3 adds r4, r0 @@ -6670,7 +6670,7 @@ _080D3C20: .4byte 0x0000c5ff _080D3C24: .4byte 0x00007fff _080D3C28: .4byte gUnknown_2039A2C _080D3C2C: .4byte 0x040000d4 -_080D3C30: .4byte gUnknown_2038700 +_080D3C30: .4byte gScanlineEffectRegBuffers _080D3C34: .4byte 0x800000a0 _080D3C38: .4byte 0x04000040 _080D3C3C: .4byte 0xa2400001 diff --git a/asm/berry_fix_program.s b/asm/berry_fix_program.s index ec40e1d98..e24fa6c3c 100644 --- a/asm/berry_fix_program.s +++ b/asm/berry_fix_program.s @@ -90,7 +90,7 @@ sub_815F74C: @ 815F74C ldr r0, [r0, 0x8] bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, _0815F7D4 @ =gUnknown_3005ECC strb r4, [r0] ldr r0, _0815F7D8 @ =sub_815F7F0 diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index 146a71788..762938e3c 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -187,7 +187,7 @@ _0813CED0: bl clear_scheduled_bg_copies_to_vram b _0813CFD2 _0813CEDA: - bl remove_some_task + bl ScanlineEffect_Stop b _0813CFD2 _0813CEE0: bl FreeAllSpritePalettes @@ -255,7 +255,7 @@ _0813CF62: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0813CF98 @ =gUnknown_3005E70 + ldr r0, _0813CF98 @ =gMultiuseListMenuTemplate ldr r2, _0813CF9C @ =gUnknown_203F370 ldrh r1, [r2, 0xA] ldrh r2, [r2, 0x8] @@ -273,7 +273,7 @@ _0813CF62: b _0813CFD2 .align 2, 0 _0813CF94: .4byte sub_813DA68 -_0813CF98: .4byte gUnknown_3005E70 +_0813CF98: .4byte gMultiuseListMenuTemplate _0813CF9C: .4byte gUnknown_203F370 _0813CFA0: .4byte gTasks _0813CFA4: @@ -573,7 +573,7 @@ sub_813D204: @ 813D204 push {r4-r7,lr} mov r7, r8 push {r7} - ldr r0, _0813D280 @ =gUnknown_20398AC + ldr r0, _0813D280 @ =gBagPockets + 0x20 mov r8, r0 movs r6, 0 ldr r0, _0813D284 @ =gUnknown_203F36C @@ -615,10 +615,10 @@ _0813D254: ldr r2, [r0] lsls r0, r6, 3 adds r0, r2 - ldr r1, _0813D290 @ =gUnknown_84166DB + ldr r1, _0813D290 @ =gText_Close str r1, [r0] str r6, [r0, 0x4] - ldr r1, _0813D294 @ =gUnknown_3005E70 + ldr r1, _0813D294 @ =gMultiuseListMenuTemplate str r2, [r1] ldr r0, _0813D298 @ =gUnknown_203F370 ldrb r0, [r0, 0x4] @@ -633,12 +633,12 @@ _0813D254: adds r2, r1, 0 b _0813D2A6 .align 2, 0 -_0813D280: .4byte gUnknown_20398AC +_0813D280: .4byte gBagPockets + 0x20 _0813D284: .4byte gUnknown_203F36C _0813D288: .4byte gUnknown_203F380 _0813D28C: .4byte gUnknown_203F37C -_0813D290: .4byte gUnknown_84166DB -_0813D294: .4byte gUnknown_3005E70 +_0813D290: .4byte gText_Close +_0813D294: .4byte gMultiuseListMenuTemplate _0813D298: .4byte gUnknown_203F370 _0813D29C: ldr r0, _0813D310 @ =gUnknown_203F36C @@ -715,10 +715,10 @@ sub_813D31C: @ 813D31C lsls r5, r1, 16 lsrs r5, 16 ldr r4, _0813D384 @ =gStringVar4 - ldr r1, _0813D388 @ =gUnknown_84166FF + ldr r1, _0813D388 @ =gText_FontSize0 adds r0, r4, 0 bl StringCopy - ldr r1, _0813D38C @ =gUnknown_8416226 + ldr r1, _0813D38C @ =gOtherText_UnkF9_08_Clear_01 adds r0, r4, 0 bl StringAppend ldr r6, _0813D390 @ =gStringVar1 @@ -737,7 +737,7 @@ sub_813D31C: @ 813D31C ldr r1, _0813D394 @ =gUnknown_84643B4 adds r0, r4, 0 bl StringAppend - ldr r1, _0813D398 @ =gUnknown_8416703 + ldr r1, _0813D398 @ =gText_FontSize2 adds r0, r4, 0 bl StringAppend adds r0, r4, 0 @@ -753,11 +753,11 @@ sub_813D31C: @ 813D31C bx r0 .align 2, 0 _0813D384: .4byte gStringVar4 -_0813D388: .4byte gUnknown_84166FF -_0813D38C: .4byte gUnknown_8416226 +_0813D388: .4byte gText_FontSize0 +_0813D38C: .4byte gOtherText_UnkF9_08_Clear_01 _0813D390: .4byte gStringVar1 _0813D394: .4byte gUnknown_84643B4 -_0813D398: .4byte gUnknown_8416703 +_0813D398: .4byte gText_FontSize2 thumb_func_end sub_813D31C thumb_func_start sub_813D39C @@ -806,7 +806,7 @@ _0813D3D6: lsls r1, r5, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, [r4] @@ -857,10 +857,10 @@ sub_813D430: @ 813D430 lsrs r4, 16 movs r0, 0x5 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition movs r0, 0x5 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 @@ -869,7 +869,7 @@ sub_813D430: @ 813D430 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0813D4A8 @ =gStringVar4 - ldr r1, _0813D4AC @ =gUnknown_84162B9 + ldr r1, _0813D4AC @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r5, [sp] @@ -894,7 +894,7 @@ _0813D498: _0813D4A0: .4byte gUnknown_203F36C _0813D4A4: .4byte gStringVar1 _0813D4A8: .4byte gStringVar4 -_0813D4AC: .4byte gUnknown_84162B9 +_0813D4AC: .4byte gText_TimesStrVar1 thumb_func_end sub_813D430 thumb_func_start sub_813D4B0 @@ -980,7 +980,7 @@ sub_813D538: @ 813D538 lsls r1, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetDescription @@ -1409,7 +1409,7 @@ sub_813D844: @ 813D844 ldr r4, _0813D884 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _0813D888 @ =gUnknown_203F36C ldr r0, [r0] ldr r0, [r0] @@ -1441,7 +1441,7 @@ _0813D8A4: thumb_func_start sub_813D8AC sub_813D8AC: @ 813D8AC push {r4,lr} - ldr r4, _0813D904 @ =gUnknown_20398AC + ldr r4, _0813D904 @ =gBagPockets + 0x20 adds r0, r4, 0 bl sub_809A720 ldr r3, _0813D908 @ =gUnknown_203F36C @@ -1485,7 +1485,7 @@ _0813D8EE: adds r1, r0, 0 b _0813D916 .align 2, 0 -_0813D904: .4byte gUnknown_20398AC +_0813D904: .4byte gBagPockets + 0x20 _0813D908: .4byte gUnknown_203F36C _0813D90C: .4byte gUnknown_203F370 _0813D910: @@ -1574,7 +1574,7 @@ sub_813D940: @ 813D940 movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _0813D9F4 @ =gUnknown_84162B9 + ldr r1, _0813D9F4 @ =gText_TimesStrVar1 mov r0, r9 bl StringExpandPlaceholders movs r0, 0xA @@ -1601,7 +1601,7 @@ sub_813D940: @ 813D940 _0813D9E8: .4byte gTasks+0x8 _0813D9EC: .4byte gStringVar1 _0813D9F0: .4byte gStringVar4 -_0813D9F4: .4byte gUnknown_84162B9 +_0813D9F4: .4byte gText_TimesStrVar1 thumb_func_end sub_813D940 thumb_func_start sub_813D9F8 @@ -1631,7 +1631,7 @@ sub_813D9F8: @ 813D9F8 adds r3, r5, 0 bl ConvertIntToDecimalStringN ldr r4, _0813DA60 @ =gStringVar4 - ldr r1, _0813DA64 @ =gUnknown_84162B9 + ldr r1, _0813DA64 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -1654,7 +1654,7 @@ sub_813D9F8: @ 813D9F8 .align 2, 0 _0813DA5C: .4byte gStringVar1 _0813DA60: .4byte gStringVar4 -_0813DA64: .4byte gUnknown_84162B9 +_0813DA64: .4byte gText_TimesStrVar1 thumb_func_end sub_813D9F8 thumb_func_start sub_813DA68 @@ -1748,7 +1748,7 @@ _0813DB10: lsls r1, r5, 16 lsrs r1, 16 movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _0813DB34 @ =gSpecialVar_ItemId b _0813DB46 .align 2, 0 @@ -1784,11 +1784,11 @@ _0813DB58: lsrs r4, 16 movs r0, 0x5 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition strh r0, [r7, 0x4] movs r0, 0x5 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _0813DBA8 @ =gSpecialVar_ItemId strh r0, [r1] ldr r0, _0813DBAC @ =gTasks @@ -1974,7 +1974,7 @@ _0813DC86: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x6 bl sub_813EA08 adds r4, r0, 0 @@ -2504,11 +2504,11 @@ _0813E18A: ldr r4, _0813E1F8 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E1FC @ =gUnknown_3005E70 + ldr r0, _0813E1FC @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -2534,7 +2534,7 @@ _0813E1EC: .4byte gTasks+0x8 _0813E1F0: .4byte gMain _0813E1F4: .4byte gSpecialVar_ItemId _0813E1F8: .4byte gUnknown_203F37A -_0813E1FC: .4byte gUnknown_3005E70 +_0813E1FC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E164 thumb_func_start sub_813E200 @@ -2595,14 +2595,14 @@ sub_813E274: @ 813E274 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0813E288 @ =gUnknown_841632A + ldr r2, _0813E288 @ =gText_ThereIsNoPokemon ldr r3, _0813E28C @ =sub_813E290 movs r1, 0x2 bl sub_813EB20 pop {r0} bx r0 .align 2, 0 -_0813E288: .4byte gUnknown_841632A +_0813E288: .4byte gText_ThereIsNoPokemon _0813E28C: .4byte sub_813E290 thumb_func_end sub_813E274 @@ -2646,11 +2646,11 @@ sub_813E2B8: @ 813E2B8 ldr r4, _0813E318 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E31C @ =gUnknown_3005E70 + ldr r0, _0813E31C @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -2671,7 +2671,7 @@ sub_813E2B8: @ 813E2B8 .align 2, 0 _0813E314: .4byte gTasks+0x8 _0813E318: .4byte gUnknown_203F37A -_0813E31C: .4byte gUnknown_3005E70 +_0813E31C: .4byte gMultiuseListMenuTemplate thumb_func_end sub_813E2B8 thumb_func_start sub_813E320 @@ -2726,7 +2726,7 @@ sub_813E37C: @ 813E37C adds r0, r6, r7 ldrh r1, [r0, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r0, r4, 0 @@ -2817,7 +2817,7 @@ sub_813E428: @ 813E428 ldr r1, _0813E478 @ =gStringVar1 bl CopyItemName ldr r4, _0813E47C @ =gStringVar4 - ldr r1, _0813E480 @ =gUnknown_84168F1 + ldr r1, _0813E480 @ =gText_OhNoICantBuyThat adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2834,7 +2834,7 @@ _0813E470: .4byte gTasks+0x8 _0813E474: .4byte gSpecialVar_ItemId _0813E478: .4byte gStringVar1 _0813E47C: .4byte gStringVar4 -_0813E480: .4byte gUnknown_84168F1 +_0813E480: .4byte gText_OhNoICantBuyThat _0813E484: .4byte sub_813E2B8 _0813E488: movs r0, 0x1 @@ -2857,7 +2857,7 @@ _0813E4A8: ldr r1, _0813E4D4 @ =gStringVar1 bl CopyItemName ldr r4, _0813E4D8 @ =gStringVar4 - ldr r1, _0813E4DC @ =gUnknown_8416911 + ldr r1, _0813E4DC @ =gText_HowManyWouldYouLikeToSell adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2875,7 +2875,7 @@ _0813E4CE: .align 2, 0 _0813E4D4: .4byte gStringVar1 _0813E4D8: .4byte gStringVar4 -_0813E4DC: .4byte gUnknown_8416911 +_0813E4DC: .4byte gText_HowManyWouldYouLikeToSell _0813E4E0: .4byte sub_813E5B8 thumb_func_end sub_813E428 @@ -2893,7 +2893,7 @@ sub_813E4E4: @ 813E4E4 ldr r6, _0813E544 @ =gStringVar3 ldrh r1, [r4, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -2907,7 +2907,7 @@ sub_813E4E4: @ 813E4E4 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0813E548 @ =gStringVar4 - ldr r1, _0813E54C @ =gUnknown_8416936 + ldr r1, _0813E54C @ =gText_ICanPayThisMuch_WouldThatBeOkay adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -2925,7 +2925,7 @@ sub_813E4E4: @ 813E4E4 _0813E540: .4byte gTasks+0x8 _0813E544: .4byte gStringVar3 _0813E548: .4byte gStringVar4 -_0813E54C: .4byte gUnknown_8416936 +_0813E54C: .4byte gText_ICanPayThisMuch_WouldThatBeOkay _0813E550: .4byte sub_813E554 thumb_func_end sub_813E4E4 @@ -3004,7 +3004,7 @@ sub_813E5B8: @ 813E5B8 bl ConvertIntToDecimalStringN ldr r2, _0813E65C @ =gStringVar4 mov r8, r2 - ldr r1, _0813E660 @ =gUnknown_84162B9 + ldr r1, _0813E660 @ =gText_TimesStrVar1 mov r0, r8 bl StringExpandPlaceholders movs r0, 0xA @@ -3024,7 +3024,7 @@ sub_813E5B8: @ 813E5B8 mov r3, r9 ldrh r1, [r3, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3052,7 +3052,7 @@ sub_813E5B8: @ 813E5B8 _0813E654: .4byte gTasks+0x8 _0813E658: .4byte gStringVar1 _0813E65C: .4byte gStringVar4 -_0813E660: .4byte gUnknown_84162B9 +_0813E660: .4byte gText_TimesStrVar1 _0813E664: .4byte sub_813E690 thumb_func_end sub_813E5B8 @@ -3103,7 +3103,7 @@ sub_813E690: @ 813E690 bl sub_813D9F8 ldrh r1, [r5, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3192,7 +3192,7 @@ sub_813E768: @ 813E768 ldr r6, _0813E7E0 @ =gStringVar3 ldrh r1, [r4, 0x2] movs r0, 0x5 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -3206,7 +3206,7 @@ sub_813E768: @ 813E768 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0813E7E4 @ =gStringVar4 - ldr r1, _0813E7E8 @ =gUnknown_8416959 + ldr r1, _0813E7E8 @ =gText_TurnedOverItemsWorthYen adds r0, r4, 0 bl StringExpandPlaceholders ldr r3, _0813E7EC @ =sub_813E7F0 @@ -3223,7 +3223,7 @@ _0813E7D8: .4byte gSpecialVar_ItemId _0813E7DC: .4byte gStringVar1 _0813E7E0: .4byte gStringVar3 _0813E7E4: .4byte gStringVar4 -_0813E7E8: .4byte gUnknown_8416959 +_0813E7E8: .4byte gText_TurnedOverItemsWorthYen _0813E7EC: .4byte sub_813E7F0 thumb_func_end sub_813E768 @@ -3277,11 +3277,11 @@ sub_813E7F0: @ 813E7F0 ldr r4, _0813E8C8 @ =gUnknown_203F37A subs r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_813D8AC bl sub_813D6F4 bl sub_813D204 - ldr r0, _0813E8CC @ =gUnknown_3005E70 + ldr r0, _0813E8CC @ =gMultiuseListMenuTemplate subs r4, 0xA ldrh r1, [r4, 0xA] ldrh r2, [r4, 0x8] @@ -3322,7 +3322,7 @@ _0813E8BC: .4byte gTasks+0x8 _0813E8C0: .4byte gSpecialVar_ItemId _0813E8C4: .4byte gSaveBlock1Ptr _0813E8C8: .4byte gUnknown_203F37A -_0813E8CC: .4byte gUnknown_3005E70 +_0813E8CC: .4byte gMultiuseListMenuTemplate _0813E8D0: .4byte sub_813E8D4 thumb_func_end sub_813E7F0 @@ -3376,7 +3376,7 @@ sub_813E910: @ 813E910 movs r1, 0xA movs r2, 0xC0 bl sub_814FF2C - ldr r0, _0813E998 @ =gUnknown_841F408 + ldr r0, _0813E998 @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -3418,7 +3418,7 @@ _0813E97C: bx r0 .align 2, 0 _0813E994: .4byte gUnknown_84643B8 -_0813E998: .4byte gUnknown_841F408 +_0813E998: .4byte gTMCaseMainWindowPalette _0813E99C: .4byte gUnknown_203F38C thumb_func_end sub_813E910 @@ -3642,7 +3642,7 @@ sub_813EB20: @ 813EB20 bl AddWindow strb r0, [r4, 0x5] _0813EB44: - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x5] @@ -3685,7 +3685,7 @@ sub_813EB7C: @ 813EB7C str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 @@ -3710,7 +3710,7 @@ sub_813EBA8: @ 813EBA8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/buy_menu_helpers.s b/asm/buy_menu_helpers.s index 734e648b3..04caf30a4 100644 --- a/asm/buy_menu_helpers.s +++ b/asm/buy_menu_helpers.s @@ -141,7 +141,7 @@ sub_813F75C: @ 813F75C adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 str r4, [sp] @@ -209,7 +209,7 @@ sub_813F7D8: @ 813F7D8 str r3, [sp, 0xC] movs r2, 0x2 movs r3, 0 - bl sub_80BF5D0 + bl CreateYesNoMenuWithCallbacks add sp, 0x10 pop {r0} bx r0 diff --git a/asm/cable_club.s b/asm/cable_club.s index 45967283c..a403aa659 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -91,7 +91,7 @@ sub_80807E8: @ 80807E8 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame adds r0, r4, 0 movs r1, 0x3 bl CopyWindowToVram diff --git a/asm/coord_event_weather.s b/asm/coord_event_weather.s deleted file mode 100644 index 8c987c6e2..000000000 --- a/asm/coord_event_weather.s +++ /dev/null @@ -1,105 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start nullsub_27 -nullsub_27: @ 806E7A8 - bx lr - thumb_func_end nullsub_27 - - thumb_func_start nullsub_28 -nullsub_28: @ 806E7AC - bx lr - thumb_func_end nullsub_28 - - thumb_func_start nullsub_29 -nullsub_29: @ 806E7B0 - bx lr - thumb_func_end nullsub_29 - - thumb_func_start nullsub_30 -nullsub_30: @ 806E7B4 - bx lr - thumb_func_end nullsub_30 - - thumb_func_start nullsub_31 -nullsub_31: @ 806E7B8 - bx lr - thumb_func_end nullsub_31 - - thumb_func_start nullsub_32 -nullsub_32: @ 806E7BC - bx lr - thumb_func_end nullsub_32 - - thumb_func_start nullsub_33 -nullsub_33: @ 806E7C0 - bx lr - thumb_func_end nullsub_33 - - thumb_func_start nullsub_34 -nullsub_34: @ 806E7C4 - bx lr - thumb_func_end nullsub_34 - - thumb_func_start nullsub_35 -nullsub_35: @ 806E7C8 - bx lr - thumb_func_end nullsub_35 - - thumb_func_start nullsub_36 -nullsub_36: @ 806E7CC - bx lr - thumb_func_end nullsub_36 - - thumb_func_start nullsub_37 -nullsub_37: @ 806E7D0 - bx lr - thumb_func_end nullsub_37 - - thumb_func_start nullsub_38 -nullsub_38: @ 806E7D4 - bx lr - thumb_func_end nullsub_38 - - thumb_func_start nullsub_39 -nullsub_39: @ 806E7D8 - bx lr - thumb_func_end nullsub_39 - - thumb_func_start trigger_activate_weather -trigger_activate_weather: @ 806E7DC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r2, 0 - ldr r3, _0806E7FC @ =gUnknown_83A72A8 -_0806E7E6: - lsls r1, r2, 3 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, r4 - bne _0806E800 - adds r0, r3, 0x4 - adds r0, r1, r0 - ldr r0, [r0] - bl _call_via_r0 - b _0806E80A - .align 2, 0 -_0806E7FC: .4byte gUnknown_83A72A8 -_0806E800: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _0806E7E6 -_0806E80A: - pop {r4} - pop {r0} - bx r0 - thumb_func_end trigger_activate_weather - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/credits.s b/asm/credits.s index bf8c5eeac..0413aac97 100644 --- a/asm/credits.s +++ b/asm/credits.s @@ -241,7 +241,7 @@ _080F3B5E: bl sub_80F3A74 bl sub_80F3AA4 movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt ldr r0, _080F3BC8 @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 @@ -325,7 +325,7 @@ _080F3C64: bl sub_80F3AA4 bl sub_80F3AC4 movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt ldr r0, _080F3C8C @ =gPlttBufferUnfaded movs r2, 0xFF lsls r2, 1 diff --git a/asm/daycare.s b/asm/daycare.s index 3b7d7ffe0..5f1b787af 100644 --- a/asm/daycare.s +++ b/asm/daycare.s @@ -2714,7 +2714,7 @@ _080467C8: adds r0, r7, 0 adds r1, r4, 0 bl StringAppend - ldr r1, _08046830 @ =gUnknown_84161C8 + ldr r1, _08046830 @ =gOtherText_Exit adds r0, r7, 0 bl StringAppend add sp, 0x28 @@ -2726,7 +2726,7 @@ _080467C8: bx r0 .align 2, 0 _0804682C: .4byte gUnknown_825F83C -_08046830: .4byte gUnknown_84161C8 +_08046830: .4byte gOtherText_Exit thumb_func_end GetDaycareLevelMenuText thumb_func_start GetDaycareLevelMenuLevelText @@ -3008,10 +3008,10 @@ _08046A46: ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0xA] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 @@ -3032,10 +3032,10 @@ _08046A7C: ldrb r0, [r4, 0x8] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0xA] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0xA] bl RemoveWindow adds r0, r5, 0 @@ -3060,7 +3060,7 @@ ShowDaycareLevelMenu: @ 8046AB8 lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame mov r1, sp ldr r0, _08046B1C @ =gUnknown_825F814 ldm r0!, {r2,r3,r5} diff --git a/asm/diploma.s b/asm/diploma.s index d0b652619..31f0d368d 100644 --- a/asm/diploma.s +++ b/asm/diploma.s @@ -279,7 +279,7 @@ sub_80F4E24: @ 80F4E24 bl ResetPaletteFade bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop pop {r0} bx r0 thumb_func_end sub_80F4E24 diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s index eef234a71..aa5b2d8f6 100644 --- a/asm/egg_hatch.s +++ b/asm/egg_hatch.s @@ -621,7 +621,7 @@ _08047090: bl FreeAllSpritePalettes bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop bl m4aSoundVSyncOn b _0804724A .align 2, 0 diff --git a/asm/evolution_scene.s b/asm/evolution_scene.s index d343c68d4..c02eef927 100644 --- a/asm/evolution_scene.s +++ b/asm/evolution_scene.s @@ -171,25 +171,25 @@ EvolutionScene: @ 80CDDF4 movs r1, 0 bl SetGpuReg bl ResetPaletteFade - ldr r0, _080CE080 @ =gUnknown_2022974 + ldr r0, _080CE080 @ =gBattle_BG0_X movs r2, 0 strh r2, [r0] - ldr r0, _080CE084 @ =gUnknown_2022976 + ldr r0, _080CE084 @ =gBattle_BG0_Y strh r2, [r0] - ldr r0, _080CE088 @ =gUnknown_2022978 + ldr r0, _080CE088 @ =gBattle_BG1_X strh r2, [r0] - ldr r0, _080CE08C @ =gUnknown_202297A + ldr r0, _080CE08C @ =gBattle_BG1_Y strh r2, [r0] - ldr r0, _080CE090 @ =gUnknown_202297C + ldr r0, _080CE090 @ =gBattle_BG2_X strh r2, [r0] - ldr r0, _080CE094 @ =gUnknown_202297E + ldr r0, _080CE094 @ =gBattle_BG2_Y strh r2, [r0] - ldr r1, _080CE098 @ =gUnknown_2022980 + ldr r1, _080CE098 @ =gBattle_BG3_X movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r0, _080CE09C @ =gUnknown_2022982 + ldr r0, _080CE09C @ =gBattle_BG3_Y movs r1, 0 strh r1, [r0] ldr r1, _080CE0A0 @ =gUnknown_2022B50 @@ -198,7 +198,7 @@ EvolutionScene: @ 80CDDF4 bl sub_800F34C bl LoadBattleTextboxAndBackground bl ResetSpriteData - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl FreeAllSpritePalettes ldr r0, _080CE0A4 @ =gReservedSpritePaletteCount @@ -401,14 +401,14 @@ EvolutionScene: @ 80CDDF4 bx r0 .align 2, 0 _080CE07C: .4byte 0x05006000 -_080CE080: .4byte gUnknown_2022974 -_080CE084: .4byte gUnknown_2022976 -_080CE088: .4byte gUnknown_2022978 -_080CE08C: .4byte gUnknown_202297A -_080CE090: .4byte gUnknown_202297C -_080CE094: .4byte gUnknown_202297E -_080CE098: .4byte gUnknown_2022980 -_080CE09C: .4byte gUnknown_2022982 +_080CE080: .4byte gBattle_BG0_X +_080CE084: .4byte gBattle_BG0_Y +_080CE088: .4byte gBattle_BG1_X +_080CE08C: .4byte gBattle_BG1_Y +_080CE090: .4byte gBattle_BG2_X +_080CE094: .4byte gBattle_BG2_Y +_080CE098: .4byte gBattle_BG3_X +_080CE09C: .4byte gBattle_BG3_Y _080CE0A0: .4byte gUnknown_2022B50 _080CE0A4: .4byte gReservedSpritePaletteCount _080CE0A8: .4byte gUnknown_2039A20 @@ -494,24 +494,24 @@ CB2_EvolutionSceneLoadGraphics: @ 80CE0E8 movs r1, 0 bl SetGpuReg bl ResetPaletteFade - ldr r0, _080CE290 @ =gUnknown_2022974 + ldr r0, _080CE290 @ =gBattle_BG0_X strh r4, [r0] - ldr r0, _080CE294 @ =gUnknown_2022976 + ldr r0, _080CE294 @ =gBattle_BG0_Y strh r4, [r0] - ldr r0, _080CE298 @ =gUnknown_2022978 + ldr r0, _080CE298 @ =gBattle_BG1_X strh r4, [r0] - ldr r0, _080CE29C @ =gUnknown_202297A + ldr r0, _080CE29C @ =gBattle_BG1_Y strh r4, [r0] - ldr r0, _080CE2A0 @ =gUnknown_202297C + ldr r0, _080CE2A0 @ =gBattle_BG2_X strh r4, [r0] - ldr r0, _080CE2A4 @ =gUnknown_202297E + ldr r0, _080CE2A4 @ =gBattle_BG2_Y strh r4, [r0] - ldr r1, _080CE2A8 @ =gUnknown_2022980 + ldr r1, _080CE2A8 @ =gBattle_BG3_X movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r0, _080CE2AC @ =gUnknown_2022982 + ldr r0, _080CE2AC @ =gBattle_BG3_Y strh r4, [r0] ldr r1, _080CE2B0 @ =gUnknown_2022B50 movs r0, 0x9 @@ -608,14 +608,14 @@ _080CE280: .4byte gTasks _080CE284: .4byte gUnknown_2039A20 _080CE288: .4byte gPlayerParty _080CE28C: .4byte 0x05006000 -_080CE290: .4byte gUnknown_2022974 -_080CE294: .4byte gUnknown_2022976 -_080CE298: .4byte gUnknown_2022978 -_080CE29C: .4byte gUnknown_202297A -_080CE2A0: .4byte gUnknown_202297C -_080CE2A4: .4byte gUnknown_202297E -_080CE2A8: .4byte gUnknown_2022980 -_080CE2AC: .4byte gUnknown_2022982 +_080CE290: .4byte gBattle_BG0_X +_080CE294: .4byte gBattle_BG0_Y +_080CE298: .4byte gBattle_BG1_X +_080CE29C: .4byte gBattle_BG1_Y +_080CE2A0: .4byte gBattle_BG2_X +_080CE2A4: .4byte gBattle_BG2_Y +_080CE2A8: .4byte gBattle_BG3_X +_080CE2AC: .4byte gBattle_BG3_Y _080CE2B0: .4byte gUnknown_2022B50 _080CE2B4: .4byte gReservedSpritePaletteCount _080CE2B8: .4byte gUnknown_82350AC @@ -691,37 +691,37 @@ _080CE34C: ldr r1, _080CE398 @ =gReservedSpritePaletteCount movs r0, 0x4 strb r0, [r1] - ldr r0, _080CE39C @ =gUnknown_2022974 + ldr r0, _080CE39C @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080CE3A0 @ =gUnknown_2022976 + ldr r0, _080CE3A0 @ =gBattle_BG0_Y strh r1, [r0] - ldr r0, _080CE3A4 @ =gUnknown_2022978 + ldr r0, _080CE3A4 @ =gBattle_BG1_X strh r1, [r0] - ldr r0, _080CE3A8 @ =gUnknown_202297A + ldr r0, _080CE3A8 @ =gBattle_BG1_Y strh r1, [r0] - ldr r0, _080CE3AC @ =gUnknown_202297C + ldr r0, _080CE3AC @ =gBattle_BG2_X strh r1, [r0] - ldr r0, _080CE3B0 @ =gUnknown_202297E + ldr r0, _080CE3B0 @ =gBattle_BG2_Y strh r1, [r0] - ldr r2, _080CE3B4 @ =gUnknown_2022980 + ldr r2, _080CE3B4 @ =gBattle_BG3_X movs r3, 0x80 lsls r3, 1 adds r0, r3, 0 strh r0, [r2] - ldr r0, _080CE3B8 @ =gUnknown_2022982 + ldr r0, _080CE3B8 @ =gBattle_BG3_Y strh r1, [r0] b _080CE4EC .align 2, 0 _080CE398: .4byte gReservedSpritePaletteCount -_080CE39C: .4byte gUnknown_2022974 -_080CE3A0: .4byte gUnknown_2022976 -_080CE3A4: .4byte gUnknown_2022978 -_080CE3A8: .4byte gUnknown_202297A -_080CE3AC: .4byte gUnknown_202297C -_080CE3B0: .4byte gUnknown_202297E -_080CE3B4: .4byte gUnknown_2022980 -_080CE3B8: .4byte gUnknown_2022982 +_080CE39C: .4byte gBattle_BG0_X +_080CE3A0: .4byte gBattle_BG0_Y +_080CE3A4: .4byte gBattle_BG1_X +_080CE3A8: .4byte gBattle_BG1_Y +_080CE3AC: .4byte gBattle_BG2_X +_080CE3B0: .4byte gBattle_BG2_Y +_080CE3B4: .4byte gBattle_BG3_X +_080CE3B8: .4byte gBattle_BG3_Y _080CE3BC: bl ResetPaletteFade ldr r0, _080CE3D8 @ =nullsub_76 @@ -1027,24 +1027,24 @@ TradeEvolutionScene: @ 80CE540 mov r1, sp ldrh r1, [r1, 0x14] strh r1, [r0, 0x1C] - ldr r0, _080CE6E4 @ =gUnknown_2022974 + ldr r0, _080CE6E4 @ =gBattle_BG0_X strh r4, [r0] - ldr r0, _080CE6E8 @ =gUnknown_2022976 + ldr r0, _080CE6E8 @ =gBattle_BG0_Y strh r4, [r0] - ldr r0, _080CE6EC @ =gUnknown_2022978 + ldr r0, _080CE6EC @ =gBattle_BG1_X strh r4, [r0] - ldr r0, _080CE6F0 @ =gUnknown_202297A + ldr r0, _080CE6F0 @ =gBattle_BG1_Y strh r4, [r0] - ldr r0, _080CE6F4 @ =gUnknown_202297C + ldr r0, _080CE6F4 @ =gBattle_BG2_X strh r4, [r0] - ldr r0, _080CE6F8 @ =gUnknown_202297E + ldr r0, _080CE6F8 @ =gBattle_BG2_Y strh r4, [r0] - ldr r1, _080CE6FC @ =gUnknown_2022980 + ldr r1, _080CE6FC @ =gBattle_BG3_X movs r2, 0x80 lsls r2, 1 adds r0, r2, 0 strh r0, [r1] - ldr r0, _080CE700 @ =gUnknown_2022982 + ldr r0, _080CE700 @ =gBattle_BG3_Y strh r4, [r0] ldr r2, _080CE704 @ =gTextFlags ldrb r0, [r2] @@ -1077,14 +1077,14 @@ _080CE6D4: .4byte gSprites _080CE6D8: .4byte nullsub_10 _080CE6DC: .4byte sub_80CF53C _080CE6E0: .4byte gTasks -_080CE6E4: .4byte gUnknown_2022974 -_080CE6E8: .4byte gUnknown_2022976 -_080CE6EC: .4byte gUnknown_2022978 -_080CE6F0: .4byte gUnknown_202297A -_080CE6F4: .4byte gUnknown_202297C -_080CE6F8: .4byte gUnknown_202297E -_080CE6FC: .4byte gUnknown_2022980 -_080CE700: .4byte gUnknown_2022982 +_080CE6E4: .4byte gBattle_BG0_X +_080CE6E8: .4byte gBattle_BG0_Y +_080CE6EC: .4byte gBattle_BG1_X +_080CE6F0: .4byte gBattle_BG1_Y +_080CE6F4: .4byte gBattle_BG2_X +_080CE6F8: .4byte gBattle_BG2_Y +_080CE6FC: .4byte gBattle_BG3_X +_080CE700: .4byte gBattle_BG3_Y _080CE704: .4byte gTextFlags _080CE708: .4byte sub_80D00D8 _080CE70C: .4byte sub_80CE72C @@ -3981,105 +3981,105 @@ nullsub_76: @ 80D004C thumb_func_start sub_80D0050 sub_80D0050: @ 80D0050 push {lr} - ldr r0, _080D00B8 @ =gUnknown_2022974 + ldr r0, _080D00B8 @ =gBattle_BG0_X ldrh r1, [r0] movs r0, 0x10 bl SetGpuReg - ldr r0, _080D00BC @ =gUnknown_2022976 + ldr r0, _080D00BC @ =gBattle_BG0_Y ldrh r1, [r0] movs r0, 0x12 bl SetGpuReg - ldr r0, _080D00C0 @ =gUnknown_2022978 + ldr r0, _080D00C0 @ =gBattle_BG1_X ldrh r1, [r0] movs r0, 0x14 bl SetGpuReg - ldr r0, _080D00C4 @ =gUnknown_202297A + ldr r0, _080D00C4 @ =gBattle_BG1_Y ldrh r1, [r0] movs r0, 0x16 bl SetGpuReg - ldr r0, _080D00C8 @ =gUnknown_202297C + ldr r0, _080D00C8 @ =gBattle_BG2_X ldrh r1, [r0] movs r0, 0x18 bl SetGpuReg - ldr r0, _080D00CC @ =gUnknown_202297E + ldr r0, _080D00CC @ =gBattle_BG2_Y ldrh r1, [r0] movs r0, 0x1A bl SetGpuReg - ldr r0, _080D00D0 @ =gUnknown_2022980 + ldr r0, _080D00D0 @ =gBattle_BG3_X ldrh r1, [r0] movs r0, 0x1C bl SetGpuReg - ldr r0, _080D00D4 @ =gUnknown_2022982 + ldr r0, _080D00D4 @ =gBattle_BG3_Y ldrh r1, [r0] movs r0, 0x1E bl SetGpuReg bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .align 2, 0 -_080D00B8: .4byte gUnknown_2022974 -_080D00BC: .4byte gUnknown_2022976 -_080D00C0: .4byte gUnknown_2022978 -_080D00C4: .4byte gUnknown_202297A -_080D00C8: .4byte gUnknown_202297C -_080D00CC: .4byte gUnknown_202297E -_080D00D0: .4byte gUnknown_2022980 -_080D00D4: .4byte gUnknown_2022982 +_080D00B8: .4byte gBattle_BG0_X +_080D00BC: .4byte gBattle_BG0_Y +_080D00C0: .4byte gBattle_BG1_X +_080D00C4: .4byte gBattle_BG1_Y +_080D00C8: .4byte gBattle_BG2_X +_080D00CC: .4byte gBattle_BG2_Y +_080D00D0: .4byte gBattle_BG3_X +_080D00D4: .4byte gBattle_BG3_Y thumb_func_end sub_80D0050 thumb_func_start sub_80D00D8 sub_80D00D8: @ 80D00D8 push {lr} - ldr r0, _080D0140 @ =gUnknown_2022974 + ldr r0, _080D0140 @ =gBattle_BG0_X ldrh r1, [r0] movs r0, 0x10 bl SetGpuReg - ldr r0, _080D0144 @ =gUnknown_2022976 + ldr r0, _080D0144 @ =gBattle_BG0_Y ldrh r1, [r0] movs r0, 0x12 bl SetGpuReg - ldr r0, _080D0148 @ =gUnknown_2022978 + ldr r0, _080D0148 @ =gBattle_BG1_X ldrh r1, [r0] movs r0, 0x14 bl SetGpuReg - ldr r0, _080D014C @ =gUnknown_202297A + ldr r0, _080D014C @ =gBattle_BG1_Y ldrh r1, [r0] movs r0, 0x16 bl SetGpuReg - ldr r0, _080D0150 @ =gUnknown_202297C + ldr r0, _080D0150 @ =gBattle_BG2_X ldrh r1, [r0] movs r0, 0x18 bl SetGpuReg - ldr r0, _080D0154 @ =gUnknown_202297E + ldr r0, _080D0154 @ =gBattle_BG2_Y ldrh r1, [r0] movs r0, 0x1A bl SetGpuReg - ldr r0, _080D0158 @ =gUnknown_2022980 + ldr r0, _080D0158 @ =gBattle_BG3_X ldrh r1, [r0] movs r0, 0x1C bl SetGpuReg - ldr r0, _080D015C @ =gUnknown_2022982 + ldr r0, _080D015C @ =gBattle_BG3_Y ldrh r1, [r0] movs r0, 0x1E bl SetGpuReg bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 .align 2, 0 -_080D0140: .4byte gUnknown_2022974 -_080D0144: .4byte gUnknown_2022976 -_080D0148: .4byte gUnknown_2022978 -_080D014C: .4byte gUnknown_202297A -_080D0150: .4byte gUnknown_202297C -_080D0154: .4byte gUnknown_202297E -_080D0158: .4byte gUnknown_2022980 -_080D015C: .4byte gUnknown_2022982 +_080D0140: .4byte gBattle_BG0_X +_080D0144: .4byte gBattle_BG0_Y +_080D0148: .4byte gBattle_BG1_X +_080D014C: .4byte gBattle_BG1_Y +_080D0150: .4byte gBattle_BG2_X +_080D0154: .4byte gBattle_BG2_Y +_080D0158: .4byte gBattle_BG3_X +_080D015C: .4byte gBattle_BG3_Y thumb_func_end sub_80D00D8 thumb_func_start sub_80D0160 @@ -4225,9 +4225,9 @@ sub_80D025C: @ 80D025C push {r6,r7} lsls r0, 24 lsrs r5, r0, 24 - ldr r0, _080D0288 @ =gUnknown_2022978 + ldr r0, _080D0288 @ =gBattle_BG1_X mov r8, r0 - ldr r1, _080D028C @ =gUnknown_202297A + ldr r1, _080D028C @ =gBattle_BG1_Y mov r9, r1 ldr r1, _080D0290 @ =gTasks lsls r0, r5, 2 @@ -4238,18 +4238,18 @@ sub_80D025C: @ 80D025C ldrsh r0, [r0, r2] cmp r0, 0 bne _080D029C - ldr r7, _080D0294 @ =gUnknown_202297C - ldr r6, _080D0298 @ =gUnknown_202297E + ldr r7, _080D0294 @ =gBattle_BG2_X + ldr r6, _080D0298 @ =gBattle_BG2_Y b _080D02A0 .align 2, 0 -_080D0288: .4byte gUnknown_2022978 -_080D028C: .4byte gUnknown_202297A +_080D0288: .4byte gBattle_BG1_X +_080D028C: .4byte gBattle_BG1_Y _080D0290: .4byte gTasks -_080D0294: .4byte gUnknown_202297C -_080D0298: .4byte gUnknown_202297E +_080D0294: .4byte gBattle_BG2_X +_080D0298: .4byte gBattle_BG2_Y _080D029C: - ldr r7, _080D0328 @ =gUnknown_2022980 - ldr r6, _080D032C @ =gUnknown_2022982 + ldr r7, _080D0328 @ =gBattle_BG3_X + ldr r6, _080D032C @ =gBattle_BG3_Y _080D02A0: lsls r4, r5, 2 adds r4, r5 @@ -4314,8 +4314,8 @@ _080D031A: pop {r0} bx r0 .align 2, 0 -_080D0328: .4byte gUnknown_2022980 -_080D032C: .4byte gUnknown_2022982 +_080D0328: .4byte gBattle_BG3_X +_080D032C: .4byte gBattle_BG3_Y _080D0330: .4byte sub_80D0160 thumb_func_end sub_80D025C @@ -4527,12 +4527,12 @@ sub_80D04E8: @ 80D04E8 movs r0, 0x50 movs r1, 0 bl SetGpuReg - ldr r0, _080D0544 @ =gUnknown_2022978 + ldr r0, _080D0544 @ =gBattle_BG1_X movs r1, 0 strh r1, [r0] - ldr r0, _080D0548 @ =gUnknown_202297A + ldr r0, _080D0548 @ =gBattle_BG1_Y strh r1, [r0] - ldr r0, _080D054C @ =gUnknown_202297C + ldr r0, _080D054C @ =gBattle_BG2_X strh r1, [r0] movs r0, 0x1 movs r1, 0x5 @@ -4562,9 +4562,9 @@ sub_80D04E8: @ 80D04E8 pop {r0} bx r0 .align 2, 0 -_080D0544: .4byte gUnknown_2022978 -_080D0548: .4byte gUnknown_202297A -_080D054C: .4byte gUnknown_202297C +_080D0544: .4byte gBattle_BG1_X +_080D0548: .4byte gBattle_BG1_Y +_080D054C: .4byte gBattle_BG2_X _080D0550: .4byte gUnknown_2039A24 thumb_func_end sub_80D04E8 diff --git a/asm/field_effect.s b/asm/field_effect.s index 5aa0772dd..785e36266 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -2542,7 +2542,7 @@ sub_8084708: @ 8084708 movs r0, 0x8 bl SetPlayerAvatarTransitionFlags movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08084760: ldr r0, _08084780 @ =sub_8084484 bl FindTaskIdByFunc @@ -7213,7 +7213,7 @@ sub_8086B30: @ 8086B30 lsrs r0, 24 bl DestroyTask movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08086B96: pop {r4,r5} pop {r0} diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index ef1c75939..145521094 100644 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -21605,7 +21605,7 @@ _080677EA: ands r0, r1 strb r0, [r5, 0x1] _08067822: - ldr r1, _08067850 @ =gUnknown_825E074 + ldr r1, _08067850 @ =gSineTable movs r2, 0x3A ldrsh r0, [r4, r2] lsls r0, 1 @@ -21629,7 +21629,7 @@ _08067822: strb r0, [r5] b _080678B6 .align 2, 0 -_08067850: .4byte gUnknown_825E074 +_08067850: .4byte gSineTable _08067854: ldrh r0, [r4, 0x36] adds r0, 0x1 @@ -21697,7 +21697,7 @@ sub_80678C0: @ 80678C0 movs r0, 0xFF ands r2, r0 strh r2, [r1, 0x3C] - ldr r3, _080678EC @ =gUnknown_825E074 + ldr r3, _080678EC @ =gSineTable movs r4, 0x3C ldrsh r0, [r1, r4] lsls r0, 1 @@ -21715,7 +21715,7 @@ _080678E6: pop {r1} bx r1 .align 2, 0 -_080678EC: .4byte gUnknown_825E074 +_080678EC: .4byte gSineTable thumb_func_end sub_80678C0 thumb_func_start sub_80678F0 diff --git a/asm/field_message_box.s b/asm/field_message_box.s index 78a5f8c8c..46f4c3f8e 100644 --- a/asm/field_message_box.s +++ b/asm/field_message_box.s @@ -83,7 +83,7 @@ _080693D4: _080693DA: movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame _080693E2: ldrh r0, [r5, 0x8] adds r0, 0x1 @@ -250,7 +250,7 @@ HideFieldMessageBox: @ 80694F4 bl task_del_textbox movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldr r1, _0806950C @ =gUnknown_203709C movs r0, 0 strb r0, [r1] @@ -293,7 +293,7 @@ sub_8069538: @ 8069538 bl task_del_textbox movs r0, 0 movs r1, 0x1 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r1, _08069550 @ =gUnknown_203709C movs r0, 0 strb r0, [r1] diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index df2588587..b7824ee84 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -4769,7 +4769,7 @@ _0805D748: strh r6, [r0, 0x26] movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldrh r0, [r5, 0xA] adds r0, 0x1 strh r0, [r5, 0xA] @@ -5043,7 +5043,7 @@ sub_805D980: @ 805D980 bl UnfreezeMapObjects movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame ldr r0, _0805D9C0 @ =sub_805D304 bl FindTaskIdByFunc lsls r0, 24 diff --git a/asm/field_screen_effect.s b/asm/field_screen_effect.s index a8477a33f..24ca7a19a 100644 --- a/asm/field_screen_effect.s +++ b/asm/field_screen_effect.s @@ -135,12 +135,12 @@ _0807EEE0: beq _0807EF6C b _0807EF76 _0807EEE6: - ldr r0, _0807EF0C @ =gUnknown_2039600 + ldr r0, _0807EF0C @ =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, _0807EF10 @ =gUnknown_2038700 + ldr r1, _0807EF10 @ =gScanlineEffectRegBuffers adds r0, r1 movs r2, 0x2 ldrsh r1, [r4, r2] @@ -153,15 +153,15 @@ _0807EEE6: strh r0, [r4] b _0807EF76 .align 2, 0 -_0807EF0C: .4byte gUnknown_2039600 -_0807EF10: .4byte gUnknown_2038700 +_0807EF0C: .4byte gScanlineEffect +_0807EF10: .4byte gScanlineEffectRegBuffers _0807EF14: - ldr r0, _0807EF5C @ =gUnknown_2039600 + ldr r0, _0807EF5C @ =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 lsls r0, 7 - ldr r1, _0807EF60 @ =gUnknown_2038700 + ldr r1, _0807EF60 @ =gScanlineEffectRegBuffers adds r0, r1 movs r6, 0x2 ldrsh r1, [r4, r6] @@ -186,19 +186,19 @@ _0807EF14: ldrsh r0, [r4, r3] cmp r0, 0x1 bne _0807EF64 - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x2 strh r0, [r4] b _0807EF76 .align 2, 0 -_0807EF5C: .4byte gUnknown_2039600 -_0807EF60: .4byte gUnknown_2038700 +_0807EF5C: .4byte gScanlineEffect +_0807EF60: .4byte gScanlineEffectRegBuffers _0807EF64: adds r0, r5, 0 bl DestroyTask b _0807EF76 _0807EF6C: - bl dp12_8087EA4 + bl ScanlineEffect_Clear adds r0, r5, 0 bl DestroyTask _0807EF76: @@ -344,7 +344,7 @@ sub_807F074: @ 807F074 lsrs r0, 24 cmp r0, 0 beq _0807F0A2 - ldr r4, _0807F0A8 @ =gUnknown_2038700 + ldr r4, _0807F0A8 @ =gScanlineEffectRegBuffers ldr r1, _0807F0AC @ =gUnknown_83C68D4 lsls r0, 1 adds r0, r1 @@ -365,7 +365,7 @@ _0807F0A2: pop {r0} bx r0 .align 2, 0 -_0807F0A8: .4byte gUnknown_2038700 +_0807F0A8: .4byte gScanlineEffectRegBuffers _0807F0AC: .4byte gUnknown_83C68D4 thumb_func_end sub_807F074 @@ -869,7 +869,7 @@ _0807F4A8: adds r7, r0, r1 strh r5, [r7, 0xA] movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt adds r0, r5, 0 movs r1, 0 bl FillWindowPixelBuffer diff --git a/asm/field_specials.s b/asm/field_specials.s index 4c0b97151..d98798352 100644 --- a/asm/field_specials.s +++ b/asm/field_specials.s @@ -756,7 +756,7 @@ sub_80CAB78: @ 80CAB78 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_80CBD94 + bl GetStarterPokemon lsls r0, 16 lsrs r6, r0, 16 bl CalculatePlayerPartyCount @@ -2854,7 +2854,7 @@ sub_80CBBAC: @ 80CBBAC lsrs r0, 24 movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _080CBC28 @ =gUnknown_2039A14 ldr r0, [r0] bl Free @@ -3078,15 +3078,15 @@ _080CBD7C: .4byte gTasks sub_80CBD80: @ 80CBD80 push {lr} movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 movs r0, 0x8 bl SetPlayerAvatarTransitionFlags pop {r0} bx r0 thumb_func_end sub_80CBD80 - thumb_func_start sub_80CBD94 -sub_80CBD94: @ 80CBD94 + thumb_func_start GetStarterPokemon +GetStarterPokemon: @ 80CBD94 push {lr} lsls r0, 16 lsrs r1, r0, 16 @@ -3094,31 +3094,31 @@ sub_80CBD94: @ 80CBD94 bls _080CBDA0 movs r1, 0 _080CBDA0: - ldr r0, _080CBDAC @ =gUnknown_83F5D2C + ldr r0, _080CBDAC @ =sStarterMon lsls r1, 1 adds r1, r0 ldrh r0, [r1] pop {r1} bx r1 .align 2, 0 -_080CBDAC: .4byte gUnknown_83F5D2C - thumb_func_end sub_80CBD94 +_080CBDAC: .4byte sStarterMon + thumb_func_end GetStarterPokemon - thumb_func_start sub_80CBDB0 -sub_80CBDB0: @ 80CBDB0 + thumb_func_start ScrSpecial_GetStarter +ScrSpecial_GetStarter: @ 80CBDB0 push {lr} ldr r0, _080CBDC8 @ =0x00004031 bl VarGet lsls r0, 16 lsrs r0, 16 - bl sub_80CBD94 + bl GetStarterPokemon lsls r0, 16 lsrs r0, 16 pop {r1} bx r1 .align 2, 0 _080CBDC8: .4byte 0x00004031 - thumb_func_end sub_80CBDB0 + thumb_func_end ScrSpecial_GetStarter thumb_func_start sub_80CBDCC sub_80CBDCC: @ 80CBDCC @@ -5542,7 +5542,7 @@ sub_80CD098: @ 80CD098 str r3, [sp] movs r0, 0 movs r3, 0 - bl sub_8006300 + bl CreateTextCursorSpriteForOakSpeech ldr r1, _080CD0DC @ =gUnknown_2039A1B strb r0, [r1] b _080CD0E8 diff --git a/asm/field_weather.s b/asm/field_weather.s index 49a1ed95b..416fd90d4 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -2250,7 +2250,7 @@ _0807AD14: movs r1, 0x7F ands r0, r1 strh r0, [r2] - ldr r1, _0807AD5C @ =gUnknown_825E074 + ldr r1, _0807AD5C @ =gSineTable movs r3, 0 ldrsh r0, [r2, r3] lsls r0, 1 @@ -2278,7 +2278,7 @@ _0807AD54: strh r0, [r4] b _0807ADA0 .align 2, 0 -_0807AD5C: .4byte gUnknown_825E074 +_0807AD5C: .4byte gSineTable _0807AD60: .4byte 0x0000073c _0807AD64: .4byte 0x0000073e _0807AD68: diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s index fd9b2361a..0330bcbaf 100644 --- a/asm/field_weather_effects.s +++ b/asm/field_weather_effects.s @@ -1972,7 +1972,7 @@ sub_807C1AC: @ 807C1AC movs r1, 0xFF ands r0, r1 strh r0, [r4, 0x34] - ldr r1, _0807C224 @ =gUnknown_825E074 + ldr r1, _0807C224 @ =gSineTable movs r3, 0x34 ldrsh r0, [r4, r3] lsls r0, 1 @@ -2020,7 +2020,7 @@ _0807C210: subs r0, r1 b _0807C23C .align 2, 0 -_0807C224: .4byte gUnknown_825E074 +_0807C224: .4byte gSineTable _0807C228: .4byte gSpriteCoordOffsetX _0807C22C: .4byte 0x000001ff _0807C230: .4byte 0xffffff00 @@ -4417,7 +4417,7 @@ sub_807D4C4: @ 807D4C4 ldr r2, [r0] ldr r0, _0807D52C @ =0x00000704 adds r4, r2, r0 - ldr r6, _0807D530 @ =gUnknown_825E074 + ldr r6, _0807D530 @ =gSineTable ldr r1, _0807D534 @ =0x00000712 adds r5, r2, r1 ldrh r0, [r5] @@ -4465,7 +4465,7 @@ sub_807D4C4: @ 807D4C4 .align 2, 0 _0807D528: .4byte gUnknown_83C2BBC _0807D52C: .4byte 0x00000704 -_0807D530: .4byte gUnknown_825E074 +_0807D530: .4byte gSineTable _0807D534: .4byte 0x00000712 _0807D538: .4byte gSpriteCoordOffsetX _0807D53C: .4byte 0x0000070e @@ -4856,7 +4856,7 @@ SandstormSpriteCallback3: @ 807D81C _0807D83A: movs r0, 0x2E ldrsh r4, [r5, r0] - ldr r3, _0807D88C @ =gUnknown_825E074 + ldr r3, _0807D88C @ =gSineTable movs r2, 0x30 ldrsh r1, [r5, r2] lsls r0, r1, 1 @@ -4897,7 +4897,7 @@ _0807D886: pop {r0} bx r0 .align 2, 0 -_0807D88C: .4byte gUnknown_825E074 +_0807D88C: .4byte gSineTable thumb_func_end SandstormSpriteCallback3 thumb_func_start Weather11_InitVars diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s index 43ec5eede..c74165999 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -508,7 +508,7 @@ _080F21B2: bl memcpy movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F2214 @ =gUnknown_8419F54 movs r0, 0 str r0, [sp] @@ -723,7 +723,7 @@ _080F22F2: strh r0, [r1] movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r4, r5 ldr r0, _080F239C @ =sub_80F23A0 str r0, [r4] @@ -1265,7 +1265,7 @@ _080F27AC: bl sub_80F33DC movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F27FC @ =gUnknown_84160C8 str r5, [sp] movs r0, 0x2 @@ -1607,7 +1607,7 @@ sub_80F2AA4: @ 80F2AA4 movs r1, 0x1E movs r2, 0 movs r3, 0xC - bl sub_810F558 + bl CreateWindow_SnapRight_StdPal movs r0, 0x3 bl Save_LoadGameData lsls r0, 24 @@ -1888,13 +1888,13 @@ _080F2CB4: ldrsh r0, [r4, r1] cmp r0, 0 bgt _080F2D24 - ldr r1, _080F2D20 @ =gUnknown_8415D78 + ldr r1, _080F2D20 @ =gText_UPDOWNPick_ABUTTONBBUTTONCancel movs r0, 0x1 str r0, [sp] adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_810F650 + bl Menu_PrintHelpSystemUIHeader b _080F2D34 .align 2, 0 _080F2D08: .4byte 0xffff0000 @@ -1903,15 +1903,15 @@ _080F2D10: .4byte gStringVar1 _080F2D14: .4byte gTasks _080F2D18: .4byte gStringVar4 _080F2D1C: .4byte gUnknown_84160B4 -_080F2D20: .4byte gUnknown_8415D78 +_080F2D20: .4byte gText_UPDOWNPick_ABUTTONBBUTTONCancel _080F2D24: - ldr r1, _080F2D54 @ =gUnknown_8415D60 + ldr r1, _080F2D54 @ =gText_UPDOWNPick_ABUTTONNext_BBUTTONBack movs r0, 0x1 str r0, [sp] adds r0, r5, 0 movs r2, 0 movs r3, 0 - bl sub_810F650 + bl Menu_PrintHelpSystemUIHeader _080F2D34: ldr r0, _080F2D58 @ =gTasks ldr r1, [sp, 0x14] @@ -1929,7 +1929,7 @@ _080F2D34: pop {r0} bx r0 .align 2, 0 -_080F2D54: .4byte gUnknown_8415D60 +_080F2D54: .4byte gText_UPDOWNPick_ABUTTONNext_BBUTTONBack _080F2D58: .4byte gTasks _080F2D5C: .4byte Task_HofPC_PrintMonInfo thumb_func_end sub_80F2B6C @@ -2339,13 +2339,13 @@ sub_80F30A4: @ 80F30A4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _080F30FC @ =gUnknown_8415D8C + ldr r0, _080F30FC @ =gText_ABUTTONExit movs r1, 0x8 movs r2, 0x1 - bl sub_810F5E8 + bl PrintTextOnRightSnappedWindow movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080F3100 @ =gUnknown_8416090 movs r0, 0 str r0, [sp] @@ -2374,7 +2374,7 @@ sub_80F30A4: @ 80F30A4 pop {r0} bx r0 .align 2, 0 -_080F30FC: .4byte gUnknown_8415D8C +_080F30FC: .4byte gText_ABUTTONExit _080F3100: .4byte gUnknown_8416090 _080F3104: .4byte gTasks _080F3108: .4byte Task_HofPC_ExitOnButtonPress @@ -3070,7 +3070,7 @@ _080F36B8: .4byte gUnknown_840C39C thumb_func_start sub_80F36BC sub_80F36BC: @ 80F36BC push {lr} - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl reset_temp_tile_data_buffers @@ -3223,8 +3223,8 @@ _080F37C8: bl CopyBgTilemapBufferToVram b _080F3854 _080F381E: - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 b _080F3854 _080F3828: movs r1, 0x82 @@ -3353,7 +3353,7 @@ _080F38EE: movs r1, 0x3 ands r0, r1 adds r0, 0x8 - ldr r1, _080F392C @ =gUnknown_825E074 + ldr r1, _080F392C @ =gSineTable lsls r4, 1 adds r4, r1 movs r2, 0 @@ -3373,7 +3373,7 @@ _080F3926: pop {r0} bx r0 .align 2, 0 -_080F392C: .4byte gUnknown_825E074 +_080F392C: .4byte gSineTable thumb_func_end sub_80F38D8 thumb_func_start sub_80F3930 diff --git a/asm/help_system_812B1E0.s b/asm/help_system_812B1E0.s index bca296e67..b88a86b47 100644 --- a/asm/help_system_812B1E0.s +++ b/asm/help_system_812B1E0.s @@ -16,8 +16,8 @@ sub_812B1E0: @ 812B1E0 _0812B1EC: .4byte gUnknown_203B0EC thumb_func_end sub_812B1E0 - thumb_func_start sub_812B1F0 -sub_812B1F0: @ 812B1F0 + thumb_func_start HelpSystem_SetSomeVariable2 +HelpSystem_SetSomeVariable2: @ 812B1F0 push {lr} lsls r0, 24 lsrs r1, r0, 24 @@ -44,7 +44,7 @@ _0812B218: bx r0 .align 2, 0 _0812B21C: .4byte gUnknown_203B0EC - thumb_func_end sub_812B1F0 + thumb_func_end HelpSystem_SetSomeVariable2 thumb_func_start sub_812B220 sub_812B220: @ 812B220 @@ -240,7 +240,7 @@ sub_812B35C: @ 812B35C cmp r0, 0 beq _0812B376 movs r0, 0x16 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B376: bl sub_812B2C4 @@ -248,7 +248,7 @@ _0812B376: cmp r0, 0 beq _0812B388 movs r0, 0x15 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B388: ldr r0, _0812B3B0 @ =gMapHeader @@ -268,7 +268,7 @@ _0812B388: bne _0812B3B8 _0812B3A8: movs r0, 0xE - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 .align 2, 0 _0812B3B0: .4byte gMapHeader @@ -279,36 +279,36 @@ _0812B3B8: cmp r1, r0 bne _0812B3C8 movs r0, 0xF - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3C8: bl IsCurMapPokeCenter cmp r0, 0x1 bne _0812B3D8 movs r0, 0x10 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3D8: bl sub_812B25C cmp r0, 0x1 bne _0812B3E8 movs r0, 0x11 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3E8: bl sub_812B26C cmp r0, 0x1 bne _0812B3F8 movs r0, 0x12 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B3F8: movs r0, 0x13 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0812B406 _0812B400: movs r0, 0x14 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _0812B406: pop {r0} bx r0 diff --git a/asm/intro.s b/asm/intro.s index af5104da3..309b636c8 100644 --- a/asm/intro.s +++ b/asm/intro.s @@ -166,7 +166,7 @@ _080EC65E: movs r0, 0 movs r2, 0 bl load_copyright_graphics - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -898,7 +898,7 @@ _080ECCF6: movs r1, 0x10 movs r2, 0x10 movs r3, 0 - bl sub_812E944 + bl StartBlendTask b _080ECD36 .align 2, 0 _080ECD14: .4byte 0x00003f44 @@ -907,7 +907,7 @@ _080ECD18: bl ShowBg b _080ECD36 _080ECD20: - bl sub_812E9E4 + bl IsBlendTaskActive lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0 @@ -980,7 +980,7 @@ _080ECD9C: movs r1, 0x10 movs r2, 0x10 movs r3, 0 - bl sub_812E944 + bl StartBlendTask strh r4, [r6, 0x8] strh r5, [r6, 0xA] strh r4, [r6, 0x12] @@ -992,7 +992,7 @@ _080ECDC4: str r0, [r6, 0x14] b _080ECE70 _080ECDCC: - bl sub_812E9E4 + bl IsBlendTaskActive lsls r0, 24 cmp r0, 0 bne _080ECE96 @@ -1051,10 +1051,10 @@ _080ECE26: movs r1, 0 movs r2, 0 movs r3, 0x10 - bl sub_812E944 + bl StartBlendTask b _080ECE70 _080ECE52: - bl sub_812E9E4 + bl IsBlendTaskActive lsls r0, 24 cmp r0, 0 bne _080ECE96 @@ -3369,7 +3369,7 @@ _080EE114: _080EE11C: movs r4, 0x6 ldrsh r3, [r5, r4] - ldr r4, _080EE15C @ =gUnknown_825E074 + ldr r4, _080EE15C @ =gSineTable adds r0, r3, 0 adds r0, 0x40 lsls r0, 1 @@ -3400,7 +3400,7 @@ _080EE156: pop {r0} bx r0 .align 2, 0 -_080EE15C: .4byte gUnknown_825E074 +_080EE15C: .4byte gSineTable thumb_func_end sub_80EE024 thumb_func_start sub_80EE160 @@ -3587,7 +3587,7 @@ sub_80EE29C: @ 80EE29C lsls r1, 16 asrs r1, 20 strh r1, [r5, 0x22] - ldr r1, _080EE340 @ =gUnknown_825E074 + ldr r1, _080EE340 @ =gSineTable lsls r0, 16 asrs r0, 20 adds r0, 0x40 @@ -3646,7 +3646,7 @@ _080EE336: pop {r0} bx r0 .align 2, 0 -_080EE340: .4byte gUnknown_825E074 +_080EE340: .4byte gSineTable _080EE344: .4byte gUnknown_203AB16 _080EE348: .4byte 0x41c64e6d _080EE34C: .4byte 0x00006073 @@ -4208,7 +4208,7 @@ _080EE740: lsls r1, 16 asrs r1, 20 strh r1, [r4, 0x24] - ldr r1, _080EE7B0 @ =gUnknown_825E074 + ldr r1, _080EE7B0 @ =gSineTable movs r3, 0x34 ldrsh r0, [r4, r3] lsls r0, 1 @@ -4253,7 +4253,7 @@ _080EE78C: strh r0, [r4, 0x3C] b _080EE818 .align 2, 0 -_080EE7B0: .4byte gUnknown_825E074 +_080EE7B0: .4byte gSineTable _080EE7B4: .4byte gUnknown_203AB04 _080EE7B8: .4byte gUnknown_203AB08 _080EE7BC: .4byte gUnknown_203AB06 @@ -4585,7 +4585,7 @@ _080EEA08: lsls r1, 16 asrs r1, 20 strh r1, [r4, 0x24] - ldr r1, _080EEA48 @ =gUnknown_825E074 + ldr r1, _080EEA48 @ =gSineTable lsls r0, 16 asrs r0, 20 lsls r0, 1 @@ -4599,7 +4599,7 @@ _080EEA08: strh r0, [r4, 0x26] b _080EEA88 .align 2, 0 -_080EEA48: .4byte gUnknown_825E074 +_080EEA48: .4byte gSineTable _080EEA4C: ldrh r0, [r4, 0x32] lsrs r0, 4 @@ -4775,7 +4775,7 @@ _080EEB84: asrs r0, 20 negs r1, r0 strh r1, [r4, 0x24] - ldr r1, _080EEBD4 @ =gUnknown_825E074 + ldr r1, _080EEBD4 @ =gSineTable lsls r0, 1 adds r0, r1 movs r3, 0 @@ -4810,7 +4810,7 @@ _080EEBCE: pop {r0} bx r0 .align 2, 0 -_080EEBD4: .4byte gUnknown_825E074 +_080EEBD4: .4byte gSineTable _080EEBD8: .4byte gUnknown_203AB04 _080EEBDC: .4byte gUnknown_203AB08 _080EEBE0: .4byte SpriteCallbackDummy diff --git a/asm/item.s b/asm/item.s index 800df5f82..ce20d4f8c 100644 --- a/asm/item.s +++ b/asm/item.s @@ -61,7 +61,7 @@ ApplyNewEncryptionKeyToBagItems: @ 8099DE0 sub sp, 0x4 mov r8, r0 movs r1, 0 - ldr r0, _08099E34 @ =gUnknown_203988C + ldr r0, _08099E34 @ =gBagPockets mov r9, r0 _08099DF2: movs r6, 0 @@ -72,7 +72,7 @@ _08099DF2: ldrb r0, [r0, 0x4] cmp r6, r0 bcs _08099E20 - ldr r2, _08099E34 @ =gUnknown_203988C + ldr r2, _08099E34 @ =gBagPockets _08099E04: adds r4, r5, r2 lsls r1, r6, 2 @@ -99,7 +99,7 @@ _08099E20: pop {r0} bx r0 .align 2, 0 -_08099E34: .4byte gUnknown_203988C +_08099E34: .4byte gBagPockets thumb_func_end ApplyNewEncryptionKeyToBagItems thumb_func_start ApplyNewEncryptionKeyToBagItems_ @@ -112,7 +112,7 @@ ApplyNewEncryptionKeyToBagItems_: @ 8099E38 thumb_func_start sub_8099E44 sub_8099E44: @ 8099E44 - ldr r1, _08099E84 @ =gUnknown_203988C + ldr r1, _08099E84 @ =gBagPockets ldr r0, _08099E88 @ =gSaveBlock1Ptr ldr r2, [r0] movs r3, 0xC4 @@ -144,7 +144,7 @@ sub_8099E44: @ 8099E44 strb r0, [r1] bx lr .align 2, 0 -_08099E84: .4byte gUnknown_203988C +_08099E84: .4byte gBagPockets _08099E88: .4byte gSaveBlock1Ptr _08099E8C: .4byte 0x0000054c thumb_func_end sub_8099E44 @@ -184,7 +184,7 @@ sub_8099ECC: @ 8099ECC push {lr} lsls r0, 24 movs r2, 0 - ldr r1, _08099EF0 @ =gUnknown_203988C + ldr r1, _08099EF0 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -201,7 +201,7 @@ _08099EE0: asrs r0, 24 b _08099F02 .align 2, 0 -_08099EF0: .4byte gUnknown_203988C +_08099EF0: .4byte gBagPockets _08099EF4: adds r0, r2, 0x1 lsls r0, 16 @@ -221,7 +221,7 @@ sub_8099F08: @ 8099F08 push {lr} lsls r0, 24 movs r2, 0 - ldr r1, _08099F2C @ =gUnknown_203988C + ldr r1, _08099F2C @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r1 @@ -238,7 +238,7 @@ _08099F1E: movs r0, 0x1 b _08099F3C .align 2, 0 -_08099F2C: .4byte gUnknown_203988C +_08099F2C: .4byte gBagPockets _08099F30: adds r0, r2, 0x1 lsls r0, 24 @@ -274,7 +274,7 @@ _08099F5C: subs r0, 0x1 lsls r0, 24 movs r2, 0 - ldr r1, _08099F94 @ =gUnknown_203988C + ldr r1, _08099F94 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -296,7 +296,7 @@ _08099F76: bcs _08099F58 b _08099FA4 .align 2, 0 -_08099F94: .4byte gUnknown_203988C +_08099F94: .4byte gBagPockets _08099F98: adds r0, r2, 0x1 lsls r0, 24 @@ -378,7 +378,7 @@ CheckBagHasSpace: @ 809A000 lsls r0, 24 lsrs r5, r0, 24 movs r2, 0 - ldr r1, _0809A054 @ =gUnknown_203988C + ldr r1, _0809A054 @ =gBagPockets lsls r0, r5, 3 adds r0, r1 ldrb r1, [r0, 0x4] @@ -404,7 +404,7 @@ _0809A050: movs r0, 0 b _0809A07C .align 2, 0 -_0809A054: .4byte gUnknown_203988C +_0809A054: .4byte gBagPockets _0809A058: .4byte 0x000003e7 _0809A05C: adds r0, r2, 0x1 @@ -453,7 +453,7 @@ _0809A0A2: lsls r0, 24 lsrs r7, r0, 24 movs r2, 0 - ldr r1, _0809A0E0 @ =gUnknown_203988C + ldr r1, _0809A0E0 @ =gBagPockets lsls r0, r7, 3 adds r0, r1 ldrb r1, [r0, 0x4] @@ -478,7 +478,7 @@ _0809A0BE: ble _0809A1B8 b _0809A1CA .align 2, 0 -_0809A0E0: .4byte gUnknown_203988C +_0809A0E0: .4byte gBagPockets _0809A0E4: .4byte 0x000003e7 _0809A0E8: adds r0, r2, 0x1 @@ -506,7 +506,7 @@ _0809A0F4: negs r0, r0 cmp r1, r0 beq _0809A1CA - ldr r2, _0809A1AC @ =gUnknown_203988C + ldr r2, _0809A1AC @ =gBagPockets ldr r0, [r2, 0x8] lsls r1, 2 adds r0, r1, r0 @@ -534,7 +534,7 @@ _0809A132: negs r0, r0 cmp r1, r0 beq _0809A1CA - ldr r2, _0809A1AC @ =gUnknown_203988C + ldr r2, _0809A1AC @ =gBagPockets ldr r0, [r2, 0x8] lsls r1, 2 adds r0, r1, r0 @@ -561,7 +561,7 @@ _0809A180: negs r0, r0 cmp r2, r0 beq _0809A1CA - ldr r0, _0809A1AC @ =gUnknown_203988C + ldr r0, _0809A1AC @ =gBagPockets lsls r1, r7, 3 adds r1, r0 ldr r0, [r1] @@ -574,7 +574,7 @@ _0809A180: mov r1, r8 b _0809A1C2 .align 2, 0 -_0809A1AC: .4byte gUnknown_203988C +_0809A1AC: .4byte gBagPockets _0809A1B0: .4byte 0x0000016d _0809A1B4: .4byte 0x00000847 _0809A1B8: @@ -616,7 +616,7 @@ RemoveBagItem: @ 809A1D8 subs r0, 0x1 lsls r0, 24 movs r2, 0 - ldr r1, _0809A248 @ =gUnknown_203988C + ldr r1, _0809A248 @ =gBagPockets lsrs r0, 21 adds r0, r1 ldrb r1, [r0, 0x4] @@ -653,7 +653,7 @@ _0809A242: movs r0, 0x1 b _0809A25A .align 2, 0 -_0809A248: .4byte gUnknown_203988C +_0809A248: .4byte gBagPockets _0809A24C: adds r0, r2, 0x1 lsls r0, 24 @@ -745,7 +745,7 @@ _0809A2D8: .4byte gSaveBlock1Ptr sub_809A2DC: @ 809A2DC push {r4,r5,lr} movs r4, 0 - ldr r5, _0809A300 @ =gUnknown_203988C + ldr r5, _0809A300 @ =gBagPockets _0809A2E2: lsls r1, r4, 3 adds r1, r5 @@ -761,7 +761,7 @@ _0809A2E2: pop {r0} bx r0 .align 2, 0 -_0809A300: .4byte gUnknown_203988C +_0809A300: .4byte gBagPockets thumb_func_end sub_809A2DC thumb_func_start sub_809A304 @@ -1404,11 +1404,11 @@ _0809A786: bx r0 thumb_func_end sub_809A720 - thumb_func_start sub_809A798 -sub_809A798: @ 809A798 + thumb_func_start BagGetItemIdByPocketPosition +BagGetItemIdByPocketPosition: @ 809A798 lsls r0, 24 lsls r1, 16 - ldr r2, _0809A7B0 @ =gUnknown_203988C + ldr r2, _0809A7B0 @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r2 @@ -1418,15 +1418,15 @@ sub_809A798: @ 809A798 ldrh r0, [r1] bx lr .align 2, 0 -_0809A7B0: .4byte gUnknown_203988C - thumb_func_end sub_809A798 +_0809A7B0: .4byte gBagPockets + thumb_func_end BagGetItemIdByPocketPosition - thumb_func_start sub_809A7B4 -sub_809A7B4: @ 809A7B4 + thumb_func_start BagGetQuantityByPocketPosition +BagGetQuantityByPocketPosition: @ 809A7B4 push {lr} lsls r0, 24 lsls r1, 16 - ldr r2, _0809A7D8 @ =gUnknown_203988C + ldr r2, _0809A7D8 @ =gBagPockets lsrs r0, 21 subs r0, 0x8 adds r0, r2 @@ -1440,8 +1440,8 @@ sub_809A7B4: @ 809A7B4 pop {r1} bx r1 .align 2, 0 -_0809A7D8: .4byte gUnknown_203988C - thumb_func_end sub_809A7B4 +_0809A7D8: .4byte gBagPockets + thumb_func_end BagGetQuantityByPocketPosition thumb_func_start sub_809A7DC sub_809A7DC: @ 809A7DC @@ -1577,12 +1577,12 @@ ItemId_GetItem: @ 809A8BC lsrs r0, 16 movs r1, 0x2C muls r0, r1 - ldr r1, _0809A8D8 @ =gUnknown_83DB028 + ldr r1, _0809A8D8 @ =gItems adds r0, r1 pop {r1} bx r1 .align 2, 0 -_0809A8D8: .4byte gUnknown_83DB028 +_0809A8D8: .4byte gItems thumb_func_end ItemId_GetItem thumb_func_start itemid_get_number @@ -1590,7 +1590,7 @@ itemid_get_number: @ 809A8DC push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A8FC @ =gUnknown_83DB028 + ldr r4, _0809A8FC @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1602,7 +1602,7 @@ itemid_get_number: @ 809A8DC pop {r1} bx r1 .align 2, 0 -_0809A8FC: .4byte gUnknown_83DB028 +_0809A8FC: .4byte gItems thumb_func_end itemid_get_number thumb_func_start itemid_get_market_price @@ -1610,7 +1610,7 @@ itemid_get_market_price: @ 809A900 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A920 @ =gUnknown_83DB028 + ldr r4, _0809A920 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1622,7 +1622,7 @@ itemid_get_market_price: @ 809A900 pop {r1} bx r1 .align 2, 0 -_0809A920: .4byte gUnknown_83DB028 +_0809A920: .4byte gItems thumb_func_end itemid_get_market_price thumb_func_start ItemId_GetHoldEffect @@ -1630,7 +1630,7 @@ ItemId_GetHoldEffect: @ 809A924 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A944 @ =gUnknown_83DB028 + ldr r4, _0809A944 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1642,7 +1642,7 @@ ItemId_GetHoldEffect: @ 809A924 pop {r1} bx r1 .align 2, 0 -_0809A944: .4byte gUnknown_83DB028 +_0809A944: .4byte gItems thumb_func_end ItemId_GetHoldEffect thumb_func_start ItemId_GetHoldEffectParam @@ -1650,7 +1650,7 @@ ItemId_GetHoldEffectParam: @ 809A948 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A968 @ =gUnknown_83DB028 + ldr r4, _0809A968 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1662,7 +1662,7 @@ ItemId_GetHoldEffectParam: @ 809A948 pop {r1} bx r1 .align 2, 0 -_0809A968: .4byte gUnknown_83DB028 +_0809A968: .4byte gItems thumb_func_end ItemId_GetHoldEffectParam thumb_func_start ItemId_GetDescription @@ -1670,7 +1670,7 @@ ItemId_GetDescription: @ 809A96C push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A98C @ =gUnknown_83DB028 + ldr r4, _0809A98C @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1683,7 +1683,7 @@ ItemId_GetDescription: @ 809A96C pop {r1} bx r1 .align 2, 0 -_0809A98C: .4byte gUnknown_83DB028 +_0809A98C: .4byte gItems thumb_func_end ItemId_GetDescription thumb_func_start itemid_is_unique @@ -1691,7 +1691,7 @@ itemid_is_unique: @ 809A990 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9B0 @ =gUnknown_83DB028 + ldr r4, _0809A9B0 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1703,7 +1703,7 @@ itemid_is_unique: @ 809A990 pop {r1} bx r1 .align 2, 0 -_0809A9B0: .4byte gUnknown_83DB028 +_0809A9B0: .4byte gItems thumb_func_end itemid_is_unique thumb_func_start itemid_get_x19 @@ -1711,7 +1711,7 @@ itemid_get_x19: @ 809A9B4 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9D4 @ =gUnknown_83DB028 + ldr r4, _0809A9D4 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1723,7 +1723,7 @@ itemid_get_x19: @ 809A9B4 pop {r1} bx r1 .align 2, 0 -_0809A9D4: .4byte gUnknown_83DB028 +_0809A9D4: .4byte gItems thumb_func_end itemid_get_x19 thumb_func_start ItemId_GetPocket @@ -1731,7 +1731,7 @@ ItemId_GetPocket: @ 809A9D8 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809A9F8 @ =gUnknown_83DB028 + ldr r4, _0809A9F8 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1743,7 +1743,7 @@ ItemId_GetPocket: @ 809A9D8 pop {r1} bx r1 .align 2, 0 -_0809A9F8: .4byte gUnknown_83DB028 +_0809A9F8: .4byte gItems thumb_func_end ItemId_GetPocket thumb_func_start ItemId_GetType @@ -1751,7 +1751,7 @@ ItemId_GetType: @ 809A9FC push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA1C @ =gUnknown_83DB028 + ldr r4, _0809AA1C @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1763,7 +1763,7 @@ ItemId_GetType: @ 809A9FC pop {r1} bx r1 .align 2, 0 -_0809AA1C: .4byte gUnknown_83DB028 +_0809AA1C: .4byte gItems thumb_func_end ItemId_GetType thumb_func_start ItemId_GetFieldFunc @@ -1771,7 +1771,7 @@ ItemId_GetFieldFunc: @ 809AA20 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA40 @ =gUnknown_83DB028 + ldr r4, _0809AA40 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1784,7 +1784,7 @@ ItemId_GetFieldFunc: @ 809AA20 pop {r1} bx r1 .align 2, 0 -_0809AA40: .4byte gUnknown_83DB028 +_0809AA40: .4byte gItems thumb_func_end ItemId_GetFieldFunc thumb_func_start ItemId_GetBattleUsage @@ -1792,7 +1792,7 @@ ItemId_GetBattleUsage: @ 809AA44 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA64 @ =gUnknown_83DB028 + ldr r4, _0809AA64 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1805,7 +1805,7 @@ ItemId_GetBattleUsage: @ 809AA44 pop {r1} bx r1 .align 2, 0 -_0809AA64: .4byte gUnknown_83DB028 +_0809AA64: .4byte gItems thumb_func_end ItemId_GetBattleUsage thumb_func_start ItemId_GetBattleFunc @@ -1813,7 +1813,7 @@ ItemId_GetBattleFunc: @ 809AA68 push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AA88 @ =gUnknown_83DB028 + ldr r4, _0809AA88 @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1826,7 +1826,7 @@ ItemId_GetBattleFunc: @ 809AA68 pop {r1} bx r1 .align 2, 0 -_0809AA88: .4byte gUnknown_83DB028 +_0809AA88: .4byte gItems thumb_func_end ItemId_GetBattleFunc thumb_func_start ItemId_GetSecondaryId @@ -1834,7 +1834,7 @@ ItemId_GetSecondaryId: @ 809AA8C push {r4,lr} lsls r0, 16 lsrs r0, 16 - ldr r4, _0809AAAC @ =gUnknown_83DB028 + ldr r4, _0809AAAC @ =gItems bl SanitizeItemId lsls r0, 16 lsrs r0, 16 @@ -1847,7 +1847,7 @@ ItemId_GetSecondaryId: @ 809AA8C pop {r1} bx r1 .align 2, 0 -_0809AAAC: .4byte gUnknown_83DB028 +_0809AAAC: .4byte gItems thumb_func_end ItemId_GetSecondaryId .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index d08021d15..01c5f6e4c 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -257,7 +257,7 @@ _08107FB0: bl clear_scheduled_bg_copies_to_vram b _08108104 _08107FBA: - bl remove_some_task + bl ScanlineEffect_Stop b _08108104 _08107FC0: bl FreeAllSpritePalettes @@ -350,7 +350,7 @@ _0810806E: adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 - ldr r0, _081080B0 @ =gUnknown_3005E70 + ldr r0, _081080B0 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r1, r4, 0 @@ -375,7 +375,7 @@ _0810806E: b _08108104 .align 2, 0 _081080AC: .4byte gUnknown_203ACFC -_081080B0: .4byte gUnknown_3005E70 +_081080B0: .4byte gMultiuseListMenuTemplate _081080B4: .4byte gTasks _081080B8: ldr r0, _081080C4 @ =gUnknown_203ACFC @@ -400,13 +400,13 @@ _081080DE: cmp r0, 0x3 bne _081080F4 movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _081080FA .align 2, 0 _081080F0: .4byte gUnknown_203ACFC _081080F4: movs r0, 0x9 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _081080FA: ldr r2, _08108114 @ =gPaletteFade ldrb r1, [r2, 0x8] @@ -817,7 +817,7 @@ sub_810842C: @ 810842C lsls r0, 24 lsrs r7, r0, 24 lsls r1, r7, 3 - ldr r0, _0810853C @ =gUnknown_203988C + ldr r0, _0810853C @ =gBagPockets adds r1, r0 mov r8, r1 movs r6, 0 @@ -881,7 +881,7 @@ _0810848C: adds r0, r4 str r0, [r1] str r6, [r1, 0x4] - ldr r3, _08108554 @ =gUnknown_3005E70 + ldr r3, _08108554 @ =gMultiuseListMenuTemplate str r2, [r3] ldr r0, _08108540 @ =gUnknown_203AD10 ldr r2, [r0] @@ -946,13 +946,13 @@ _0810848C: pop {r0} bx r0 .align 2, 0 -_0810853C: .4byte gUnknown_203988C +_0810853C: .4byte gBagPockets _08108540: .4byte gUnknown_203AD10 _08108544: .4byte gUnknown_203AD1C _08108548: .4byte gUnknown_203AD18 _0810854C: .4byte gUnknown_8452F60 _08108550: .4byte gFameCheckerText_Cancel -_08108554: .4byte gUnknown_3005E70 +_08108554: .4byte gMultiuseListMenuTemplate _08108558: .4byte sub_81085A4 _0810855C: .4byte sub_8108654 thumb_func_end sub_810842C @@ -1029,7 +1029,7 @@ _081085BA: lsrs r0, 24 lsls r1, r5, 16 lsrs r1, 16 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, [r4] @@ -1129,7 +1129,7 @@ _08108690: lsls r4, 16 lsrs r4, 16 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r7, r0, 16 ldrb r0, [r5, 0x6] @@ -1137,7 +1137,7 @@ _08108690: lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition lsls r0, 16 lsrs r4, r0, 16 ldrh r0, [r5, 0x6] @@ -1155,7 +1155,7 @@ _08108690: movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _08108724 @ =gStringVar4 - ldr r1, _08108728 @ =gUnknown_84162B9 + ldr r1, _08108728 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r6, [sp] @@ -1176,7 +1176,7 @@ _08108718: .4byte gUnknown_203AD10 _0810871C: .4byte gUnknown_203ACFC _08108720: .4byte gStringVar1 _08108724: .4byte gStringVar4 -_08108728: .4byte gUnknown_84162B9 +_08108728: .4byte gText_TimesStrVar1 _0810872C: ldr r0, _08108760 @ =gSaveBlock1Ptr ldr r0, [r0] @@ -1317,7 +1317,7 @@ sub_8108818: @ 8108818 lsrs r0, 24 lsls r1, r2, 16 lsrs r1, 16 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetDescription @@ -1802,7 +1802,7 @@ sub_8108B8C: @ 8108B8C adds r3, r4, 0 adds r3, 0x8 adds r2, r3 - bl sub_810713C + bl DestroyListMenu ldr r0, _08108BF0 @ =gUnknown_203AD10 ldr r0, [r0] ldr r0, [r0] @@ -2065,7 +2065,7 @@ sub_8108DC8: @ 8108DC8 lsls r0, 24 lsrs r5, r0, 24 lsls r1, r5, 3 - ldr r0, _08108E3C @ =gUnknown_203988C + ldr r0, _08108E3C @ =gBagPockets adds r4, r1, r0 ldr r0, [r4] ldrb r1, [r4, 0x4] @@ -2120,7 +2120,7 @@ _08108E1C: strb r1, [r0] b _08108E4C .align 2, 0 -_08108E3C: .4byte gUnknown_203988C +_08108E3C: .4byte gBagPockets _08108E40: .4byte gUnknown_203AD10 _08108E44: adds r0, r1, 0 @@ -2177,7 +2177,7 @@ sub_8108E70: @ 8108E70 strh r0, [r4, 0x14] movs r1, 0x11 bl FillWindowPixelBuffer - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 ldrb r1, [r4, 0x14] @@ -2422,14 +2422,14 @@ _08109084: lsls r4, 16 lsrs r4, 16 adds r1, r4, 0 - bl sub_809A7B4 + bl BagGetQuantityByPocketPosition strh r0, [r7, 0x4] ldrb r0, [r5, 0x6] adds r0, 0x1 lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition ldr r1, _081090D0 @ =gSpecialVar_ItemId strh r0, [r1] ldr r1, _081090D4 @ =gTasks @@ -2617,7 +2617,7 @@ sub_81091D0: @ 81091D0 adds r1, r2, r1 adds r3, 0x8 adds r2, r3 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r0, _08109290 @ =gUnknown_203AD10 @@ -2773,7 +2773,7 @@ _08109358: bl sub_81087EC ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _081093B4 @ =gUnknown_3005E70 + ldr r0, _081093B4 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r1, r4, 0 @@ -2803,7 +2803,7 @@ _081093AA: bx r0 .align 2, 0 _081093B0: .4byte gUnknown_203ACFC -_081093B4: .4byte gUnknown_3005E70 +_081093B4: .4byte gMultiuseListMenuTemplate thumb_func_end sub_8109298 thumb_func_start sub_81093B8 @@ -2850,7 +2850,7 @@ sub_81093B8: @ 81093B8 lsrs r0, 24 mov r2, r8 ldrh r1, [r2, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl ItemId_GetItem @@ -3063,7 +3063,7 @@ _081095DA: .align 2, 0 _081095E4: .4byte gTasks+0x8 _081095E8: - ldr r1, _0810966C @ =gUnknown_203988C + ldr r1, _0810966C @ =gBagPockets ldr r4, _08109670 @ =gUnknown_203ACFC ldrh r0, [r4, 0x6] lsls r0, 3 @@ -3082,7 +3082,7 @@ _081095E8: adds r7, r4, 0 adds r7, 0x8 adds r2, r7 - bl sub_810713C + bl DestroyListMenu movs r3, 0x2 ldrsh r0, [r6, r3] cmp r0, r5 @@ -3096,7 +3096,7 @@ _081095E8: _08109628: ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _08109674 @ =gUnknown_3005E70 + ldr r0, _08109674 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 mov r3, r8 @@ -3125,9 +3125,9 @@ _0810965C: pop {r0} bx r0 .align 2, 0 -_0810966C: .4byte gUnknown_203988C +_0810966C: .4byte gBagPockets _08109670: .4byte gUnknown_203ACFC -_08109674: .4byte gUnknown_3005E70 +_08109674: .4byte gMultiuseListMenuTemplate _08109678: .4byte sub_8108F0C thumb_func_end sub_81095AC @@ -3160,7 +3160,7 @@ sub_810967C: @ 810967C adds r7, r5, 0 adds r7, 0x8 adds r2, r7 - bl sub_810713C + bl DestroyListMenu movs r3, 0x2 ldrsh r0, [r6, r3] cmp r0, r4 @@ -3174,7 +3174,7 @@ sub_810967C: @ 810967C _081096CA: ldrb r0, [r5, 0x6] bl sub_810842C - ldr r0, _08109714 @ =gUnknown_3005E70 + ldr r0, _08109714 @ =gMultiuseListMenuTemplate ldrh r2, [r5, 0x6] lsls r2, 1 mov r3, r9 @@ -3204,7 +3204,7 @@ _081096CA: .align 2, 0 _0810970C: .4byte gTasks+0x8 _08109710: .4byte gUnknown_203ACFC -_08109714: .4byte gUnknown_3005E70 +_08109714: .4byte gMultiuseListMenuTemplate _08109718: .4byte sub_8108F0C thumb_func_end sub_810967C @@ -3232,7 +3232,7 @@ sub_810971C: @ 810971C lsls r0, 24 lsrs r0, 24 adds r1, r4, 0 - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, _081097D8 @ =gStringVar1 @@ -3267,7 +3267,7 @@ sub_810971C: @ 810971C movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _081097E0 @ =gUnknown_84162B9 + ldr r1, _081097E0 @ =gText_TimesStrVar1 mov r0, r9 bl StringExpandPlaceholders movs r0, 0xA @@ -3295,7 +3295,7 @@ sub_810971C: @ 810971C _081097D4: .4byte gUnknown_203ACFC _081097D8: .4byte gStringVar1 _081097DC: .4byte gStringVar4 -_081097E0: .4byte gUnknown_84162B9 +_081097E0: .4byte gText_TimesStrVar1 thumb_func_end sub_810971C thumb_func_start sub_81097E4 @@ -3324,7 +3324,7 @@ sub_81097E4: @ 81097E4 adds r3, r5, 0 bl ConvertIntToDecimalStringN ldr r4, _0810984C @ =gStringVar4 - ldr r1, _08109850 @ =gUnknown_84162B9 + ldr r1, _08109850 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -3347,7 +3347,7 @@ sub_81097E4: @ 81097E4 .align 2, 0 _08109848: .4byte gStringVar1 _0810984C: .4byte gStringVar4 -_08109850: .4byte gUnknown_84162B9 +_08109850: .4byte gText_TimesStrVar1 thumb_func_end sub_81097E4 thumb_func_start sub_8109854 @@ -3715,7 +3715,7 @@ _08109AD4: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x6 movs r1, 0 bl sub_810B9DC @@ -4121,7 +4121,7 @@ sub_8109EA8: @ 8109EA8 lsls r0, 24 lsrs r0, 24 ldrh r1, [r6, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 ldr r1, _08109F30 @ =gStringVar1 @@ -4213,14 +4213,14 @@ _08109F6E: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] bl sub_81089F4 ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _08109FFC @ =gUnknown_3005E70 + ldr r0, _08109FFC @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -4251,7 +4251,7 @@ _08109FEC: .4byte gTasks+0x8 _08109FF0: .4byte gMain _08109FF4: .4byte gSpecialVar_ItemId _08109FF8: .4byte gUnknown_203ACFC -_08109FFC: .4byte gUnknown_3005E70 +_08109FFC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_8109F44 thumb_func_start sub_810A000 @@ -4273,7 +4273,7 @@ sub_810A000: @ 810A000 lsls r0, 24 lsrs r0, 24 ldrh r1, [r7, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r2, r0, 16 ldr r0, _0810A048 @ =gSaveBlock1Ptr @@ -4304,10 +4304,10 @@ _0810A052: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810A0A4 @ =gUnknown_3005E70 + ldr r0, _0810A0A4 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -4330,7 +4330,7 @@ _0810A052: bx r0 .align 2, 0 _0810A0A0: .4byte gUnknown_203ACFC -_0810A0A4: .4byte gUnknown_3005E70 +_0810A0A4: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810A000 thumb_func_start sub_810A0A8 @@ -4353,7 +4353,7 @@ sub_810A0A8: @ 810A0A8 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r5, r0, 16 movs r0, 0xA @@ -4427,14 +4427,14 @@ sub_810A170: @ 810A170 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _0810A184 @ =gUnknown_841632A + ldr r2, _0810A184 @ =gText_ThereIsNoPokemon ldr r3, _0810A188 @ =sub_810A1D0 movs r1, 0x2 bl sub_8108E70 pop {r0} bx r0 .align 2, 0 -_0810A184: .4byte gUnknown_841632A +_0810A184: .4byte gText_ThereIsNoPokemon _0810A188: .4byte sub_810A1D0 thumb_func_end sub_810A170 @@ -4449,7 +4449,7 @@ sub_810A18C: @ 810A18C ldr r1, _0810A1C0 @ =gStringVar1 bl CopyItemName ldr r5, _0810A1C4 @ =gStringVar4 - ldr r1, _0810A1C8 @ =gUnknown_841635E + ldr r1, _0810A1C8 @ =gText_ItemCantBeHeld adds r0, r5, 0 bl StringExpandPlaceholders ldr r3, _0810A1CC @ =sub_810A1D0 @@ -4464,7 +4464,7 @@ sub_810A18C: @ 810A18C _0810A1BC: .4byte gSpecialVar_ItemId _0810A1C0: .4byte gStringVar1 _0810A1C4: .4byte gStringVar4 -_0810A1C8: .4byte gUnknown_841635E +_0810A1C8: .4byte gText_ItemCantBeHeld _0810A1CC: .4byte sub_810A1D0 thumb_func_end sub_810A18C @@ -4519,14 +4519,14 @@ sub_810A1F8: @ 810A1F8 adds r3, r4 mov r9, r3 add r2, r9 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] bl sub_81089F4 ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810A284 @ =gUnknown_3005E70 + ldr r0, _0810A284 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r6, r2, r6 @@ -4553,7 +4553,7 @@ sub_810A1F8: @ 810A1F8 .align 2, 0 _0810A27C: .4byte gTasks+0x8 _0810A280: .4byte gUnknown_203ACFC -_0810A284: .4byte gUnknown_3005E70 +_0810A284: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810A1F8 thumb_func_start sub_810A288 @@ -4684,7 +4684,7 @@ sub_810A370: @ 810A370 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r6, r4, 0 @@ -4763,7 +4763,7 @@ sub_810A434: @ 810A434 ldr r1, _0810A444 @ =sub_810A45C movs r0, 0x1 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -4812,7 +4812,7 @@ sub_810A468: @ 810A468 lsls r0, 24 lsrs r0, 24 ldrh r1, [r1, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r4, r0, 16 adds r6, r4, 0 @@ -4835,7 +4835,7 @@ _0810A4BC: .4byte gUnknown_841630F _0810A4C0: .4byte sub_810A1D0 _0810A4C4: movs r0, 0xB6 - lsls r0, 1 + lsls r0, 1 @ ITEM_TM_CASE cmp r4, r0 bne _0810A4D4 ldr r0, _0810A4D0 @ =sub_810A52C @@ -4843,7 +4843,7 @@ _0810A4C4: .align 2, 0 _0810A4D0: .4byte sub_810A52C _0810A4D4: - ldr r0, _0810A4E8 @ =0x0000016d + ldr r0, _0810A4E8 @ =0x0000016d @ ITEM_BERRY_POUCH cmp r4, r0 bne _0810A4F0 ldr r0, _0810A4EC @ =sub_810A540 @@ -4892,7 +4892,7 @@ sub_810A52C: @ 810A52C ldr r1, _0810A53C @ =sub_810A554 movs r0, 0x3 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -4971,7 +4971,7 @@ _0810A5B4: ldr r1, _0810A5E8 @ =gStringVar1 bl CopyItemName ldr r4, _0810A5EC @ =gStringVar4 - ldr r1, _0810A5F0 @ =gUnknown_84168F1 + ldr r1, _0810A5F0 @ =gText_OhNoICantBuyThat adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -4986,7 +4986,7 @@ _0810A5B4: .align 2, 0 _0810A5E8: .4byte gStringVar1 _0810A5EC: .4byte gStringVar4 -_0810A5F0: .4byte gUnknown_84168F1 +_0810A5F0: .4byte gText_OhNoICantBuyThat _0810A5F4: .4byte sub_810A1F8 _0810A5F8: movs r0, 0x1 @@ -5009,7 +5009,7 @@ _0810A618: ldr r1, _0810A644 @ =gStringVar1 bl CopyItemName ldr r4, _0810A648 @ =gStringVar4 - ldr r1, _0810A64C @ =gUnknown_8416911 + ldr r1, _0810A64C @ =gText_HowManyWouldYouLikeToSell adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -5027,7 +5027,7 @@ _0810A63E: .align 2, 0 _0810A644: .4byte gStringVar1 _0810A648: .4byte gStringVar4 -_0810A64C: .4byte gUnknown_8416911 +_0810A64C: .4byte gText_HowManyWouldYouLikeToSell _0810A650: .4byte sub_810A770 thumb_func_end sub_810A568 @@ -5037,7 +5037,7 @@ sub_810A654: @ 810A654 ldr r1, _0810A664 @ =sub_810A67C movs r0, 0x2 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -5088,7 +5088,7 @@ sub_810A690: @ 810A690 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5102,7 +5102,7 @@ sub_810A690: @ 810A690 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0810A700 @ =gStringVar4 - ldr r1, _0810A704 @ =gUnknown_8416936 + ldr r1, _0810A704 @ =gText_ICanPayThisMuch_WouldThatBeOkay adds r0, r4, 0 bl StringExpandPlaceholders bl sub_80BF8E4 @@ -5121,7 +5121,7 @@ _0810A6F4: .4byte gTasks+0x8 _0810A6F8: .4byte gStringVar3 _0810A6FC: .4byte gUnknown_203ACFC _0810A700: .4byte gStringVar4 -_0810A704: .4byte gUnknown_8416936 +_0810A704: .4byte gText_ICanPayThisMuch_WouldThatBeOkay _0810A708: .4byte sub_810A70C thumb_func_end sub_810A690 @@ -5202,7 +5202,7 @@ sub_810A770: @ 810A770 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r6, _0810A824 @ =gStringVar4 - ldr r1, _0810A828 @ =gUnknown_84162B9 + ldr r1, _0810A828 @ =gText_TimesStrVar1 adds r0, r6, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -5226,7 +5226,7 @@ sub_810A770: @ 810A770 lsrs r0, 24 mov r3, r9 ldrh r1, [r3, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5256,7 +5256,7 @@ sub_810A770: @ 810A770 _0810A81C: .4byte gTasks+0x8 _0810A820: .4byte gStringVar1 _0810A824: .4byte gStringVar4 -_0810A828: .4byte gUnknown_84162B9 +_0810A828: .4byte gText_TimesStrVar1 _0810A82C: .4byte gUnknown_203ACFC _0810A830: .4byte sub_810A85C thumb_func_end sub_810A770 @@ -5311,7 +5311,7 @@ sub_810A85C: @ 810A85C lsls r0, 24 lsrs r0, 24 ldrh r1, [r5, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5405,7 +5405,7 @@ sub_810A940: @ 810A940 lsls r0, 24 lsrs r0, 24 ldrh r1, [r4, 0x2] - bl sub_809A798 + bl BagGetItemIdByPocketPosition lsls r0, 16 lsrs r0, 16 bl itemid_get_market_price @@ -5419,7 +5419,7 @@ sub_810A940: @ 810A940 movs r3, 0x6 bl ConvertIntToDecimalStringN ldr r4, _0810A9C8 @ =gStringVar4 - ldr r1, _0810A9CC @ =gUnknown_8416959 + ldr r1, _0810A9CC @ =gText_TurnedOverItemsWorthYen adds r0, r4, 0 bl StringExpandPlaceholders ldr r3, _0810A9D0 @ =sub_810A9D4 @@ -5437,7 +5437,7 @@ _0810A9BC: .4byte gStringVar1 _0810A9C0: .4byte gStringVar3 _0810A9C4: .4byte gUnknown_203ACFC _0810A9C8: .4byte gStringVar4 -_0810A9CC: .4byte gUnknown_8416959 +_0810A9CC: .4byte gText_TurnedOverItemsWorthYen _0810A9D0: .4byte sub_810A9D4 thumb_func_end sub_810A940 @@ -5497,7 +5497,7 @@ sub_810A9D4: @ 810A9D4 adds r3, r4 mov r9, r3 add r2, r9 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_8108DC8 ldrb r0, [r4, 0x6] @@ -5512,7 +5512,7 @@ sub_810A9D4: @ 810A9D4 strb r0, [r2, 0x5] ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810AAEC @ =gUnknown_3005E70 + ldr r0, _0810AAEC @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -5563,7 +5563,7 @@ _0810AADC: .4byte gSpecialVar_ItemId _0810AAE0: .4byte gSaveBlock1Ptr _0810AAE4: .4byte gUnknown_203ACFC _0810AAE8: .4byte gUnknown_203AD10 -_0810AAEC: .4byte gUnknown_3005E70 +_0810AAEC: .4byte gMultiuseListMenuTemplate _0810AAF0: .4byte sub_810AAF4 thumb_func_end sub_810A9D4 @@ -6212,7 +6212,7 @@ _0810B01C: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r7, 0 @@ -6342,11 +6342,11 @@ sub_810B108: @ 810B108 beq _0810B160 cmp r4, 0x8 beq _0810B16C - ldr r2, _0810B15C @ =sub_815ABFC + ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV adds r0, r4, 0 b _0810B170 .align 2, 0 -_0810B15C: .4byte sub_815ABFC +_0810B15C: .4byte CB2_ReturnToTeachyTV _0810B160: ldr r2, _0810B168 @ =sub_8030AEC movs r0, 0x7 @@ -6386,7 +6386,7 @@ _0810B19C: bl sub_815AC20 ldr r0, _0810B1C4 @ =gUnknown_203AD10 ldr r1, [r0] - ldr r0, _0810B1C8 @ =sub_815ABFC + ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV str r0, [r1] ldr r1, _0810B1CC @ =gTasks lsls r0, r4, 2 @@ -6402,7 +6402,7 @@ _0810B1BC: bx r1 .align 2, 0 _0810B1C4: .4byte gUnknown_203AD10 -_0810B1C8: .4byte sub_815ABFC +_0810B1C8: .4byte CB2_ReturnToTeachyTV _0810B1CC: .4byte gTasks _0810B1D0: .4byte sub_810B070 thumb_func_end sub_810B180 @@ -6537,10 +6537,10 @@ _0810B29E: adds r6, r4, 0 adds r6, 0x8 adds r2, r6 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x6] bl sub_810842C - ldr r0, _0810B328 @ =gUnknown_3005E70 + ldr r0, _0810B328 @ =gMultiuseListMenuTemplate ldrh r2, [r4, 0x6] lsls r2, 1 adds r5, r2, r5 @@ -6565,7 +6565,7 @@ _0810B318: .4byte gSaveBlock1Ptr _0810B31C: .4byte gSpecialVar_ItemId _0810B320: .4byte 0x00000296 _0810B324: .4byte gUnknown_203ACFC -_0810B328: .4byte gUnknown_3005E70 +_0810B328: .4byte gMultiuseListMenuTemplate _0810B32C: ldr r1, _0810B340 @ =gMain movs r0, 0 @@ -6583,7 +6583,7 @@ _0810B344: ldrb r0, [r7] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r6, 0 @@ -6738,7 +6738,7 @@ _0810B468: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC bl sub_8108CB4 adds r0, r7, 0 @@ -6854,7 +6854,7 @@ _0810B564: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC ldr r1, _0810B5B0 @ =gUnknown_3005E98 ldr r0, _0810B5B4 @ =ItemUseCB_Medicine @@ -6989,11 +6989,11 @@ _0810B68C: ldrb r0, [r6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810AECC ldr r0, _0810B6D4 @ =gUnknown_203AD10 ldr r1, [r0] - ldr r0, _0810B6D8 @ =sub_8132E64 + ldr r0, _0810B6D8 @ =PokeDude_InitTMCase str r0, [r1] mov r0, r9 subs r0, 0x8 @@ -7003,7 +7003,7 @@ _0810B68C: b _0810B6E6 .align 2, 0 _0810B6D4: .4byte gUnknown_203AD10 -_0810B6D8: .4byte sub_8132E64 +_0810B6D8: .4byte PokeDude_InitTMCase _0810B6DC: .4byte sub_810B070 _0810B6E0: ldrh r0, [r6, 0x10] diff --git a/asm/item_pc.s b/asm/item_pc.s index 8d36ccc81..e7a9f8ee5 100644 --- a/asm/item_pc.s +++ b/asm/item_pc.s @@ -162,7 +162,7 @@ _0810D53C: bl clear_scheduled_bg_copies_to_vram b _0810D674 _0810D546: - bl remove_some_task + bl ScanlineEffect_Stop b _0810D674 _0810D54C: bl FreeAllSpritePalettes @@ -233,7 +233,7 @@ _0810D5CC: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0810D5FC @ =gUnknown_3005E70 + ldr r0, _0810D5FC @ =gMultiuseListMenuTemplate ldr r2, _0810D600 @ =gUnknown_203ADCC ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -249,7 +249,7 @@ _0810D5CC: b _0810D674 .align 2, 0 _0810D5F8: .4byte sub_810DEA0 -_0810D5FC: .4byte gUnknown_3005E70 +_0810D5FC: .4byte gMultiuseListMenuTemplate _0810D600: .4byte gUnknown_203ADCC _0810D604: .4byte gTasks _0810D608: @@ -257,7 +257,7 @@ _0810D608: b _0810D674 _0810D60E: movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0810D674 _0810D616: ldr r0, _0810D62C @ =gUnknown_203ADCC @@ -594,7 +594,7 @@ _0810D8A4: movs r1, 0x2 negs r1, r1 str r1, [r0, 0x4] - ldr r2, _0810D948 @ =gUnknown_3005E70 + ldr r2, _0810D948 @ =gMultiuseListMenuTemplate str r3, [r2] ldr r0, _0810D940 @ =gUnknown_203ADBC ldr r3, [r0] @@ -658,7 +658,7 @@ _0810D938: .4byte gSaveBlock1Ptr _0810D93C: .4byte gUnknown_203ADC4 _0810D940: .4byte gUnknown_203ADBC _0810D944: .4byte gFameCheckerText_Cancel -_0810D948: .4byte gUnknown_3005E70 +_0810D948: .4byte gMultiuseListMenuTemplate _0810D94C: .4byte sub_810D954 _0810D950: .4byte sub_810DA20 thumb_func_end sub_810D878 @@ -804,7 +804,7 @@ _0810DA58: movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0810DAAC @ =gStringVar4 - ldr r1, _0810DAB0 @ =gUnknown_84162B9 + ldr r1, _0810DAB0 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders str r5, [sp] @@ -828,7 +828,7 @@ _0810DA9E: .align 2, 0 _0810DAA8: .4byte gStringVar1 _0810DAAC: .4byte gStringVar4 -_0810DAB0: .4byte gUnknown_84162B9 +_0810DAB0: .4byte gText_TimesStrVar1 thumb_func_end sub_810DA20 thumb_func_start sub_810DAB4 @@ -1154,7 +1154,7 @@ sub_810DCE4: @ 810DCE4 ldr r4, _0810DD30 @ =gUnknown_203ADD0 adds r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu ldr r0, _0810DD34 @ =gUnknown_203ADBC ldr r0, [r0] ldr r0, [r0] @@ -1731,7 +1731,7 @@ _0810E194: ldr r5, _0810E1F4 @ =gUnknown_203ADD0 adds r2, r5, 0x2 adds r1, r5, 0 - bl sub_810713C + bl DestroyListMenu movs r1, 0x2 ldrsh r0, [r6, r1] cmp r0, r4 @@ -1742,7 +1742,7 @@ _0810E194: strh r0, [r1, 0x6] _0810E1C0: bl sub_810D878 - ldr r0, _0810E1F8 @ =gUnknown_3005E70 + ldr r0, _0810E1F8 @ =gMultiuseListMenuTemplate subs r2, r5, 0x4 ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -1766,7 +1766,7 @@ _0810E1E6: .align 2, 0 _0810E1F0: .4byte gSaveBlock1Ptr _0810E1F4: .4byte gUnknown_203ADD0 -_0810E1F8: .4byte gUnknown_3005E70 +_0810E1F8: .4byte gMultiuseListMenuTemplate _0810E1FC: .4byte sub_810DEA0 thumb_func_end sub_810E160 @@ -1788,7 +1788,7 @@ sub_810E200: @ 810E200 ldr r5, _0810E268 @ =gUnknown_203ADD0 adds r2, r5, 0x2 adds r1, r5, 0 - bl sub_810713C + bl DestroyListMenu movs r1, 0x2 ldrsh r0, [r6, r1] cmp r0, r4 @@ -1799,7 +1799,7 @@ sub_810E200: @ 810E200 strh r0, [r1, 0x6] _0810E234: bl sub_810D878 - ldr r0, _0810E26C @ =gUnknown_3005E70 + ldr r0, _0810E26C @ =gMultiuseListMenuTemplate subs r2, r5, 0x4 ldrh r1, [r2, 0x4] ldrh r2, [r2, 0x6] @@ -1822,7 +1822,7 @@ _0810E234: .align 2, 0 _0810E264: .4byte gTasks+0x8 _0810E268: .4byte gUnknown_203ADD0 -_0810E26C: .4byte gUnknown_3005E70 +_0810E26C: .4byte gMultiuseListMenuTemplate _0810E270: .4byte sub_810DEA0 thumb_func_end sub_810E200 @@ -1880,7 +1880,7 @@ sub_810E274: @ 810E274 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldrh r0, [r6, 0x2] bl sub_810DD68 lsls r0, 16 @@ -2205,11 +2205,11 @@ sub_810E578: @ 810E578 ldr r4, _0810E5D8 @ =gUnknown_203ADD0 adds r2, r4, 0x2 adds r1, r4, 0 - bl sub_810713C + bl DestroyListMenu bl sub_810DDA4 bl sub_810DBF0 bl sub_810D878 - ldr r0, _0810E5DC @ =gUnknown_3005E70 + ldr r0, _0810E5DC @ =gMultiuseListMenuTemplate subs r4, 0x4 ldrh r1, [r4, 0x4] ldrh r2, [r4, 0x6] @@ -2227,7 +2227,7 @@ sub_810E578: @ 810E578 .align 2, 0 _0810E5D4: .4byte gTasks+0x8 _0810E5D8: .4byte gUnknown_203ADD0 -_0810E5DC: .4byte gUnknown_3005E70 +_0810E5DC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_810E578 thumb_func_start sub_810E5E0 @@ -2263,7 +2263,7 @@ sub_810E5E0: @ 810E5E0 movs r2, 0x2 movs r3, 0x3 bl ConvertIntToDecimalStringN - ldr r1, _0810E66C @ =gUnknown_84162B9 + ldr r1, _0810E66C @ =gText_TimesStrVar1 adds r0, r5, 0 bl StringExpandPlaceholders movs r0, 0x3 @@ -2290,7 +2290,7 @@ sub_810E5E0: @ 810E5E0 _0810E660: .4byte gStringVar1 _0810E664: .4byte gStringVar4 _0810E668: .4byte gUnknown_84177AC -_0810E66C: .4byte gUnknown_84162B9 +_0810E66C: .4byte gText_TimesStrVar1 thumb_func_end sub_810E5E0 thumb_func_start sub_810E670 @@ -2317,7 +2317,7 @@ sub_810E670: @ 810E670 movs r3, 0x3 bl ConvertIntToDecimalStringN ldr r4, _0810E6D0 @ =gStringVar4 - ldr r1, _0810E6D4 @ =gUnknown_84162B9 + ldr r1, _0810E6D4 @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -2340,7 +2340,7 @@ sub_810E670: @ 810E670 .align 2, 0 _0810E6CC: .4byte gStringVar1 _0810E6D0: .4byte gStringVar4 -_0810E6D4: .4byte gUnknown_84162B9 +_0810E6D4: .4byte gText_TimesStrVar1 thumb_func_end sub_810E670 thumb_func_start sub_810E6D8 @@ -2444,13 +2444,13 @@ sub_810E79C: @ 810E79C bl ClearWindowTilemap movs r0, 0 bl PutWindowTilemap - ldr r1, _0810E7D4 @ =gUnknown_841632A + ldr r1, _0810E7D4 @ =gText_ThereIsNoPokemon ldr r2, _0810E7D8 @ =sub_810E848 adds r0, r4, 0 bl sub_810EB30 b _0810E7EA .align 2, 0 -_0810E7D4: .4byte gUnknown_841632A +_0810E7D4: .4byte gText_ThereIsNoPokemon _0810E7D8: .4byte sub_810E848 _0810E7DC: ldr r0, _0810E7F0 @ =gUnknown_203ADBC @@ -2610,7 +2610,7 @@ sub_810E8F0: @ 810E8F0 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette - ldr r0, _0810E97C @ =gUnknown_841F408 + ldr r0, _0810E97C @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -2647,7 +2647,7 @@ _0810E95C: .align 2, 0 _0810E974: .4byte gUnknown_8453F98 _0810E978: .4byte 0x000003a3 -_0810E97C: .4byte gUnknown_841F408 +_0810E97C: .4byte gTMCaseMainWindowPalette _0810E980: .4byte gUnknown_203ADD8 thumb_func_end sub_810E8F0 @@ -2884,7 +2884,7 @@ sub_810EB30: @ 810EB30 adds r6, r2, 0 lsls r4, 24 lsrs r4, 24 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 movs r2, 0xEB diff --git a/asm/item_use.s b/asm/item_use.s index fce57bc88..79dcb290a 100644 --- a/asm/item_use.s +++ b/asm/item_use.s @@ -203,7 +203,7 @@ sub_80A112C: @ 80A112C lsrs r4, 24 movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r4, 0 bl DestroyTask bl sub_80696C0 @@ -1048,7 +1048,7 @@ sub_80A17D4: @ 80A17D4 ldr r1, _080A17E4 @ =UseFameCheckerFromMenu movs r0, 0 movs r2, 0 - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 .align 2, 0 @@ -1071,7 +1071,7 @@ sub_80A17E8: @ 80A17E8 ldr r1, _080A181C @ =c2_exit_to_overworld_2_switch movs r0, 0 movs r2, 0x1 - bl sub_81317F8 + bl InitTMCase adds r0, r4, 0 bl DestroyTask _080A1812: diff --git a/asm/itemfinder.s b/asm/itemfinder.s index bf3e78ebc..e510252ab 100644 --- a/asm/itemfinder.s +++ b/asm/itemfinder.s @@ -81,7 +81,7 @@ sub_813ED18: @ 813ED18 lsrs r4, 24 movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame bl sub_80696C0 bl ScriptContext2_Disable adds r0, r4, 0 @@ -970,7 +970,7 @@ sub_813F380: @ 813F380 bl sub_813F3FC movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame bl sub_80696C0 bl ScriptContext2_Disable adds r0, r4, 0 diff --git a/asm/learn_move.s b/asm/learn_move.s index 5068e6d16..db41257a2 100644 --- a/asm/learn_move.s +++ b/asm/learn_move.s @@ -296,7 +296,7 @@ sub_80E48C0: @ 80E48C0 ldr r4, _080E48F0 @ =gStringVar4 adds r0, r4, 0 bl StringExpandPlaceholders - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 str r0, [sp] @@ -1373,7 +1373,7 @@ _080E51AA: adds r2, r3 movs r0, 0xFE str r0, [r2] - ldr r2, _080E51FC @ =gUnknown_3005E70 + ldr r2, _080E51FC @ =gMultiuseListMenuTemplate adds r1, r2, 0 ldr r0, _080E5200 @ =gUnknown_83FFA94 ldm r0!, {r3,r5,r6} @@ -1397,7 +1397,7 @@ _080E51EC: .4byte gPlayerParty _080E51F0: .4byte gMoveNames _080E51F4: .4byte gStringVar1 _080E51F8: .4byte gFameCheckerText_Cancel -_080E51FC: .4byte gUnknown_3005E70 +_080E51FC: .4byte gMultiuseListMenuTemplate _080E5200: .4byte gUnknown_83FFA94 thumb_func_end sub_80E50CC @@ -1523,7 +1523,7 @@ _080E52FA: thumb_func_start sub_80E5300 sub_80E5300: @ 80E5300 push {r4,lr} - ldr r0, _080E5330 @ =gUnknown_3005E70 + ldr r0, _080E5330 @ =gMultiuseListMenuTemplate ldr r4, _080E5334 @ =gUnknown_203AAB4 ldr r2, [r4] ldr r3, _080E5338 @ =0x00000a68 @@ -1544,7 +1544,7 @@ sub_80E5300: @ 80E5300 pop {r0} bx r0 .align 2, 0 -_080E5330: .4byte gUnknown_3005E70 +_080E5330: .4byte gMultiuseListMenuTemplate _080E5334: .4byte gUnknown_203AAB4 _080E5338: .4byte 0x00000a68 _080E533C: .4byte 0x00000263 @@ -1568,11 +1568,11 @@ sub_80E5340: @ 80E5340 movs r0, 0x2 movs r2, 0x1 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon ldrb r0, [r4, 0x1] cmp r0, 0x1 bhi _080E5388 - ldr r1, _080E5384 @ =gUnknown_8416213 + ldr r1, _080E5384 @ =gText_ThreeHyphens movs r0, 0 str r0, [sp] str r0, [sp, 0x4] @@ -1583,7 +1583,7 @@ sub_80E5340: @ 80E5340 b _080E53A6 .align 2, 0 _080E5380: .4byte gBattleMoves -_080E5384: .4byte gUnknown_8416213 +_080E5384: .4byte gText_ThreeHyphens _080E5388: ldrb r1, [r4, 0x1] add r0, sp, 0x8 @@ -1608,7 +1608,7 @@ _080E53A6: adds r4, r1, 0 cmp r2, 0 bne _080E53D4 - ldr r1, _080E53D0 @ =gUnknown_8416213 + ldr r1, _080E53D0 @ =gText_ThreeHyphens str r2, [sp] movs r0, 0x1 str r0, [sp, 0x4] @@ -1619,7 +1619,7 @@ _080E53A6: b _080E53F4 .align 2, 0 _080E53CC: .4byte gBattleMoves -_080E53D0: .4byte gUnknown_8416213 +_080E53D0: .4byte gText_ThreeHyphens _080E53D4: ldrb r1, [r0, 0x3] add r0, sp, 0x8 @@ -1680,27 +1680,27 @@ sub_80E5444: @ 80E5444 movs r1, 0x13 movs r2, 0x1 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0x1 movs r1, 0x14 movs r2, 0 movs r3, 0x4 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0x1 movs r1, 0x15 movs r2, 0 movs r3, 0x13 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 movs r1, 0x16 movs r2, 0x1 movs r3, 0x13 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 movs r1, 0x17 movs r2, 0x1 movs r3, 0x22 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0 bl PutWindowTilemap movs r0, 0x1 diff --git a/asm/link.s b/asm/link.s index a0ba7f9cb..7130ce69d 100644 --- a/asm/link.s +++ b/asm/link.s @@ -3252,7 +3252,7 @@ c2_800ACD4: @ 800ACD4 movs r2, 0x2 bl FillPalette bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r1, _0800ADF0 @ =gWirelessCommType ldrb r0, [r1] cmp r0, 0 @@ -3308,7 +3308,7 @@ _0800AD30: lsls r1, 8 movs r0, 0 bl ClearGpuRegBits - ldr r0, _0800AE08 @ =gUnknown_841F408 + ldr r0, _0800AE08 @ =gTMCaseMainWindowPalette movs r1, 0xF0 movs r2, 0x20 bl LoadPalette @@ -3343,7 +3343,7 @@ _0800ADF8: .4byte sub_800978C _0800ADFC: .4byte gUnknown_82345E8 _0800AE00: .4byte gUnknown_2022860 _0800AE04: .4byte gUnknown_82345F0 -_0800AE08: .4byte gUnknown_841F408 +_0800AE08: .4byte gTMCaseMainWindowPalette _0800AE0C: .4byte gSoftResetDisabled _0800AE10: .4byte sub_80094D4 _0800AE14: .4byte gMain diff --git a/asm/link_rfu_3.s b/asm/link_rfu_3.s index 01e93a41d..776b94c41 100644 --- a/asm/link_rfu_3.s +++ b/asm/link_rfu_3.s @@ -401,8 +401,8 @@ _08115B5C: bl CopyWindowToVram ldrb r0, [r5, 0xF] movs r1, 0 - bl sub_80F6F1C - ldr r0, _08115C58 @ =gUnknown_3005E70 + bl DrawStdWindowFrame + ldr r0, _08115C58 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08115C5C @ =gUnknown_8456D34 ldm r1!, {r3,r6,r7} @@ -417,7 +417,7 @@ _08115B5C: strb r0, [r5, 0x12] ldrb r0, [r5, 0x11] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldrb r0, [r5, 0x11] bl PutWindowTilemap ldrb r0, [r5, 0x11] @@ -434,7 +434,7 @@ _08115C48: .4byte gUnknown_8456CD0 _08115C4C: .4byte gUnknown_8456CFC _08115C50: .4byte gUnknown_8456D04 _08115C54: .4byte gUnknown_845747C -_08115C58: .4byte gUnknown_3005E70 +_08115C58: .4byte gMultiuseListMenuTemplate _08115C5C: .4byte gUnknown_8456D34 _08115C60: ldr r0, _08115C98 @ =gStringVar1 @@ -1135,16 +1135,16 @@ sub_81161E4: @ 81161E4 bl ClearWindowTilemap ldrb r0, [r4, 0x11] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4, 0x10] bl ClearWindowTilemap ldrb r0, [r4, 0xF] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r4, 0x11] @@ -1919,8 +1919,8 @@ _08116838: bl CopyWindowToVram ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_80F6F1C - ldr r0, _081168FC @ =gUnknown_3005E70 + bl DrawStdWindowFrame + ldr r0, _081168FC @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08116900 @ =gUnknown_8456DDC ldm r1!, {r3,r5,r7} @@ -1935,7 +1935,7 @@ _08116838: strb r0, [r6, 0xE] ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldrb r0, [r6, 0xD] bl PutWindowTilemap ldrb r0, [r6, 0xD] @@ -1955,7 +1955,7 @@ _081168EC: .4byte gUnknown_8456CD0 _081168F0: .4byte gUnknown_8456D4C _081168F4: .4byte gUnknown_8456D54 _081168F8: .4byte gUnknown_8458FC8 -_081168FC: .4byte gUnknown_3005E70 +_081168FC: .4byte gMultiuseListMenuTemplate _08116900: .4byte gUnknown_8456DDC _08116904: bl sub_8116FE4 @@ -2318,16 +2318,16 @@ _08116C10: bl ClearWindowTilemap ldrb r0, [r6, 0xD] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r6, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r6, 0xC] bl ClearWindowTilemap ldrb r0, [r6, 0xB] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r6, 0xD] @@ -4068,7 +4068,7 @@ _08117AB8: strb r0, [r5, 0xF] ldrb r0, [r5, 0xF] bl sub_814240C - ldr r0, _08117B74 @ =gUnknown_3005E70 + ldr r0, _08117B74 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08117B78 @ =gUnknown_8456D34 ldm r1!, {r3,r4,r6} @@ -4089,7 +4089,7 @@ _08117AB8: .align 2, 0 _08117B6C: .4byte gUnknown_8456CFC _08117B70: .4byte 0x0000ffff -_08117B74: .4byte gUnknown_3005E70 +_08117B74: .4byte gMultiuseListMenuTemplate _08117B78: .4byte gUnknown_8456D34 _08117B7C: ldr r0, _08117B9C @ =gStringVar1 @@ -4398,7 +4398,7 @@ _08117DEE: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4457,7 +4457,7 @@ _08117E80: ldrb r0, [r5, 0x12] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xF] @@ -4624,7 +4624,7 @@ _08117FC0: strb r0, [r5, 0xD] ldrb r0, [r5, 0xB] bl sub_814240C - ldr r0, _08118068 @ =gUnknown_3005E70 + ldr r0, _08118068 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _0811806C @ =gUnknown_8456DDC ldm r1!, {r3,r6,r7} @@ -4659,7 +4659,7 @@ _08117FC0: _0811805C: .4byte gUnknown_8456D4C _08118060: .4byte 0x0000ffff _08118064: .4byte gUnknown_8456D54 -_08118068: .4byte gUnknown_3005E70 +_08118068: .4byte gMultiuseListMenuTemplate _0811806C: .4byte gUnknown_8456DDC _08118070: bl sub_8116FE4 @@ -4842,7 +4842,7 @@ _081181EC: ldrb r0, [r5, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xD] @@ -5042,7 +5042,7 @@ _08118380: strb r0, [r5, 0xB] ldrb r0, [r5, 0xB] bl sub_814240C - ldr r0, _08118400 @ =gUnknown_3005E70 + ldr r0, _08118400 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, _08118404 @ =gUnknown_8456DDC ldm r1!, {r3,r4,r6} @@ -5066,7 +5066,7 @@ _081183EC: .align 2, 0 _081183F8: .4byte gUnknown_8456D4C _081183FC: .4byte 0x0000ffff -_08118400: .4byte gUnknown_3005E70 +_08118400: .4byte gMultiuseListMenuTemplate _08118404: .4byte gUnknown_8456DDC _08118408: bl sub_8116FE4 @@ -5242,7 +5242,7 @@ _08118564: ldrb r0, [r5, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl CopyBgTilemapBufferToVram ldrb r0, [r5, 0xB] @@ -8485,7 +8485,7 @@ sub_811A0B4: @ 811A0B4 bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _0811A0DC @ =gStringVar4 adds r1, r4, 0 bl StringExpandPlaceholders @@ -8531,7 +8531,7 @@ _0811A10A: bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _0811A12C @ =gStringVar4 adds r1, r5, 0 bl StringExpandPlaceholders @@ -8624,7 +8624,7 @@ sub_811A1AC: @ 811A1AC lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame adds r0, r4, 0 movs r1, 0xFF bl FillWindowPixelBuffer @@ -8659,7 +8659,7 @@ sub_811A1FC: @ 811A1FC lsrs r4, 24 adds r0, r4, 0 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame adds r0, r4, 0 bl RemoveWindow pop {r4} @@ -8688,8 +8688,8 @@ _0811A234: strb r0, [r5] ldrb r0, [r5] movs r1, 0 - bl sub_80F6F1C - ldr r0, _0811A270 @ =gUnknown_3005E70 + bl DrawStdWindowFrame + ldr r0, _0811A270 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x1C] ldm r1!, {r3,r4,r6} @@ -8711,7 +8711,7 @@ _0811A234: strb r0, [r7] b _0811A2DA .align 2, 0 -_0811A270: .4byte gUnknown_3005E70 +_0811A270: .4byte gMultiuseListMenuTemplate _0811A274: mov r3, r9 ldrb r0, [r3] @@ -8726,10 +8726,10 @@ _0811A274: ldrb r0, [r4] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r5] bl RemoveWindow movs r0, 0 @@ -8747,10 +8747,10 @@ _0811A2B0: ldrb r0, [r6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r5] bl RemoveWindow strb r4, [r7] @@ -8794,8 +8794,8 @@ _0811A308: strb r0, [r4] ldrb r0, [r4] movs r1, 0 - bl sub_80F6F1C - ldr r0, _0811A354 @ =gUnknown_3005E70 + bl DrawStdWindowFrame + ldr r0, _0811A354 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp, 0x20] ldm r1!, {r3,r6,r7} @@ -8818,7 +8818,7 @@ _0811A308: b _0811A3E6 .align 2, 0 _0811A350: .4byte gUnknown_8456F1C -_0811A354: .4byte gUnknown_3005E70 +_0811A354: .4byte gMultiuseListMenuTemplate _0811A358: ldrb r0, [r5] bl ListMenuHandleInput @@ -8842,10 +8842,10 @@ _0811A37E: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow ldrb r0, [r7] @@ -8867,10 +8867,10 @@ _0811A3AC: ldrb r0, [r5] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r4] movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow ldrb r0, [r7] @@ -9999,7 +9999,7 @@ _0811AC3C: adds r0, r6, 0 movs r2, 0x44 adds r3, r5, 0 - bl sub_8107D68 + bl blit_move_info_icon movs r0, 0xB mov r2, r8 muls r2, r0 diff --git a/asm/list_menu.s b/asm/list_menu.s index 3475b0914..3119d53bd 100644 --- a/asm/list_menu.s +++ b/asm/list_menu.s @@ -62,7 +62,7 @@ _08106F24: ldr r1, [sp, 0x4] bl sub_8150048 _08106F34: - ldr r0, _08106F64 @ =gUnknown_3005E70 + ldr r0, _08106F64 @ =gMultiuseListMenuTemplate adds r2, r0, 0 ldr r1, [sp] ldm r1!, {r3-r5} @@ -84,7 +84,7 @@ _08106F34: b _08106FE4 .align 2, 0 _08106F60: .4byte gUnknown_203ACF4 -_08106F64: .4byte gUnknown_3005E70 +_08106F64: .4byte gMultiuseListMenuTemplate _08106F68: ldrb r0, [r5, 0x6] bl ListMenuHandleInput @@ -126,7 +126,7 @@ _08106FA8: bgt _08106FBA ldrb r0, [r5, 0x5] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame _08106FBA: ldr r0, _08106FC8 @ =gUnknown_203ACF4 ldrb r0, [r0, 0x5] @@ -139,7 +139,7 @@ _08106FCC: ldrb r0, [r5, 0x6] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu ldrb r0, [r5, 0x5] bl RemoveWindow movs r0, 0 @@ -340,8 +340,8 @@ _08107136: bx r1 thumb_func_end ListMenuHandleInput - thumb_func_start sub_810713C -sub_810713C: @ 810713C + thumb_func_start DestroyListMenu +DestroyListMenu: @ 810713C push {r4,lr} adds r3, r1, 0 lsls r0, 24 @@ -377,7 +377,7 @@ _08107170: bx r0 .align 2, 0 _0810717C: .4byte gTasks+0x8 - thumb_func_end sub_810713C + thumb_func_end DestroyListMenu thumb_func_start sub_8107180 sub_8107180: @ 8107180 @@ -1976,8 +1976,8 @@ _08107D56: _08107D64: .4byte gUnknown_8E95DBC thumb_func_end sub_8107D38 - thumb_func_start sub_8107D68 -sub_8107D68: @ 8107D68 + thumb_func_start blit_move_info_icon +blit_move_info_icon: @ 8107D68 push {r4,r5,lr} sub sp, 0x18 lsls r0, 24 @@ -2014,6 +2014,6 @@ sub_8107D68: @ 8107D68 .align 2, 0 _08107DAC: .4byte gUnknown_8452C94 _08107DB0: .4byte gUnknown_8E95DDC - thumb_func_end sub_8107D68 + thumb_func_end blit_move_info_icon .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros.inc b/asm/macros.inc index 6d8657892..324a8de02 100644 --- a/asm/macros.inc +++ b/asm/macros.inc @@ -147,3 +147,8 @@ .2byte MAP_\map_name .space 2 .endm + + .macro window_template bg, top, left, height, width, palno, baseBlock + .byte \bg, \top, \left, \height, \width, \palno + .2byte \baseBlock + .endm diff --git a/asm/mail.s b/asm/mail.s index 1ecaf17cc..dac4bf6f8 100644 --- a/asm/mail.s +++ b/asm/mail.s @@ -200,7 +200,7 @@ _080BED40: _080BED8C: movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0 movs r1, 0 bl SetGpuReg @@ -209,13 +209,13 @@ _080BED8C: cmp r0, 0 bne _080BEDB4 movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080BF0F4 .align 2, 0 _080BEDB0: .4byte gUnknown_203AAC4 _080BEDB4: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080BF0F4 _080BEDBC: add r1, sp, 0x8 diff --git a/asm/mailbox_pc.s b/asm/mailbox_pc.s index d2cc06070..5273d1357 100644 --- a/asm/mailbox_pc.s +++ b/asm/mailbox_pc.s @@ -176,7 +176,7 @@ sub_810EC98: @ 810EC98 ldr r7, _0810ED50 @ =gUnknown_203ADE0 ldr r0, _0810ED54 @ =gFameCheckerText_Cancel mov r12, r0 - ldr r5, _0810ED58 @ =gUnknown_3005E70 + ldr r5, _0810ED58 @ =gMultiuseListMenuTemplate ldr r1, _0810ED5C @ =gUnknown_203ADDC mov r8, r1 ldrb r0, [r6, 0x5] @@ -263,7 +263,7 @@ _0810ECCE: .align 2, 0 _0810ED50: .4byte gUnknown_203ADE0 _0810ED54: .4byte gFameCheckerText_Cancel -_0810ED58: .4byte gUnknown_3005E70 +_0810ED58: .4byte gMultiuseListMenuTemplate _0810ED5C: .4byte gUnknown_203ADDC _0810ED60: .4byte gUnknown_8454003 _0810ED64: .4byte sub_810ED6C diff --git a/asm/main_menu.s b/asm/main_menu.s index ae0a4c69b..b170db136 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -113,7 +113,7 @@ sub_800C318: @ 800C318 ldr r0, _0800C4B0 @ =0x810001ff str r0, [r1, 0x8] ldr r0, [r1, 0x8] - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl FreeAllSpritePalettes @@ -983,7 +983,7 @@ _0800CB2E: bl FreeAllWindowBuffers adds r0, r6, 0 bl DestroyTask - bl sub_812EB2C + bl StartNewGameScene b _0800CB84 .align 2, 0 _0800CB44: .4byte gUnknown_2031DE0 diff --git a/asm/menu.s b/asm/menu.s index e593eef1c..a6d3d183b 100644 --- a/asm/menu.s +++ b/asm/menu.s @@ -933,8 +933,8 @@ sub_810F510: @ 810F510 bx r0 thumb_func_end sub_810F510 - thumb_func_start sub_810F558 -sub_810F558: @ 810F558 + thumb_func_start CreateWindow_SnapRight_StdPal +CreateWindow_SnapRight_StdPal: @ 810F558 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1005,10 +1005,10 @@ _0810F5C4: bx r1 .align 2, 0 _0810F5E4: .4byte gUnknown_203ADF4 - thumb_func_end sub_810F558 + thumb_func_end CreateWindow_SnapRight_StdPal - thumb_func_start sub_810F5E8 -sub_810F5E8: @ 810F5E8 + thumb_func_start PrintTextOnRightSnappedWindow +PrintTextOnRightSnappedWindow: @ 810F5E8 push {r4-r6,lr} sub sp, 0xC adds r5, r0, 0 @@ -1055,10 +1055,10 @@ _0810F63E: .align 2, 0 _0810F648: .4byte gUnknown_203ADF4 _0810F64C: .4byte gUnknown_8456618 - thumb_func_end sub_810F5E8 + thumb_func_end PrintTextOnRightSnappedWindow - thumb_func_start sub_810F650 -sub_810F650: @ 810F650 + thumb_func_start Menu_PrintHelpSystemUIHeader +Menu_PrintHelpSystemUIHeader: @ 810F650 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1145,7 +1145,7 @@ _0810F6F6: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_810F650 + thumb_func_end Menu_PrintHelpSystemUIHeader thumb_func_start sub_810F704 sub_810F704: @ 810F704 @@ -1264,8 +1264,8 @@ _0810F7BE: _0810F7D4: .4byte gUnknown_203ADE4 thumb_func_end sub_810F774 - thumb_func_start sub_810F7D8 -sub_810F7D8: @ 810F7D8 + thumb_func_start ProgramAndPlaceMenuCursorOnWindow +ProgramAndPlaceMenuCursorOnWindow: @ 810F7D8 push {r4-r6,lr} sub sp, 0x10 ldr r4, [sp, 0x20] @@ -1297,7 +1297,7 @@ sub_810F7D8: @ 810F7D8 pop {r4-r6} pop {r1} bx r1 - thumb_func_end sub_810F7D8 + thumb_func_end ProgramAndPlaceMenuCursorOnWindow thumb_func_start sub_810F818 sub_810F818: @ 810F818 @@ -1336,7 +1336,7 @@ sub_810F818: @ 810F818 adds r1, r6, 0 ldr r2, [sp, 0xC] ldr r3, [sp, 0x10] - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow lsls r0, 24 lsrs r0, 24 add sp, 0x14 @@ -2410,7 +2410,7 @@ sub_810FF60: @ 810FF60 adds r1, r6, 0 mov r2, r8 mov r3, r9 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow add sp, 0x1C pop {r3-r5} mov r8, r3 diff --git a/asm/menu2.s b/asm/menu2.s deleted file mode 100644 index c196f77b4..000000000 --- a/asm/menu2.s +++ /dev/null @@ -1,563 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start box_print -box_print: @ 812E51C - push {r4-r6,lr} - sub sp, 0x10 - adds r4, r1, 0 - ldr r6, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r1, [sp, 0x28] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - str r1, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r4, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - ldrb r0, [r0, 0x6] - strb r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r1, 0x9] - adds r0, r4, 0 - movs r1, 0x2 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xA] - adds r0, r4, 0 - movs r1, 0x3 - bl GetFontAttribute - mov r1, sp - strb r0, [r1, 0xB] - mov r3, sp - ldrb r2, [r3, 0xC] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - strb r0, [r3, 0xC] - mov r2, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r4, 0xF - strb r0, [r2, 0xC] - ldrb r2, [r6] - adds r0, r4, 0 - ands r0, r2 - ldrb r2, [r3, 0xD] - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xD] - mov r2, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r1, r4 - orrs r1, r0 - strb r1, [r2, 0xD] - mov r0, sp - adds r1, r5, 0 - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end box_print - - thumb_func_start AddTextPrinterParametrized2 -AddTextPrinterParametrized2: @ 812E5A4 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r1, 0 - ldr r1, [sp, 0x28] - mov r8, r1 - ldr r1, [sp, 0x2C] - mov r9, r1 - ldr r6, [sp, 0x30] - ldr r1, [sp, 0x34] - ldr r4, [sp, 0x38] - str r4, [sp] - mov r4, sp - strb r0, [r4, 0x4] - mov r0, sp - strb r5, [r0, 0x5] - strb r2, [r0, 0x6] - strb r3, [r0, 0x7] - mov r2, sp - ldrb r0, [r0, 0x6] - strb r0, [r2, 0x8] - mov r0, sp - ldrb r0, [r0, 0x7] - strb r0, [r2, 0x9] - mov r0, sp - mov r2, r8 - strb r2, [r0, 0xA] - mov r2, r9 - strb r2, [r0, 0xB] - ldrb r3, [r4, 0xC] - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r4, 0xC] - mov r3, sp - ldrb r0, [r6, 0x1] - lsls r0, 4 - movs r5, 0xF - strb r0, [r3, 0xC] - ldrb r3, [r6] - adds r0, r5, 0 - ands r0, r3 - ldrb r3, [r4, 0xD] - ands r2, r3 - orrs r2, r0 - strb r2, [r4, 0xD] - mov r3, sp - ldrb r0, [r6, 0x2] - lsls r0, 4 - ands r2, r5 - orrs r2, r0 - strb r2, [r3, 0xD] - lsls r1, 24 - lsrs r1, 24 - mov r0, sp - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end AddTextPrinterParametrized2 - - thumb_func_start sub_812E62C -sub_812E62C: @ 812E62C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - adds r6, r1, 0 - ldr r4, [sp, 0x2C] - ldr r1, [sp, 0x30] - mov r8, r1 - ldr r7, [sp, 0x34] - ldr r5, [sp, 0x38] - ldr r1, [sp, 0x3C] - mov r9, r1 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - str r2, [sp] - mov r1, sp - strb r0, [r1, 0x4] - mov r0, sp - strb r6, [r0, 0x5] - strb r3, [r0, 0x6] - strb r4, [r0, 0x7] - strb r3, [r0, 0x8] - strb r4, [r0, 0x9] - strb r5, [r0, 0xA] - mov r1, r9 - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r5, 0x10 - negs r5, r5 - adds r0, r5, 0 - ands r0, r1 - strb r0, [r2, 0xC] - adds r0, r6, 0 - movs r1, 0x5 - bl GetFontAttribute - mov r3, sp - lsls r0, 4 - ldrb r2, [r3, 0xC] - movs r4, 0xF - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0xC] - adds r0, r6, 0 - movs r1, 0x6 - bl GetFontAttribute - mov r2, sp - adds r1, r4, 0 - ands r1, r0 - ldrb r0, [r2, 0xD] - ands r5, r0 - orrs r5, r1 - strb r5, [r2, 0xD] - adds r0, r6, 0 - movs r1, 0x7 - bl GetFontAttribute - mov r2, sp - lsls r0, 4 - ldrb r1, [r2, 0xD] - ands r4, r1 - orrs r4, r0 - strb r4, [r2, 0xD] - mov r0, sp - mov r1, r8 - adds r2, r7, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812E62C - - thumb_func_start sub_812E6DC -sub_812E6DC: @ 812E6DC - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 16 - lsrs r5, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - movs r4, 0 - ldr r0, _0812E734 @ =gSaveBlock2Ptr - ldr r2, [r0] - ldrb r0, [r2] - ldr r7, _0812E738 @ =gStringVar4 - cmp r0, 0xFF - beq _0812E70A -_0812E700: - adds r4, 0x1 - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0812E700 -_0812E70A: - adds r0, r7, 0 - bl StringExpandPlaceholders - cmp r4, 0x5 - beq _0812E73C - lsls r3, r5, 24 - lsrs r3, 24 - lsls r0, r6, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - mov r0, r8 - movs r1, 0x2 - adds r2, r7, 0 - bl AddTextPrinterParameterized - b _0812E75C - .align 2, 0 -_0812E734: .4byte gSaveBlock2Ptr -_0812E738: .4byte gStringVar4 -_0812E73C: - lsls r3, r5, 24 - lsrs r3, 24 - lsls r0, r6, 24 - lsrs r0, 24 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - mov r0, r8 - movs r1, 0x2 - adds r2, r7, 0 - bl sub_812E62C -_0812E75C: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812E6DC - - thumb_func_start sub_812E768 -sub_812E768: @ 812E768 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - str r0, [sp] - str r1, [sp, 0x4] - ldr r0, [sp, 0x48] - ldr r4, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r5, [sp, 0x54] - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0xC] - lsls r4, 16 - lsrs r4, 16 - lsls r1, 16 - lsrs r1, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x4] - ldr r2, [sp, 0xC] - subs r0, r2 - ldr r2, [sp, 0x8] - adds r2, r1, r2 - str r2, [sp, 0x10] - cmp r0, r1 - bge _0812E7B4 - ldr r1, [sp, 0x8] - adds r0, r1 - str r0, [sp, 0x10] -_0812E7B4: - ldr r2, [sp, 0x4] - ldrh r1, [r2, 0x6] - subs r0, r1, r4 - cmp r0, r5 - bge _0812E7C6 - adds r0, r3, r1 - subs r0, r4 - str r0, [sp, 0x14] - b _0812E7CA -_0812E7C6: - adds r5, r3, r5 - str r5, [sp, 0x14] -_0812E7CA: - ldr r0, [sp] - ldrh r1, [r0, 0x4] - movs r2, 0x7 - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x18] - ldr r0, [sp, 0x4] - ldrh r1, [r0, 0x4] - adds r0, r1, 0 - ands r0, r2 - adds r1, r0 - asrs r1, 3 - str r1, [sp, 0x1C] - mov r12, r3 - mov r8, r4 - ldr r1, [sp, 0x14] - cmp r12, r1 - blt _0812E7F4 - b _0812E932 -_0812E7F4: - ldr r5, [sp, 0x8] - ldr r6, [sp, 0xC] - mov r2, r12 - adds r2, 0x1 - str r2, [sp, 0x20] - mov r0, r8 - adds r0, 0x1 - str r0, [sp, 0x24] - ldr r1, [sp, 0x10] - cmp r5, r1 - blt _0812E80C - b _0812E922 -_0812E80C: - movs r7, 0x1 - movs r2, 0xF0 - mov r10, r2 - movs r0, 0xF - mov r9, r0 -_0812E816: - asrs r0, r5, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp] - ldr r1, [r2] - adds r1, r0 - asrs r0, r5, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - asrs r0, r2, 3 - ldr r2, [sp, 0x18] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r12 - lsls r0, r2, 29 - lsrs r0, 27 - adds r3, r1, r0 - asrs r0, r6, 1 - movs r1, 0x3 - ands r0, r1 - ldr r2, [sp, 0x4] - ldr r1, [r2] - adds r1, r0 - asrs r0, r6, 3 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - asrs r0, r2, 3 - ldr r2, [sp, 0x1C] - muls r0, r2 - lsls r0, 5 - adds r1, r0 - mov r2, r8 - lsls r0, r2, 29 - lsrs r0, 27 - adds r4, r1, r0 - adds r0, r4, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E8C2 - subs r4, 0x1 - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E89A - ldrh r0, [r4] - ldr r2, _0812E88C @ =0x00000fff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E890 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 8 - b _0812E912 - .align 2, 0 -_0812E88C: .4byte 0x00000fff -_0812E890: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 12 - b _0812E912 -_0812E89A: - ldrh r0, [r4] - ldr r2, _0812E8B4 @ =0x0000f0ff - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E8B8 - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsls r0, 4 - b _0812E912 - .align 2, 0 -_0812E8B4: .4byte 0x0000f0ff -_0812E8B8: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 8 - b _0812E912 -_0812E8C2: - adds r0, r6, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E8EE - ldrh r0, [r4] - ldr r2, _0812E8E0 @ =0x0000ff0f - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E8E4 - ldrb r1, [r3] - mov r0, r10 - b _0812E910 - .align 2, 0 -_0812E8E0: .4byte 0x0000ff0f -_0812E8E4: - ldrb r1, [r3] - mov r0, r9 - ands r0, r1 - lsls r0, 4 - b _0812E912 -_0812E8EE: - ldrh r0, [r4] - ldr r2, _0812E908 @ =0x0000fff0 - ands r2, r0 - adds r0, r5, 0 - ands r0, r7 - cmp r0, 0 - beq _0812E90C - ldrb r1, [r3] - mov r0, r10 - ands r0, r1 - lsrs r0, 4 - b _0812E912 - .align 2, 0 -_0812E908: .4byte 0x0000fff0 -_0812E90C: - ldrb r1, [r3] - mov r0, r9 -_0812E910: - ands r0, r1 -_0812E912: - orrs r2, r0 - strh r2, [r4] - adds r5, 0x1 - adds r6, 0x1 - ldr r0, [sp, 0x10] - cmp r5, r0 - bge _0812E922 - b _0812E816 -_0812E922: - ldr r1, [sp, 0x20] - mov r12, r1 - ldr r2, [sp, 0x24] - mov r8, r2 - ldr r0, [sp, 0x14] - cmp r12, r0 - bge _0812E932 - b _0812E7F4 -_0812E932: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_812E768 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s index 612672b93..e576313f4 100644 --- a/asm/menu_helpers.s +++ b/asm/menu_helpers.s @@ -182,8 +182,8 @@ _080BF5C8: .4byte gTasks _080BF5CC: .4byte gUnknown_20399C8 thumb_func_end sub_80BF560 - thumb_func_start sub_80BF5D0 -sub_80BF5D0: @ 80BF5D0 + thumb_func_start CreateYesNoMenuWithCallbacks +CreateYesNoMenuWithCallbacks: @ 80BF5D0 push {r4-r7,lr} sub sp, 0xC adds r6, r0, 0 @@ -228,7 +228,7 @@ sub_80BF5D0: @ 80BF5D0 _080BF624: .4byte gUnknown_20399C8 _080BF628: .4byte gTasks _080BF62C: .4byte sub_80BF560 - thumb_func_end sub_80BF5D0 + thumb_func_end CreateYesNoMenuWithCallbacks thumb_func_start GetLRKeysState GetLRKeysState: @ 80BF630 diff --git a/asm/menu_indicators.s b/asm/menu_indicators.s index 0dad7d3c1..5ae7a46c4 100644 --- a/asm/menu_indicators.s +++ b/asm/menu_indicators.s @@ -38,7 +38,7 @@ _0813392A: _0813393A: movs r0, 0x34 ldrsh r3, [r4, r0] - ldr r1, _0813395C @ =gUnknown_825E074 + ldr r1, _0813395C @ =gSineTable ldrh r2, [r4, 0x38] lsls r0, r2, 24 lsrs r0, 23 @@ -54,11 +54,11 @@ _08133954: strh r0, [r4, 0x24] b _0813397E .align 2, 0 -_0813395C: .4byte gUnknown_825E074 +_0813395C: .4byte gSineTable _08133960: movs r0, 0x34 ldrsh r3, [r4, r0] - ldr r1, _0813398C @ =gUnknown_825E074 + ldr r1, _0813398C @ =gSineTable ldrh r2, [r4, 0x38] lsls r0, r2, 24 lsrs r0, 23 @@ -81,7 +81,7 @@ _08133984: pop {r0} bx r0 .align 2, 0 -_0813398C: .4byte gUnknown_825E074 +_0813398C: .4byte gSineTable thumb_func_end sub_8133904 thumb_func_start AddScrollIndicatorArrowObject @@ -959,7 +959,7 @@ _0813403C: .4byte gSprites ObjectCB_RedArrowCursor: @ 8134040 push {lr} adds r2, r0, 0 - ldr r1, _08134068 @ =gUnknown_825E074 + ldr r1, _08134068 @ =gSineTable ldrh r3, [r2, 0x2E] lsls r0, r3, 24 lsrs r0, 23 @@ -978,7 +978,7 @@ _08134058: pop {r0} bx r0 .align 2, 0 -_08134068: .4byte gUnknown_825E074 +_08134068: .4byte gSineTable thumb_func_end ObjectCB_RedArrowCursor thumb_func_start nullsub_95 diff --git a/asm/mystery_gift_menu.s b/asm/mystery_gift_menu.s index 790c3c0b2..d6be6db09 100644 --- a/asm/mystery_gift_menu.s +++ b/asm/mystery_gift_menu.s @@ -64,7 +64,7 @@ _081420D6: bl ResetSpriteData bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x1 bl ResetBgsAndClearDma3BusyFlags ldr r1, _081421E0 @ =gUnknown_8466D60 diff --git a/asm/naming_screen.s b/asm/naming_screen.s index b3c9d1f73..01217d92f 100644 --- a/asm/naming_screen.s +++ b/asm/naming_screen.s @@ -401,8 +401,8 @@ _0809DBD6: movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 _0809DCA4: lsls r0, r4, 3 ldr r1, _0809DD50 @ =gUnknown_83E22A0 @@ -493,7 +493,7 @@ sub_809DD60: @ 809DD60 bl SetMainCallback2 bl sub_812B234 movs r0, 0x3 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 @@ -959,13 +959,13 @@ _0809E156: bl StringExpandPlaceholders movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _0809E1D0 @ =gTextFlags ldrb r0, [r2] movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 diff --git a/asm/new_game.s b/asm/new_game.s index cec2b2c9a..63bfd9523 100644 --- a/asm/new_game.s +++ b/asm/new_game.s @@ -183,7 +183,7 @@ sub_8054A28: @ 8054A28 bl ZeroPlayerPartyMons bl ZeroEnemyPartyMons bl sub_81089BC - bl sub_81320AC + bl ResetTMCaseCursorPos bl sub_813D6E4 bl sub_811089C bl Random @@ -257,7 +257,7 @@ sub_8054A60: @ 8054A60 strb r5, [r0] bl ZeroPlayerPartyMons bl sub_808C7E0 - bl sub_8141C54 + bl ClearRoamerData ldr r0, [r6] ldr r1, _08054B68 @ =0x00000296 adds r0, r1 diff --git a/asm/new_menu_helpers.s b/asm/new_menu_helpers.s index b3844a165..2e4e1a2c9 100644 --- a/asm/new_menu_helpers.s +++ b/asm/new_menu_helpers.s @@ -672,8 +672,8 @@ sub_80F6C14: @ 80F6C14 bx r0 thumb_func_end sub_80F6C14 - thumb_func_start sub_80F6C6C -sub_80F6C6C: @ 80F6C6C + thumb_func_start InitStandardTextBoxWindows +InitStandardTextBoxWindows: @ 80F6C6C push {lr} ldr r0, _080F6C84 @ =gUnknown_841F42C bl InitWindows @@ -686,7 +686,7 @@ sub_80F6C6C: @ 80F6C6C .align 2, 0 _080F6C84: .4byte gUnknown_841F42C _080F6C88: .4byte gUnknown_203ABE0 - thumb_func_end sub_80F6C6C + thumb_func_end InitStandardTextBoxWindows thumb_func_start sub_80F6C8C sub_80F6C8C: @ 80F6C8C @@ -696,8 +696,8 @@ sub_80F6C8C: @ 80F6C8C bx r0 thumb_func_end sub_80F6C8C - thumb_func_start sub_80F6C98 -sub_80F6C98: @ 80F6C98 + thumb_func_start ResetBg0 +ResetBg0: @ 80F6C98 push {lr} movs r0, 0 movs r1, 0 @@ -711,7 +711,7 @@ sub_80F6C98: @ 80F6C98 bl sub_80F6E9C pop {r0} bx r0 - thumb_func_end sub_80F6C98 + thumb_func_end ResetBg0 thumb_func_start sub_80F6CBC sub_80F6CBC: @ 80F6CBC @@ -819,7 +819,7 @@ sub_80F6D5C: @ 80F6D5C lsrs r0, 24 cmp r0, 0 bne _080F6DB0 - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -840,7 +840,7 @@ _080F6DAC: .4byte gStringVar4 _080F6DB0: cmp r0, 0x1 bne _080F6DDC - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -858,7 +858,7 @@ _080F6DB0: .align 2, 0 _080F6DD8: .4byte gStringVar4 _080F6DDC: - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -896,7 +896,7 @@ sub_80F6E08: @ 80F6E08 ands r1, r2 orrs r1, r0 strb r1, [r3] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -995,8 +995,8 @@ _080F6ED4: bx r0 thumb_func_end sub_80F6E9C - thumb_func_start sub_80F6EE4 -sub_80F6EE4: @ 80F6EE4 + thumb_func_start DrawDialogueFrame +DrawDialogueFrame: @ 80F6EE4 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1022,10 +1022,10 @@ _080F6F12: bx r0 .align 2, 0 _080F6F18: .4byte sub_80F7124 - thumb_func_end sub_80F6EE4 + thumb_func_end DrawDialogueFrame - thumb_func_start sub_80F6F1C -sub_80F6F1C: @ 80F6F1C + thumb_func_start DrawStdWindowFrame +DrawStdWindowFrame: @ 80F6F1C push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1051,10 +1051,10 @@ _080F6F4A: bx r0 .align 2, 0 _080F6F50: .4byte sub_80F6FD4 - thumb_func_end sub_80F6F1C + thumb_func_end DrawStdWindowFrame - thumb_func_start sub_80F6F54 -sub_80F6F54: @ 80F6F54 + thumb_func_start ClearDialogWindowAndFrame +ClearDialogWindowAndFrame: @ 80F6F54 push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1087,10 +1087,10 @@ _080F6F8E: .align 2, 0 _080F6F94: .4byte sub_80F76CC _080F6F98: .4byte gUnknown_203ADFA - thumb_func_end sub_80F6F54 + thumb_func_end ClearDialogWindowAndFrame - thumb_func_start sub_80F6F9C -sub_80F6F9C: @ 80F6F9C + thumb_func_start ClearStdWindowAndFrame +ClearStdWindowAndFrame: @ 80F6F9C push {r4,r5,lr} adds r4, r1, 0 lsls r0, 24 @@ -1116,7 +1116,7 @@ _080F6FCA: bx r0 .align 2, 0 _080F6FD0: .4byte sub_80F7684 - thumb_func_end sub_80F6F9C + thumb_func_end ClearStdWindowAndFrame thumb_func_start sub_80F6FD4 sub_80F6FD4: @ 80F6FD4 @@ -2049,37 +2049,37 @@ _080F77A4: thumb_func_start sub_80F77B8 sub_80F77B8: @ 80F77B8 push {lr} - ldr r0, _080F77C8 @ =gUnknown_841F408 + ldr r0, _080F77C8 @ =gTMCaseMainWindowPalette movs r1, 0xE0 movs r2, 0x14 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_080F77C8: .4byte gUnknown_841F408 +_080F77C8: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77B8 - thumb_func_start sub_80F77CC -sub_80F77CC: @ 80F77CC + thumb_func_start Menu_LoadStdPalAt +Menu_LoadStdPalAt: @ 80F77CC push {lr} adds r1, r0, 0 lsls r1, 16 lsrs r1, 16 - ldr r0, _080F77E0 @ =gUnknown_841F408 + ldr r0, _080F77E0 @ =gTMCaseMainWindowPalette movs r2, 0x14 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_080F77E0: .4byte gUnknown_841F408 - thumb_func_end sub_80F77CC +_080F77E0: .4byte gTMCaseMainWindowPalette + thumb_func_end Menu_LoadStdPalAt thumb_func_start sub_80F77E4 sub_80F77E4: @ 80F77E4 - ldr r0, _080F77E8 @ =gUnknown_841F408 + ldr r0, _080F77E8 @ =gTMCaseMainWindowPalette bx lr .align 2, 0 -_080F77E8: .4byte gUnknown_841F408 +_080F77E8: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77E4 thumb_func_start sub_80F77EC @@ -2091,14 +2091,14 @@ sub_80F77EC: @ 80F77EC bls _080F77F8 movs r1, 0 _080F77F8: - ldr r0, _080F7804 @ =gUnknown_841F408 + ldr r0, _080F7804 @ =gTMCaseMainWindowPalette lsls r1, 1 adds r1, r0 ldrh r0, [r1] pop {r1} bx r1 .align 2, 0 -_080F7804: .4byte gUnknown_841F408 +_080F7804: .4byte gTMCaseMainWindowPalette thumb_func_end sub_80F77EC thumb_func_start DisplayItemMessageOnField @@ -2116,7 +2116,7 @@ DisplayItemMessageOnField: @ 80F7808 lsls r4, 24 lsrs r4, 24 bl sub_80F6E9C - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 movs r2, 0x80 @@ -2187,8 +2187,8 @@ sub_80F7880: @ 80F7880 _080F78A4: .4byte gUnknown_841F43C thumb_func_end sub_80F7880 - thumb_func_start sub_80F78A8 -sub_80F78A8: @ 80F78A8 + thumb_func_start GetTextSpeedSetting +GetTextSpeedSetting: @ 80F78A8 push {lr} ldr r3, _080F78D8 @ =gSaveBlock2Ptr ldr r2, [r3] @@ -2216,7 +2216,7 @@ _080F78C4: .align 2, 0 _080F78D8: .4byte gSaveBlock2Ptr _080F78DC: .4byte gUnknown_841F428 - thumb_func_end sub_80F78A8 + thumb_func_end GetTextSpeedSetting thumb_func_start sub_80F78E0 sub_80F78E0: @ 80F78E0 diff --git a/asm/oak_speech.s b/asm/oak_speech.s deleted file mode 100644 index 5f2326487..000000000 --- a/asm/oak_speech.s +++ /dev/null @@ -1,5728 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_812E944 -sub_812E944: @ 812E944 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r0, r1, 0 - adds r5, r2, 0 - adds r6, r3, 0 - ldr r1, [sp, 0x20] - mov r8, r1 - ldr r1, [sp, 0x24] - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0812E9DC @ =sub_812E9F8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0812E9E0 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - mov r1, r10 - lsls r0, r1, 8 - strh r0, [r4, 0x8] - lsls r2, r7, 8 - mov r9, r2 - strh r2, [r4, 0xA] - strh r5, [r4, 0xC] - strh r6, [r4, 0xE] - subs r5, r1 - lsls r5, 8 - adds r0, r5, 0 - mov r1, r8 - bl __divsi3 - strh r0, [r4, 0x10] - subs r6, r7 - lsls r6, 8 - adds r0, r6, 0 - mov r1, r8 - bl __divsi3 - strh r0, [r4, 0x12] - mov r0, r8 - strh r0, [r4, 0x18] - mov r1, r9 - mov r2, r10 - orrs r1, r2 - mov r9, r1 - movs r0, 0x52 - bl SetGpuReg - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812E9DC: .4byte sub_812E9F8 -_0812E9E0: .4byte gTasks - thumb_func_end sub_812E944 - - thumb_func_start sub_812E9E4 -sub_812E9E4: @ 812E9E4 - push {lr} - ldr r0, _0812E9F4 @ =sub_812E9F8 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0812E9F4: .4byte sub_812E9F8 - thumb_func_end sub_812E9E4 - - thumb_func_start sub_812E9F8 -sub_812E9F8: @ 812E9F8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0812EA28 @ =gTasks+0x8 - adds r4, r0, r1 - ldrh r1, [r4, 0x10] - movs r2, 0x10 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812EA6E - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0812EA2C - ldrh r0, [r4, 0x8] - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] - movs r0, 0x1 - b _0812EA4C - .align 2, 0 -_0812EA28: .4byte gTasks+0x8 -_0812EA2C: - subs r0, r1, 0x1 - strh r0, [r4, 0x10] - lsls r0, 16 - cmp r0, 0 - beq _0812EA3E - ldrh r0, [r4, 0xA] - ldrh r2, [r4, 0x2] - adds r0, r2 - b _0812EA48 -_0812EA3E: - ldrh r0, [r4, 0x4] - lsls r0, 8 - strh r0, [r4] - ldrh r0, [r4, 0x6] - lsls r0, 8 -_0812EA48: - strh r0, [r4, 0x2] - movs r0, 0 -_0812EA4C: - strh r0, [r4, 0xC] - ldrh r0, [r4, 0x2] - ldr r1, _0812EA74 @ =0xffffff00 - ands r1, r0 - ldrh r0, [r4] - lsrs r0, 8 - orrs r1, r0 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0812EA6E - adds r0, r5, 0 - bl DestroyTask -_0812EA6E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812EA74: .4byte 0xffffff00 - thumb_func_end sub_812E9F8 - - thumb_func_start sub_812EA78 -sub_812EA78: @ 812EA78 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsls r2, 24 - lsrs r5, r2, 24 - cmp r4, 0xC9 - bne _0812EAB8 - adds r0, r1, 0 - bl sub_8082AB8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1A - beq _0812EAA4 - cmp r0, 0x1A - bgt _0812EA9E - cmp r0, 0 - beq _0812EAB8 - b _0812EAB4 -_0812EA9E: - cmp r0, 0x1B - beq _0812EAAA - b _0812EAB4 -_0812EAA4: - movs r4, 0xCE - lsls r4, 1 - b _0812EABC -_0812EAAA: - ldr r4, _0812EAB0 @ =0x0000019d - b _0812EABC - .align 2, 0 -_0812EAB0: .4byte 0x0000019d -_0812EAB4: - adds r4, r0, 0 - adds r4, 0xFB -_0812EAB8: - cmp r4, 0 - beq _0812EAD6 -_0812EABC: - cmp r5, 0x4 - bhi _0812EAD6 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r1, _0812EAE0 @ =gUnknown_845FD54 - lsls r0, r4, 2 - adds r0, r4 - adds r0, r5, r0 - adds r2, r0, r1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _0812EAD8 -_0812EAD6: - movs r0, 0x20 -_0812EAD8: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812EAE0: .4byte gUnknown_845FD54 - thumb_func_end sub_812EA78 - - thumb_func_start sub_812EAE4 -sub_812EAE4: @ 812EAE4 - push {lr} - lsls r0, 16 - lsrs r0, 16 - lsls r2, 24 - lsrs r2, 24 - bl sub_812EA78 - subs r0, 0x20 - lsls r0, 24 - asrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_812EAE4 - - thumb_func_start sub_812EAFC -sub_812EAFC: @ 812EAFC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_812EAFC - - thumb_func_start sub_812EB10 -sub_812EB10: @ 812EB10 - push {lr} - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_812EB10 - - thumb_func_start sub_812EB2C -sub_812EB2C: @ 812EB2C - push {lr} - ldr r0, _0812EB48 @ =gPlttBufferUnfaded - movs r1, 0 - strh r1, [r0] - ldr r0, _0812EB4C @ =gPlttBufferFaded - strh r1, [r0] - ldr r0, _0812EB50 @ =sub_812EB58 - bl CreateTask - ldr r0, _0812EB54 @ =sub_812EB10 - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0812EB48: .4byte gPlttBufferUnfaded -_0812EB4C: .4byte gPlttBufferFaded -_0812EB50: .4byte sub_812EB58 -_0812EB54: .4byte sub_812EB10 - thumb_func_end sub_812EB2C - - thumb_func_start sub_812EB58 -sub_812EB58: @ 812EB58 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0812EB7C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xA - bls _0812EB70 - b _0812EE94 -_0812EB70: - lsls r0, 2 - ldr r1, _0812EB80 @ =_0812EB84 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812EB7C: .4byte gMain -_0812EB80: .4byte _0812EB84 - .align 2, 0 -_0812EB84: - .4byte _0812EBB0 - .4byte _0812EC28 - .4byte _0812EC44 - .4byte _0812EC8E - .4byte _0812ED00 - .4byte _0812ED3C - .4byte _0812ED6C - .4byte _0812ED9A - .4byte _0812EE94 - .4byte _0812EE94 - .4byte _0812EE30 -_0812EBB0: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - add r1, sp, 0x8 - movs r0, 0 - strh r0, [r1] - ldr r1, _0812EC14 @ =0x040000d4 - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0812EC18 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - add r0, sp, 0xC - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0812EC1C @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x8 - strh r2, [r0] - str r0, [r1] - ldr r0, _0812EC20 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _0812EC24 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - bl reset_temp_tile_data_buffers - movs r0, 0x2 - bl sub_812B1F0 - b _0812EE94 - .align 2, 0 -_0812EC14: .4byte 0x040000d4 -_0812EC18: .4byte 0x8100c000 -_0812EC1C: .4byte 0x85000100 -_0812EC20: .4byte 0x05000002 -_0812EC24: .4byte 0x810001ff -_0812EC28: - ldr r4, _0812EC3C @ =gUnknown_203B108 - ldr r0, _0812EC40 @ =0x00002420 - bl AllocZeroed - str r0, [r4] - movs r0, 0x1 - movs r1, 0x1 - bl sub_8044AF0 - b _0812EE94 - .align 2, 0 -_0812EC3C: .4byte gUnknown_203B108 -_0812EC40: .4byte 0x00002420 -_0812EC44: - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x42 - movs r1, 0 - bl SetGpuReg - movs r0, 0x46 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - b _0812EE94 -_0812EC8E: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0812ECF0 @ =gUnknown_8462E58 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, _0812ECF4 @ =gUnknown_203B108 - ldr r1, [r4] - movs r0, 0xE1 - lsls r0, 5 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0xC1 - lsls r0, 5 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r0, _0812ECF8 @ =gSpriteCoordOffsetX - movs r1, 0 - strh r1, [r0] - ldr r0, _0812ECFC @ =gSpriteCoordOffsetY - strh r1, [r0] - b _0812EE94 - .align 2, 0 -_0812ECF0: .4byte gUnknown_8462E58 -_0812ECF4: .4byte gUnknown_203B108 -_0812ECF8: .4byte gSpriteCoordOffsetX -_0812ECFC: .4byte gSpriteCoordOffsetY -_0812ED00: - ldr r2, _0812ED34 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - bl sub_80F6C6C - bl sub_80F6C98 - movs r0, 0xD0 - bl sub_80F77CC - ldr r0, _0812ED38 @ =gUnknown_8460568 - movs r1, 0 - movs r2, 0x80 - bl LoadPalette - movs r0, 0x2 - bl stdpal_get - adds r0, 0x1E - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - b _0812EE94 - .align 2, 0 -_0812ED34: .4byte gPaletteFade -_0812ED38: .4byte gUnknown_8460568 -_0812ED3C: - bl sub_80F78A8 - ldr r1, _0812ED60 @ =gUnknown_203B108 - ldr r1, [r1] - movs r3, 0 - strb r0, [r1, 0x1F] - ldr r2, _0812ED64 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r1, _0812ED68 @ =gUnknown_84605E8 - str r3, [sp] - movs r0, 0x1 - movs r2, 0 - bl decompress_and_copy_tile_data_to_vram - b _0812EE94 - .align 2, 0 -_0812ED60: .4byte gUnknown_203B108 -_0812ED64: .4byte gTextFlags -_0812ED68: .4byte gUnknown_84605E8 -_0812ED6C: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _0812ED78 - b _0812EEA2 -_0812ED78: - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0812EE94 -_0812ED9A: - movs r0, 0xE2 - lsls r0, 1 - str r0, [sp] - movs r0, 0 - movs r1, 0x1E - movs r2, 0 - movs r3, 0xD - bl sub_810F558 - ldr r1, _0812EE1C @ =0x0000d00f - movs r4, 0x1E - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r1, _0812EE20 @ =0x0000d002 - str r4, [sp] - movs r5, 0x1 - str r5, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x2 - bl FillBgTilemapBufferRect_Palette0 - ldr r1, _0812EE24 @ =0x0000d00e - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x13 - bl FillBgTilemapBufferRect_Palette0 - bl sub_812EEB0 - ldr r2, _0812EE28 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0 - str r0, [sp] - movs r1, 0xE6 - movs r2, 0x95 - movs r3, 0 - bl sub_8006300 - ldr r2, _0812EE2C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x12] - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _0812EE94 - .align 2, 0 -_0812EE1C: .4byte 0x0000d00f -_0812EE20: .4byte 0x0000d002 -_0812EE24: .4byte 0x0000d00e -_0812EE28: .4byte gPaletteFade -_0812EE2C: .4byte gTasks -_0812EE30: - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - ldr r0, _0812EE80 @ =sub_812EAFC - bl SetVBlankCallback - ldr r0, _0812EE84 @ =0x00000143 - bl PlayBGM - ldr r1, _0812EE88 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812EE8C @ =sub_812F0B0 - str r1, [r0] - ldr r0, _0812EE90 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - strb r4, [r0] - b _0812EEA2 - .align 2, 0 -_0812EE80: .4byte sub_812EAFC -_0812EE84: .4byte 0x00000143 -_0812EE88: .4byte gTasks -_0812EE8C: .4byte sub_812F0B0 -_0812EE90: .4byte gMain -_0812EE94: - ldr r1, _0812EEAC @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0812EEA2: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812EEAC: .4byte gMain - thumb_func_end sub_812EB58 - - thumb_func_start sub_812EEB0 -sub_812EEB0: @ 812EEB0 - push {r4-r6,lr} - sub sp, 0x14 - ldr r0, _0812EF38 @ =gUnknown_8415D2C - ldr r1, _0812EF3C @ =gUnknown_8415D48 - movs r5, 0x1 - str r5, [sp] - movs r2, 0 - movs r3, 0 - bl sub_810F650 - ldr r1, _0812EF40 @ =gUnknown_8462EB4 - ldr r4, _0812EF44 @ =gUnknown_203B108 - ldr r0, [r4] - ldrh r0, [r0, 0x12] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl AddWindow - ldr r1, [r4] - movs r6, 0 - strh r0, [r1, 0x14] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldr r0, [r4] - ldrb r0, [r0, 0x14] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r4] - ldrb r0, [r0, 0x14] - str r5, [sp] - str r5, [sp, 0x4] - ldr r1, _0812EF48 @ =gUnknown_8462EE8 - str r1, [sp, 0x8] - str r6, [sp, 0xC] - ldr r1, _0812EF4C @ =gUnknown_81C582D - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x2 - movs r3, 0 - bl AddTextPrinterParametrized2 - ldr r0, [r4] - ldrb r0, [r0, 0x14] - movs r1, 0x3 - bl CopyWindowToVram - movs r1, 0xC0 - lsls r1, 6 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x3 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812EF38: .4byte gUnknown_8415D2C -_0812EF3C: .4byte gUnknown_8415D48 -_0812EF40: .4byte gUnknown_8462EB4 -_0812EF44: .4byte gUnknown_203B108 -_0812EF48: .4byte gUnknown_8462EE8 -_0812EF4C: .4byte gUnknown_81C582D - thumb_func_end sub_812EEB0 - - thumb_func_start sub_812EF50 -sub_812EF50: @ 812EF50 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 - ldr r4, _0812EF80 @ =gUnknown_203B108 - ldr r0, [r4] - ldrh r1, [r0, 0x12] - subs r0, r1, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r1, 0 - bne _0812EF84 - bl sub_812EEB0 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - b _0812F06A - .align 2, 0 -_0812EF80: .4byte gUnknown_203B108 -_0812EF84: - ldr r0, _0812F038 @ =gUnknown_8415D50 - movs r1, 0 - movs r2, 0x1 - bl sub_810F5E8 - lsls r1, r7, 1 - mov r9, r1 - mov r3, r8 - lsls r3, 2 - mov r10, r3 - adds r5, r4, 0 -_0812EF9A: - ldr r1, _0812F03C @ =gUnknown_8462EB4 - ldr r0, [r5] - ldrh r0, [r0, 0x12] - lsls r0, 2 - adds r0, r1 - lsls r1, r6, 3 - ldr r0, [r0] - adds r0, r1 - bl AddWindow - ldr r1, [r5] - lsls r4, r6, 1 - adds r1, 0x14 - adds r1, r4 - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp] - str r1, [sp, 0x4] - ldr r1, _0812F040 @ =gUnknown_8462EE8 - str r1, [sp, 0x8] - movs r1, 0 - str r1, [sp, 0xC] - ldr r2, _0812F044 @ =gUnknown_8463074 - mov r3, r9 - adds r1, r3, r7 - adds r1, r6, r1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x6 - movs r3, 0 - bl AddTextPrinterParametrized2 - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0812EF9A - ldr r0, _0812F048 @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x12] - cmp r0, 0x1 - bne _0812F050 - ldr r1, _0812F04C @ =gUnknown_8460D94 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x3 - bl CopyToBgTilemapBufferRect - b _0812F064 - .align 2, 0 -_0812F038: .4byte gUnknown_8415D50 -_0812F03C: .4byte gUnknown_8462EB4 -_0812F040: .4byte gUnknown_8462EE8 -_0812F044: .4byte gUnknown_8463074 -_0812F048: .4byte gUnknown_203B108 -_0812F04C: .4byte gUnknown_8460D94 -_0812F050: - ldr r1, _0812F0A0 @ =gUnknown_8460E34 - movs r0, 0x5 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0x1 - movs r3, 0x3 - bl CopyToBgTilemapBufferRect -_0812F064: - movs r0, 0x1 - bl CopyBgTilemapBufferToVram -_0812F06A: - movs r0, 0x2 - bl stdpal_get - ldrh r2, [r0, 0x1E] - ldr r0, _0812F0A4 @ =0xffffdfff - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0812F0A8 @ =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812F0AC @ =sub_812F0B0 - str r1, [r0] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F0A0: .4byte gUnknown_8460E34 -_0812F0A4: .4byte 0xffffdfff -_0812F0A8: .4byte gTasks -_0812F0AC: .4byte sub_812F0B0 - thumb_func_end sub_812EF50 - - thumb_func_start sub_812F0B0 -sub_812F0B0: @ 812F0B0 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0812F10C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812F162 - ldr r0, _0812F110 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _0812F162 - movs r3, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0812F120 - ldr r1, _0812F114 @ =gTasks - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r0, r1 - strh r3, [r0, 0x26] - ldr r0, _0812F118 @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x12] - adds r4, r2, 0 - cmp r0, 0x1 - bhi _0812F150 - movs r0, 0x2 - bl stdpal_get - ldrh r2, [r0, 0x1E] - ldr r0, _0812F11C @ =0xffffdfff - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0812F150 - .align 2, 0 -_0812F10C: .4byte gPaletteFade -_0812F110: .4byte gMain -_0812F114: .4byte gTasks -_0812F118: .4byte gUnknown_203B108 -_0812F11C: .4byte 0xffffdfff -_0812F120: - ldr r0, _0812F16C @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x12] - cmp r0, 0 - beq _0812F162 - ldr r1, _0812F170 @ =gTasks - lsls r4, r5, 2 - adds r0, r4, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0812F174 @ =0x0000ffff - strh r1, [r0, 0x26] - movs r0, 0x2 - bl stdpal_get - ldrh r2, [r0, 0x1E] - ldr r0, _0812F178 @ =0xffffdfff - movs r1, 0x1 - negs r1, r1 - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0812F150: - movs r0, 0x5 - bl PlaySE - ldr r0, _0812F170 @ =gTasks - adds r1, r4, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812F17C @ =sub_812F180 - str r0, [r1] -_0812F162: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812F16C: .4byte gUnknown_203B108 -_0812F170: .4byte gTasks -_0812F174: .4byte 0x0000ffff -_0812F178: .4byte 0xffffdfff -_0812F17C: .4byte sub_812F180 - thumb_func_end sub_812F0B0 - - thumb_func_start sub_812F180 -sub_812F180: @ 812F180 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, _0812F1B0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812F260 - ldr r1, _0812F1B4 @ =gUnknown_203B108 - ldr r0, [r1] - ldrh r0, [r0, 0x12] - adds r5, r1, 0 - cmp r0, 0 - bne _0812F1B8 - movs r1, 0x1 - mov r8, r1 - b _0812F1C4 - .align 2, 0 -_0812F1B0: .4byte gPaletteFade -_0812F1B4: .4byte gUnknown_203B108 -_0812F1B8: - cmp r0, 0 - blt _0812F1C4 - cmp r0, 0x2 - bgt _0812F1C4 - movs r2, 0x3 - mov r8, r2 -_0812F1C4: - ldr r2, [r5] - ldr r1, _0812F244 @ =gTasks - lsls r3, r7, 2 - adds r0, r3, r7 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - ldrh r1, [r2, 0x12] - adds r0, r1 - movs r1, 0 - strh r0, [r2, 0x12] - lsls r0, 16 - lsrs r0, 16 - mov r9, r3 - cmp r0, 0x2 - bhi _0812F24C - movs r6, 0 - cmp r1, r8 - bcs _0812F234 -_0812F1EA: - ldr r0, [r5] - lsls r4, r6, 1 - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - movs r1, 0 - strh r1, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r8 - bcc _0812F1EA -_0812F234: - ldr r0, _0812F244 @ =gTasks - mov r2, r9 - adds r1, r2, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812F248 @ =sub_812EF50 - str r0, [r1] - b _0812F260 - .align 2, 0 -_0812F244: .4byte gTasks -_0812F248: .4byte sub_812EF50 -_0812F24C: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0812F270 @ =sub_812F274 - str r0, [r4] -_0812F260: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F270: .4byte sub_812F274 - thumb_func_end sub_812F180 - - thumb_func_start sub_812F274 -sub_812F274: @ 812F274 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r6, 0 - ldr r0, _0812F32C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812F320 - ldr r5, _0812F330 @ =gUnknown_203B108 -_0812F292: - ldr r0, [r5] - lsls r4, r6, 1 - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0 - bl FillWindowPixelBuffer - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - bl ClearWindowTilemap - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - ldrb r0, [r0] - bl RemoveWindow - ldr r0, [r5] - adds r0, 0x14 - adds r0, r4 - movs r7, 0 - strh r7, [r0] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _0812F292 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x12 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0x2 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, _0812F334 @ =gTasks - mov r1, r8 - lsls r4, r1, 2 - add r4, r8 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x12] - bl sub_8006398 - ldr r0, _0812F330 @ =gUnknown_203B108 - ldr r0, [r0] - strh r7, [r0, 0x14] - adds r0, 0x14 - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x20 - strh r0, [r4, 0xE] - ldr r0, _0812F338 @ =sub_812F33C - str r0, [r4] -_0812F320: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F32C: .4byte gPaletteFade -_0812F330: .4byte gUnknown_203B108 -_0812F334: .4byte gTasks -_0812F338: .4byte sub_812F33C - thumb_func_end sub_812F274 - - thumb_func_start sub_812F33C -sub_812F33C: @ 812F33C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - mov r8, r0 - ldr r0, _0812F370 @ =gTasks+0x8 - mov r9, r0 - mov r5, r8 - add r5, r9 - movs r0, 0 - str r0, [sp, 0x14] - ldrh r0, [r5, 0x6] - movs r1, 0x6 - ldrsh r6, [r5, r1] - cmp r6, 0 - beq _0812F374 - subs r0, 0x1 - strh r0, [r5, 0x6] - b _0812F476 - .align 2, 0 -_0812F370: .4byte gTasks+0x8 -_0812F374: - movs r0, 0xA2 - lsls r0, 1 - bl PlayBGM - bl sub_810F71C - ldr r0, _0812F484 @ =gUnknown_8415D48 - movs r1, 0 - movs r2, 0x1 - bl sub_810F5E8 - ldr r0, _0812F488 @ =gUnknown_8460BA8 - add r1, sp, 0x14 - bl malloc_and_decompress - adds r1, r0, 0 - ldr r4, _0812F48C @ =gUnknown_203B108 - ldr r0, [r4] - str r1, [r0, 0x8] - movs r0, 0x1E - str r0, [sp] - movs r0, 0x13 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r2, 0 - movs r3, 0x2 - bl CopyToBgTilemapBufferRect - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, [r4] - ldr r0, [r0, 0x8] - bl Free - ldr r0, [r4] - str r6, [r0, 0x8] - ldr r0, _0812F490 @ =gUnknown_8462EC0 - bl AddWindow - strh r0, [r5, 0x1C] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r0, [r5, 0x1C] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x1C] - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r4] - movs r1, 0 - strh r6, [r0, 0x12] - ldr r0, _0812F494 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - strb r1, [r0] - movs r0, 0x10 - strh r0, [r5, 0x1E] - ldrb r0, [r5, 0x1C] - movs r1, 0x1 - str r1, [sp] - str r6, [sp, 0x4] - ldr r1, _0812F498 @ =gUnknown_8462EEC - str r1, [sp, 0x8] - str r6, [sp, 0xC] - ldr r1, _0812F49C @ =gUnknown_8462EF0 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0x5 - bl AddTextPrinterParametrized2 - str r6, [sp] - movs r0, 0 - movs r1, 0xE2 - movs r2, 0x91 - movs r3, 0 - bl sub_8006300 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - ldr r4, _0812F4A0 @ =gSprites - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r2, [r1, 0x1] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r0, r2 - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1, 0x1] - movs r2, 0xA - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - ands r3, r1 - strb r3, [r0, 0x5] - adds r0, r7, 0 - movs r1, 0 - bl sub_8130FD4 - movs r0, 0x1 - negs r0, r0 - str r6, [sp] - movs r1, 0x2 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _0812F4A4 @ =sub_812F4A8 - str r1, [r0] -_0812F476: - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F484: .4byte gUnknown_8415D48 -_0812F488: .4byte gUnknown_8460BA8 -_0812F48C: .4byte gUnknown_203B108 -_0812F490: .4byte gUnknown_8462EC0 -_0812F494: .4byte gMain -_0812F498: .4byte gUnknown_8462EEC -_0812F49C: .4byte gUnknown_8462EF0 -_0812F4A0: .4byte gSprites -_0812F4A4: .4byte sub_812F4A8 - thumb_func_end sub_812F33C - - thumb_func_start sub_812F4A8 -sub_812F4A8: @ 812F4A8 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r6, r0, 3 - ldr r7, _0812F4D8 @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _0812F4DC @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r3, r0, r1 - ldrb r1, [r3] - adds r4, r0, 0 - cmp r1, 0x4 - bls _0812F4CC - b _0812F6C0 -_0812F4CC: - lsls r0, r1, 2 - ldr r1, _0812F4E0 @ =_0812F4E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0812F4D8: .4byte gTasks+0x8 -_0812F4DC: .4byte gMain -_0812F4E0: .4byte _0812F4E4 - .align 2, 0 -_0812F4E4: - .4byte _0812F4F8 - .4byte _0812F538 - .4byte _0812F5B4 - .4byte _0812F644 - .4byte _0812F688 -_0812F4F8: - ldr r0, _0812F534 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0812F506 - b _0812F71C -_0812F506: - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r1, 0x85 - lsls r1, 5 - movs r0, 0x44 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x3F - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x1F - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - b _0812F676 - .align 2, 0 -_0812F534: .4byte gPaletteFade -_0812F538: - ldrh r1, [r4, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0812F544 - b _0812F71C -_0812F544: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0812F55C - ldr r0, _0812F558 @ =gUnknown_203B108 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - b _0812F56A - .align 2, 0 -_0812F558: .4byte gUnknown_203B108 -_0812F55C: - ldr r0, _0812F58C @ =gUnknown_203B108 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - cmp r0, 0 - bne _0812F568 - b _0812F71C -_0812F568: - subs r0, 0x1 -_0812F56A: - strh r0, [r1, 0x12] - movs r0, 0x5 - bl PlaySE - ldr r0, _0812F58C @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x12] - cmp r0, 0x3 - bne _0812F594 - ldr r0, _0812F590 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0812F71C - .align 2, 0 -_0812F58C: .4byte gUnknown_203B108 -_0812F590: .4byte gMain -_0812F594: - ldr r1, _0812F5B0 @ =0x00000241 - movs r0, 0x50 - bl SetGpuReg - ldrh r0, [r5, 0x1E] - movs r1, 0x10 - subs r1, r0 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - b _0812F6A2 - .align 2, 0 -_0812F5B0: .4byte 0x00000241 -_0812F5B4: - ldrh r1, [r5, 0x1E] - subs r1, 0x2 - strh r1, [r5, 0x1E] - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0 - ble _0812F5D6 - b _0812F71C -_0812F5D6: - ldrb r0, [r5, 0x1C] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x1C] - movs r1, 0x1 - str r1, [sp] - movs r2, 0 - str r2, [sp, 0x4] - ldr r1, _0812F620 @ =gUnknown_8462EEC - str r1, [sp, 0x8] - str r2, [sp, 0xC] - ldr r2, _0812F624 @ =gUnknown_8462EF0 - ldr r4, _0812F628 @ =gUnknown_203B108 - ldr r1, [r4] - ldrh r1, [r1, 0x12] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r2, 0x3 - movs r3, 0x5 - bl AddTextPrinterParametrized2 - ldr r0, [r4] - ldrh r0, [r0, 0x12] - cmp r0, 0 - bne _0812F630 - bl sub_810F71C - ldr r0, _0812F62C @ =gUnknown_8415D48 - movs r1, 0 - movs r2, 0x1 - bl sub_810F5E8 - b _0812F6A2 - .align 2, 0 -_0812F620: .4byte gUnknown_8462EEC -_0812F624: .4byte gUnknown_8462EF0 -_0812F628: .4byte gUnknown_203B108 -_0812F62C: .4byte gUnknown_8415D48 -_0812F630: - bl sub_810F71C - ldr r0, _0812F640 @ =gUnknown_8415D50 - movs r1, 0 - movs r2, 0x1 - bl sub_810F5E8 - b _0812F6A2 - .align 2, 0 -_0812F640: .4byte gUnknown_8415D50 -_0812F644: - ldrh r1, [r5, 0x1E] - adds r1, 0x2 - strh r1, [r5, 0x1E] - movs r4, 0x10 - subs r0, r4, r1 - lsls r0, 8 - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0xF - ble _0812F71C - strh r4, [r5, 0x1E] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg -_0812F676: - ldr r0, _0812F684 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0812F71C - .align 2, 0 -_0812F684: .4byte gMain -_0812F688: - ldr r1, _0812F6B4 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x12] - bl sub_8006398 - ldr r0, _0812F6B8 @ =0x00000145 - bl PlayBGM - movs r0, 0x18 - strh r0, [r5, 0x1E] -_0812F6A2: - ldr r1, _0812F6BC @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0812F71C - .align 2, 0 -_0812F6B4: .4byte gTasks -_0812F6B8: .4byte 0x00000145 -_0812F6BC: .4byte gMain -_0812F6C0: - ldrh r0, [r5, 0x1E] - movs r1, 0x1E - ldrsh r4, [r5, r1] - cmp r4, 0 - beq _0812F6D0 - subs r0, 0x1 - strh r0, [r5, 0x1E] - b _0812F71C -_0812F6D0: - strb r4, [r3] - ldr r0, _0812F724 @ =gUnknown_203B108 - ldr r0, [r0] - strh r4, [r0, 0x12] - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0812F728 @ =sub_812F72C - str r1, [r0] -_0812F71C: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F724: .4byte gUnknown_203B108 -_0812F728: .4byte sub_812F72C - thumb_func_end sub_812F4A8 - - thumb_func_start sub_812F72C -sub_812F72C: @ 812F72C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 - ldr r0, _0812F7B4 @ =gTasks+0x8 - mov r8, r0 - adds r4, r7, r0 - ldr r0, _0812F7B8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _0812F7A6 - bl sub_810F740 - ldrb r0, [r4, 0x1C] - movs r1, 0 - bl FillWindowPixelBuffer - ldrb r0, [r4, 0x1C] - bl ClearWindowTilemap - ldrb r0, [r4, 0x1C] - movs r1, 0x3 - bl CopyWindowToVram - ldrb r0, [r4, 0x1C] - bl RemoveWindow - strh r6, [r4, 0x1C] - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - adds r0, r5, 0 - movs r1, 0 - bl sub_8131168 - movs r0, 0x50 - strh r0, [r4, 0x6] - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0812F7BC @ =sub_812F7C0 - str r1, [r0] -_0812F7A6: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F7B4: .4byte gTasks+0x8 -_0812F7B8: .4byte gPaletteFade -_0812F7BC: .4byte sub_812F7C0 - thumb_func_end sub_812F72C - - thumb_func_start sub_812F7C0 -sub_812F7C0: @ 812F7C0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r7, r0, 3 - ldr r0, _0812F7EC @ =gTasks+0x8 - mov r8, r0 - adds r5, r7, r0 - movs r0, 0 - str r0, [sp, 0x4] - ldrh r0, [r5, 0x6] - movs r1, 0x6 - ldrsh r6, [r5, r1] - cmp r6, 0 - beq _0812F7F0 - subs r0, 0x1 - strh r0, [r5, 0x6] - b _0812F862 - .align 2, 0 -_0812F7EC: .4byte gTasks+0x8 -_0812F7F0: - ldr r0, _0812F870 @ =gUnknown_8460CA4 - add r1, sp, 0x4 - bl malloc_and_decompress - adds r1, r0, 0 - ldr r0, _0812F874 @ =gUnknown_203B108 - ldr r0, [r0] - str r1, [r0] - ldr r2, [sp, 0x4] - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, _0812F878 @ =gUnknown_8460CE8 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - adds r0, r4, 0 - bl sub_8130F2C - movs r0, 0x3 - movs r1, 0 - bl sub_81311F4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8130FD4 - movs r0, 0x92 - lsls r0, 1 - bl PlayBGM - movs r0, 0x1 - negs r0, r0 - str r6, [sp] - movs r1, 0x5 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x50 - strh r0, [r5, 0x6] - movs r0, 0x2 - bl ShowBg - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0812F87C @ =sub_812F880 - str r1, [r0] -_0812F862: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812F870: .4byte gUnknown_8460CA4 -_0812F874: .4byte gUnknown_203B108 -_0812F878: .4byte gUnknown_8460CE8 -_0812F87C: .4byte sub_812F880 - thumb_func_end sub_812F7C0 - - thumb_func_start sub_812F880 -sub_812F880: @ 812F880 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0812F8B0 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _0812F8B4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0812F92E - ldrh r0, [r2, 0x6] - movs r1, 0x6 - ldrsh r4, [r2, r1] - cmp r4, 0 - beq _0812F8B8 - subs r0, 0x1 - strh r0, [r2, 0x6] - b _0812F92E - .align 2, 0 -_0812F8B0: .4byte gTasks+0x8 -_0812F8B4: .4byte gPaletteFade -_0812F8B8: - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812F8F0 @ =gUnknown_81C5C78 - ldr r5, _0812F8F4 @ =gStringVar4 - cmp r2, r5 - beq _0812F8FC - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812F8F8 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _0812F918 - .align 2, 0 -_0812F8F0: .4byte gUnknown_81C5C78 -_0812F8F4: .4byte gStringVar4 -_0812F8F8: .4byte gUnknown_203B108 -_0812F8FC: - ldr r0, _0812F938 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812F918: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0812F93C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812F940 @ =sub_812F944 - str r0, [r1] -_0812F92E: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812F938: .4byte gUnknown_203B108 -_0812F93C: .4byte gTasks -_0812F940: .4byte sub_812F944 - thumb_func_end sub_812F880 - - thumb_func_start sub_812F944 -sub_812F944: @ 812F944 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0812F9D6 - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812F994 @ =gUnknown_81C5D06 - ldr r5, _0812F998 @ =gStringVar4 - cmp r2, r5 - beq _0812F9A0 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812F99C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _0812F9BC - .align 2, 0 -_0812F994: .4byte gUnknown_81C5D06 -_0812F998: .4byte gStringVar4 -_0812F99C: .4byte gUnknown_203B108 -_0812F9A0: - ldr r0, _0812F9E0 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812F9BC: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r1, _0812F9E4 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x1E - strh r1, [r0, 0xE] - ldr r1, _0812F9E8 @ =sub_812F9EC - str r1, [r0] -_0812F9D6: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812F9E0: .4byte gUnknown_203B108 -_0812F9E4: .4byte gTasks -_0812F9E8: .4byte sub_812F9EC - thumb_func_end sub_812F944 - - thumb_func_start sub_812F9EC -sub_812F9EC: @ 812F9EC - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0812FA68 @ =gTasks+0x8 - adds r4, r6, r7 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _0812FA5E - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0812FA1A - subs r0, r1, 0x1 - strh r0, [r4, 0x6] -_0812FA1A: - adds r4, r7, 0 - subs r4, 0x8 - adds r4, r6, r4 - ldrb r0, [r4, 0x10] - ldr r1, _0812FA6C @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - movs r3, 0x3E - adds r3, r2 - mov r12, r3 - ldrb r3, [r3] - movs r1, 0x5 - negs r1, r1 - ands r1, r3 - mov r3, r12 - strb r1, [r3] - strh r5, [r2, 0x2E] - ldrb r1, [r2, 0x5] - lsrs r1, 4 - str r5, [sp] - str r5, [sp, 0x4] - movs r2, 0x20 - str r2, [sp, 0x8] - ldr r2, _0812FA70 @ =0xffff1fff - str r2, [sp, 0xC] - movs r2, 0x64 - movs r3, 0x42 - bl CreatePokeballSpriteToReleaseMon - ldr r0, _0812FA74 @ =sub_812FA78 - str r0, [r4] - strh r5, [r4, 0xE] -_0812FA5E: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812FA68: .4byte gTasks+0x8 -_0812FA6C: .4byte gSprites -_0812FA70: .4byte 0xffff1fff -_0812FA74: .4byte sub_812FA78 - thumb_func_end sub_812F9EC - - thumb_func_start sub_812FA78 -sub_812FA78: @ 812FA78 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - beq _0812FAA0 - ldr r0, _0812FAFC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0x5F - ble _0812FAA0 - ldr r0, _0812FB00 @ =sub_812FB4C - str r0, [r1] -_0812FAA0: - ldr r1, _0812FAFC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r3, [r2, 0xE] - movs r0, 0xE - ldrsh r1, [r2, r0] - ldr r0, _0812FB04 @ =0x00003fff - cmp r1, r0 - bgt _0812FB40 - adds r0, r3, 0x1 - movs r5, 0 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x20 - bne _0812FB40 - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812FB08 @ =gUnknown_81C5D12 - ldr r4, _0812FB0C @ =gStringVar4 - cmp r2, r4 - beq _0812FB14 - adds r0, r4, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812FB10 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - b _0812FB30 - .align 2, 0 -_0812FAFC: .4byte gTasks -_0812FB00: .4byte sub_812FB4C -_0812FB04: .4byte 0x00003fff -_0812FB08: .4byte gUnknown_81C5D12 -_0812FB0C: .4byte gStringVar4 -_0812FB10: .4byte gUnknown_203B108 -_0812FB14: - ldr r0, _0812FB48 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812FB30: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1D - movs r1, 0 - bl PlayCry1 -_0812FB40: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0812FB48: .4byte gUnknown_203B108 - thumb_func_end sub_812FA78 - - thumb_func_start sub_812FB4C -sub_812FB4C: @ 812FB4C - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0812FBDA - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812FB9C @ =gUnknown_81C5D4B - ldr r5, _0812FBA0 @ =gStringVar4 - cmp r2, r5 - beq _0812FBA8 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812FBA4 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _0812FBC4 - .align 2, 0 -_0812FB9C: .4byte gUnknown_81C5D4B -_0812FBA0: .4byte gStringVar4 -_0812FBA4: .4byte gUnknown_203B108 -_0812FBA8: - ldr r0, _0812FBE4 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812FBC4: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0812FBE8 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812FBEC @ =sub_812FBF0 - str r0, [r1] -_0812FBDA: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812FBE4: .4byte gUnknown_203B108 -_0812FBE8: .4byte gTasks -_0812FBEC: .4byte sub_812FBF0 - thumb_func_end sub_812FB4C - - thumb_func_start sub_812FBF0 -sub_812FBF0: @ 812FBF0 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0 - bne _0812FC4E - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - ldr r0, _0812FC58 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x10] - ldr r2, _0812FC5C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - str r5, [sp] - str r5, [sp, 0x4] - movs r2, 0x20 - str r2, [sp, 0x8] - ldr r2, _0812FC60 @ =0xffff1f3f - str r2, [sp, 0xC] - movs r2, 0x64 - movs r3, 0x42 - bl sub_804BB98 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r0, 0x30 - strh r0, [r4, 0xE] - movs r0, 0x40 - strh r0, [r4, 0x8] - ldr r0, _0812FC64 @ =sub_812FC68 - str r0, [r4] -_0812FC4E: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812FC58: .4byte gTasks -_0812FC5C: .4byte gSprites -_0812FC60: .4byte 0xffff1f3f -_0812FC64: .4byte sub_812FC68 - thumb_func_end sub_812FBF0 - - thumb_func_start sub_812FC68 -sub_812FC68: @ 812FC68 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0812FCA4 @ =gTasks+0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0812FCAC - cmp r0, 0x17 - bgt _0812FC9A - ldr r2, _0812FCA8 @ =gSprites - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x1 - strh r1, [r0, 0x22] -_0812FC9A: - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] - b _0812FD62 - .align 2, 0 -_0812FCA4: .4byte gTasks+0x8 -_0812FCA8: .4byte gSprites -_0812FCAC: - movs r1, 0x6 - ldrsh r0, [r5, r1] - cmp r0, 0x30 - bne _0812FCD6 - movs r0, 0x8 - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0812FCE8 @ =gSprites - adds r0, r4 - bl DestroySprite - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite -_0812FCD6: - ldrh r0, [r5, 0x6] - movs r1, 0x6 - ldrsh r4, [r5, r1] - cmp r4, 0 - beq _0812FCEC - subs r0, 0x1 - strh r0, [r5, 0x6] - b _0812FD62 - .align 2, 0 -_0812FCE8: .4byte gSprites -_0812FCEC: - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812FD24 @ =gUnknown_81C5DBD - ldr r5, _0812FD28 @ =gStringVar4 - cmp r2, r5 - beq _0812FD30 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812FD2C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _0812FD4C - .align 2, 0 -_0812FD24: .4byte gUnknown_81C5DBD -_0812FD28: .4byte gStringVar4 -_0812FD2C: .4byte gUnknown_203B108 -_0812FD30: - ldr r0, _0812FD6C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812FD4C: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0812FD70 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812FD74 @ =sub_812FD78 - str r0, [r1] -_0812FD62: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812FD6C: .4byte gUnknown_203B108 -_0812FD70: .4byte gTasks -_0812FD74: .4byte sub_812FD78 - thumb_func_end sub_812FC68 - - thumb_func_start sub_812FD78 -sub_812FD78: @ 812FD78 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r5, r0, 3 - ldr r7, _0812FDB8 @ =gTasks+0x8 - adds r6, r5, r7 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0812FDB2 - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_813144C - movs r0, 0x30 - strh r0, [r6, 0x6] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0812FDBC @ =sub_812FDC0 - str r1, [r0] -_0812FDB2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812FDB8: .4byte gTasks+0x8 -_0812FDBC: .4byte sub_812FDC0 - thumb_func_end sub_812FD78 - - thumb_func_start sub_812FDC0 -sub_812FDC0: @ 812FDC0 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0812FDEC @ =gTasks+0x8 - adds r1, r0, r1 - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0812FE72 - ldrh r0, [r1, 0x6] - movs r2, 0x6 - ldrsh r4, [r1, r2] - cmp r4, 0 - beq _0812FDF0 - subs r0, 0x1 - strh r0, [r1, 0x6] - b _0812FE72 - .align 2, 0 -_0812FDEC: .4byte gTasks+0x8 -_0812FDF0: - movs r2, 0x3C - negs r2, r2 - adds r0, r2, 0 - strh r0, [r1, 0x2] - bl sub_8131310 - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0812FE34 @ =gUnknown_81C59D5 - ldr r5, _0812FE38 @ =gStringVar4 - cmp r2, r5 - beq _0812FE40 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0812FE3C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _0812FE5C - .align 2, 0 -_0812FE34: .4byte gUnknown_81C59D5 -_0812FE38: .4byte gStringVar4 -_0812FE3C: .4byte gUnknown_203B108 -_0812FE40: - ldr r0, _0812FE7C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0812FE5C: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0812FE80 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812FE84 @ =sub_812FE88 - str r0, [r1] -_0812FE72: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0812FE7C: .4byte gUnknown_203B108 -_0812FE80: .4byte gTasks -_0812FE84: .4byte sub_812FE88 - thumb_func_end sub_812FDC0 - - thumb_func_start sub_812FE88 -sub_812FE88: @ 812FE88 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0 - bne _0812FF7E - ldr r0, _0812FF8C @ =gUnknown_8462EC8 - bl AddWindow - ldr r1, _0812FF90 @ =gTasks - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r5, r1 - strh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrh r4, [r5, 0x22] - lsls r4, 24 - lsrs r4, 24 - bl sub_80F796C - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r4, 0 - movs r1, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r4, _0812FF94 @ =gUnknown_203B108 - ldr r0, [r4] - movs r1, 0x1 - mov r9, r1 - mov r1, r9 - strb r1, [r0, 0x1C] - ldr r0, [r4] - movs r6, 0x2 - strb r6, [r0, 0x1D] - ldr r0, [r4] - movs r1, 0x3 - mov r8, r1 - mov r1, r8 - strb r1, [r0, 0x1E] - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x1C - str r1, [sp] - str r7, [sp, 0x4] - ldr r1, _0812FF98 @ =gUnknown_8415D93 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x1 - bl box_print - ldr r0, [r4] - mov r1, r9 - strb r1, [r0, 0x1C] - ldr r0, [r4] - strb r6, [r0, 0x1D] - ldr r0, [r4] - mov r1, r8 - strb r1, [r0, 0x1E] - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x1C - str r1, [sp] - str r7, [sp, 0x4] - ldr r1, _0812FF9C @ =gUnknown_8415D97 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0x8 - movs r3, 0x11 - bl box_print - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x22] - lsls r1, 24 - lsrs r1, 24 - str r0, [sp] - str r6, [sp, 0x4] - str r7, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x1 - bl sub_810F7D8 - ldrh r0, [r5, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _0812FFA0 @ =sub_812FFA4 - str r0, [r5] -_0812FF7E: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812FF8C: .4byte gUnknown_8462EC8 -_0812FF90: .4byte gTasks -_0812FF94: .4byte gUnknown_203B108 -_0812FF98: .4byte gUnknown_8415D93 -_0812FF9C: .4byte gUnknown_8415D97 -_0812FFA0: .4byte sub_812FFA4 - thumb_func_end sub_812FE88 - - thumb_func_start sub_812FFA4 -sub_812FFA4: @ 812FFA4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0812FFC8 - cmp r1, 0 - bgt _0812FFC4 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - blt _0812FFCE - b _0812FFDC -_0812FFC4: - cmp r1, 0x1 - bne _0812FFCE -_0812FFC8: - ldr r0, _0812FFE4 @ =gSaveBlock2Ptr - ldr r0, [r0] - strb r1, [r0, 0x8] -_0812FFCE: - ldr r0, _0812FFE8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0812FFEC @ =sub_812FFF0 - str r0, [r1] -_0812FFDC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0812FFE4: .4byte gSaveBlock2Ptr -_0812FFE8: .4byte gTasks -_0812FFEC: .4byte sub_812FFF0 - thumb_func_end sub_812FFA4 - - thumb_func_start sub_812FFF0 -sub_812FFF0: @ 812FFF0 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - ldr r6, _08130048 @ =gTasks+0x8 - adds r4, r5, r6 - ldrb r0, [r4, 0x1A] - movs r1, 0x1 - bl sub_810F4D8 - ldrb r0, [r4, 0x1A] - bl RemoveWindow - movs r0, 0 - strh r0, [r4, 0x1A] - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - subs r6, 0x8 - adds r5, r6 - ldr r0, _0813004C @ =sub_8130050 - str r0, [r5] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08130048: .4byte gTasks+0x8 -_0813004C: .4byte sub_8130050 - thumb_func_end sub_812FFF0 - - thumb_func_start sub_8130050 -sub_8130050: @ 8130050 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813006C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08130070 - movs r0, 0 - movs r1, 0 - bl sub_81311F4 - b _08130078 - .align 2, 0 -_0813006C: .4byte gSaveBlock2Ptr -_08130070: - movs r0, 0x1 - movs r1, 0 - bl sub_81311F4 -_08130078: - adds r0, r4, 0 - movs r1, 0x2 - bl sub_81315CC - ldr r1, _08130098 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x20 - strh r1, [r0, 0xE] - ldr r1, _0813009C @ =sub_81300A0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08130098: .4byte gTasks -_0813009C: .4byte sub_81300A0 - thumb_func_end sub_8130050 - - thumb_func_start sub_81300A0 -sub_81300A0: @ 81300A0 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _081300CC @ =gTasks+0x8 - adds r1, r0, r1 - movs r2, 0x4 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0813014A - ldrh r0, [r1, 0x6] - movs r2, 0x6 - ldrsh r4, [r1, r2] - cmp r4, 0 - beq _081300D0 - subs r0, 0x1 - strh r0, [r1, 0x6] - b _0813014A - .align 2, 0 -_081300CC: .4byte gTasks+0x8 -_081300D0: - strh r4, [r1, 0x2] - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0813010C @ =gUnknown_81C5DEA - ldr r5, _08130110 @ =gStringVar4 - cmp r2, r5 - beq _08130118 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _08130114 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - bl AddTextPrinterParametrized - b _08130134 - .align 2, 0 -_0813010C: .4byte gUnknown_81C5DEA -_08130110: .4byte gStringVar4 -_08130114: .4byte gUnknown_203B108 -_08130118: - ldr r0, _08130154 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_08130134: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _08130158 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813015C @ =sub_8130160 - str r0, [r1] -_0813014A: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08130154: .4byte gUnknown_203B108 -_08130158: .4byte gTasks -_0813015C: .4byte sub_8130160 - thumb_func_end sub_81300A0 - - thumb_func_start sub_8130160 -sub_8130160: @ 8130160 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0813019A - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081301A4 @ =gUnknown_203B108 - ldr r0, [r0] - strh r4, [r0, 0x10] - ldr r1, _081301A8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _081301AC @ =sub_81303B4 - str r1, [r0] -_0813019A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081301A4: .4byte gUnknown_203B108 -_081301A8: .4byte gTasks -_081301AC: .4byte sub_81303B4 - thumb_func_end sub_8130160 - - thumb_func_start sub_81301B0 -sub_81301B0: @ 81301B0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _081301F8 @ =gTasks+0x8 - adds r4, r6, r7 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _08130218 - ldrh r2, [r4, 0x2] - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r1, 0x3C - negs r1, r1 - cmp r0, r1 - ble _08130200 - subs r0, r2, 0x2 - strh r0, [r4, 0x2] - ldr r1, _081301FC @ =gSpriteCoordOffsetX - ldrh r0, [r1] - adds r0, 0x2 - strh r0, [r1] - movs r1, 0x80 - lsls r1, 2 - movs r0, 0x2 - movs r2, 0x2 - bl ChangeBgX - b _08130218 - .align 2, 0 -_081301F8: .4byte gTasks+0x8 -_081301FC: .4byte gSpriteCoordOffsetX -_08130200: - strh r1, [r4, 0x2] - ldr r0, _08130220 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r1, [r0, 0x10] - adds r0, r5, 0 - bl sub_8131660 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _08130224 @ =sub_8130324 - str r1, [r0] -_08130218: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08130220: .4byte gUnknown_203B108 -_08130224: .4byte sub_8130324 - thumb_func_end sub_81301B0 - - thumb_func_start sub_8130228 -sub_8130228: @ 8130228 - push {r4-r6,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, _08130278 @ =gUnknown_203B108 - ldr r0, [r4] - ldrb r1, [r0, 0x10] - adds r0, r6, 0 - bl sub_8131660 - ldr r0, [r4] - ldrh r4, [r0, 0x10] - cmp r4, 0 - bne _081302A6 - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _0813027C @ =gUnknown_81C5DEA - ldr r5, _08130280 @ =gStringVar4 - cmp r2, r5 - beq _08130284 - adds r0, r5, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r5, 0 - movs r3, 0 - bl AddTextPrinterParametrized - b _0813029C - .align 2, 0 -_08130278: .4byte gUnknown_203B108 -_0813027C: .4byte gUnknown_81C5DEA -_08130280: .4byte gStringVar4 -_08130284: - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - movs r3, 0 - bl AddTextPrinterParametrized -_0813029C: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _08130306 -_081302A6: - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _081302DC @ =gUnknown_81C5E91 - ldr r4, _081302E0 @ =gStringVar4 - cmp r2, r4 - beq _081302E4 - adds r0, r4, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - movs r3, 0 - bl AddTextPrinterParametrized - b _081302FE - .align 2, 0 -_081302DC: .4byte gUnknown_81C5E91 -_081302E0: .4byte gStringVar4 -_081302E4: - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - movs r3, 0 - bl AddTextPrinterParametrized -_081302FE: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram -_08130306: - ldr r0, _0813031C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08130320 @ =sub_8130324 - str r0, [r1] - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813031C: .4byte gTasks -_08130320: .4byte sub_8130324 - thumb_func_end sub_8130228 - - thumb_func_start sub_8130324 -sub_8130324: @ 8130324 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0813037C @ =gTasks+0x8 - adds r5, r6, r7 - bl ProcessMenuInput - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08130388 - cmp r4, 0 - ble _081303A8 - cmp r4, 0x4 - bgt _081303A8 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5, 0x1A] - movs r1, 0x1 - bl sub_810F4D8 - ldrb r0, [r5, 0x1A] - bl RemoveWindow - ldr r0, _08130380 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - subs r1, r4, 0x1 - lsls r1, 24 - lsrs r1, 24 - bl sub_8131754 - movs r0, 0x1 - strh r0, [r5, 0x1E] - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _08130384 @ =sub_8130464 - b _081303A6 - .align 2, 0 -_0813037C: .4byte gTasks+0x8 -_08130380: .4byte gUnknown_203B108 -_08130384: .4byte sub_8130464 -_08130388: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _081303B0 @ =sub_81303B4 -_081303A6: - str r1, [r0] -_081303A8: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081303B0: .4byte sub_81303B4 - thumb_func_end sub_8130324 - - thumb_func_start sub_81303B4 -sub_81303B4: @ 81303B4 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _081303F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0813044C - ldr r4, _081303FC @ =gUnknown_203B108 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - movs r1, 0 - bl sub_8131754 - ldr r0, [r4] - ldrh r0, [r0, 0x10] - cmp r0, 0 - bne _08130408 - ldr r0, _08130400 @ =gSaveBlock2Ptr - ldr r1, [r0] - ldrb r2, [r1, 0x8] - str r5, [sp] - ldr r0, _08130404 @ =sub_8130C64 - str r0, [sp, 0x4] - movs r0, 0 - movs r3, 0 - bl DoNamingScreen - b _08130440 - .align 2, 0 -_081303F8: .4byte gPaletteFade -_081303FC: .4byte gUnknown_203B108 -_08130400: .4byte gSaveBlock2Ptr -_08130404: .4byte sub_8130C64 -_08130408: - ldr r0, _08130454 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_810F4D8 - ldrh r0, [r4, 0x22] - lsls r0, 24 - lsrs r0, 24 - bl RemoveWindow - ldr r0, _08130458 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _0813045C @ =0x00003a4c - adds r1, r0 - str r5, [sp] - ldr r0, _08130460 @ =sub_8130C64 - str r0, [sp, 0x4] - movs r0, 0x4 - movs r2, 0 - movs r3, 0 - bl DoNamingScreen -_08130440: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_8131168 - bl FreeAllWindowBuffers -_0813044C: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08130454: .4byte gTasks -_08130458: .4byte gSaveBlock1Ptr -_0813045C: .4byte 0x00003a4c -_08130460: .4byte sub_8130C64 - thumb_func_end sub_81303B4 - - thumb_func_start sub_8130464 -sub_8130464: @ 8130464 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _081304A0 @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _081304A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08130544 - movs r1, 0x1E - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08130500 - ldr r0, _081304A8 @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x10] - cmp r0, 0 - bne _081304B4 - ldr r0, _081304AC @ =gStringVar4 - ldr r1, _081304B0 @ =gUnknown_81C5E13 - bl StringExpandPlaceholders - b _081304BC - .align 2, 0 -_081304A0: .4byte gTasks+0x8 -_081304A4: .4byte gPaletteFade -_081304A8: .4byte gUnknown_203B108 -_081304AC: .4byte gStringVar4 -_081304B0: .4byte gUnknown_81C5E13 -_081304B4: - ldr r0, _081304F4 @ =gStringVar4 - ldr r1, _081304F8 @ =gUnknown_81C5EB5 - bl StringExpandPlaceholders -_081304BC: - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _081304F4 @ =gStringVar4 - ldr r0, _081304FC @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - movs r4, 0 - str r4, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - strh r4, [r5, 0x1E] - movs r0, 0x19 - strh r0, [r5, 0x6] - b _08130544 - .align 2, 0 -_081304F4: .4byte gStringVar4 -_081304F8: .4byte gUnknown_81C5EB5 -_081304FC: .4byte gUnknown_203B108 -_08130500: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _08130544 - ldrh r0, [r5, 0x6] - movs r1, 0x6 - ldrsh r4, [r5, r1] - cmp r4, 0 - beq _0813051C - subs r0, 0x1 - strh r0, [r5, 0x6] - b _08130544 -_0813051C: - bl sub_80F796C - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0813054C @ =gUnknown_8462ED0 - str r0, [sp] - movs r0, 0xE - str r0, [sp, 0x4] - str r4, [sp, 0x8] - adds r0, r1, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl sub_810FF60 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _08130550 @ =sub_8130554 - str r1, [r0] -_08130544: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813054C: .4byte gUnknown_8462ED0 -_08130550: .4byte sub_8130554 - thumb_func_end sub_8130464 - - thumb_func_start sub_8130554 -sub_8130554: @ 8130554 - push {r4-r7,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r4, r0, 24 - bl ProcessMenuInputNoWrap_ - lsls r0, 24 - asrs r5, r0, 24 - cmp r5, 0 - beq _0813057C - cmp r5, 0 - bgt _08130576 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _08130604 - b _0813063E -_08130576: - cmp r5, 0x1 - beq _08130604 - b _0813063E -_0813057C: - movs r0, 0x5 - bl PlaySE - ldr r1, _081305B0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r6, r0, r1 - movs r0, 0x28 - strh r0, [r6, 0xE] - ldr r7, _081305B4 @ =gUnknown_203B108 - ldr r0, [r7] - ldrh r0, [r0, 0x10] - cmp r0, 0 - bne _081305BC - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_813144C - ldr r0, _081305B8 @ =sub_8130650 - str r0, [r6] - b _0813063E - .align 2, 0 -_081305B0: .4byte gTasks -_081305B4: .4byte gUnknown_203B108 -_081305B8: .4byte sub_8130650 -_081305BC: - ldr r4, _081305F8 @ =gStringVar4 - ldr r1, _081305FC @ =gUnknown_81C5EC5 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r0, [r7] - ldrb r3, [r0, 0x1F] - str r5, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _08130600 @ =sub_8130694 - str r0, [r6] - b _0813063E - .align 2, 0 -_081305F8: .4byte gStringVar4 -_081305FC: .4byte gUnknown_81C5EC5 -_08130600: .4byte sub_8130694 -_08130604: - movs r0, 0x5 - bl PlaySE - ldr r0, _08130624 @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x10] - cmp r0, 0 - bne _08130630 - ldr r0, _08130628 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813062C @ =sub_8130160 - b _0813063C - .align 2, 0 -_08130624: .4byte gUnknown_203B108 -_08130628: .4byte gTasks -_0813062C: .4byte sub_8130160 -_08130630: - ldr r0, _08130648 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813064C @ =sub_8130228 -_0813063C: - str r0, [r1] -_0813063E: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08130648: .4byte gTasks -_0813064C: .4byte sub_8130228 - thumb_func_end sub_8130554 - - thumb_func_start sub_8130650 -sub_8130650: @ 8130650 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _0813067C @ =gTasks+0x8 - adds r4, r5, r6 - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813068A - bl sub_8131310 - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08130680 - subs r0, r1, 0x1 - strh r0, [r4, 0x6] - b _0813068A - .align 2, 0 -_0813067C: .4byte gTasks+0x8 -_08130680: - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _08130690 @ =sub_81306D4 - str r1, [r0] -_0813068A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08130690: .4byte sub_81306D4 - thumb_func_end sub_8130650 - - thumb_func_start sub_8130694 -sub_8130694: @ 8130694 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _081306C4 - movs r0, 0 - movs r1, 0x1 - bl sub_80F6F54 - adds r0, r4, 0 - movs r1, 0x2 - bl sub_813144C - ldr r0, _081306CC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _081306D0 @ =sub_81307D0 - str r0, [r1] -_081306C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081306CC: .4byte gTasks -_081306D0: .4byte sub_81307D0 - thumb_func_end sub_8130694 - - thumb_func_start sub_81306D4 -sub_81306D4: @ 81306D4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - ldr r0, _08130710 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0xA] - ldr r0, _08130714 @ =gSpriteCoordOffsetX - strh r1, [r0] - movs r0, 0x2 - bl sub_81311F4 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_81315CC - ldr r0, _08130718 @ =sub_813071C - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08130710: .4byte gTasks -_08130714: .4byte gSpriteCoordOffsetX -_08130718: .4byte sub_813071C - thumb_func_end sub_81306D4 - - thumb_func_start sub_813071C -sub_813071C: @ 813071C - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08130770 @ =gTasks+0x8 - adds r0, r1 - movs r1, 0x4 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081307BC - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r2, _08130774 @ =gUnknown_81C5E2E - ldr r4, _08130778 @ =gStringVar4 - cmp r2, r4 - beq _08130780 - adds r0, r4, 0 - adds r1, r2, 0 - bl StringExpandPlaceholders - ldr r0, _0813077C @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - b _0813079E - .align 2, 0 -_08130770: .4byte gTasks+0x8 -_08130774: .4byte gUnknown_81C5E2E -_08130778: .4byte gStringVar4 -_0813077C: .4byte gUnknown_203B108 -_08130780: - ldr r0, _081307C4 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - bl AddTextPrinterParametrized -_0813079E: - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, _081307C4 @ =gUnknown_203B108 - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x10] - ldr r1, _081307C8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _081307CC @ =sub_81301B0 - str r1, [r0] -_081307BC: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081307C4: .4byte gUnknown_203B108 -_081307C8: .4byte gTasks -_081307CC: .4byte sub_81301B0 - thumb_func_end sub_813071C - - thumb_func_start sub_81307D0 -sub_81307D0: @ 81307D0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081307FC @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _08130846 - bl sub_8131310 - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08130800 - subs r0, r1, 0x1 - strh r0, [r4, 0x6] - b _08130846 - .align 2, 0 -_081307FC: .4byte gTasks+0x8 -_08130800: - ldr r0, _08130814 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08130818 - movs r0, 0 - movs r1, 0 - bl sub_81311F4 - b _08130820 - .align 2, 0 -_08130814: .4byte gSaveBlock2Ptr -_08130818: - movs r0, 0x1 - movs r1, 0 - bl sub_81311F4 -_08130820: - ldr r0, _0813084C @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r1, 0 - strh r1, [r4, 0xA] - ldr r0, _08130850 @ =gSpriteCoordOffsetX - strh r1, [r0] - movs r0, 0x2 - movs r2, 0 - bl ChangeBgX - adds r0, r5, 0 - movs r1, 0x2 - bl sub_81315CC - ldr r0, _08130854 @ =sub_8130858 - str r0, [r4] -_08130846: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813084C: .4byte gTasks -_08130850: .4byte gSpriteCoordOffsetX -_08130854: .4byte sub_8130858 - thumb_func_end sub_81307D0 - - thumb_func_start sub_8130858 -sub_8130858: @ 8130858 - push {r4,r5,lr} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081308BC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - movs r1, 0xC - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081308B4 - ldr r4, _081308C0 @ =gStringVar4 - ldr r1, _081308C4 @ =gUnknown_81C5EF4 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0 - bl sub_80F6EE4 - ldr r0, _081308C8 @ =gUnknown_203B108 - ldr r0, [r0] - ldrb r3, [r0, 0x1F] - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0x3 - str r0, [sp, 0xC] - movs r0, 0 - movs r1, 0x4 - adds r2, r4, 0 - bl AddTextPrinterParametrized - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - movs r0, 0x1E - strh r0, [r5, 0xE] - ldr r0, _081308CC @ =sub_81308D0 - str r0, [r5] -_081308B4: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081308BC: .4byte gTasks -_081308C0: .4byte gStringVar4 -_081308C4: .4byte gUnknown_81C5EF4 -_081308C8: .4byte gUnknown_203B108 -_081308CC: .4byte sub_81308D0 - thumb_func_end sub_8130858 - - thumb_func_start sub_81308D0 -sub_81308D0: @ 81308D0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - bne _0813090A - ldr r0, _081308FC @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r4, r1, r0 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08130900 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _0813090A - .align 2, 0 -_081308FC: .4byte gTasks -_08130900: - movs r0, 0x4 - bl FadeOutBGM - ldr r0, _08130910 @ =sub_8130914 - str r0, [r4] -_0813090A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08130910: .4byte sub_8130914 - thumb_func_end sub_81308D0 - - thumb_func_start sub_8130914 -sub_8130914: @ 8130914 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813093C @ =gUnknown_203B108 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x12] - adds r0, r4, 0 - bl sub_8130A38 - adds r0, r4, 0 - bl sub_8130ADC - adds r0, r4, 0 - bl sub_8130940 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813093C: .4byte gUnknown_203B108 - thumb_func_end sub_8130914 - - thumb_func_start sub_8130940 -sub_8130940: @ 8130940 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _08130978 @ =gTasks+0x8 - adds r5, r4, r6 - movs r0, 0x2 - movs r1, 0x6 - movs r2, 0x1 - bl SetBgAttribute - movs r1, 0 - strh r1, [r5] - strh r1, [r5, 0x2] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r5, 0x4] - strh r1, [r5, 0x1E] - subs r6, 0x8 - adds r4, r6 - ldr r0, _0813097C @ =sub_8130980 - str r0, [r4] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08130978: .4byte gTasks+0x8 -_0813097C: .4byte sub_8130980 - thumb_func_end sub_8130940 - - thumb_func_start sub_8130980 -sub_8130980: @ 8130980 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r7, r1, 3 - ldr r0, _08130A2C @ =gTasks+0x8 - mov r8, r0 - adds r5, r7, r0 - ldr r0, _08130A30 @ =gUnknown_203B108 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - ldrh r4, [r1, 0x12] - adds r0, r4, 0 - movs r1, 0x14 - bl __umodsi3 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0 - bne _08130A1E - cmp r4, 0x28 - bne _081309BE - movs r0, 0x27 - bl PlaySE -_081309BE: - ldrh r0, [r5, 0x4] - adds r1, r0, 0 - subs r1, 0x20 - strh r1, [r5, 0x4] - subs r0, 0x8 - lsls r0, 16 - asrs r0, 16 - bl sub_80D8B90 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrh r0, [r5, 0x4] - subs r0, 0x10 - lsls r0, 16 - asrs r0, 16 - bl sub_80D8B90 - movs r1, 0xF0 - lsls r1, 7 - movs r2, 0xA8 - lsls r2, 7 - movs r3, 0x54 - str r3, [sp] - lsls r4, 16 - asrs r4, 16 - str r4, [sp, 0x4] - lsls r0, 16 - asrs r0, 16 - str r0, [sp, 0x8] - str r6, [sp, 0xC] - movs r0, 0x2 - movs r3, 0x78 - bl SetBgAffine - movs r1, 0x4 - ldrsh r0, [r5, r1] - cmp r0, 0x60 - bgt _08130A1E - movs r0, 0x1 - strh r0, [r5, 0x1E] - movs r0, 0x24 - strh r0, [r5] - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _08130A34 @ =sub_8130BA8 - str r1, [r0] -_08130A1E: - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08130A2C: .4byte gTasks+0x8 -_08130A30: .4byte gUnknown_203B108 -_08130A34: .4byte sub_8130BA8 - thumb_func_end sub_8130980 - - thumb_func_start sub_8130A38 -sub_8130A38: @ 8130A38 - push {lr} - sub sp, 0x4 - ldr r0, _08130A74 @ =sub_8130A80 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08130A78 @ =gTasks+0x8 - adds r1, r0 - movs r0, 0 - strh r0, [r1] - strh r0, [r1, 0x2] - strh r0, [r1, 0x4] - strh r0, [r1, 0x1E] - ldr r0, _08130A7C @ =0xffff0fcf - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08130A74: .4byte sub_8130A80 -_08130A78: .4byte gTasks+0x8 -_08130A7C: .4byte 0xffff0fcf - thumb_func_end sub_8130A38 - - thumb_func_start sub_8130A80 -sub_8130A80: @ 8130A80 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08130AB8 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _08130ABC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08130AD4 - ldrh r0, [r2, 0x2] - movs r3, 0x2 - ldrsh r1, [r2, r3] - cmp r1, 0 - beq _08130AC0 - adds r0, r4, 0 - bl DestroyTask - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8131168 - b _08130AD4 - .align 2, 0 -_08130AB8: .4byte gTasks+0x8 -_08130ABC: .4byte gPaletteFade -_08130AC0: - adds r0, 0x1 - strh r0, [r2, 0x2] - movs r0, 0xF0 - lsls r0, 8 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_08130AD4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8130A80 - - thumb_func_start sub_8130ADC -sub_8130ADC: @ 8130ADC - push {lr} - ldr r0, _08130B08 @ =sub_8130B10 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08130B0C @ =gTasks+0x8 - adds r1, r0 - movs r2, 0x8 - strh r2, [r1] - movs r0, 0 - strh r0, [r1, 0x2] - strh r2, [r1, 0x4] - strh r0, [r1, 0x1C] - strh r0, [r1, 0x1E] - pop {r0} - bx r0 - .align 2, 0 -_08130B08: .4byte sub_8130B10 -_08130B0C: .4byte gTasks+0x8 - thumb_func_end sub_8130ADC - - thumb_func_start sub_8130B10 -sub_8130B10: @ 8130B10 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08130B30 @ =gTasks+0x8 - adds r4, r0, r1 - ldrh r1, [r4] - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08130B34 - subs r0, r1, 0x1 - strh r0, [r4] - b _08130B96 - .align 2, 0 -_08130B30: .4byte gTasks+0x8 -_08130B34: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bgt _08130B4A - ldrh r1, [r4, 0x4] - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08130B4A - subs r0, r1, 0x1 - strh r0, [r4, 0x4] -_08130B4A: - ldrb r2, [r4, 0x1C] - ldr r7, _08130B9C @ =0x00007fff - movs r0, 0x40 - movs r1, 0x20 - adds r3, r7, 0 - bl BlendPalette - ldrh r1, [r4, 0x1C] - adds r1, 0x1 - strh r1, [r4, 0x1C] - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - ldrh r0, [r4, 0x4] - strh r0, [r4] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xE - ble _08130B96 - movs r2, 0 - ldr r6, _08130BA0 @ =gPlttBufferFaded - adds r3, r7, 0 - ldr r4, _08130BA4 @ =gPlttBufferUnfaded -_08130B78: - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 1 - adds r1, r0, r6 - strh r3, [r1] - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _08130B78 - adds r0, r5, 0 - bl DestroyTask -_08130B96: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08130B9C: .4byte 0x00007fff -_08130BA0: .4byte gPlttBufferFaded -_08130BA4: .4byte gPlttBufferUnfaded - thumb_func_end sub_8130B10 - - thumb_func_start sub_8130BA8 -sub_8130BA8: @ 8130BA8 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08130BCC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08130BD0 - subs r0, 0x1 - strh r0, [r4, 0x8] - b _08130BE2 - .align 2, 0 -_08130BCC: .4byte gTasks -_08130BD0: - str r1, [sp] - movs r0, 0x30 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08130BEC @ =sub_8130BF0 - str r0, [r4] -_08130BE2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08130BEC: .4byte sub_8130BF0 - thumb_func_end sub_8130BA8 - - thumb_func_start sub_8130BF0 -sub_8130BF0: @ 8130BF0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08130C14 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08130C10 - ldr r0, _08130C18 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _08130C1C @ =sub_8130C20 - str r0, [r1] -_08130C10: - pop {r0} - bx r0 - .align 2, 0 -_08130C14: .4byte gPaletteFade -_08130C18: .4byte gTasks -_08130C1C: .4byte sub_8130C20 - thumb_func_end sub_8130BF0 - - thumb_func_start sub_8130C20 -sub_8130C20: @ 8130C20 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl FreeAllWindowBuffers - bl sub_8044D80 - ldr r5, _08130C58 @ =gUnknown_203B108 - ldr r0, [r5] - bl Free - movs r0, 0 - str r0, [r5] - ldr r2, _08130C5C @ =gTextFlags - ldrb r1, [r2] - subs r0, 0x2 - ands r0, r1 - strb r0, [r2] - ldr r0, _08130C60 @ =CB2_NewGame - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08130C58: .4byte gUnknown_203B108 -_08130C5C: .4byte gTextFlags -_08130C60: .4byte CB2_NewGame - thumb_func_end sub_8130C20 - - thumb_func_start sub_8130C64 -sub_8130C64: @ 8130C64 - push {r4,r5,lr} - sub sp, 0x10 - ldr r0, _08130C84 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x7 - bls _08130C78 - b _08130F10 -_08130C78: - lsls r0, 2 - ldr r1, _08130C88 @ =_08130C8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08130C84: .4byte gMain -_08130C88: .4byte _08130C8C - .align 2, 0 -_08130C8C: - .4byte _08130CAC - .4byte _08130D18 - .4byte _08130D78 - .4byte _08130DB2 - .4byte _08130DD0 - .4byte _08130DE8 - .4byte _08130E38 - .4byte _08130EB8 -_08130CAC: - movs r0, 0 - bl SetVBlankCallback - add r1, sp, 0x8 - movs r0, 0 - strh r0, [r1] - ldr r1, _08130D04 @ =0x040000d4 - add r0, sp, 0x8 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _08130D08 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - add r0, sp, 0xC - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _08130D0C @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0x8 - strh r2, [r0] - str r0, [r1] - ldr r0, _08130D10 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _08130D14 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl remove_some_task - bl ResetSpriteData - bl FreeAllSpritePalettes - bl reset_temp_tile_data_buffers - b _08130F10 - .align 2, 0 -_08130D04: .4byte 0x040000d4 -_08130D08: .4byte 0x8100c000 -_08130D0C: .4byte 0x85000100 -_08130D10: .4byte 0x05000002 -_08130D14: .4byte 0x810001ff -_08130D18: - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08130D70 @ =gUnknown_8462E58 - movs r0, 0x1 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r4, _08130D74 @ =gUnknown_203B108 - ldr r1, [r4] - movs r0, 0xE1 - lsls r0, 5 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r1, [r4] - movs r0, 0xC1 - lsls r0, 5 - adds r1, r0 - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - b _08130F10 - .align 2, 0 -_08130D70: .4byte gUnknown_8462E58 -_08130D74: .4byte gUnknown_203B108 -_08130D78: - movs r0, 0x40 - movs r1, 0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - b _08130F10 -_08130DB2: - bl FreeAllWindowBuffers - bl sub_80F6C6C - bl sub_80F6C98 - ldr r0, _08130DCC @ =gUnknown_8460568 - movs r1, 0 - movs r2, 0xE0 - bl LoadPalette - b _08130F10 - .align 2, 0 -_08130DCC: .4byte gUnknown_8460568 -_08130DD0: - ldr r1, _08130DE4 @ =gUnknown_8460CA4 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08130F10 - .align 2, 0 -_08130DE4: .4byte gUnknown_8460CA4 -_08130DE8: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - cmp r0, 0 - beq _08130DF4 - b _08130F1E -_08130DF4: - movs r5, 0x1E - str r5, [sp] - movs r4, 0x14 - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r1, _08130E34 @ =gUnknown_8460CE8 - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - b _08130F10 - .align 2, 0 -_08130E34: .4byte gUnknown_8460CE8 -_08130E38: - ldr r0, _08130E5C @ =sub_8130464 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08130E60 @ =gUnknown_203B108 - ldr r0, [r0] - ldrh r0, [r0, 0x10] - cmp r0, 0 - bne _08130E72 - ldr r0, _08130E64 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08130E68 - movs r0, 0 - b _08130E6A - .align 2, 0 -_08130E5C: .4byte sub_8130464 -_08130E60: .4byte gUnknown_203B108 -_08130E64: .4byte gSaveBlock2Ptr -_08130E68: - movs r0, 0x1 -_08130E6A: - movs r1, 0 - bl sub_81311F4 - b _08130E7A -_08130E72: - movs r0, 0x2 - movs r1, 0 - bl sub_81311F4 -_08130E7A: - ldr r0, _08130EA8 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldr r0, _08130EAC @ =0x0000ffc4 - strh r0, [r4, 0xA] - ldr r1, _08130EB0 @ =gSpriteCoordOffsetX - ldrh r0, [r1] - adds r0, 0x3C - strh r0, [r1] - ldr r1, _08130EB4 @ =0xffffc400 - movs r0, 0x2 - movs r2, 0 - bl ChangeBgX - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8130FD4 - movs r0, 0x1 - strh r0, [r4, 0x26] - b _08130F10 - .align 2, 0 -_08130EA8: .4byte gTasks -_08130EAC: .4byte 0x0000ffc4 -_08130EB0: .4byte gSpriteCoordOffsetX -_08130EB4: .4byte 0xffffc400 -_08130EB8: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x1 - bl EnableInterrupts - ldr r0, _08130F04 @ =sub_812EAFC - bl SetVBlankCallback - ldr r2, _08130F08 @ =gTextFlags - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08130F0C @ =sub_812EB10 - bl SetMainCallback2 - b _08130F1E - .align 2, 0 -_08130F04: .4byte sub_812EAFC -_08130F08: .4byte gTextFlags -_08130F0C: .4byte sub_812EB10 -_08130F10: - ldr r1, _08130F28 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08130F1E: - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08130F28: .4byte gMain - thumb_func_end sub_8130C64 - - thumb_func_start sub_8130F2C -sub_8130F2C: @ 8130F2C - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _08130FA0 @ =gUnknown_8235194 - movs r0, 0 - bl sub_8044E00 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1D - bl DecompressPicFromTable - ldr r0, _08130FA4 @ =gUnknown_82373F4 - bl sub_800F078 - movs r0, 0x1D - movs r1, 0 - bl sub_803F7D4 - ldr r0, _08130FA8 @ =gMultiuseSpriteTemplate - movs r1, 0x60 - movs r2, 0x60 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08130FAC @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r1, r2, r1 - ldr r3, _08130FB0 @ =SpriteCallbackDummy - str r3, [r1] - adds r2, r4 - ldrb r3, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - adds r2, 0x3E - ldrb r1, [r2] - orrs r1, r3 - strb r1, [r2] - ldr r2, _08130FB4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x10] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08130FA0: .4byte gUnknown_8235194 -_08130FA4: .4byte gUnknown_82373F4 -_08130FA8: .4byte gMultiuseSpriteTemplate -_08130FAC: .4byte gSprites -_08130FB0: .4byte SpriteCallbackDummy -_08130FB4: .4byte gTasks - thumb_func_end sub_8130F2C - - thumb_func_start sub_8130FB8 -sub_8130FB8: @ 8130FB8 - ldr r3, _08130FD0 @ =gSprites - movs r1, 0x2E - ldrsh r2, [r0, r1] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - adds r1, 0x2B - ldrb r1, [r1] - strh r1, [r0, 0x26] - bx lr - .align 2, 0 -_08130FD0: .4byte gSprites - thumb_func_end sub_8130FB8 - - thumb_func_start sub_8130FD4 -sub_8130FD4: @ 8130FD4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - movs r4, 0 - cmp r1, 0 - beq _08130FF4 - cmp r1, 0x1 - beq _081310C8 - b _08131146 -_08130FF4: - ldr r4, _081310B0 @ =gUnknown_8462EFC - adds r0, r4, 0 - bl LoadCompressedObjectPic - adds r0, r4, 0 - adds r0, 0x8 - bl LoadCompressedObjectPic - adds r4, 0x10 - adds r0, r4, 0 - bl LoadCompressedObjectPic - ldr r0, _081310B4 @ =gUnknown_8462F1C - bl LoadSpritePalette - ldr r0, _081310B8 @ =gUnknown_846302C - mov r8, r0 - movs r1, 0x10 - movs r2, 0x11 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r6, _081310BC @ =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - movs r5, 0xD - negs r5, r5 - adds r0, r5, 0 - ands r0, r2 - strb r0, [r1, 0x5] - ldr r0, _081310C0 @ =gTasks - mov r1, r9 - lsls r4, r1, 2 - add r4, r9 - lsls r4, 3 - adds r4, r0 - strh r7, [r4, 0x16] - mov r0, r8 - adds r0, 0x18 - movs r1, 0x10 - movs r2, 0x9 - movs r3, 0x3 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r2, r1, r6 - ldrb r3, [r2, 0x5] - adds r0, r5, 0 - ands r0, r3 - strb r0, [r2, 0x5] - ldrh r0, [r4, 0x16] - strh r0, [r2, 0x2E] - movs r2, 0x1C - adds r2, r6 - mov r10, r2 - add r1, r10 - ldr r3, _081310C4 @ =sub_8130FB8 - mov r9, r3 - str r3, [r1] - strh r7, [r4, 0x18] - movs r0, 0x30 - add r8, r0 - mov r0, r8 - movs r1, 0x18 - movs r2, 0xD - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r6, r0, r6 - ldrb r1, [r6, 0x5] - ands r5, r1 - strb r5, [r6, 0x5] - ldrh r1, [r4, 0x16] - strh r1, [r6, 0x2E] - add r0, r10 - mov r1, r9 - str r1, [r0] - strh r7, [r4, 0x1A] - b _08131146 - .align 2, 0 -_081310B0: .4byte gUnknown_8462EFC -_081310B4: .4byte gUnknown_8462F1C -_081310B8: .4byte gUnknown_846302C -_081310BC: .4byte gSprites -_081310C0: .4byte gTasks -_081310C4: .4byte sub_8130FB8 -_081310C8: - ldr r0, _08131154 @ =gUnknown_8462F14 - bl LoadCompressedObjectPic - ldr r0, _08131158 @ =gUnknown_8462F24 - bl LoadSpritePalette - mov r2, r9 - lsls r5, r2, 2 - ldr r3, _0813115C @ =gTasks+0x8 - mov r8, r3 - ldr r6, _08131160 @ =gSprites -_081310DE: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _08131164 @ =gUnknown_8462F50 - adds r0, r1 - lsls r1, r4, 21 - movs r2, 0xB0 - lsls r2, 15 - adds r1, r2 - asrs r1, 16 - movs r2, 0x70 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r2, r7, 4 - adds r2, r7 - lsls r2, 2 - adds r2, r6 - ldrb r1, [r2, 0x5] - movs r3, 0xD - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x8 - orrs r1, r0 - strb r1, [r2, 0x5] - adds r3, r2, 0 - adds r3, 0x2C - ldrb r0, [r3] - movs r1, 0x40 - orrs r0, r1 - strb r0, [r3] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - adds r1, r4, 0x7 - lsls r1, 1 - mov r2, r9 - adds r0, r5, r2 - lsls r0, 3 - adds r1, r0 - add r1, r8 - strh r7, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081310DE -_08131146: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131154: .4byte gUnknown_8462F14 -_08131158: .4byte gUnknown_8462F24 -_0813115C: .4byte gTasks+0x8 -_08131160: .4byte gSprites -_08131164: .4byte gUnknown_8462F50 - thumb_func_end sub_8130FD4 - - thumb_func_start sub_8131168 -sub_8131168: @ 8131168 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - movs r4, 0 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r7, _081311AC @ =gTasks+0x8 -_0813117C: - adds r0, r4, 0x7 - lsls r0, 1 - adds r0, r5 - adds r0, r7 - movs r2, 0 - ldrsh r1, [r0, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081311B0 @ =gSprites - adds r0, r1 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0813117C - cmp r6, 0 - beq _081311B4 - cmp r6, 0x1 - beq _081311DC - b _081311EC - .align 2, 0 -_081311AC: .4byte gTasks+0x8 -_081311B0: .4byte gSprites -_081311B4: - ldr r0, _081311D0 @ =0x00001003 - bl FreeSpriteTilesByTag - ldr r0, _081311D4 @ =0x00001002 - bl FreeSpriteTilesByTag - ldr r4, _081311D8 @ =0x00001001 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag - b _081311EC - .align 2, 0 -_081311D0: .4byte 0x00001003 -_081311D4: .4byte 0x00001002 -_081311D8: .4byte 0x00001001 -_081311DC: - movs r4, 0x80 - lsls r4, 5 - adds r0, r4, 0 - bl FreeSpriteTilesByTag - adds r0, r4, 0 - bl FreeSpritePaletteByTag -_081311EC: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8131168 - - thumb_func_start sub_81311F4 -sub_81311F4: @ 81311F4 - push {r4-r6,lr} - sub sp, 0x24 - lsls r0, 16 - lsrs r0, 16 - adds r2, r0, 0 - lsls r1, 16 - lsrs r4, r1, 16 - cmp r0, 0x1 - beq _08131230 - cmp r0, 0x1 - bgt _08131210 - cmp r0, 0 - beq _0813121A - b _081312F6 -_08131210: - cmp r2, 0x2 - beq _08131248 - cmp r2, 0x3 - beq _0813126C - b _081312F6 -_0813121A: - ldr r0, _08131228 @ =gUnknown_84615FC - movs r1, 0x40 - movs r2, 0x40 - bl LoadPalette - ldr r0, _0813122C @ =gUnknown_846163C - b _08131254 - .align 2, 0 -_08131228: .4byte gUnknown_84615FC -_0813122C: .4byte gUnknown_846163C -_08131230: - ldr r0, _08131240 @ =gUnknown_8460ED4 - movs r1, 0x40 - movs r2, 0x40 - bl LoadPalette - ldr r0, _08131244 @ =gUnknown_8460F14 - b _08131254 - .align 2, 0 -_08131240: .4byte gUnknown_8460ED4 -_08131244: .4byte gUnknown_8460F14 -_08131248: - ldr r0, _08131260 @ =gUnknown_84623AC - movs r1, 0x60 - movs r2, 0x40 - bl LoadPalette - ldr r0, _08131264 @ =gUnknown_84623EC -_08131254: - ldr r2, _08131268 @ =0x06000600 - adds r1, r4, r2 - bl LZ77UnCompVram - b _08131280 - .align 2, 0 -_08131260: .4byte gUnknown_84623AC -_08131264: .4byte gUnknown_84623EC -_08131268: .4byte 0x06000600 -_0813126C: - ldr r0, _08131300 @ =gUnknown_8461CD4 - movs r1, 0x60 - movs r2, 0x40 - bl LoadPalette - ldr r0, _08131304 @ =gUnknown_8461D14 - ldr r2, _08131308 @ =0x06000600 - adds r1, r4, r2 - bl LZ77UnCompVram -_08131280: - movs r0, 0x60 - bl AllocZeroed - ldr r2, _0813130C @ =gUnknown_203B108 - ldr r1, [r2] - str r0, [r1, 0x4] - movs r1, 0 - lsrs r6, r4, 6 -_08131290: - ldr r0, [r2] - ldr r0, [r0, 0x4] - adds r0, r1 - strb r1, [r0] - adds r1, 0x1 - cmp r1, 0x5F - bls _08131290 - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r5, 0x10 - str r5, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - ldr r4, _0813130C @ =gUnknown_203B108 - ldr r0, [r4] - ldr r1, [r0, 0x4] - movs r3, 0x8 - str r3, [sp] - movs r2, 0xC - str r2, [sp, 0x4] - movs r0, 0xB - str r0, [sp, 0x8] - movs r0, 0x2 - str r0, [sp, 0xC] - str r3, [sp, 0x10] - str r2, [sp, 0x14] - str r5, [sp, 0x18] - adds r0, r6, 0 - adds r0, 0x18 - str r0, [sp, 0x1C] - movs r5, 0 - str r5, [sp, 0x20] - movs r0, 0x2 - movs r2, 0 - movs r3, 0 - bl CopyRectToBgTilemapBufferRect - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - ldr r0, [r4] - ldr r0, [r0, 0x4] - bl Free - ldr r0, [r4] - str r5, [r0, 0x4] -_081312F6: - add sp, 0x24 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08131300: .4byte gUnknown_8461CD4 -_08131304: .4byte gUnknown_8461D14 -_08131308: .4byte 0x06000600 -_0813130C: .4byte gUnknown_203B108 - thumb_func_end sub_81311F4 - - thumb_func_start sub_8131310 -sub_8131310: @ 8131310 - push {lr} - sub sp, 0xC - movs r0, 0x8 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x10 - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - movs r2, 0xB - movs r3, 0x1 - bl FillBgTilemapBufferRect - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_8131310 - - thumb_func_start sub_8131338 -sub_8131338: @ 8131338 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r1, _081313A8 @ =gTasks - lsls r0, r6, 2 - mov r9, r0 - adds r0, r6 - lsls r5, r0, 3 - adds r2, r5, r1 - ldrh r3, [r2, 0xA] - movs r7, 0xA - ldrsh r0, [r2, r7] - mov r8, r1 - cmp r0, 0 - bne _081313B0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - movs r0, 0x1 - strh r0, [r1, 0xC] - adds r0, r6, 0 - bl DestroyTask - ldr r6, _081313AC @ =gSprites - adds r2, r5, 0 - mov r5, r8 - adds r5, 0x8 - movs r3, 0x4 -_08131380: - adds r0, r4, 0x7 - lsls r0, 1 - adds r0, r2 - adds r0, r5 - movs r7, 0 - ldrsh r1, [r0, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08131380 - b _0813143A - .align 2, 0 -_081313A8: .4byte gTasks -_081313AC: .4byte gSprites -_081313B0: - ldrh r1, [r2, 0x10] - movs r7, 0x10 - ldrsh r0, [r2, r7] - cmp r0, 0 - beq _081313C0 - subs r0, r1, 0x1 - strh r0, [r2, 0x10] - b _0813143A -_081313C0: - ldrh r0, [r2, 0xE] - strh r0, [r2, 0x10] - subs r1, r3, 0x1 - strh r1, [r2, 0xA] - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - lsls r1, 16 - asrs r1, 16 - mov r12, r9 - cmp r1, 0x8 - bne _0813141E - adds r7, r5, 0 - movs r0, 0x8 - add r0, r8 - mov r10, r0 - movs r5, 0x1 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 -_081313E8: - adds r0, r4, 0x7 - lsls r0, 1 - adds r0, r7 - add r0, r10 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08131448 @ =gSprites - adds r2, r0 - adds r2, 0x3E - ldrb r3, [r2] - lsls r1, r3, 29 - lsrs r1, 31 - eors r1, r5 - ands r1, r5 - lsls r1, 2 - mov r0, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _081313E8 -_0813141E: - mov r1, r12 - adds r0, r1, r6 - lsls r0, 3 - add r0, r8 - movs r2, 0xC - ldrsh r1, [r0, r2] - lsls r1, 8 - ldrh r0, [r0, 0xA] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_0813143A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131448: .4byte gSprites - thumb_func_end sub_8131338 - - thumb_func_start sub_813144C -sub_813144C: @ 813144C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - movs r7, 0 - ldr r1, _081314D0 @ =0x00001244 - movs r0, 0x50 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, _081314D4 @ =gTasks - mov r8, r0 - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r0, r5, r0 - strh r7, [r0, 0xC] - ldr r0, _081314D8 @ =sub_8131338 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - mov r1, r8 - adds r0, r2, r1 - strh r4, [r0, 0x8] - movs r1, 0x10 - strh r1, [r0, 0xA] - strh r7, [r0, 0xC] - strh r6, [r0, 0xE] - strh r6, [r0, 0x10] - mov r3, r8 - adds r3, 0x8 -_081314AC: - adds r0, r7, 0x7 - lsls r0, 1 - adds r1, r0, r2 - adds r1, r3 - adds r0, r5 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _081314AC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081314D0: .4byte 0x00001244 -_081314D4: .4byte gTasks -_081314D8: .4byte sub_8131338 - thumb_func_end sub_813144C - - thumb_func_start sub_81314DC -sub_81314DC: @ 81314DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r1, _08131528 @ =gTasks - lsls r5, r6, 2 - adds r0, r5, r6 - lsls r0, 3 - mov r9, r0 - adds r2, r0, r1 - ldrh r3, [r2, 0xA] - movs r7, 0xA - ldrsh r0, [r2, r7] - mov r12, r1 - cmp r0, 0x10 - bne _08131530 - ldr r0, _0813152C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081315BA - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r12 - movs r0, 0x1 - strh r0, [r1, 0xC] - adds r0, r6, 0 - bl DestroyTask - b _081315BA - .align 2, 0 -_08131528: .4byte gTasks -_0813152C: .4byte gPaletteFade -_08131530: - ldrh r1, [r2, 0x10] - movs r7, 0x10 - ldrsh r0, [r2, r7] - cmp r0, 0 - beq _08131540 - subs r0, r1, 0x1 - strh r0, [r2, 0x10] - b _081315BA -_08131540: - ldrh r0, [r2, 0xE] - strh r0, [r2, 0x10] - adds r1, r3, 0x2 - strh r1, [r2, 0xA] - ldrh r0, [r2, 0xC] - subs r0, 0x2 - strh r0, [r2, 0xC] - lsls r1, 16 - asrs r1, 16 - mov r8, r5 - cmp r1, 0x8 - bne _0813159E - mov r7, r9 - movs r0, 0x8 - add r0, r12 - mov r10, r0 - movs r5, 0x1 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 -_08131568: - adds r0, r4, 0x7 - lsls r0, 1 - adds r0, r7 - add r0, r10 - movs r2, 0 - ldrsh r0, [r0, r2] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081315C8 @ =gSprites - adds r2, r0 - adds r2, 0x3E - ldrb r3, [r2] - lsls r1, r3, 29 - lsrs r1, 31 - eors r1, r5 - ands r1, r5 - lsls r1, 2 - mov r0, r9 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08131568 -_0813159E: - mov r1, r8 - adds r0, r1, r6 - lsls r0, 3 - add r0, r12 - movs r2, 0xC - ldrsh r1, [r0, r2] - lsls r1, 8 - ldrh r0, [r0, 0xA] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg -_081315BA: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081315C8: .4byte gSprites - thumb_func_end sub_81314DC - - thumb_func_start sub_81315CC -sub_81315CC: @ 81315CC - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - movs r7, 0 - ldr r1, _08131654 @ =0x00001244 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x80 - lsls r1, 5 - movs r0, 0x52 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, _08131658 @ =gTasks - mov r8, r0 - lsls r5, r4, 2 - adds r5, r4 - lsls r5, 3 - adds r0, r5, r0 - strh r7, [r0, 0xC] - ldr r0, _0813165C @ =sub_81314DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - mov r1, r8 - adds r0, r2, r1 - strh r4, [r0, 0x8] - strh r7, [r0, 0xA] - movs r1, 0x10 - strh r1, [r0, 0xC] - strh r6, [r0, 0xE] - strh r6, [r0, 0x10] - mov r3, r8 - adds r3, 0x8 -_0813162E: - adds r0, r7, 0x7 - lsls r0, 1 - adds r1, r0, r2 - adds r1, r3 - adds r0, r5 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _0813162E - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131654: .4byte 0x00001244 -_08131658: .4byte gTasks -_0813165C: .4byte sub_81314DC - thumb_func_end sub_81315CC - - thumb_func_start sub_8131660 -sub_8131660: @ 8131660 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, _081316DC @ =gTasks+0x8 - adds r7, r4, r5 - ldr r0, _081316E0 @ =gUnknown_8462ED8 - bl AddWindow - strh r0, [r7, 0x1A] - lsls r0, 24 - lsrs r0, 24 - bl PutWindowTilemap - ldrb r6, [r7, 0x1A] - bl sub_80F796C - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - adds r0, r6, 0 - movs r1, 0x1 - movs r3, 0xE - bl SetWindowBorderStyle - adds r5, r4 - ldrb r0, [r5, 0x1A] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r7, 0x1A] - ldr r2, _081316E4 @ =gUnknown_81C574F - movs r1, 0x1 - str r1, [sp] - movs r1, 0 - str r1, [sp, 0x4] - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - mov r0, r8 - cmp r0, 0 - bne _081316F4 - ldr r0, _081316E8 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - ldr r6, _081316EC @ =gUnknown_84630D8 - cmp r0, 0 - bne _081316F6 - ldr r6, _081316F0 @ =gUnknown_846308C - b _081316F6 - .align 2, 0 -_081316DC: .4byte gTasks+0x8 -_081316E0: .4byte gUnknown_8462ED8 -_081316E4: .4byte gUnknown_81C574F -_081316E8: .4byte gSaveBlock2Ptr -_081316EC: .4byte gUnknown_84630D8 -_081316F0: .4byte gUnknown_846308C -_081316F4: - ldr r6, _08131750 @ =gUnknown_8463124 -_081316F6: - movs r4, 0 - movs r5, 0 -_081316FA: - ldrb r0, [r7, 0x1A] - lsls r1, r4, 2 - adds r1, r6 - ldr r2, [r1] - adds r4, 0x1 - lsls r1, r4, 4 - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x8 - bl AddTextPrinterParameterized - lsls r4, 24 - lsrs r4, 24 - cmp r4, 0x3 - bls _081316FA - ldrb r0, [r7, 0x1A] - movs r1, 0x10 - str r1, [sp] - movs r1, 0x5 - str r1, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x1 - bl sub_810F7D8 - ldrb r0, [r7, 0x1A] - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131750: .4byte gUnknown_8463124 - thumb_func_end sub_8131660 - - thumb_func_start sub_8131754 -sub_8131754: @ 8131754 - push {r4,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - cmp r0, 0 - bne _081317A0 - ldr r0, _08131770 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08131778 - ldr r4, _08131774 @ =gUnknown_846308C - b _0813177A - .align 2, 0 -_08131770: .4byte gSaveBlock2Ptr -_08131774: .4byte gUnknown_846308C -_08131778: - ldr r4, _08131798 @ =gUnknown_84630D8 -_0813177A: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x13 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 14 - adds r0, r4 - ldr r3, [r0] - ldr r0, _0813179C @ =gSaveBlock2Ptr - ldr r4, [r0] - b _081317B0 - .align 2, 0 -_08131798: .4byte gUnknown_84630D8 -_0813179C: .4byte gSaveBlock2Ptr -_081317A0: - ldr r1, _081317EC @ =gUnknown_8463124 - lsls r0, r2, 2 - adds r0, r1 - ldr r3, [r0] - ldr r0, _081317F0 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _081317F4 @ =0x00003a4c - adds r4, r0, r1 -_081317B0: - movs r2, 0 - ldrb r0, [r3] - cmp r0, 0xFF - beq _081317D2 -_081317B8: - adds r1, r4, r2 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x6 - bhi _081317D2 - adds r0, r3, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081317B8 -_081317D2: - cmp r2, 0x7 - bhi _081317E6 - movs r1, 0xFF -_081317D8: - adds r0, r4, r2 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _081317D8 -_081317E6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081317EC: .4byte gUnknown_8463124 -_081317F0: .4byte gSaveBlock1Ptr -_081317F4: .4byte 0x00003a4c - thumb_func_end sub_8131754 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/option_menu.s b/asm/option_menu.s index 7ee737053..cff6f1f25 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -93,7 +93,7 @@ _080883FA: cmp r3, 0x5 bls _080883E6 movs r0, 0xD - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0808842C @ =sub_8088454 bl SetMainCallback2 pop {r4-r6} @@ -431,7 +431,7 @@ sub_80886D4: @ 80886D4 bl ResetPaletteFade bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop pop {r0} bx r0 thumb_func_end sub_80886D4 diff --git a/asm/overworld.s b/asm/overworld.s index 679203034..e44855b46 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -3117,8 +3117,8 @@ sub_80562B0: @ 80562B0 ldr r1, [r5] movs r0, 0x3 bl SetBgTilemapBuffer - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 bl sub_8069348 pop {r3} mov r8, r3 @@ -3181,8 +3181,8 @@ sub_8056354: @ 8056354 ldr r1, [r5] movs r0, 0x3 bl SetBgTilemapBuffer - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 bl sub_8069348 pop {r3} mov r8, r3 @@ -3933,7 +3933,7 @@ VBlankCB_Field: @ 8056A14 push {lr} bl LoadOam bl ProcessSpriteCopyRequests - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer bl FieldUpdateBgTilemapScroll bl TransferPlttBuffer bl TransferTilesetAnimsBuffer @@ -3954,7 +3954,7 @@ sub_8056A34: @ 8056A34 ldr r0, [r2] ldr r1, [r2, 0x4] ldr r2, [r2, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams _08056A52: pop {r0} bx r0 @@ -4451,7 +4451,7 @@ sub_8056E80: @ 8056E80 movs r0, 0 movs r1, 0 bl SetGpuReg - bl remove_some_task + bl ScanlineEffect_Stop ldr r2, _08056EF8 @ =0x05000002 mov r1, sp movs r0, 0 @@ -4630,7 +4630,7 @@ sub_8057024: @ 8057024 bl ResetTasks bl ResetSpriteData bl ResetPaletteFade - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl dp13_810BB8C bl ResetCameraUpdateInfo bl InstallCameraPanAheadCallback @@ -5395,7 +5395,7 @@ _08057690: bl sub_8055920 b _0805772A _0805769C: - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl dp13_810BB8C bl ResetCameraUpdateInfo bl InstallCameraPanAheadCallback diff --git a/asm/party_menu.s b/asm/party_menu.s index c0e4a79f4..d716165ac 100644 --- a/asm/party_menu.s +++ b/asm/party_menu.s @@ -281,7 +281,7 @@ _0811EC80: bl clear_scheduled_bg_copies_to_vram b _0811EDFC _0811EC8E: - bl remove_some_task + bl ScanlineEffect_Stop b _0811EDFC _0811EC94: bl ResetPaletteFade @@ -420,7 +420,7 @@ _0811ED96: _0811EDA8: .4byte gUnknown_203B09C _0811EDAC: movs r0, 0x5 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _0811EDFC _0811EDB4: ldr r4, _0811EDCC @ =gUnknown_203B09C @@ -4879,12 +4879,12 @@ sub_8120FB0: @ 8120FB0 bl FreeRestoreBattleData bl LoadPlayerParty bl sub_815AC20 - ldr r0, _08120FC8 @ =sub_815ABFC + ldr r0, _08120FC8 @ =CB2_ReturnToTeachyTV bl SetMainCallback2 pop {r0} bx r0 .align 2, 0 -_08120FC8: .4byte sub_815ABFC +_08120FC8: .4byte CB2_ReturnToTeachyTV thumb_func_end sub_8120FB0 thumb_func_start sub_8120FCC @@ -5149,7 +5149,7 @@ _081211E4: .4byte gUnknown_203B0A0 _081211E8: .4byte gFameCheckerText_Cancel _081211EC: .4byte gUnknown_8459FFC _081211F0: - ldr r4, _08121240 @ =gUnknown_84161C8 + ldr r4, _08121240 @ =gOtherText_Exit movs r0, 0 adds r1, r4, 0 movs r2, 0 @@ -5187,7 +5187,7 @@ _08121238: pop {r0} bx r0 .align 2, 0 -_08121240: .4byte gUnknown_84161C8 +_08121240: .4byte gOtherText_Exit _08121244: .4byte gUnknown_8459FFC thumb_func_end sub_81210F8 @@ -6888,7 +6888,7 @@ sub_8121FC0: @ 8121FC0 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -6990,7 +6990,7 @@ sub_8122084: @ 8122084 movs r1, 0x1 orrs r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -12606,7 +12606,7 @@ sub_8124DA0: @ 8124DA0 movs r0, 0x5 movs r1, 0 movs r2, 0xFF - bl sub_81317F8 + bl InitTMCase pop {r0} bx r0 thumb_func_end sub_8124DA0 @@ -13684,7 +13684,7 @@ _08125680: mov r1, r8 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x2 bl schedule_bg_copy_tilemap_to_vram add sp, 0x10 diff --git a/asm/player_pc.s b/asm/player_pc.s index 4fea7bea1..f847db1e6 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -187,7 +187,7 @@ _080EB77E: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EB814 @ =gTasks @@ -361,11 +361,11 @@ _080EB940: cmp r0, 0 bne _080EB95C movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EB962 _080EB95C: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EB962: ldr r0, _080EB990 @ =gUnknown_203AAC4 ldrb r0, [r0, 0x5] @@ -376,7 +376,7 @@ _080EB962: bne _080EB99C movs r0, 0 movs r1, 0 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r5, 0 bl sub_80EBEB0 ldr r0, _080EB994 @ =gTasks @@ -449,14 +449,14 @@ sub_80EB9E8: @ 80EB9E8 cmp r0, 0 bne _080EBA18 movs r0, 0x21 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EBA1E .align 2, 0 _080EBA10: .4byte gTasks+0x8 _080EBA14: .4byte gUnknown_203AAC4 _080EBA18: movs r0, 0x1D - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EBA1E: ldr r0, _080EBA80 @ =gUnknown_8402258 bl AddWindow @@ -488,7 +488,7 @@ _080EBA1E: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EBA88 @ =gUnknown_84021DC @@ -513,7 +513,7 @@ sub_80EBA8C: @ 80EBA8C adds r4, r0, 0 movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame movs r0, 0x1 str r0, [sp] movs r0, 0 @@ -702,7 +702,7 @@ sub_80EBC0C: @ 80EBC0C bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _080EBC34 @ =sub_80EBBDC movs r1, 0 bl CreateTask @@ -777,7 +777,7 @@ sub_80EBCAC: @ 80EBCAC bl sub_80F6E9C movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r0, _080EBCD4 @ =sub_80EBBDC movs r1, 0 bl CreateTask @@ -1174,7 +1174,7 @@ _080EBFB6: ldrb r0, [r4, 0x16] adds r1, r7, 0 mov r2, r8 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram mov r1, r8 @@ -1288,7 +1288,7 @@ sub_80EC094: @ 80EC094 ldrb r0, [r4, 0x16] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu movs r0, 0 bl schedule_bg_copy_tilemap_to_vram bl sub_810EDB0 @@ -1341,7 +1341,7 @@ sub_80EC0D8: @ 80EC0D8 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r1, _080EC154 @ =gTasks @@ -1503,13 +1503,13 @@ sub_80EC260: @ 80EC260 cmp r0, 0 bne _080EC278 movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EC27E .align 2, 0 _080EC274: .4byte gUnknown_203AAC4 _080EC278: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EC27E: bl sub_80F6E9C ldr r0, _080EC2A8 @ =sub_80EC230 @@ -1773,13 +1773,13 @@ sub_80EC474: @ 80EC474 cmp r0, 0 bne _080EC48C movs r0, 0x22 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080EC492 .align 2, 0 _080EC488: .4byte gUnknown_203AAC4 _080EC48C: movs r0, 0x1E - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080EC492: ldr r0, _080EC4E8 @ =sub_80EC230 movs r1, 0 @@ -1852,14 +1852,14 @@ sub_80EC520: @ 80EC520 push {lr} lsls r0, 24 lsrs r0, 24 - ldr r2, _080EC534 @ =gUnknown_841632A + ldr r2, _080EC534 @ =gText_ThereIsNoPokemon ldr r3, _080EC538 @ =sub_80EC574 movs r1, 0x2 bl DisplayItemMessageOnField pop {r0} bx r0 .align 2, 0 -_080EC534: .4byte gUnknown_841632A +_080EC534: .4byte gText_ThereIsNoPokemon _080EC538: .4byte sub_80EC574 thumb_func_end sub_80EC520 @@ -1871,7 +1871,7 @@ sub_80EC53C: @ 80EC53C lsrs r4, 24 movs r0, 0 movs r1, 0 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r4, 0 bl sub_80EBEB0 movs r0, 0 diff --git a/asm/pokeball.s b/asm/pokeball.s index 11572c80f..58c9ac77c 100644 --- a/asm/pokeball.s +++ b/asm/pokeball.s @@ -2276,7 +2276,7 @@ _0804BB22: ldrsh r0, [r4, r7] cmp r0, 0x7F bgt _0804BB64 - ldr r1, _0804BB60 @ =gUnknown_825E074 + ldr r1, _0804BB60 @ =gSineTable lsls r0, r2, 24 lsrs r0, 23 adds r0, r1 @@ -2297,7 +2297,7 @@ _0804BB48: b _0804BB72 .align 2, 0 _0804BB5C: .4byte gSprites -_0804BB60: .4byte gUnknown_825E074 +_0804BB60: .4byte gSineTable _0804BB64: ldrh r0, [r4, 0x38] strh r0, [r5, 0x20] diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index 3d3ca02ea..68b30e43b 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -58,7 +58,7 @@ sub_810250C: @ 810250C bl ResetPaletteFade bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop movs r0, 0x1 bl ResetBgsAndClearDma3BusyFlags ldr r1, _08102598 @ =gUnknown_8451EBC @@ -309,7 +309,7 @@ sub_810275C: @ 810275C ldr r0, _08102794 @ =sub_81024D4 bl SetMainCallback2 movs r0, 0x4 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 @@ -754,7 +754,7 @@ _08102B24: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x20 str r0, [sp] movs r0, 0x14 @@ -804,7 +804,7 @@ _08102B94: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x1 bl HideBg ldr r0, [r4] @@ -832,7 +832,7 @@ _08102BD8: adds r1, r2, 0 adds r1, 0x12 adds r2, 0x10 - bl sub_810713C + bl DestroyListMenu movs r0, 0x1 bl HideBg ldr r0, [r4] @@ -2467,7 +2467,7 @@ _0810399C: adds r1, r2, 0 adds r1, 0x36 adds r2, 0x34 - bl sub_810713C + bl DestroyListMenu b _081039E8 .align 2, 0 _081039B4: .4byte gUnknown_203ACF0 @@ -2480,7 +2480,7 @@ _081039B8: adds r1, r2, 0 adds r1, 0x3A adds r2, 0x38 - bl sub_810713C + bl DestroyListMenu b _081039E8 .align 2, 0 _081039D0: .4byte gUnknown_203ACF0 @@ -2493,7 +2493,7 @@ _081039D4: adds r1, r2, 0 adds r1, 0x3E adds r2, 0x3C - bl sub_810713C + bl DestroyListMenu _081039E8: pop {r0} bx r0 @@ -2572,7 +2572,7 @@ sub_8103A40: @ 8103A40 movs r1, 0 movs r2, 0x28 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon ldr r0, _08103AC4 @ =gBaseStats lsls r4, r5, 3 subs r4, r5 @@ -2587,7 +2587,7 @@ sub_8103A40: @ 8103A40 lsrs r1, 24 movs r2, 0x78 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon ldrb r1, [r4, 0x7] cmp r5, r1 beq _08103AB6 @@ -2599,7 +2599,7 @@ sub_8103A40: @ 8103A40 lsrs r1, 24 movs r2, 0x98 adds r3, r6, 0 - bl sub_8107D68 + bl blit_move_info_icon _08103AB6: add sp, 0x4 pop {r4-r7} @@ -7753,7 +7753,7 @@ _08106478: lsrs r1, 24 movs r2, 0 movs r3, 0x1 - bl sub_8107D68 + bl blit_move_info_icon ldrb r1, [r4, 0x7] cmp r5, r1 beq _08106504 @@ -7765,7 +7765,7 @@ _08106478: lsrs r1, 24 movs r2, 0x20 movs r3, 0x1 - bl sub_8107D68 + bl blit_move_info_icon _08106504: ldr r7, _081066B8 @ =gUnknown_203ACF0 ldr r0, [r7] diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s index 0d4ee1bcb..416c996bb 100644 --- a/asm/pokemon_3.s +++ b/asm/pokemon_3.s @@ -785,8 +785,8 @@ _08044AE8: .4byte gUnknown_825E05C _08044AEC: .4byte gUnknown_82349BC thumb_func_end sub_8044A40 - thumb_func_start sub_8044AF0 -sub_8044AF0: @ 8044AF0 + thumb_func_start SetUpMonSpriteManagerMaybe +SetUpMonSpriteManagerMaybe: @ 8044AF0 push {r4-r7,lr} mov r7, r8 push {r7} @@ -1124,7 +1124,7 @@ _08044D70: bx r1 .align 2, 0 _08044D7C: .4byte gUnknown_20244F4 - thumb_func_end sub_8044AF0 + thumb_func_end SetUpMonSpriteManagerMaybe thumb_func_start sub_8044D80 sub_8044D80: @ 8044D80 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index fa72d3c8e..33f64b00b 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -1727,7 +1727,7 @@ sub_811D2EC: @ 811D2EC lsrs r7, r0, 16 movs r0, 0 mov r8, r0 - bl sub_80F78A8 + bl GetTextSpeedSetting lsls r0, 24 lsrs r0, 24 mov r9, r0 @@ -3400,7 +3400,7 @@ sub_811DFC0: @ 811DFC0 strh r0, [r3, 0x4] movs r5, 0x4 ldrsh r1, [r3, r5] - ldr r2, _0811E018 @ =gUnknown_825E074 + ldr r2, _0811E018 @ =gSineTable movs r5, 0x2 ldrsh r0, [r3, r5] adds r0, 0x40 @@ -3424,7 +3424,7 @@ sub_811DFC0: @ 811DFC0 strh r0, [r4, 0x26] b _0811E036 .align 2, 0 -_0811E018: .4byte gUnknown_825E074 +_0811E018: .4byte gSineTable _0811E01C: ldr r2, _0811E03C @ =gTasks movs r5, 0xE @@ -3958,7 +3958,7 @@ _0811E3E0: lsls r0, 16 lsrs r0, 16 adds r0, 0x46 - ldr r3, _0811E4BC @ =gUnknown_825E074 + ldr r3, _0811E4BC @ =gSineTable movs r4, 0xA ldrsh r2, [r5, r4] adds r1, r2, 0 @@ -4035,7 +4035,7 @@ _0811E4A4: strh r0, [r5] b _0811E4DC .align 2, 0 -_0811E4BC: .4byte gUnknown_825E074 +_0811E4BC: .4byte gSineTable _0811E4C0: .4byte gUnknown_8459B30 _0811E4C4: .4byte gSprites _0811E4C8: diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index c40afefde..826e2f9e4 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1412,7 +1412,7 @@ _0808C3CC: .4byte _0808C680 _0808C3E0: movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldrb r0, [r5, 0xA] adds r1, r5, 0 adds r1, 0x26 @@ -1420,7 +1420,7 @@ _0808C3E0: bl sub_80F6E9C movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer @@ -1557,12 +1557,12 @@ _0808C508: .4byte gUnknown_83CDA20 _0808C50C: movs r0, 0 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrh r0, [r5, 0x26] lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl ScriptContext2_Disable bl EnableBothScriptContexts adds r0, r4, 0 @@ -1833,7 +1833,7 @@ sub_808C72C: @ 808C72C lsrs r4, 24 adds r0, r4, 0 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame movs r0, 0x2 movs r1, 0 bl GetMenuCursorDimensionByFont @@ -1861,7 +1861,7 @@ sub_808C72C: @ 808C72C movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow mov r0, r10 strh r5, [r0] add sp, 0xC @@ -2716,7 +2716,7 @@ _0808CE18: ldr r1, [r4] strb r0, [r1, 0x4] movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl StorageGetCurrentBox ldr r1, _0808CE58 @ =gUnknown_20397B8 strb r0, [r1] @@ -2767,7 +2767,7 @@ _0808CE8C: ldr r1, [r4] strb r0, [r1, 0x4] movs r0, 0x1C - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0808CEC4 @ =c2_Box bl SetMainCallback2 _0808CEB6: @@ -10686,7 +10686,7 @@ _08090EC6: ldr r0, [r4] ldr r0, [r0] mov r8, r0 - ldr r5, _08090FB8 @ =gUnknown_825E074 + ldr r5, _08090FB8 @ =gSineTable mov r0, r9 adds r1, r3, r0 ldrb r0, [r1] @@ -10803,7 +10803,7 @@ _08090FA0: _08090FAC: .4byte 0x00000c59 _08090FB0: .4byte 0x00000afc _08090FB4: .4byte 0x00000a68 -_08090FB8: .4byte gUnknown_825E074 +_08090FB8: .4byte gSineTable _08090FBC: .4byte sub_80911B0 _08090FC0: .4byte SpriteCallbackDummy thumb_func_end sub_8090E74 @@ -18961,7 +18961,7 @@ sub_8094E88: @ 8094E88 movs r1, 0x1 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldr r0, [r5] @@ -22569,7 +22569,7 @@ _08096AA2: lsls r0, 16 asrs r0, 20 strh r0, [r4, 0x22] - ldr r1, _08096B08 @ =gUnknown_825E074 + ldr r1, _08096B08 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] lsls r0, 4 @@ -22605,7 +22605,7 @@ _08096B00: pop {r0} bx r0 .align 2, 0 -_08096B08: .4byte gUnknown_825E074 +_08096B08: .4byte gSineTable _08096B0C: .4byte sub_80969BC thumb_func_end sub_8096A74 @@ -22650,7 +22650,7 @@ _08096B3E: lsls r1, 16 asrs r1, 20 strh r1, [r4, 0x22] - ldr r1, _08096BA4 @ =gUnknown_825E074 + ldr r1, _08096BA4 @ =gSineTable movs r2, 0x38 ldrsh r0, [r4, r2] lsls r0, 4 @@ -22687,7 +22687,7 @@ _08096B9E: pop {r0} bx r0 .align 2, 0 -_08096BA4: .4byte gUnknown_825E074 +_08096BA4: .4byte gSineTable _08096BA8: .4byte SpriteCallbackDummy thumb_func_end sub_8096B10 diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 65fc2cb45..1688f2ed5 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -107,7 +107,7 @@ _081345D0: beq _08134604 _081345D4: movs r0, 0x6 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r2, _081345F8 @ =gUnknown_203B140 ldr r0, [r2] ldr r3, _081345FC @ =0x00003214 @@ -128,7 +128,7 @@ _081345FC: .4byte 0x00003214 _08134600: .4byte 0x00003234 _08134604: movs r0, 0x6 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, [r4] ldr r3, _08134628 @ =0x00003214 adds r0, r3 @@ -149,7 +149,7 @@ _0813462C: .4byte 0x0000321c _08134630: .4byte 0x00003234 _08134634: movs r0, 0x8 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, [r4] ldr r3, _08134710 @ =0x00003214 adds r0, r3 @@ -4180,7 +4180,7 @@ _08136812: adds r1, r4, r3 ldr r0, [r6] adds r0, r1 - ldr r5, _081368A4 @ =gUnknown_8416213 + ldr r5, _081368A4 @ =gText_ThreeHyphens adds r1, r5, 0 bl StringCopy ldr r0, _081368A8 @ =0x00003188 @@ -4209,7 +4209,7 @@ _08136894: .4byte gUnknown_841620E _08136898: .4byte 0x000030b8 _0813689C: .4byte gUnknown_8416210 _081368A0: .4byte 0x0000316c -_081368A4: .4byte gUnknown_8416213 +_081368A4: .4byte gText_ThreeHyphens _081368A8: .4byte 0x00003188 _081368AC: .4byte gUnknown_203B144 _081368B0: @@ -4399,7 +4399,7 @@ _081369D0: ldr r1, _08136A68 @ =0x0000316c adds r0, r1 adds r0, r6, r0 - ldr r1, _08136A6C @ =gUnknown_8416213 + ldr r1, _08136A6C @ =gText_ThreeHyphens bl StringCopy b _08136A84 .align 2, 0 @@ -4411,7 +4411,7 @@ _08136A5C: .4byte 0x00003258 _08136A60: .4byte gUnknown_203B144 _08136A64: .4byte gBattleMoves _08136A68: .4byte 0x0000316c -_08136A6C: .4byte gUnknown_8416213 +_08136A6C: .4byte gText_ThreeHyphens _08136A70: lsls r4, r7, 2 adds r0, r4, r7 @@ -4441,7 +4441,7 @@ _08136A84: ldr r2, _08136AC0 @ =0x00003188 adds r0, r2 adds r0, r3, r0 - ldr r1, _08136AC4 @ =gUnknown_8416213 + ldr r1, _08136AC4 @ =gText_ThreeHyphens bl StringCopy b _08136ADA .align 2, 0 @@ -4450,7 +4450,7 @@ _08136AB4: .4byte gBattleMoves _08136AB8: .4byte gUnknown_203B140 _08136ABC: .4byte 0x00003258 _08136AC0: .4byte 0x00003188 -_08136AC4: .4byte gUnknown_8416213 +_08136AC4: .4byte gText_ThreeHyphens _08136AC8: adds r0, r4, r7 ldr r4, _08136AE8 @ =0x00003188 @@ -4567,7 +4567,7 @@ sub_8136BAC: @ 8136BAC bl ResetSpriteData bl ResetPaletteFade bl FreeAllSpritePalettes - bl remove_some_task + bl ScanlineEffect_Stop pop {r0} bx r0 thumb_func_end sub_8136BAC @@ -6636,7 +6636,7 @@ _08137CA4: adds r3, r2 lsrs r3, 16 movs r2, 0x3 - bl sub_8107D68 + bl blit_move_info_icon _08137CDE: adds r0, r4, 0x1 lsls r0, 24 @@ -6660,7 +6660,7 @@ _08137CDE: lsrs r1, 24 movs r2, 0x3 movs r3, 0x75 - bl sub_8107D68 + bl blit_move_info_icon _08137D0E: pop {r4,r5} pop {r0} @@ -7608,7 +7608,7 @@ _0813846C: _08138470: movs r0, 0x7 _08138472: - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _08138476: pop {r0} bx r0 @@ -8325,7 +8325,7 @@ _08138A62: lsrs r1, 24 movs r2, 0x2F movs r3, 0x23 - bl sub_8107D68 + bl blit_move_info_icon ldr r1, [r6] adds r4, r1, r4 ldr r3, _08138AB8 @ =0x00003221 @@ -8342,7 +8342,7 @@ _08138A62: lsrs r1, 24 movs r2, 0x53 movs r3, 0x23 - bl sub_8107D68 + bl blit_move_info_icon b _08138B0E .align 2, 0 _08138AB0: .4byte 0x00003003 @@ -8365,7 +8365,7 @@ _08138ABC: lsrs r1, 24 movs r2, 0 movs r3, 0x3 - bl sub_8107D68 + bl blit_move_info_icon ldr r2, [r6] adds r4, r2, r4 ldr r1, _08138B1C @ =0x00003221 @@ -8381,7 +8381,7 @@ _08138ABC: lsrs r1, 24 movs r2, 0x24 movs r3, 0x3 - bl sub_8107D68 + bl blit_move_info_icon _08138B04: ldr r0, [r6] adds r0, r5 diff --git a/asm/region_map.s b/asm/region_map.s index 168ca47c3..1072e3068 100644 --- a/asm/region_map.s +++ b/asm/region_map.s @@ -1487,7 +1487,7 @@ sub_80C0A6C: @ 80C0A6C bl ResetPaletteFade bl FreeAllSpritePalettes bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop pop {r0} bx r0 thumb_func_end sub_80C0A6C diff --git a/asm/reshow_battle_screen.s b/asm/reshow_battle_screen.s index 6fb09f439..d88ecf578 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -45,7 +45,7 @@ sub_8077764: @ 8077764 cmp r1, 0 beq _080777BC movs r0, 0x19 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA .align 2, 0 _080777B0: .4byte gPaletteFade @@ -53,7 +53,7 @@ _080777B4: .4byte gBattleScripting _080777B8: .4byte gBattleTypeFlags _080777BC: movs r0, 0x18 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA _080777C4: movs r0, 0x80 @@ -61,11 +61,11 @@ _080777C4: cmp r1, 0 beq _080777D4 movs r0, 0x1A - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 b _080777DA _080777D4: movs r0, 0x17 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 _080777DA: ldr r0, _080777E4 @ =sub_80777E8 bl SetMainCallback2 @@ -123,7 +123,7 @@ _08077860: _08077866: movs r0, 0 bl SetVBlankCallback - bl dp12_8087EA4 + bl ScanlineEffect_Clear bl sub_800F324 movs r0, 0x1 movs r1, 0x1 @@ -142,33 +142,33 @@ _08077866: movs r0, 0x3 bl ShowBg bl ResetPaletteFade - ldr r0, _080778C8 @ =gUnknown_2022974 + ldr r0, _080778C8 @ =gBattle_BG0_X movs r1, 0 strh r1, [r0] - ldr r0, _080778CC @ =gUnknown_2022976 + ldr r0, _080778CC @ =gBattle_BG0_Y strh r1, [r0] - ldr r0, _080778D0 @ =gUnknown_2022978 + ldr r0, _080778D0 @ =gBattle_BG1_X strh r1, [r0] - ldr r0, _080778D4 @ =gUnknown_202297A + ldr r0, _080778D4 @ =gBattle_BG1_Y strh r1, [r0] - ldr r0, _080778D8 @ =gUnknown_202297C + ldr r0, _080778D8 @ =gBattle_BG2_X strh r1, [r0] - ldr r0, _080778DC @ =gUnknown_202297E + ldr r0, _080778DC @ =gBattle_BG2_Y strh r1, [r0] - ldr r0, _080778E0 @ =gUnknown_2022980 + ldr r0, _080778E0 @ =gBattle_BG3_X strh r1, [r0] - ldr r0, _080778E4 @ =gUnknown_2022982 + ldr r0, _080778E4 @ =gBattle_BG3_Y strh r1, [r0] b _08077A8A .align 2, 0 -_080778C8: .4byte gUnknown_2022974 -_080778CC: .4byte gUnknown_2022976 -_080778D0: .4byte gUnknown_2022978 -_080778D4: .4byte gUnknown_202297A -_080778D8: .4byte gUnknown_202297C -_080778DC: .4byte gUnknown_202297E -_080778E0: .4byte gUnknown_2022980 -_080778E4: .4byte gUnknown_2022982 +_080778C8: .4byte gBattle_BG0_X +_080778CC: .4byte gBattle_BG0_Y +_080778D0: .4byte gBattle_BG1_X +_080778D4: .4byte gBattle_BG1_Y +_080778D8: .4byte gBattle_BG2_X +_080778DC: .4byte gBattle_BG2_Y +_080778E0: .4byte gBattle_BG3_X +_080778E4: .4byte gBattle_BG3_Y _080778E8: movs r0, 0 str r0, [sp, 0x4] diff --git a/asm/roamer.s b/asm/roamer.s deleted file mode 100644 index d42b34293..000000000 --- a/asm/roamer.s +++ /dev/null @@ -1,531 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_8141C54 -sub_8141C54: @ 8141C54 - push {lr} - ldr r0, _08141C84 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141C88 @ =0x000030d0 - adds r0, r1 - movs r1, 0 - movs r2, 0x1C - bl memset - ldr r1, _08141C8C @ =gUnknown_203F3AE - movs r0, 0 - strb r0, [r1] - strb r0, [r1, 0x1] - movs r1, 0 - movs r2, 0 - ldr r0, _08141C90 @ =gUnknown_203F3A8 -_08141C74: - strb r2, [r0] - strb r2, [r0, 0x1] - adds r0, 0x2 - adds r1, 0x1 - cmp r1, 0x2 - bls _08141C74 - pop {r0} - bx r0 - .align 2, 0 -_08141C84: .4byte gSaveBlock1Ptr -_08141C88: .4byte 0x000030d0 -_08141C8C: .4byte gUnknown_203F3AE -_08141C90: .4byte gUnknown_203F3A8 - thumb_func_end sub_8141C54 - - thumb_func_start sub_8141C94 -sub_8141C94: @ 8141C94 - push {r4-r7,lr} - sub sp, 0x10 - ldr r7, _08141CB0 @ =gEnemyParty - bl sub_80CBDB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - beq _08141CB4 - cmp r0, 0x4 - beq _08141CB8 - movs r6, 0xF3 - b _08141CBA - .align 2, 0 -_08141CB0: .4byte gEnemyParty -_08141CB4: - movs r6, 0xF4 - b _08141CBA -_08141CB8: - movs r6, 0xF5 -_08141CBA: - movs r0, 0 - str r0, [sp] - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0x32 - movs r3, 0x20 - bl CreateMon - ldr r5, _08141D8C @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r4, _08141D90 @ =0x000030d0 - adds r1, r4 - movs r2, 0 - strh r6, [r1, 0x8] - movs r0, 0x32 - strb r0, [r1, 0xC] - ldr r0, [r5] - adds r0, r4 - strb r2, [r0, 0xD] - ldr r0, [r5] - adds r0, r4 - movs r1, 0x1 - strb r1, [r0, 0x13] - adds r0, r7, 0 - movs r1, 0x42 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - str r0, [r1] - adds r0, r7, 0 - movs r1, 0 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - str r0, [r1, 0x4] - adds r0, r7, 0 - movs r1, 0x3A - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strh r0, [r1, 0xA] - adds r0, r7, 0 - movs r1, 0x16 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xE] - adds r0, r7, 0 - movs r1, 0x17 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xF] - adds r0, r7, 0 - movs r1, 0x18 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x10] - adds r0, r7, 0 - movs r1, 0x21 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x11] - adds r0, r7, 0 - movs r1, 0x2F - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0x12] - ldr r5, _08141D94 @ =gUnknown_203F3AE - movs r0, 0x3 - strb r0, [r5] - bl Random - ldr r4, _08141D98 @ =gUnknown_8466C58 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - adds r1, r4 - ldrb r0, [r1] - strb r0, [r5, 0x1] - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141D8C: .4byte gSaveBlock1Ptr -_08141D90: .4byte 0x000030d0 -_08141D94: .4byte gUnknown_203F3AE -_08141D98: .4byte gUnknown_8466C58 - thumb_func_end sub_8141C94 - - thumb_func_start sub_8141D9C -sub_8141D9C: @ 8141D9C - push {lr} - bl sub_8141C54 - bl sub_8141C94 - pop {r0} - bx r0 - thumb_func_end sub_8141D9C - - thumb_func_start UpdateLocationHistoryForRoamer -UpdateLocationHistoryForRoamer: @ 8141DAC - ldr r0, _08141DCC @ =gUnknown_203F3A8 - ldrb r1, [r0, 0x2] - strb r1, [r0, 0x4] - ldrb r1, [r0, 0x3] - strb r1, [r0, 0x5] - ldrb r1, [r0] - strb r1, [r0, 0x2] - ldrb r1, [r0, 0x1] - strb r1, [r0, 0x3] - ldr r1, _08141DD0 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x4] - strb r1, [r0] - ldrb r1, [r2, 0x5] - strb r1, [r0, 0x1] - bx lr - .align 2, 0 -_08141DCC: .4byte gUnknown_203F3A8 -_08141DD0: .4byte gSaveBlock1Ptr - thumb_func_end UpdateLocationHistoryForRoamer - - thumb_func_start RoamerMoveToOtherLocationSet -RoamerMoveToOtherLocationSet: @ 8141DD4 - push {r4,r5,lr} - ldr r0, _08141E18 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141E1C @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141E10 - ldr r1, _08141E20 @ =gUnknown_203F3AE - movs r0, 0x3 - strb r0, [r1] - ldr r5, _08141E24 @ =gUnknown_8466C58 - adds r4, r1, 0 -_08141DEE: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x19 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - adds r1, r5 - ldrb r1, [r1] - ldrb r0, [r4, 0x1] - cmp r0, r1 - beq _08141DEE - strb r1, [r4, 0x1] -_08141E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141E18: .4byte gSaveBlock1Ptr -_08141E1C: .4byte 0x000030d0 -_08141E20: .4byte gUnknown_203F3AE -_08141E24: .4byte gUnknown_8466C58 - thumb_func_end RoamerMoveToOtherLocationSet - - thumb_func_start RoamerMove -RoamerMove: @ 8141E28 - push {r4-r7,lr} - movs r4, 0 - bl Random - lsls r0, 16 - movs r1, 0xF0 - lsls r1, 12 - ands r1, r0 - cmp r1, 0 - bne _08141E42 - bl RoamerMoveToOtherLocationSet - b _08141EB2 -_08141E42: - ldr r0, _08141E94 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08141E98 @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141EB2 - ldr r7, _08141E9C @ =gUnknown_203F3AE -_08141E52: - ldr r3, _08141EA0 @ =gUnknown_8466C58 - lsls r0, r4, 3 - subs r2, r0, r4 - adds r1, r2, r3 - ldrb r0, [r7, 0x1] - ldrb r1, [r1] - cmp r0, r1 - bne _08141EA8 - adds r6, r3, 0 - adds r5, r2, 0x1 - ldr r4, _08141EA4 @ =gUnknown_203F3A8 -_08141E68: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - adds r0, r5 - adds r0, r6 - ldrb r1, [r0] - ldrb r0, [r4, 0x4] - cmp r0, 0x3 - bne _08141E8C - ldrb r0, [r4, 0x5] - cmp r0, r1 - beq _08141E68 -_08141E8C: - cmp r1, 0xFF - beq _08141E68 - strb r1, [r7, 0x1] - b _08141EB2 - .align 2, 0 -_08141E94: .4byte gSaveBlock1Ptr -_08141E98: .4byte 0x000030d0 -_08141E9C: .4byte gUnknown_203F3AE -_08141EA0: .4byte gUnknown_8466C58 -_08141EA4: .4byte gUnknown_203F3A8 -_08141EA8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x18 - bls _08141E52 -_08141EB2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end RoamerMove - - thumb_func_start IsRoamerAt -IsRoamerAt: @ 8141EB8 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _08141EE4 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _08141EE8 @ =0x000030d0 - adds r0, r3 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08141EF0 - ldr r0, _08141EEC @ =gUnknown_203F3AE - ldrb r3, [r0] - cmp r2, r3 - bne _08141EF0 - ldrb r0, [r0, 0x1] - cmp r1, r0 - bne _08141EF0 - movs r0, 0x1 - b _08141EF2 - .align 2, 0 -_08141EE4: .4byte gSaveBlock1Ptr -_08141EE8: .4byte 0x000030d0 -_08141EEC: .4byte gUnknown_203F3AE -_08141EF0: - movs r0, 0 -_08141EF2: - pop {r1} - bx r1 - thumb_func_end IsRoamerAt - - thumb_func_start CreateRoamerMonInstance -CreateRoamerMonInstance: @ 8141EF8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08141F84 @ =gEnemyParty - bl ZeroEnemyPartyMons - ldr r4, _08141F88 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r1, _08141F8C @ =0x000030d0 - adds r0, r1 - ldrh r1, [r0, 0x8] - ldrb r2, [r0, 0xC] - ldr r3, [r0] - ldr r0, [r0, 0x4] - str r0, [sp] - adds r0, r5, 0 - bl CreateMonWithIVsPersonality - ldr r2, [r4] - ldr r0, _08141F90 @ =0x000030dd - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x37 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141F94 @ =0x000030da - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x39 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141F98 @ =0x000030de - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x16 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141F9C @ =0x000030df - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x17 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141FA0 @ =0x000030e0 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x18 - bl SetMonData - ldr r2, [r4] - ldr r1, _08141FA4 @ =0x000030e1 - adds r2, r1 - adds r0, r5, 0 - movs r1, 0x21 - bl SetMonData - ldr r2, [r4] - ldr r0, _08141FA8 @ =0x000030e2 - adds r2, r0 - adds r0, r5, 0 - movs r1, 0x2F - bl SetMonData - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141F84: .4byte gEnemyParty -_08141F88: .4byte gSaveBlock1Ptr -_08141F8C: .4byte 0x000030d0 -_08141F90: .4byte 0x000030dd -_08141F94: .4byte 0x000030da -_08141F98: .4byte 0x000030de -_08141F9C: .4byte 0x000030df -_08141FA0: .4byte 0x000030e0 -_08141FA4: .4byte 0x000030e1 -_08141FA8: .4byte 0x000030e2 - thumb_func_end CreateRoamerMonInstance - - thumb_func_start TryStartRoamerEncounter -TryStartRoamerEncounter: @ 8141FAC - push {lr} - ldr r0, _08141FDC @ =gSaveBlock1Ptr - ldr r1, [r0] - ldrb r0, [r1, 0x4] - ldrb r1, [r1, 0x5] - bl IsRoamerAt - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08141FE0 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - bne _08141FE0 - bl CreateRoamerMonInstance - movs r0, 0x1 - b _08141FE2 - .align 2, 0 -_08141FDC: .4byte gSaveBlock1Ptr -_08141FE0: - movs r0, 0 -_08141FE2: - pop {r1} - bx r1 - thumb_func_end TryStartRoamerEncounter - - thumb_func_start UpdateRoamerHPStatus -UpdateRoamerHPStatus: @ 8141FE8 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x39 - bl GetMonData - ldr r5, _08142014 @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r4, _08142018 @ =0x000030d0 - adds r1, r4 - strh r0, [r1, 0xA] - adds r0, r6, 0 - movs r1, 0x37 - bl GetMonData - ldr r1, [r5] - adds r1, r4 - strb r0, [r1, 0xD] - bl RoamerMoveToOtherLocationSet - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08142014: .4byte gSaveBlock1Ptr -_08142018: .4byte 0x000030d0 - thumb_func_end UpdateRoamerHPStatus - - thumb_func_start SetRoamerInactive -SetRoamerInactive: @ 814201C - ldr r0, _0814202C @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08142030 @ =0x000030d0 - adds r0, r1 - movs r1, 0 - strb r1, [r0, 0x13] - bx lr - .align 2, 0 -_0814202C: .4byte gSaveBlock1Ptr -_08142030: .4byte 0x000030d0 - thumb_func_end SetRoamerInactive - - thumb_func_start GetRoamerLocation -GetRoamerLocation: @ 8142034 - ldr r3, _08142040 @ =gUnknown_203F3AE - ldrb r2, [r3] - strb r2, [r0] - ldrb r0, [r3, 0x1] - strb r0, [r1] - bx lr - .align 2, 0 -_08142040: .4byte gUnknown_203F3AE - thumb_func_end GetRoamerLocation - - thumb_func_start sub_8142044 -sub_8142044: @ 8142044 - push {lr} - ldr r0, _08142064 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08142068 @ =0x000030d0 - adds r0, r1 - ldrb r0, [r0, 0x13] - cmp r0, 0 - beq _08142070 - ldr r1, _0814206C @ =gUnknown_203F3AE - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - bl get_mapheader_by_bank_and_number - ldrb r0, [r0, 0x14] - b _08142072 - .align 2, 0 -_08142064: .4byte gSaveBlock1Ptr -_08142068: .4byte 0x000030d0 -_0814206C: .4byte gUnknown_203F3AE -_08142070: - movs r0, 0xC5 -_08142072: - pop {r1} - bx r1 - thumb_func_end sub_8142044 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_menu.s b/asm/script_menu.s index 438f715fa..eaf874aea 100644 --- a/asm/script_menu.s +++ b/asm/script_menu.s @@ -301,7 +301,7 @@ _0809CB7A: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldr r0, [sp, 0x18] adds r1, r7, 0 adds r2, r5, 0 @@ -1138,7 +1138,7 @@ _0809D1FA: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 mov r1, r9 adds r2, r6, 0 @@ -1925,7 +1925,7 @@ _0809D844: bl AddTextPrinterParameterized adds r0, r6, 0x1 lsls r0, 24 - ldr r2, _0809D8BC @ =gUnknown_84161C8 + ldr r2, _0809D8BC @ =gOtherText_Exit lsrs r0, 20 adds r0, 0x2 lsls r0, 24 @@ -1946,7 +1946,7 @@ _0809D844: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0 mov r1, r9 adds r2, r7, 0 @@ -1964,7 +1964,7 @@ _0809D8A8: bx r0 .align 2, 0 _0809D8B8: .4byte gUnknown_8417DED -_0809D8BC: .4byte gUnknown_84161C8 +_0809D8BC: .4byte gOtherText_Exit thumb_func_end sub_809D764 thumb_func_start sub_809D8C0 diff --git a/asm/seagallop.s b/asm/seagallop.s index f54d0d986..c4bf6cccf 100644 --- a/asm/seagallop.s +++ b/asm/seagallop.s @@ -533,7 +533,7 @@ _081472F8: .4byte 0x81000800 thumb_func_start sub_81472FC sub_81472FC: @ 81472FC push {lr} - bl remove_some_task + bl ScanlineEffect_Stop bl ResetTasks bl ResetSpriteData bl dp13_810BB8C diff --git a/asm/shop.s b/asm/shop.s index aed90ff85..bdb2f8e9e 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -74,7 +74,7 @@ _0809AAF8: movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow ldrb r0, [r4] bl PutWindowTilemap ldrb r0, [r4] @@ -477,7 +477,7 @@ _0809AE2C: adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - ldr r0, _0809AE9C @ =gUnknown_3005E70 + ldr r0, _0809AE9C @ =gMultiuseListMenuTemplate movs r1, 0 movs r2, 0 bl ListMenuInit @@ -510,7 +510,7 @@ _0809AE2C: _0809AE90: .4byte gMain _0809AE94: .4byte gUnknown_2039934 _0809AE98: .4byte sub_809BBC0 -_0809AE9C: .4byte gUnknown_3005E70 +_0809AE9C: .4byte gMultiuseListMenuTemplate _0809AEA0: .4byte gTasks _0809AEA4: .4byte sub_809AE00 _0809AEA8: .4byte sub_809ADE4 @@ -522,7 +522,7 @@ _0809AEAC: ldr r2, _0809AF4C @ =0x01000100 add r0, sp, 0x8 bl CpuFastSet - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers bl FreeAllSpritePalettes bl ResetPaletteFade @@ -904,7 +904,7 @@ _0809B1F2: movs r0, 0x2 negs r0, r0 str r0, [r1, 0x4] - ldr r5, _0809B2D4 @ =gUnknown_3005E70 + ldr r5, _0809B2D4 @ =gMultiuseListMenuTemplate str r2, [r5] ldr r6, _0809B2D8 @ =gUnknown_2039934 ldrh r0, [r6, 0x10] @@ -992,7 +992,7 @@ _0809B2BC: _0809B2C8: .4byte gUnknown_2039968 _0809B2CC: .4byte gFameCheckerText_Cancel _0809B2D0: .4byte gUnknown_2039964 -_0809B2D4: .4byte gUnknown_3005E70 +_0809B2D4: .4byte gMultiuseListMenuTemplate _0809B2D8: .4byte gUnknown_2039934 _0809B2DC: .4byte sub_809B320 _0809B2E0: .4byte sub_809B408 @@ -1000,7 +1000,7 @@ _0809B2E4: strh r0, [r5, 0xE] _0809B2E6: ldr r0, _0809B2F8 @ =gUnknown_2039934 - ldr r1, _0809B2FC @ =gUnknown_3005E70 + ldr r1, _0809B2FC @ =gMultiuseListMenuTemplate ldrh r1, [r1, 0xE] strh r1, [r0, 0x12] movs r0, 0x1 @@ -1010,7 +1010,7 @@ _0809B2F0: bx r1 .align 2, 0 _0809B2F8: .4byte gUnknown_2039934 -_0809B2FC: .4byte gUnknown_3005E70 +_0809B2FC: .4byte gMultiuseListMenuTemplate thumb_func_end sub_809B188 thumb_func_start sub_809B300 @@ -1233,7 +1233,7 @@ sub_809B494: @ 809B494 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r5, _0809B51C @ =gStringVar4 - ldr r1, _0809B520 @ =gUnknown_8416226 + ldr r1, _0809B520 @ =gOtherText_UnkF9_08_Clear_01 adds r0, r5, 0 bl StringCopy adds r0, r5, 0 @@ -1279,10 +1279,10 @@ sub_809B494: @ 809B494 _0809B514: .4byte gStringVar1 _0809B518: .4byte 0xfffffee0 _0809B51C: .4byte gStringVar4 -_0809B520: .4byte gUnknown_8416226 +_0809B520: .4byte gOtherText_UnkF9_08_Clear_01 _0809B524: .4byte gMoveNames _0809B528: - ldr r2, _0809B564 @ =gUnknown_8416213 + ldr r2, _0809B564 @ =gText_ThreeHyphens movs r4, 0 str r4, [sp] str r4, [sp, 0x4] @@ -1312,7 +1312,7 @@ _0809B55C: pop {r0} bx r0 .align 2, 0 -_0809B564: .4byte gUnknown_8416213 +_0809B564: .4byte gText_ThreeHyphens _0809B568: .4byte gUnknown_8416217 thumb_func_end sub_809B494 @@ -2119,7 +2119,7 @@ sub_809BB44: @ 809BB44 movs r3, 0x2 bl ConvertIntToDecimalStringN ldr r4, _0809BBB8 @ =gStringVar4 - ldr r1, _0809BBBC @ =gUnknown_84162B9 + ldr r1, _0809BBBC @ =gText_TimesStrVar1 adds r0, r4, 0 bl StringExpandPlaceholders movs r0, 0xA @@ -2144,7 +2144,7 @@ _0809BBAC: .4byte gTasks+0x8 _0809BBB0: .4byte gUnknown_2039934 _0809BBB4: .4byte gStringVar1 _0809BBB8: .4byte gStringVar4 -_0809BBBC: .4byte gUnknown_84162B9 +_0809BBBC: .4byte gText_TimesStrVar1 thumb_func_end sub_809BB44 thumb_func_start sub_809BBC0 @@ -2691,7 +2691,7 @@ sub_809C04C: @ 809C04C ldrb r0, [r2, 0xE] movs r1, 0 movs r2, 0 - bl sub_810713C + bl DestroyListMenu bl sub_809B604 ldr r0, _0809C090 @ =c2_exit_to_overworld_2_switch bl SetMainCallback2 diff --git a/asm/slot_machine.s b/asm/slot_machine.s index 07483bb5e..48cb65638 100644 --- a/asm/slot_machine.s +++ b/asm/slot_machine.s @@ -4424,7 +4424,7 @@ _08141984: ldrsh r0, [r5, r2] cmp r0, 0 bne _081419C4 - ldr r1, _081419BC @ =gUnknown_825E074 + ldr r1, _081419BC @ =gSineTable movs r2, 0x4 ldrsh r0, [r5, r2] lsls r0, 1 @@ -4447,7 +4447,7 @@ _08141984: movs r0, 0x8 b _081419C6 .align 2, 0 -_081419BC: .4byte gUnknown_825E074 +_081419BC: .4byte gSineTable _081419C0: .4byte gUnknown_84664DC _081419C4: subs r0, r1, 0x1 @@ -4462,7 +4462,7 @@ _081419C6: movs r1, 0x7F ands r0, r1 strh r0, [r5, 0x8] - ldr r1, _081419FC @ =gUnknown_825E074 + ldr r1, _081419FC @ =gSineTable movs r2, 0x8 ldrsh r0, [r5, r2] lsls r0, 1 @@ -4478,7 +4478,7 @@ _081419C6: bl BlendPalettes b _08141A2C .align 2, 0 -_081419FC: .4byte gUnknown_825E074 +_081419FC: .4byte gSineTable _08141A00: ldrh r0, [r5, 0x8] adds r0, 0x1 diff --git a/asm/start_menu.s b/asm/start_menu.s index cfd970001..65a1e4402 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -158,7 +158,7 @@ sub_806EE7C: @ 806EE7C bl PutWindowTilemap ldrb r0, [r4] movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r0, _0806EEFC @ =gStringVar1 ldr r1, _0806EF00 @ =gUnknown_2039996 ldrh r1, [r1] @@ -390,7 +390,7 @@ _0806F06C: lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80F6F1C + bl DrawStdWindowFrame ldr r1, _0806F08C @ =gUnknown_20370FF b _0806F0B8 .align 2, 0 @@ -438,7 +438,7 @@ _0806F0C4: movs r1, 0x2 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow strb r0, [r4] bl sub_80BF708 lsls r0, 24 @@ -1049,7 +1049,7 @@ sub_806F5A4: @ 806F5A4 push {lr} bl sub_812B234 movs r0, 0xC - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_806F624 ldr r1, _0806F5C0 @ =gUnknown_20370F0 ldr r0, _0806F5C4 @ =sub_806F5C8 @@ -1156,7 +1156,7 @@ sub_806F67C: @ 806F67C push {lr} bl sub_812B234 movs r0, 0xC - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_806F624 ldr r0, _0806F698 @ =task50_save_game movs r1, 0x50 @@ -1239,7 +1239,7 @@ sub_806F71C: @ 806F71C push {lr} movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame pop {r0} bx r0 thumb_func_end sub_806F71C @@ -1328,7 +1328,7 @@ sub_806F7A8: @ 806F7A8 lsls r0, 24 lsrs r0, 24 movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl remove_start_menu_window_maybe movs r0, 0 bl sub_8112EDC @@ -1713,7 +1713,7 @@ _0806FA88: bl SetGpuReg movs r0, 0 bl SetVBlankCallback - bl remove_some_task + bl ScanlineEffect_Stop movs r2, 0xA0 lsls r2, 19 mov r1, sp @@ -1767,7 +1767,7 @@ _0806FB00: bl ResetSpriteData bl ResetTasks bl ResetPaletteFade - bl dp12_8087EA4 + bl ScanlineEffect_Clear b _0806FB64 _0806FB12: movs r0, 0 @@ -2178,7 +2178,7 @@ sub_806FE84: @ 806FE84 ldr r4, _0806FE9C @ =gUnknown_2037104 ldrb r0, [r4] movs r1, 0 - bl sub_80F6F9C + bl ClearStdWindowAndFrame ldrb r0, [r4] bl RemoveWindow pop {r4} @@ -2197,7 +2197,7 @@ sub_806FEA0: @ 806FEA0 lsls r0, 24 lsrs r0, 24 movs r1, 0x1 - bl sub_80F6F9C + bl ClearStdWindowAndFrame bl remove_start_menu_window_maybe bl sub_80696C0 bl ScriptContext2_Disable diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 5e2b048e2..b7875e7a9 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -33,7 +33,7 @@ sub_815ABC4: @ 815ABC4 lsls r0, 24 lsrs r0, 24 adds r2, r0, 0 - ldr r3, _0815ABF4 @ =gUnknown_203F444 + ldr r3, _0815ABF4 @ =gTeachyTV_StaticResources movs r4, 0 strb r2, [r3, 0x4] str r1, [r3] @@ -54,14 +54,14 @@ _0815ABE6: pop {r0} bx r0 .align 2, 0 -_0815ABF4: .4byte gUnknown_203F444 +_0815ABF4: .4byte gTeachyTV_StaticResources _0815ABF8: .4byte sub_815AC2C thumb_func_end sub_815ABC4 - thumb_func_start sub_815ABFC -sub_815ABFC: @ 815ABFC + thumb_func_start CB2_ReturnToTeachyTV +CB2_ReturnToTeachyTV: @ 815ABFC push {lr} - ldr r1, _0815AC10 @ =gUnknown_203F444 + ldr r1, _0815AC10 @ =gTeachyTV_StaticResources ldrb r0, [r1, 0x4] cmp r0, 0x1 bne _0815AC14 @@ -70,7 +70,7 @@ sub_815ABFC: @ 815ABFC bl sub_815ABC4 b _0815AC1C .align 2, 0 -_0815AC10: .4byte gUnknown_203F444 +_0815AC10: .4byte gTeachyTV_StaticResources _0815AC14: ldr r1, [r1] movs r0, 0x2 @@ -78,16 +78,16 @@ _0815AC14: _0815AC1C: pop {r0} bx r0 - thumb_func_end sub_815ABFC + thumb_func_end CB2_ReturnToTeachyTV thumb_func_start sub_815AC20 sub_815AC20: @ 815AC20 - ldr r1, _0815AC28 @ =gUnknown_203F444 + ldr r1, _0815AC28 @ =gTeachyTV_StaticResources movs r0, 0x1 strb r0, [r1, 0x4] bx lr .align 2, 0 -_0815AC28: .4byte gUnknown_203F444 +_0815AC28: .4byte gTeachyTV_StaticResources thumb_func_end sub_815AC20 thumb_func_start sub_815AC2C @@ -122,7 +122,7 @@ _0815AC48: strb r1, [r0] bl sub_80BF768 bl clear_scheduled_bg_copies_to_vram - bl remove_some_task + bl ScanlineEffect_Stop bl FreeAllSpritePalettes bl ResetPaletteFade bl ResetSpriteData @@ -145,7 +145,7 @@ _0815AC9C: beq _0815AD6E bl sub_815AEB8 bl sub_815AFEC - ldr r0, _0815ACE0 @ =gUnknown_203F444 + ldr r0, _0815ACE0 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x4] cmp r0, 0x2 bne _0815ACEC @@ -167,7 +167,7 @@ _0815AC9C: bl sub_815B118 b _0815AD26 .align 2, 0 -_0815ACE0: .4byte gUnknown_203F444 +_0815ACE0: .4byte gTeachyTV_StaticResources _0815ACE4: .4byte sub_815BA54 _0815ACE8: .4byte gTasks _0815ACEC: @@ -384,7 +384,7 @@ _0815AEE4: .4byte gUnknown_84792F0 thumb_func_start sub_815AEE8 sub_815AEE8: @ 815AEE8 push {r4,r5,lr} - ldr r4, _0815AF48 @ =gUnknown_3005E70 + ldr r4, _0815AF48 @ =gMultiuseListMenuTemplate adds r1, r4, 0 ldr r0, _0815AF4C @ =gUnknown_8479368 ldm r0!, {r2,r3,r5} @@ -419,7 +419,7 @@ sub_815AEE8: @ 815AEE8 orrs r0, r1 strb r0, [r4, 0x14] _0815AF30: - ldr r0, _0815AF58 @ =gUnknown_203F444 + ldr r0, _0815AF58 @ =gTeachyTV_StaticResources ldrh r1, [r0, 0x6] ldrh r2, [r0, 0x8] adds r0, r4, 0 @@ -430,11 +430,11 @@ _0815AF30: pop {r1} bx r1 .align 2, 0 -_0815AF48: .4byte gUnknown_3005E70 +_0815AF48: .4byte gMultiuseListMenuTemplate _0815AF4C: .4byte gUnknown_8479368 _0815AF50: .4byte sub_815AFD8 _0815AF54: .4byte gUnknown_8479340 -_0815AF58: .4byte gUnknown_203F444 +_0815AF58: .4byte gTeachyTV_StaticResources thumb_func_end sub_815AEE8 thumb_func_start sub_815AF5C @@ -694,7 +694,7 @@ sub_815B118: @ 815B118 movs r0, 0x1 bl ClearWindowTilemap bl sub_815B0B4 - ldr r0, _0815B198 @ =gUnknown_203F444 + ldr r0, _0815B198 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0 blt _0815B1B8 @@ -732,7 +732,7 @@ sub_815B118: @ 815B118 .align 2, 0 _0815B190: .4byte gTasks+0x8 _0815B194: .4byte gSprites -_0815B198: .4byte gUnknown_203F444 +_0815B198: .4byte gTeachyTV_StaticResources _0815B19C: .4byte gUnknown_203F450 _0815B1A0: .4byte 0x00004004 _0815B1A4: .4byte 0x00004005 @@ -774,7 +774,7 @@ sub_815B1DC: @ 815B1DC negs r0, r0 ands r0, r1 strb r0, [r2] - bl sub_80F78A8 + bl GetTextSpeedSetting adds r3, r0, 0 lsls r3, 24 lsrs r3, 24 @@ -867,7 +867,7 @@ _0815B298: .4byte gPaletteFade _0815B29C: .4byte gUnknown_203F450 _0815B2A0: bl sub_8055DC4 - ldr r0, _0815B2BC @ =gUnknown_203F444 + ldr r0, _0815B2BC @ =gTeachyTV_StaticResources ldr r0, [r0] bl SetMainCallback2 _0815B2AC: @@ -879,7 +879,7 @@ _0815B2B6: pop {r0} bx r0 .align 2, 0 -_0815B2BC: .4byte gUnknown_203F444 +_0815B2BC: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B274 thumb_func_start sub_815B2C0 @@ -942,13 +942,13 @@ _0815B330: _0815B33E: movs r0, 0x5 bl PlaySE - ldr r2, _0815B380 @ =gUnknown_203F444 + ldr r2, _0815B380 @ =gTeachyTV_StaticResources movs r4, 0 strb r5, [r2, 0x5] ldrb r0, [r6] adds r1, r2, 0x6 adds r2, 0x8 - bl sub_810713C + bl DestroyListMenu bl sub_815B0B4 movs r0, 0x1 bl ClearWindowTilemap @@ -969,7 +969,7 @@ _0815B37A: pop {r0} bx r0 .align 2, 0 -_0815B380: .4byte gUnknown_203F444 +_0815B380: .4byte gTeachyTV_StaticResources _0815B384: .4byte gTasks _0815B388: .4byte sub_815B4EC thumb_func_end sub_815B2C0 @@ -1208,7 +1208,7 @@ _0815B554: .4byte 0x00004006 _0815B558: .4byte sub_815B92C _0815B55C: ldr r1, _0815B580 @ =gUnknown_8479548 - ldr r0, _0815B584 @ =gUnknown_203F444 + ldr r0, _0815B584 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1226,7 +1226,7 @@ _0815B578: bx r0 .align 2, 0 _0815B580: .4byte gUnknown_8479548 -_0815B584: .4byte gUnknown_203F444 +_0815B584: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B4EC thumb_func_start sub_815B588 @@ -1240,7 +1240,7 @@ sub_815B588: @ 815B588 ldr r0, _0815B5B4 @ =gTasks+0x8 adds r4, r0 ldr r1, _0815B5B8 @ =gUnknown_8479560 - ldr r0, _0815B5BC @ =gUnknown_203F444 + ldr r0, _0815B5BC @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1255,7 +1255,7 @@ sub_815B588: @ 815B588 .align 2, 0 _0815B5B4: .4byte gTasks+0x8 _0815B5B8: .4byte gUnknown_8479560 -_0815B5BC: .4byte gUnknown_203F444 +_0815B5BC: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B588 thumb_func_start sub_815B5C0 @@ -1269,7 +1269,7 @@ sub_815B5C0: @ 815B5C0 ldr r0, _0815B5EC @ =gTasks+0x8 adds r4, r0 ldr r1, _0815B5F0 @ =gUnknown_8479578 - ldr r0, _0815B5F4 @ =gUnknown_203F444 + ldr r0, _0815B5F4 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] lsls r0, 2 adds r0, r1 @@ -1284,7 +1284,7 @@ sub_815B5C0: @ 815B5C0 .align 2, 0 _0815B5EC: .4byte gTasks+0x8 _0815B5F0: .4byte gUnknown_8479578 -_0815B5F4: .4byte gUnknown_203F444 +_0815B5F4: .4byte gTeachyTV_StaticResources thumb_func_end sub_815B5C0 thumb_func_start sub_815B5F8 @@ -1806,7 +1806,7 @@ sub_815B9F0: @ 815B9F0 lsls r0, 24 lsrs r1, r0, 24 adds r2, r1, 0 - ldr r0, _0815BA0C @ =gUnknown_203F444 + ldr r0, _0815BA0C @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0 blt _0815BA22 @@ -1816,7 +1816,7 @@ sub_815B9F0: @ 815B9F0 bl sub_815BC90 b _0815BA22 .align 2, 0 -_0815BA0C: .4byte gUnknown_203F444 +_0815BA0C: .4byte gTeachyTV_StaticResources _0815BA10: cmp r0, 0x5 bgt _0815BA22 @@ -1837,7 +1837,7 @@ _0815BA2C: .4byte sub_815BA30 thumb_func_start sub_815BA30 sub_815BA30: @ 815BA30 push {lr} - ldr r0, _0815BA44 @ =gUnknown_203F444 + ldr r0, _0815BA44 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] cmp r0, 0x4 bne _0815BA48 @@ -1845,7 +1845,7 @@ sub_815BA30: @ 815BA30 bl sub_810B108 b _0815BA4E .align 2, 0 -_0815BA44: .4byte gUnknown_203F444 +_0815BA44: .4byte gTeachyTV_StaticResources _0815BA48: movs r0, 0x9 bl sub_810B108 @@ -1871,7 +1871,7 @@ sub_815BA54: @ 815BA54 cmp r0, 0 bne _0815BA86 ldr r1, _0815BA94 @ =gUnknown_8479390 - ldr r0, _0815BA98 @ =gUnknown_203F444 + ldr r0, _0815BA98 @ =gTeachyTV_StaticResources ldrb r0, [r0, 0x5] adds r0, r1 ldrb r0, [r0] @@ -1889,7 +1889,7 @@ _0815BA86: _0815BA8C: .4byte gTasks+0x8 _0815BA90: .4byte gPaletteFade _0815BA94: .4byte gUnknown_8479390 -_0815BA98: .4byte gUnknown_203F444 +_0815BA98: .4byte gTeachyTV_StaticResources _0815BA9C: .4byte sub_815B4EC thumb_func_end sub_815BA54 @@ -2155,7 +2155,7 @@ sub_815BC90: @ 815BC90 adds r5, r0, r1 bl sub_815B220 ldr r1, _0815BCD0 @ =gSpecialVar_0x8004 - ldr r4, _0815BCD4 @ =gUnknown_203F444 + ldr r4, _0815BCD4 @ =gTeachyTV_StaticResources ldrb r0, [r4, 0x5] strh r0, [r1] ldr r1, _0815BCD8 @ =gMain @@ -2173,7 +2173,7 @@ sub_815BC90: @ 815BC90 .align 2, 0 _0815BCCC: .4byte gTasks+0x8 _0815BCD0: .4byte gSpecialVar_0x8004 -_0815BCD4: .4byte gUnknown_203F444 +_0815BCD4: .4byte gTeachyTV_StaticResources _0815BCD8: .4byte gMain _0815BCDC: .4byte sub_815BD58 _0815BCE0: @@ -2257,7 +2257,7 @@ _0815BD70: lsls r0, 1 bl PlayNewMapMusic _0815BD78: - bl sub_815ABFC + bl CB2_ReturnToTeachyTV pop {r0} bx r0 thumb_func_end sub_815BD58 diff --git a/asm/title_screen.s b/asm/title_screen.s index c07978623..c8261c1d3 100644 --- a/asm/title_screen.s +++ b/asm/title_screen.s @@ -292,7 +292,7 @@ sub_8078BB4: @ 8078BB4 bl LoadOam bl ProcessSpriteCopyRequests bl TransferPlttBuffer - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer ldr r1, _08078BE4 @ =gUnknown_2037F30 ldrb r0, [r1] cmp r0, 0xFF @@ -433,7 +433,7 @@ sub_8078C9C: @ 8078C9C strb r5, [r0, 0x9] add r0, sp, 0xC strh r5, [r0] - ldr r4, _08078D1C @ =gUnknown_2038700 + ldr r4, _08078D1C @ =gScanlineEffectRegBuffers ldr r6, _08078D20 @ =0x010000a0 adds r1, r4, 0 adds r2, r6, 0 @@ -450,7 +450,7 @@ sub_8078C9C: @ 8078C9C ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams mov r0, r8 movs r1, 0x1 bl sub_8078C90 @@ -463,7 +463,7 @@ sub_8078C9C: @ 8078C9C .align 2, 0 _08078D14: .4byte 0x04000054 _08078D18: .4byte 0xa2600001 -_08078D1C: .4byte gUnknown_2038700 +_08078D1C: .4byte gScanlineEffectRegBuffers _08078D20: .4byte 0x010000a0 thumb_func_end sub_8078C9C @@ -507,7 +507,7 @@ _08078D5C: ldrsh r0, [r4, r1] cmp r0, 0 bge _08078D9C - ldr r1, _08078D80 @ =gUnknown_2039600 + ldr r1, _08078D80 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] _08078D78: @@ -516,7 +516,7 @@ _08078D78: strh r0, [r4, 0x2] b _08078D9C .align 2, 0 -_08078D80: .4byte gUnknown_2039600 +_08078D80: .4byte gScanlineEffect _08078D84: movs r0, 0x50 movs r1, 0 @@ -809,7 +809,7 @@ sub_8078FC4: @ 8078FC4 b _08079094 _08078FD6: movs r0, 0x1 - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 ldr r0, _0807902C @ =sub_807941C movs r1, 0 bl CreateTask @@ -1481,9 +1481,9 @@ sub_8079550: @ 8079550 asrs r4, r5, 16 cmp r4, 0 blt _08079574 - ldr r3, _08079618 @ =gUnknown_2038700 + ldr r3, _08079618 @ =gScanlineEffectRegBuffers lsls r2, r4, 1 - ldr r0, _0807961C @ =gUnknown_2039600 + ldr r0, _0807961C @ =gScanlineEffect ldrb r1, [r0, 0x14] lsls r0, r1, 4 subs r0, r1 @@ -1496,9 +1496,9 @@ _08079574: movs r3, 0 mov r8, r5 adds r6, r4, 0 - ldr r0, _08079618 @ =gUnknown_2038700 + ldr r0, _08079618 @ =gScanlineEffectRegBuffers mov r12, r0 - ldr r7, _0807961C @ =gUnknown_2039600 + ldr r7, _0807961C @ =gScanlineEffect movs r5, 0xF lsls r2, r6, 1 adds r4, r2, 0 @@ -1537,8 +1537,8 @@ _080795AE: adds r3, 0x10 cmp r3, 0x9F bgt _080795E6 - ldr r6, _08079618 @ =gUnknown_2038700 - ldr r5, _0807961C @ =gUnknown_2039600 + ldr r6, _08079618 @ =gScanlineEffectRegBuffers + ldr r5, _0807961C @ =gScanlineEffect movs r4, 0 _080795CC: cmp r3, 0 @@ -1562,8 +1562,8 @@ _080795E6: subs r3, 0x10 cmp r3, 0 blt _0807960E - ldr r6, _08079618 @ =gUnknown_2038700 - ldr r5, _0807961C @ =gUnknown_2039600 + ldr r6, _08079618 @ =gScanlineEffectRegBuffers + ldr r5, _0807961C @ =gScanlineEffect movs r4, 0 _080795F8: lsls r2, r3, 1 @@ -1584,14 +1584,14 @@ _0807960E: pop {r0} bx r0 .align 2, 0 -_08079618: .4byte gUnknown_2038700 -_0807961C: .4byte gUnknown_2039600 +_08079618: .4byte gScanlineEffectRegBuffers +_0807961C: .4byte gScanlineEffect thumb_func_end sub_8079550 thumb_func_start sub_8079620 sub_8079620: @ 8079620 push {lr} - ldr r1, _08079644 @ =gUnknown_2039600 + ldr r1, _08079644 @ =gScanlineEffect ldrb r0, [r1, 0x15] cmp r0, 0 beq _0807962E @@ -1607,7 +1607,7 @@ _0807962E: pop {r0} bx r0 .align 2, 0 -_08079644: .4byte gUnknown_2039600 +_08079644: .4byte gScanlineEffect thumb_func_end sub_8079620 thumb_func_start sub_8079648 diff --git a/asm/tm_case.s b/asm/tm_case.s deleted file mode 100644 index e942bbc32..000000000 --- a/asm/tm_case.s +++ /dev/null @@ -1,3999 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_81317F8 -sub_81317F8: @ 81317F8 - push {r4-r7,lr} - adds r7, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - bl sub_8131A8C - ldr r4, _08131854 @ =gUnknown_203B118 - movs r0, 0x1C - bl Alloc - str r0, [r4] - movs r1, 0 - str r1, [r0] - movs r1, 0xFF - strb r1, [r0, 0x8] - ldr r1, [r4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x7] - cmp r5, 0x5 - beq _0813182A - ldr r0, _08131858 @ =gUnknown_203B10C - strb r5, [r0, 0x4] -_0813182A: - cmp r7, 0 - beq _08131832 - ldr r0, _08131858 @ =gUnknown_203B10C - str r7, [r0] -_08131832: - cmp r6, 0xFF - beq _0813183A - ldr r0, _08131858 @ =gUnknown_203B10C - strb r6, [r0, 0x5] -_0813183A: - ldr r2, _0813185C @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, _08131860 @ =sub_8131894 - bl SetMainCallback2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131854: .4byte gUnknown_203B118 -_08131858: .4byte gUnknown_203B10C -_0813185C: .4byte gTextFlags -_08131860: .4byte sub_8131894 - thumb_func_end sub_81317F8 - - thumb_func_start sub_8131864 -sub_8131864: @ 8131864 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl do_scheduled_bg_tilemap_copies_to_vram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8131864 - - thumb_func_start sub_8131880 -sub_8131880: @ 8131880 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8131880 - - thumb_func_start sub_8131894 -sub_8131894: @ 8131894 - push {lr} -_08131896: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081318BA - bl sub_81318C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081318BA - bl sub_80BF708 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08131896 -_081318BA: - pop {r0} - bx r0 - thumb_func_end sub_8131894 - - thumb_func_start sub_81318C0 -sub_81318C0: @ 81318C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _081318E0 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _081318D4 - b _08131A68 -_081318D4: - lsls r0, 2 - ldr r1, _081318E4 @ =_081318E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081318E0: .4byte gMain -_081318E4: .4byte _081318E8 - .align 2, 0 -_081318E8: - .4byte _08131934 - .4byte _0813193E - .4byte _08131944 - .4byte _0813194A - .4byte _08131950 - .4byte _08131956 - .4byte _0813195C - .4byte _08131970 - .4byte _08131976 - .4byte _08131984 - .4byte _08131990 - .4byte _0813199E - .4byte _081319A4 - .4byte _081319AE - .4byte _081319B4 - .4byte _08131A04 - .4byte _08131A0A - .4byte _08131A34 - .4byte _08131A42 -_08131934: - bl sub_80BF768 - bl clear_scheduled_bg_copies_to_vram - b _08131A52 -_0813193E: - bl remove_some_task - b _08131A52 -_08131944: - bl FreeAllSpritePalettes - b _08131A52 -_0813194A: - bl ResetPaletteFade - b _08131A52 -_08131950: - bl ResetSpriteData - b _08131A52 -_08131956: - bl ResetTasks - b _08131A52 -_0813195C: - bl sub_8131AB8 - ldr r0, _0813196C @ =gUnknown_203B118 - ldr r1, [r0] - movs r0, 0 - strh r0, [r1, 0x12] - b _08131A52 - .align 2, 0 -_0813196C: .4byte gUnknown_203B118 -_08131970: - bl sub_8133244 - b _08131A52 -_08131976: - bl sub_8131B20 - lsls r0, 24 - cmp r0, 0 - bne _08131982 - b _08131A80 -_08131982: - b _08131A52 -_08131984: - ldr r0, _0813198C @ =gUnknown_20398A4 - bl sub_809A5E4 - b _08131A52 - .align 2, 0 -_0813198C: .4byte gUnknown_20398A4 -_08131990: - bl sub_81320BC - bl sub_8132120 - bl sub_8132170 - b _08131A52 -_0813199E: - bl sub_8133404 - b _08131A52 -_081319A4: - bl sub_8131C10 - bl sub_8131C50 - b _08131A52 -_081319AE: - bl sub_81333C4 - b _08131A52 -_081319B4: - ldr r0, _081319C0 @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _081319C8 - ldr r0, _081319C4 @ =sub_8132F20 - b _081319CA - .align 2, 0 -_081319C0: .4byte gUnknown_203B10C -_081319C4: .4byte sub_8132F20 -_081319C8: - ldr r0, _081319F4 @ =sub_81322D4 -_081319CA: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081319F8 @ =gUnknown_3005E70 - ldr r2, _081319FC @ =gUnknown_203B10C - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0x8] - bl ListMenuInit - ldr r2, _08131A00 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] - b _08131A52 - .align 2, 0 -_081319F4: .4byte sub_81322D4 -_081319F8: .4byte gUnknown_3005E70 -_081319FC: .4byte gUnknown_203B10C -_08131A00: .4byte gTasks -_08131A04: - bl sub_8132018 - b _08131A52 -_08131A0A: - ldr r0, _08131A2C @ =gUnknown_203B10C - ldrh r1, [r0, 0x8] - ldrh r0, [r0, 0xA] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl sub_813368C - ldr r1, _08131A30 @ =gUnknown_203B118 - ldr r1, [r1] - strb r0, [r1, 0x4] - b _08131A52 - .align 2, 0 -_08131A2C: .4byte gUnknown_203B10C -_08131A30: .4byte gUnknown_203B118 -_08131A34: - movs r0, 0x1 - negs r0, r0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _08131A52 -_08131A42: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_08131A52: - ldr r1, _08131A64 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08131A80 - .align 2, 0 -_08131A64: .4byte gMain -_08131A68: - ldr r0, _08131A78 @ =sub_8131880 - bl SetVBlankCallback - ldr r0, _08131A7C @ =sub_8131864 - bl SetMainCallback2 - movs r0, 0x1 - b _08131A82 - .align 2, 0 -_08131A78: .4byte sub_8131880 -_08131A7C: .4byte sub_8131864 -_08131A80: - movs r0, 0 -_08131A82: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81318C0 - - thumb_func_start sub_8131A8C -sub_8131A8C: @ 8131A8C - ldr r0, _08131AA4 @ =gUnknown_203B118 - movs r1, 0 - str r1, [r0] - ldr r0, _08131AA8 @ =gUnknown_203B120 - str r1, [r0] - ldr r0, _08131AAC @ =gUnknown_203B124 - str r1, [r0] - ldr r0, _08131AB0 @ =gUnknown_203B128 - str r1, [r0] - ldr r0, _08131AB4 @ =gUnknown_203B12C - str r1, [r0] - bx lr - .align 2, 0 -_08131AA4: .4byte gUnknown_203B118 -_08131AA8: .4byte gUnknown_203B120 -_08131AAC: .4byte gUnknown_203B124 -_08131AB0: .4byte gUnknown_203B128 -_08131AB4: .4byte gUnknown_203B12C - thumb_func_end sub_8131A8C - - thumb_func_start sub_8131AB8 -sub_8131AB8: @ 8131AB8 - push {r4,lr} - bl sub_80BF7C8 - ldr r4, _08131B18 @ =gUnknown_203B120 - movs r0, 0x80 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08131B1C @ =gUnknown_8463134 - movs r0, 0 - movs r2, 0x3 - bl InitBgsFromTemplates - ldr r1, [r4] - movs r0, 0x2 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131B18: .4byte gUnknown_203B120 -_08131B1C: .4byte gUnknown_8463134 - thumb_func_end sub_8131AB8 - - thumb_func_start sub_8131B20 -sub_8131B20: @ 8131B20 - push {r4,lr} - sub sp, 0x4 - ldr r4, _08131B3C @ =gUnknown_203B118 - ldr r0, [r4] - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bhi _08131BF8 - lsls r0, 2 - ldr r1, _08131B40 @ =_08131B44 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08131B3C: .4byte gUnknown_203B118 -_08131B40: .4byte _08131B44 - .align 2, 0 -_08131B44: - .4byte _08131B58 - .4byte _08131B74 - .4byte _08131B94 - .4byte _08131BAC - .4byte _08131BDC -_08131B58: - bl reset_temp_tile_data_buffers - ldr r1, _08131B70 @ =gUnknown_8E845D8 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl decompress_and_copy_tile_data_to_vram - b _08131BE2 - .align 2, 0 -_08131B70: .4byte gUnknown_8E845D8 -_08131B74: - bl free_temp_tile_data_buffers_if_possible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08131C06 - ldr r0, _08131B8C @ =gUnknown_8E84A24 - ldr r1, _08131B90 @ =gUnknown_203B120 - ldr r1, [r1] - bl LZDecompressWram - b _08131BE2 - .align 2, 0 -_08131B8C: .4byte gUnknown_8E84A24 -_08131B90: .4byte gUnknown_203B120 -_08131B94: - ldr r4, _08131BA8 @ =gUnknown_8E84B70 - movs r0, 0x1 - bl GetBgTilemapBuffer - adds r1, r0, 0 - adds r0, r4, 0 - bl LZDecompressWram - b _08131BE2 - .align 2, 0 -_08131BA8: .4byte gUnknown_8E84B70 -_08131BAC: - ldr r0, _08131BC4 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08131BCC - ldr r0, _08131BC8 @ =gUnknown_8E84CB0 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - b _08131BE2 - .align 2, 0 -_08131BC4: .4byte gSaveBlock2Ptr -_08131BC8: .4byte gUnknown_8E84CB0 -_08131BCC: - ldr r0, _08131BD8 @ =gUnknown_8E84D20 - movs r1, 0 - movs r2, 0x80 - bl LoadCompressedPalette - b _08131BE2 - .align 2, 0 -_08131BD8: .4byte gUnknown_8E84D20 -_08131BDC: - ldr r0, _08131BF0 @ =gUnknown_8463218 - bl LoadCompressedObjectPic -_08131BE2: - ldr r0, _08131BF4 @ =gUnknown_203B118 - ldr r1, [r0] - ldrh r0, [r1, 0x12] - adds r0, 0x1 - strh r0, [r1, 0x12] - b _08131C06 - .align 2, 0 -_08131BF0: .4byte gUnknown_8463218 -_08131BF4: .4byte gUnknown_203B118 -_08131BF8: - bl sub_81338A8 - ldr r1, [r4] - movs r0, 0 - strh r0, [r1, 0x12] - movs r0, 0x1 - b _08131C08 -_08131C06: - movs r0, 0 -_08131C08: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8131B20 - - thumb_func_start sub_8131C10 -sub_8131C10: @ 8131C10 - push {r4,lr} - ldr r0, _08131C40 @ =gUnknown_20398A4 - ldr r4, _08131C44 @ =gUnknown_203B124 - ldrb r0, [r0, 0x4] - adds r0, 0x1 - lsls r0, 3 - bl Alloc - str r0, [r4] - ldr r4, _08131C48 @ =gUnknown_203B128 - ldr r0, _08131C4C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r1, [r0, 0x6] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - bl Alloc - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131C40: .4byte gUnknown_20398A4 -_08131C44: .4byte gUnknown_203B124 -_08131C48: .4byte gUnknown_203B128 -_08131C4C: .4byte gUnknown_203B118 - thumb_func_end sub_8131C10 - - thumb_func_start sub_8131C50 -sub_8131C50: @ 8131C50 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _08131D28 @ =gUnknown_20398A4 - mov r8, r0 - movs r6, 0 - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bcs _08131CA0 - ldr r7, _08131D30 @ =gUnknown_203B128 -_08131C68: - lsls r5, r6, 3 - subs r4, r5, r6 - lsls r4, 2 - adds r4, r6 - ldr r0, [r7] - adds r0, r4 - mov r1, r8 - ldr r2, [r1] - lsls r1, r6, 2 - adds r1, r2 - ldrh r1, [r1] - bl sub_8131D48 - ldr r0, _08131D34 @ =gUnknown_203B124 - ldr r0, [r0] - adds r5, r0 - ldr r0, [r7] - adds r0, r4 - str r0, [r5] - str r6, [r5, 0x4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r6, r0 - bcc _08131C68 -_08131CA0: - ldr r0, _08131D34 @ =gUnknown_203B124 - ldr r3, [r0] - lsls r0, r6, 3 - adds r0, r3 - ldr r1, _08131D38 @ =gUnknown_84166DB - str r1, [r0] - movs r1, 0x2 - negs r1, r1 - str r1, [r0, 0x4] - ldr r2, _08131D3C @ =gUnknown_3005E70 - str r3, [r2] - ldr r0, _08131D2C @ =gUnknown_203B118 - ldr r3, [r0] - ldrb r0, [r3, 0x6] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2, 0xC] - strb r1, [r2, 0x10] - strb r1, [r2, 0x11] - movs r0, 0x8 - strb r0, [r2, 0x12] - strb r1, [r2, 0x13] - ldrb r0, [r2, 0x16] - movs r4, 0x8 - negs r4, r4 - ands r4, r0 - movs r0, 0x39 - negs r0, r0 - ands r4, r0 - movs r0, 0x10 - orrs r4, r0 - strb r4, [r2, 0x16] - ldrb r1, [r2, 0x14] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r5, 0x2 - orrs r0, r5 - strb r0, [r2, 0x14] - ldrb r1, [r3, 0x5] - strh r1, [r2, 0xE] - ldrb r1, [r2, 0x17] - movs r3, 0x40 - negs r3, r3 - ands r3, r1 - orrs r3, r5 - movs r1, 0xF - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x14] - movs r0, 0x30 - strb r0, [r2, 0x15] - ldr r0, _08131D40 @ =sub_8131E18 - str r0, [r2, 0x4] - ldr r0, _08131D44 @ =sub_8131E68 - str r0, [r2, 0x8] - movs r0, 0x3F - ands r3, r0 - strb r3, [r2, 0x17] - ands r4, r0 - strb r4, [r2, 0x16] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131D28: .4byte gUnknown_20398A4 -_08131D2C: .4byte gUnknown_203B118 -_08131D30: .4byte gUnknown_203B128 -_08131D34: .4byte gUnknown_203B124 -_08131D38: .4byte gUnknown_84166DB -_08131D3C: .4byte gUnknown_3005E70 -_08131D40: .4byte sub_8131E18 -_08131D44: .4byte sub_8131E68 - thumb_func_end sub_8131C50 - - thumb_func_start sub_8131D48 -sub_8131D48: @ 8131D48 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 16 - lsrs r6, r1, 16 - ldr r5, _08131D8C @ =gStringVar4 - ldr r1, _08131D90 @ =gUnknown_84166FF - adds r0, r5, 0 - bl StringCopy - movs r0, 0xA9 - lsls r0, 1 - cmp r6, r0 - bls _08131DA4 - ldr r1, _08131D94 @ =gUnknown_8463178 - adds r0, r5, 0 - bl StringAppend - ldr r1, _08131D98 @ =gUnknown_8416226 - adds r0, r5, 0 - bl StringAppend - ldr r4, _08131D9C @ =gStringVar1 - ldr r0, _08131DA0 @ =0xfffffeae - adds r1, r6, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - b _08131DC4 - .align 2, 0 -_08131D8C: .4byte gStringVar4 -_08131D90: .4byte gUnknown_84166FF -_08131D94: .4byte gUnknown_8463178 -_08131D98: .4byte gUnknown_8416226 -_08131D9C: .4byte gStringVar1 -_08131DA0: .4byte 0xfffffeae -_08131DA4: - ldr r1, _08131DFC @ =gUnknown_8416226 - adds r0, r5, 0 - bl StringAppend - ldr r4, _08131E00 @ =gStringVar1 - ldr r0, _08131E04 @ =0xfffffee0 - adds r1, r6, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_08131DC4: - ldr r4, _08131E08 @ =gStringVar4 - ldr r1, _08131E0C @ =gUnknown_846317C - adds r0, r4, 0 - bl StringAppend - ldr r1, _08131E10 @ =gUnknown_8416703 - adds r0, r4, 0 - bl StringAppend - adds r0, r6, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _08131E14 @ =gMoveNames - adds r1, r0 - adds r0, r4, 0 - bl StringAppend - adds r0, r7, 0 - adds r1, r4, 0 - bl StringCopy - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08131DFC: .4byte gUnknown_8416226 -_08131E00: .4byte gStringVar1 -_08131E04: .4byte 0xfffffee0 -_08131E08: .4byte gStringVar4 -_08131E0C: .4byte gUnknown_846317C -_08131E10: .4byte gUnknown_8416703 -_08131E14: .4byte gMoveNames - thumb_func_end sub_8131D48 - - thumb_func_start sub_8131E18 -sub_8131E18: @ 8131E18 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - bne _08131E2C - movs r5, 0 - b _08131E3A -_08131E2C: - lsls r1, r4, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r5, r0, 16 -_08131E3A: - cmp r6, 0x1 - beq _08131E50 - movs r0, 0x5 - bl PlaySE - ldr r0, _08131E64 @ =gUnknown_203B118 - ldr r0, [r0] - ldrb r0, [r0, 0x4] - adds r1, r5, 0 - bl sub_81337E4 -_08131E50: - adds r0, r4, 0 - bl sub_8131F0C - adds r0, r5, 0 - bl sub_8133444 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08131E64: .4byte gUnknown_203B118 - thumb_func_end sub_8131E18 - - thumb_func_start sub_8131E68 -sub_8131E68: @ 8131E68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r7, r9 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - mov r4, r8 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08131EFE - lsls r0, r1, 16 - lsrs r6, r0, 16 - movs r0, 0x4 - adds r1, r6, 0 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _08131EF4 - ldr r4, _08131EE8 @ =gStringVar1 - movs r0, 0x4 - adds r1, r6, 0 - bl sub_809A7B4 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _08131EEC @ =gStringVar4 - ldr r1, _08131EF0 @ =gUnknown_84162B9 - adds r0, r4, 0 - bl StringExpandPlaceholders - mov r0, r8 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - mov r0, r9 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x7E - bl sub_81332EC - b _08131EFE - .align 2, 0 -_08131EE8: .4byte gStringVar1 -_08131EEC: .4byte gStringVar4 -_08131EF0: .4byte gUnknown_84162B9 -_08131EF4: - adds r0, r7, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl sub_81335B0 -_08131EFE: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8131E68 - - thumb_func_start sub_8131F0C -sub_8131F0C: @ 8131F0C - push {r4,lr} - sub sp, 0x14 - adds r1, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08131F30 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r4, r0, 0 - b _08131F32 -_08131F30: - ldr r4, _08131F60 @ =gUnknown_84166E1 -_08131F32: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl sub_81332EC - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08131F60: .4byte gUnknown_84166E1 - thumb_func_end sub_8131F0C - - thumb_func_start sub_8131F64 -sub_8131F64: @ 8131F64 - push {lr} - sub sp, 0x8 - movs r1, 0x8 - str r1, [sp] - lsls r0, 1 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0xC - movs r3, 0x1E - bl sub_80F6B08 - movs r0, 0x2 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8131F64 - - thumb_func_start sub_8131F90 -sub_8131F90: @ 8131F90 - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_8131FB0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8131F90 - - thumb_func_start sub_8131FB0 -sub_8131FB0: @ 8131FB0 - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _08131FF4 - movs r0, 0x2 - movs r1, 0 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - adds r3, r5, 0 - bl FillWindowPixelRect - movs r0, 0 - movs r1, 0x2 - bl CopyWindowToVram - b _0813200A -_08131FF4: - ldr r2, _08132014 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r3, 0 - bl sub_81332EC -_0813200A: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132014: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_8131FB0 - - thumb_func_start sub_8132018 -sub_8132018: @ 8132018 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0813204C @ =gUnknown_203B118 - ldr r1, [r4] - ldrb r0, [r1, 0x6] - ldrb r1, [r1, 0x5] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldr r0, _08132050 @ =gUnknown_203B116 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x58 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813204C: .4byte gUnknown_203B118 -_08132050: .4byte gUnknown_203B116 - thumb_func_end sub_8132018 - - thumb_func_start sub_8132054 -sub_8132054: @ 8132054 - push {r4,lr} - sub sp, 0x10 - ldr r4, _08132088 @ =gUnknown_203B118 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0xA] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0xA - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParametrized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132088: .4byte gUnknown_203B118 - thumb_func_end sub_8132054 - - thumb_func_start sub_813208C -sub_813208C: @ 813208C - push {r4,lr} - ldr r4, _081320A8 @ =gUnknown_203B118 - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _081320A2 - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x8] -_081320A2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081320A8: .4byte gUnknown_203B118 - thumb_func_end sub_813208C - - thumb_func_start sub_81320AC -sub_81320AC: @ 81320AC - ldr r1, _081320B8 @ =gUnknown_203B10C - movs r0, 0 - strh r0, [r1, 0x8] - strh r0, [r1, 0xA] - bx lr - .align 2, 0 -_081320B8: .4byte gUnknown_203B10C - thumb_func_end sub_81320AC - - thumb_func_start sub_81320BC -sub_81320BC: @ 81320BC - push {r4,lr} - ldr r4, _08132118 @ =gUnknown_20398A4 - ldr r0, [r4] - ldrb r1, [r4, 0x4] - bl sub_809A584 - ldr r3, _0813211C @ =gUnknown_203B118 - ldr r1, [r3] - movs r0, 0 - strb r0, [r1, 0x6] - movs r2, 0 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08132100 - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08132100 -_081320E0: - ldr r0, [r3] - ldrb r1, [r0, 0x6] - adds r1, 0x1 - strb r1, [r0, 0x6] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08132100 - ldr r0, [r4] - lsls r1, r2, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _081320E0 -_08132100: - ldr r0, _0813211C @ =gUnknown_203B118 - ldr r1, [r0] - ldrb r0, [r1, 0x6] - adds r0, 0x1 - cmp r0, 0x5 - ble _0813210E - movs r0, 0x5 -_0813210E: - strb r0, [r1, 0x5] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132118: .4byte gUnknown_20398A4 -_0813211C: .4byte gUnknown_203B118 - thumb_func_end sub_81320BC - - thumb_func_start sub_8132120 -sub_8132120: @ 8132120 - push {r4,r5,lr} - ldr r0, _08132160 @ =gUnknown_203B10C - ldrh r1, [r0, 0xA] - adds r4, r0, 0 - ldr r5, _08132164 @ =gUnknown_203B118 - cmp r1, 0 - beq _08132144 - ldrh r0, [r4, 0xA] - ldr r1, [r5] - ldrb r3, [r1, 0x5] - adds r0, r3 - ldrb r2, [r1, 0x6] - adds r1, r2, 0x1 - cmp r0, r1 - ble _08132144 - subs r0, r3, 0x1 - subs r0, r2, r0 - strh r0, [r4, 0xA] -_08132144: - adds r3, r4, 0 - ldrh r0, [r3, 0xA] - ldrh r1, [r3, 0x8] - adds r0, r1 - ldr r1, [r5] - ldrb r1, [r1, 0x6] - adds r2, r1, 0x1 - cmp r0, r2 - blt _0813216A - cmp r2, 0x1 - bgt _08132168 - movs r0, 0 - strh r0, [r3, 0x8] - b _0813216A - .align 2, 0 -_08132160: .4byte gUnknown_203B10C -_08132164: .4byte gUnknown_203B118 -_08132168: - strh r1, [r4, 0x8] -_0813216A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8132120 - - thumb_func_start sub_8132170 -sub_8132170: @ 8132170 - push {r4-r6,lr} - ldr r0, _081321CC @ =gUnknown_203B10C - ldrh r1, [r0, 0x8] - adds r6, r0, 0 - cmp r1, 0x3 - bls _081321C4 - movs r4, 0 - ldrh r0, [r6, 0x8] - subs r0, 0x3 - cmp r4, r0 - bgt _081321C4 - ldrh r1, [r6, 0xA] - ldr r5, _081321D0 @ =gUnknown_203B118 - ldr r2, [r5] - ldrb r0, [r2, 0x5] - adds r1, r0 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - cmp r1, r0 - beq _081321C4 - adds r3, r6, 0 -_0813219A: - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r3, 0x8] - subs r0, 0x3 - cmp r4, r0 - bgt _081321C4 - ldrh r1, [r6, 0xA] - ldr r2, [r5] - ldrb r0, [r2, 0x5] - adds r1, r0 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - cmp r1, r0 - bne _0813219A -_081321C4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081321CC: .4byte gUnknown_203B10C -_081321D0: .4byte gUnknown_203B118 - thumb_func_end sub_8132170 - - thumb_func_start sub_81321D4 -sub_81321D4: @ 81321D4 - push {lr} - ldr r0, _0813221C @ =gUnknown_203B118 - ldr r0, [r0] - cmp r0, 0 - beq _081321E2 - bl Free -_081321E2: - ldr r0, _08132220 @ =gUnknown_203B120 - ldr r0, [r0] - cmp r0, 0 - beq _081321EE - bl Free -_081321EE: - ldr r0, _08132224 @ =gUnknown_203B124 - ldr r0, [r0] - cmp r0, 0 - beq _081321FA - bl Free -_081321FA: - ldr r0, _08132228 @ =gUnknown_203B128 - ldr r0, [r0] - cmp r0, 0 - beq _08132206 - bl Free -_08132206: - ldr r0, _0813222C @ =gUnknown_203B12C - ldr r0, [r0] - cmp r0, 0 - beq _08132212 - bl Free -_08132212: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0813221C: .4byte gUnknown_203B118 -_08132220: .4byte gUnknown_203B120 -_08132224: .4byte gUnknown_203B124 -_08132228: .4byte gUnknown_203B128 -_0813222C: .4byte gUnknown_203B12C - thumb_func_end sub_81321D4 - - thumb_func_start sub_8132230 -sub_8132230: @ 8132230 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08132264 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08132268 @ =sub_813226C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132264: .4byte gTasks -_08132268: .4byte sub_813226C - thumb_func_end sub_8132230 - - thumb_func_start sub_813226C -sub_813226C: @ 813226C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081322A4 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _081322A8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081322CC - ldrb r0, [r2] - ldr r4, _081322AC @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - ldr r0, _081322B0 @ =gUnknown_203B118 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _081322B4 - bl SetMainCallback2 - b _081322BE - .align 2, 0 -_081322A4: .4byte gTasks+0x8 -_081322A8: .4byte gPaletteFade -_081322AC: .4byte gUnknown_203B116 -_081322B0: .4byte gUnknown_203B118 -_081322B4: - adds r0, r4, 0 - subs r0, 0xA - ldr r0, [r0] - bl SetMainCallback2 -_081322BE: - bl sub_813208C - bl sub_81321D4 - adds r0, r5, 0 - bl DestroyTask -_081322CC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813226C - - thumb_func_start sub_81322D4 -sub_81322D4: @ 81322D4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08132340 @ =gTasks+0x8 - adds r6, r0, r1 - ldr r0, _08132344 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - bne _081323C8 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081323C8 - ldrb r0, [r6] - bl ListMenuHandleInput - adds r5, r0, 0 - ldrb r0, [r6] - ldr r4, _08132348 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl get_coro_args_x18_x1A - ldr r0, _0813234C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08132354 - adds r0, r4, 0 - subs r0, 0xA - ldrb r0, [r0, 0x5] - cmp r0, 0x1 - bne _08132354 - movs r0, 0x5 - bl PlaySE - ldr r0, _08132350 @ =gSpecialVar_ItemId - mov r1, r8 - strh r1, [r0] - b _08132370 - .align 2, 0 -_08132340: .4byte gTasks+0x8 -_08132344: .4byte gPaletteFade -_08132348: .4byte gUnknown_203B116 -_0813234C: .4byte gMain -_08132350: .4byte gSpecialVar_ItemId -_08132354: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08132364 - adds r0, 0x1 - cmp r5, r0 - bne _0813237C - b _081323C8 -_08132364: - movs r0, 0x5 - bl PlaySE - ldr r1, _08132378 @ =gSpecialVar_ItemId - movs r0, 0 - strh r0, [r1] -_08132370: - adds r0, r7, 0 - bl sub_8132230 - b _081323C8 - .align 2, 0 -_08132378: .4byte gSpecialVar_ItemId -_0813237C: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_8131F64 - bl sub_813208C - ldrb r0, [r6] - movs r1, 0x2 - bl sub_8131F90 - strh r5, [r6, 0x2] - lsls r4, r5, 16 - lsrs r4, 16 - movs r0, 0x4 - adds r1, r4, 0 - bl sub_809A7B4 - strh r0, [r6, 0x4] - movs r0, 0x4 - adds r1, r4, 0 - bl sub_809A798 - ldr r1, _081323D4 @ =gSpecialVar_ItemId - strh r0, [r1] - ldr r0, _081323D8 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r2, _081323DC @ =gUnknown_8463140 - ldr r0, _081323E0 @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - str r0, [r1] -_081323C8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081323D4: .4byte gSpecialVar_ItemId -_081323D8: .4byte gTasks -_081323DC: .4byte gUnknown_8463140 -_081323E0: .4byte gUnknown_203B10C - thumb_func_end sub_81322D4 - - thumb_func_start sub_81323E4 -sub_81323E4: @ 81323E4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_8131F64 - bl sub_8132018 - ldr r1, _0813240C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08132410 @ =sub_81322D4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813240C: .4byte gTasks -_08132410: .4byte sub_81322D4 - thumb_func_end sub_81323E4 - - thumb_func_start sub_8132414 -sub_8132414: @ 8132414 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0x2 - bl sub_8133368 - bl sub_80BF708 - lsls r0, 24 - cmp r0, 0 - bne _08132454 - bl InUnionRoom - cmp r0, 0x1 - beq _08132454 - ldr r4, _0813244C @ =gUnknown_203B118 - ldr r0, [r4] - adds r0, 0x7 - movs r1, 0 - bl sub_8133630 - ldr r1, [r4] - ldr r0, _08132450 @ =gUnknown_8463168 - str r0, [r1, 0xC] - movs r0, 0x3 - b _08132468 - .align 2, 0 -_0813244C: .4byte gUnknown_203B118 -_08132450: .4byte gUnknown_8463168 -_08132454: - ldr r4, _0813254C @ =gUnknown_203B118 - ldr r0, [r4] - adds r0, 0x7 - movs r1, 0x1 - bl sub_8133630 - ldr r1, [r4] - ldr r0, _08132550 @ =gUnknown_846316B - str r0, [r1, 0xC] - movs r0, 0x2 -_08132468: - strb r0, [r1, 0x10] - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldr r6, _0813254C @ =gUnknown_203B118 - ldr r1, [r6] - ldrb r2, [r1, 0x7] - movs r5, 0 - str r5, [sp] - str r0, [sp, 0x4] - ldrb r0, [r1, 0x10] - str r0, [sp, 0x8] - ldr r0, _08132554 @ =gUnknown_8463150 - str r0, [sp, 0xC] - ldr r0, [r1, 0xC] - str r0, [sp, 0x10] - adds r0, r2, 0 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0x2 - bl AddItemMenuActionTextPrinters - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r6] - ldrb r2, [r1, 0x7] - str r0, [sp] - ldrb r0, [r1, 0x10] - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r2, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl sub_810F7D8 - movs r0, 0x80 - lsls r0, 1 - bl Alloc - adds r4, r0, 0 - ldr r6, _08132558 @ =gSpecialVar_ItemId - ldrh r1, [r6] - bl sub_8131D48 - ldr r1, _0813255C @ =gUnknown_8416301 - adds r0, r4, 0 - bl StringAppend - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r5, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x2 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_81332EC - adds r0, r4, 0 - bl Free - ldrh r0, [r6] - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - beq _08132528 - movs r0, 0x2 - movs r1, 0 - movs r2, 0x2 - bl sub_81335B0 - movs r0, 0x2 - movs r1, 0x2 - bl CopyWindowToVram -_08132528: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, _08132560 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08132564 @ =sub_8132568 - str r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813254C: .4byte gUnknown_203B118 -_08132550: .4byte gUnknown_846316B -_08132554: .4byte gUnknown_8463150 -_08132558: .4byte gSpecialVar_ItemId -_0813255C: .4byte gUnknown_8416301 -_08132560: .4byte gTasks -_08132564: .4byte sub_8132568 - thumb_func_end sub_8132414 - - thumb_func_start sub_8132568 -sub_8132568: @ 8132568 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081325E0 - bl ProcessMenuInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _081325E0 - adds r0, 0x1 - cmp r4, r0 - bne _081325C0 - movs r0, 0x5 - bl PlaySE - ldr r2, _081325B8 @ =gUnknown_8463150 - ldr r0, _081325BC @ =gUnknown_203B118 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - ldr r1, [r1, 0xC] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _081325E0 - .align 2, 0 -_081325B8: .4byte gUnknown_8463150 -_081325BC: .4byte gUnknown_203B118 -_081325C0: - movs r0, 0x5 - bl PlaySE - ldr r1, _081325E8 @ =gUnknown_8463150 - ldr r0, _081325EC @ =gUnknown_203B118 - ldr r0, [r0] - ldr r0, [r0, 0xC] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_081325E0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081325E8: .4byte gUnknown_8463150 -_081325EC: .4byte gUnknown_203B118 - thumb_func_end sub_8132568 - - thumb_func_start sub_81325F0 -sub_81325F0: @ 81325F0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _08132634 @ =gUnknown_203B118 - ldr r0, [r5] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _08132638 - adds r0, r4, 0 - bl sub_81326F8 - b _0813264A - .align 2, 0 -_08132634: .4byte gUnknown_203B118 -_08132638: - ldr r1, _08132650 @ =gUnknown_3005E98 - ldr r0, _08132654 @ =sub_8125B40 - str r0, [r1] - ldr r1, [r5] - ldr r0, _08132658 @ =sub_8124C8C - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 -_0813264A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132650: .4byte gUnknown_3005E98 -_08132654: .4byte sub_8125B40 -_08132658: .4byte sub_8124C8C - thumb_func_end sub_81325F0 - - thumb_func_start sub_813265C -sub_813265C: @ 813265C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _081326D0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r6, _081326D4 @ =gUnknown_203B118 - ldr r0, [r6] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r4, 0 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081326EC - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _081326D8 - adds r0, r5, 0 - bl sub_81326F8 - b _081326F2 - .align 2, 0 -_081326D0: .4byte gTasks+0x8 -_081326D4: .4byte gUnknown_203B118 -_081326D8: - ldr r1, [r6] - ldr r0, _081326E8 @ =sub_8126EDC - str r0, [r1] - adds r0, r5, 0 - bl sub_8132230 - b _081326F2 - .align 2, 0 -_081326E8: .4byte sub_8126EDC -_081326EC: - adds r0, r5, 0 - bl sub_8132714 -_081326F2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813265C - - thumb_func_start sub_81326F8 -sub_81326F8: @ 81326F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813270C @ =gUnknown_841632A - ldr r3, _08132710 @ =sub_8132758 - movs r1, 0x2 - bl sub_813337C - pop {r0} - bx r0 - .align 2, 0 -_0813270C: .4byte gUnknown_841632A -_08132710: .4byte sub_8132758 - thumb_func_end sub_81326F8 - - thumb_func_start sub_8132714 -sub_8132714: @ 8132714 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08132744 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _08132748 @ =gStringVar1 - bl CopyItemName - ldr r5, _0813274C @ =gStringVar4 - ldr r1, _08132750 @ =gUnknown_841635E - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r3, _08132754 @ =sub_8132758 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl sub_813337C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132744: .4byte gSpecialVar_ItemId -_08132748: .4byte gStringVar1 -_0813274C: .4byte gStringVar4 -_08132750: .4byte gUnknown_841635E -_08132754: .4byte sub_8132758 - thumb_func_end sub_8132714 - - thumb_func_start sub_8132758 -sub_8132758: @ 8132758 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813277C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08132776 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_8132780 -_08132776: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813277C: .4byte gMain - thumb_func_end sub_8132758 - - thumb_func_start sub_8132780 -sub_8132780: @ 8132780 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _081327F0 @ =gTasks+0x8 - adds r5, r0 - ldrb r0, [r5] - ldr r4, _081327F4 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - ldr r0, _081327F8 @ =gUnknown_3005E70 - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r1, 0x1 - bl sub_8131F90 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x6 - bl ClearWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r6, 0 - bl sub_81323E4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081327F0: .4byte gTasks+0x8 -_081327F4: .4byte gUnknown_203B116 -_081327F8: .4byte gUnknown_3005E70 - thumb_func_end sub_8132780 - - thumb_func_start sub_81327FC -sub_81327FC: @ 81327FC - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132860 @ =gTasks+0x8 - adds r4, r0 - ldr r0, _08132864 @ =gUnknown_203B118 - ldr r0, [r0] - adds r0, 0x7 - bl sub_8133664 - movs r0, 0x2 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x2 - bl ClearWindowTilemap - movs r0, 0 - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8131F90 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - adds r0, r5, 0 - bl sub_81323E4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132860: .4byte gTasks+0x8 -_08132864: .4byte gUnknown_203B118 - thumb_func_end sub_81327FC - - thumb_func_start sub_8132868 -sub_8132868: @ 8132868 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _081328A0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081328AC - ldr r0, _081328A4 @ =gUnknown_203B118 - ldr r1, [r0] - ldr r0, _081328A8 @ =c2_8123744 - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 - b _081328B2 - .align 2, 0 -_081328A0: .4byte gTasks+0x8 -_081328A4: .4byte gUnknown_203B118 -_081328A8: .4byte c2_8123744 -_081328AC: - adds r0, r4, 0 - bl sub_8132714 -_081328B2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8132868 - - thumb_func_start sub_81328B8 -sub_81328B8: @ 81328B8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _081328F0 @ =gTasks+0x8 - adds r0, r1 - ldrh r1, [r0, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _081328FC - ldr r0, _081328F4 @ =gUnknown_203B118 - ldr r1, [r0] - ldr r0, _081328F8 @ =sub_808CE60 - str r0, [r1] - adds r0, r4, 0 - bl sub_8132230 - b _08132902 - .align 2, 0 -_081328F0: .4byte gTasks+0x8 -_081328F4: .4byte gUnknown_203B118 -_081328F8: .4byte sub_808CE60 -_081328FC: - adds r0, r4, 0 - bl sub_8132714 -_08132902: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81328B8 - - thumb_func_start sub_8132908 -sub_8132908: @ 8132908 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08132950 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r6, _08132954 @ =gSpecialVar_ItemId - ldrh r0, [r6] - bl itemid_get_market_price - lsls r0, 16 - cmp r0, 0 - bne _08132968 - ldrh r0, [r6] - ldr r1, _08132958 @ =gStringVar1 - bl CopyItemName - ldr r4, _0813295C @ =gStringVar4 - ldr r1, _08132960 @ =gUnknown_84168F1 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08132964 @ =sub_8132780 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_813337C - b _081329AE - .align 2, 0 -_08132950: .4byte gTasks+0x8 -_08132954: .4byte gSpecialVar_ItemId -_08132958: .4byte gStringVar1 -_0813295C: .4byte gStringVar4 -_08132960: .4byte gUnknown_84168F1 -_08132964: .4byte sub_8132780 -_08132968: - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08132980 - bl sub_81335E0 - adds r0, r5, 0 - bl sub_81329C4 - b _081329AE -_08132980: - cmp r0, 0x63 - ble _08132988 - movs r0, 0x63 - strh r0, [r4, 0x4] -_08132988: - ldrh r0, [r6] - ldr r1, _081329B4 @ =gStringVar1 - bl CopyItemName - ldr r4, _081329B8 @ =gStringVar4 - ldr r1, _081329BC @ =gUnknown_8416911 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _081329C0 @ =sub_8132AAC - adds r0, r7, 0 - adds r2, r4, 0 - bl sub_813337C -_081329AE: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081329B4: .4byte gStringVar1 -_081329B8: .4byte gStringVar4 -_081329BC: .4byte gUnknown_8416911 -_081329C0: .4byte sub_8132AAC - thumb_func_end sub_8132908 - - thumb_func_start sub_81329C4 -sub_81329C4: @ 81329C4 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132A20 @ =gTasks+0x8 - adds r4, r0 - ldr r6, _08132A24 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _08132A28 @ =gStringVar4 - ldr r1, _08132A2C @ =gUnknown_8416936 - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _08132A30 @ =sub_8132A34 - adds r0, r5, 0 - adds r2, r4, 0 - bl sub_813337C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132A20: .4byte gTasks+0x8 -_08132A24: .4byte gStringVar3 -_08132A28: .4byte gStringVar4 -_08132A2C: .4byte gUnknown_8416936 -_08132A30: .4byte sub_8132A34 - thumb_func_end sub_81329C4 - - thumb_func_start sub_8132A34 -sub_8132A34: @ 8132A34 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08132A44 @ =gUnknown_8463170 - bl sub_8133604 - pop {r0} - bx r0 - .align 2, 0 -_08132A44: .4byte gUnknown_8463170 - thumb_func_end sub_8132A34 - - thumb_func_start sub_8132A48 -sub_8132A48: @ 8132A48 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132AA8 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - ldrb r0, [r4] - movs r1, 0x1 - bl sub_8131F90 - adds r0, r5, 0 - bl sub_81323E4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08132AA8: .4byte gTasks+0x8 - thumb_func_end sub_8132A48 - - thumb_func_start sub_8132AAC -sub_8132AAC: @ 8132AAC - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _08132B48 @ =gTasks+0x8 - adds r0, r4, r6 - mov r8, r0 - movs r0, 0x7 - bl sub_8133354 - ldr r0, _08132B4C @ =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _08132B50 @ =gStringVar4 - ldr r1, _08132B54 @ =gUnknown_84162B9 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x7 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0x4 - bl sub_81332EC - mov r2, r8 - ldrh r1, [r2, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r3, r8 - movs r2, 0x10 - ldrsh r1, [r3, r2] - muls r1, r0 - movs r0, 0x1 - bl sub_8132B5C - bl sub_81335E0 - bl sub_8132054 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - subs r6, 0x8 - adds r4, r6 - ldr r0, _08132B58 @ =sub_8132BC8 - str r0, [r4] - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132B48: .4byte gTasks+0x8 -_08132B4C: .4byte gStringVar1 -_08132B50: .4byte gStringVar4 -_08132B54: .4byte gUnknown_84162B9 -_08132B58: .4byte sub_8132BC8 - thumb_func_end sub_8132AAC - - thumb_func_start sub_8132B5C -sub_8132B5C: @ 8132B5C - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x7 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _08132BBC @ =gStringVar1 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _08132BC0 @ =gStringVar4 - ldr r1, _08132BC4 @ =gUnknown_84162B9 - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x7 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0x4 - bl sub_81332EC - str r4, [sp] - movs r0, 0x7 - movs r1, 0x38 - movs r2, 0xA - adds r3, r6, 0 - bl PrintMoneyAmount - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132BBC: .4byte gStringVar1 -_08132BC0: .4byte gStringVar4 -_08132BC4: .4byte gUnknown_84162B9 - thumb_func_end sub_8132B5C - - thumb_func_start sub_8132BC8 -sub_8132BC8: @ 8132BC8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08132C14 @ =gTasks+0x8 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x10 - ldrh r1, [r5, 0x4] - bl sub_80BF848 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08132C18 - movs r0, 0x10 - ldrsh r4, [r5, r0] - ldrh r1, [r5, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r5, r2] - muls r1, r0 - adds r0, r4, 0 - bl sub_8132B5C - b _08132CA6 - .align 2, 0 -_08132C14: .4byte gTasks+0x8 -_08132C18: - ldr r0, _08132C4C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08132C50 - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_813208C - adds r0, r4, 0 - bl sub_81329C4 - b _08132CA6 - .align 2, 0 -_08132C4C: .4byte gMain -_08132C50: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132CA6 - movs r0, 0x5 - bl PlaySE - movs r0, 0x7 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - bl sub_813208C - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8131F90 - adds r0, r6, 0 - bl sub_81323E4 -_08132CA6: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8132BC8 - - thumb_func_start sub_8132CAC -sub_8132CAC: @ 8132CAC - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08132D18 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - ldr r0, _08132D1C @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _08132D20 @ =gStringVar1 - bl CopyItemName - ldr r6, _08132D24 @ =gStringVar3 - ldrh r1, [r4, 0x2] - movs r0, 0x4 - bl sub_809A798 - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _08132D28 @ =gStringVar4 - ldr r1, _08132D2C @ =gUnknown_8416959 - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _08132D30 @ =sub_8132D34 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl sub_813337C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132D18: .4byte gTasks+0x8 -_08132D1C: .4byte gSpecialVar_ItemId -_08132D20: .4byte gStringVar1 -_08132D24: .4byte gStringVar3 -_08132D28: .4byte gStringVar4 -_08132D2C: .4byte gUnknown_8416959 -_08132D30: .4byte sub_8132D34 - thumb_func_end sub_8132CAC - - thumb_func_start sub_8132D34 -sub_8132D34: @ 8132D34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r6, r0, 2 - adds r6, r0 - lsls r6, 3 - ldr r0, _08132DF4 @ =gTasks+0x8 - mov r9, r0 - adds r1, r6, 0 - add r1, r9 - mov r8, r1 - movs r0, 0xF8 - bl PlaySE - ldr r5, _08132DF8 @ =gSpecialVar_ItemId - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - bl RemoveBagItem - ldr r7, _08132DFC @ =gSaveBlock1Ptr - ldr r4, [r7] - movs r3, 0xA4 - lsls r3, 2 - mov r10, r3 - add r4, r10 - ldrh r0, [r5] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r8 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r1, r0 - adds r0, r4, 0 - bl AddMoney - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - movs r2, 0x2 - bl sub_809C09C - mov r3, r8 - ldrb r0, [r3] - ldr r4, _08132E00 @ =gUnknown_203B116 - subs r2, r4, 0x2 - adds r1, r4, 0 - bl sub_810713C - bl sub_81320BC - bl sub_8132120 - bl sub_8131C50 - ldr r0, _08132E04 @ =gUnknown_3005E70 - subs r4, 0xA - ldrh r1, [r4, 0xA] - ldrh r2, [r4, 0x8] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - movs r1, 0x2 - bl sub_8131F90 - ldr r0, [r7] - add r0, r10 - bl GetMoney - adds r1, r0, 0 - movs r0, 0x8 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - movs r2, 0x8 - negs r2, r2 - add r9, r2 - add r6, r9 - ldr r0, _08132E08 @ =sub_8132E0C - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08132DF4: .4byte gTasks+0x8 -_08132DF8: .4byte gSpecialVar_ItemId -_08132DFC: .4byte gSaveBlock1Ptr -_08132E00: .4byte gUnknown_203B116 -_08132E04: .4byte gUnknown_3005E70 -_08132E08: .4byte sub_8132E0C - thumb_func_end sub_8132D34 - - thumb_func_start sub_8132E0C -sub_8132E0C: @ 8132E0C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08132E60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08132E26 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132E5A -_08132E26: - movs r0, 0x5 - bl PlaySE - movs r0, 0x8 - movs r1, 0 - bl sub_810F4D8 - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - adds r0, r4, 0 - bl sub_8132780 -_08132E5A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132E60: .4byte gMain - thumb_func_end sub_8132E0C - - thumb_func_start sub_8132E64 -sub_8132E64: @ 8132E64 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, _08132EFC @ =gUnknown_203B11C - movs r0, 0xB2 - lsls r0, 1 - bl AllocZeroed - str r0, [r4] - ldr r5, _08132F00 @ =gSaveBlock1Ptr - ldr r1, [r5] - ldr r2, _08132F04 @ =0x00000464 - mov r8, r2 - add r1, r8 - movs r2, 0xE8 - bl memcpy - ldr r0, [r4] - adds r0, 0xE8 - ldr r1, [r5] - movs r6, 0xEE - lsls r6, 2 - adds r1, r6 - movs r2, 0x78 - bl memcpy - ldr r3, [r4] - ldr r2, _08132F08 @ =gUnknown_203B10C - ldrh r1, [r2, 0x8] - movs r4, 0xB0 - lsls r4, 1 - adds r0, r3, r4 - strh r1, [r0] - ldrh r0, [r2, 0xA] - movs r2, 0xB1 - lsls r2, 1 - adds r1, r3, r2 - strh r0, [r1] - ldr r0, [r5] - add r0, r8 - movs r1, 0x3A - bl ClearItemSlots - ldr r0, [r5] - adds r0, r6 - movs r1, 0x1E - bl ClearItemSlots - bl sub_81320AC - ldr r0, _08132F0C @ =0x00000121 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F10 @ =0x00000123 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F14 @ =0x00000129 - movs r1, 0x1 - bl AddBagItem - ldr r0, _08132F18 @ =0x00000143 - movs r1, 0x1 - bl AddBagItem - ldr r1, _08132F1C @ =sub_815ABFC - movs r0, 0x4 - movs r2, 0 - bl sub_81317F8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08132EFC: .4byte gUnknown_203B11C -_08132F00: .4byte gSaveBlock1Ptr -_08132F04: .4byte 0x00000464 -_08132F08: .4byte gUnknown_203B10C -_08132F0C: .4byte 0x00000121 -_08132F10: .4byte 0x00000123 -_08132F14: .4byte 0x00000129 -_08132F18: .4byte 0x00000143 -_08132F1C: .4byte sub_815ABFC - thumb_func_end sub_8132E64 - - thumb_func_start sub_8132F20 -sub_8132F20: @ 8132F20 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r3, r1, 3 - ldr r4, _08132F54 @ =gTasks+0x8 - adds r2, r3, r4 - ldr r0, _08132F58 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08132F4E - strh r0, [r2, 0x10] - strh r0, [r2, 0x12] - adds r0, r4, 0 - subs r0, 0x8 - adds r0, r3, r0 - ldr r1, _08132F5C @ =sub_8132F60 - str r1, [r0] -_08132F4E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08132F54: .4byte gTasks+0x8 -_08132F58: .4byte gPaletteFade -_08132F5C: .4byte sub_8132F60 - thumb_func_end sub_8132F20 - - thumb_func_start sub_8132F60 -sub_8132F60: @ 8132F60 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08132FA4 @ =gTasks+0x8 - adds r6, r0, r1 - ldr r0, _08132FA8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08132F8E - movs r1, 0x10 - ldrsh r0, [r6, r1] - cmp r0, 0x14 - bgt _08132F8E - movs r0, 0x15 - strh r0, [r6, 0x10] - bl sub_815AC20 -_08132F8E: - movs r3, 0x10 - ldrsh r0, [r6, r3] - cmp r0, 0x15 - bls _08132F98 - b _08133210 -_08132F98: - lsls r0, 2 - ldr r1, _08132FAC @ =_08132FB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08132FA4: .4byte gTasks+0x8 -_08132FA8: .4byte gMain -_08132FAC: .4byte _08132FB0 - .align 2, 0 -_08132FB0: - .4byte _08133008 - .4byte _08133024 - .4byte _08133050 - .4byte _08133050 - .4byte _08133050 - .4byte _08133080 - .4byte _08133080 - .4byte _08133080 - .4byte _081330B0 - .4byte _081330E0 - .4byte _081330F4 - .4byte _08133024 - .4byte _08133050 - .4byte _08133050 - .4byte _08133050 - .4byte _08133080 - .4byte _08133080 - .4byte _08133080 - .4byte _0813312C - .4byte _081330E0 - .4byte _0813315C - .4byte _08133170 -_08133008: - ldr r0, _08133020 @ =0xffff8405 - movs r1, 0 - str r1, [sp] - movs r1, 0x4 - movs r2, 0 - movs r3, 0x6 - bl BeginNormalPaletteFade - movs r0, 0x1 - bl sub_8131F64 - b _081331EA - .align 2, 0 -_08133020: .4byte 0xffff8405 -_08133024: - ldr r0, _0813304C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08133036 - b _08133232 -_08133036: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _08133046 - b _08133232 -_08133046: - strh r1, [r6, 0x12] - b _081331EA - .align 2, 0 -_0813304C: .4byte gPaletteFade -_08133050: - movs r0, 0x12 - ldrsh r1, [r6, r0] - cmp r1, 0 - bne _08133066 - ldr r0, _0813307C @ =gMain - strh r1, [r0, 0x2E] - movs r1, 0x80 - strh r1, [r0, 0x30] - ldrb r0, [r6] - bl ListMenuHandleInput -_08133066: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _08133076 - b _08133232 -_08133076: - movs r0, 0 - strh r0, [r6, 0x12] - b _081331EA - .align 2, 0 -_0813307C: .4byte gMain -_08133080: - movs r3, 0x12 - ldrsh r1, [r6, r3] - cmp r1, 0 - bne _08133096 - ldr r0, _081330AC @ =gMain - strh r1, [r0, 0x2E] - movs r1, 0x40 - strh r1, [r0, 0x30] - ldrb r0, [r6] - bl ListMenuHandleInput -_08133096: - ldrh r0, [r6, 0x12] - adds r0, 0x1 - strh r0, [r6, 0x12] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x65 - bgt _081330A6 - b _08133232 -_081330A6: - movs r0, 0 - strh r0, [r6, 0x12] - b _081331EA - .align 2, 0 -_081330AC: .4byte gMain -_081330B0: - movs r0, 0x1 - bl sub_8131F64 - ldr r2, _081330D4 @ =gUnknown_841C587 - adds r0, r4, 0 - movs r1, 0x4 - movs r3, 0 - bl sub_813337C - ldr r1, _081330D8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081330DC @ =sub_8132F60 - str r1, [r0] - b _081331EA - .align 2, 0 -_081330D4: .4byte gUnknown_841C587 -_081330D8: .4byte gTasks -_081330DC: .4byte sub_8132F60 -_081330E0: - bl RunTextPrinters - movs r0, 0x6 - bl IsTextPrinterActive - lsls r0, 16 - cmp r0, 0 - beq _081330F2 - b _08133232 -_081330F2: - b _081331EA -_081330F4: - ldr r0, _08133128 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08133102 - b _08133232 -_08133102: - movs r0, 0 - bl sub_8131F64 - movs r0, 0x80 - lsls r0, 3 - movs r1, 0 - str r1, [sp] - movs r2, 0x6 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0x6 - movs r1, 0 - bl sub_810F260 - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - b _081331EA - .align 2, 0 -_08133128: .4byte gMain -_0813312C: - movs r0, 0x1 - bl sub_8131F64 - ldr r2, _08133150 @ =gUnknown_841C693 - adds r0, r4, 0 - movs r1, 0x4 - movs r3, 0 - bl sub_813337C - ldr r1, _08133154 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08133158 @ =sub_8132F60 - str r1, [r0] - b _081331EA - .align 2, 0 -_08133150: .4byte gUnknown_841C693 -_08133154: .4byte gTasks -_08133158: .4byte sub_8132F60 -_0813315C: - ldr r0, _0813316C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _08133232 - b _081331EA - .align 2, 0 -_0813316C: .4byte gMain -_08133170: - ldr r0, _081331F4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0 - bne _08133232 - ldr r5, _081331F8 @ =gSaveBlock1Ptr - ldr r0, [r5] - ldr r1, _081331FC @ =0x00000464 - adds r0, r1 - ldr r4, _08133200 @ =gUnknown_203B11C - ldr r1, [r4] - movs r2, 0xE8 - bl memcpy - ldr r0, [r5] - movs r3, 0xEE - lsls r3, 2 - adds r0, r3 - ldr r1, [r4] - adds r1, 0xE8 - movs r2, 0x78 - bl memcpy - ldrb r0, [r6] - movs r1, 0 - movs r2, 0 - bl sub_810713C - ldr r2, _08133204 @ =gUnknown_203B10C - ldr r0, [r4] - movs r3, 0xB0 - lsls r3, 1 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2, 0x8] - adds r3, 0x2 - adds r1, r0, r3 - ldrh r1, [r1] - strh r1, [r2, 0xA] - bl Free - ldr r0, _08133208 @ =gPlttBufferFaded - ldr r1, _0813320C @ =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 1 - bl CpuFastSet - bl sub_8108CF0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - str r7, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_081331EA: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] - b _08133232 - .align 2, 0 -_081331F4: .4byte gPaletteFade -_081331F8: .4byte gSaveBlock1Ptr -_081331FC: .4byte 0x00000464 -_08133200: .4byte gUnknown_203B11C -_08133204: .4byte gUnknown_203B10C -_08133208: .4byte gPlttBufferFaded -_0813320C: .4byte gPlttBufferUnfaded -_08133210: - ldr r0, _0813323C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08133232 - ldr r0, _08133240 @ =gUnknown_203B10C - ldr r0, [r0] - bl SetMainCallback2 - bl sub_813208C - bl sub_81321D4 - adds r0, r4, 0 - bl DestroyTask -_08133232: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813323C: .4byte gPaletteFade -_08133240: .4byte gUnknown_203B10C - thumb_func_end sub_8132F60 - - thumb_func_start sub_8133244 -sub_8133244: @ 8133244 - push {r4,lr} - ldr r0, _081332E0 @ =gUnknown_8463190 - bl InitWindows - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x5B - movs r2, 0xE0 - bl sub_815001C - movs r0, 0 - movs r1, 0x64 - movs r2, 0xB0 - bl sub_814FEAC - movs r0, 0 - movs r1, 0x78 - movs r2, 0xD0 - bl sub_814FF2C - ldr r4, _081332E4 @ =gUnknown_841F408 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xA0 - movs r2, 0x20 - bl LoadPalette - ldr r4, _081332E8 @ =gUnknown_8463180 - adds r0, r4, 0 - movs r1, 0xF6 - movs r2, 0x4 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD6 - movs r2, 0x4 - bl LoadPalette - movs r0, 0xC0 - movs r1, 0x1 - bl sub_8107D38 - movs r4, 0 -_081332A4: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x8 - bls _081332A4 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x3 - bl PutWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081332E0: .4byte gUnknown_8463190 -_081332E4: .4byte gUnknown_841F408 -_081332E8: .4byte gUnknown_8463180 - thumb_func_end sub_8133244 - - thumb_func_start sub_81332EC -sub_81332EC: @ 81332EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r8, r5 - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - lsls r7, 24 - lsrs r7, 24 - mov r9, r7 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, _08133350 @ =gUnknown_8463184 - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r9 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08133350: .4byte gUnknown_8463184 - thumb_func_end sub_81332EC - - thumb_func_start sub_8133354 -sub_8133354: @ 8133354 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x5B - movs r3, 0xE - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_8133354 - - thumb_func_start sub_8133368 -sub_8133368: @ 8133368 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0x78 - movs r3, 0xD - bl SetWindowBorderStyle - pop {r0} - bx r0 - thumb_func_end sub_8133368 - - thumb_func_start sub_813337C -sub_813337C: @ 813337C - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x10 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - mov r8, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - bl sub_80F78A8 - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - str r6, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r1, 0x6 - movs r2, 0x64 - movs r3, 0xB - bl DisplayMessageAndContinueTask - movs r0, 0x1 - bl schedule_bg_copy_tilemap_to_vram - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813337C - - thumb_func_start sub_81333C4 -sub_81333C4: @ 81333C4 - push {r4,lr} - sub sp, 0xC - ldr r4, _081333FC @ =gUnknown_84166D3 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0x48 - subs r2, r0 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _08133400 @ =gUnknown_8463184 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x3 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081333FC: .4byte gUnknown_84166D3 -_08133400: .4byte gUnknown_8463184 - thumb_func_end sub_81333C4 - - thumb_func_start sub_8133404 -sub_8133404: @ 8133404 - push {lr} - movs r0, 0x4 - movs r1, 0x13 - movs r2, 0 - movs r3, 0 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x14 - movs r2, 0 - movs r3, 0xC - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x15 - movs r2, 0 - movs r3, 0x18 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x16 - movs r2, 0 - movs r3, 0x24 - bl sub_8107D68 - movs r0, 0x4 - movs r1, 0x2 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_8133404 - - thumb_func_start sub_8133444 -sub_8133444: @ 8133444 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0x28 - str r0, [sp] - movs r0, 0x30 - str r0, [sp, 0x4] - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillWindowPixelRect - cmp r4, 0 - bne _081334A8 - movs r4, 0 - movs r5, 0 -_0813346E: - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 26 - lsrs r0, 24 - str r0, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - ldr r2, _081334A4 @ =gUnknown_8416213 - movs r3, 0x7 - bl sub_81332EC - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _0813346E - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram - b _0813359A - .align 2, 0 -_081334A4: .4byte gUnknown_8416213 -_081334A8: - adds r0, r4, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r7, r0, 16 - ldr r1, _081334D8 @ =gBattleMoves - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r5, r0, r1 - ldrb r1, [r5, 0x2] - adds r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x5 - movs r2, 0 - movs r3, 0 - bl sub_8107D68 - ldrb r0, [r5, 0x1] - cmp r0, 0x1 - bhi _081334E0 - ldr r2, _081334DC @ =gUnknown_8416213 - b _081334F0 - .align 2, 0 -_081334D8: .4byte gBattleMoves -_081334DC: .4byte gUnknown_8416213 -_081334E0: - ldr r4, _08133524 @ =gStringVar1 - ldrb r1, [r5, 0x1] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 -_081334F0: - movs r0, 0xC - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x3 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - movs r3, 0x7 - bl sub_81332EC - ldr r2, _08133528 @ =gBattleMoves - lsls r1, r7, 1 - adds r0, r1, r7 - lsls r0, 2 - adds r2, r0, r2 - ldrb r0, [r2, 0x3] - adds r6, r1, 0 - cmp r0, 0 - bne _08133530 - ldr r2, _0813352C @ =gUnknown_8416213 - b _08133540 - .align 2, 0 -_08133524: .4byte gStringVar1 -_08133528: .4byte gBattleMoves -_0813352C: .4byte gUnknown_8416213 -_08133530: - ldr r4, _081335A8 @ =gStringVar1 - ldrb r1, [r2, 0x3] - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r2, r4, 0 -_08133540: - movs r0, 0x18 - str r0, [sp] - movs r4, 0 - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - mov r8, r0 - str r0, [sp, 0xC] - movs r0, 0x3 - mov r9, r0 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - movs r3, 0x7 - bl sub_81332EC - ldr r5, _081335A8 @ =gStringVar1 - ldr r1, _081335AC @ =gBattleMoves - adds r0, r6, r7 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x4] - adds r0, r5, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x24 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - mov r0, r8 - str r0, [sp, 0xC] - mov r0, r9 - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x3 - adds r2, r5, 0 - movs r3, 0x7 - bl sub_81332EC - movs r0, 0x5 - movs r1, 0x2 - bl CopyWindowToVram -_0813359A: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081335A8: .4byte gStringVar1 -_081335AC: .4byte gBattleMoves - thumb_func_end sub_8133444 - - thumb_func_start sub_81335B0 -sub_81335B0: @ 81335B0 - push {r4,lr} - sub sp, 0x8 - adds r4, r1, 0 - adds r3, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r1, _081335DC @ =gUnknown_8E99118 - movs r2, 0x10 - str r2, [sp] - movs r2, 0xC - str r2, [sp, 0x4] - adds r2, r4, 0 - bl BlitBitmapToWindow - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081335DC: .4byte gUnknown_8E99118 - thumb_func_end sub_81335B0 - - thumb_func_start sub_81335E0 -sub_81335E0: @ 81335E0 - push {lr} - ldr r0, _08133600 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r3, r0, 0 - movs r0, 0x8 - movs r1, 0x78 - movs r2, 0xD - bl PrintMoneyAmountInMoneyBoxWithBorder - pop {r0} - bx r0 - .align 2, 0 -_08133600: .4byte gSaveBlock1Ptr - thumb_func_end sub_81335E0 - - thumb_func_start sub_8133604 -sub_8133604: @ 8133604 - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813362C @ =gUnknown_84631E0 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x5B - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl sub_80BF5D0 - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0813362C: .4byte gUnknown_84631E0 - thumb_func_end sub_8133604 - - thumb_func_start sub_8133630 -sub_8133630: @ 8133630 - push {r4,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r4] - cmp r0, 0xFF - bne _08133656 - lsls r0, r1, 3 - ldr r1, _08133660 @ =gUnknown_84631E8 - adds r0, r1 - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - bl sub_8133354 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_08133656: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08133660: .4byte gUnknown_84631E8 - thumb_func_end sub_8133630 - - thumb_func_start sub_8133664 -sub_8133664: @ 8133664 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4] - movs r1, 0 - bl sub_810F4D8 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8133664 - - thumb_func_start sub_813368C -sub_813368C: @ 813368C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _081336E8 @ =gUnknown_8463220 - movs r1, 0x29 - movs r2, 0x2E - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - cmp r6, 0 - beq _081336F4 - adds r5, r6, 0 - subs r5, 0x21 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, _081336EC @ =gSprites - adds r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8133714 - ldr r0, _081336F0 @ =gBattleMoves - mov r8, r0 - adds r0, r6, 0 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r0, [r1, 0x2] - bl sub_8133730 - adds r0, r4, 0 - adds r1, r5, 0 - b _08133700 - .align 2, 0 -_081336E8: .4byte gUnknown_8463220 -_081336EC: .4byte gSprites -_081336F0: .4byte gBattleMoves -_081336F4: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _08133710 @ =gSprites - adds r0, r1 - movs r1, 0xFF -_08133700: - bl sub_8133790 - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08133710: .4byte gSprites - thumb_func_end sub_813368C - - thumb_func_start sub_8133714 -sub_8133714: @ 8133714 - push {lr} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x31 - bls _08133726 - movs r1, 0x1 - bl StartSpriteAnim - b _0813372C -_08133726: - movs r1, 0 - bl StartSpriteAnim -_0813372C: - pop {r0} - bx r0 - thumb_func_end sub_8133714 - - thumb_func_start sub_8133730 -sub_8133730: @ 8133730 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xC8 - lsls r0, 1 - bl IndexOfSpritePaletteTag - lsls r0, 28 - lsrs r5, r0, 24 - ldr r2, _08133784 @ =gUnknown_203B12C - ldr r0, _08133788 @ =gUnknown_8463238 - lsls r4, 1 - adds r4, r0 - ldrh r1, [r4] - lsls r1, 1 - ldr r0, [r2] - adds r0, r1 - movs r1, 0x80 - lsls r1, 1 - adds r2, r1, 0 - adds r1, r5, 0 - orrs r1, r2 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0813378C @ =gUnknown_203B10C - ldrb r0, [r0, 0x4] - cmp r0, 0x4 - bne _0813377C - adds r1, r5, 0 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x4 - movs r2, 0 - bl BlendPalettes -_0813377C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08133784: .4byte gUnknown_203B12C -_08133788: .4byte gUnknown_8463238 -_0813378C: .4byte gUnknown_203B10C - thumb_func_end sub_8133730 - - thumb_func_start sub_8133790 -sub_8133790: @ 8133790 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - cmp r4, 0xFF - bne _081337A6 - movs r6, 0x1B - movs r1, 0x36 - movs r0, 0x14 - strh r0, [r5, 0x26] - b _081337D8 -_081337A6: - cmp r4, 0x31 - bls _081337B0 - adds r0, r4, 0 - subs r0, 0x32 - b _081337B4 -_081337B0: - adds r0, r4, 0 - adds r0, 0x8 -_081337B4: - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 9 - movs r1, 0x3A - bl __divsi3 - asrs r0, 8 - movs r1, 0x29 - subs r6, r1, r0 - lsls r0, r4, 11 - movs r1, 0x3A - bl __divsi3 - asrs r0, 8 - adds r1, r0, 0 - adds r1, 0x2E -_081337D8: - strh r6, [r5, 0x20] - strh r1, [r5, 0x22] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8133790 - - thumb_func_start sub_81337E4 -sub_81337E4: @ 81337E4 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08133808 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r0, r2, r3 - movs r4, 0 - strh r1, [r0, 0x2E] - strh r4, [r0, 0x30] - adds r3, 0x1C - adds r2, r3 - ldr r0, _0813380C @ =sub_8133810 - str r0, [r2] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08133808: .4byte gSprites -_0813380C: .4byte sub_8133810 - thumb_func_end sub_81337E4 - - thumb_func_start sub_8133810 -sub_8133810: @ 8133810 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x30 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08133822 - cmp r0, 0x1 - beq _08133886 - b _081338A2 -_08133822: - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0x13 - ble _08133880 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08133890 - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldr r4, _08133878 @ =gBattleMoves - ldrh r0, [r5, 0x2E] - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r0, [r1, 0x2] - bl sub_8133730 - ldr r2, _0813387C @ =0xfffffedf - adds r1, r2, 0 - ldrh r0, [r5, 0x2E] - adds r1, r0 - strh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8133714 - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl sub_8133790 - b _081338A2 - .align 2, 0 -_08133878: .4byte gBattleMoves -_0813387C: .4byte 0xfffffedf -_08133880: - adds r0, r1, 0 - adds r0, 0xA - b _081338A0 -_08133886: - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0 - bgt _0813389C -_08133890: - ldr r0, _08133898 @ =SpriteCallbackDummy - str r0, [r5, 0x1C] - b _081338A2 - .align 2, 0 -_08133898: .4byte SpriteCallbackDummy -_0813389C: - adds r0, r1, 0 - subs r0, 0xA -_081338A0: - strh r0, [r5, 0x26] -_081338A2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8133810 - - thumb_func_start sub_81338A8 -sub_81338A8: @ 81338A8 - push {r4,r5,lr} - sub sp, 0x8 - ldr r4, _081338F4 @ =gUnknown_203B12C - movs r5, 0x88 - lsls r5, 2 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - str r1, [r4] - ldr r0, _081338F8 @ =gUnknown_8E84F20 - bl LZDecompressWram - ldr r0, _081338FC @ =gUnknown_8E85068 - ldr r1, [r4] - movs r2, 0x80 - lsls r2, 2 - adds r1, r2 - bl LZDecompressWram - ldr r0, [r4] - adds r0, r5 - str r0, [sp] - ldr r1, _08133900 @ =0xffff0000 - ldr r0, [sp, 0x4] - ands r0, r1 - movs r1, 0xC8 - lsls r1, 1 - orrs r0, r1 - str r0, [sp, 0x4] - mov r0, sp - bl LoadSpritePalette - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081338F4: .4byte gUnknown_203B12C -_081338F8: .4byte gUnknown_8E84F20 -_081338FC: .4byte gUnknown_8E85068 -_08133900: .4byte 0xffff0000 - thumb_func_end sub_81338A8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index e9fcddf2d..ea2221aa1 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -20,7 +20,7 @@ sub_804C600: @ 804C600 strb r0, [r2, 0x8] ldr r0, _0804C6FC @ =sub_804D4F8 bl SetVBlankCallback - ldr r4, _0804C700 @ =gUnknown_841F408 + ldr r4, _0804C700 @ =gTMCaseMainWindowPalette adds r0, r4, 0 movs r1, 0xF0 movs r2, 0x14 @@ -118,7 +118,7 @@ _0804C6F0: .align 2, 0 _0804C6F8: .4byte gPaletteFade _0804C6FC: .4byte sub_804D4F8 -_0804C700: .4byte gUnknown_841F408 +_0804C700: .4byte gTMCaseMainWindowPalette _0804C704: .4byte gUnknown_8261F1C _0804C708: .4byte gUnknown_2031DA8 _0804C70C: .4byte gUnknown_8261F2C @@ -2487,7 +2487,7 @@ _0804DB1A: bne _0804DB5A adds r0, r4, 0 movs r1, 0x2 - ldr r2, _0804DB74 @ =gUnknown_8246BE5 + ldr r2, _0804DB74 @ = gSpeciesNames + 0xD05 bl SetMonData _0804DB5A: adds r4, 0x64 @@ -2500,7 +2500,7 @@ _0804DB5A: _0804DB68: .4byte gEnemyParty _0804DB6C: .4byte 0x0000012f _0804DB70: .4byte gUnknown_8262034 -_0804DB74: .4byte gUnknown_8246BE5 +_0804DB74: .4byte gSpeciesNames+0xD05 _0804DB78: ldr r2, _0804DBA8 @ =gUnknown_2031DA8 ldr r1, [r2] @@ -3390,7 +3390,7 @@ _0804E208: movs r1, 0x3 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x1 bl PutWindowTilemap movs r0, 0x1 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index e44503915..0b0d6c2cf 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -18,7 +18,7 @@ sub_8088FF0: @ 8088FF0 cmp r0, 0 beq _08089020 ldr r1, _08089028 @ =0x040000d4 - ldr r0, _0808902C @ =gUnknown_2038700 + ldr r0, _0808902C @ =gScanlineEffectRegBuffers str r0, [r1] movs r2, 0xF0 lsls r2, 3 @@ -33,7 +33,7 @@ _08089020: .align 2, 0 _08089024: .4byte gUnknown_20397A4 _08089028: .4byte 0x040000d4 -_0808902C: .4byte gUnknown_2038700 +_0808902C: .4byte gScanlineEffectRegBuffers _08089030: .4byte 0x800000a0 thumb_func_end sub_8088FF0 @@ -44,7 +44,7 @@ sub_8089034: @ 8089034 ldrh r3, [r4] movs r0, 0 strh r0, [r4] - ldr r1, _08089064 @ =gUnknown_2038700 + ldr r1, _08089064 @ =gScanlineEffectRegBuffers ldr r0, _08089068 @ =0x04000006 ldrh r2, [r0] movs r0, 0xFF @@ -63,7 +63,7 @@ sub_8089034: @ 8089034 bx r0 .align 2, 0 _08089060: .4byte 0x04000208 -_08089064: .4byte gUnknown_2038700 +_08089064: .4byte gScanlineEffectRegBuffers _08089068: .4byte 0x04000006 _0808906C: .4byte 0x04000012 thumb_func_end sub_8089034 @@ -291,7 +291,7 @@ _0808924A: cmp r0, 0 beq _08089280 movs r0, 0xB - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_808B1D4 movs r0, 0xF2 bl PlaySE @@ -387,7 +387,7 @@ _0808931C: .4byte gMain _08089320: .4byte gReceivedRemoteLinkPlayers _08089324: movs r0, 0xA - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 bl sub_808B1D4 ldr r0, _08089340 @ =gUnknown_20397A4 ldr r1, [r0] @@ -431,7 +431,7 @@ _0808937A: bl sub_800AAC0 movs r0, 0 movs r1, 0x1 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _080893B0 @ =gUnknown_8419D89 movs r0, 0x1 str r0, [sp] @@ -1647,7 +1647,7 @@ sub_8089D8C: @ 8089D8C ldr r0, _08089DA0 @ =sub_8089070 bl SetMainCallback2 movs r0, 0xA - bl sub_812B1F0 + bl HelpSystem_SetSomeVariable2 pop {r0} bx r0 .align 2, 0 @@ -1658,7 +1658,7 @@ _08089DA0: .4byte sub_8089070 sub_8089DA4: @ 8089DA4 push {lr} bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop ldr r0, _08089DC4 @ =sub_80890C0 movs r1, 0 bl CreateTask @@ -4179,10 +4179,10 @@ sub_808B254: @ 808B254 bl HideBg movs r0, 0x3 bl HideBg - bl remove_some_task - bl dp12_8087EA4 + bl ScanlineEffect_Stop + bl ScanlineEffect_Clear movs r1, 0 - ldr r0, _0808B290 @ =gUnknown_2038700 + ldr r0, _0808B290 @ =gScanlineEffectRegBuffers movs r2, 0 movs r3, 0xF0 lsls r3, 3 @@ -4201,7 +4201,7 @@ _0808B278: pop {r1} bx r1 .align 2, 0 -_0808B290: .4byte gUnknown_2038700 +_0808B290: .4byte gScanlineEffectRegBuffers thumb_func_end sub_808B254 thumb_func_start sub_808B294 @@ -4271,7 +4271,7 @@ _0808B2CA: movs r2, 0 cmp r2, r7 bcs _0808B334 - ldr r3, _0808B3C0 @ =gUnknown_2038700 + ldr r3, _0808B3C0 @ =gScanlineEffectRegBuffers _0808B31C: lsls r0, r2, 16 asrs r0, 16 @@ -4296,7 +4296,7 @@ _0808B334: lsrs r7, r4, 16 cmp r1, r0 bge _0808B36C - ldr r0, _0808B3C0 @ =gUnknown_2038700 + ldr r0, _0808B3C0 @ =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _0808B34E: @@ -4321,7 +4321,7 @@ _0808B36C: asrs r0, r1, 16 cmp r0, 0x9F bgt _0808B38A - ldr r2, _0808B3C0 @ =gUnknown_2038700 + ldr r2, _0808B3C0 @ =gScanlineEffectRegBuffers _0808B378: asrs r0, r1, 16 lsls r1, r0, 1 @@ -4359,7 +4359,7 @@ _0808B3A2: _0808B3B4: .4byte gUnknown_20397A4 _0808B3B8: .4byte 0x00007bcc _0808B3BC: .4byte 0xffff0000 -_0808B3C0: .4byte gUnknown_2038700 +_0808B3C0: .4byte gScanlineEffectRegBuffers thumb_func_end sub_808B294 thumb_func_start sub_808B3C4 @@ -4612,7 +4612,7 @@ _0808B572: movs r2, 0 cmp r2, r7 bcs _0808B5DC - ldr r3, _0808B668 @ =gUnknown_2038700 + ldr r3, _0808B668 @ =gScanlineEffectRegBuffers _0808B5C4: lsls r0, r2, 16 asrs r0, 16 @@ -4637,7 +4637,7 @@ _0808B5DC: lsrs r7, r4, 16 cmp r1, r0 bge _0808B612 - ldr r0, _0808B668 @ =gUnknown_2038700 + ldr r0, _0808B668 @ =gScanlineEffectRegBuffers mov r12, r0 adds r4, r3, 0 _0808B5F6: @@ -4661,7 +4661,7 @@ _0808B612: asrs r0, r1, 16 cmp r0, 0x9F bgt _0808B630 - ldr r2, _0808B668 @ =gUnknown_2038700 + ldr r2, _0808B668 @ =gScanlineEffectRegBuffers _0808B61E: asrs r0, r1, 16 lsls r1, r0, 1 @@ -4699,7 +4699,7 @@ _0808B648: _0808B65C: .4byte gUnknown_20397A4 _0808B660: .4byte 0x00007bcc _0808B664: .4byte 0xffff0000 -_0808B668: .4byte gUnknown_2038700 +_0808B668: .4byte gScanlineEffectRegBuffers thumb_func_end sub_808B540 thumb_func_start sub_808B66C diff --git a/asm/trig.s b/asm/trig.s index ca1993b60..1a82afd65 100644 --- a/asm/trig.s +++ b/asm/trig.s @@ -9,7 +9,7 @@ Sin: @ 8044E30 lsls r1, 16 asrs r1, 16 - ldr r2, _08044E48 @ =gUnknown_825E074 + ldr r2, _08044E48 @ =gSineTable lsls r0, 16 asrs r0, 15 adds r0, r2 @@ -20,14 +20,14 @@ Sin: @ 8044E30 asrs r0, 16 bx lr .align 2, 0 -_08044E48: .4byte gUnknown_825E074 +_08044E48: .4byte gSineTable thumb_func_end Sin thumb_func_start Cos Cos: @ 8044E4C lsls r1, 16 asrs r1, 16 - ldr r2, _08044E68 @ =gUnknown_825E074 + ldr r2, _08044E68 @ =gSineTable lsls r0, 16 asrs r0, 15 adds r0, 0x80 @@ -39,7 +39,7 @@ Cos: @ 8044E4C asrs r0, 16 bx lr .align 2, 0 -_08044E68: .4byte gUnknown_825E074 +_08044E68: .4byte gSineTable thumb_func_end Cos thumb_func_start Sin2 diff --git a/asm/union_room_chat.s b/asm/union_room_chat.s index c61c9a3d8..fcf0ceb19 100644 --- a/asm/union_room_chat.s +++ b/asm/union_room_chat.s @@ -200,7 +200,7 @@ sub_81285B4: @ 81285B4 bl TransferPlttBuffer bl LoadOam bl ProcessSpriteCopyRequests - bl sub_8087F54 + bl ScanlineEffect_InitHBlankDmaTransfer pop {r0} bx r0 thumb_func_end sub_81285B4 @@ -3046,7 +3046,7 @@ sub_8129B88: @ 8129B88 str r0, [r4] _08129B9E: bl FreeAllWindowBuffers - ldr r1, _08129BB4 @ =gUnknown_2039600 + ldr r1, _08129BB4 @ =gScanlineEffect movs r0, 0x3 strb r0, [r1, 0x15] pop {r4} @@ -3054,7 +3054,7 @@ _08129B9E: bx r0 .align 2, 0 _08129BB0: .4byte gUnknown_203B0E4 -_08129BB4: .4byte gUnknown_2039600 +_08129BB4: .4byte gScanlineEffect thumb_func_end sub_8129B88 thumb_func_start sub_8129BB8 @@ -4299,7 +4299,7 @@ sub_812A424: @ 812A424 movs r1, 0x2 movs r2, 0 movs r3, 0x2 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow _0812A4F0: add sp, 0x14 pop {r3} @@ -5000,7 +5000,7 @@ sub_812AA10: @ 812AA10 movs r1, 0x2 movs r2, 0 movs r3, 0 - bl sub_810F7D8 + bl ProgramAndPlaceMenuCursorOnWindow movs r0, 0x3 bl PutWindowTilemap add sp, 0xC @@ -5355,14 +5355,14 @@ sub_812AD20: @ 812AD20 movs r1, 0xA movs r2, 0x20 bl sub_814FF2C - ldr r0, _0812AD4C @ =gUnknown_841F408 + ldr r0, _0812AD4C @ =gTMCaseMainWindowPalette movs r1, 0xE0 movs r2, 0x20 bl LoadPalette pop {r0} bx r0 .align 2, 0 -_0812AD4C: .4byte gUnknown_841F408 +_0812AD4C: .4byte gTMCaseMainWindowPalette thumb_func_end sub_812AD20 thumb_func_start sub_812AD50 @@ -5384,13 +5384,13 @@ sub_812AD50: @ 812AD50 strh r1, [r0, 0x20] str r1, [sp, 0xC] add r0, sp, 0xC - ldr r1, _0812AD98 @ =gUnknown_2038700 + ldr r1, _0812AD98 @ =gScanlineEffectRegBuffers ldr r2, _0812AD9C @ =0x010003c0 bl CpuFastSet ldr r0, [sp] ldr r1, [sp, 0x4] ldr r2, [sp, 0x8] - bl sub_8087EE4 + bl ScanlineEffect_SetParams add sp, 0x10 pop {r0} bx r0 @@ -5398,7 +5398,7 @@ sub_812AD50: @ 812AD50 _0812AD8C: .4byte 0xa2600001 _0812AD90: .4byte 0x04000014 _0812AD94: .4byte gUnknown_203B0E4 -_0812AD98: .4byte gUnknown_2038700 +_0812AD98: .4byte gScanlineEffectRegBuffers _0812AD9C: .4byte 0x010003c0 thumb_func_end sub_812AD50 @@ -5410,12 +5410,12 @@ sub_812ADA0: @ 812ADA0 lsrs r0, 16 mov r1, sp strh r0, [r1] - ldr r5, _0812ADE8 @ =gUnknown_2039600 + ldr r5, _0812ADE8 @ =gScanlineEffect ldrb r0, [r5, 0x14] lsls r1, r0, 4 subs r1, r0 lsls r1, 7 - ldr r4, _0812ADEC @ =gUnknown_2038700 + ldr r4, _0812ADEC @ =gScanlineEffectRegBuffers adds r1, r4 ldr r2, _0812ADF0 @ =0x01000090 mov r0, sp @@ -5439,8 +5439,8 @@ sub_812ADA0: @ 812ADA0 pop {r0} bx r0 .align 2, 0 -_0812ADE8: .4byte gUnknown_2039600 -_0812ADEC: .4byte gUnknown_2038700 +_0812ADE8: .4byte gScanlineEffect +_0812ADEC: .4byte gScanlineEffectRegBuffers _0812ADF0: .4byte 0x01000090 _0812ADF4: .4byte 0x01000010 thumb_func_end sub_812ADA0 @@ -5457,7 +5457,7 @@ sub_812ADF8: @ 812ADF8 lsrs r4, 16 mov r0, sp strh r4, [r0] - ldr r5, _0812AE64 @ =gUnknown_2038700 + ldr r5, _0812AE64 @ =gScanlineEffectRegBuffers ldr r0, _0812AE68 @ =0x01000090 mov r9, r0 mov r0, sp @@ -5498,7 +5498,7 @@ sub_812ADF8: @ 812ADF8 pop {r0} bx r0 .align 2, 0 -_0812AE64: .4byte gUnknown_2038700 +_0812AE64: .4byte gScanlineEffectRegBuffers _0812AE68: .4byte 0x01000090 _0812AE6C: .4byte 0x01000010 thumb_func_end sub_812ADF8 diff --git a/asm/unk_8147AA8.s b/asm/unk_8147AA8.s index c495dc281..36b8940ab 100644 --- a/asm/unk_8147AA8.s +++ b/asm/unk_8147AA8.s @@ -7393,7 +7393,7 @@ _0814B1EC: movs r0, 0 strh r0, [r5, 0x30] _0814B1FE: - ldr r1, _0814B22C @ =gUnknown_825E074 + ldr r1, _0814B22C @ =gSineTable movs r2, 0x30 ldrsh r0, [r5, r2] lsls r0, 1 @@ -7417,7 +7417,7 @@ _0814B1FE: strh r1, [r5, 0x2E] b _0814B234 .align 2, 0 -_0814B22C: .4byte gUnknown_825E074 +_0814B22C: .4byte gSineTable _0814B230: ldr r0, _0814B23C @ =SpriteCallbackDummy str r0, [r5, 0x1C] diff --git a/asm/unk_814BB4C.s b/asm/unk_814BB4C.s index 9c0e0503b..5ad566185 100644 --- a/asm/unk_814BB4C.s +++ b/asm/unk_814BB4C.s @@ -201,7 +201,7 @@ _0814BC98: _0814BCA2: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldrb r1, [r5, 0x1] movs r0, 0x2 mov r8, r0 @@ -287,7 +287,7 @@ _0814BD48: beq _0814BD5A movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame _0814BD5A: ldrb r0, [r7, 0xE] movs r1, 0x1 @@ -597,7 +597,7 @@ _0814BFA0: .4byte gUnknown_83DFC9C _0814BFA4: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame movs r0, 0xA movs r1, 0x1 movs r2, 0 @@ -2855,7 +2855,7 @@ _0814D106: beq _0814D17E movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _0814D148 @ =gUnknown_8419F54 movs r0, 0 str r0, [sp] @@ -2979,7 +2979,7 @@ _0814D204: _0814D206: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame movs r4, 0 str r4, [sp] adds r0, r6, 0 @@ -3159,7 +3159,7 @@ _0814D34A: _0814D356: movs r0, 0 movs r1, 0x1 - bl sub_80F6F54 + bl ClearDialogWindowAndFrame adds r0, r5, 0 bl sub_814DA04 movs r0, 0x1 @@ -3217,7 +3217,7 @@ _0814D3BA: _0814D3C0: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldrh r1, [r5, 0x14] cmp r1, 0x3 bne _0814D3F0 diff --git a/asm/unk_814D5C8.s b/asm/unk_814D5C8.s index 4c78d4459..422d34f07 100644 --- a/asm/unk_814D5C8.s +++ b/asm/unk_814D5C8.s @@ -49,7 +49,7 @@ _0814D61C: movs r0, 0 movs r1, 0 bl SetGpuReg - bl remove_some_task + bl ScanlineEffect_Stop bl reset_temp_tile_data_buffers b _0814D878 _0814D63A: @@ -186,8 +186,8 @@ _0814D768: beq _0814D774 b _0814D87E _0814D774: - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 adds r0, r5, 0 bl sub_814EB38 adds r0, r5, 0 diff --git a/asm/unk_81507FC.s b/asm/unk_81507FC.s index e0448643e..324a6b48c 100644 --- a/asm/unk_81507FC.s +++ b/asm/unk_81507FC.s @@ -10657,7 +10657,7 @@ _08155A9C: _08155AA6: movs r0, 0 movs r1, 0 - bl sub_80F6EE4 + bl DrawDialogueFrame ldr r2, _08155ACC @ =gUnknown_8419F54 str r4, [sp] movs r0, 0x2 @@ -11276,8 +11276,8 @@ _08155EC6: movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_80F6C6C - bl sub_80F6C98 + bl InitStandardTextBoxWindows + bl ResetBg0 movs r1, 0x82 lsls r1, 5 movs r0, 0 diff --git a/asm/unk_815F138.s b/asm/unk_815F138.s index eaca7d2a4..3a1d49e81 100644 --- a/asm/unk_815F138.s +++ b/asm/unk_815F138.s @@ -500,7 +500,7 @@ _0815F4DC: adds r0, 0x1 strh r0, [r4] _0815F4FA: - ldr r0, _0815F50C @ =gUnknown_825E074 + ldr r0, _0815F50C @ =gSineTable movs r2, 0x2 ldrsh r1, [r4, r2] lsls r1, 1 @@ -510,7 +510,7 @@ _0815F4FA: asrs r0, 4 b _0815F53E .align 2, 0 -_0815F50C: .4byte gUnknown_825E074 +_0815F50C: .4byte gSineTable _0815F510: ldrh r0, [r4, 0x2] adds r0, 0x10 @@ -527,7 +527,7 @@ _0815F510: adds r0, 0x1 strh r0, [r4] _0815F52E: - ldr r1, _0815F544 @ =gUnknown_825E074 + ldr r1, _0815F544 @ =gSineTable movs r2, 0x2 ldrsh r0, [r4, r2] lsls r0, 1 @@ -540,7 +540,7 @@ _0815F53E: strh r0, [r5, 0x26] b _0815F55A .align 2, 0 -_0815F544: .4byte gUnknown_825E074 +_0815F544: .4byte gSineTable _0815F548: ldrh r0, [r4, 0x2] adds r0, 0x1 diff --git a/asm/unknown_task.s b/asm/unknown_task.s deleted file mode 100644 index 6f417a4a1..000000000 --- a/asm/unknown_task.s +++ /dev/null @@ -1,644 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start remove_some_task -remove_some_task: @ 8087E64 - push {r4,lr} - ldr r4, _08087E94 @ =gUnknown_2039600 - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, _08087E98 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _08087E9C @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _08087EA0 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x18] - cmp r0, 0xFF - beq _08087E8E - bl DestroyTask - movs r0, 0xFF - strb r0, [r4, 0x18] -_08087E8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087E94: .4byte gUnknown_2039600 -_08087E98: .4byte 0x040000b0 -_08087E9C: .4byte 0x0000c5ff -_08087EA0: .4byte 0x00007fff - thumb_func_end remove_some_task - - thumb_func_start dp12_8087EA4 -dp12_8087EA4: @ 8087EA4 - push {r4,lr} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r1, _08087ED8 @ =gUnknown_2038700 - ldr r2, _08087EDC @ =0x01000780 - bl CpuSet - ldr r0, _08087EE0 @ =gUnknown_2039600 - movs r1, 0 - str r1, [r0] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - str r1, [r0, 0xC] - strb r4, [r0, 0x14] - strb r4, [r0, 0x15] - strb r4, [r0, 0x16] - strb r4, [r0, 0x17] - movs r1, 0xFF - strb r1, [r0, 0x18] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087ED8: .4byte gUnknown_2038700 -_08087EDC: .4byte 0x01000780 -_08087EE0: .4byte gUnknown_2039600 - thumb_func_end dp12_8087EA4 - - thumb_func_start sub_8087EE4 -sub_8087EE4: @ 8087EE4 - push {lr} - sub sp, 0xC - str r0, [sp] - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, _08087F08 @ =0xa2600001 - cmp r1, r0 - bne _08087F18 - ldr r0, _08087F0C @ =gUnknown_2039600 - ldr r1, _08087F10 @ =gUnknown_2038702 - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, _08087F14 @ =sub_8087FE0 - b _08087F28 - .align 2, 0 -_08087F08: .4byte 0xa2600001 -_08087F0C: .4byte gUnknown_2039600 -_08087F10: .4byte gUnknown_2038702 -_08087F14: .4byte sub_8087FE0 -_08087F18: - ldr r0, _08087F48 @ =gUnknown_2039600 - ldr r1, _08087F4C @ =gUnknown_2038704 - str r1, [r0] - movs r2, 0xF0 - lsls r2, 3 - adds r1, r2 - str r1, [r0, 0x4] - ldr r1, _08087F50 @ =sub_8088000 -_08087F28: - str r1, [r0, 0x10] - adds r1, r0, 0 - ldr r0, [sp, 0x4] - str r0, [r1, 0xC] - ldr r0, [sp] - str r0, [r1, 0x8] - mov r0, sp - ldrb r0, [r0, 0x8] - strb r0, [r1, 0x15] - mov r0, sp - ldrb r0, [r0, 0x9] - strb r0, [r1, 0x16] - strb r0, [r1, 0x17] - add sp, 0xC - pop {r0} - bx r0 - .align 2, 0 -_08087F48: .4byte gUnknown_2039600 -_08087F4C: .4byte gUnknown_2038704 -_08087F50: .4byte sub_8088000 - thumb_func_end sub_8087EE4 - - thumb_func_start sub_8087F54 -sub_8087F54: @ 8087F54 - push {r4,lr} - ldr r4, _08087F84 @ =gUnknown_2039600 - ldrb r0, [r4, 0x15] - cmp r0, 0 - beq _08087FCE - cmp r0, 0x3 - bne _08087F98 - movs r0, 0 - strb r0, [r4, 0x15] - ldr r1, _08087F88 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _08087F8C @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _08087F90 @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r1, _08087F94 @ =gUnknown_203961C - movs r0, 0x1 - strb r0, [r1] - b _08087FCE - .align 2, 0 -_08087F84: .4byte gUnknown_2039600 -_08087F88: .4byte 0x040000b0 -_08087F8C: .4byte 0x0000c5ff -_08087F90: .4byte 0x00007fff -_08087F94: .4byte gUnknown_203961C -_08087F98: - ldr r1, _08087FD4 @ =0x040000b0 - ldrh r2, [r1, 0xA] - ldr r0, _08087FD8 @ =0x0000c5ff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r2, [r1, 0xA] - ldr r0, _08087FDC @ =0x00007fff - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldrb r0, [r4, 0x14] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - str r0, [r1] - ldr r0, [r4, 0x8] - str r0, [r1, 0x4] - ldr r0, [r4, 0xC] - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, [r4, 0x10] - bl _call_via_r0 - ldrb r0, [r4, 0x14] - movs r1, 0x1 - eors r0, r1 - strb r0, [r4, 0x14] -_08087FCE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08087FD4: .4byte 0x040000b0 -_08087FD8: .4byte 0x0000c5ff -_08087FDC: .4byte 0x00007fff - thumb_func_end sub_8087F54 - - thumb_func_start sub_8087FE0 -sub_8087FE0: @ 8087FE0 - ldr r0, _08087FF8 @ =gUnknown_2039600 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _08087FFC @ =gUnknown_2038700 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_08087FF8: .4byte gUnknown_2039600 -_08087FFC: .4byte gUnknown_2038700 - thumb_func_end sub_8087FE0 - - thumb_func_start sub_8088000 -sub_8088000: @ 8088000 - ldr r0, _08088018 @ =gUnknown_2039600 - ldr r2, [r0, 0x8] - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - ldr r1, _0808801C @ =gUnknown_2038700 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - bx lr - .align 2, 0 -_08088018: .4byte gUnknown_2039600 -_0808801C: .4byte gUnknown_2038700 - thumb_func_end sub_8088000 - - thumb_func_start task00_for_dp12 -task00_for_dp12: @ 8088020 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r6, 0 - ldr r0, _08088048 @ =gUnknown_203961C - ldrb r0, [r0] - cmp r0, 0 - beq _08088050 - mov r0, r12 - bl DestroyTask - ldr r1, _0808804C @ =gUnknown_2039600 - movs r0, 0xFF - strb r0, [r1, 0x18] - b _080881D0 - .align 2, 0 -_08088048: .4byte gUnknown_203961C -_0808804C: .4byte gUnknown_2039600 -_08088050: - ldr r1, _0808807C @ =gTasks - mov r0, r12 - lsls r2, r0, 2 - adds r0, r2, r0 - lsls r0, 3 - adds r3, r0, r1 - movs r4, 0x16 - ldrsh r0, [r3, r4] - mov r10, r1 - mov r9, r2 - cmp r0, 0 - beq _080880FC - movs r1, 0x14 - ldrsh r0, [r3, r1] - cmp r0, 0xE - bhi _080880FC - lsls r0, 2 - ldr r1, _08088080 @ =_08088084 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0808807C: .4byte gTasks -_08088080: .4byte _08088084 - .align 2, 0 -_08088084: - .4byte _080880C0 - .4byte _080880FC - .4byte _080880C8 - .4byte _080880FC - .4byte _080880D0 - .4byte _080880FC - .4byte _080880D8 - .4byte _080880FC - .4byte _080880E0 - .4byte _080880FC - .4byte _080880E8 - .4byte _080880FC - .4byte _080880F0 - .4byte _080880FC - .4byte _080880F8 -_080880C0: - ldr r0, _080880C4 @ =gUnknown_2022974 - b _080880FA - .align 2, 0 -_080880C4: .4byte gUnknown_2022974 -_080880C8: - ldr r0, _080880CC @ =gUnknown_2022976 - b _080880FA - .align 2, 0 -_080880CC: .4byte gUnknown_2022976 -_080880D0: - ldr r0, _080880D4 @ =gUnknown_2022978 - b _080880FA - .align 2, 0 -_080880D4: .4byte gUnknown_2022978 -_080880D8: - ldr r0, _080880DC @ =gUnknown_202297A - b _080880FA - .align 2, 0 -_080880DC: .4byte gUnknown_202297A -_080880E0: - ldr r0, _080880E4 @ =gUnknown_202297C - b _080880FA - .align 2, 0 -_080880E4: .4byte gUnknown_202297C -_080880E8: - ldr r0, _080880EC @ =gUnknown_202297E - b _080880FA - .align 2, 0 -_080880EC: .4byte gUnknown_202297E -_080880F0: - ldr r0, _080880F4 @ =gUnknown_2022980 - b _080880FA - .align 2, 0 -_080880F4: .4byte gUnknown_2022980 -_080880F8: - ldr r0, _0808815C @ =gUnknown_2022982 -_080880FA: - ldrh r6, [r0] -_080880FC: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r2, r10 - adds r1, r0, r2 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08088168 - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - movs r4, 0xE - ldrsh r0, [r1, r4] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080881D0 - ldr r5, _08088160 @ =gUnknown_2038700 - ldr r0, _08088164 @ =gUnknown_2039600 - mov r8, r0 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 -_08088136: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _08088136 - b _080881D0 - .align 2, 0 -_0808815C: .4byte gUnknown_2022982 -_08088160: .4byte gUnknown_2038700 -_08088164: .4byte gUnknown_2039600 -_08088168: - ldrh r0, [r1, 0x12] - strh r0, [r1, 0x10] - movs r2, 0xE - ldrsh r0, [r1, r2] - movs r3, 0xA0 - lsls r3, 1 - adds r2, r0, r3 - movs r4, 0x8 - ldrsh r3, [r1, r4] - movs r4, 0xA - ldrsh r0, [r1, r4] - cmp r3, r0 - bge _080881B0 - ldr r5, _080881E0 @ =gUnknown_2038700 - adds r7, r1, 0 - lsls r0, r2, 1 - adds r4, r0, r5 - ldr r0, _080881E4 @ =gUnknown_2039600 - mov r8, r0 -_0808818E: - lsls r2, r3, 1 - mov r0, r8 - ldrb r1, [r0, 0x14] - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 7 - adds r2, r0 - adds r2, r5 - ldrh r0, [r4] - adds r0, r6 - strh r0, [r2] - adds r4, 0x2 - adds r3, 0x1 - movs r1, 0xA - ldrsh r0, [r7, r1] - cmp r3, r0 - blt _0808818E -_080881B0: - mov r0, r9 - add r0, r12 - lsls r0, 3 - mov r3, r10 - adds r2, r0, r3 - ldrh r0, [r2, 0xE] - adds r0, 0x1 - strh r0, [r2, 0xE] - lsls r0, 16 - asrs r0, 16 - movs r4, 0xC - ldrsh r1, [r2, r4] - cmp r0, r1 - bne _080881D0 - movs r0, 0 - strh r0, [r2, 0xE] -_080881D0: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080881E0: .4byte gUnknown_2038700 -_080881E4: .4byte gUnknown_2039600 - thumb_func_end task00_for_dp12 - - thumb_func_start sub_80881E8 -sub_80881E8: @ 80881E8 - push {r4-r7,lr} - adds r6, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r1, 0 - movs r2, 0 - ldr r0, _0808822C @ =gUnknown_825E074 - mov r12, r0 -_080881FC: - lsls r0, r1, 1 - adds r3, r0, r6 - lsls r0, r2, 1 - add r0, r12 - movs r7, 0 - ldrsh r0, [r0, r7] - muls r0, r4 - cmp r0, 0 - bge _08088210 - adds r0, 0xFF -_08088210: - asrs r0, 8 - strh r0, [r3] - adds r0, r2, r5 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xFF - bls _080881FC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808822C: .4byte gUnknown_825E074 - thumb_func_end sub_80881E8 - - thumb_func_start sub_8088230 -sub_8088230: @ 8088230 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - adds r5, r0, 0 - str r1, [sp, 0x10] - ldr r0, [sp, 0x40] - mov r8, r0 - ldr r1, [sp, 0x44] - mov r9, r1 - ldr r0, [sp, 0x48] - mov r10, r0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, [sp, 0x10] - lsls r1, 24 - str r1, [sp, 0x14] - lsrs r0, r1, 24 - str r0, [sp, 0xC] - lsls r1, r2, 24 - lsrs r1, 24 - str r1, [sp, 0x18] - lsls r2, r3, 24 - lsrs r2, 24 - str r2, [sp, 0x1C] - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - mov r3, r9 - lsls r3, 24 - lsrs r3, 24 - mov r9, r3 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl dp12_8087EA4 - ldr r0, _0808833C @ =0x04000010 - add r0, r9 - str r0, [sp] - ldr r0, _08088340 @ =0xa2600001 - str r0, [sp, 0x4] - mov r1, sp - movs r0, 0x1 - strb r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0, 0x9] - ldr r0, [sp] - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - bl sub_8087EE4 - ldr r0, _08088344 @ =task00_for_dp12 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08088348 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - strh r5, [r4, 0x8] - mov r3, sp - ldrh r3, [r3, 0xC] - strh r3, [r4, 0xA] - movs r0, 0x80 - lsls r0, 1 - ldr r1, [sp, 0x18] - bl __divsi3 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4, 0xE] - mov r1, r8 - strh r1, [r4, 0x10] - strh r1, [r4, 0x12] - mov r3, r9 - strh r3, [r4, 0x14] - mov r0, r10 - strh r0, [r4, 0x16] - ldr r0, _0808834C @ =gUnknown_2039600 - strb r7, [r0, 0x18] - ldr r0, _08088350 @ =gUnknown_203961C - movs r1, 0 - strb r1, [r0] - ldr r4, _08088354 @ =gUnknown_2038980 - ldr r3, [sp, 0xC] - subs r6, r3, r5 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r4, 0 - ldr r1, [sp, 0x18] - ldr r2, [sp, 0x1C] - bl sub_80881E8 - ldr r0, [sp, 0xC] - cmp r5, r0 - bge _0808832A - ldr r1, _08088358 @ =0xfffffd80 - adds r2, r4, r1 - lsls r1, r5, 1 - movs r3, 0xF0 - lsls r3, 3 - adds r0, r1, r3 - adds r3, r0, r2 - adds r1, r2 - adds r2, r4, 0 - adds r5, r6, 0 -_08088316: - ldrh r0, [r2] - strh r0, [r1] - ldrh r0, [r2] - strh r0, [r3] - adds r2, 0x2 - adds r3, 0x2 - adds r1, 0x2 - subs r5, 0x1 - cmp r5, 0 - bne _08088316 -_0808832A: - adds r0, r7, 0 - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0808833C: .4byte 0x04000010 -_08088340: .4byte 0xa2600001 -_08088344: .4byte task00_for_dp12 -_08088348: .4byte gTasks -_0808834C: .4byte gUnknown_2039600 -_08088350: .4byte gUnknown_203961C -_08088354: .4byte gUnknown_2038980 -_08088358: .4byte 0xfffffd80 - thumb_func_end sub_8088230 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/wild_encounter.s b/asm/wild_encounter.s index 67c159abc..21b97c942 100644 --- a/asm/wild_encounter.s +++ b/asm/wild_encounter.s @@ -482,7 +482,7 @@ _08082A8E: lsrs r0, 16 orrs r4, r0 adds r0, r4, 0 - bl sub_8082AB8 + bl GetUnownLetterByPersonality lsls r0, 24 lsrs r0, 24 cmp r0, r5 @@ -493,8 +493,8 @@ _08082A8E: bx r1 thumb_func_end sub_8082A88 - thumb_func_start sub_8082AB8 -sub_8082AB8: @ 8082AB8 + thumb_func_start GetUnownLetterByPersonality +GetUnownLetterByPersonality: @ 8082AB8 push {lr} adds r2, r0, 0 movs r0, 0xC0 @@ -520,7 +520,7 @@ sub_8082AB8: @ 8082AB8 lsrs r0, 24 pop {r1} bx r1 - thumb_func_end sub_8082AB8 + thumb_func_end GetUnownLetterByPersonality thumb_func_start sub_8082AEC sub_8082AEC: @ 8082AEC diff --git a/asm/wild_pokemon_area.s b/asm/wild_pokemon_area.s index 26c908a14..71d8ac8dc 100644 --- a/asm/wild_pokemon_area.s +++ b/asm/wild_pokemon_area.s @@ -221,13 +221,13 @@ sub_813CB5C: @ 813CB5C ldr r0, _0813CBBC @ =gUnknown_84642F4 lsls r4, 2 adds r4, r0 - bl sub_80CBDB0 + bl ScrSpecial_GetStarter ldrh r1, [r4, 0x2] lsls r0, 16 lsrs r0, 16 cmp r1, r0 bne _0813CBC4 - bl sub_8142044 + bl GetRoamerLocationMapSectionId lsls r0, 16 lsrs r0, 16 movs r1, 0 diff --git a/asm/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index b4aecb9a5..72368171f 100644 --- a/asm/wireless_communication_status_screen.s +++ b/asm/wireless_communication_status_screen.s @@ -92,7 +92,7 @@ sub_814F1E4: @ 814F1E4 bl ResetPaletteFade bl ResetSpriteData bl ResetTasks - bl remove_some_task + bl ScanlineEffect_Stop bl m4aSoundVSyncOn ldr r0, _0814F31C @ =sub_814F1C0 bl SetVBlankCallback @@ -130,7 +130,7 @@ sub_814F1E4: @ 814F1E4 movs r2, 0x20 bl LoadPalette movs r0, 0xF0 - bl sub_80F77CC + bl Menu_LoadStdPalAt bl UnkTextUtil_Reset movs r0, 0x20 str r0, [sp] diff --git a/charmap.txt b/charmap.txt index ad4062731..f8161e87d 100644 --- a/charmap.txt +++ b/charmap.txt @@ -534,6 +534,83 @@ SE_TB_START = 72 00 SE_TB_KON = 73 00 SE_TB_KARA = 74 00 SE_BIDORO = 75 00 + +BGM_FRLG_FOLLOW_ME = 10 01 +BGM_FRLG_GAMECORNER = 11 01 +BGM_FRLG_ROCKET_HIDEOUT = 12 01 +BGM_FRLG_GYM = 13 01 +BGM_FRLG_JIGGLYPUFF = 14 01 +BGM_FRLG_OPENING = 15 01 +BGM_FRLG_TITLE = 16 01 +BGM_FRLG_CINNABAR_ISLAND = 17 01 +BGM_FRLG_LAVENDER_TOWN = 18 01 +BGM_FRLG_HEALING_TEST = 19 01 +BGM_FRLG_BICYCLE = 1A 01 +BGM_FRLG_SUSPICIOUS_EYE = 1B 01 +BGM_FRLG_GIRL_EYE = 1C 01 +BGM_FRLG_BOY_EYE = 1D 01 +BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME = 1E 01 +BGM_FRLG_VIRIDIAN_FOREST = 1F 01 +BGM_FRLG_MT_MOON = 20 01 +BGM_FRLG_POKEMON_MANSION = 21 01 +BGM_FRLG_CREDITS = 22 01 +BGM_FRLG_ROUTE_1 = 23 01 +BGM_FRLG_ROUTE_24 = 24 01 +BGM_FRLG_ROUTE_3 = 25 01 +BGM_FRLG_ROUTE_11 = 26 01 +BGM_FRLG_INDIGO_PLATEAU = 27 01 +BGM_FRLG_BATTLE_LEADER = 28 01 +BGM_FRLG_BATTLE_TRAINER = 29 01 +BGM_FRLG_BATTLE_WILD_POKEMON = 2A 01 +BGM_FRLG_BATTLE_CHAMPION = 2B 01 +BGM_FRLG_PALLET_TOWN = 2C 01 +BGM_FRLG_OAK_LAB = 2D 01 +BGM_FRLG_PROF_OAK = 2E 01 +BGM_FRLG_POKEMON_CENTER = 2F 01 +BGM_FRLG_SS_ANNE = 30 01 +BGM_FRLG_SURF = 31 01 +BGM_FRLG_POKEMON_TOWER = 32 01 +BGM_FRLG_SILPH = 33 01 +BGM_FRLG_CERULEAN_CITY = 34 01 +BGM_FRLG_CELADON_CITY = 35 01 +BGM_FRLG_KACHI_TRAINER = 36 01 +BGM_FRLG_KACHI_WILD_POKEMON = 37 01 +BGM_FRLG_KACHI_LEADER = 38 01 +BGM_FRLG_VERMILION_CITY = 39 01 +BGM_FRLG_VIRIDIAN_CITY = 3A 01 +BGM_FRLG_RIVAL = 3B 01 +BGM_FRLG_RIVAL_POSTBATTLE = 3C 01 +BGM_FRLG_ME_POKEDEX_EVAL = 3D 01 +BGM_FRLG_ME_KEYITEM = 3E 01 +BGM_FRLG_FANFA_POKEMON_CAUGHT = 3F 01 +BGM_FRLG_FANFA_TRAINERCARD_PHOTO = 40 01 +BGM_FRLG_GAMEFREAK_LOGO = 41 01 +BGM_FRLG_CAUGHT_POKEMON = 42 01 +BGM_FRLG_GAME_EXPLANATION_START = 43 01 +BGM_FRLG_GAME_EXPLANATION_MIDDLE = 44 01 +BGM_FRLG_GAME_EXPLANATION_END = 45 01 +BGM_FRLG_POKEMON_JUMP = 46 01 +BGM_FRLG_UNION_ROOM = 47 01 +BGM_FRLG_POKEMON_NETWORK_CENTER = 48 01 +BGM_FRLG_MYSTERY_GIFT = 49 01 +BGM_FRLG_DODRIO_BERRY_PICK = 4A 01 +BGM_FRLG_MT_EMBER = 4B 01 +BGM_FRLG_TEACHY_TV_EPISODE = 4C 01 +BGM_FRLG_SEVII_ISLANDS = 4D 01 +BGM_FRLG_TANOBY_RUINS = 4E 01 +BGM_FRLG_ISLAND_ONE = 4F 01 +BGM_FRLG_ISLAND_FOUR = 50 01 +BGM_FRLG_ISLAND_SIX = 51 01 +BGM_FRLG_FLUTE = 52 01 +BGM_FRLG_BATTLE_DEOXYS = 53 01 +BGM_FRLG_BATTLE_MEWTWO = 54 01 +BGM_FRLG_BATTLE_LEGENDARY = 55 01 +BGM_FRLG_LEADER_EYE = 56 01 +BGM_FRLG_DEOXYS_EYE = 57 01 +BGM_FRLG_TRAINER_TOWER = 58 01 +BGM_FRLG_HALL_OF_FAME_PALLET_TOWN = 59 01 +BGM_FRLG_TEACHY_TV = 5A 01 + BGM_STOP = 5D 01 BGM_TETSUJI = 5E 01 BGM_FIELD13 = 5F 01 diff --git a/data/battle_anim.s b/data/battle_anim.s new file mode 100644 index 000000000..a3c58fb11 --- /dev/null +++ b/data/battle_anim.s @@ -0,0 +1,262 @@ + .section .rodata + .align 2 +gOamData_83AC9C8:: + .4byte 0x00000000, 0x00000800 + +gOamData_83AC9D0:: + .4byte 0x40000000, 0x00000800 + +gOamData_83AC9D8:: + .4byte 0x80000000, 0x00000800 + +gOamData_83AC9E0:: + .4byte 0xc0000000, 0x00000800 + +gOamData_83AC9E8:: + .4byte 0x00004000, 0x00000800 + +gOamData_83AC9F0:: + .4byte 0x40004000, 0x00000800 + +gOamData_83AC9F8:: + .4byte 0x80004000, 0x00000800 + +gOamData_83ACA00:: + .4byte 0xc0004000, 0x00000800 + +gOamData_83ACA08:: + .4byte 0x00008000, 0x00000800 + +gOamData_83ACA10:: + .4byte 0x40008000, 0x00000800 + +gOamData_83ACA18:: + .4byte 0x80008000, 0x00000800 + +gOamData_83ACA20:: + .4byte 0xc0008000, 0x00000800 + +gOamData_83ACA28:: + .4byte 0x00000100, 0x00000800 + +gOamData_83ACA30:: + .4byte 0x40000100, 0x00000800 + +gOamData_83ACA38:: + .4byte 0x80000100, 0x00000800 + +gOamData_83ACA40:: + .4byte 0xc0000100, 0x00000800 + +gOamData_83ACA48:: + .4byte 0x00004100, 0x00000800 + +gOamData_83ACA50:: + .4byte 0x40004100, 0x00000800 + +gOamData_83ACA58:: + .4byte 0x80004100, 0x00000800 + +gOamData_83ACA60:: + .4byte 0xc0004100, 0x00000800 + +gOamData_83ACA68:: + .4byte 0x00008100, 0x00000800 + +gOamData_83ACA70:: + .4byte 0x40008100, 0x00000800 + +gOamData_83ACA78:: + .4byte 0x80008100, 0x00000800 + +gOamData_83ACA80:: + .4byte 0xc0008100, 0x00000800 + +gOamData_83ACA88:: + .4byte 0x00000300, 0x00000800 + +gOamData_83ACA90:: + .4byte 0x40000300, 0x00000800 + +gOamData_83ACA98:: + .4byte 0x80000300, 0x00000800 + +gOamData_83ACAA0:: + .4byte 0xc0000300, 0x00000800 + +gOamData_83ACAA8:: + .4byte 0x00004300, 0x00000800 + +gOamData_83ACAB0:: + .4byte 0x40004300, 0x00000800 + +gOamData_83ACAB8:: + .4byte 0x80004300, 0x00000800 + +gOamData_83ACAC0:: + .4byte 0xc0004300, 0x00000800 + +gOamData_83ACAC8:: + .4byte 0x00008300, 0x00000800 + +gOamData_83ACAD0:: + .4byte 0x40008300, 0x00000800 + +gOamData_83ACAD8:: + .4byte 0x80008300, 0x00000800 + +gOamData_83ACAE0:: + .4byte 0xc0008300, 0x00000800 + +gOamData_83ACAE8:: + .4byte 0x00000400, 0x00000800 + +gOamData_83ACAF0:: + .4byte 0x40000400, 0x00000800 + +gOamData_83ACAF8:: + .4byte 0x80000400, 0x00000800 + +gOamData_83ACB00:: + .4byte 0xc0000400, 0x00000800 + +gOamData_83ACB08:: + .4byte 0x00004400, 0x00000800 + +gOamData_83ACB10:: + .4byte 0x40004400, 0x00000800 + +gOamData_83ACB18:: + .4byte 0x80004400, 0x00000800 + +gOamData_83ACB20:: + .4byte 0xc0004400, 0x00000800 + +gOamData_83ACB28:: + .4byte 0x00008400, 0x00000800 + +gOamData_83ACB30:: + .4byte 0x40008400, 0x00000800 + +gOamData_83ACB38:: + .4byte 0x80008400, 0x00000800 + +gOamData_83ACB40:: + .4byte 0xc0008400, 0x00000800 + +gOamData_83ACB48:: + .4byte 0x00000500, 0x00000800 + +gOamData_83ACB50:: + .4byte 0x40000500, 0x00000800 + +gOamData_83ACB58:: + .4byte 0x80000500, 0x00000800 + +gOamData_83ACB60:: + .4byte 0xc0000500, 0x00000800 + +gOamData_83ACB68:: + .4byte 0x00004500, 0x00000800 + +gOamData_83ACB70:: + .4byte 0x40004500, 0x00000800 + +gOamData_83ACB78:: + .4byte 0x80004500, 0x00000800 + +gOamData_83ACB80:: + .4byte 0xc0004500, 0x00000800 + +gOamData_83ACB88:: + .4byte 0x00008500, 0x00000800 + +gOamData_83ACB90:: + .4byte 0x40008500, 0x00000800 + +gOamData_83ACB98:: + .4byte 0x80008500, 0x00000800 + +gOamData_83ACBA0:: + .4byte 0xc0008500, 0x00000800 + +gOamData_83ACBA8:: + .4byte 0x00000700, 0x00000800 + +gOamData_83ACBB0:: + .4byte 0x40000700, 0x00000800 + +gOamData_83ACBB8:: + .4byte 0x80000700, 0x00000800 + +gOamData_83ACBC0:: + .4byte 0xc0000700, 0x00000800 + +gOamData_83ACBC8:: + .4byte 0x00004700, 0x00000800 + +gOamData_83ACBD0:: + .4byte 0x40004700, 0x00000800 + +gOamData_83ACBD8:: + .4byte 0x80004700, 0x00000800 + +gOamData_83ACBE0:: + .4byte 0xc0004700, 0x00000800 + +gOamData_83ACBE8:: + .4byte 0x00008700, 0x00000800 + +gOamData_83ACBF0:: + .4byte 0x40008700, 0x00000800 + +gOamData_83ACBF8:: + .4byte 0x80008700, 0x00000800 + +gOamData_83ACC00:: + .4byte 0xc0008700, 0x00000800 + +gUnknown_83ACC08:: @ 83ACC08 + .incbin "baserom.gba", 0x3ACC08, 0x440 + +gUnknown_83AD048:: @ 83AD048 + .incbin "baserom.gba", 0x3AD048, 0x308 + +gUnknown_83AD350:: @ 83AD350 + .incbin "baserom.gba", 0x3AD350, 0x120 + +gUnknown_83AD470:: @ 83AD470 + .incbin "baserom.gba", 0x3AD470, 0x4E0 + +gUnknown_83AD950:: @ 83AD950 + .incbin "baserom.gba", 0x3AD950, 0x308 + +gUnknown_83ADC58:: @ 83ADC58 + .incbin "baserom.gba", 0x3ADC58, 0x120 + +gUnknown_83ADD78:: @ 83ADD78 + .incbin "baserom.gba", 0x3ADD78, 0xA0 + +gUnknown_83ADE18:: @ 83ADE18 + .incbin "baserom.gba", 0x3ADE18, 0x144 + +gUnknown_83ADF5C:: @ 83ADF5C + .incbin "baserom.gba", 0x3ADF5C, 0xC0 + +gUnknown_83AE01C:: @ 83AE01C + .incbin "baserom.gba", 0x3AE01C, 0x20 + +gUnknown_83AE03C:: @ 83AE03C + .incbin "baserom.gba", 0x3AE03C, 0x10 + +gUnknown_83AE04C:: @ 83AE04C + .incbin "baserom.gba", 0x3AE04C, 0x4 + +gUnknown_83AE050:: @ 83AE050 + .incbin "baserom.gba", 0x3AE050, 0x4 + +gUnknown_83AE054:: @ 83AE054 + .incbin "baserom.gba", 0x3AE054, 0x30 + +gUnknown_83AE084:: @ 0x83AE084 + .incbin "baserom.gba", 0x3AE084, 0x58 diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 78267e5ea..3d1de8ac5 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1,4 +1,5 @@ .section script_data, "aw", %progbits + .align 2 gUnknown_81C68EC:: @ 81C68EC .incbin "baserom.gba", 0x1C68EC, 0x8 diff --git a/data/battle_anim_status_effects.s b/data/battle_anim_status_effects.s new file mode 100644 index 000000000..6c0bd6e3f --- /dev/null +++ b/data/battle_anim_status_effects.s @@ -0,0 +1,11 @@ + .section .rodata + .align 2 + +gUnknown_83BF554:: @ 83BF554 + .incbin "baserom.gba", 0x3BF554, 0x8 + +gUnknown_83BF55C:: @ 83BF55C + .incbin "baserom.gba", 0x3BF55C, 0x18 + +gUnknown_83BF574:: @ 83BF574 + .incbin "baserom.gba", 0x3BF574, 0x18 diff --git a/data/berry_pouch.s b/data/berry_pouch.s new file mode 100644 index 000000000..172443b5e --- /dev/null +++ b/data/berry_pouch.s @@ -0,0 +1,59 @@ + .section .rodata + .align 2 + +gUnknown_846434C:: @ 846434C + .incbin "baserom.gba", 0x46434C, 0xC + +gUnknown_8464358:: @ 8464358 + .incbin "baserom.gba", 0x464358, 0x14 + +gUnknown_846436C:: @ 846436C + .incbin "baserom.gba", 0x46436C, 0x8 + +gUnknown_8464374:: @ 8464374 + .incbin "baserom.gba", 0x464374, 0x8 + +gUnknown_846437C:: @ 846437C + .incbin "baserom.gba", 0x46437C, 0x28 + +gUnknown_84643A4:: @ 84643A4 + .incbin "baserom.gba", 0x4643A4, 0x4 + +gUnknown_84643A8:: @ 84643A8 + .incbin "baserom.gba", 0x4643A8, 0x4 + +gUnknown_84643AC:: @ 84643AC + .incbin "baserom.gba", 0x4643AC, 0x4 + +gUnknown_84643B0:: @ 84643B0 + .incbin "baserom.gba", 0x4643B0, 0x4 + +gUnknown_84643B4:: @ 84643B4 + .incbin "baserom.gba", 0x4643B4, 0x4 + +gUnknown_84643B8:: @ 84643B8 + .incbin "baserom.gba", 0x4643B8, 0x20 + +gUnknown_84643D8:: @ 84643D8 + .incbin "baserom.gba", 0x4643D8, 0x18 + +gUnknown_84643F0:: @ 84643F0 + .incbin "baserom.gba", 0x4643F0, 0x8 + +gUnknown_84643F8:: @ 84643F8 + .incbin "baserom.gba", 0x4643F8, 0x8 + +gUnknown_8464400:: @ 8464400 + .incbin "baserom.gba", 0x464400, 0x48 + +gUnknown_8464448:: @ 8464448 + .incbin "baserom.gba", 0x464448, 0x60 + +gUnknown_84644A8:: @ 84644A8 + .incbin "baserom.gba", 0x4644A8, 0x8 + +gUnknown_84644B0:: @ 84644B0 + .incbin "baserom.gba", 0x4644B0, 0x8 + +gUnknown_84644B8:: @ 84644B8 + .incbin "baserom.gba", 0x4644B8, 0x32C diff --git a/data/buy_menu_helpers.s b/data/buy_menu_helpers.s new file mode 100644 index 000000000..a59b8e069 --- /dev/null +++ b/data/buy_menu_helpers.s @@ -0,0 +1,14 @@ + .section .rodata + .align 2 + +gUnknown_8464804:: @ 8464804 + .incbin "baserom.gba", 0x464804, 0x38 + +gUnknown_846483C:: @ 846483C + .incbin "baserom.gba", 0x46483C, 0x40 + +gUnknown_846487C:: @ 846487C + .incbin "baserom.gba", 0x46487C, 0x8 + +gUnknown_8464884:: @ 8464884 + .incbin "baserom.gba", 0x464884, 0xC diff --git a/data/connections.s b/data/connections.s index 15c02ebbe..ec3eb9106 100644 --- a/data/connections.s +++ b/data/connections.s @@ -1,501 +1,502 @@ +#include "constants/maps.h" .include "asm/macros.inc" .section .rodata gUnknown_8352754:: @ 8352754 - connection up, 0, 0x313 - connection down, 0, 0x327 + connection up, 0, MAP_ROUTE1 + connection down, 0, MAP_ROUTE21_NORTH -gUnknown_835276C:: @ 835276C +gMapConnections_PalletTown:: @ 835276C .4byte 2 .4byte gUnknown_8352754 gUnknown_8352774:: @ 8352774 - connection up, 12, 0x314 - connection down, 12, 0x313 - connection left, 10, 0x329 + connection up, 12, MAP_ROUTE2 + connection down, 12, MAP_ROUTE1 + connection left, 10, MAP_ROUTE22 -gUnknown_8352798:: @ 8352798 +gMapConnections_ViridianCity:: @ 8352798 .4byte 3 .4byte gUnknown_8352774 gUnknown_83527A0:: @ 83527A0 - connection down, 12, 0x314 - connection right, 10, 0x315 + connection down, 12, MAP_ROUTE2 + connection right, 10, MAP_ROUTE3 -gUnknown_83527B8:: @ 83527B8 +gMapConnections_PewterCity:: @ 83527B8 .4byte 2 .4byte gUnknown_83527A0 gUnknown_83527C0:: @ 83527C0 - connection up, 12, 0x32B - connection down, 0, 0x317 - connection left, 10, 0x316 - connection right, 10, 0x31B + connection up, 12, MAP_ROUTE24 + connection down, 0, MAP_ROUTE5 + connection left, 10, MAP_ROUTE4 + connection right, 10, MAP_ROUTE9 -gUnknown_83527F0:: @ 83527F0 +gMapConnections_CeruleanCity:: @ 83527F0 .4byte 4 .4byte gUnknown_83527C0 gUnknown_83527F8:: @ 83527F8 - connection up, 0, 0x31C - connection down, 0, 0x31E - connection left, 0, 0x31A + connection up, 0, MAP_ROUTE10 + connection down, 0, MAP_ROUTE12 + connection left, 0, MAP_ROUTE8 -gUnknown_835281C:: @ 835281C +gMapConnections_LavenderTown:: @ 835281C .4byte 3 .4byte gUnknown_83527F8 gUnknown_8352824:: @ 8352824 - connection up, 12, 0x318 - connection right, 10, 0x31D + connection up, 12, MAP_ROUTE6 + connection right, 10, MAP_ROUTE11 -gUnknown_835283C:: @ 835283C +gMapConnections_VermilionCity:: @ 835283C .4byte 2 .4byte gUnknown_8352824 gUnknown_8352844:: @ 8352844 - connection left, 10, 0x322 - connection right, 10, 0x319 + connection left, 10, MAP_ROUTE16 + connection right, 10, MAP_ROUTE7 -gUnknown_835285C:: @ 835285C +gMapConnections_CeladonCity:: @ 835285C .4byte 2 .4byte gUnknown_8352844 gUnknown_8352864:: @ 8352864 - connection down, 12, 0x325 - connection left, 10, 0x324 - connection right, 10, 0x321 + connection down, 12, MAP_ROUTE19 + connection left, 10, MAP_ROUTE18 + connection right, 10, MAP_ROUTE15 -gUnknown_8352888:: @ 8352888 +gMapConnections_FuchsiaCity:: @ 8352888 .4byte 3 .4byte gUnknown_8352864 gUnknown_8352890:: @ 8352890 - connection up, 0, 0x328 - connection right, 0, 0x326 + connection up, 0, MAP_ROUTE21_SOUTH + connection right, 0, MAP_ROUTE20 -gUnknown_83528A8:: @ 83528A8 +gMapConnections_CinnabarIsland:: @ 83528A8 .4byte 2 .4byte gUnknown_8352890 gUnknown_83528B0:: @ 83528B0 - connection down, 0, 0x32A + connection down, 0, MAP_ROUTE23 -gUnknown_83528BC:: @ 83528BC +gMapConnections_IndigoPlateau_Exterior:: @ 83528BC .4byte 1 .4byte gUnknown_83528B0 gUnknown_83528C4:: @ 83528C4 - connection up, 0, 0x317 - connection down, 12, 0x318 - connection left, 10, 0x319 - connection right, 10, 0x31A + connection up, 0, MAP_ROUTE5 + connection down, 12, MAP_ROUTE6 + connection left, 10, MAP_ROUTE7 + connection right, 10, MAP_ROUTE8 gUnknown_83528F4:: @ 83528F4 .4byte 4 .4byte gUnknown_83528C4 gUnknown_83528FC:: @ 83528FC - connection up, 0, 0x317 - connection down, 12, 0x318 - connection left, 10, 0x319 - connection right, 10, 0x31A + connection up, 0, MAP_ROUTE5 + connection down, 12, MAP_ROUTE6 + connection left, 10, MAP_ROUTE7 + connection right, 10, MAP_ROUTE8 -gUnknown_835292C:: @ 835292C +gMapConnections_SaffronCity:: @ 835292C .4byte 4 .4byte gUnknown_83528FC gUnknown_8352934:: @ 8352934 - connection down, 0, 0x32E - connection right, -120, 0x32D + connection down, 0, MAP_ONEISLAND_TREASUREBEACH + connection right, -120, MAP_ONEISLAND_KINDLEROAD -gUnknown_835294C:: @ 835294C +gMapConnections_OneIsland:: @ 835294C .4byte 2 .4byte gUnknown_8352934 gUnknown_8352954:: @ 8352954 - connection up, 24, 0x32F + connection up, 24, MAP_TWOISLAND_CAPEBRINK -gUnknown_8352960:: @ 8352960 +gMapConnections_TwoIsland:: @ 8352960 .4byte 1 .4byte gUnknown_8352954 gUnknown_8352968:: @ 8352968 - connection down, 0, 0x331 - connection left, 0, 0x330 + connection down, 0, MAP_THREEISLAND_PORT + connection left, 0, MAP_THREEISLAND_BONDBRIDGE -gUnknown_8352980:: @ 8352980 +gMapConnections_ThreeIsland:: @ 8352980 .4byte 2 .4byte gUnknown_8352968 gUnknown_8352988:: @ 8352988 - connection up, -48, 0x337 - connection right, 0, 0x338 + connection up, -48, MAP_FIVEISLAND_WATERLABYRINTH + connection right, 0, MAP_FIVEISLAND_MEADOW -gUnknown_83529A0:: @ 83529A0 +gMapConnections_FiveIsland:: @ 83529A0 .4byte 2 .4byte gUnknown_8352988 gUnknown_83529A8:: @ 83529A8 - connection up, -48, 0x33E - connection down, 0, 0x33F + connection up, -48, MAP_SEVENISLAND_TRAINERTOWER + connection down, 0, MAP_SEVENISLAND_SEVAULTCANYON_ENTRANCE -gUnknown_83529C0:: @ 83529C0 +gMapConnections_SevenIsland:: @ 83529C0 .4byte 2 .4byte gUnknown_83529A8 gUnknown_83529C8:: @ 83529C8 - connection right, -40, 0x33C + connection right, -40, MAP_SIXISLAND_WATERPATH -gUnknown_83529D4:: @ 83529D4 +gMapConnections_SixIsland:: @ 83529D4 .4byte 1 .4byte gUnknown_83529C8 gUnknown_83529DC:: @ 83529DC - connection up, -12, 0x301 - connection down, 0, 0x300 + connection up, -12, MAP_VIRIDIANCITY + connection down, 0, MAP_PALLETTOWN -gUnknown_83529F4:: @ 83529F4 +gMapConnections_Route1:: @ 83529F4 .4byte 2 .4byte gUnknown_83529DC gUnknown_83529FC:: @ 83529FC - connection up, -12, 0x302 - connection down, -12, 0x301 + connection up, -12, MAP_PEWTERCITY + connection down, -12, MAP_VIRIDIANCITY -gUnknown_8352A14:: @ 8352A14 +gMapConnections_Route2:: @ 8352A14 .4byte 2 .4byte gUnknown_83529FC gUnknown_8352A1C:: @ 8352A1C - connection up, 60, 0x316 - connection left, -10, 0x302 + connection up, 60, MAP_ROUTE4 + connection left, -10, MAP_PEWTERCITY -gUnknown_8352A34:: @ 8352A34 +gMapConnections_Route3:: @ 8352A34 .4byte 2 .4byte gUnknown_8352A1C gUnknown_8352A3C:: @ 8352A3C - connection down, -60, 0x315 - connection right, -10, 0x303 + connection down, -60, MAP_ROUTE3 + connection right, -10, MAP_CERULEANCITY -gUnknown_8352A54:: @ 8352A54 +gMapConnections_Route4:: @ 8352A54 .4byte 2 .4byte gUnknown_8352A3C gUnknown_8352A5C:: @ 8352A5C - connection up, 0, 0x303 - connection down, 0, 0x30B + connection up, 0, MAP_CERULEANCITY + connection down, 0, MAP_SAFFRONCITY -gUnknown_8352A74:: @ 8352A74 +gMapConnections_Route5:: @ 8352A74 .4byte 2 .4byte gUnknown_8352A5C gUnknown_8352A7C:: @ 8352A7C - connection up, 0, 0x30B - connection down, -12, 0x305 + connection up, 0, MAP_SAFFRONCITY + connection down, -12, MAP_VERMILIONCITY -gUnknown_8352A94:: @ 8352A94 +gMapConnections_Route6:: @ 8352A94 .4byte 2 .4byte gUnknown_8352A7C gUnknown_8352A9C:: @ 8352A9C - connection left, -10, 0x306 - connection right, -10, 0x30B + connection left, -10, MAP_CELADONCITY + connection right, -10, MAP_SAFFRONCITY -gUnknown_8352AB4:: @ 8352AB4 +gMapConnections_Route7:: @ 8352AB4 .4byte 2 .4byte gUnknown_8352A9C gUnknown_8352ABC:: @ 8352ABC - connection left, -10, 0x30B - connection right, 0, 0x304 + connection left, -10, MAP_SAFFRONCITY + connection right, 0, MAP_LAVENDERTOWN -gUnknown_8352AD4:: @ 8352AD4 +gMapConnections_Route8:: @ 8352AD4 .4byte 2 .4byte gUnknown_8352ABC gUnknown_8352ADC:: @ 8352ADC - connection left, -10, 0x303 - connection right, 0, 0x31C + connection left, -10, MAP_CERULEANCITY + connection right, 0, MAP_ROUTE10 -gUnknown_8352AF4:: @ 8352AF4 +gMapConnections_Route9:: @ 8352AF4 .4byte 2 .4byte gUnknown_8352ADC gUnknown_8352AFC:: @ 8352AFC - connection down, 0, 0x304 - connection left, 0, 0x31B + connection down, 0, MAP_LAVENDERTOWN + connection left, 0, MAP_ROUTE9 -gUnknown_8352B14:: @ 8352B14 +gMapConnections_Route10:: @ 8352B14 .4byte 2 .4byte gUnknown_8352AFC gUnknown_8352B1C:: @ 8352B1C - connection left, -10, 0x305 - connection right, -60, 0x31E + connection left, -10, MAP_VERMILIONCITY + connection right, -60, MAP_ROUTE12 -gUnknown_8352B34:: @ 8352B34 +gMapConnections_Route11:: @ 8352B34 .4byte 2 .4byte gUnknown_8352B1C gUnknown_8352B3C:: @ 8352B3C - connection up, 0, 0x304 - connection down, -48, 0x31F - connection left, 60, 0x31D + connection up, 0, MAP_LAVENDERTOWN + connection down, -48, MAP_ROUTE13 + connection left, 60, MAP_ROUTE11 -gUnknown_8352B60:: @ 8352B60 +gMapConnections_Route12:: @ 8352B60 .4byte 3 .4byte gUnknown_8352B3C gUnknown_8352B68:: @ 8352B68 - connection up, 48, 0x31E - connection left, 0, 0x320 + connection up, 48, MAP_ROUTE12 + connection left, 0, MAP_ROUTE14 -gUnknown_8352B80:: @ 8352B80 +gMapConnections_Route13:: @ 8352B80 .4byte 2 .4byte gUnknown_8352B68 gUnknown_8352B88:: @ 8352B88 - connection left, 40, 0x321 - connection right, 0, 0x31F + connection left, 40, MAP_ROUTE15 + connection right, 0, MAP_ROUTE13 -gUnknown_8352BA0:: @ 8352BA0 +gMapConnections_Route14:: @ 8352BA0 .4byte 2 .4byte gUnknown_8352B88 gUnknown_8352BA8:: @ 8352BA8 - connection left, -10, 0x307 - connection right, -40, 0x320 + connection left, -10, MAP_FUCHSIACITY + connection right, -40, MAP_ROUTE14 -gUnknown_8352BC0:: @ 8352BC0 +gMapConnections_Route15:: @ 8352BC0 .4byte 2 .4byte gUnknown_8352BA8 gUnknown_8352BC8:: @ 8352BC8 - connection down, 0, 0x323 - connection right, -10, 0x306 + connection down, 0, MAP_ROUTE17 + connection right, -10, MAP_CELADONCITY -gUnknown_8352BE0:: @ 8352BE0 +gMapConnections_Route16:: @ 8352BE0 .4byte 2 .4byte gUnknown_8352BC8 gUnknown_8352BE8:: @ 8352BE8 - connection up, 0, 0x322 - connection down, 0, 0x324 + connection up, 0, MAP_ROUTE16 + connection down, 0, MAP_ROUTE18 -gUnknown_8352C00:: @ 8352C00 +gMapConnections_Route17:: @ 8352C00 .4byte 2 .4byte gUnknown_8352BE8 gUnknown_8352C08:: @ 8352C08 - connection up, 0, 0x323 - connection right, -10, 0x307 + connection up, 0, MAP_ROUTE17 + connection right, -10, MAP_FUCHSIACITY -gUnknown_8352C20:: @ 8352C20 +gMapConnections_Route18:: @ 8352C20 .4byte 2 .4byte gUnknown_8352C08 gUnknown_8352C28:: @ 8352C28 - connection up, -12, 0x307 - connection left, 40, 0x326 + connection up, -12, MAP_FUCHSIACITY + connection left, 40, MAP_ROUTE20 -gUnknown_8352C40:: @ 8352C40 +gMapConnections_Route19:: @ 8352C40 .4byte 2 .4byte gUnknown_8352C28 gUnknown_8352C48:: @ 8352C48 - connection left, 0, 0x308 - connection right, -40, 0x325 + connection left, 0, MAP_CINNABARISLAND + connection right, -40, MAP_ROUTE19 -gUnknown_8352C60:: @ 8352C60 +gMapConnections_Route20:: @ 8352C60 .4byte 2 .4byte gUnknown_8352C48 gUnknown_8352C68:: @ 8352C68 - connection up, 0, 0x300 - connection down, 0, 0x328 + connection up, 0, MAP_PALLETTOWN + connection down, 0, MAP_ROUTE21_SOUTH -gUnknown_8352C80:: @ 8352C80 +gMapConnections_Route21_North:: @ 8352C80 .4byte 2 .4byte gUnknown_8352C68 gUnknown_8352C88:: @ 8352C88 - connection up, 0, 0x327 - connection down, 0, 0x308 + connection up, 0, MAP_ROUTE21_NORTH + connection down, 0, MAP_CINNABARISLAND -gUnknown_8352CA0:: @ 8352CA0 +gMapConnections_Route21_South:: @ 8352CA0 .4byte 2 .4byte gUnknown_8352C88 gUnknown_8352CA8:: @ 8352CA8 - connection up, 0, 0x32A - connection right, -10, 0x301 + connection up, 0, MAP_ROUTE23 + connection right, -10, MAP_VIRIDIANCITY -gUnknown_8352CC0:: @ 8352CC0 +gMapConnections_Route22:: @ 8352CC0 .4byte 2 .4byte gUnknown_8352CA8 gUnknown_8352CC8:: @ 8352CC8 - connection up, 0, 0x309 - connection down, 0, 0x329 + connection up, 0, MAP_INDIGOPLATEAU_EXTERIOR + connection down, 0, MAP_ROUTE22 -gUnknown_8352CE0:: @ 8352CE0 +gMapConnections_Route23:: @ 8352CE0 .4byte 2 .4byte gUnknown_8352CC8 gUnknown_8352CE8:: @ 8352CE8 - connection down, -12, 0x303 - connection right, 0, 0x32C + connection down, -12, MAP_CERULEANCITY + connection right, 0, MAP_ROUTE25 -gUnknown_8352D00:: @ 8352D00 +gMapConnections_Route24:: @ 8352D00 .4byte 2 .4byte gUnknown_8352CE8 gUnknown_8352D08:: @ 8352D08 - connection left, 0, 0x32B + connection left, 0, MAP_ROUTE24 -gUnknown_8352D14:: @ 8352D14 +gMapConnections_Route25:: @ 8352D14 .4byte 1 .4byte gUnknown_8352D08 gUnknown_8352D1C:: @ 8352D1C - connection left, 120, 0x30C + connection left, 120, MAP_ONEISLAND -gUnknown_8352D28:: @ 8352D28 +gMapConnections_OneIsland_KindleRoad:: @ 8352D28 .4byte 1 .4byte gUnknown_8352D1C gUnknown_8352D30:: @ 8352D30 - connection up, 0, 0x30C + connection up, 0, MAP_ONEISLAND -gUnknown_8352D3C:: @ 8352D3C +gMapConnections_OneIsland_TreasureBeach:: @ 8352D3C .4byte 1 .4byte gUnknown_8352D30 gUnknown_8352D44:: @ 8352D44 - connection down, -24, 0x30D + connection down, -24, MAP_TWOISLAND -gUnknown_8352D50:: @ 8352D50 +gMapConnections_TwoIsland_CapeBrink:: @ 8352D50 .4byte 1 .4byte gUnknown_8352D44 gUnknown_8352D58:: @ 8352D58 - connection right, 0, 0x30E + connection right, 0, MAP_THREEISLAND -gUnknown_8352D64:: @ 8352D64 +gMapConnections_ThreeIsland_BondBridge:: @ 8352D64 .4byte 1 .4byte gUnknown_8352D58 gUnknown_8352D6C:: @ 8352D6C - connection up, 0, 0x30E + connection up, 0, MAP_THREEISLAND -gUnknown_8352D78:: @ 8352D78 +gMapConnections_ThreeIsland_Port:: @ 8352D78 .4byte 1 .4byte gUnknown_8352D6C gUnknown_8352D80:: @ 8352D80 - connection up, 0, 0x30E + connection up, 0, MAP_THREEISLAND -gUnknown_8352D8C:: @ 8352D8C +gMapConnections_UnknownMap_03_50:: @ 8352D8C .4byte 1 .4byte gUnknown_8352D80 gUnknown_8352D94:: @ 8352D94 - connection up, 0, 0x30E + connection up, 0, MAP_THREEISLAND -gUnknown_8352DA0:: @ 8352DA0 +gMapConnections_UnknownMap_03_51:: @ 8352DA0 .4byte 1 .4byte gUnknown_8352D94 gUnknown_8352DA8:: @ 8352DA8 - connection down, -48, 0x337 + connection down, -48, MAP_FIVEISLAND_WATERLABYRINTH -gUnknown_8352DB4:: @ 8352DB4 +gMapConnections_FiveIsland_ResortGorgeous:: @ 8352DB4 .4byte 1 .4byte gUnknown_8352DA8 gUnknown_8352DBC:: @ 8352DBC - connection up, 48, 0x336 - connection down, 48, 0x310 + connection up, 48, MAP_FIVEISLAND_RESORTGORGEOUS + connection down, 48, MAP_FIVEISLAND -gUnknown_8352DD4:: @ 8352DD4 +gMapConnections_FiveIsland_WaterLabyrinth:: @ 8352DD4 .4byte 2 .4byte gUnknown_8352DBC gUnknown_8352DDC:: @ 8352DDC - connection left, 0, 0x310 - connection right, 20, 0x339 + connection left, 0, MAP_FIVEISLAND + connection right, 20, MAP_FIVEISLAND_MEMORIALPILLAR -gUnknown_8352DF4:: @ 8352DF4 +gMapConnections_FiveIsland_Meadow:: @ 8352DF4 .4byte 2 .4byte gUnknown_8352DDC gUnknown_8352DFC:: @ 8352DFC - connection left, -20, 0x338 + connection left, -20, MAP_FIVEISLAND_MEADOW -gUnknown_8352E08:: @ 8352E08 +gMapConnections_FiveIsland_MemorialPillar:: @ 8352E08 .4byte 1 .4byte gUnknown_8352DFC gUnknown_8352E10:: @ 8352E10 - connection down, 0, 0x33B + connection down, 0, MAP_SIXISLAND_GREENPATH -gUnknown_8352E1C:: @ 8352E1C +gMapConnections_SixIsland_OutcastIsland:: @ 8352E1C .4byte 1 .4byte gUnknown_8352E10 gUnknown_8352E24:: @ 8352E24 - connection up, 0, 0x33A - connection right, 0, 0x33C + connection up, 0, MAP_SIXISLAND_OUTCASTISLAND + connection right, 0, MAP_SIXISLAND_WATERPATH -gUnknown_8352E3C:: @ 8352E3C +gMapConnections_SixIsland_GreenPath:: @ 8352E3C .4byte 2 .4byte gUnknown_8352E24 gUnknown_8352E44:: @ 8352E44 - connection left, 0, 0x33B - connection left, 40, 0x312 - connection left, 80, 0x33D + connection left, 0, MAP_SIXISLAND_GREENPATH + connection left, 40, MAP_SIXISLAND + connection left, 80, MAP_SIXISLAND_RUINVALLEY -gUnknown_8352E68:: @ 8352E68 +gMapConnections_SixIsland_WaterPath:: @ 8352E68 .4byte 3 .4byte gUnknown_8352E44 gUnknown_8352E70:: @ 8352E70 - connection right, -80, 0x33C + connection right, -80, MAP_SIXISLAND_WATERPATH -gUnknown_8352E7C:: @ 8352E7C +gMapConnections_SixIsland_RuinValley:: @ 8352E7C .4byte 1 .4byte gUnknown_8352E70 gUnknown_8352E84:: @ 8352E84 - connection down, 48, 0x311 + connection down, 48, MAP_SEVENISLAND -gUnknown_8352E90:: @ 8352E90 +gMapConnections_SevenIsland_TrainerTower:: @ 8352E90 .4byte 1 .4byte gUnknown_8352E84 gUnknown_8352E98:: @ 8352E98 - connection up, 0, 0x311 - connection right, 20, 0x340 + connection up, 0, MAP_SEVENISLAND + connection right, 20, MAP_SEVENISLAND_SEVAULTCANYON -gUnknown_8352EB0:: @ 8352EB0 +gMapConnections_SevenIsland_SevaultCanyon_Entrance:: @ 8352EB0 .4byte 2 .4byte gUnknown_8352E98 gUnknown_8352EB8:: @ 8352EB8 - connection down, -48, 0x341 - connection left, -20, 0x33F + connection down, -48, MAP_SEVENISLAND_TANOBYRUINS + connection left, -20, MAP_SEVENISLAND_SEVAULTCANYON_ENTRANCE -gUnknown_8352ED0:: @ 8352ED0 +gMapConnections_SevenIsland_SevaultCanyon:: @ 8352ED0 .4byte 2 .4byte gUnknown_8352EB8 gUnknown_8352ED8:: @ 8352ED8 - connection up, 48, 0x340 + connection up, 48, MAP_SEVENISLAND_SEVAULTCANYON -gUnknown_8352EE4:: @ 8352EE4 +gMapConnections_SevenIsland_TanobyRuins:: @ 8352EE4 .4byte 1 .4byte gUnknown_8352ED8 diff --git a/data/data.s b/data/data.s index e17c041a2..2d3806e4a 100644 --- a/data/data.s +++ b/data/data.s @@ -1,5 +1,8 @@ #include "constants/region_map.h" #include "constants/trainer_classes.h" +#include "constants/songs.h" +#include "constants/region_map.h" + .set NULL, 0 .section .rodata @@ -129,10 +132,7 @@ gTrainers:: @ 823EAD8 .incbin "baserom.gba", 0x23EAC8, 0x7418 gSpeciesNames:: @ 8245EE0 - .incbin "baserom.gba", 0x245EE0, 0xD05 - -gUnknown_8246BE5:: @ 8246BE5 - .incbin "baserom.gba", 0x246BE5, 0x4AF + .include "data/text/species_names.inc" gMoveNames:: @ 8247094 .incbin "baserom.gba", 0x247094, 0xF97 @@ -547,7 +547,7 @@ gUnknown_825E032:: @ 825E032 gUnknown_825E05C:: @ 825E05C .incbin "baserom.gba", 0x25E05C, 0x18 -gUnknown_825E074:: @ 825E074 +gSineTable:: @ 825E074 .incbin "baserom.gba", 0x25E074, 0x280 gUnknown_825E2F4:: @ 825E2F4 @@ -948,10 +948,1051 @@ gUnknown_826D374:: @ 826D374 .4byte sub_8058754 gUnknown_826D37C:: @ 826D37C - .incbin "baserom.gba", 0x26D37C, 0x78250 + .incbin "baserom.gba", 0x26D37C, 0x67E84 + +gMapData_PalletTown_PlayersHouse_1F:: @ 82D5200 + .incbin "baserom.gba", 0x2D5200, 0xFC + +gMapData_PalletTown_PlayersHouse_2F:: @ 82D52FC + .incbin "baserom.gba", 0x2D52FC, 0x128 + +gMapData_PalletTown_GarysHouse:: @ 82D5424 + .incbin "baserom.gba", 0x2D5424, 0x244 + +gMapData_PalletTown_ProfessorOaksLab:: @ 82D5668 + .incbin "baserom.gba", 0x2D5668, 0xEC + +gMapData_CeruleanCity_House3:: @ 82D5754 +gMapData_CeruleanCity_House4:: @ 82D5754 +gMapData_VermilionCity_House1:: @ 82D5754 +gMapData_VermilionCity_House2:: @ 82D5754 +gMapData_VermilionCity_House3:: @ 82D5754 +gMapData_FuchsiaCity_House1:: @ 82D5754 +gMapData_FuchsiaCity_House3:: @ 82D5754 +gMapData_Route16_House:: @ 82D5754 + .incbin "baserom.gba", 0x2D5754, 0xEC + +gMapData_PewterCity_House1:: @ 82D5840 +gMapData_PewterCity_House2:: @ 82D5840 +gMapData_Route2_House:: @ 82D5840 +gMapData_UnknownMap_18_01:: @ 82D5840 +gMapData_UnusedHouse_27_00:: @ 82D5840 +gMapData_UnusedHouse_29_00:: @ 82D5840 + .incbin "baserom.gba", 0x2D5840, 0x150 + +gMapData_ViridianCity_PokemonCenter_1F:: @ 82D5990 +gMapData_PewterCity_PokemonCenter_1F:: @ 82D5990 +gMapData_CeruleanCity_PokemonCenter_1F:: @ 82D5990 +gMapData_LavenderTown_PokemonCenter_1F:: @ 82D5990 +gMapData_VermilionCity_PokemonCenter_1F:: @ 82D5990 +gMapData_CeladonCity_PokemonCenter_1F:: @ 82D5990 +gMapData_FuchsiaCity_PokemonCenter_1F:: @ 82D5990 +gMapData_CinnabarIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_SaffronCity_PokemonCenter_1F:: @ 82D5990 +gMapData_Route4_PokemonCenter_1F:: @ 82D5990 +gMapData_Route10_PokemonCenter_1F:: @ 82D5990 +gMapData_SevenIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_TwoIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_ThreeIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_FourIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_FiveIsland_PokemonCenter_1F:: @ 82D5990 +gMapData_SixIsland_PokemonCenter_1F:: @ 82D5990 + .incbin "baserom.gba", 0x2D5990, 0x150 + +gMapData_ViridianCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_PewterCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_CeruleanCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_LavenderTown_PokemonCenter_2F:: @ 82D5AE0 +gMapData_VermilionCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_CeladonCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_FuchsiaCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_CinnabarIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_IndigoPlateau_PokemonCenter_2F:: @ 82D5AE0 +gMapData_SaffronCity_PokemonCenter_2F:: @ 82D5AE0 +gMapData_Route4_PokemonCenter_2F:: @ 82D5AE0 +gMapData_Route10_PokemonCenter_2F:: @ 82D5AE0 +gMapData_SevenIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_TwoIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_ThreeIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_FourIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_FiveIsland_PokemonCenter_2F:: @ 82D5AE0 +gMapData_SixIsland_PokemonCenter_2F:: @ 82D5AE0 + .incbin "baserom.gba", 0x2D5AE0, 0xEC + +gMapData_ViridianCity_Mart:: @ 82D5BCC +gMapData_PewterCity_Mart:: @ 82D5BCC +gMapData_CeruleanCity_Mart:: @ 82D5BCC +gMapData_LavenderTown_Mart:: @ 82D5BCC +gMapData_VermilionCity_Mart:: @ 82D5BCC +gMapData_FuchsiaCity_Mart:: @ 82D5BCC +gMapData_CinnabarIsland_Mart:: @ 82D5BCC +gMapData_SaffronCity_Mart:: @ 82D5BCC +gMapData_SevenIsland_Mart:: @ 82D5BCC +gMapData_ThreeIsland_Mart:: @ 82D5BCC +gMapData_FourIsland_Mart:: @ 82D5BCC +gMapData_SixIsland_Mart:: @ 82D5BCC + .incbin "baserom.gba", 0x2D5BCC, 0xEC + +gMapData_OneIsland_House1:: @ 82D5CB8 +gMapData_OneIsland_House2:: @ 82D5CB8 +gMapData_TwoIsland_House:: @ 82D5CB8 +gMapData_ThreeIsland_House2:: @ 82D5CB8 +gMapData_ThreeIsland_House3:: @ 82D5CB8 +gMapData_ThreeIsland_House4:: @ 82D5CB8 +gMapData_ThreeIsland_House5:: @ 82D5CB8 +gMapData_FourIsland_House1:: @ 82D5CB8 +gMapData_FourIsland_House2:: @ 82D5CB8 +gMapData_FiveIsland_House1:: @ 82D5CB8 +gMapData_FiveIsland_House2:: @ 82D5CB8 +gMapData_SixIsland_House:: @ 82D5CB8 +gMapData_TwoIsland_CapeBrink_House:: @ 82D5CB8 +gMapData_SixIsland_WaterPath_House2:: @ 82D5CB8 +gMapData_SevenIsland_SevaultCanyon_House:: @ 82D5CB8 + .incbin "baserom.gba", 0x2D5CB8, 0x2CC + +gMapData_CeruleanCity_Gym:: @ 82D5F84 + .incbin "baserom.gba", 0x2D5F84, 0xEC + +gMapData_Route12_FishingHouse:: @ 82D6070 +gMapData_UnusedHouse_31_05:: @ 82D6070 +gMapData_SixIsland_WaterPath_House1:: @ 82D6070 + .incbin "baserom.gba", 0x2D6070, 0x300 + +gMapData_CeladonCity_Gym:: @ 82D6370 + .incbin "baserom.gba", 0x2D6370, 0x20C + +gMapData_FiveIsland_ResortGorgeous_House:: @ 82D657C + .incbin "baserom.gba", 0x2D657C, 0x488 + +gMapData_FuchsiaCity_Gym:: @ 82D6A04 + .incbin "baserom.gba", 0x2D6A04, 0xEC + +gMapData_LavenderTown_House1:: @ 82D6AF0 +gMapData_LavenderTown_House2:: @ 82D6AF0 +gMapData_CeladonCity_House1:: @ 82D6AF0 +gMapData_SaffronCity_House2:: @ 82D6AF0 +gMapData_SaffronCity_House3:: @ 82D6AF0 + .incbin "baserom.gba", 0x2D6AF0, 0x338 + +gMapData_VermilionCity_Gym:: @ 82D6E28 + .incbin "baserom.gba", 0x2D6E28, 0x100 + +gMapData_CeruleanCity_BikeShop:: @ 82D6F28 + .incbin "baserom.gba", 0x2D6F28, 0x240 + +gMapData_CeladonCity_GameCorner:: @ 82D7168 + .incbin "baserom.gba", 0x2D7168, 0x1C4 + +gMapData_PewterCity_Gym:: @ 82D732C + .incbin "baserom.gba", 0x2D732C, 0xEC + +gMapData_FourIsland_LoreleisHouse:: @ 82D7418 + .incbin "baserom.gba", 0x2D7418, 0xEC + +gMapData_ThreeIsland_House1:: @ 82D7504 + .incbin "baserom.gba", 0x2D7504, 0x740 + +gMapData_SaffronCity_Gym:: @ 82D7C44 + .incbin "baserom.gba", 0x2D7C44, 0x684 + +gMapData_CinnabarIsland_Gym:: @ 82D82C8 + .incbin "baserom.gba", 0x2D82C8, 0x3E4 + +gMapData_ViridianCity_Gym:: @ 82D86AC + .incbin "baserom.gba", 0x2D86AC, 0x33C + +gMapData_UnknownMap_00_00:: @ 82D89E8 + .incbin "baserom.gba", 0x2D89E8, 0xFC + +gMapData_UnknownMap_00_01:: @ 82D8AE4 + .incbin "baserom.gba", 0x2D8AE4, 0x1B4 + +gMapData_UnknownMap_00_02:: @ 82D8C98 + .incbin "baserom.gba", 0x2D8C98, 0x120 + +gMapData_UnknownMap_00_03:: @ 82D8DB8 + .incbin "baserom.gba", 0x2D8DB8, 0xC8 + +gMapData_FuchsiaCity_SafariZone_Entrance:: @ 82D8E80 + .incbin "baserom.gba", 0x2D8E80, 0x4640 + +gMapData_PalletTown:: @ 82DD4C0 + .incbin "baserom.gba", 0x2DD4C0, 0xF24 + +gMapData_ViridianCity:: @ 82DE3E4 + .incbin "baserom.gba", 0x2DE3E4, 0xF24 + +gMapData_PewterCity:: @ 82DF308 + .incbin "baserom.gba", 0x2DF308, 0xF24 + +gMapData_CeruleanCity:: @ 82E022C + .incbin "baserom.gba", 0x2E022C, 0x3E4 + +gMapData_LavenderTown:: @ 82E0610 + .incbin "baserom.gba", 0x2E0610, 0xF24 + +gMapData_VermilionCity:: @ 82E1534 + .incbin "baserom.gba", 0x2E1534, 0x12E4 +gMapData_CeladonCity:: @ 82E2818 + .incbin "baserom.gba", 0x2E2818, 0xF24 + +gMapData_FuchsiaCity:: @ 82E373C + .incbin "baserom.gba", 0x2E373C, 0x3E4 + +gMapData_CinnabarIsland:: @ 82E3B20 + .incbin "baserom.gba", 0x2E3B20, 0x3E4 + +gMapData_IndigoPlateau_Exterior:: @ 82E3F04 + .incbin "baserom.gba", 0x2E3F04, 0xF24 + +gMapData_SaffronCity:: @ 82E4E28 + .incbin "baserom.gba", 0x2E4E28, 0x7A4 + +gMapData_Route1:: @ 82E55CC gUnknown_82E55CC:: @ 82E55CC - .incbin "baserom.gba", 0x2E55CC, 0x695C0 + .incbin "baserom.gba", 0x2E55CC, 0xF24 + +gMapData_Route2:: @ 82E64F0 + .incbin "baserom.gba", 0x2E64F0, 0xD44 + +gMapData_Route3:: @ 82E7234 + .incbin "baserom.gba", 0x2E7234, 0x1104 + +gMapData_Route4:: @ 82E8338 + .incbin "baserom.gba", 0x2E8338, 0xF24 + +gMapData_Route5:: @ 82E925C + .incbin "baserom.gba", 0x2E925C, 0x7A4 + +gMapData_Route6:: @ 82E9A00 + .incbin "baserom.gba", 0x2E9A00, 0x3E4 + +gMapData_Route7:: @ 82E9DE4 + .incbin "baserom.gba", 0x2E9DE4, 0xB64 + +gMapData_Route8:: @ 82EA948 + .incbin "baserom.gba", 0x2EA948, 0xB64 + +gMapData_Route9:: @ 82EB4AC + .incbin "baserom.gba", 0x2EB4AC, 0xF24 + +gMapData_Route10:: @ 82EC3D0 + .incbin "baserom.gba", 0x2EC3D0, 0xB64 + +gMapData_Route11:: @ 82ECF34 + .incbin "baserom.gba", 0x2ECF34, 0x16A4 + +gMapData_Route12:: @ 82EE5D8 + .incbin "baserom.gba", 0x2EE5D8, 0xB64 + +gMapData_Route13:: @ 82EF13C + .incbin "baserom.gba", 0x2EF13C, 0xB64 + +gMapData_Route14:: @ 82EFCA0 + .incbin "baserom.gba", 0x2EFCA0, 0xB64 + +gMapData_Route15:: @ 82F0804 + .incbin "baserom.gba", 0x2F0804, 0x7A4 + +gMapData_Route16:: @ 82F0FA8 + .incbin "baserom.gba", 0x2F0FA8, 0x1E24 + +gMapData_Route17:: @ 82F2DCC + .incbin "baserom.gba", 0x2F2DCC, 0x984 + +gMapData_Route18:: @ 82F3750 + .incbin "baserom.gba", 0x2F3750, 0xB64 + +gMapData_Route19:: @ 82F42B4 + .incbin "baserom.gba", 0x2F42B4, 0x12E4 + +gMapData_Route20:: @ 82F5598 + .incbin "baserom.gba", 0x2F5598, 0x984 + +gMapData_Route21_North:: @ 82F5F1C + .incbin "baserom.gba", 0x2F5F1C, 0x924 + +gMapData_Route22:: @ 82F6840 + .incbin "baserom.gba", 0x2F6840, 0x1E24 + +gMapData_Route23:: @ 82F8664 + .incbin "baserom.gba", 0x2F8664, 0x7A4 + +gMapData_Route24:: @ 82F8E08 + .incbin "baserom.gba", 0x2F8E08, 0xB64 + +gMapData_Route25:: @ 82F996C + .incbin "baserom.gba", 0x2F996C, 0xF24 + +gMapData_MtMoon_1F:: @ 82FA890 + .incbin "baserom.gba", 0x2FA890, 0xF74 + +gMapData_MtMoon_B1F:: @ 82FB804 + .incbin "baserom.gba", 0x2FB804, 0xF24 + +gMapData_MtMoon_B2F:: @ 82FC728 + .incbin "baserom.gba", 0x2FC728, 0x1D44 + +gMapData_ViridianForest:: @ 82FE46C + .incbin "baserom.gba", 0x2FE46C, 0x11A4 + +gMapData_SSAnne_Exterior:: @ 82FF610 + .incbin "baserom.gba", 0x2FF610, 0x53C + +gMapData_SSAnne_1F_Corridor:: @ 82FFB4C + .incbin "baserom.gba", 0x2FFB4C, 0x464 + +gMapData_SSAnne_2F_Corridor:: @ 82FFFB0 + .incbin "baserom.gba", 0x2FFFB0, 0x158 + +gMapData_SSAnne_3F_Corridor:: @ 8300108 + .incbin "baserom.gba", 0x300108, 0x168 + +gMapData_SSAnne_B1F_Corridor:: @ 8300270 + .incbin "baserom.gba", 0x300270, 0x3B4 + +gMapData_SSAnne_Deck:: @ 8300624 + .incbin "baserom.gba", 0x300624, 0x3544 + +gMapData_DiglettsCave_B1F:: @ 8303B68 + .incbin "baserom.gba", 0x303B68, 0x864 + +gMapData_VictoryRoad_1F:: @ 83043CC + .incbin "baserom.gba", 0x3043CC, 0x8E8 + +gMapData_VictoryRoad_2F:: @ 8304CB4 + .incbin "baserom.gba", 0x304CB4, 0x7E0 + +gMapData_VictoryRoad_3F:: @ 8305494 + .incbin "baserom.gba", 0x305494, 0x794 + +gMapData_RocketHideout_B1F:: @ 8305C28 + .incbin "baserom.gba", 0x305C28, 0x5A4 + +gMapData_RocketHideout_B2F:: @ 83061CC + .incbin "baserom.gba", 0x3061CC, 0x4C8 + +gMapData_RocketHideout_B3F:: @ 8306694 + .incbin "baserom.gba", 0x306694, 0x504 + +gMapData_RocketHideout_B4F:: @ 8306B98 + .incbin "baserom.gba", 0x306B98, 0x654 + +gMapData_SilphCo_1F:: @ 83071EC + .incbin "baserom.gba", 0x3071EC, 0x654 + +gMapData_SilphCo_2F:: @ 8307840 + .incbin "baserom.gba", 0x307840, 0x654 + +gMapData_SilphCo_3F:: @ 8307E94 + .incbin "baserom.gba", 0x307E94, 0x654 + +gMapData_SilphCo_4F:: @ 83084E8 + .incbin "baserom.gba", 0x3084E8, 0x654 + +gMapData_SilphCo_5F:: @ 8308B3C + .incbin "baserom.gba", 0x308B3C, 0x4C0 + +gMapData_SilphCo_6F:: @ 8308FFC + .incbin "baserom.gba", 0x308FFC, 0x4C0 + +gMapData_SilphCo_7F:: @ 83094BC + .incbin "baserom.gba", 0x3094BC, 0x4C0 + +gMapData_SilphCo_8F:: @ 830997C + .incbin "baserom.gba", 0x30997C, 0x4C0 + +gMapData_SilphCo_9F:: @ 8309E3C + .incbin "baserom.gba", 0x309E3C, 0x2AC + +gMapData_SilphCo_10F:: @ 830A0E8 + .incbin "baserom.gba", 0x30A0E8, 0x2CC + +gMapData_SilphCo_11F:: @ 830A3B4 + .incbin "baserom.gba", 0x30A3B4, 0xA88 + +gMapData_PokemonMansion_1F:: @ 830AE3C + .incbin "baserom.gba", 0x30AE3C, 0xB6C + +gMapData_PokemonMansion_2F:: @ 830B9A8 + .incbin "baserom.gba", 0x30B9A8, 0xA88 + +gMapData_PokemonMansion_3F:: @ 830C430 + .incbin "baserom.gba", 0x30C430, 0xA88 + +gMapData_PokemonMansion_B1F:: @ 830CEB8 + .incbin "baserom.gba", 0x30CEB8, 0xE80 + +gMapData_SafariZone_Center:: @ 830DD38 + .incbin "baserom.gba", 0x30DD38, 0xEEC + +gMapData_SafariZone_East:: @ 830EC24 + .incbin "baserom.gba", 0x30EC24, 0x11F8 + +gMapData_SafariZone_North:: @ 830FE1C + .incbin "baserom.gba", 0x30FE1C, 0xDA8 + +gMapData_SafariZone_West:: @ 8310BC4 + .incbin "baserom.gba", 0x310BC4, 0x754 + +gMapData_CeruleanCave_1F:: @ 8311318 + .incbin "baserom.gba", 0x311318, 0x754 + +gMapData_CeruleanCave_2F:: @ 8311A6C + .incbin "baserom.gba", 0x311A6C, 0x754 + +gMapData_CeruleanCave_B1F:: @ 83121C0 + .incbin "baserom.gba", 0x3121C0, 0xF24 + +gMapData_RockTunnel_1F:: @ 83130E4 + .incbin "baserom.gba", 0x3130E4, 0xF24 + +gMapData_RockTunnel_B1F:: @ 8314008 + .incbin "baserom.gba", 0x314008, 0x744 + +gMapData_SeafoamIslands_1F:: @ 831474C + .incbin "baserom.gba", 0x31474C, 0x6F8 + +gMapData_SeafoamIslands_B1F:: @ 8314E44 + .incbin "baserom.gba", 0x314E44, 0x744 + +gMapData_SeafoamIslands_B2F:: @ 8315588 + .incbin "baserom.gba", 0x315588, 0x744 + +gMapData_SeafoamIslands_B3F:: @ 8315CCC + .incbin "baserom.gba", 0x315CCC, 0x744 + +gMapData_SeafoamIslands_B4F:: @ 8316410 + .incbin "baserom.gba", 0x316410, 0x3E4 + +gMapData_PokemonTower_1F:: @ 83167F4 + .incbin "baserom.gba", 0x3167F4, 0x3E4 + +gMapData_PokemonTower_2F:: @ 8316BD8 + .incbin "baserom.gba", 0x316BD8, 0x3E4 + +gMapData_PokemonTower_3F:: @ 8316FBC + .incbin "baserom.gba", 0x316FBC, 0x3E4 + +gMapData_PokemonTower_4F:: @ 83173A0 + .incbin "baserom.gba", 0x3173A0, 0x3E4 + +gMapData_PokemonTower_5F:: @ 8317784 + .incbin "baserom.gba", 0x317784, 0x3E4 + +gMapData_PokemonTower_6F:: @ 8317B68 + .incbin "baserom.gba", 0x317B68, 0x3E4 + +gMapData_PokemonTower_7F:: @ 8317F4C + .incbin "baserom.gba", 0x317F4C, 0xF74 + +gMapData_PowerPlant:: @ 8318EC0 + .incbin "baserom.gba", 0x318EC0, 0x170 + +gMapData_Route25_SeaCottage:: @ 8319030 + .incbin "baserom.gba", 0x319030, 0x1E4 + +gMapData_SSAnne_Kitchen:: @ 8319214 + .incbin "baserom.gba", 0x319214, 0xD8 + +gMapData_SSAnne_CaptainsOffice:: @ 83192EC + .incbin "baserom.gba", 0x3192EC, 0x128 + +gMapData_UndergroundPath_NorthEntrance:: @ 8319414 +gMapData_UndergroundPath_SouthEntrance:: @ 8319414 +gMapData_UndergroundPath_WestEntrance:: @ 8319414 +gMapData_UndergroundPath_EastEntrance:: @ 8319414 + .incbin "baserom.gba", 0x319414, 0x484 + +gMapData_UndergroundPath_EastWestTunnel:: @ 8319898 + .incbin "baserom.gba", 0x319898, 0x414 + +gMapData_UndergroundPath_NorthSouthTunnel:: @ 8319CAC + .incbin "baserom.gba", 0x319CAC, 0x144 + +gMapData_Route12_NorthEntrance_1F:: @ 8319DF0 + .incbin "baserom.gba", 0x319DF0, 0x84 + +gMapData_SSAnne_1F_Room1:: @ 8319E74 +gMapData_SSAnne_1F_Room2:: @ 8319E74 +gMapData_SSAnne_1F_Room3:: @ 8319E74 +gMapData_SSAnne_1F_Room4:: @ 8319E74 +gMapData_SSAnne_1F_Room5:: @ 8319E74 +gMapData_SSAnne_1F_Room7:: @ 8319E74 +gMapData_SSAnne_1F_Room6:: @ 8319E74 + .incbin "baserom.gba", 0x319E74, 0x90 + +gMapData_SSAnne_2F_Room1:: @ 8319F04 +gMapData_SSAnne_2F_Room2:: @ 8319F04 +gMapData_SSAnne_2F_Room3:: @ 8319F04 +gMapData_SSAnne_2F_Room4:: @ 8319F04 +gMapData_SSAnne_2F_Room5:: @ 8319F04 +gMapData_SSAnne_2F_Room6:: @ 8319F04 +gMapData_SSAnne_B1F_Room1:: @ 8319F04 +gMapData_SSAnne_B1F_Room2:: @ 8319F04 +gMapData_SSAnne_B1F_Room3:: @ 8319F04 +gMapData_SSAnne_B1F_Room4:: @ 8319F04 +gMapData_SSAnne_B1F_Room5:: @ 8319F04 + .incbin "baserom.gba", 0x319F04, 0x6C + +gMapData_CeladonCity_DepartmentStore_Elevator:: @ 8319F70 + .incbin "baserom.gba", 0x319F70, 0x28C + +gMapData_PewterCity_Museum_1F:: @ 831A1FC + .incbin "baserom.gba", 0x31A1FC, 0x1A0 + +gMapData_PewterCity_Museum_2F:: @ 831A39C + .incbin "baserom.gba", 0x31A39C, 0xD8 + +gMapData_CeruleanCity_House2:: @ 831A474 + .incbin "baserom.gba", 0x31A474, 0xEC + +gMapData_CeruleanCity_House1:: @ 831A560 + .incbin "baserom.gba", 0x31A560, 0x27C + +gMapData_CeladonCity_Condominiums_1F:: @ 831A7DC + .incbin "baserom.gba", 0x31A7DC, 0x27C + +gMapData_CeladonCity_Condominiums_2F:: @ 831AA58 + .incbin "baserom.gba", 0x31AA58, 0x27C + +gMapData_CeladonCity_Condominiums_3F:: @ 831ACD4 + .incbin "baserom.gba", 0x31ACD4, 0x2A8 + +gMapData_CeladonCity_Condominiums_Roof:: @ 831AF7C + .incbin "baserom.gba", 0x31AF7C, 0xD8 + +gMapData_CeladonCity_Condominiums_RoofRoom:: @ 831B054 + .incbin "baserom.gba", 0x31B054, 0xD8 + +gMapData_CeladonCity_GameCorner_PrizeRoom:: @ 831B12C + .incbin "baserom.gba", 0x31B12C, 0x170 + +gMapData_CeladonCity_Restaurant:: @ 831B29C + .incbin "baserom.gba", 0x31B29C, 0x19C + +gMapData_CeladonCity_Hotel:: @ 831B438 + .incbin "baserom.gba", 0x31B438, 0x1C4 + +gMapData_CeladonCity_DepartmentStore_1F:: @ 831B5FC + .incbin "baserom.gba", 0x31B5FC, 0x1AC + +gMapData_CeladonCity_DepartmentStore_2F:: @ 831B7A8 + .incbin "baserom.gba", 0x31B7A8, 0x1AC + +gMapData_CeladonCity_DepartmentStore_3F:: @ 831B954 + .incbin "baserom.gba", 0x31B954, 0x1AC + +gMapData_CeladonCity_DepartmentStore_4F:: @ 831BB00 + .incbin "baserom.gba", 0x31BB00, 0x1AC + +gMapData_CeladonCity_DepartmentStore_5F:: @ 831BCAC + .incbin "baserom.gba", 0x31BCAC, 0x238 + +gMapData_CeladonCity_DepartmentStore_Roof:: @ 831BEE4 + .incbin "baserom.gba", 0x31BEE4, 0x144 + +gMapData_SafariZone_Building1:: @ 831C028 +gMapData_SafariZone_Building2:: @ 831C028 +gMapData_SafariZone_Building3:: @ 831C028 +gMapData_SafariZone_Building4:: @ 831C028 + .incbin "baserom.gba", 0x31C028, 0x144 + +gMapData_SafariZone_SecretHouse:: @ 831C16C + .incbin "baserom.gba", 0x31C16C, 0x1DC + +gMapData_FuchsiaCity_ZooBuilding:: @ 831C348 + .incbin "baserom.gba", 0x31C348, 0x144 + +gMapData_FuchsiaCity_Building1:: @ 831C48C + .incbin "baserom.gba", 0x31C48C, 0xEC + +gMapData_FuchsiaCity_House2:: @ 831C578 + .incbin "baserom.gba", 0x31C578, 0x28C + +gMapData_CinnabarIsland_PokemonLab_Entrance:: @ 831C804 + .incbin "baserom.gba", 0x31C804, 0x170 + +gMapData_CinnabarIsland_PokemonLab_Lounge:: @ 831C974 + .incbin "baserom.gba", 0x31C974, 0x170 + +gMapData_CinnabarIsland_PokemonLab_ResearchRoom:: @ 831CAE4 + .incbin "baserom.gba", 0x31CAE4, 0x170 + +gMapData_CinnabarIsland_PokemonLab_ExperimentRoom:: @ 831CC54 + .incbin "baserom.gba", 0x31CC54, 0x1C80 + +gMapData_SaffronCity_Duplicate:: @ 831E8D4 + .incbin "baserom.gba", 0x31E8D4, 0xEC + +gMapData_Route5_SouthEntrance:: @ 831E9C0 +gMapData_Route6_NorthEntrance:: @ 831E9C0 + .incbin "baserom.gba", 0x31E9C0, 0x110 + +gMapData_Route7_EastEntrance:: @ 831EAD0 +gMapData_Route8_WestEntrance:: @ 831EAD0 + .incbin "baserom.gba", 0x31EAD0, 0xC4 + +gMapData_DiglettsCave_NorthEntrance:: @ 831EB94 + .incbin "baserom.gba", 0x31EB94, 0xC4 + +gMapData_DiglettsCave_SouthEntrance:: @ 831EC58 + .incbin "baserom.gba", 0x31EC58, 0x3A8 + +gMapData_IndigoPlateau_PokemonCenter_1F:: @ 831F000 + .incbin "baserom.gba", 0x31F000, 0x178 + +gMapData_PokemonLeague_LoreleisRoom:: @ 831F178 + .incbin "baserom.gba", 0x31F178, 0x178 + +gMapData_PokemonLeague_BrunosRoom:: @ 831F2F0 + .incbin "baserom.gba", 0x31F2F0, 0x178 + +gMapData_PokemonLeague_AgathasRoom:: @ 831F468 + .incbin "baserom.gba", 0x31F468, 0x564 + +gMapData_PokemonLeague_LancesRoom:: @ 831F9CC + .incbin "baserom.gba", 0x31F9CC, 0x22C + +gMapData_PokemonLeague_ChampionsRoom:: @ 831FBF8 + .incbin "baserom.gba", 0x31FBF8, 0x144 + +gMapData_PokemonLeague_HallOfFame:: @ 831FD3C + .incbin "baserom.gba", 0x31FD3C, 0x984 + +gMapData_Route21_South:: @ 83206C0 + .incbin "baserom.gba", 0x3206C0, 0x144 + +gMapData_Route11_EastEntrance_2F:: @ 8320804 +gMapData_Route12_NorthEntrance_2F:: @ 8320804 +gMapData_Route15_WestEntrance_2F:: @ 8320804 +gMapData_Route16_NorthEntrance_2F:: @ 8320804 +gMapData_Route18_EastEntrance_2F:: @ 8320804 + .incbin "baserom.gba", 0x320804, 0x18C + +gMapData_Route2_ViridianForest_SouthEntrance:: @ 8320990 +gMapData_Route2_EastBuilding:: @ 8320990 +gMapData_Route2_ViridianForest_NorthEntrance:: @ 8320990 + .incbin "baserom.gba", 0x320990, 0x18C + +gMapData_Route22_NorthEntrance:: @ 8320B1C + .incbin "baserom.gba", 0x320B1C, 0x1F8 + +gMapData_Route16_NorthEntrance_1F:: @ 8320D14 + .incbin "baserom.gba", 0x320D14, 0x15C + +gMapData_Route11_EastEntrance_1F:: @ 8320E70 +gMapData_Route15_WestEntrance_1F:: @ 8320E70 +gMapData_Route18_EastEntrance_1F:: @ 8320E70 + .incbin "baserom.gba", 0x320E70, 0x6C + +gMapData_RocketHideout_Elevator:: @ 8320EDC + .incbin "baserom.gba", 0x320EDC, 0x128 + +gMapData_SaffronCity_House1_1F:: @ 8321004 + .incbin "baserom.gba", 0x321004, 0xFC + +gMapData_SaffronCity_House1_2F:: @ 8321100 + .incbin "baserom.gba", 0x321100, 0x1C4 + +gMapData_SaffronCity_Dojo:: @ 83212C4 + .incbin "baserom.gba", 0x3212C4, 0x6C + +gMapData_SilphCo_Elevator:: @ 8321330 + .incbin "baserom.gba", 0x321330, 0x3E4 + +gMapData_OneIsland:: @ 8321714 + .incbin "baserom.gba", 0x321714, 0x7A4 + +gMapData_TwoIsland:: @ 8321EB8 + .incbin "baserom.gba", 0x321EB8, 0x7A4 + +gMapData_ThreeIsland:: @ 832265C + .incbin "baserom.gba", 0x32265C, 0xF24 + +gMapData_FourIsland:: @ 8323580 + .incbin "baserom.gba", 0x323580, 0x3E4 + +gMapData_FiveIsland:: @ 8323964 + .incbin "baserom.gba", 0x323964, 0x3E4 + +gMapData_SevenIsland:: @ 8323D48 + .incbin "baserom.gba", 0x323D48, 0x5C4 + +gMapData_SixIsland:: @ 832430C + .incbin "baserom.gba", 0x32430C, 0x1A64 + +gMapData_OneIsland_KindleRoad:: @ 8325D70 + .incbin "baserom.gba", 0x325D70, 0x7A4 + +gMapData_OneIsland_TreasureBeach:: @ 8326514 + .incbin "baserom.gba", 0x326514, 0x7A4 + +gMapData_TwoIsland_CapeBrink:: @ 8326CB8 + .incbin "baserom.gba", 0x326CB8, 0xF24 + +gMapData_ThreeIsland_BondBridge:: @ 8327BDC + .incbin "baserom.gba", 0x327BDC, 0x7A4 + +gMapData_ThreeIsland_Port:: @ 8328380 + .incbin "baserom.gba", 0x328380, 0x28 + +gMapData_UnknownMap_03_50:: @ 83283A8 + .incbin "baserom.gba", 0x3283A8, 0x28 + +gMapData_UnknownMap_03_51:: @ 83283D0 + .incbin "baserom.gba", 0x3283D0, 0xD44 + +gMapData_UnknownMap_03_52:: @ 8329114 + .incbin "baserom.gba", 0x329114, 0xB64 + +gMapData_UnknownMap_03_53:: @ 8329C78 + .incbin "baserom.gba", 0x329C78, 0xB64 + +gMapData_FiveIsland_ResortGorgeous:: @ 832A7DC + .incbin "baserom.gba", 0x32A7DC, 0xB64 + +gMapData_FiveIsland_WaterLabyrinth:: @ 832B340 + .incbin "baserom.gba", 0x32B340, 0x7A4 + +gMapData_FiveIsland_Meadow:: @ 832BAE4 + .incbin "baserom.gba", 0x32BAE4, 0xB64 + +gMapData_FiveIsland_MemorialPillar:: @ 832C648 + .incbin "baserom.gba", 0x32C648, 0xF24 + +gMapData_SixIsland_OutcastIsland:: @ 832D56C + .incbin "baserom.gba", 0x32D56C, 0xB64 + +gMapData_SixIsland_GreenPath:: @ 832E0D0 + .incbin "baserom.gba", 0x32E0D0, 0x12E4 + +gMapData_SixIsland_WaterPath:: @ 832F3B4 + .incbin "baserom.gba", 0x32F3B4, 0xF24 + +gMapData_SixIsland_RuinValley:: @ 83302D8 + .incbin "baserom.gba", 0x3302D8, 0x25A4 + +gMapData_SevenIsland_TrainerTower:: @ 833287C + .incbin "baserom.gba", 0x33287C, 0x7A4 + +gMapData_SevenIsland_SevaultCanyon_Entrance:: @ 8333020 + .incbin "baserom.gba", 0x333020, 0xF24 + +gMapData_SevenIsland_SevaultCanyon:: @ 8333F44 + .incbin "baserom.gba", 0x333F44, 0x16A4 + +gMapData_SevenIsland_TanobyRuins:: @ 83355E8 + .incbin "baserom.gba", 0x3355E8, 0x32DC + +gMapData_UnknownMap_00_04:: @ 83388C4 + .incbin "baserom.gba", 0x3388C4, 0x19C + +gMapData_SaffronCity_PokemonTrainerFanClub:: @ 8338A60 + .incbin "baserom.gba", 0x338A60, 0x1E8 + +gMapData_SevenIsland_House_Room2:: @ 8338C48 + .incbin "baserom.gba", 0x338C48, 0xD8 + +gMapData_ViridianCity_House2:: @ 8338D20 + .incbin "baserom.gba", 0x338D20, 0x570 + +gMapData_MtEmber_RubyPath_B4F:: @ 8339290 + .incbin "baserom.gba", 0x339290, 0x1518 + +gMapData_ThreeIsland_BerryForest:: @ 833A7A8 + .incbin "baserom.gba", 0x33A7A8, 0x1C8 + +gMapData_OneIsland_PokemonCenter_1F:: @ 833A970 + .incbin "baserom.gba", 0x33A970, 0x114 + +gMapData_TwoIsland_JoyfulGameCorner:: @ 833AA84 + .incbin "baserom.gba", 0x33AA84, 0x144 + +gMapData_VermilionCity_PokemonFanClub:: @ 833ABC8 + .incbin "baserom.gba", 0x33ABC8, 0xFC + +gMapData_LavenderTown_VolunteerPokemonHouse:: @ 833ACC4 + .incbin "baserom.gba", 0x33ACC4, 0xFC + +gMapData_Route5_PokemonDayCare:: @ 833ADC0 + .incbin "baserom.gba", 0x33ADC0, 0xEC + +gMapData_ViridianCity_House1:: @ 833AEAC + .incbin "baserom.gba", 0x33AEAC, 0xFC + +gMapData_FourIsland_PokemonDayCare:: @ 833AFA8 + .incbin "baserom.gba", 0x33AFA8, 0x26B8 + +gMapData_MtEmber_Exterior:: @ 833D660 + .incbin "baserom.gba", 0x33D660, 0x368 + +gMapData_MtEmber_Summit:: @ 833D9C8 + .incbin "baserom.gba", 0x33D9C8, 0x240 + +gMapData_MtEmber_SummitPath_1F:: @ 833DC08 + .incbin "baserom.gba", 0x33DC08, 0x1164 + +gMapData_MtEmber_SummitPath_2F:: @ 833ED6C + .incbin "baserom.gba", 0x33ED6C, 0x170 + +gMapData_MtEmber_SummitPath_3F:: @ 833EEDC + .incbin "baserom.gba", 0x33EEDC, 0x428 + +gMapData_SSAnne_Kitchen3:: @ 833F304 + .incbin "baserom.gba", 0x33F304, 0x220 + +gMapData_MtEmber_RubyPath_B1F:: @ 833F524 + .incbin "baserom.gba", 0x33F524, 0x184 + +gMapData_MtEmber_RubyPath_B2F:: @ 833F6A8 + .incbin "baserom.gba", 0x33F6A8, 0x5B8 + +gMapData_MtEmber_RubyPath_B3F:: @ 833FC60 + .incbin "baserom.gba", 0x33FC60, 0x78 + +gMapData_MtEmber_RubyPath_B1F_Stairs:: @ 833FCD8 + .incbin "baserom.gba", 0x33FCD8, 0x84 + +gMapData_MtEmber_RubyPath_B2F_Stairs:: @ 833FD5C + .incbin "baserom.gba", 0x33FD5C, 0x204 + +gMapData_MtEmber_RubyPath_B5F:: @ 833FF60 + .incbin "baserom.gba", 0x33FF60, 0x644 + +gMapData_SSAnne_CaptainsOffice4:: @ 83405A4 + .incbin "baserom.gba", 0x3405A4, 0x894 + +gMapData_FourIsland_IcefallCave_Entrance:: @ 8340E38 + .incbin "baserom.gba", 0x340E38, 0x344 + +gMapData_FourIsland_IcefallCave_1F:: @ 834117C + .incbin "baserom.gba", 0x34117C, 0x3E4 + +gMapData_SSAnne_CaptainsOffice2:: @ 8341560 + .incbin "baserom.gba", 0x341560, 0x538 + +gMapData_SSAnne_CaptainsOffice3:: @ 8341A98 + .incbin "baserom.gba", 0x341A98, 0x2AC + +gMapData_SevenIsland_TrainerTower_Lobby:: @ 8341D44 + .incbin "baserom.gba", 0x341D44, 0x288 + +gMapData_SevenIsland_TrainerTower_1F:: @ 8341FCC + .incbin "baserom.gba", 0x341FCC, 0x288 + +gMapData_SevenIsland_TrainerTower_2F:: @ 8342254 + .incbin "baserom.gba", 0x342254, 0x288 + +gMapData_SevenIsland_TrainerTower_3F:: @ 83424DC + .incbin "baserom.gba", 0x3424DC, 0x288 + +gMapData_SevenIsland_TrainerTower_4F:: @ 8342764 + .incbin "baserom.gba", 0x342764, 0x288 + +gMapData_SevenIsland_TrainerTower_5F:: @ 83429EC + .incbin "baserom.gba", 0x3429EC, 0x288 + +gMapData_SevenIsland_TrainerTower_6F:: @ 8342C74 + .incbin "baserom.gba", 0x342C74, 0x288 + +gMapData_SevenIsland_TrainerTower_7F:: @ 8342EFC + .incbin "baserom.gba", 0x342EFC, 0x288 + +gMapData_SevenIsland_TrainerTower_8F:: @ 8343184 + .incbin "baserom.gba", 0x343184, 0x264 + +gMapData_SevenIsland_TrainerTower_Roof:: @ 83433E8 + .incbin "baserom.gba", 0x3433E8, 0x6C + +gMapData_SevenIsland_TrainerTower_Elevator:: @ 8343454 + .incbin "baserom.gba", 0x343454, 0xEC + +gMapData_CeruleanCity_House5:: @ 8343540 + .incbin "baserom.gba", 0x343540, 0x184 + +gMapData_SSAnne_CaptainsOffice5:: @ 83436C4 + .incbin "baserom.gba", 0x3436C4, 0x144 + +gMapData_SixIsland_DottedHole_B1F:: @ 8343808 + .incbin "baserom.gba", 0x343808, 0x144 + +gMapData_SixIsland_DottedHole_B2F:: @ 834394C + .incbin "baserom.gba", 0x34394C, 0x144 + +gMapData_SixIsland_DottedHole_B3F:: @ 8343A90 + .incbin "baserom.gba", 0x343A90, 0x144 + +gMapData_SSAnne_CaptainsOffice9:: @ 8343BD4 + .incbin "baserom.gba", 0x343BD4, 0x204 + +gMapData_SixIsland_DottedHole_SapphireRoom:: @ 8343DD8 + .incbin "baserom.gba", 0x343DD8, 0x1E0 + +gMapData_BirthIsland_Harbor:: @ 8343FB8 +gMapData_NavelRock_Harbor:: @ 8343FB8 +gMapData_SevenIsland_Harbor:: @ 8343FB8 +gMapData_OneIsland_Harbor:: @ 8343FB8 +gMapData_TwoIsland_Harbor:: @ 8343FB8 +gMapData_FourIsland_Harbor:: @ 8343FB8 +gMapData_FiveIsland_Harbor:: @ 8343FB8 +gMapData_SixIsland_Harbor:: @ 8343FB8 +gMapData_ThreeIsland_Harbor:: @ 8343FB8 + .incbin "baserom.gba", 0x343FB8, 0x150 + +gMapData_OneIsland_PokemonCenter_2F:: @ 8344108 + .incbin "baserom.gba", 0x344108, 0xF28 + +gMapData_SSAnne_1F_Room11:: @ 8345030 + .incbin "baserom.gba", 0x345030, 0x1C8 + +gMapData_ThreeIsland_DunsparceTunnel:: @ 83451F8 + .incbin "baserom.gba", 0x3451F8, 0x2E0 + +gMapData_FiveIsland_LostCave_Entrance:: @ 83454D8 + .incbin "baserom.gba", 0x3454D8, 0x118 + +gMapData_FiveIsland_LostCave_Room1:: @ 83455F0 + .incbin "baserom.gba", 0x3455F0, 0x118 + +gMapData_FiveIsland_LostCave_Room2:: @ 8345708 + .incbin "baserom.gba", 0x345708, 0x118 + +gMapData_FiveIsland_LostCave_Room3:: @ 8345820 + .incbin "baserom.gba", 0x345820, 0x118 + +gMapData_FiveIsland_LostCave_Room4:: @ 8345938 + .incbin "baserom.gba", 0x345938, 0x118 + +gMapData_FiveIsland_LostCave_Room5:: @ 8345A50 + .incbin "baserom.gba", 0x345A50, 0x118 + +gMapData_FiveIsland_LostCave_Room6:: @ 8345B68 + .incbin "baserom.gba", 0x345B68, 0x118 + +gMapData_FiveIsland_LostCave_Room7:: @ 8345C80 + .incbin "baserom.gba", 0x345C80, 0x118 + +gMapData_FiveIsland_LostCave_Room8:: @ 8345D98 + .incbin "baserom.gba", 0x345D98, 0x118 + +gMapData_FiveIsland_LostCave_Room9:: @ 8345EB0 + .incbin "baserom.gba", 0x345EB0, 0x118 + +gMapData_FiveIsland_LostCave_Room10:: @ 8345FC8 + .incbin "baserom.gba", 0x345FC8, 0x118 + +gMapData_FiveIsland_LostCave_Room11:: @ 83460E0 + .incbin "baserom.gba", 0x3460E0, 0x118 + +gMapData_FiveIsland_LostCave_Room12:: @ 83461F8 + .incbin "baserom.gba", 0x3461F8, 0x118 + +gMapData_FiveIsland_LostCave_Room13:: @ 8346310 + .incbin "baserom.gba", 0x346310, 0x118 + +gMapData_FiveIsland_LostCave_Room14:: @ 8346428 + .incbin "baserom.gba", 0x346428, 0x334 + +gMapData_SevenIsland_TanobyRuins_MoneanChamber:: @ 834675C + .incbin "baserom.gba", 0x34675C, 0x334 + +gMapData_SevenIsland_TanobyRuins_LiptooChamber:: @ 8346A90 + .incbin "baserom.gba", 0x346A90, 0x334 + +gMapData_SevenIsland_TanobyRuins_WeepthChamber:: @ 8346DC4 + .incbin "baserom.gba", 0x346DC4, 0x334 + +gMapData_SevenIsland_TanobyRuins_DilfordChamber:: @ 83470F8 + .incbin "baserom.gba", 0x3470F8, 0x334 + +gMapData_SevenIsland_TanobyRuins_ScufibChamber:: @ 834742C + .incbin "baserom.gba", 0x34742C, 0x624 + +gMapData_SSAnne_1F_Room12:: @ 8347A50 + .incbin "baserom.gba", 0x347A50, 0x204 + +gMapData_SevenIsland_SeavaultCanyon_TanobyKey:: @ 8347C54 + .incbin "baserom.gba", 0x347C54, 0x72C + +gMapData_BirthIsland_Exterior:: @ 8348380 + .incbin "baserom.gba", 0x348380, 0x3BC + +gMapData_NavelRock_Exterior:: @ 834873C + .incbin "baserom.gba", 0x34873C, 0x398 + +gMapData_NavelRock_1F:: @ 8348AD4 + .incbin "baserom.gba", 0x348AD4, 0x3DC + +gMapData_NavelRock_Summit:: @ 8348EB0 + .incbin "baserom.gba", 0x348EB0, 0x3EC + +gMapData_NavelRock_Base:: @ 834929C + .incbin "baserom.gba", 0x34929C, 0x88 + +gMapData_NavelRock_SummitPath_2F:: @ 8349324 + .incbin "baserom.gba", 0x349324, 0x88 + +gMapData_NavelRock_SummitPath_3F:: @ 83493AC + .incbin "baserom.gba", 0x3493AC, 0x88 + +gMapData_NavelRock_SummitPath_4F:: @ 8349434 + .incbin "baserom.gba", 0x349434, 0x88 + +gMapData_NavelRock_SummitPath_5F:: @ 83494BC + .incbin "baserom.gba", 0x3494BC, 0x88 + +gMapData_NavelRock_BasePath_B1F:: @ 8349544 + .incbin "baserom.gba", 0x349544, 0x88 + +gMapData_NavelRock_BasePath_B2F:: @ 83495CC + .incbin "baserom.gba", 0x3495CC, 0x88 + +gMapData_NavelRock_BasePath_B3F:: @ 8349654 + .incbin "baserom.gba", 0x349654, 0x88 + +gMapData_NavelRock_BasePath_B4F:: @ 83496DC + .incbin "baserom.gba", 0x3496DC, 0x88 + +gMapData_NavelRock_BasePath_B5F:: @ 8349764 + .incbin "baserom.gba", 0x349764, 0x88 + +gMapData_NavelRock_BasePath_B6F:: @ 83497EC + .incbin "baserom.gba", 0x3497EC, 0x88 + +gMapData_NavelRock_BasePath_B7F:: @ 8349874 + .incbin "baserom.gba", 0x349874, 0x88 + +gMapData_NavelRock_BasePath_B8F:: @ 83498FC + .incbin "baserom.gba", 0x3498FC, 0x88 + +gMapData_NavelRock_BasePath_B9F:: @ 8349984 + .incbin "baserom.gba", 0x349984, 0x88 + +gMapData_NavelRock_BasePath_B10F:: @ 8349A0C + .incbin "baserom.gba", 0x349A0C, 0x88 + +gMapData_NavelRock_BasePath_B11F:: @ 8349A94 + .incbin "baserom.gba", 0x349A94, 0x334 + +gMapData_SevenIsland_TanobyRuins_RixyChamber:: @ 8349DC8 + .incbin "baserom.gba", 0x349DC8, 0x334 + +gMapData_SevenIsland_TanobyRuins_ViapoisChamber:: @ 834A0FC + .incbin "baserom.gba", 0x34A0FC, 0x114 + +gMapData_NavelRock_B1F:: @ 834A210 + .incbin "baserom.gba", 0x34A210, 0x1794 + +gMapData_NavelRock_Fork:: @ 834B9A4 + .incbin "baserom.gba", 0x34B9A4, 0x296C + +gMapData_SevenIsland_House_Room1:: @ 834E310 + .incbin "baserom.gba", 0x34E310, 0x860 + +gMapData_OneIsland_KindleRoad_EmberSpa:: @ 834EB70 + .incbin "baserom.gba", 0x34EB70, 0x1C gUnknown_834EB8C:: @ 834EB8C .incbin "baserom.gba", 0x34EB8C, 0x5FC diff --git a/data/data_835B488.s b/data/data_835B488.s index 71e98b2ba..2c8a853a8 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -1,936 +1,5 @@ .section .rodata - - .align 2 -gUnknown_835B488:: @ 835B488 - .incbin "baserom.gba", 0x35B488, 0x14 - -gUnknown_835B49C:: @ 835B49C - .incbin "baserom.gba", 0x35B49C, 0x14 - -gUnknown_835B4B0:: @ 835B4B0 - .incbin "baserom.gba", 0x35B4B0, 0x14 - -gUnknown_835B4C4:: @ 835B4C4 - .incbin "baserom.gba", 0x35B4C4, 0x114 - -gUnknown_835B5D8:: @ 835B5D8 - .incbin "baserom.gba", 0x35B5D8, 0x18C - -gUnknown_835B764:: @ 835B764 - .incbin "baserom.gba", 0x35B764, 0xB0 - -gUnknown_835B814:: @ 835B814 - .incbin "baserom.gba", 0x35B814, 0xC - -gUnknown_835B820:: @ 835B820 - .incbin "baserom.gba", 0x35B820, 0x8 - -gUnknown_835B828:: @ 835B828 - .incbin "baserom.gba", 0x35B828, 0x14 - -gUnknown_835B83C:: @ 835B83C - .incbin "baserom.gba", 0x35B83C, 0x8 - -gUnknown_835B844:: @ 835B844 - .incbin "baserom.gba", 0x35B844, 0x20 - -gUnknown_835B864:: @ 835B864 - .incbin "baserom.gba", 0x35B864, 0x10 - -gUnknown_835B874:: @ 835B874 - .incbin "baserom.gba", 0x35B874, 0xC - -gUnknown_835B880:: @ 835B880 - .incbin "baserom.gba", 0x35B880, 0x2 - -gUnknown_835B882:: @ 835B882 - .incbin "baserom.gba", 0x35B882, 0xC - -gUnknown_835B88E:: @ 835B88E - .incbin "baserom.gba", 0x35B88E, 0x2 - -gUnknown_835B890:: @ 835B890 - .incbin "baserom.gba", 0x35B890, 0x10 - -gUnknown_835B8A0:: @ 835B8A0 - .incbin "baserom.gba", 0x35B8A0, 0xC - -gUnknown_835B8AC:: @ 835B8AC - .incbin "baserom.gba", 0x35B8AC, 0x4 - -gUnknown_835B8B0:: @ 835B8B0 - .incbin "baserom.gba", 0x35B8B0, 0x10 - -gUnknown_835B8C0:: @ 835B8C0 - .incbin "baserom.gba", 0x35B8C0, 0x4 - -gUnknown_835B8C4:: @ 835B8C4 - .incbin "baserom.gba", 0x35B8C4, 0x8 - -gUnknown_835B8CC:: @ 835B8CC - .incbin "baserom.gba", 0x35B8CC, 0x40 - -gUnknown_835B90C:: @ 835B90C - .incbin "baserom.gba", 0x35B90C, 0x6 - -gUnknown_835B912:: @ 835B912 - .incbin "baserom.gba", 0x35B912, 0x6 - -gUnknown_835B918:: @ 835B918 - .incbin "baserom.gba", 0x35B918, 0x2 - -gUnknown_835B91A:: @ 835B91A - .incbin "baserom.gba", 0x35B91A, 0x6 - -gUnknown_835B920:: @ 835B920 - .incbin "baserom.gba", 0x35B920, 0xC - -gUnknown_835B92C:: @ 835B92C - .incbin "baserom.gba", 0x35B92C, 0x8 - -gUnknown_835B934:: @ 835B934 - .incbin "baserom.gba", 0x35B934, 0x10 - -gUnknown_835B944:: @ 835B944 - .incbin "baserom.gba", 0x35B944, 0x18 - -gUnknown_835B95C:: @ 835B95C - .incbin "baserom.gba", 0x35B95C, 0x3DA2C - -gUnknown_8399388:: @ 8399388 - .incbin "baserom.gba", 0x399388, 0x908 - -gUnknown_8399C90:: @ 8399C90 - .incbin "baserom.gba", 0x399C90, 0x5F38 - -gUnknown_839FBC8:: @ 839FBC8 - .incbin "baserom.gba", 0x39FBC8, 0x144 - -gUnknown_839FD0C:: @ 839FD0C - .incbin "baserom.gba", 0x39FD0C, 0x51 - -gUnknown_839FD5D:: @ 839FD5D - .incbin "baserom.gba", 0x39FD5D, 0x53 - -gUnknown_839FDB0:: @ 839FDB0 - .incbin "baserom.gba", 0x39FDB0, 0x260 - -gUnknown_83A0010:: @ 83A0010 - .incbin "baserom.gba", 0x3A0010, 0x3688 - -gUnknown_83A3698:: @ 83A3698 - .incbin "baserom.gba", 0x3A3698, 0x1AC0 - -gUnknown_83A5158:: @ 83A5158 - .incbin "baserom.gba", 0x3A5158, 0xB0 - -gUnknown_83A5208:: @ 83A5208 - .incbin "baserom.gba", 0x3A5208, 0x70 - -gUnknown_83A5278:: @ 83A5278 - .incbin "baserom.gba", 0x3A5278, 0xB8 - -gUnknown_83A5330:: @ 83A5330 - .incbin "baserom.gba", 0x3A5330, 0x18 - -gUnknown_83A5348:: @ 83A5348 - .incbin "baserom.gba", 0x3A5348, 0xCB8 - -gUnknown_83A6000:: @ 83A6000 - .incbin "baserom.gba", 0x3A6000, 0x10 - -gUnknown_83A6010:: @ 83A6010 - .incbin "baserom.gba", 0x3A6010, 0x8 - -gUnknown_83A6018:: @ 83A6018 - .incbin "baserom.gba", 0x3A6018, 0x1C - -gUnknown_83A6034:: @ 83A6034 - .incbin "baserom.gba", 0x3A6034, 0x1C - -gUnknown_83A6050:: @ 83A6050 - .incbin "baserom.gba", 0x3A6050, 0x4 - -gUnknown_83A6054:: @ 83A6054 - .incbin "baserom.gba", 0x3A6054, 0x2C - -gUnknown_83A6080:: @ 83A6080 - .incbin "baserom.gba", 0x3A6080, 0x14 - -gUnknown_83A6094:: @ 83A6094 - .incbin "baserom.gba", 0x3A6094, 0x1C - -gUnknown_83A60B0:: @ 83A60B0 - .incbin "baserom.gba", 0x3A60B0, 0x4 - -gUnknown_83A60B4:: @ 83A60B4 - .incbin "baserom.gba", 0x3A60B4, 0x1C - -gUnknown_83A60D0:: @ 83A60D0 - .incbin "baserom.gba", 0x3A60D0, 0x4 - -gUnknown_83A60D4:: @ 83A60D4 - .incbin "baserom.gba", 0x3A60D4, 0xC - -gUnknown_83A60E0:: @ 83A60E0 - .incbin "baserom.gba", 0x3A60E0, 0x14 - -gUnknown_83A60F4:: @ 83A60F4 - .incbin "baserom.gba", 0x3A60F4, 0x14 - -gUnknown_83A6108:: @ 83A6108 - .incbin "baserom.gba", 0x3A6108, 0x14 - -gUnknown_83A611C:: @ 83A611C - .incbin "baserom.gba", 0x3A611C, 0x4 - -gUnknown_83A6120:: @ 83A6120 - .incbin "baserom.gba", 0x3A6120, 0x14 - -gUnknown_83A6134:: @ 83A6134 - .incbin "baserom.gba", 0x3A6134, 0x4 - -gUnknown_83A6138:: @ 83A6138 - .incbin "baserom.gba", 0x3A6138, 0x14 - -gUnknown_83A614C:: @ 83A614C - .incbin "baserom.gba", 0x3A614C, 0x4 - -gUnknown_83A6150:: @ 83A6150 - .incbin "baserom.gba", 0x3A6150, 0x14 - -gUnknown_83A6164:: @ 83A6164 - .incbin "baserom.gba", 0x3A6164, 0x4 - -gUnknown_83A6168:: @ 83A6168 - .incbin "baserom.gba", 0x3A6168, 0x14 - -gUnknown_83A617C:: @ 83A617C - .incbin "baserom.gba", 0x3A617C, 0x4 - -gUnknown_83A6180:: @ 83A6180 - .incbin "baserom.gba", 0x3A6180, 0x14 - -gUnknown_83A6194:: @ 83A6194 - .incbin "baserom.gba", 0x3A6194, 0x4 - -gUnknown_83A6198:: @ 83A6198 - .incbin "baserom.gba", 0x3A6198, 0x14 - -gUnknown_83A61AC:: @ 83A61AC - .incbin "baserom.gba", 0x3A61AC, 0x4 - -gUnknown_83A61B0:: @ 83A61B0 - .incbin "baserom.gba", 0x3A61B0, 0x14 - -gUnknown_83A61C4:: @ 83A61C4 - .incbin "baserom.gba", 0x3A61C4, 0x4 - -gUnknown_83A61C8:: @ 83A61C8 - .incbin "baserom.gba", 0x3A61C8, 0x10 - -gUnknown_83A61D8:: @ 83A61D8 - .incbin "baserom.gba", 0x3A61D8, 0x8 - -gUnknown_83A61E0:: @ 83A61E0 - .incbin "baserom.gba", 0x3A61E0, 0x10 - -gUnknown_83A61F0:: @ 83A61F0 - .incbin "baserom.gba", 0x3A61F0, 0x8 - -gUnknown_83A61F8:: @ 83A61F8 - .incbin "baserom.gba", 0x3A61F8, 0x10 - -gUnknown_83A6208:: @ 83A6208 - .incbin "baserom.gba", 0x3A6208, 0xC - -gUnknown_83A6214:: @ 83A6214 - .incbin "baserom.gba", 0x3A6214, 0x4 - -gUnknown_83A6218:: @ 83A6218 - .incbin "baserom.gba", 0x3A6218, 0xC - -gUnknown_83A6224:: @ 83A6224 - .incbin "baserom.gba", 0x3A6224, 0x4 - -gUnknown_83A6228:: @ 83A6228 - .incbin "baserom.gba", 0x3A6228, 0xC - -gUnknown_83A6234:: @ 83A6234 - .incbin "baserom.gba", 0x3A6234, 0x4 - -gUnknown_83A6238:: @ 83A6238 - .incbin "baserom.gba", 0x3A6238, 0xC - -gUnknown_83A6244:: @ 83A6244 - .incbin "baserom.gba", 0x3A6244, 0x4 - -gUnknown_83A6248:: @ 83A6248 - .incbin "baserom.gba", 0x3A6248, 0xC - -gUnknown_83A6254:: @ 83A6254 - .incbin "baserom.gba", 0x3A6254, 0x4 - -gUnknown_83A6258:: @ 83A6258 - .incbin "baserom.gba", 0x3A6258, 0xC - -gUnknown_83A6264:: @ 83A6264 - .incbin "baserom.gba", 0x3A6264, 0x4 - -gUnknown_83A6268:: @ 83A6268 - .incbin "baserom.gba", 0x3A6268, 0xC - -gUnknown_83A6274:: @ 83A6274 - .incbin "baserom.gba", 0x3A6274, 0xC - -gUnknown_83A6280:: @ 83A6280 - .incbin "baserom.gba", 0x3A6280, 0x4 - -gUnknown_83A6284:: @ 83A6284 - .incbin "baserom.gba", 0x3A6284, 0xC - -gUnknown_83A6290:: @ 83A6290 - .incbin "baserom.gba", 0x3A6290, 0x4 - -gUnknown_83A6294:: @ 83A6294 - .incbin "baserom.gba", 0x3A6294, 0xC - -gUnknown_83A62A0:: @ 83A62A0 - .incbin "baserom.gba", 0x3A62A0, 0x4 - -gUnknown_83A62A4:: @ 83A62A4 - .incbin "baserom.gba", 0x3A62A4, 0xC - -gUnknown_83A62B0:: @ 83A62B0 - .incbin "baserom.gba", 0x3A62B0, 0x4 - -gUnknown_83A62B4:: @ 83A62B4 - .incbin "baserom.gba", 0x3A62B4, 0xC - -gUnknown_83A62C0:: @ 83A62C0 - .incbin "baserom.gba", 0x3A62C0, 0x4 - -gUnknown_83A62C4:: @ 83A62C4 - .incbin "baserom.gba", 0x3A62C4, 0xC - -gUnknown_83A62D0:: @ 83A62D0 - .incbin "baserom.gba", 0x3A62D0, 0x4 - -gUnknown_83A62D4:: @ 83A62D4 - .incbin "baserom.gba", 0x3A62D4, 0xC - -gUnknown_83A62E0:: @ 83A62E0 - .incbin "baserom.gba", 0x3A62E0, 0x4 - -gUnknown_83A62E4:: @ 83A62E4 - .incbin "baserom.gba", 0x3A62E4, 0xC - -gUnknown_83A62F0:: @ 83A62F0 - .incbin "baserom.gba", 0x3A62F0, 0x4 - -gUnknown_83A62F4:: @ 83A62F4 - .incbin "baserom.gba", 0x3A62F4, 0xC - -gUnknown_83A6300:: @ 83A6300 - .incbin "baserom.gba", 0x3A6300, 0x4 - -gUnknown_83A6304:: @ 83A6304 - .incbin "baserom.gba", 0x3A6304, 0xC - -gUnknown_83A6310:: @ 83A6310 - .incbin "baserom.gba", 0x3A6310, 0x4 - -gUnknown_83A6314:: @ 83A6314 - .incbin "baserom.gba", 0x3A6314, 0xC - -gUnknown_83A6320:: @ 83A6320 - .incbin "baserom.gba", 0x3A6320, 0x4 - -gUnknown_83A6324:: @ 83A6324 - .incbin "baserom.gba", 0x3A6324, 0xC - -gUnknown_83A6330:: @ 83A6330 - .incbin "baserom.gba", 0x3A6330, 0x4 - -gUnknown_83A6334:: @ 83A6334 - .incbin "baserom.gba", 0x3A6334, 0xC - -gUnknown_83A6340:: @ 83A6340 - .incbin "baserom.gba", 0x3A6340, 0x4 - -gUnknown_83A6344:: @ 83A6344 - .incbin "baserom.gba", 0x3A6344, 0xC - -gUnknown_83A6350:: @ 83A6350 - .incbin "baserom.gba", 0x3A6350, 0x4 - -gUnknown_83A6354:: @ 83A6354 - .incbin "baserom.gba", 0x3A6354, 0xC - -gUnknown_83A6360:: @ 83A6360 - .incbin "baserom.gba", 0x3A6360, 0x4 - -gUnknown_83A6364:: @ 83A6364 - .incbin "baserom.gba", 0x3A6364, 0xC - -gUnknown_83A6370:: @ 83A6370 - .incbin "baserom.gba", 0x3A6370, 0x4 - -gUnknown_83A6374:: @ 83A6374 - .incbin "baserom.gba", 0x3A6374, 0xC - -gUnknown_83A6380:: @ 83A6380 - .incbin "baserom.gba", 0x3A6380, 0x4 - -gUnknown_83A6384:: @ 83A6384 - .incbin "baserom.gba", 0x3A6384, 0xC - -gUnknown_83A6390:: @ 83A6390 - .incbin "baserom.gba", 0x3A6390, 0x2C - -gUnknown_83A63BC:: @ 83A63BC - .incbin "baserom.gba", 0x3A63BC, 0xC - -gUnknown_83A63C8:: @ 83A63C8 - .incbin "baserom.gba", 0x3A63C8, 0x4 - -gUnknown_83A63CC:: @ 83A63CC - .incbin "baserom.gba", 0x3A63CC, 0x8 - -gUnknown_83A63D4:: @ 83A63D4 - .incbin "baserom.gba", 0x3A63D4, 0x8 - -gUnknown_83A63DC:: @ 83A63DC - .incbin "baserom.gba", 0x3A63DC, 0x8 - -gUnknown_83A63E4:: @ 83A63E4 - .incbin "baserom.gba", 0x3A63E4, 0xC - -gUnknown_83A63F0:: @ 83A63F0 - .incbin "baserom.gba", 0x3A63F0, 0xC - -gUnknown_83A63FC:: @ 83A63FC - .incbin "baserom.gba", 0x3A63FC, 0x8 - -gUnknown_83A6404:: @ 83A6404 - .incbin "baserom.gba", 0x3A6404, 0x8 - -gUnknown_83A640C:: @ 83A640C - .incbin "baserom.gba", 0x3A640C, 0x9 - -gUnknown_83A6415:: @ 83A6415 - .incbin "baserom.gba", 0x3A6415, 0x9 - -gUnknown_83A641E:: @ 83A641E - .incbin "baserom.gba", 0x3A641E, 0x9 - -gUnknown_83A6427:: @ 83A6427 - .incbin "baserom.gba", 0x3A6427, 0x9 - -gUnknown_83A6430:: @ 83A6430 - .incbin "baserom.gba", 0x3A6430, 0x9 - -gUnknown_83A6439:: @ 83A6439 - .incbin "baserom.gba", 0x3A6439, 0x9 - -gUnknown_83A6442:: @ 83A6442 - .incbin "baserom.gba", 0x3A6442, 0x9 - -gUnknown_83A644B:: @ 83A644B - .incbin "baserom.gba", 0x3A644B, 0x9 - -gUnknown_83A6454:: @ 83A6454 - .incbin "baserom.gba", 0x3A6454, 0x9 - -gUnknown_83A645D:: @ 83A645D - .incbin "baserom.gba", 0x3A645D, 0x9 - -gUnknown_83A6466:: @ 83A6466 - .incbin "baserom.gba", 0x3A6466, 0x9 - -gUnknown_83A646F:: @ 83A646F - .incbin "baserom.gba", 0x3A646F, 0x9 - -gUnknown_83A6478:: @ 83A6478 - .incbin "baserom.gba", 0x3A6478, 0x9 - -gUnknown_83A6481:: @ 83A6481 - .incbin "baserom.gba", 0x3A6481, 0x9 - -gUnknown_83A648A:: @ 83A648A - .incbin "baserom.gba", 0x3A648A, 0x9 - -gUnknown_83A6493:: @ 83A6493 - .incbin "baserom.gba", 0x3A6493, 0x9 - -gUnknown_83A649C:: @ 83A649C - .incbin "baserom.gba", 0x3A649C, 0xC - -gUnknown_83A64A8:: @ 83A64A8 - .incbin "baserom.gba", 0x3A64A8, 0x10 - -gUnknown_83A64B8:: @ 83A64B8 - .incbin "baserom.gba", 0x3A64B8, 0x10 - -gUnknown_83A64C8:: @ 83A64C8 - .incbin "baserom.gba", 0x3A64C8, 0x24 - -gUnknown_83A64EC:: @ 83A64EC - .incbin "baserom.gba", 0x3A64EC, 0x5 - -gUnknown_83A64F1:: @ 83A64F1 - .incbin "baserom.gba", 0x3A64F1, 0x5 - -gUnknown_83A64F6:: @ 83A64F6 - .incbin "baserom.gba", 0x3A64F6, 0x5 - -gUnknown_83A64FB:: @ 83A64FB - .incbin "baserom.gba", 0x3A64FB, 0x5 - -gUnknown_83A6500:: @ 83A6500 - .incbin "baserom.gba", 0x3A6500, 0x5 - -gUnknown_83A6505:: @ 83A6505 - .incbin "baserom.gba", 0x3A6505, 0x5 - -gUnknown_83A650A:: @ 83A650A - .incbin "baserom.gba", 0x3A650A, 0x5 - -gUnknown_83A650F:: @ 83A650F - .incbin "baserom.gba", 0x3A650F, 0x5 - -gUnknown_83A6514:: @ 83A6514 - .incbin "baserom.gba", 0x3A6514, 0x5 - -gUnknown_83A6519:: @ 83A6519 - .incbin "baserom.gba", 0x3A6519, 0x5 - -gUnknown_83A651E:: @ 83A651E - .incbin "baserom.gba", 0x3A651E, 0x5 - -gUnknown_83A6523:: @ 83A6523 - .incbin "baserom.gba", 0x3A6523, 0x5 - -gUnknown_83A6528:: @ 83A6528 - .incbin "baserom.gba", 0x3A6528, 0x5 - -gUnknown_83A652D:: @ 83A652D - .incbin "baserom.gba", 0x3A652D, 0x5 - -gUnknown_83A6532:: @ 83A6532 - .incbin "baserom.gba", 0x3A6532, 0x5 - -gUnknown_83A6537:: @ 83A6537 - .incbin "baserom.gba", 0x3A6537, 0x5 - -gUnknown_83A653C:: @ 83A653C - .incbin "baserom.gba", 0x3A653C, 0x5 - -gUnknown_83A6541:: @ 83A6541 - .incbin "baserom.gba", 0x3A6541, 0x5 - -gUnknown_83A6546:: @ 83A6546 - .incbin "baserom.gba", 0x3A6546, 0x5 - -gUnknown_83A654B:: @ 83A654B - .incbin "baserom.gba", 0x3A654B, 0x5 - -gUnknown_83A6550:: @ 83A6550 - .incbin "baserom.gba", 0x3A6550, 0x5 - -gUnknown_83A6555:: @ 83A6555 - .incbin "baserom.gba", 0x3A6555, 0x5 - -gUnknown_83A655A:: @ 83A655A - .incbin "baserom.gba", 0x3A655A, 0x5 - -gUnknown_83A655F:: @ 83A655F - .incbin "baserom.gba", 0x3A655F, 0x5 - -gUnknown_83A6564:: @ 83A6564 - .incbin "baserom.gba", 0x3A6564, 0x5 - -gUnknown_83A6569:: @ 83A6569 - .incbin "baserom.gba", 0x3A6569, 0x5 - -gUnknown_83A656E:: @ 83A656E - .incbin "baserom.gba", 0x3A656E, 0x5 - -gUnknown_83A6573:: @ 83A6573 - .incbin "baserom.gba", 0x3A6573, 0x5 - -gUnknown_83A6578:: @ 83A6578 - .incbin "baserom.gba", 0x3A6578, 0x5 - -gUnknown_83A657D:: @ 83A657D - .incbin "baserom.gba", 0x3A657D, 0x5 - -gUnknown_83A6582:: @ 83A6582 - .incbin "baserom.gba", 0x3A6582, 0x5 - -gUnknown_83A6587:: @ 83A6587 - .incbin "baserom.gba", 0x3A6587, 0x5 - -gUnknown_83A658C:: @ 83A658C - .incbin "baserom.gba", 0x3A658C, 0x5 - -gUnknown_83A6591:: @ 83A6591 - .incbin "baserom.gba", 0x3A6591, 0x8 - -gUnknown_83A6599:: @ 83A6599 - .incbin "baserom.gba", 0x3A6599, 0x10 - -gUnknown_83A65A9:: @ 83A65A9 - .incbin "baserom.gba", 0x3A65A9, 0x13 - -gUnknown_83A65BC:: @ 83A65BC - .incbin "baserom.gba", 0x3A65BC, 0x2C8 - -gUnknown_83A6884:: @ 83A6884 - .incbin "baserom.gba", 0x3A6884, 0xD4 - -gUnknown_83A6958:: @ 83A6958 - .incbin "baserom.gba", 0x3A6958, 0x6 - -gUnknown_83A695E:: @ 83A695E - .incbin "baserom.gba", 0x3A695E, 0x6C6 - -gUnknown_83A7024:: @ 83A7024 - .incbin "baserom.gba", 0x3A7024, 0x8 - -gUnknown_83A702C:: @ 83A702C - .incbin "baserom.gba", 0x3A702C, 0x18 - -gUnknown_83A7044:: @ 83A7044 - .incbin "baserom.gba", 0x3A7044, 0x18 - -gUnknown_83A705C:: @ 83A705C - .incbin "baserom.gba", 0x3A705C, 0x10 - -gUnknown_83A706C:: @ 83A706C - .incbin "baserom.gba", 0x3A706C, 0x10 - -gUnknown_83A707C:: @ 83A707C - .incbin "baserom.gba", 0x3A707C, 0x10 - -gUnknown_83A708C:: @ 83A708C - .incbin "baserom.gba", 0x3A708C, 0x10 - -gUnknown_83A709C:: @ 83A709C - .incbin "baserom.gba", 0x3A709C, 0xC - -gUnknown_83A70A8:: @ 83A70A8 - .incbin "baserom.gba", 0x3A70A8, 0x4 - -gUnknown_83A70AC:: @ 83A70AC - .incbin "baserom.gba", 0x3A70AC, 0x10 - -gUnknown_83A70BC:: @ 83A70BC - .incbin "baserom.gba", 0x3A70BC, 0xE0 - -gUnknown_83A719C:: @ 83A719C - .incbin "baserom.gba", 0x3A719C, 0x14 - -gUnknown_83A71B0:: @ 83A71B0 - .incbin "baserom.gba", 0x3A71B0, 0x3C - -gUnknown_83A71EC:: @ 83A71EC - .incbin "baserom.gba", 0x3A71EC, 0xC - -gUnknown_83A71F8:: @ 83A71F8 - .incbin "baserom.gba", 0x3A71F8, 0x6 - -gUnknown_83A71FE:: @ 83A71FE - .incbin "baserom.gba", 0x3A71FE, 0x4 - -gUnknown_83A7202:: @ 83A7202 - .incbin "baserom.gba", 0x3A7202, 0x6 - -gUnknown_83A7208:: @ 83A7208 - .incbin "baserom.gba", 0x3A7208, 0x4 - - .align 2 -gUnknown_83A720C:: @ 83A720C - .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c" - .align 2 -gUnknown_83A7240:: @ 83A7240 - .asciz "0" - - .section .rodata.83A72A0 - -gUnknown_83A72A0:: @ 83A72A0 - .string "S$" - -gUnknown_83A72A2:: @ 83A72A2 - .string "IES$" - -gUnknown_83A72A6:: @ 83A72A6 - .string " " - -gUnknown_83A72A8:: @ 83A72A8 - .incbin "baserom.gba", 0x3A72A8, 0x68 - -gUnknown_83A7310:: @ 83A7310 - .incbin "baserom.gba", 0x3A7310, 0x20 - -gUnknown_83A7330:: @ 83A7330 - .incbin "baserom.gba", 0x3A7330, 0x14 - -gUnknown_83A7344:: @ 83A7344 - .incbin "baserom.gba", 0x3A7344, 0x48 - -gUnknown_83A738C:: @ 83A738C - .incbin "baserom.gba", 0x3A738C, 0x8 - -gUnknown_83A7394:: @ 83A7394 - .incbin "baserom.gba", 0x3A7394, 0x24 - -gUnknown_83A73B8:: @ 83A73B8 - .incbin "baserom.gba", 0x3A73B8, 0x4 - -gUnknown_83A73BC:: @ 83A73BC - .incbin "baserom.gba", 0x3A73BC, 0x10 - -gUnknown_83A73CC:: @ 83A73CC - .incbin "baserom.gba", 0x3A73CC, 0x8 - -gUnknown_83A73D4:: @ 83A73D4 - .incbin "baserom.gba", 0x3A73D4, 0x4 - -gUnknown_83A73D8:: @ 83A73D8 - .incbin "baserom.gba", 0x3A73D8, 0x4 - -gUnknown_83A73DC:: @ 83A73DC - .incbin "baserom.gba", 0x3A73DC, 0x284 - -gUnknown_83A7660:: @ 83A7660 - .incbin "baserom.gba", 0x3A7660, 0x2FF4 - -gUnknown_83AA654:: @ 83AA654 - .incbin "baserom.gba", 0x3AA654, 0x1220 - -gUnknown_83AB874:: @ 83AB874 - .incbin "baserom.gba", 0x3AB874, 0x540 - -gUnknown_83ABDB4:: @ 83ABDB4 - .incbin "baserom.gba", 0x3ABDB4, 0x434 - -gUnknown_83AC1E8:: @ 83AC1E8 - .incbin "baserom.gba", 0x3AC1E8, 0x410 - -gUnknown_83AC5F8:: @ 83AC5F8 - .incbin "baserom.gba", 0x3AC5F8, 0x1D0 - -gUnknown_83AC7C8:: @ 83AC7C8 - .incbin "baserom.gba", 0x3AC7C8, 0x188 - -gUnknown_83AC950:: @ 83AC950 - .incbin "baserom.gba", 0x3AC950, 0x10 - -gUnknown_83AC960:: @ 83AC960 - .incbin "baserom.gba", 0x3AC960, 0x10 - -gUnknown_83AC970:: @ 83AC970 - .incbin "baserom.gba", 0x3AC970, 0x20 - -sFanfares:: @ 83AC990 - .incbin "baserom.gba", 0x3AC990, 0x40 - -gUnknown_83AC9D0:: @ 83AC9D0 - .incbin "baserom.gba", 0x3AC9D0, 0x28 - -gUnknown_83AC9F8:: - .incbin "baserom.gba", 0x3AC9F8, 0x8 - -gUnknown_83ACA00:: - .incbin "baserom.gba", 0x3ACA00, 0x208 - -gUnknown_83ACC08:: @ 83ACC08 - .incbin "baserom.gba", 0x3ACC08, 0x440 - -gUnknown_83AD048:: @ 83AD048 - .incbin "baserom.gba", 0x3AD048, 0x308 - -gUnknown_83AD350:: @ 83AD350 - .incbin "baserom.gba", 0x3AD350, 0x120 - -gUnknown_83AD470:: @ 83AD470 - .incbin "baserom.gba", 0x3AD470, 0x4E0 - -gUnknown_83AD950:: @ 83AD950 - .incbin "baserom.gba", 0x3AD950, 0x308 - -gUnknown_83ADC58:: @ 83ADC58 - .incbin "baserom.gba", 0x3ADC58, 0x120 - -gUnknown_83ADD78:: @ 83ADD78 - .incbin "baserom.gba", 0x3ADD78, 0xA0 - -gUnknown_83ADE18:: @ 83ADE18 - .incbin "baserom.gba", 0x3ADE18, 0x144 - -gUnknown_83ADF5C:: @ 83ADF5C - .incbin "baserom.gba", 0x3ADF5C, 0xC0 - -gUnknown_83AE01C:: @ 83AE01C - .incbin "baserom.gba", 0x3AE01C, 0x20 - -gUnknown_83AE03C:: @ 83AE03C - .incbin "baserom.gba", 0x3AE03C, 0x10 - -gUnknown_83AE04C:: @ 83AE04C - .incbin "baserom.gba", 0x3AE04C, 0x4 - -gUnknown_83AE050:: @ 83AE050 - .incbin "baserom.gba", 0x3AE050, 0x4 - -gUnknown_83AE054:: @ 83AE054 - .incbin "baserom.gba", 0x3AE054, 0x30 - -gUnknown_83AE084:: @ 83AE084 - .incbin "baserom.gba", 0x3AE084, 0x114D0 - -gUnknown_83BF554:: @ 83BF554 - .incbin "baserom.gba", 0x3BF554, 0x8 - -gUnknown_83BF55C:: @ 83BF55C - .incbin "baserom.gba", 0x3BF55C, 0x18 - -gUnknown_83BF574:: @ 83BF574 - .incbin "baserom.gba", 0x3BF574, 0x18 - -gUnknown_83BF58C:: @ 83BF58C - .incbin "baserom.gba", 0x3BF58C, 0x1C - -gUnknown_83BF5A8:: @ 83BF5A8 - .incbin "baserom.gba", 0x3BF5A8, 0x55C - -gUnknown_83BFB04:: @ 83BFB04 - .incbin "baserom.gba", 0x3BFB04, 0x18 - -gUnknown_83BFB1C:: @ 83BFB1C - .incbin "baserom.gba", 0x3BFB1C, 0x20 - -gUnknown_83BFB3C:: @ 83BFB3C - .incbin "baserom.gba", 0x3BFB3C, 0x20 - -gUnknown_83BFB5C:: @ 83BFB5C - .incbin "baserom.gba", 0x3BFB5C, 0x18 - -gUnknown_83BFB74:: @ 83BFB74 - .incbin "baserom.gba", 0x3BFB74, 0x10 - -gUnknown_83BFB84:: @ 83BFB84 - .incbin "baserom.gba", 0x3BFB84, 0x18 - -gUnknown_83BFB9C:: @ 83BFB9C - .incbin "baserom.gba", 0x3BFB9C, 0x20 - -gUnknown_83BFBBC:: @ 83BFBBC - .incbin "baserom.gba", 0x3BFBBC, 0x18 - -gUnknown_83BFBD4:: @ 83BFBD4 - .incbin "baserom.gba", 0x3BFBD4, 0x2FE8 - -gUnknown_83C2BBC:: @ 83C2BBC - .incbin "baserom.gba", 0x3C2BBC, 0x4 - -gUnknown_83C2BC0:: @ 83C2BC0 - .incbin "baserom.gba", 0x3C2BC0, 0xF0 - -gUnknown_83C2CB0:: @ 83C2CB0 - .incbin "baserom.gba", 0x3C2CB0, 0x10 - -gUnknown_83C2CC0:: @ 83C2CC0 - .incbin "baserom.gba", 0x3C2CC0, 0x20 - -gUnknown_83C2CE0:: @ 83C2CE0 - .incbin "baserom.gba", 0x3C2CE0, 0x20 - -gUnknown_83C2D00:: @ 83C2D00 - .incbin "baserom.gba", 0x3C2D00, 0x20 - -gUnknown_83C2D20:: @ 83C2D20 - .incbin "baserom.gba", 0x3C2D20, 0x820 - -gUnknown_83C3540:: @ 83C3540 - .incbin "baserom.gba", 0x3C3540, 0x3080 - -gUnknown_83C65C0:: @ 83C65C0 - .incbin "baserom.gba", 0x3C65C0, 0x4 - -gUnknown_83C65C4:: @ 83C65C4 - .incbin "baserom.gba", 0x3C65C4, 0x4 - -gUnknown_83C65C8:: @ 83C65C8 - .incbin "baserom.gba", 0x3C65C8, 0xC - -gUnknown_83C65D4:: @ 83C65D4 - .incbin "baserom.gba", 0x3C65D4, 0x1C - -gUnknown_83C65F0:: @ 83C65F0 - .incbin "baserom.gba", 0x3C65F0, 0x18 - -gUnknown_83C6608:: @ 83C6608 - .incbin "baserom.gba", 0x3C6608, 0x9C - -gUnknown_83C66A4:: @ 83C66A4 - .incbin "baserom.gba", 0x3C66A4, 0x18 - -gUnknown_83C66BC:: @ 83C66BC - .incbin "baserom.gba", 0x3C66BC, 0x8 - -gUnknown_83C66C4:: @ 83C66C4 - .incbin "baserom.gba", 0x3C66C4, 0x8 - -gUnknown_83C66CC:: @ 83C66CC - .incbin "baserom.gba", 0x3C66CC, 0x38 - -gUnknown_83C6704:: @ 83C6704 - .incbin "baserom.gba", 0x3C6704, 0x8C - -gUnknown_83C6790:: @ 83C6790 - .incbin "baserom.gba", 0x3C6790, 0x18 - -gUnknown_83C67A8:: @ 83C67A8 - .incbin "baserom.gba", 0x3C67A8, 0x8 - -gUnknown_83C67B0:: @ 83C67B0 - .incbin "baserom.gba", 0x3C67B0, 0x20 - -gUnknown_83C67D0:: @ 83C67D0 - .incbin "baserom.gba", 0x3C67D0, 0x18 - -gUnknown_83C67E8:: @ 83C67E8 - .incbin "baserom.gba", 0x3C67E8, 0x1C - -gUnknown_83C6804:: @ 83C6804 - .incbin "baserom.gba", 0x3C6804, 0x38 - -gUnknown_83C683C:: @ 83C683C - .incbin "baserom.gba", 0x3C683C, 0x18 - -gUnknown_83C6854:: @ 83C6854 - .incbin "baserom.gba", 0x3C6854, 0x8 - -gUnknown_83C685C:: @ 83C685C - .incbin "baserom.gba", 0x3C685C, 0xC - -gUnknown_83C6868:: @ 83C6868 - .incbin "baserom.gba", 0x3C6868, 0x8 - -gUnknown_83C6870:: @ 83C6870 - .incbin "baserom.gba", 0x3C6870, 0x8 - -gUnknown_83C6878:: @ 83C6878 - .incbin "baserom.gba", 0x3C6878, 0x44 - -gUnknown_83C68BC:: @ 83C68BC - .incbin "baserom.gba", 0x3C68BC, 0x18 - -gUnknown_83C68D4:: @ 83C68D4 - .incbin "baserom.gba", 0x3C68D4, 0xC gUnknown_83C68E0:: @ 83C68E0 .incbin "baserom.gba", 0x3C68E0, 0x4 @@ -1499,7 +568,7 @@ gUnknown_83D427C:: @ 83D427C gUnknown_83D4294:: @ 83D4294 .incbin "baserom.gba", 0x3D4294, 0x6D94 -gUnknown_83DB028:: @ 83DB028 +gItems:: @ 83DB028 .incbin "baserom.gba", 0x3DB028, 0x4074 gUnknown_83DF09C:: @ 83DF09C diff --git a/data/data_83F5738.s b/data/data_83F5738.s index e6f026d0e..c14edc5c8 100644 --- a/data/data_83F5738.s +++ b/data/data_83F5738.s @@ -55,7 +55,7 @@ gUnknown_83F5BCC:: @ 83F5BCC gUnknown_83F5D1C:: @ 83F5D1C .incbin "baserom.gba", 0x3F5D1C, 0x10 -gUnknown_83F5D2C:: @ 83F5D2C +sStarterMon:: @ 83F5D2C .incbin "baserom.gba", 0x3F5D2C, 0x6 gUnknown_83F5D32:: @ 83F5D32 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index a96e9ff70..8fb1d4533 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -517,6 +517,7 @@ gUnknown_8415A08:: @ 8415A08 gUnknown_8415A10:: @ 8415A10 .incbin "baserom.gba", 0x415A10, 0x10 + @ strings gExpandedPlaceholder_Empty:: @ 8415A20 .incbin "baserom.gba", 0x415A20, 0x1 @@ -586,29 +587,38 @@ gUnknown_8415C64:: @ 8415C64 gUnknown_8415CE8:: @ 8415CE8 .incbin "baserom.gba", 0x415CE8, 0x44 -gUnknown_8415D2C:: @ 8415D2C - .incbin "baserom.gba", 0x415D2C, 0x1C +gText_Controls:: @ 8415D2C + .string "CONTROLS$" -gUnknown_8415D48:: @ 8415D48 - .incbin "baserom.gba", 0x415D48, 0x8 + .align 2 +gUnknown_8415D38:: @ 8415D2C + .string "{KEYGFX_DPAD_UP_DOWN}えらぶ {KEYGFX_A_BUTTON}けってい$" -gUnknown_8415D50:: @ 8415D50 - .incbin "baserom.gba", 0x415D50, 0x10 + .align 2 +gText_ABUTTONNext:: @ 8415D48 + .string "{KEYGFX_A_BUTTON}NEXT$" -gUnknown_8415D60:: @ 8415D60 - .incbin "baserom.gba", 0x415D60, 0x18 + .align 2 +gText_ABUTTONNext_BBUTTONBack:: @ 8415D50 + .string "{KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}BACK$" + + .align 2 +gText_UPDOWNPick_ABUTTONNext_BBUTTONBack:: @ 8415D60 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}CANCEL$" -gUnknown_8415D78:: @ 8415D78 - .incbin "baserom.gba", 0x415D78, 0x14 + .align 2 +gText_UPDOWNPick_ABUTTONBBUTTONCancel:: @ 8415D78 + .string "{KEYGFX_DPAD_UP_DOWN}PICK {KEYGFX_A_BUTTON}{KEYGFX_B_BUTTON}CANCEL$" -gUnknown_8415D8C:: @ 8415D8C - .incbin "baserom.gba", 0x415D8C, 0x7 + .align 2 +gText_ABUTTONExit:: @ 8415D8C + .string "{KEYGFX_A_BUTTON}EXIT$" -gUnknown_8415D93:: @ 8415D93 - .incbin "baserom.gba", 0x415D93, 0x4 +gText_Boy:: @ 8415D93 + .string "BOY$" -gUnknown_8415D97:: @ 8415D97 - .incbin "baserom.gba", 0x415D97, 0x5 +gText_Girl:: @ 8415D97 + .string "GIRL$" gUnknown_8415D9C:: @ 8415D9C .incbin "baserom.gba", 0x415D9C, 0x1C @@ -719,70 +729,151 @@ gUnknown_8416188:: @ 8416188 .incbin "baserom.gba", 0x416188, 0x8 gUnknown_8416190:: @ 8416190 - .incbin "baserom.gba", 0x416190, 0x31 + .string "TIME$" + +gUnknown_8416195:: + .string "どこへ とびますか?$" + +gOtherText_Use:: + .string "USE$" + +gUnknown_84161A4:: + .string "TOSS$" + +gUnknown_84161A9:: + .string "REGISTER$" + +gOtherText_Give:: + .string "GIVE$" + +gUnknown_84161B7:: + .string "けってい$" + +gUnknown_84161BC:: + .string "WALK$" gFameCheckerText_Cancel:: @ 84161C1 .string "CANCEL$" -gUnknown_84161C8:: @ 84161C8 - .incbin "baserom.gba", 0x4161C8, 0x5 +gOtherText_Exit:: @ 84161C8 + .string "EXIT$" gUnknown_84161CD:: @ 84161CD - .incbin "baserom.gba", 0x4161CD, 0x22 + .string "$" + +gUnknown_84161CE:: + .string "キャンセル$" + +gUnknown_84161D4:: + .string "ITEM$" + +gUnknown_84161D9:: + .string "MAIL$" + +gUnknown_84161DE:: + .string "TAKE$" + +gUnknown_84161E3:: + .string "STORE$" + +gUnknown_84161E9:: + .string "CHECK$" gUnknown_84161EF:: @ 84161EF - .incbin "baserom.gba", 0x4161EF, 0x13 + .string "NONE$" + +gUnknown_84161F4:: + .string "OPEN$" + +gUnknown_84161F9:: + .string "DESELECT$" gUnknown_8416202:: @ 8416202 - .incbin "baserom.gba", 0x416202, 0xA + .string "???$" + +gUnknown_8416206:: + .string "?????$" gUnknown_841620C:: @ 841620C - .incbin "baserom.gba", 0x41620C, 0x2 + .string "/$" gUnknown_841620E:: @ 841620E - .incbin "baserom.gba", 0x41620E, 0x2 + .string "-$" gUnknown_8416210:: @ 8416210 - .incbin "baserom.gba", 0x416210, 0x3 + .string "--$" -gUnknown_8416213:: @ 8416213 - .incbin "baserom.gba", 0x416213, 0x4 +gText_ThreeHyphens:: @ 8416213 + .string "---$" gUnknown_8416217:: @ 8416217 - .incbin "baserom.gba", 0x416217, 0x8 + .string "-------$" gUnknown_841621F:: @ 841621F - .incbin "baserom.gba", 0x41621F, 0x2 + .string "♂$" gUnknown_8416221:: @ 8416221 - .incbin "baserom.gba", 0x416221, 0x2 + .string "♀$" gUnknown_8416223:: @ 8416223 - .incbin "baserom.gba", 0x416223, 0x3 + .string "{UNKNOWN_F9 0x05}$" + +gOtherText_UnkF9_08_Clear_01:: @ 8416226 + .string "{UNKNOWN_F9 0x08}{CLEAR 0x01}$" -gUnknown_8416226:: @ 8416226 - .incbin "baserom.gba", 0x416226, 0x12 +gUnknown_841622C:: + .string "{UNKNOWN_F9 0x04}$" + +gUnknown_841622F:: + .string "{ESCAPE 0x03}$" + +gUnknown_8416233:: + .string "{UNKNOWN_F9 0x07}{UNKNOWN_F9 0x08}$" gUnknown_8416238:: @ 8416238 - .incbin "baserom.gba", 0x416238, 0x3 + .string "{UNKNOWN_F9 0x06}$" gFameCheckerText_ListMenuCursor:: @ 841623B .string "▶$" gUnknown_841623D:: @ 841623D - .incbin "baserom.gba", 0x41623D, 0x25 + .string "YES\nNO$" + +gUnknown_8416244:: + .string "Go back to the\nprevious menu.$" gUnknown_8416262:: @ 8416262 - .incbin "baserom.gba", 0x416262, 0x23 + .string "What would you like to do?$" + +gUnknown_841627D:: + .string "POKéDEX$" gUnknown_8416285:: @ 8416285 - .incbin "baserom.gba", 0x416285, 0x24 + .string "BAG$" + +gUnknown_8416289:: + .string "ポケナビ$" + +gUnknown_841628E:: + .string "{PLAYER}$" + +gUnknown_8416291:: + .string "SAVE$" + +gUnknown_8416296:: + .string "OPTION$" + +gUnknown_841629D:: + .string "EXIT$" + +gUnknown_84162A2:: + .string "RETIRE$" gUnknown_84162A9:: @ 84162A9 - .incbin "baserom.gba", 0x4162A9, 0x10 + .string "{STR_VAR_1}/{STR_VAR_2}\nBALLS {STR_VAR_3}$" -gUnknown_84162B9:: @ 84162B9 - .incbin "baserom.gba", 0x4162B9, 0x4 +gText_TimesStrVar1:: @ 84162B9 + .string "×{STR_VAR_1}$" gUnknown_84162BD:: @ 84162BD .string " BERRY$" @@ -799,20 +890,21 @@ gUnknown_84162F5:: @ 84162F5 gUnknown_84162FF:: @ 84162FF .incbin "baserom.gba", 0x4162FF, 0x2 -gUnknown_8416301:: @ 8416301 - .incbin "baserom.gba", 0x416301, 0xE +gText_IsSelected:: @ 8416301 + .string " is\nselected.$" gUnknown_841630F:: @ 841630F .incbin "baserom.gba", 0x41630F, 0x1B -gUnknown_841632A:: @ 841632A - .incbin "baserom.gba", 0x41632A, 0x15 +gText_ThereIsNoPokemon:: @ 841632A + .string "There is no\n" + .string "POKéMON.$" gUnknown_841633F:: @ 841633F .incbin "baserom.gba", 0x41633F, 0x1F -gUnknown_841635E:: @ 841635E - .incbin "baserom.gba", 0x41635E, 0x16 +gText_ItemCantBeHeld:: @ 841635E + .string "The {STR_VAR_1} can’t be held.$" gUnknown_8416374:: @ 8416374 .incbin "baserom.gba", 0x416374, 0x1B @@ -883,20 +975,24 @@ gUnknown_8416690:: @ 8416690 gUnknown_84166A7:: @ 84166A7 .incbin "baserom.gba", 0x4166A7, 0x2C -gUnknown_84166D3:: @ 84166D3 - .incbin "baserom.gba", 0x4166D3, 0x8 +gText_TMCase:: @ 84166D3 + .string "TM CASE$" -gUnknown_84166DB:: @ 84166DB - .incbin "baserom.gba", 0x4166DB, 0x6 +gText_Close:: @ 84166DB + .string "CLOSE$" -gUnknown_84166E1:: @ 84166E1 - .incbin "baserom.gba", 0x4166E1, 0x1E +gText_TMCaseWillBePutAway:: @ 84166E1 + .string "The TM CASE will be\n" + .string "put away.$" -gUnknown_84166FF:: @ 84166FF - .incbin "baserom.gba", 0x4166FF, 0x4 +gText_FontSize0:: @ 84166FF + .string "{SIZE 0}$" -gUnknown_8416703:: @ 8416703 - .incbin "baserom.gba", 0x416703, 0x7 +gText_FontSize2:: @ 8416703 + .string "{SIZE 2}$" + +gUnknown_8416707:: @ 8416707 + .string " $" gUnknown_841670A:: @ 841670A .incbin "baserom.gba", 0x41670A, 0xC @@ -928,16 +1024,19 @@ gUnknown_8416861:: @ 8416861 gUnknown_841689E:: @ 841689E .incbin "baserom.gba", 0x41689E, 0x53 -gUnknown_84168F1:: @ 84168F1 - .incbin "baserom.gba", 0x4168F1, 0x20 +gText_OhNoICantBuyThat:: @ 84168F1 + .string "{STR_VAR_1}? Oh, no.\n" + .string "I can’t buy that.{PAUSE_UNTIL_PRESS}$" -gUnknown_8416911:: @ 8416911 - .incbin "baserom.gba", 0x416911, 0x25 +gText_HowManyWouldYouLikeToSell:: @ 8416911 + .string "{STR_VAR_1}?\n" + .string "How many would you like to sell?$" -gUnknown_8416936:: @ 8416936 - .incbin "baserom.gba", 0x416936, 0x23 +gText_ICanPayThisMuch_WouldThatBeOkay:: @ 8416936 + .string "I can pay ¥{STR_VAR_3}.\n" + .string "Would that be okay?$" -gUnknown_8416959:: @ 8416959 +gText_TurnedOverItemsWorthYen:: @ 8416959 .incbin "baserom.gba", 0x416959, 0x21 gText_PokedollarVar1:: @ 841697A @@ -1803,13 +1902,211 @@ gUnknown_841B779:: @ 841B779 .incbin "baserom.gba", 0x41B779, 0xC4 gUnknown_841B83D:: @ 841B83D - .incbin "baserom.gba", 0x41B83D, 0xD4A - -gUnknown_841C587:: @ 841C587 - .incbin "baserom.gba", 0x41C587, 0x10C + .string "Hey, all you TRAINERS out there!\n" + .string "HELLO, TRAINERS!\p" + .string "……… ……… ………\p" + .string "Come on, let me hear you!\n" + .string "HELLO, TRAINERS!\l" + .string "It’s me, the POKé DUDE!\p" + .string "$" -gUnknown_841C693:: @ 841C693 - .incbin "baserom.gba", 0x41C693, 0x4A9 +gUnknown_841B8BF:: @ 841B8BF + .string "Today, the POKé DUDE’s here to\n" + .string "tell you about how you can battle\l" + .string "POKéMON!\p" + .string "Say you’re out for a stroll when,\n" + .string "suddenly, a wild POKéMON appears!\p" + .string "It’s up to you to smartly use your\n" + .string "POKéMON and their moves to reduce\l" + .string "the opponent’s HP to nothing, and\l" + .string "claim victory!\p" + .string "I’ll show you how to do that in\n" + .string "person and for sure!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BA41:: @ 841BA41 + .string "Well, did you get that?\p" + .string "Even if your own POKéMON’s HP\n" + .string "falls to zero, and it becomes\l" + .string "unable to battle, not to worry!\p" + .string "Just take it to any POKéMON\n" + .string "CENTER and heal it!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BB40:: @ 841BB40 + .string "Today, the POKé DUDE’s here to\n" + .string "tell you about status problems!\p" + .string "Status problems include poisoning,\n" + .string "paralysis, sleep, burn…\p" + .string "There are a couple others, but\n" + .string "they really are trouble.\p" + .string "Get any one, and your POKéMON\n" + .string "may become useless in battle.\p" + .string "You know, it hurts the POKé DUDE\n" + .string "to see a POKéMON suffer…\p" + .string "So, what should you do if your\n" + .string "POKéMON gets a status problem?\p" + .string "Well, you’ve got me to show you!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841BD10:: @ 841BD10 + .string "Poisoning or paralysis don’t go\n" + .string "away after a battle.\p" + .string "If a POKéMON is poisoned, it loses\n" + .string "HP even while you’re walking.\p" + .string "You should heal POKéMON of these\n" + .string "kinds of problems right away.\p" + .string "Use an item, or try to get to a\n" + .string "POKéMON CENTER for healing.\p" + .string "That wasn’t hard, was it?\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841BE76:: @ 841BE76 + .string "Does everyone know about type\n" + .string "matchups?\p" + .string "POKéMON and their moves all\n" + .string "belong to certain types.\p" + .string "For example, there are such types\n" + .string "as GRASS and WATER.\p" + .string "You need to consider the type of\n" + .string "the move used to attack…\p" + .string "And, the type of the POKéMON that\n" + .string "is hit by that attack.\p" + .string "Depending on how those two types\n" + .string "match up, the damage can change.\p" + .string "You see, it depends on whether\n" + .string "the type matchup is good or bad.\p" + .string "If you don’t know how matchups\n" + .string "work, battles will be tough.\p" + .string "So, let me demonstrate exactly\n" + .string "what I mean.\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C0AF:: @ 841C0AF + .string "Is it possible to launch an attack\n" + .string "that will inflict heavy damage?\p" + .string "Does the opposing POKéMON pose\n" + .string "a threat to your POKéMON?\p" + .string "Is there any chance that it may\n" + .string "have disastrously tough moves?\p" + .string "Watch the type matchups to gain\n" + .string "the upper hand!\p" + .string "All righty, be seeing you!\p" + .string "Oh, for the COOL-type POKé DUDE,\n" + .string "AWESOME-type kids like you match\l" + .string "up perfectly!\p" + .string "Remember, a good deed a day\n" + .string "brings happiness to stay!$" + +gUnknown_841C23B:: @ 841C23B + .string "Today, the POKé DUDE’s going to\n" + .string "show you how to catch POKéMON!\p" + .string "Just imagine… A groovy POKéMON\n" + .string "suddenly appearing in the wild!\p" + .string "Oh, you want it!\n" + .string "You just can’t help it!\p" + .string "Oh, you have to catch it!\n" + .string "You gotta have it!\p" + .string "Let me show you how you can make\n" + .string "it happen!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the super\n" + .string "POKé DUDE SHOW!$" + +gUnknown_841C384:: @ 841C384 + .string "If your first POKé BALL fails to\n" + .string "catch the POKéMON, don’t give up!\p" + .string "Keep throwing POKé BALLS…\n" + .string "It’s bound to work sometime!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C459:: @ 841C459 + .string "Hey, everyone!\n" + .string "Do you all have TMs?\p" + .string "A TM, Technical Machine, is an\n" + .string "amazingly great item!\p" + .string "It teaches POKéMON a move that\n" + .string "it may not learn when leveling up!\p" + .string "Isn’t that just great? What a\n" + .string "convenient world we live in!\p" + .string "Open the TM CASE and check out\n" + .string "the TMs you have.\p" + .string "You can check them out in detail,\n" + .string "too.$" + +gPokeDudeText_TMTypes:: @ 841C587 + .string "POKé DUDE: NORMAL, WATER, GRASS…\n" + .string "TMs also come in types.\p" + .string "Check the type and teach it to\n" + .string "a POKéMON that matches up well.\p" + .string "For example, WATER PULSE is\n" + .string "suitable for WATER-type POKéMON.\p" + .string "BULLET SEED is a move that most\n" + .string "GRASS-type POKéMON can learn.\p" + .string "There’s one other thing!$" + +gPokeDudeText_ReadTMDescription:: @ 841C693 + .string "Don’t just look at the type, read\n" + .string "the description, too.\p" + .string "It will contain hints about what\n" + .string "POKéMON might learn the move.\p" + .string "For example, take a move like\n" + .string "FOCUS PUNCH.\p" + .string "It doesn’t sound like anything a\n" + .string "bird or fish POKéMON can learn.\p" + .string "So, try using it on POKéMON with\n" + .string "arms that can throw punches!$" + +gUnknown_841C7B4:: @ 841C7B4 + .string "Wow, I talked a lot today!\n" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" + +gUnknown_841C82A:: @ 841C82A + .string "A TRAINER’s BAG has a bunch of\n" + .string "nifty, convenient features!\p" + .string "Take stuff in the KEY ITEMS\n" + .string "POCKET, for instance.\p" + .string "You can use a key item without\n" + .string "opening the BAG every time.\p" + .string "For example, let’s pretend I have\n" + .string "a TEACHY TV in my BAG.\p" + .string "I can register it for instant use,\n" + .string "and I’ll show you how!\p" + .string "All righty, here goes!\p" + .string "Keep your eyes glued to the sorta\n" + .string "super POKé DUDE SHOW!$" + +gUnknown_841C994:: @ 841C994 + .string "And now, your TEACHY TV is\n" + .string "registered.\p" + .string "How do you use it?\n" + .string "Well, here’s how it works.\p" + .string "Once an item in the KEY ITEMS\n" + .string "POKCET is registered, you can use\l" + .string "it by pressing SELECT.\p" + .string "So, you’ve given yourself\n" + .string "one-touch access to TEACHY TV.\p" + .string "All it takes for you to see me is\n" + .string "pressing one button!\p" + .string "That kind of attention is a little\n" + .string "embarrassing!\p" + .string "All righty, be seeing you!\p" + .string "Remember, TRAINERS, a good deed\n" + .string "a day brings happiness to stay!$" gUnknown_841CB3C:: @ 841CB3C .incbin "baserom.gba", 0x41CB3C, 0x5 @@ -2286,8 +2583,9 @@ gUnknown_841EDCA:: @ 841EDCA .incbin "baserom.gba", 0x41EDCA, 0x61 gUnknown_841EE2B:: @ 841EE2B - .incbin "baserom.gba", 0x41EE2B, 0x19 + .incbin "baserom.gba", 0x41EE2B, 0x17 + .align 2 gUnknown_841EE44:: @ 841EE44 .incbin "baserom.gba", 0x41EE44, 0x20 @@ -2315,8 +2613,8 @@ gUnknown_841EF10:: @ 841EF10 gUnknown_841F1C8:: @ 841F1C8 .incbin "baserom.gba", 0x41F1C8, 0x240 -gUnknown_841F408:: @ 841F408 - .incbin "baserom.gba", 0x41F408, 0x20 +gTMCaseMainWindowPalette:: @ 841F408 + .incbin "graphics/tm_case/unk_841F408.gbapal" gUnknown_841F428:: @ 841F428 .incbin "baserom.gba", 0x41F428, 0x4 diff --git a/data/data_845FD54.s b/data/data_845FD54.s deleted file mode 100644 index d05e14570..000000000 --- a/data/data_845FD54.s +++ /dev/null @@ -1,600 +0,0 @@ - .section .rodata - - .align 2 - // oak_speech -gUnknown_845FD54:: @ 845FD54 - .incbin "baserom.gba", 0x45FD54, 0x814 - -gUnknown_8460568:: @ 8460568 - .incbin "baserom.gba", 0x460568, 0x80 - -gUnknown_84605E8:: @ 84605E8 - .incbin "baserom.gba", 0x4605E8, 0x5C0 - -gUnknown_8460BA8:: @ 8460BA8 - .incbin "baserom.gba", 0x460BA8, 0xFC - -gUnknown_8460CA4:: @ 8460CA4 - .incbin "baserom.gba", 0x460CA4, 0x44 - -gUnknown_8460CE8:: @ 8460CE8 - .incbin "baserom.gba", 0x460CE8, 0xAC - -gUnknown_8460D94:: @ 8460D94 - .incbin "baserom.gba", 0x460D94, 0xA0 - -gUnknown_8460E34:: @ 8460E34 - .incbin "baserom.gba", 0x460E34, 0xA0 - -gUnknown_8460ED4:: @ 8460ED4 - .incbin "baserom.gba", 0x460ED4, 0x40 - -gUnknown_8460F14:: @ 8460F14 - .incbin "baserom.gba", 0x460F14, 0x6E8 - -gUnknown_84615FC:: @ 84615FC - .incbin "baserom.gba", 0x4615FC, 0x40 - -gUnknown_846163C:: @ 846163C - .incbin "baserom.gba", 0x46163C, 0x698 - -gUnknown_8461CD4:: @ 8461CD4 - .incbin "baserom.gba", 0x461CD4, 0x40 - -gUnknown_8461D14:: @ 8461D14 - .incbin "baserom.gba", 0x461D14, 0x698 - -gUnknown_84623AC:: @ 84623AC - .incbin "baserom.gba", 0x4623AC, 0x40 - -gUnknown_84623EC:: @ 84623EC - .incbin "baserom.gba", 0x4623EC, 0xA6C - -gUnknown_8462E58:: @ 8462E58 - .incbin "baserom.gba", 0x462E58, 0x5C - -gUnknown_8462EB4:: @ 8462EB4 - .incbin "baserom.gba", 0x462EB4, 0xC - -gUnknown_8462EC0:: @ 8462EC0 - .incbin "baserom.gba", 0x462EC0, 0x8 - -gUnknown_8462EC8:: @ 8462EC8 - .incbin "baserom.gba", 0x462EC8, 0x8 - -gUnknown_8462ED0:: @ 8462ED0 - .incbin "baserom.gba", 0x462ED0, 0x8 - -gUnknown_8462ED8:: @ 8462ED8 - .incbin "baserom.gba", 0x462ED8, 0x10 - -gUnknown_8462EE8:: @ 8462EE8 - .incbin "baserom.gba", 0x462EE8, 0x4 - -gUnknown_8462EEC:: @ 8462EEC - .incbin "baserom.gba", 0x462EEC, 0x4 - -gUnknown_8462EF0:: @ 8462EF0 - .incbin "baserom.gba", 0x462EF0, 0xC - -gUnknown_8462EFC:: @ 8462EFC - .incbin "baserom.gba", 0x462EFC, 0x18 - -gUnknown_8462F14:: @ 8462F14 - .incbin "baserom.gba", 0x462F14, 0x8 - -gUnknown_8462F1C:: @ 8462F1C - .incbin "baserom.gba", 0x462F1C, 0x8 - -gUnknown_8462F24:: @ 8462F24 - .incbin "baserom.gba", 0x462F24, 0x2C - -gUnknown_8462F50:: @ 8462F50 - .incbin "baserom.gba", 0x462F50, 0xDC - -gUnknown_846302C:: @ 846302C - .incbin "baserom.gba", 0x46302C, 0x48 - -gUnknown_8463074:: @ 8463074 - .incbin "baserom.gba", 0x463074, 0x18 - -gUnknown_846308C:: @ 846308C - .incbin "baserom.gba", 0x46308C, 0x4C - -gUnknown_84630D8:: @ 84630D8 - .incbin "baserom.gba", 0x4630D8, 0x4C - -gUnknown_8463124:: @ 8463124 - .incbin "baserom.gba", 0x463124, 0x10 - -gUnknown_8463134:: @ 8463134 - .incbin "baserom.gba", 0x463134, 0xC - -gUnknown_8463140:: @ 8463140 - .incbin "baserom.gba", 0x463140, 0x10 - -gUnknown_8463150:: @ 8463150 - .incbin "baserom.gba", 0x463150, 0x18 - -gUnknown_8463168:: @ 8463168 - .incbin "baserom.gba", 0x463168, 0x3 - -gUnknown_846316B:: @ 846316B - .incbin "baserom.gba", 0x46316B, 0x5 - -gUnknown_8463170:: @ 8463170 - .incbin "baserom.gba", 0x463170, 0x8 - -gUnknown_8463178:: @ 8463178 - .incbin "baserom.gba", 0x463178, 0x4 - -gUnknown_846317C:: @ 846317C - .incbin "baserom.gba", 0x46317C, 0x4 - -gUnknown_8463180:: @ 8463180 - .incbin "baserom.gba", 0x463180, 0x4 - -gUnknown_8463184:: @ 8463184 - .incbin "baserom.gba", 0x463184, 0xC - -gUnknown_8463190:: @ 8463190 - .incbin "baserom.gba", 0x463190, 0x50 - -gUnknown_84631E0:: @ 84631E0 - .incbin "baserom.gba", 0x4631E0, 0x8 - -gUnknown_84631E8:: @ 84631E8 - .incbin "baserom.gba", 0x4631E8, 0x30 - -gUnknown_8463218:: @ 8463218 - .incbin "baserom.gba", 0x463218, 0x8 - -gUnknown_8463220:: @ 8463220 - .incbin "baserom.gba", 0x463220, 0x18 - -gUnknown_8463238:: @ 8463238 - .incbin "baserom.gba", 0x463238, 0x24 - -gUnknown_846325C:: @ 846325C - .incbin "baserom.gba", 0x46325C, 0x48 - -gUnknown_84632A4:: @ 84632A4 - .incbin "baserom.gba", 0x4632A4, 0x18 - -gUnknown_84632BC:: @ 84632BC - .incbin "baserom.gba", 0x4632BC, 0x4 - -gUnknown_84632C0:: @ 84632C0 - .incbin "baserom.gba", 0x4632C0, 0x4 - -gUnknown_84632C4:: @ 84632C4 - .incbin "baserom.gba", 0x4632C4, 0x4 - -gUnknown_84632C8:: @ 84632C8 - .incbin "baserom.gba", 0x4632C8, 0x4 - -gUnknown_84632CC:: @ 84632CC - .incbin "baserom.gba", 0x4632CC, 0x4 - -gUnknown_84632D0:: @ 84632D0 - .incbin "baserom.gba", 0x4632D0, 0x4 - -gUnknown_84632D4:: @ 84632D4 - .incbin "baserom.gba", 0x4632D4, 0x4 - -gUnknown_84632D8:: @ 84632D8 - .incbin "baserom.gba", 0x4632D8, 0x18 - -gUnknown_84632F0:: @ 84632F0 - .incbin "baserom.gba", 0x4632F0, 0x18 - -gUnknown_8463308:: @ 8463308 - .incbin "baserom.gba", 0x463308, 0x20 - -gUnknown_8463328:: @ 8463328 - .incbin "baserom.gba", 0x463328, 0x70 - -gUnknown_8463398:: @ 8463398 - .incbin "baserom.gba", 0x463398, 0x40 - -gUnknown_84633D8:: @ 84633D8 - .incbin "baserom.gba", 0x4633D8, 0x44 - -gUnknown_846341C:: @ 846341C - .incbin "baserom.gba", 0x46341C, 0x20 - -gUnknown_846343C:: @ 846343C - .incbin "baserom.gba", 0x46343C, 0x128 - -gUnknown_8463564:: @ 8463564 - .incbin "baserom.gba", 0x463564, 0x1C - -gUnknown_8463580:: @ 8463580 - .incbin "baserom.gba", 0x463580, 0x140 - -gUnknown_84636C0:: @ 84636C0 - .incbin "baserom.gba", 0x4636C0, 0x20 - -gUnknown_84636E0:: @ 84636E0 - .incbin "baserom.gba", 0x4636E0, 0x20 - -gUnknown_8463700:: @ 8463700 - .incbin "baserom.gba", 0x463700, 0x20 - -gUnknown_8463720:: @ 8463720 - .incbin "baserom.gba", 0x463720, 0x20 - -gUnknown_8463740:: @ 8463740 - .incbin "baserom.gba", 0x463740, 0x12C - -gUnknown_846386C:: @ 846386C - .incbin "baserom.gba", 0x46386C, 0x120 - -gUnknown_846398C:: @ 846398C - .incbin "baserom.gba", 0x46398C, 0x18 - -gUnknown_84639A4:: @ 84639A4 - .incbin "baserom.gba", 0x4639A4, 0x8 - -gUnknown_84639AC:: @ 84639AC - .incbin "baserom.gba", 0x4639AC, 0x48 - -gUnknown_84639F4:: @ 84639F4 - .incbin "baserom.gba", 0x4639F4, 0x20 - -gUnknown_8463A14:: @ 8463A14 - .incbin "baserom.gba", 0x463A14, 0x68 - -gUnknown_8463A7C:: @ 8463A7C - .incbin "baserom.gba", 0x463A7C, 0x70 - -gUnknown_8463AEC:: @ 8463AEC - .incbin "baserom.gba", 0x463AEC, 0x10 - -gUnknown_8463AFC:: @ 8463AFC - .incbin "baserom.gba", 0x463AFC, 0x4 - -gUnknown_8463B00:: @ 8463B00 - .incbin "baserom.gba", 0x463B00, 0x20 - -gUnknown_8463B20:: @ 8463B20 - .incbin "baserom.gba", 0x463B20, 0x10 - -gUnknown_8463B30:: @ 8463B30 - .incbin "baserom.gba", 0x463B30, 0x10 - -gUnknown_8463B40:: @ 8463B40 - .incbin "baserom.gba", 0x463B40, 0x4 - -gUnknown_8463B44:: @ 8463B44 - .incbin "baserom.gba", 0x463B44, 0x20 - -gUnknown_8463B64:: @ 8463B64 - .incbin "baserom.gba", 0x463B64, 0x24 - -gUnknown_8463B88:: @ 8463B88 - .incbin "baserom.gba", 0x463B88, 0xF8 - -gUnknown_8463C80:: @ 8463C80 - .incbin "baserom.gba", 0x463C80, 0x1E0 - -gUnknown_8463E60:: @ 8463E60 - .incbin "baserom.gba", 0x463E60, 0x64 - -gUnknown_8463EC4:: @ 8463EC4 - .incbin "baserom.gba", 0x463EC4, 0x10 - -gUnknown_8463ED4:: @ 8463ED4 - .incbin "baserom.gba", 0x463ED4, 0x1C - -gUnknown_8463EF0:: @ 8463EF0 - .incbin "baserom.gba", 0x463EF0, 0xC - -gUnknown_8463EFC:: @ 8463EFC - .incbin "baserom.gba", 0x463EFC, 0x10 - -gUnknown_8463F0C:: @ 8463F0C - .incbin "baserom.gba", 0x463F0C, 0x18 - -gUnknown_8463F24:: @ 8463F24 - .incbin "baserom.gba", 0x463F24, 0x18 - -gUnknown_8463F3C:: @ 8463F3C - .incbin "baserom.gba", 0x463F3C, 0x20 - -gUnknown_8463F5C:: @ 8463F5C - .incbin "baserom.gba", 0x463F5C, 0x20 - -gUnknown_8463F7C:: @ 8463F7C - .incbin "baserom.gba", 0x463F7C, 0x20 - -gUnknown_8463F9C:: @ 8463F9C - .incbin "baserom.gba", 0x463F9C, 0x8 - -gUnknown_8463FA4:: @ 8463FA4 - .incbin "baserom.gba", 0x463FA4, 0x3 - -gUnknown_8463FA7:: @ 8463FA7 - .incbin "baserom.gba", 0x463FA7, 0x11 - -gUnknown_8463FB8:: @ 8463FB8 - .incbin "baserom.gba", 0x463FB8, 0x6 - -gUnknown_8463FBE:: @ 8463FBE - .incbin "baserom.gba", 0x463FBE, 0x3 - -gUnknown_8463FC1:: @ 8463FC1 - .incbin "baserom.gba", 0x463FC1, 0x5 - -gUnknown_8463FC6:: @ 8463FC6 - .incbin "baserom.gba", 0x463FC6, 0x7 - -gUnknown_8463FCD:: @ 8463FCD - .incbin "baserom.gba", 0x463FCD, 0x7 - -gUnknown_8463FD4:: @ 8463FD4 - .incbin "baserom.gba", 0x463FD4, 0xB - -gUnknown_8463FDF:: @ 8463FDF - .incbin "baserom.gba", 0x463FDF, 0xB - -gUnknown_8463FEA:: @ 8463FEA - .incbin "baserom.gba", 0x463FEA, 0x12 - -gUnknown_8463FFC:: @ 8463FFC - .incbin "baserom.gba", 0x463FFC, 0xC - -gUnknown_8464008:: @ 8464008 - .incbin "baserom.gba", 0x464008, 0x120 - -gUnknown_8464128:: @ 8464128 - .incbin "baserom.gba", 0x464128, 0x20 - -gUnknown_8464148:: @ 8464148 - .incbin "baserom.gba", 0x464148, 0x174 - -gUnknown_84642BC:: @ 84642BC - .incbin "baserom.gba", 0x4642BC, 0x4 - -gUnknown_84642C0:: @ 84642C0 - .incbin "baserom.gba", 0x4642C0, 0x34 - -gUnknown_84642F4:: @ 84642F4 - .incbin "baserom.gba", 0x4642F4, 0xC - -gUnknown_8464300:: @ 8464300 - .incbin "baserom.gba", 0x464300, 0x4C - -gUnknown_846434C:: @ 846434C - .incbin "baserom.gba", 0x46434C, 0xC - -gUnknown_8464358:: @ 8464358 - .incbin "baserom.gba", 0x464358, 0x14 - -gUnknown_846436C:: @ 846436C - .incbin "baserom.gba", 0x46436C, 0x8 - -gUnknown_8464374:: @ 8464374 - .incbin "baserom.gba", 0x464374, 0x8 - -gUnknown_846437C:: @ 846437C - .incbin "baserom.gba", 0x46437C, 0x28 - -gUnknown_84643A4:: @ 84643A4 - .incbin "baserom.gba", 0x4643A4, 0x4 - -gUnknown_84643A8:: @ 84643A8 - .incbin "baserom.gba", 0x4643A8, 0x4 - -gUnknown_84643AC:: @ 84643AC - .incbin "baserom.gba", 0x4643AC, 0x4 - -gUnknown_84643B0:: @ 84643B0 - .incbin "baserom.gba", 0x4643B0, 0x4 - -gUnknown_84643B4:: @ 84643B4 - .incbin "baserom.gba", 0x4643B4, 0x4 - -gUnknown_84643B8:: @ 84643B8 - .incbin "baserom.gba", 0x4643B8, 0x20 - -gUnknown_84643D8:: @ 84643D8 - .incbin "baserom.gba", 0x4643D8, 0x18 - -gUnknown_84643F0:: @ 84643F0 - .incbin "baserom.gba", 0x4643F0, 0x8 - -gUnknown_84643F8:: @ 84643F8 - .incbin "baserom.gba", 0x4643F8, 0x8 - -gUnknown_8464400:: @ 8464400 - .incbin "baserom.gba", 0x464400, 0x48 - -gUnknown_8464448:: @ 8464448 - .incbin "baserom.gba", 0x464448, 0x60 - -gUnknown_84644A8:: @ 84644A8 - .incbin "baserom.gba", 0x4644A8, 0x8 - -gUnknown_84644B0:: @ 84644B0 - .incbin "baserom.gba", 0x4644B0, 0x8 - -gUnknown_84644B8:: @ 84644B8 - .incbin "baserom.gba", 0x4644B8, 0x32C - -gUnknown_84647E4:: @ 84647E4 - .incbin "baserom.gba", 0x4647E4, 0x18 - -gUnknown_84647FC:: @ 84647FC - .incbin "baserom.gba", 0x4647FC, 0x8 - -gUnknown_8464804:: @ 8464804 - .incbin "baserom.gba", 0x464804, 0x38 - -gUnknown_846483C:: @ 846483C - .incbin "baserom.gba", 0x46483C, 0x40 - -gUnknown_846487C:: @ 846487C - .incbin "baserom.gba", 0x46487C, 0x8 - -gUnknown_8464884:: @ 8464884 - .incbin "baserom.gba", 0x464884, 0xC - -gUnknown_8464890:: @ 8464890 - .incbin "baserom.gba", 0x464890, 0x1E - -gUnknown_84648AE:: @ 84648AE - .incbin "baserom.gba", 0x4648AE, 0xF - -gUnknown_84648BD:: @ 84648BD - .incbin "baserom.gba", 0x4648BD, 0x15 - -gUnknown_84648D2:: @ 84648D2 - .incbin "baserom.gba", 0x4648D2, 0x54 - -gUnknown_8464926:: @ 8464926 - .incbin "baserom.gba", 0x464926, 0x40 - -gUnknown_8464966:: @ 8464966 - .incbin "baserom.gba", 0x464966, 0xC4A - -gUnknown_84655B0:: @ 84655B0 - .incbin "baserom.gba", 0x4655B0, 0x18 - -gUnknown_84655C8:: @ 84655C8 - .incbin "baserom.gba", 0x4655C8, 0x40 - -gUnknown_8465608:: @ 8465608 - .incbin "baserom.gba", 0x465608, 0xE - -gUnknown_8465616:: @ 8465616 - .incbin "baserom.gba", 0x465616, 0xC0 - -gUnknown_84656D6:: @ 84656D6 - .incbin "baserom.gba", 0x4656D6, 0x10E - -gUnknown_84657E4:: @ 84657E4 - .incbin "baserom.gba", 0x4657E4, 0x98 - -gUnknown_846587C:: @ 846587C - .incbin "baserom.gba", 0x46587C, 0x5C - -gUnknown_84658D8:: @ 84658D8 - .incbin "baserom.gba", 0x4658D8, 0x18 - -gUnknown_84658F0:: @ 84658F0 - .incbin "baserom.gba", 0x4658F0, 0x40 - -gUnknown_8465930:: @ 8465930 - .incbin "baserom.gba", 0x465930, 0x20 - -gUnknown_8465950:: @ 8465950 - .incbin "baserom.gba", 0x465950, 0x80 - -gUnknown_84659D0:: @ 84659D0 - .incbin "baserom.gba", 0x4659D0, 0x804 - -gUnknown_84661D4:: @ 84661D4 - .incbin "baserom.gba", 0x4661D4, 0x2E8 - -gUnknown_84664BC:: @ 84664BC - .incbin "baserom.gba", 0x4664BC, 0x20 - -gUnknown_84664DC:: @ 84664DC - .incbin "baserom.gba", 0x4664DC, 0x60 - -gUnknown_846653C:: @ 846653C - .incbin "baserom.gba", 0x46653C, 0x84 - -gUnknown_84665C0:: @ 84665C0 - .incbin "baserom.gba", 0x4665C0, 0x60 - -gUnknown_8466620:: @ 8466620 - .incbin "baserom.gba", 0x466620, 0x378 - -gUnknown_8466998:: @ 8466998 - .incbin "baserom.gba", 0x466998, 0x178 - -gUnknown_8466B10:: @ 8466B10 - .incbin "baserom.gba", 0x466B10, 0x10 - -gUnknown_8466B20:: @ 8466B20 - .incbin "baserom.gba", 0x466B20, 0xEC - -gUnknown_8466C0C:: @ 8466C0C - .incbin "baserom.gba", 0x466C0C, 0x28 - -gUnknown_8466C34:: @ 8466C34 - .incbin "baserom.gba", 0x466C34, 0x4 - -gUnknown_8466C38:: @ 8466C38 - .incbin "baserom.gba", 0x466C38, 0x8 - -gUnknown_8466C40:: @ 8466C40 - .incbin "baserom.gba", 0x466C40, 0x18 - -gUnknown_8466C58:: @ 8466C58 - .incbin "baserom.gba", 0x466C58, 0xB8 - -gUnknown_8466D10:: @ 8466D10 - .incbin "baserom.gba", 0x466D10, 0x20 - -gUnknown_8466D30:: @ 8466D30 - .incbin "baserom.gba", 0x466D30, 0x30 - -gUnknown_8466D60:: @ 8466D60 - .incbin "baserom.gba", 0x466D60, 0x10 - -gUnknown_8466D70:: @ 8466D70 - .incbin "baserom.gba", 0x466D70, 0x20 - -gUnknown_8466D90:: @ 8466D90 - .incbin "baserom.gba", 0x466D90, 0x8 - -gUnknown_8466D98:: @ 8466D98 - .incbin "baserom.gba", 0x466D98, 0x8 - -gUnknown_8466DA0:: @ 8466DA0 - .incbin "baserom.gba", 0x466DA0, 0x8 - -gUnknown_8466DA8:: @ 8466DA8 - .incbin "baserom.gba", 0x466DA8, 0x8 - -gUnknown_8466DB0:: @ 8466DB0 - .incbin "baserom.gba", 0x466DB0, 0x8 - -gUnknown_8466DB8:: @ 8466DB8 - .incbin "baserom.gba", 0x466DB8, 0x8 - -gUnknown_8466DC0:: @ 8466DC0 - .incbin "baserom.gba", 0x466DC0, 0x8 - -gUnknown_8466DC8:: @ 8466DC8 - .incbin "baserom.gba", 0x466DC8, 0x8 - -gUnknown_8466DD0:: @ 8466DD0 - .incbin "baserom.gba", 0x466DD0, 0x18 - -gUnknown_8466DE8:: @ 8466DE8 - .incbin "baserom.gba", 0x466DE8, 0x18 - -gUnknown_8466E00:: @ 8466E00 - .incbin "baserom.gba", 0x466E00, 0x78 - -gUnknown_8466E78:: @ 8466E78 - .incbin "baserom.gba", 0x466E78, 0x18 - -gUnknown_8466E90:: @ 8466E90 - .incbin "baserom.gba", 0x466E90, 0x18 - -gUnknown_8466EA8:: @ 8466EA8 - .incbin "baserom.gba", 0x466EA8, 0x18 - -gUnknown_8466EC0:: @ 8466EC0 - .incbin "baserom.gba", 0x466EC0, 0x28 - -gUnknown_8466EE8:: @ 8466EE8 - .incbin "baserom.gba", 0x466EE8, 0x8 - -gUnknown_8466EF0:: @ 8466EF0 - .incbin "baserom.gba", 0x466EF0, 0x10 diff --git a/data/data_8471F00.s b/data/data_8471F00.s index 6733b3f4d..9c616b37c 100644 --- a/data/data_8471F00.s +++ b/data/data_8471F00.s @@ -237,7 +237,12 @@ gUnknown_8479548:: @ 8479548 .incbin "baserom.gba", 0x479548, 0x18 gUnknown_8479560:: @ 8479560 - .incbin "baserom.gba", 0x479560, 0x18 + .4byte gUnknown_841B8BF + .4byte gUnknown_841BB40 + .4byte gUnknown_841BE76 + .4byte gUnknown_841C23B + .4byte gUnknown_841C459 + .4byte gUnknown_841C82A gUnknown_8479578:: @ 8479578 .incbin "baserom.gba", 0x479578, 0x18 diff --git a/data/event_scripts.s b/data/event_scripts.s index 23f6ad5a9..16e6b6ae0 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -42,14 +42,1286 @@ gStdScripts:: @ 8160450 .4byte gStdScript_81A4E66 gStdScriptsEnd:: -gUnknown_8160478:: @ 8160478 - .incbin "baserom.gba", 0x160478, 0x886C +gMapScripts_UnknownMap_00_00:: @ 8160478 + .incbin "baserom.gba", 0x160478, 0x1 + +gMapScripts_UnknownMap_00_01:: @ 8160479 + .incbin "baserom.gba", 0x160479, 0x1 + +gMapScripts_UnknownMap_00_02:: @ 816047A + .incbin "baserom.gba", 0x16047A, 0x1 + +gMapScripts_UnknownMap_00_03:: @ 816047B + .incbin "baserom.gba", 0x16047B, 0x1 + +gMapScripts_UnknownMap_00_04:: @ 816047C + .incbin "baserom.gba", 0x16047C, 0xA3 + +gMapScripts_ViridianForest:: @ 816051F + .incbin "baserom.gba", 0x16051F, 0xC5 + +gMapScripts_MtMoon_1F:: @ 81605E4 + .incbin "baserom.gba", 0x1605E4, 0xB4 + +gMapScripts_MtMoon_B1F:: @ 8160698 + .incbin "baserom.gba", 0x160698, 0x1 + +gMapScripts_MtMoon_B2F:: @ 8160699 + .incbin "baserom.gba", 0x160699, 0x1A7 + +gMapScripts_SSAnne_Exterior:: @ 8160840 + .incbin "baserom.gba", 0x160840, 0x8B + +gMapScripts_SSAnne_1F_Corridor:: @ 81608CB + .incbin "baserom.gba", 0x1608CB, 0x13 + +gMapScripts_SSAnne_2F_Corridor:: @ 81608DE + .incbin "baserom.gba", 0x1608DE, 0x17F + +gMapScripts_SSAnne_3F_Corridor:: @ 8160A5D + .incbin "baserom.gba", 0x160A5D, 0xA + +gMapScripts_SSAnne_B1F_Corridor:: @ 8160A67 + .incbin "baserom.gba", 0x160A67, 0x1 + +gMapScripts_SSAnne_Deck:: @ 8160A68 + .incbin "baserom.gba", 0x160A68, 0x4A + +gMapScripts_SSAnne_Kitchen:: @ 8160AB2 + .incbin "baserom.gba", 0x160AB2, 0x87 + +gMapScripts_SSAnne_CaptainsOffice:: @ 8160B39 + .incbin "baserom.gba", 0x160B39, 0xA2 + +gMapScripts_SSAnne_1F_Room1:: @ 8160BDB + .incbin "baserom.gba", 0x160BDB, 0xA + +gMapScripts_SSAnne_1F_Room2:: @ 8160BE5 + .incbin "baserom.gba", 0x160BE5, 0x38 + +gMapScripts_SSAnne_1F_Room3:: @ 8160C1D + .incbin "baserom.gba", 0x160C1D, 0x26 + +gMapScripts_SSAnne_1F_Room4:: @ 8160C43 + .incbin "baserom.gba", 0x160C43, 0x23 + +gMapScripts_SSAnne_1F_Room5:: @ 8160C66 + .incbin "baserom.gba", 0x160C66, 0x18 + +gMapScripts_SSAnne_1F_Room7:: @ 8160C7E + .incbin "baserom.gba", 0x160C7E, 0x18 + +gMapScripts_SSAnne_2F_Room1:: @ 8160C96 + .incbin "baserom.gba", 0x160C96, 0x1A + +gMapScripts_SSAnne_2F_Room2:: @ 8160CB0 + .incbin "baserom.gba", 0x160CB0, 0x2F + +gMapScripts_SSAnne_2F_Room3:: @ 8160CDF + .incbin "baserom.gba", 0x160CDF, 0x13 + +gMapScripts_SSAnne_2F_Room4:: @ 8160CF2 + .incbin "baserom.gba", 0x160CF2, 0x2F + +gMapScripts_SSAnne_2F_Room5:: @ 8160D21 + .incbin "baserom.gba", 0x160D21, 0x13 + +gMapScripts_SSAnne_2F_Room6:: @ 8160D34 + .incbin "baserom.gba", 0x160D34, 0x13 + +gMapScripts_SSAnne_B1F_Room1:: @ 8160D47 + .incbin "baserom.gba", 0x160D47, 0x2F + +gMapScripts_SSAnne_B1F_Room2:: @ 8160D76 + .incbin "baserom.gba", 0x160D76, 0x18 + +gMapScripts_SSAnne_B1F_Room3:: @ 8160D8E + .incbin "baserom.gba", 0x160D8E, 0x18 + +gMapScripts_SSAnne_B1F_Room4:: @ 8160DA6 + .incbin "baserom.gba", 0x160DA6, 0x2F + +gMapScripts_SSAnne_B1F_Room5:: @ 8160DD5 + .incbin "baserom.gba", 0x160DD5, 0x1D + +gMapScripts_SSAnne_1F_Room6:: @ 8160DF2 + .incbin "baserom.gba", 0x160DF2, 0x46 + +gMapScripts_UndergroundPath_NorthEntrance:: @ 8160E38 + .incbin "baserom.gba", 0x160E38, 0x7D + +gMapScripts_UndergroundPath_NorthSouthTunnel:: @ 8160EB5 + .incbin "baserom.gba", 0x160EB5, 0xA + +gMapScripts_UndergroundPath_SouthEntrance:: @ 8160EBF + .incbin "baserom.gba", 0x160EBF, 0xA + +gMapScripts_UndergroundPath_WestEntrance:: @ 8160EC9 + .incbin "baserom.gba", 0x160EC9, 0xA + +gMapScripts_UndergroundPath_EastWestTunnel:: @ 8160ED3 + .incbin "baserom.gba", 0x160ED3, 0xA + +gMapScripts_UndergroundPath_EastEntrance:: @ 8160EDD + .incbin "baserom.gba", 0x160EDD, 0xA + +gMapScripts_DiglettsCave_NorthEntrance:: @ 8160EE7 + .incbin "baserom.gba", 0x160EE7, 0xA + +gMapScripts_DiglettsCave_B1F:: @ 8160EF1 + .incbin "baserom.gba", 0x160EF1, 0xA + +gMapScripts_DiglettsCave_SouthEntrance:: @ 8160EFB + .incbin "baserom.gba", 0x160EFB, 0xA + +gMapScripts_VictoryRoad_1F:: @ 8160F05 + .incbin "baserom.gba", 0x160F05, 0x8D + +gMapScripts_VictoryRoad_2F:: @ 8160F92 + .incbin "baserom.gba", 0x160F92, 0x118 + +gMapScripts_VictoryRoad_3F:: @ 81610AA + .incbin "baserom.gba", 0x1610AA, 0xEB + +gMapScripts_RocketHideout_B1F:: @ 8161195 + .incbin "baserom.gba", 0x161195, 0x10C + +gMapScripts_RocketHideout_B2F:: @ 81612A1 + .incbin "baserom.gba", 0x1612A1, 0x18 + +gMapScripts_RocketHideout_B3F:: @ 81612B9 + .incbin "baserom.gba", 0x1612B9, 0x2F + +gMapScripts_RocketHideout_B4F:: @ 81612E8 + .incbin "baserom.gba", 0x1612E8, 0x1F0 + +gMapScripts_RocketHideout_Elevator:: @ 81614D8 + .incbin "baserom.gba", 0x1614D8, 0x14D + +gMapScripts_SilphCo_1F:: @ 8161625 + .incbin "baserom.gba", 0x161625, 0x1C + +gMapScripts_SilphCo_2F:: @ 8161641 + .incbin "baserom.gba", 0x161641, 0x84 + +gMapScripts_SilphCo_3F:: @ 81616C5 + .incbin "baserom.gba", 0x1616C5, 0x71 + +gMapScripts_SilphCo_4F:: @ 8161736 + .incbin "baserom.gba", 0x161736, 0x88 + +gMapScripts_SilphCo_5F:: @ 81617BE + .incbin "baserom.gba", 0x1617BE, 0xC3 + +gMapScripts_SilphCo_6F:: @ 8161881 + .incbin "baserom.gba", 0x161881, 0x103 + +gMapScripts_SilphCo_7F:: @ 8161984 + .incbin "baserom.gba", 0x161984, 0x2DB + +gMapScripts_SilphCo_8F:: @ 8161C5F + .incbin "baserom.gba", 0x161C5F, 0x7F + +gMapScripts_SilphCo_9F:: @ 8161CDE + .incbin "baserom.gba", 0x161CDE, 0xA8 + +gMapScripts_SilphCo_10F:: @ 8161D86 + .incbin "baserom.gba", 0x161D86, 0x68 + +gMapScripts_SilphCo_11F:: @ 8161DEE + .incbin "baserom.gba", 0x161DEE, 0x180 + +gMapScripts_SilphCo_Elevator:: @ 8161F6E + .incbin "baserom.gba", 0x161F6E, 0x28B + +gMapScripts_PokemonMansion_1F:: @ 81621F9 + .incbin "baserom.gba", 0x1621F9, 0x5B + +gMapScripts_PokemonMansion_2F:: @ 8162254 + .incbin "baserom.gba", 0x162254, 0x4D + +gMapScripts_PokemonMansion_3F:: @ 81622A1 + .incbin "baserom.gba", 0x1622A1, 0x5B + +gMapScripts_PokemonMansion_B1F:: @ 81622FC + .incbin "baserom.gba", 0x1622FC, 0x5B + +gMapScripts_SafariZone_Center:: @ 8162357 + .incbin "baserom.gba", 0x162357, 0x25 + +gMapScripts_SafariZone_East:: @ 816237C + .incbin "baserom.gba", 0x16237C, 0x1C + +gMapScripts_SafariZone_North:: @ 8162398 + .incbin "baserom.gba", 0x162398, 0x2E + +gMapScripts_SafariZone_West:: @ 81623C6 + .incbin "baserom.gba", 0x1623C6, 0x25 + +gMapScripts_SafariZone_Building1:: @ 81623EB + .incbin "baserom.gba", 0x1623EB, 0x13 + +gMapScripts_SafariZone_Building2:: @ 81623FE + .incbin "baserom.gba", 0x1623FE, 0x1C + +gMapScripts_SafariZone_Building3:: @ 816241A + .incbin "baserom.gba", 0x16241A, 0x1C + +gMapScripts_SafariZone_Building4:: @ 8162436 + .incbin "baserom.gba", 0x162436, 0x1C + +gMapScripts_SafariZone_SecretHouse:: @ 8162452 + .incbin "baserom.gba", 0x162452, 0x61 + +gMapScripts_CeruleanCave_1F:: @ 81624B3 + .incbin "baserom.gba", 0x1624B3, 0xA + +gMapScripts_CeruleanCave_2F:: @ 81624BD + .incbin "baserom.gba", 0x1624BD, 0x1 + +gMapScripts_CeruleanCave_B1F:: @ 81624BE + .incbin "baserom.gba", 0x1624BE, 0xAE + +gMapScripts_PokemonLeague_LoreleisRoom:: @ 816256C + .incbin "baserom.gba", 0x16256C, 0x119 + +gMapScripts_PokemonLeague_BrunosRoom:: @ 8162685 + .incbin "baserom.gba", 0x162685, 0x18B + +gMapScripts_PokemonLeague_AgathasRoom:: @ 8162810 + .incbin "baserom.gba", 0x162810, 0x11D + +gMapScripts_PokemonLeague_LancesRoom:: @ 816292D + .incbin "baserom.gba", 0x16292D, 0x1B5 + +gMapScripts_PokemonLeague_ChampionsRoom:: @ 8162AE2 + .incbin "baserom.gba", 0x162AE2, 0x26A + +gMapScripts_PokemonLeague_HallOfFame:: @ 8162D4C + .incbin "baserom.gba", 0x162D4C, 0x8A + +gMapScripts_RockTunnel_1F:: @ 8162DD6 + .incbin "baserom.gba", 0x162DD6, 0xB4 + +gMapScripts_RockTunnel_B1F:: @ 8162E8A + .incbin "baserom.gba", 0x162E8A, 0xB9 + +gMapScripts_SeafoamIslands_1F:: @ 8162F43 + .incbin "baserom.gba", 0x162F43, 0xA + +gMapScripts_SeafoamIslands_B1F:: @ 8162F4D + .incbin "baserom.gba", 0x162F4D, 0x1 + +gMapScripts_SeafoamIslands_B2F:: @ 8162F4E + .incbin "baserom.gba", 0x162F4E, 0x1 + +gMapScripts_SeafoamIslands_B3F:: @ 8162F4F + .incbin "baserom.gba", 0x162F4F, 0xDF + +gMapScripts_SeafoamIslands_B4F:: @ 816302E + .incbin "baserom.gba", 0x16302E, 0x207 + +gMapScripts_PokemonTower_1F:: @ 8163235 + .incbin "baserom.gba", 0x163235, 0x50 + +gMapScripts_PokemonTower_2F:: @ 8163285 + .incbin "baserom.gba", 0x163285, 0x121 + +gMapScripts_PokemonTower_3F:: @ 81633A6 + .incbin "baserom.gba", 0x1633A6, 0x46 + +gMapScripts_PokemonTower_4F:: @ 81633EC + .incbin "baserom.gba", 0x1633EC, 0x46 + +gMapScripts_PokemonTower_5F:: @ 8163432 + .incbin "baserom.gba", 0x163432, 0x85 + +gMapScripts_PokemonTower_6F:: @ 81634B7 + .incbin "baserom.gba", 0x1634B7, 0xA2 + +gMapScripts_PokemonTower_7F:: @ 8163559 + .incbin "baserom.gba", 0x163559, 0x20B + +gMapScripts_PowerPlant:: @ 8163764 + .incbin "baserom.gba", 0x163764, 0x187 + +gMapScripts_MtEmber_RubyPath_B4F:: @ 81638EB + .incbin "baserom.gba", 0x1638EB, 0x5B + +gMapScripts_MtEmber_Exterior:: @ 8163946 + .incbin "baserom.gba", 0x163946, 0x1B3 + +gMapScripts_MtEmber_SummitPath_1F:: @ 8163AF9 + .incbin "baserom.gba", 0x163AF9, 0x1 + +gMapScripts_MtEmber_SummitPath_2F:: @ 8163AFA + .incbin "baserom.gba", 0x163AFA, 0x1 + +gMapScripts_MtEmber_SummitPath_3F:: @ 8163AFB + .incbin "baserom.gba", 0x163AFB, 0x1 + +gMapScripts_MtEmber_Summit:: @ 8163AFC + .incbin "baserom.gba", 0x163AFC, 0xAE + +gMapScripts_MtEmber_RubyPath_B5F:: @ 8163BAA + .incbin "baserom.gba", 0x163BAA, 0x9B + +gMapScripts_SSAnne_Kitchen3:: @ 8163C45 + .incbin "baserom.gba", 0x163C45, 0x1 + +gMapScripts_MtEmber_RubyPath_B1F:: @ 8163C46 + .incbin "baserom.gba", 0x163C46, 0x1 + +gMapScripts_MtEmber_RubyPath_B2F:: @ 8163C47 + .incbin "baserom.gba", 0x163C47, 0x1 + +gMapScripts_MtEmber_RubyPath_B3F:: @ 8163C48 + .incbin "baserom.gba", 0x163C48, 0x27 + +gMapScripts_MtEmber_RubyPath_B1F_Stairs:: @ 8163C6F + .incbin "baserom.gba", 0x163C6F, 0x1 + +gMapScripts_MtEmber_RubyPath_B2F_Stairs:: @ 8163C70 + .incbin "baserom.gba", 0x163C70, 0x1 + +gMapScripts_ThreeIsland_BerryForest:: @ 8163C71 + .incbin "baserom.gba", 0x163C71, 0xC9 + +gMapScripts_FourIsland_IcefallCave_Entrance:: @ 8163D3A + .incbin "baserom.gba", 0x163D3A, 0xA + +gMapScripts_FourIsland_IcefallCave_1F:: @ 8163D44 + .incbin "baserom.gba", 0x163D44, 0x3D + +gMapScripts_SSAnne_CaptainsOffice2:: @ 8163D81 + .incbin "baserom.gba", 0x163D81, 0x1 + +gMapScripts_SSAnne_CaptainsOffice3:: @ 8163D82 + .incbin "baserom.gba", 0x163D82, 0x1AC + +gMapScripts_SSAnne_CaptainsOffice4:: @ 8163F2E + .incbin "baserom.gba", 0x163F2E, 0x254 + +gMapScripts_SSAnne_CaptainsOffice5:: @ 8164182 + .incbin "baserom.gba", 0x164182, 0x2E + +gMapScripts_SixIsland_DottedHole_B1F:: @ 81641B0 + .incbin "baserom.gba", 0x1641B0, 0x1 + +gMapScripts_SixIsland_DottedHole_B2F:: @ 81641B1 + .incbin "baserom.gba", 0x1641B1, 0x1 + +gMapScripts_SixIsland_DottedHole_B3F:: @ 81641B2 + .incbin "baserom.gba", 0x1641B2, 0x1 + +gMapScripts_SSAnne_CaptainsOffice9:: @ 81641B3 + .incbin "baserom.gba", 0x1641B3, 0x1 + +gMapScripts_SixIsland_DottedHole_SapphireRoom:: @ 81641B4 + .incbin "baserom.gba", 0x1641B4, 0x3A5 + +gMapScripts_SSAnne_1F_Room11:: @ 8164559 + .incbin "baserom.gba", 0x164559, 0x14B + +gMapScripts_SSAnne_1F_Room12:: @ 81646A4 + .incbin "baserom.gba", 0x1646A4, 0xA + +gMapScripts_NavelRock_Exterior:: @ 81646AE + .incbin "baserom.gba", 0x1646AE, 0xA + +gMapScripts_SevenIsland_TrainerTower_1F:: @ 81646B8 + .incbin "baserom.gba", 0x1646B8, 0x2E + +gMapScripts_SevenIsland_TrainerTower_2F:: @ 81646E6 + .incbin "baserom.gba", 0x1646E6, 0x2E + +gMapScripts_SevenIsland_TrainerTower_3F:: @ 8164714 + .incbin "baserom.gba", 0x164714, 0x2E + +gMapScripts_SevenIsland_TrainerTower_4F:: @ 8164742 + .incbin "baserom.gba", 0x164742, 0x2E + +gMapScripts_SevenIsland_TrainerTower_5F:: @ 8164770 + .incbin "baserom.gba", 0x164770, 0x2E + +gMapScripts_SevenIsland_TrainerTower_6F:: @ 816479E + .incbin "baserom.gba", 0x16479E, 0x2E + +gMapScripts_SevenIsland_TrainerTower_7F:: @ 81647CC + .incbin "baserom.gba", 0x1647CC, 0x2E + +gMapScripts_SevenIsland_TrainerTower_8F:: @ 81647FA + .incbin "baserom.gba", 0x1647FA, 0x2E + +gMapScripts_SevenIsland_TrainerTower_Roof:: @ 8164828 + .incbin "baserom.gba", 0x164828, 0x11 + +gMapScripts_SevenIsland_TrainerTower_Lobby:: @ 8164839 + .incbin "baserom.gba", 0x164839, 0x2BF + +gMapScripts_SevenIsland_TrainerTower_Elevator:: @ 8164AF8 + .incbin "baserom.gba", 0x164AF8, 0xF4 + +gMapScripts_FiveIsland_LostCave_Entrance:: @ 8164BEC + .incbin "baserom.gba", 0x164BEC, 0xA + +gMapScripts_FiveIsland_LostCave_Room1:: @ 8164BF6 + .incbin "baserom.gba", 0x164BF6, 0x18 + +gMapScripts_FiveIsland_LostCave_Room2:: @ 8164C0E + .incbin "baserom.gba", 0x164C0E, 0x1 + +gMapScripts_FiveIsland_LostCave_Room3:: @ 8164C0F + .incbin "baserom.gba", 0x164C0F, 0x1 + +gMapScripts_FiveIsland_LostCave_Room4:: @ 8164C10 + .incbin "baserom.gba", 0x164C10, 0x18 + +gMapScripts_FiveIsland_LostCave_Room5:: @ 8164C28 + .incbin "baserom.gba", 0x164C28, 0x1 + +gMapScripts_FiveIsland_LostCave_Room6:: @ 8164C29 + .incbin "baserom.gba", 0x164C29, 0x1 + +gMapScripts_FiveIsland_LostCave_Room7:: @ 8164C2A + .incbin "baserom.gba", 0x164C2A, 0x1 + +gMapScripts_FiveIsland_LostCave_Room8:: @ 8164C2B + .incbin "baserom.gba", 0x164C2B, 0x1 + +gMapScripts_FiveIsland_LostCave_Room9:: @ 8164C2C + .incbin "baserom.gba", 0x164C2C, 0x1 + +gMapScripts_FiveIsland_LostCave_Room10:: @ 8164C2D + .incbin "baserom.gba", 0x164C2D, 0x9E + +gMapScripts_FiveIsland_LostCave_Room11:: @ 8164CCB + .incbin "baserom.gba", 0x164CCB, 0x1 + +gMapScripts_FiveIsland_LostCave_Room12:: @ 8164CCC + .incbin "baserom.gba", 0x164CCC, 0x1 + +gMapScripts_FiveIsland_LostCave_Room13:: @ 8164CCD + .incbin "baserom.gba", 0x164CCD, 0x1 + +gMapScripts_FiveIsland_LostCave_Room14:: @ 8164CCE + .incbin "baserom.gba", 0x164CCE, 0x1 + +gMapScripts_SevenIsland_TanobyRuins_MoneanChamber:: @ 8164CCF + .incbin "baserom.gba", 0x164CCF, 0xF + +gMapScripts_SevenIsland_TanobyRuins_LiptooChamber:: @ 8164CDE + .incbin "baserom.gba", 0x164CDE, 0xC + +gMapScripts_SevenIsland_TanobyRuins_WeepthChamber:: @ 8164CEA + .incbin "baserom.gba", 0x164CEA, 0xC + +gMapScripts_SevenIsland_TanobyRuins_DilfordChamber:: @ 8164CF6 + .incbin "baserom.gba", 0x164CF6, 0xC + +gMapScripts_SevenIsland_TanobyRuins_ScufibChamber:: @ 8164D02 + .incbin "baserom.gba", 0x164D02, 0xC + +gMapScripts_SevenIsland_TanobyRuins_RixyChamber:: @ 8164D0E + .incbin "baserom.gba", 0x164D0E, 0xC + +gMapScripts_SevenIsland_TanobyRuins_ViapoisChamber:: @ 8164D1A + .incbin "baserom.gba", 0x164D1A, 0xC + +gMapScripts_ThreeIsland_DunsparceTunnel:: @ 8164D26 + .incbin "baserom.gba", 0x164D26, 0xA6 + +gMapScripts_SevenIsland_SeavaultCanyon_TanobyKey:: @ 8164DCC + .incbin "baserom.gba", 0x164DCC, 0x1D2 + +gMapScripts_NavelRock_1F:: @ 8164F9E + .incbin "baserom.gba", 0x164F9E, 0x1 + +gMapScripts_NavelRock_Summit:: @ 8164F9F + .incbin "baserom.gba", 0x164F9F, 0x148 + +gMapScripts_NavelRock_Base:: @ 81650E7 + .incbin "baserom.gba", 0x1650E7, 0x10B + +gMapScripts_NavelRock_SummitPath_2F:: @ 81651F2 + .incbin "baserom.gba", 0x1651F2, 0x1 + +gMapScripts_NavelRock_SummitPath_3F:: @ 81651F3 + .incbin "baserom.gba", 0x1651F3, 0x1 + +gMapScripts_NavelRock_SummitPath_4F:: @ 81651F4 + .incbin "baserom.gba", 0x1651F4, 0x1 + +gMapScripts_NavelRock_SummitPath_5F:: @ 81651F5 + .incbin "baserom.gba", 0x1651F5, 0x1 + +gMapScripts_NavelRock_BasePath_B1F:: @ 81651F6 + .incbin "baserom.gba", 0x1651F6, 0x1 + +gMapScripts_NavelRock_BasePath_B2F:: @ 81651F7 + .incbin "baserom.gba", 0x1651F7, 0x1 + +gMapScripts_NavelRock_BasePath_B3F:: @ 81651F8 + .incbin "baserom.gba", 0x1651F8, 0x1 + +gMapScripts_NavelRock_BasePath_B4F:: @ 81651F9 + .incbin "baserom.gba", 0x1651F9, 0x1 + +gMapScripts_NavelRock_BasePath_B5F:: @ 81651FA + .incbin "baserom.gba", 0x1651FA, 0x1 + +gMapScripts_NavelRock_BasePath_B6F:: @ 81651FB + .incbin "baserom.gba", 0x1651FB, 0x1 + +gMapScripts_NavelRock_BasePath_B7F:: @ 81651FC + .incbin "baserom.gba", 0x1651FC, 0x1 + +gMapScripts_NavelRock_BasePath_B8F:: @ 81651FD + .incbin "baserom.gba", 0x1651FD, 0x1 + +gMapScripts_NavelRock_BasePath_B9F:: @ 81651FE + .incbin "baserom.gba", 0x1651FE, 0x1 + +gMapScripts_NavelRock_BasePath_B10F:: @ 81651FF + .incbin "baserom.gba", 0x1651FF, 0x1 + +gMapScripts_NavelRock_BasePath_B11F:: @ 8165200 + .incbin "baserom.gba", 0x165200, 0x1 + +gMapScripts_NavelRock_B1F:: @ 8165201 + .incbin "baserom.gba", 0x165201, 0x1 + +gMapScripts_NavelRock_Fork:: @ 8165202 + .incbin "baserom.gba", 0x165202, 0x1 + +gMapScripts_BirthIsland_Exterior:: @ 8165203 + .incbin "baserom.gba", 0x165203, 0x158 + +gMapScripts_OneIsland_KindleRoad_EmberSpa:: @ 816535B + .incbin "baserom.gba", 0x16535B, 0x8B + +gMapScripts_BirthIsland_Harbor:: @ 81653E6 + .incbin "baserom.gba", 0x1653E6, 0x3A + +gMapScripts_NavelRock_Harbor:: @ 8165420 + .incbin "baserom.gba", 0x165420, 0x3A + +gMapScripts_PalletTown:: @ 816545A + .incbin "baserom.gba", 0x16545A, 0x479 + +gMapScripts_ViridianCity:: @ 81658D3 + .incbin "baserom.gba", 0x1658D3, 0x2BB + +gMapScripts_PewterCity:: @ 8165B8E + .incbin "baserom.gba", 0x165B8E, 0x8E3 + +gMapScripts_CeruleanCity:: @ 8166471 + .incbin "baserom.gba", 0x166471, 0x3FA + +gMapScripts_LavenderTown:: @ 816686B + .incbin "baserom.gba", 0x16686B, 0x71 + +gMapScripts_VermilionCity:: @ 81668DC + .incbin "baserom.gba", 0x1668DC, 0x3B3 + +gMapScripts_CeladonCity:: @ 8166C8F + .incbin "baserom.gba", 0x166C8F, 0xE6 + +gMapScripts_FuchsiaCity:: @ 8166D75 + .incbin "baserom.gba", 0x166D75, 0x161 + +gMapScripts_CinnabarIsland:: @ 8166ED6 + .incbin "baserom.gba", 0x166ED6, 0x365 + +gMapScripts_IndigoPlateau_Exterior:: @ 816723B + .incbin "baserom.gba", 0x16723B, 0x124 + +gMapScripts_SaffronCity_Duplicate:: @ 816735F + .incbin "baserom.gba", 0x16735F, 0x124 + +gMapScripts_SaffronCity:: @ 8167483 + .incbin "baserom.gba", 0x167483, 0x1 + +gMapScripts_OneIsland:: @ 8167484 + .incbin "baserom.gba", 0x167484, 0xE0 + +gMapScripts_TwoIsland:: @ 8167564 + .incbin "baserom.gba", 0x167564, 0x249 + +gMapScripts_ThreeIsland:: @ 81677AD + .incbin "baserom.gba", 0x1677AD, 0x501 + +gMapScripts_FourIsland:: @ 8167CAE + .incbin "baserom.gba", 0x167CAE, 0x1E0 + +gMapScripts_FiveIsland:: @ 8167E8E + .incbin "baserom.gba", 0x167E8E, 0x25 + +gMapScripts_SevenIsland:: @ 8167EB3 + .incbin "baserom.gba", 0x167EB3, 0x25 + +gMapScripts_SixIsland:: @ 8167ED8 + .incbin "baserom.gba", 0x167ED8, 0x25 + +gMapScripts_Route1:: @ 8167EFD + .incbin "baserom.gba", 0x167EFD, 0x67 + +gMapScripts_Route2:: @ 8167F64 + .incbin "baserom.gba", 0x167F64, 0x13 + +gMapScripts_Route3:: @ 8167F77 + .incbin "baserom.gba", 0x167F77, 0x13 + +gMapScripts_Route4:: @ 8167F8A + .incbin "baserom.gba", 0x167F8A, 0x1D + +gMapScripts_Route5:: @ 8167FA7 + .incbin "baserom.gba", 0x167FA7, 0xA + +gMapScripts_Route6:: @ 8167FB1 + .incbin "baserom.gba", 0x167FB1, 0xA + +gMapScripts_Route7:: @ 8167FBB + .incbin "baserom.gba", 0x167FBB, 0xA + +gMapScripts_Route8:: @ 8167FC5 + .incbin "baserom.gba", 0x167FC5, 0xA + +gMapScripts_Route9:: @ 8167FCF + .incbin "baserom.gba", 0x167FCF, 0xA + +gMapScripts_Route10:: @ 8167FD9 + .incbin "baserom.gba", 0x167FD9, 0x1D + +gMapScripts_Route11:: @ 8167FF6 + .incbin "baserom.gba", 0x167FF6, 0xA + +gMapScripts_Route12:: @ 8168000 + .incbin "baserom.gba", 0x168000, 0xB5 + +gMapScripts_Route13:: @ 81680B5 + .incbin "baserom.gba", 0x1680B5, 0x1C + +gMapScripts_Route14:: @ 81680D1 + .incbin "baserom.gba", 0x1680D1, 0xA + +gMapScripts_Route15:: @ 81680DB + .incbin "baserom.gba", 0x1680DB, 0xA + +gMapScripts_Route16:: @ 81680E5 + .incbin "baserom.gba", 0x1680E5, 0xDA + +gMapScripts_Route17:: @ 81681BF + .incbin "baserom.gba", 0x1681BF, 0x37 + +gMapScripts_Route18:: @ 81681F6 + .incbin "baserom.gba", 0x1681F6, 0x3B + +gMapScripts_Route19:: @ 8168231 + .incbin "baserom.gba", 0x168231, 0xA + +gMapScripts_Route20:: @ 816823B + .incbin "baserom.gba", 0x16823B, 0x4E + +gMapScripts_Route21_North:: @ 8168289 + .incbin "baserom.gba", 0x168289, 0x1 + +gMapScripts_Route21_South:: @ 816828A + .incbin "baserom.gba", 0x16828A, 0x1 + +gMapScripts_Route22:: @ 816828B + .incbin "baserom.gba", 0x16828B, 0x260 + +gMapScripts_Route23:: @ 81684EB + .incbin "baserom.gba", 0x1684EB, 0x134 + +gMapScripts_Route24:: @ 816861F + .incbin "baserom.gba", 0x16861F, 0x126 + +gMapScripts_Route25:: @ 8168745 + .incbin "baserom.gba", 0x168745, 0x13 + +gMapScripts_OneIsland_KindleRoad:: @ 8168758 + .incbin "baserom.gba", 0x168758, 0x13 + +gMapScripts_OneIsland_TreasureBeach:: @ 816876B + .incbin "baserom.gba", 0x16876B, 0xA + +gMapScripts_TwoIsland_CapeBrink:: @ 8168775 + .incbin "baserom.gba", 0x168775, 0x1 + +gMapScripts_ThreeIsland_BondBridge:: @ 8168776 + .incbin "baserom.gba", 0x168776, 0x13 + +gMapScripts_ThreeIsland_Port:: @ 8168789 + .incbin "baserom.gba", 0x168789, 0x57 + +gMapScripts_UnknownMap_03_50:: @ 81687E0 + .incbin "baserom.gba", 0x1687E0, 0x1 + +gMapScripts_UnknownMap_03_51:: @ 81687E1 + .incbin "baserom.gba", 0x1687E1, 0x1 + +gMapScripts_UnknownMap_03_52:: @ 81687E2 + .incbin "baserom.gba", 0x1687E2, 0x1 + +gMapScripts_UnknownMap_03_53:: @ 81687E3 + .incbin "baserom.gba", 0x1687E3, 0x1 + +gMapScripts_FiveIsland_ResortGorgeous:: @ 81687E4 + .incbin "baserom.gba", 0x1687E4, 0x69 + +gMapScripts_FiveIsland_WaterLabyrinth:: @ 816884D + .incbin "baserom.gba", 0x16884D, 0xE5 + +gMapScripts_FiveIsland_Meadow:: @ 8168932 + .incbin "baserom.gba", 0x168932, 0xA0 + +gMapScripts_FiveIsland_MemorialPillar:: @ 81689D2 + .incbin "baserom.gba", 0x1689D2, 0x143 + +gMapScripts_SixIsland_OutcastIsland:: @ 8168B15 + .incbin "baserom.gba", 0x168B15, 0x18 + +gMapScripts_SixIsland_GreenPath:: @ 8168B2D + .incbin "baserom.gba", 0x168B2D, 0x13 + +gMapScripts_SixIsland_WaterPath:: @ 8168B40 + .incbin "baserom.gba", 0x168B40, 0x13 + +gMapScripts_SixIsland_RuinValley:: @ 8168B53 + .incbin "baserom.gba", 0x168B53, 0x82 + +gMapScripts_SevenIsland_TrainerTower:: @ 8168BD5 + .incbin "baserom.gba", 0x168BD5, 0x1E + +gMapScripts_SevenIsland_SevaultCanyon_Entrance:: @ 8168BF3 + .incbin "baserom.gba", 0x168BF3, 0xA + +gMapScripts_SevenIsland_SevaultCanyon:: @ 8168BFD + .incbin "baserom.gba", 0x168BFD, 0xA + +gMapScripts_SevenIsland_TanobyRuins:: @ 8168C07 + .incbin "baserom.gba", 0x168C07, 0x1 + +gMapScripts_PalletTown_PlayersHouse_1F:: @ 8168C08 + .incbin "baserom.gba", 0x168C08, 0x9B + +gMapScripts_PalletTown_PlayersHouse_2F:: @ 8168CA3 + .incbin "baserom.gba", 0x168CA3, 0x41 gUnknown_8168CE4:: @ 8168CE4 .incbin "baserom.gba", 0x168CE4, 0x33 gUnknown_8168D17:: @ 8168D17 - .incbin "baserom.gba", 0x168D17, 0x3C128 + .incbin "baserom.gba", 0x168D17, 0x10 + +gMapScripts_PalletTown_GarysHouse:: @ 8168D27 + .incbin "baserom.gba", 0x168D27, 0x257 + +gMapScripts_PalletTown_ProfessorOaksLab:: @ 8168F7E + .incbin "baserom.gba", 0x168F7E, 0xF1C + +gMapScripts_ViridianCity_House1:: @ 8169E9A + .incbin "baserom.gba", 0x169E9A, 0x2F + +gMapScripts_ViridianCity_Gym:: @ 8169EC9 + .incbin "baserom.gba", 0x169EC9, 0x1B3 + +gMapScripts_ViridianCity_House2:: @ 816A07C + .incbin "baserom.gba", 0x16A07C, 0x157 + +gMapScripts_ViridianCity_Mart:: @ 816A1D3 + .incbin "baserom.gba", 0x16A1D3, 0xED + +gMapScripts_ViridianCity_PokemonCenter_1F:: @ 816A2C0 + .incbin "baserom.gba", 0x16A2C0, 0x33 + +gMapScripts_ViridianCity_PokemonCenter_2F:: @ 816A2F3 + .incbin "baserom.gba", 0x16A2F3, 0x27 + +gMapScripts_PewterCity_Museum_1F:: @ 816A31A + .incbin "baserom.gba", 0x16A31A, 0x238 + +gMapScripts_PewterCity_Museum_2F:: @ 816A552 + .incbin "baserom.gba", 0x16A552, 0x40 + +gMapScripts_PewterCity_Gym:: @ 816A592 + .incbin "baserom.gba", 0x16A592, 0x13B + +gMapScripts_PewterCity_Mart:: @ 816A6CD + .incbin "baserom.gba", 0x16A6CD, 0x4F + +gMapScripts_PewterCity_House1:: @ 816A71C + .incbin "baserom.gba", 0x16A71C, 0x44 + +gMapScripts_PewterCity_PokemonCenter_1F:: @ 816A760 + .incbin "baserom.gba", 0x16A760, 0x55 + +gMapScripts_PewterCity_PokemonCenter_2F:: @ 816A7B5 + .incbin "baserom.gba", 0x16A7B5, 0x27 + +gMapScripts_PewterCity_House2:: @ 816A7DC + .incbin "baserom.gba", 0x16A7DC, 0x13 + +gMapScripts_CeruleanCity_House1:: @ 816A7EF + .incbin "baserom.gba", 0x16A7EF, 0x186 + +gMapScripts_CeruleanCity_House2:: @ 816A975 + .incbin "baserom.gba", 0x16A975, 0x32 + +gMapScripts_CeruleanCity_House3:: @ 816A9A7 + .incbin "baserom.gba", 0x16A9A7, 0x86 + +gMapScripts_CeruleanCity_PokemonCenter_1F:: @ 816AA2D + .incbin "baserom.gba", 0x16AA2D, 0x4C + +gMapScripts_CeruleanCity_PokemonCenter_2F:: @ 816AA79 + .incbin "baserom.gba", 0x16AA79, 0x27 + +gMapScripts_CeruleanCity_Gym:: @ 816AAA0 + .incbin "baserom.gba", 0x16AAA0, 0x11C + +gMapScripts_CeruleanCity_BikeShop:: @ 816ABBC + .incbin "baserom.gba", 0x16ABBC, 0xE1 + +gMapScripts_CeruleanCity_Mart:: @ 816AC9D + .incbin "baserom.gba", 0x16AC9D, 0x51 + +gMapScripts_CeruleanCity_House4:: @ 816ACEE + .incbin "baserom.gba", 0x16ACEE, 0x161 + +gMapScripts_CeruleanCity_House5:: @ 816AE4F + .incbin "baserom.gba", 0x16AE4F, 0x2A0 + +gMapScripts_LavenderTown_PokemonCenter_1F:: @ 816B0EF + .incbin "baserom.gba", 0x16B0EF, 0x33 + +gMapScripts_LavenderTown_PokemonCenter_2F:: @ 816B122 + .incbin "baserom.gba", 0x16B122, 0x27 + +gMapScripts_LavenderTown_VolunteerPokemonHouse:: @ 816B149 + .incbin "baserom.gba", 0x16B149, 0xE9 + +gMapScripts_LavenderTown_House1:: @ 816B232 + .incbin "baserom.gba", 0x16B232, 0x33 + +gMapScripts_LavenderTown_House2:: @ 816B265 + .incbin "baserom.gba", 0x16B265, 0xEA + +gMapScripts_LavenderTown_Mart:: @ 816B34F + .incbin "baserom.gba", 0x16B34F, 0x57 + +gMapScripts_VermilionCity_House1:: @ 816B3A6 + .incbin "baserom.gba", 0x16B3A6, 0x7E + +gMapScripts_VermilionCity_PokemonCenter_1F:: @ 816B424 + .incbin "baserom.gba", 0x16B424, 0x33 + +gMapScripts_VermilionCity_PokemonCenter_2F:: @ 816B457 + .incbin "baserom.gba", 0x16B457, 0x27 + +gMapScripts_VermilionCity_PokemonFanClub:: @ 816B47E + .incbin "baserom.gba", 0x16B47E, 0x158 + +gMapScripts_VermilionCity_House2:: @ 816B5D6 + .incbin "baserom.gba", 0x16B5D6, 0x7D + +gMapScripts_VermilionCity_Mart:: @ 816B653 + .incbin "baserom.gba", 0x16B653, 0x4B + +gMapScripts_VermilionCity_Gym:: @ 816B69E + .incbin "baserom.gba", 0x16B69E, 0x40B + +gMapScripts_VermilionCity_House3:: @ 816BAA9 + .incbin "baserom.gba", 0x16BAA9, 0x2F + +gMapScripts_CeladonCity_DepartmentStore_1F:: @ 816BAD8 + .incbin "baserom.gba", 0x16BAD8, 0x1C + +gMapScripts_CeladonCity_DepartmentStore_2F:: @ 816BAF4 + .incbin "baserom.gba", 0x16BAF4, 0x90 + +gMapScripts_CeladonCity_DepartmentStore_3F:: @ 816BB84 + .incbin "baserom.gba", 0x16BB84, 0x6A + +gMapScripts_CeladonCity_DepartmentStore_4F:: @ 816BBEE + .incbin "baserom.gba", 0x16BBEE, 0x52 + +gMapScripts_CeladonCity_DepartmentStore_5F:: @ 816BC40 + .incbin "baserom.gba", 0x16BC40, 0x8C + +gMapScripts_CeladonCity_DepartmentStore_Roof:: @ 816BCCC + .incbin "baserom.gba", 0x16BCCC, 0x486 + +gMapScripts_CeladonCity_DepartmentStore_Elevator:: @ 816C152 + .incbin "baserom.gba", 0x16C152, 0x1CE + +gMapScripts_CeladonCity_Condominiums_1F:: @ 816C320 + .incbin "baserom.gba", 0x16C320, 0xB0 + +gMapScripts_CeladonCity_Condominiums_2F:: @ 816C3D0 + .incbin "baserom.gba", 0x16C3D0, 0xA + +gMapScripts_CeladonCity_Condominiums_3F:: @ 816C3DA + .incbin "baserom.gba", 0x16C3DA, 0x7F + +gMapScripts_CeladonCity_Condominiums_Roof:: @ 816C459 + .incbin "baserom.gba", 0x16C459, 0xA + +gMapScripts_CeladonCity_Condominiums_RoofRoom:: @ 816C463 + .incbin "baserom.gba", 0x16C463, 0x189 + +gMapScripts_CeladonCity_PokemonCenter_1F:: @ 816C5EC + .incbin "baserom.gba", 0x16C5EC, 0x33 + +gMapScripts_CeladonCity_PokemonCenter_2F:: @ 816C61F + .incbin "baserom.gba", 0x16C61F, 0x27 + +gMapScripts_CeladonCity_GameCorner:: @ 816C646 + .incbin "baserom.gba", 0x16C646, 0x52F + +gMapScripts_CeladonCity_GameCorner_PrizeRoom:: @ 816CB75 + .incbin "baserom.gba", 0x16CB75, 0x4EB + +gMapScripts_CeladonCity_Gym:: @ 816D060 + .incbin "baserom.gba", 0x16D060, 0x18A + +gMapScripts_CeladonCity_Restaurant:: @ 816D1EA + .incbin "baserom.gba", 0x16D1EA, 0x7D + +gMapScripts_CeladonCity_House1:: @ 816D267 + .incbin "baserom.gba", 0x16D267, 0x1C + +gMapScripts_CeladonCity_Hotel:: @ 816D283 + .incbin "baserom.gba", 0x16D283, 0x25 + +gMapScripts_FuchsiaCity_SafariZone_Entrance:: @ 816D2A8 + .incbin "baserom.gba", 0x16D2A8, 0x238 + +gMapScripts_FuchsiaCity_Mart:: @ 816D4E0 + .incbin "baserom.gba", 0x16D4E0, 0x48 + +gMapScripts_FuchsiaCity_ZooBuilding:: @ 816D528 + .incbin "baserom.gba", 0x16D528, 0x25 + +gMapScripts_FuchsiaCity_Gym:: @ 816D54D + .incbin "baserom.gba", 0x16D54D, 0x178 + +gMapScripts_FuchsiaCity_House1:: @ 816D6C5 + .incbin "baserom.gba", 0x16D6C5, 0x2C + +gMapScripts_FuchsiaCity_PokemonCenter_1F:: @ 816D6F1 + .incbin "baserom.gba", 0x16D6F1, 0x33 + +gMapScripts_FuchsiaCity_PokemonCenter_2F:: @ 816D724 + .incbin "baserom.gba", 0x16D724, 0x27 + +gMapScripts_FuchsiaCity_Building1:: @ 816D74B + .incbin "baserom.gba", 0x16D74B, 0xCB + +gMapScripts_FuchsiaCity_House2:: @ 816D816 + .incbin "baserom.gba", 0x16D816, 0x7E + +gMapScripts_FuchsiaCity_House3:: @ 816D894 + .incbin "baserom.gba", 0x16D894, 0xB7 + +gMapScripts_CinnabarIsland_Gym:: @ 816D94B + .incbin "baserom.gba", 0x16D94B, 0x928 + +gMapScripts_CinnabarIsland_PokemonLab_Entrance:: @ 816E273 + .incbin "baserom.gba", 0x16E273, 0x45 + +gMapScripts_CinnabarIsland_PokemonLab_Lounge:: @ 816E2B8 + .incbin "baserom.gba", 0x16E2B8, 0x126 + +gMapScripts_CinnabarIsland_PokemonLab_ResearchRoom:: @ 816E3DE + .incbin "baserom.gba", 0x16E3DE, 0x22 + +gMapScripts_CinnabarIsland_PokemonLab_ExperimentRoom:: @ 816E400 + .incbin "baserom.gba", 0x16E400, 0x4D7 + +gMapScripts_CinnabarIsland_PokemonCenter_1F:: @ 816E8D7 + .incbin "baserom.gba", 0x16E8D7, 0x111 + +gMapScripts_CinnabarIsland_PokemonCenter_2F:: @ 816E9E8 + .incbin "baserom.gba", 0x16E9E8, 0x27 + +gMapScripts_CinnabarIsland_Mart:: @ 816EA0F + .incbin "baserom.gba", 0x16EA0F, 0x4B + +gMapScripts_IndigoPlateau_PokemonCenter_1F:: @ 816EA5A + .incbin "baserom.gba", 0x16EA5A, 0xB5 + +gMapScripts_IndigoPlateau_PokemonCenter_2F:: @ 816EB0F + .incbin "baserom.gba", 0x16EB0F, 0x27 + +gMapScripts_SaffronCity_House1_1F:: @ 816EB36 + .incbin "baserom.gba", 0x16EB36, 0x26 + +gMapScripts_SaffronCity_House1_2F:: @ 816EB5C + .incbin "baserom.gba", 0x16EB5C, 0x7F + +gMapScripts_SaffronCity_Dojo:: @ 816EBDB + .incbin "baserom.gba", 0x16EBDB, 0x1FC + +gMapScripts_SaffronCity_Gym:: @ 816EDD7 + .incbin "baserom.gba", 0x16EDD7, 0x19C + +gMapScripts_SaffronCity_House2:: @ 816EF73 + .incbin "baserom.gba", 0x16EF73, 0x2F + +gMapScripts_SaffronCity_Mart:: @ 816EFA2 + .incbin "baserom.gba", 0x16EFA2, 0x4A + +gMapScripts_SaffronCity_PokemonCenter_1F:: @ 816EFEC + .incbin "baserom.gba", 0x16EFEC, 0x4B + +gMapScripts_SaffronCity_PokemonCenter_2F:: @ 816F037 + .incbin "baserom.gba", 0x16F037, 0x27 + +gMapScripts_SaffronCity_House3:: @ 816F05E + .incbin "baserom.gba", 0x16F05E, 0x61 + +gMapScripts_SaffronCity_PokemonTrainerFanClub:: @ 816F0BF + .incbin "baserom.gba", 0x16F0BF, 0x526 + +gMapScripts_Route2_ViridianForest_SouthEntrance:: @ 816F5E5 + .incbin "baserom.gba", 0x16F5E5, 0x13 + +gMapScripts_Route2_House:: @ 816F5F8 + .incbin "baserom.gba", 0x16F5F8, 0x86 + +gMapScripts_Route2_EastBuilding:: @ 816F67E + .incbin "baserom.gba", 0x16F67E, 0x9F + +gMapScripts_Route2_ViridianForest_NorthEntrance:: @ 816F71D + .incbin "baserom.gba", 0x16F71D, 0x1C + +gMapScripts_Route4_PokemonCenter_1F:: @ 816F739 + .incbin "baserom.gba", 0x16F739, 0x19F + +gMapScripts_Route4_PokemonCenter_2F:: @ 816F8D8 + .incbin "baserom.gba", 0x16F8D8, 0x27 + +gMapScripts_Route5_PokemonDayCare:: @ 816F8FF + .incbin "baserom.gba", 0x16F8FF, 0x1 + +gMapScripts_Route5_SouthEntrance:: @ 816F900 + .incbin "baserom.gba", 0x16F900, 0xC6 + +gMapScripts_Route6_NorthEntrance:: @ 816F9C6 + .incbin "baserom.gba", 0x16F9C6, 0xC6 + +gMapScripts_UnknownMap_18_01:: @ 816FA8C + .incbin "baserom.gba", 0x16FA8C, 0x1 + +gMapScripts_Route7_EastEntrance:: @ 816FA8D + .incbin "baserom.gba", 0x16FA8D, 0xC6 + +gMapScripts_Route8_WestEntrance:: @ 816FB53 + .incbin "baserom.gba", 0x16FB53, 0xDC + +gMapScripts_Route10_PokemonCenter_1F:: @ 816FC2F + .incbin "baserom.gba", 0x16FC2F, 0xCB + +gMapScripts_Route10_PokemonCenter_2F:: @ 816FCFA + .incbin "baserom.gba", 0x16FCFA, 0x27 + +gMapScripts_Route11_EastEntrance_1F:: @ 816FD21 + .incbin "baserom.gba", 0x16FD21, 0x13 + +gMapScripts_Route11_EastEntrance_2F:: @ 816FD34 + .incbin "baserom.gba", 0x16FD34, 0x139 + +gMapScripts_Route12_NorthEntrance_1F:: @ 816FE6D + .incbin "baserom.gba", 0x16FE6D, 0xA + +gMapScripts_Route12_NorthEntrance_2F:: @ 816FE77 + .incbin "baserom.gba", 0x16FE77, 0x94 + +gMapScripts_Route12_FishingHouse:: @ 816FF0B + .incbin "baserom.gba", 0x16FF0B, 0x17D + +gMapScripts_Route15_WestEntrance_1F:: @ 8170088 + .incbin "baserom.gba", 0x170088, 0xA + +gMapScripts_Route15_WestEntrance_2F:: @ 8170092 + .incbin "baserom.gba", 0x170092, 0xBC + +gMapScripts_Route16_House:: @ 817014E + .incbin "baserom.gba", 0x17014E, 0x74 + +gMapScripts_Route16_NorthEntrance_1F:: @ 81701C2 + .incbin "baserom.gba", 0x1701C2, 0xFC + +gMapScripts_Route16_NorthEntrance_2F:: @ 81702BE + .incbin "baserom.gba", 0x1702BE, 0xBA + +gMapScripts_Route18_EastEntrance_1F:: @ 8170378 + .incbin "baserom.gba", 0x170378, 0xF3 + +gMapScripts_Route18_EastEntrance_2F:: @ 817046B + .incbin "baserom.gba", 0x17046B, 0x8F + +gMapScripts_UnusedHouse_27_00:: @ 81704FA + .incbin "baserom.gba", 0x1704FA, 0x1 + +gMapScripts_Route22_NorthEntrance:: @ 81704FB + .incbin "baserom.gba", 0x1704FB, 0x27 + +gMapScripts_UnusedHouse_29_00:: @ 8170522 + .incbin "baserom.gba", 0x170522, 0x1 + +gMapScripts_Route25_SeaCottage:: @ 8170523 + .incbin "baserom.gba", 0x170523, 0x367 + +gMapScripts_SevenIsland_House_Room1:: @ 817088A + .incbin "baserom.gba", 0x17088A, 0x1F4 + +gMapScripts_SevenIsland_House_Room2:: @ 8170A7E + .incbin "baserom.gba", 0x170A7E, 0xB2 + +gMapScripts_SevenIsland_Mart:: @ 8170B30 + .incbin "baserom.gba", 0x170B30, 0x59 + +gMapScripts_SevenIsland_PokemonCenter_1F:: @ 8170B89 + .incbin "baserom.gba", 0x170B89, 0x33 + +gMapScripts_SevenIsland_PokemonCenter_2F:: @ 8170BBC + .incbin "baserom.gba", 0x170BBC, 0x27 + +gMapScripts_UnusedHouse_31_05:: @ 8170BE3 + .incbin "baserom.gba", 0x170BE3, 0x1 + +gMapScripts_SevenIsland_Harbor:: @ 8170BE4 + .incbin "baserom.gba", 0x170BE4, 0x14 + +gMapScripts_OneIsland_PokemonCenter_1F:: @ 8170BF8 + .incbin "baserom.gba", 0x170BF8, 0x73C + +gMapScripts_OneIsland_PokemonCenter_2F:: @ 8171334 + .incbin "baserom.gba", 0x171334, 0x27 + +gMapScripts_OneIsland_House1:: @ 817135B + .incbin "baserom.gba", 0x17135B, 0x13 + +gMapScripts_OneIsland_House2:: @ 817136E + .incbin "baserom.gba", 0x17136E, 0xA + +gMapScripts_OneIsland_Harbor:: @ 8171378 + .incbin "baserom.gba", 0x171378, 0x58 + +gMapScripts_TwoIsland_JoyfulGameCorner:: @ 81713D0 + .incbin "baserom.gba", 0x1713D0, 0x248 + +gMapScripts_TwoIsland_House:: @ 8171618 + .incbin "baserom.gba", 0x171618, 0x19C + +gMapScripts_TwoIsland_PokemonCenter_1F:: @ 81717B4 + .incbin "baserom.gba", 0x1717B4, 0x2A + +gMapScripts_TwoIsland_PokemonCenter_2F:: @ 81717DE + .incbin "baserom.gba", 0x1717DE, 0x27 + +gMapScripts_TwoIsland_Harbor:: @ 8171805 + .incbin "baserom.gba", 0x171805, 0x14 + +gMapScripts_ThreeIsland_House1:: @ 8171819 + .incbin "baserom.gba", 0x171819, 0x19 + +gMapScripts_ThreeIsland_PokemonCenter_1F:: @ 8171832 + .incbin "baserom.gba", 0x171832, 0x33 + +gMapScripts_ThreeIsland_PokemonCenter_2F:: @ 8171865 + .incbin "baserom.gba", 0x171865, 0x27 + +gMapScripts_ThreeIsland_Mart:: @ 817188C + .incbin "baserom.gba", 0x17188C, 0x53 + +gMapScripts_ThreeIsland_House2:: @ 81718DF + .incbin "baserom.gba", 0x1718DF, 0x23 + +gMapScripts_ThreeIsland_House3:: @ 8171902 + .incbin "baserom.gba", 0x171902, 0xA + +gMapScripts_ThreeIsland_House4:: @ 817190C + .incbin "baserom.gba", 0x17190C, 0x13 + +gMapScripts_ThreeIsland_House5:: @ 817191F + .incbin "baserom.gba", 0x17191F, 0x20 + +gMapScripts_FourIsland_PokemonDayCare:: @ 817193F + .incbin "baserom.gba", 0x17193F, 0x2AB + +gMapScripts_FourIsland_PokemonCenter_1F:: @ 8171BEA + .incbin "baserom.gba", 0x171BEA, 0x33 + +gMapScripts_FourIsland_PokemonCenter_2F:: @ 8171C1D + .incbin "baserom.gba", 0x171C1D, 0x27 + +gMapScripts_FourIsland_House1:: @ 8171C44 + .incbin "baserom.gba", 0x171C44, 0xA + +gMapScripts_FourIsland_LoreleisHouse:: @ 8171C4E + .incbin "baserom.gba", 0x171C4E, 0x4A + +gMapScripts_FourIsland_Harbor:: @ 8171C98 + .incbin "baserom.gba", 0x171C98, 0x14 + +gMapScripts_FourIsland_House2:: @ 8171CAC + .incbin "baserom.gba", 0x171CAC, 0x1 + +gMapScripts_FourIsland_Mart:: @ 8171CAD + .incbin "baserom.gba", 0x171CAD, 0x44 + +gMapScripts_FiveIsland_PokemonCenter_1F:: @ 8171CF1 + .incbin "baserom.gba", 0x171CF1, 0x2A + +gMapScripts_FiveIsland_PokemonCenter_2F:: @ 8171D1B + .incbin "baserom.gba", 0x171D1B, 0x27 + +gMapScripts_FiveIsland_Harbor:: @ 8171D42 + .incbin "baserom.gba", 0x171D42, 0x14 + +gMapScripts_FiveIsland_House1:: @ 8171D56 + .incbin "baserom.gba", 0x171D56, 0xA + +gMapScripts_FiveIsland_House2:: @ 8171D60 + .incbin "baserom.gba", 0x171D60, 0xA + +gMapScripts_SixIsland_PokemonCenter_1F:: @ 8171D6A + .incbin "baserom.gba", 0x171D6A, 0xB6 + +gMapScripts_SixIsland_PokemonCenter_2F:: @ 8171E20 + .incbin "baserom.gba", 0x171E20, 0x27 + +gMapScripts_SixIsland_Harbor:: @ 8171E47 + .incbin "baserom.gba", 0x171E47, 0x14 + +gMapScripts_SixIsland_House:: @ 8171E5B + .incbin "baserom.gba", 0x171E5B, 0xA + +gMapScripts_SixIsland_Mart:: @ 8171E65 + .incbin "baserom.gba", 0x171E65, 0x44 + +gMapScripts_ThreeIsland_Harbor:: @ 8171EA9 + .incbin "baserom.gba", 0x171EA9, 0x14 + +gMapScripts_FiveIsland_ResortGorgeous_House:: @ 8171EBD + .incbin "baserom.gba", 0x171EBD, 0x1AE + +gMapScripts_TwoIsland_CapeBrink_House:: @ 817206B + .incbin "baserom.gba", 0x17206B, 0x1 + +gMapScripts_SixIsland_WaterPath_House1:: @ 817206C + .incbin "baserom.gba", 0x17206C, 0x10C + +gMapScripts_SixIsland_WaterPath_House2:: @ 8172178 + .incbin "baserom.gba", 0x172178, 0xA + +gMapScripts_SevenIsland_SevaultCanyon_House:: @ 8172182 + .incbin "baserom.gba", 0x172182, 0x32CBD gStdScript_81A4E3F:: .incbin "baserom.gba", 0x1A4E3F, 0xB @@ -428,50 +1700,369 @@ gUnknown_81C5647:: @ 81C5647 gUnknown_81C566A:: @ 81C566A .incbin "baserom.gba", 0x1C566A, 0xE5 -gUnknown_81C574F:: @ 81C574F - .incbin "baserom.gba", 0x1C574F, 0xDE +gOtherText_NewName:: @ 81C574F + .string "NEW NAME$" + +gNameChoice_Green:: @ 81C5758 + .string "GREEN$" + +gNameChoice_Red:: @ 81C575E + .string "RED$" + +gNameChoice_Leaf:: @ 81C5762 + .string "LEAF$" + +gNameChoice_Fire:: @ 81C5767 + .string "FIRE$" + +gNameChoice_Gary:: @ 81C576C + .string "GARY$" + +gNameChoice_Kaz:: @ 81C5771 + .string "KAZ$" + +gNameChoice_Toru:: @ 81C5775 + .string "TORU$" + +gNameChoice_Ash:: @ 81C577A + .string "ASH$" + +gNameChoice_Kene:: @ 81C577E + .string "KENE$" + +gNameChoice_Geki:: @ 81C5783 + .string "GEKI$" + +gNameChoice_Jak:: @ 81C5788 + .string "JAK$" + +gNameChoice_Janne:: @ 81C578C + .string "JANNE$" + +gNameChoice_Jonn:: @ 81C5792 + .string "JONN$" + +gNameChoice_Kamon:: @ 81C5797 + .string "KAMON$" + +gNameChoice_Karl:: @ 81C579D + .string "KARL$" + +gNameChoice_Taylor:: @ 81C57A2 + .string "TAYLOR$" + +gNameChoice_Oscar:: @ 81C57A9 + .string "OSCAR$" + +gNameChoice_Hiro:: @ 81C57AF + .string "HIRO$" + +gNameChoice_Max:: @ 81C57B4 + .string "MAX$" + +gNameChoice_Jon:: @ 81C57B8 + .string "JON$" + +gNameChoice_Ralph:: @ 81C57BC + .string "RALPH$" + +gNameChoice_Kay:: @ 81C57C2 + .string "KAY$" + +gNameChoice_Tosh:: @ 81C57C6 + .string "TOSH$" + +gNameChoice_Roak:: @ 81C57CB + .string "ROAK$" + +gNameChoice_Omi:: @ 81C57D0 + .string "OMI$" + +gNameChoice_Jodi:: @ 81C57D4 + .string "JODI$" + +gNameChoice_Amanda:: @ 81C57D9 + .string "AMANDA$" + +gNameChoice_Hillary:: @ 81C57E0 + .string "HILLARY$" + +gNameChoice_Makey:: @ 81C57E8 + .string "MAKEY$" + +gNameChoice_Michi:: @ 81C57EE + .string "MICHI$" + +gNameChoice_Paula:: @ 81C57F4 + .string "PAULA$" + +gNameChoice_June:: @ 81C57FA + .string "JUNE$" + +gNameChoice_Cassie:: @ 81C57FF + .string "CASSIE$" + +gNameChoice_Rey:: @ 81C5806 + .string "REY$" + +gNameChoice_Seda:: @ 81C580A + .string "SEDA$" + +gNameChoice_Kiko:: @ 81C580F + .string "KIKO$" + +gNameChoice_Mina:: @ 81C5814 + .string "MINA$" + +gNameChoice_Norie:: @ 81C5819 + .string "NORIE$" + +gNameChoice_Sai:: @ 81C581F + .string "SAI$" -gUnknown_81C582D:: @ 81C582D - .incbin "baserom.gba", 0x1C582D, 0x1A8 +gNameChoice_Momo:: @ 81C5823 + .string "MOMO$" -gUnknown_81C59D5:: @ 81C59D5 - .incbin "baserom.gba", 0x1C59D5, 0x2A3 +gNameChoice_Suzi:: @ 81C5828 + .string "SUZI$" -gUnknown_81C5C78:: @ 81C5C78 - .incbin "baserom.gba", 0x1C5C78, 0x8E +gNewGame_HelpDocs1:: @ 81C582D + .string "The various buttons will be explained in\n" + .string "the order of their importance.$" -gUnknown_81C5D06:: @ 81C5D06 - .incbin "baserom.gba", 0x1C5D06, 0xC +gNewGame_HelpDocs2:: @ 81C5875 + .string "Moves the main character.\n" + .string "Also used to choose various data\n" + .string "headings.$" -gUnknown_81C5D12:: @ 81C5D12 - .incbin "baserom.gba", 0x1C5D12, 0x39 +gNewGame_HelpDocs3:: @ 81C58BA + .string "Used to confirm a choice, check\n" + .string "things, chat, and scroll text.$" -gUnknown_81C5D4B:: @ 81C5D4B - .incbin "baserom.gba", 0x1C5D4B, 0x72 +gNewGame_HelpDocs4:: @ 81C58F9 + .string "Used to exit, cancel a choice,\n" + .string "and cancel a mode.$" -gUnknown_81C5DBD:: @ 81C5DBD - .incbin "baserom.gba", 0x1C5DBD, 0x2D +gNewGame_HelpDocs5:: @ 81C592B + .string "Press this button to open the\n" + .string "MENU.$" -gUnknown_81C5DEA:: @ 81C5DEA - .incbin "baserom.gba", 0x1C5DEA, 0x29 +gNewGame_HelpDocs6:: @ 81C594F + .string "Used to shift items and to use\n" + .string "a registered item.$" -gUnknown_81C5E13:: @ 81C5E13 - .incbin "baserom.gba", 0x1C5E13, 0x1B +gNewGame_HelpDocs7:: @ 81C5981 + .string "If you need help playing the\n" + .string "game, or on how to do things,\n" + .string "press the L or R Button.$" -gUnknown_81C5E2E:: @ 81C5E2E - .incbin "baserom.gba", 0x1C5E2E, 0x63 +gOakText_AskPlayerGender:: @ 81C59D5 + .string "Now tell me. Are you a boy?\n" + .string "Or are you a girl?$" -gUnknown_81C5E91:: @ 81C5E91 - .incbin "baserom.gba", 0x1C5E91, 0x24 +gNewGameAdventureIntro1:: + .string "In the world which you are about to\n" + .string "enter, you will embark on a grand\n" + .string "adventure with you as the hero.\n" + .string "\n" + .string "Speak to people and check things\n" + .string "wherever you go, be it towns, roads,\n" + .string "or caves. Gather information and\n" + .string "hints from every source.$" -gUnknown_81C5EB5:: @ 81C5EB5 - .incbin "baserom.gba", 0x1C5EB5, 0x10 +gNewGameAdventureIntro2:: + .string "New paths will open to you by helping\n" + .string "people in need, overcoming challenges,\n" + .string "and solving mysteries.\n" + .string "\n" + .string "At times, you will be challenged by\n" + .string "others and attacked by wild creatures.\n" + .string "Be brave and keep pushing on.$" -gUnknown_81C5EC5:: @ 81C5EC5 - .incbin "baserom.gba", 0x1C5EC5, 0x2F +gNewGameAdventureIntro3:: + .string "Through your adventure, we hope\n" + .string "that you will interact with all sorts\n" + .string "of people and achieve personal growth.\n" + .string "That is our biggest objective.\n" + .string "\n" + .string "Press the A Button, and let your\n" + .string "adventure begin!$" + +gOakText_WelcomeToTheWorld:: @ 81C5C78 + .string "Hello, there!\n" + .string "Glad to meet you!\pWelcome to the world of POKéMON!\pMy name is OAK.\pPeople affectionately refer to me\n" + .string "as the POKéMON PROFESSOR.\p$" -gUnknown_81C5EF4:: @ 81C5EF4 - .incbin "baserom.gba", 0x1C5EF4, 0x75 +gOakText_WorldInhabited1:: @ 81C5D06 + .string "This world…$" + +gOakText_WorldInhabited2:: @ 81C5D12 + .string "…is inhabited far and wide by\n" + .string "creatures called POKéMON.\p$" + +gOakText_PetsBattlingStudy:: @ 81C5D4B + .string "For some people, POKéMON are pets.\n" + .string "Others use them for battling.\pAs for myself…\pI study POKéMON as a profession.\p$" + +gOakText_TellMeALittleAboutYourself:: @ 81C5DBD + .string "But first, tell me a little about\n" + .string "yourself.\p$" + +gOakText_AskPlayerName:: @ 81C5DEA + .string "Let’s begin with your name.\n" + .string "What is it?\p$" + +gOakText_FinalizePlayerName:: @ 81C5E13 + .string "Right…\n" + .string "So your name is {PLAYER}.$" + +gOakText_IntroduceRival:: @ 81C5E2E + .string "This is my grandson.\pHe’s been your rival since you both\n" + .string "were babies.\p…Erm, what was his name now?$" + +gOakText_AskRivalName:: @ 81C5E91 + .string "Your rival’s name, what was it now?$" + +gOakText_ConfirmRivalName:: @ 81C5EB5 + .string "…Er, was it {RIVAL}?$" + +gOakText_RememberRivalName:: @ 81C5EC5 + .string "That’s right! I remember now!\n" + .string "His name is {RIVAL}!\p$" + +gOakText_LegendAboutToUnfold:: @ 81C5EF4 + .string "{PLAYER}!\pYour very own POKéMON legend is\n" + .string "about to unfold!\pA world of dreams and adventures\n" + .string "with POKéMON awaits! Let’s go!$" @ pokedude data - .incbin "baserom.gba", 0x1C5F69, 0x983 +gUnknown_81C5F69:: + .string "POKé DUDE: The speedier of the\n" + .string "battlers gets to attack first.$" + +gUnknown_81C5FA7:: + .string "It looks like my RATTATA was\n" + .string "faster than the PIDGEY.$" + +gUnknown_81C5FDC:: + .string "The battlers take turns attacking\n" + .string "and reducing each other’s HP.$" + +gUnknown_81C601C:: + .string "My RATTATA reduced the foe’s HP\n" + .string "to zero, so it wins!\p" + .string "The POKéMON that took part in the\n" + .string "battle get EXP. Points.\p" + .string "When a POKéMON collects enough\n" + .string "EXP. Points, it levels up.\p" + .string "Leveling up makes your POKéMON\n" + .string "stronger than before.$" + +gUnknown_81C60FA:: + .string "POKé DUDE: Uh-oh…\n" + .string "My RATTATA has been poisoned…\p" + .string "If a POKéMON is poisoned, it loses\n" + .string "HP steadily.$" + +gUnknown_81C615A:: + .string "If a POKéMON develops a status\n" + .string "problem, heal it right away.$" + +gUnknown_81C6196:: + .string "Using an item on a POKéMON uses\n" + .string "up one turn, though.\p" + .string "Now, it’s the opponent’s turn!$" + +gUnknown_81C61EA:: + .string "Yay!\n" + .string "We managed to win!$" + +gUnknown_81C6202:: + .string "POKé DUDE: The move BUBBLE is\n" + .string "a WATER-type attack.\p" + .string "The targeted ODDISH is a\n" + .string "GRASS/POISON-type POKéMON.\p" + .string "The WATER-type attack is absorbed\n" + .string "by the GRASS-type POKéMON…\p" + .string "As a result, the move becomes not\n" + .string "very effective, and inflicts only\l" + .string "half the usual damage.$" + +gUnknown_81C6301:: + .string "Uh-oh, this is not good!\p" + .string "The ABSORB attack you just saw\n" + .string "is a GRASS-type move.\p" + .string "POLIWAG is a WATER-type POKéMON.\p" + .string "So, ABSORB becomes super\n" + .string "effective, doubling the damage.$" + +gUnknown_81C63A9:: + .string "It’s not going to be easy to win\n" + .string "with this matchup…\p" + .string "Let’s try shifting POKéMON!$" + +gUnknown_81C63F9:: + .string "Shifting POKéMON in and out uses\n" + .string "up one turn.\p" + .string "Now, it’s the opponent’s turn.$" + +gUnknown_81C6446:: + .string "BUTTERFREE is a BUG/FLYING-type\n" + .string "POKéMON.\p" + .string "Against this POKéMON, a GRASS-\n" + .string "type attack…\p" + .string "…inflicts only half the usual\n" + .string "damage on a BUG-type POKéMON…\p" + .string "…And, it also causes only half the\n" + .string "damage on a FLYING-type POKéMON.\p" + .string "Therefore, BUTTERFREE, being a\n" + .string "BUG/FLYING POKéMON, only takes\l" + .string "one quarter of the usual damage.$" + +gUnknown_81C657A:: + .string "ODDISH is a GRASS/POISON-type\n" + .string "POKéMON.\p" + .string "A FLYING- or PSYCHIC-type attack\n" + .string "is super effective against it.\p" + .string "One of those types of attacks will\n" + .string "inflict double the usual damage.\p" + .string "Okay, here we go!$" + +gUnknown_81C6637:: + .string "Yeah!\n" + .string "We won!$" + +gUnknown_81C6645:: + .string "POKé DUDE: When you’re trying to\n" + .string "catch a POKéMON, don’t throw any\l" + .string "POKé BALLS right away.\p" + .string "First, you need to weaken it by\n" + .string "reducing its HP.$" + +gUnknown_81C66CF:: + .string "Okay, that should be good enough.\p" + .string "But, if it’s possible, it would be\n" + .string "best if the target has a status\l" + .string "problem.\p" + .string "For instance, it would be easier\n" + .string "to catch if it were asleep or\l" + .string "paralyzed.$" + +gUnknown_81C6787:: + .string "This will make the POKéMON a lot\n" + .string "easier to catch!\p" + .string "Oh, yes. If you paralyze a\n" + .string "POKéMON, you can’t make it fall\l" + .string "asleep on top of paralysis.\p" + .string "In other words, you can’t double\n" + .string "up status problems, okay?$" + +gUnknown_81C684B:: + .string "Okay!\n" + .string "Let me throw my POKé BALL!$" + +gUnknown_81C686C:: + .string "Before you throw a POKé BALL,\n" + .string "consider the condition and the\l" + .string "type of POKéMON, and pick the kind\l" + .string "of BALL that would work best.$" diff --git a/data/field_door.s b/data/field_door.s new file mode 100644 index 000000000..a29cf3e24 --- /dev/null +++ b/data/field_door.s @@ -0,0 +1,17 @@ + .section .rodata + + .align 2 +gUnknown_835B488:: @ 835B488 + .incbin "baserom.gba", 0x35B488, 0x14 + +gUnknown_835B49C:: @ 835B49C + .incbin "baserom.gba", 0x35B49C, 0x14 + +gUnknown_835B4B0:: @ 835B4B0 + .incbin "baserom.gba", 0x35B4B0, 0x14 + +gUnknown_835B4C4:: @ 835B4C4 + .incbin "baserom.gba", 0x35B4C4, 0x114 + +gUnknown_835B5D8:: @ 835B5D8 + .incbin "baserom.gba", 0x35B5D8, 0x18C diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s new file mode 100644 index 000000000..7979c7522 --- /dev/null +++ b/data/field_ground_effect.s @@ -0,0 +1,34 @@ + .section .rodata + .align 2 +gUnknown_83A7024:: @ 83A7024 + .incbin "baserom.gba", 0x3A7024, 0x8 + +gUnknown_83A702C:: @ 83A702C + .incbin "baserom.gba", 0x3A702C, 0x18 + +gUnknown_83A7044:: @ 83A7044 + .incbin "baserom.gba", 0x3A7044, 0x18 + +gUnknown_83A705C:: @ 83A705C + .incbin "baserom.gba", 0x3A705C, 0x10 + +gUnknown_83A706C:: @ 83A706C + .incbin "baserom.gba", 0x3A706C, 0x10 + +gUnknown_83A707C:: @ 83A707C + .incbin "baserom.gba", 0x3A707C, 0x10 + +gUnknown_83A708C:: @ 83A708C + .incbin "baserom.gba", 0x3A708C, 0x10 + +gUnknown_83A709C:: @ 83A709C + .incbin "baserom.gba", 0x3A709C, 0xC + +gUnknown_83A70A8:: @ 83A70A8 + .incbin "baserom.gba", 0x3A70A8, 0x4 + +gUnknown_83A70AC:: @ 83A70AC + .incbin "baserom.gba", 0x3A70AC, 0x10 + +gUnknown_83A70BC:: @ 83A70BC + .incbin "baserom.gba", 0x3A70BC, 0xE0 diff --git a/data/field_map_obj.s b/data/field_map_obj.s new file mode 100644 index 000000000..d12de7aa9 --- /dev/null +++ b/data/field_map_obj.s @@ -0,0 +1,508 @@ + .section .rodata + .align 2 +gUnknown_835B934:: @ 835B934 + .incbin "baserom.gba", 0x35B934, 0x10 + +gUnknown_835B944:: @ 835B944 + .incbin "baserom.gba", 0x35B944, 0x18 + +gUnknown_835B95C:: @ 835B95C + .incbin "baserom.gba", 0x35B95C, 0x3DA2C + +gUnknown_8399388:: @ 8399388 + .incbin "baserom.gba", 0x399388, 0x908 + +gUnknown_8399C90:: @ 8399C90 + .incbin "baserom.gba", 0x399C90, 0x5F38 + +gUnknown_839FBC8:: @ 839FBC8 + .incbin "baserom.gba", 0x39FBC8, 0x144 + +gUnknown_839FD0C:: @ 839FD0C + .incbin "baserom.gba", 0x39FD0C, 0x51 + +gUnknown_839FD5D:: @ 839FD5D + .incbin "baserom.gba", 0x39FD5D, 0x53 + +gUnknown_839FDB0:: @ 839FDB0 + .incbin "baserom.gba", 0x39FDB0, 0x260 + +gUnknown_83A0010:: @ 83A0010 + .incbin "baserom.gba", 0x3A0010, 0x3688 + +gUnknown_83A3698:: @ 83A3698 + .incbin "baserom.gba", 0x3A3698, 0x1AC0 + +gUnknown_83A5158:: @ 83A5158 + .incbin "baserom.gba", 0x3A5158, 0xB0 + +gUnknown_83A5208:: @ 83A5208 + .incbin "baserom.gba", 0x3A5208, 0x70 + +gUnknown_83A5278:: @ 83A5278 + .incbin "baserom.gba", 0x3A5278, 0xB8 + +gUnknown_83A5330:: @ 83A5330 + .incbin "baserom.gba", 0x3A5330, 0x18 + +gUnknown_83A5348:: @ 83A5348 + .incbin "baserom.gba", 0x3A5348, 0xCB8 + +gUnknown_83A6000:: @ 83A6000 + .incbin "baserom.gba", 0x3A6000, 0x10 + +gUnknown_83A6010:: @ 83A6010 + .incbin "baserom.gba", 0x3A6010, 0x8 + +gUnknown_83A6018:: @ 83A6018 + .incbin "baserom.gba", 0x3A6018, 0x1C + +gUnknown_83A6034:: @ 83A6034 + .incbin "baserom.gba", 0x3A6034, 0x1C + +gUnknown_83A6050:: @ 83A6050 + .incbin "baserom.gba", 0x3A6050, 0x4 + +gUnknown_83A6054:: @ 83A6054 + .incbin "baserom.gba", 0x3A6054, 0x2C + +gUnknown_83A6080:: @ 83A6080 + .incbin "baserom.gba", 0x3A6080, 0x14 + +gUnknown_83A6094:: @ 83A6094 + .incbin "baserom.gba", 0x3A6094, 0x1C + +gUnknown_83A60B0:: @ 83A60B0 + .incbin "baserom.gba", 0x3A60B0, 0x4 + +gUnknown_83A60B4:: @ 83A60B4 + .incbin "baserom.gba", 0x3A60B4, 0x1C + +gUnknown_83A60D0:: @ 83A60D0 + .incbin "baserom.gba", 0x3A60D0, 0x4 + +gUnknown_83A60D4:: @ 83A60D4 + .incbin "baserom.gba", 0x3A60D4, 0xC + +gUnknown_83A60E0:: @ 83A60E0 + .incbin "baserom.gba", 0x3A60E0, 0x14 + +gUnknown_83A60F4:: @ 83A60F4 + .incbin "baserom.gba", 0x3A60F4, 0x14 + +gUnknown_83A6108:: @ 83A6108 + .incbin "baserom.gba", 0x3A6108, 0x14 + +gUnknown_83A611C:: @ 83A611C + .incbin "baserom.gba", 0x3A611C, 0x4 + +gUnknown_83A6120:: @ 83A6120 + .incbin "baserom.gba", 0x3A6120, 0x14 + +gUnknown_83A6134:: @ 83A6134 + .incbin "baserom.gba", 0x3A6134, 0x4 + +gUnknown_83A6138:: @ 83A6138 + .incbin "baserom.gba", 0x3A6138, 0x14 + +gUnknown_83A614C:: @ 83A614C + .incbin "baserom.gba", 0x3A614C, 0x4 + +gUnknown_83A6150:: @ 83A6150 + .incbin "baserom.gba", 0x3A6150, 0x14 + +gUnknown_83A6164:: @ 83A6164 + .incbin "baserom.gba", 0x3A6164, 0x4 + +gUnknown_83A6168:: @ 83A6168 + .incbin "baserom.gba", 0x3A6168, 0x14 + +gUnknown_83A617C:: @ 83A617C + .incbin "baserom.gba", 0x3A617C, 0x4 + +gUnknown_83A6180:: @ 83A6180 + .incbin "baserom.gba", 0x3A6180, 0x14 + +gUnknown_83A6194:: @ 83A6194 + .incbin "baserom.gba", 0x3A6194, 0x4 + +gUnknown_83A6198:: @ 83A6198 + .incbin "baserom.gba", 0x3A6198, 0x14 + +gUnknown_83A61AC:: @ 83A61AC + .incbin "baserom.gba", 0x3A61AC, 0x4 + +gUnknown_83A61B0:: @ 83A61B0 + .incbin "baserom.gba", 0x3A61B0, 0x14 + +gUnknown_83A61C4:: @ 83A61C4 + .incbin "baserom.gba", 0x3A61C4, 0x4 + +gUnknown_83A61C8:: @ 83A61C8 + .incbin "baserom.gba", 0x3A61C8, 0x10 + +gUnknown_83A61D8:: @ 83A61D8 + .incbin "baserom.gba", 0x3A61D8, 0x8 + +gUnknown_83A61E0:: @ 83A61E0 + .incbin "baserom.gba", 0x3A61E0, 0x10 + +gUnknown_83A61F0:: @ 83A61F0 + .incbin "baserom.gba", 0x3A61F0, 0x8 + +gUnknown_83A61F8:: @ 83A61F8 + .incbin "baserom.gba", 0x3A61F8, 0x10 + +gUnknown_83A6208:: @ 83A6208 + .incbin "baserom.gba", 0x3A6208, 0xC + +gUnknown_83A6214:: @ 83A6214 + .incbin "baserom.gba", 0x3A6214, 0x4 + +gUnknown_83A6218:: @ 83A6218 + .incbin "baserom.gba", 0x3A6218, 0xC + +gUnknown_83A6224:: @ 83A6224 + .incbin "baserom.gba", 0x3A6224, 0x4 + +gUnknown_83A6228:: @ 83A6228 + .incbin "baserom.gba", 0x3A6228, 0xC + +gUnknown_83A6234:: @ 83A6234 + .incbin "baserom.gba", 0x3A6234, 0x4 + +gUnknown_83A6238:: @ 83A6238 + .incbin "baserom.gba", 0x3A6238, 0xC + +gUnknown_83A6244:: @ 83A6244 + .incbin "baserom.gba", 0x3A6244, 0x4 + +gUnknown_83A6248:: @ 83A6248 + .incbin "baserom.gba", 0x3A6248, 0xC + +gUnknown_83A6254:: @ 83A6254 + .incbin "baserom.gba", 0x3A6254, 0x4 + +gUnknown_83A6258:: @ 83A6258 + .incbin "baserom.gba", 0x3A6258, 0xC + +gUnknown_83A6264:: @ 83A6264 + .incbin "baserom.gba", 0x3A6264, 0x4 + +gUnknown_83A6268:: @ 83A6268 + .incbin "baserom.gba", 0x3A6268, 0xC + +gUnknown_83A6274:: @ 83A6274 + .incbin "baserom.gba", 0x3A6274, 0xC + +gUnknown_83A6280:: @ 83A6280 + .incbin "baserom.gba", 0x3A6280, 0x4 + +gUnknown_83A6284:: @ 83A6284 + .incbin "baserom.gba", 0x3A6284, 0xC + +gUnknown_83A6290:: @ 83A6290 + .incbin "baserom.gba", 0x3A6290, 0x4 + +gUnknown_83A6294:: @ 83A6294 + .incbin "baserom.gba", 0x3A6294, 0xC + +gUnknown_83A62A0:: @ 83A62A0 + .incbin "baserom.gba", 0x3A62A0, 0x4 + +gUnknown_83A62A4:: @ 83A62A4 + .incbin "baserom.gba", 0x3A62A4, 0xC + +gUnknown_83A62B0:: @ 83A62B0 + .incbin "baserom.gba", 0x3A62B0, 0x4 + +gUnknown_83A62B4:: @ 83A62B4 + .incbin "baserom.gba", 0x3A62B4, 0xC + +gUnknown_83A62C0:: @ 83A62C0 + .incbin "baserom.gba", 0x3A62C0, 0x4 + +gUnknown_83A62C4:: @ 83A62C4 + .incbin "baserom.gba", 0x3A62C4, 0xC + +gUnknown_83A62D0:: @ 83A62D0 + .incbin "baserom.gba", 0x3A62D0, 0x4 + +gUnknown_83A62D4:: @ 83A62D4 + .incbin "baserom.gba", 0x3A62D4, 0xC + +gUnknown_83A62E0:: @ 83A62E0 + .incbin "baserom.gba", 0x3A62E0, 0x4 + +gUnknown_83A62E4:: @ 83A62E4 + .incbin "baserom.gba", 0x3A62E4, 0xC + +gUnknown_83A62F0:: @ 83A62F0 + .incbin "baserom.gba", 0x3A62F0, 0x4 + +gUnknown_83A62F4:: @ 83A62F4 + .incbin "baserom.gba", 0x3A62F4, 0xC + +gUnknown_83A6300:: @ 83A6300 + .incbin "baserom.gba", 0x3A6300, 0x4 + +gUnknown_83A6304:: @ 83A6304 + .incbin "baserom.gba", 0x3A6304, 0xC + +gUnknown_83A6310:: @ 83A6310 + .incbin "baserom.gba", 0x3A6310, 0x4 + +gUnknown_83A6314:: @ 83A6314 + .incbin "baserom.gba", 0x3A6314, 0xC + +gUnknown_83A6320:: @ 83A6320 + .incbin "baserom.gba", 0x3A6320, 0x4 + +gUnknown_83A6324:: @ 83A6324 + .incbin "baserom.gba", 0x3A6324, 0xC + +gUnknown_83A6330:: @ 83A6330 + .incbin "baserom.gba", 0x3A6330, 0x4 + +gUnknown_83A6334:: @ 83A6334 + .incbin "baserom.gba", 0x3A6334, 0xC + +gUnknown_83A6340:: @ 83A6340 + .incbin "baserom.gba", 0x3A6340, 0x4 + +gUnknown_83A6344:: @ 83A6344 + .incbin "baserom.gba", 0x3A6344, 0xC + +gUnknown_83A6350:: @ 83A6350 + .incbin "baserom.gba", 0x3A6350, 0x4 + +gUnknown_83A6354:: @ 83A6354 + .incbin "baserom.gba", 0x3A6354, 0xC + +gUnknown_83A6360:: @ 83A6360 + .incbin "baserom.gba", 0x3A6360, 0x4 + +gUnknown_83A6364:: @ 83A6364 + .incbin "baserom.gba", 0x3A6364, 0xC + +gUnknown_83A6370:: @ 83A6370 + .incbin "baserom.gba", 0x3A6370, 0x4 + +gUnknown_83A6374:: @ 83A6374 + .incbin "baserom.gba", 0x3A6374, 0xC + +gUnknown_83A6380:: @ 83A6380 + .incbin "baserom.gba", 0x3A6380, 0x4 + +gUnknown_83A6384:: @ 83A6384 + .incbin "baserom.gba", 0x3A6384, 0xC + +gUnknown_83A6390:: @ 83A6390 + .incbin "baserom.gba", 0x3A6390, 0x2C + +gUnknown_83A63BC:: @ 83A63BC + .incbin "baserom.gba", 0x3A63BC, 0xC + +gUnknown_83A63C8:: @ 83A63C8 + .incbin "baserom.gba", 0x3A63C8, 0x4 + +gUnknown_83A63CC:: @ 83A63CC + .incbin "baserom.gba", 0x3A63CC, 0x8 + +gUnknown_83A63D4:: @ 83A63D4 + .incbin "baserom.gba", 0x3A63D4, 0x8 + +gUnknown_83A63DC:: @ 83A63DC + .incbin "baserom.gba", 0x3A63DC, 0x8 + +gUnknown_83A63E4:: @ 83A63E4 + .incbin "baserom.gba", 0x3A63E4, 0xC + +gUnknown_83A63F0:: @ 83A63F0 + .incbin "baserom.gba", 0x3A63F0, 0xC + +gUnknown_83A63FC:: @ 83A63FC + .incbin "baserom.gba", 0x3A63FC, 0x8 + +gUnknown_83A6404:: @ 83A6404 + .incbin "baserom.gba", 0x3A6404, 0x8 + +gUnknown_83A640C:: @ 83A640C + .incbin "baserom.gba", 0x3A640C, 0x9 + +gUnknown_83A6415:: @ 83A6415 + .incbin "baserom.gba", 0x3A6415, 0x9 + +gUnknown_83A641E:: @ 83A641E + .incbin "baserom.gba", 0x3A641E, 0x9 + +gUnknown_83A6427:: @ 83A6427 + .incbin "baserom.gba", 0x3A6427, 0x9 + +gUnknown_83A6430:: @ 83A6430 + .incbin "baserom.gba", 0x3A6430, 0x9 + +gUnknown_83A6439:: @ 83A6439 + .incbin "baserom.gba", 0x3A6439, 0x9 + +gUnknown_83A6442:: @ 83A6442 + .incbin "baserom.gba", 0x3A6442, 0x9 + +gUnknown_83A644B:: @ 83A644B + .incbin "baserom.gba", 0x3A644B, 0x9 + +gUnknown_83A6454:: @ 83A6454 + .incbin "baserom.gba", 0x3A6454, 0x9 + +gUnknown_83A645D:: @ 83A645D + .incbin "baserom.gba", 0x3A645D, 0x9 + +gUnknown_83A6466:: @ 83A6466 + .incbin "baserom.gba", 0x3A6466, 0x9 + +gUnknown_83A646F:: @ 83A646F + .incbin "baserom.gba", 0x3A646F, 0x9 + +gUnknown_83A6478:: @ 83A6478 + .incbin "baserom.gba", 0x3A6478, 0x9 + +gUnknown_83A6481:: @ 83A6481 + .incbin "baserom.gba", 0x3A6481, 0x9 + +gUnknown_83A648A:: @ 83A648A + .incbin "baserom.gba", 0x3A648A, 0x9 + +gUnknown_83A6493:: @ 83A6493 + .incbin "baserom.gba", 0x3A6493, 0x9 + +gUnknown_83A649C:: @ 83A649C + .incbin "baserom.gba", 0x3A649C, 0xC + +gUnknown_83A64A8:: @ 83A64A8 + .incbin "baserom.gba", 0x3A64A8, 0x10 + +gUnknown_83A64B8:: @ 83A64B8 + .incbin "baserom.gba", 0x3A64B8, 0x10 + +gUnknown_83A64C8:: @ 83A64C8 + .incbin "baserom.gba", 0x3A64C8, 0x24 + +gUnknown_83A64EC:: @ 83A64EC + .incbin "baserom.gba", 0x3A64EC, 0x5 + +gUnknown_83A64F1:: @ 83A64F1 + .incbin "baserom.gba", 0x3A64F1, 0x5 + +gUnknown_83A64F6:: @ 83A64F6 + .incbin "baserom.gba", 0x3A64F6, 0x5 + +gUnknown_83A64FB:: @ 83A64FB + .incbin "baserom.gba", 0x3A64FB, 0x5 + +gUnknown_83A6500:: @ 83A6500 + .incbin "baserom.gba", 0x3A6500, 0x5 + +gUnknown_83A6505:: @ 83A6505 + .incbin "baserom.gba", 0x3A6505, 0x5 + +gUnknown_83A650A:: @ 83A650A + .incbin "baserom.gba", 0x3A650A, 0x5 + +gUnknown_83A650F:: @ 83A650F + .incbin "baserom.gba", 0x3A650F, 0x5 + +gUnknown_83A6514:: @ 83A6514 + .incbin "baserom.gba", 0x3A6514, 0x5 + +gUnknown_83A6519:: @ 83A6519 + .incbin "baserom.gba", 0x3A6519, 0x5 + +gUnknown_83A651E:: @ 83A651E + .incbin "baserom.gba", 0x3A651E, 0x5 + +gUnknown_83A6523:: @ 83A6523 + .incbin "baserom.gba", 0x3A6523, 0x5 + +gUnknown_83A6528:: @ 83A6528 + .incbin "baserom.gba", 0x3A6528, 0x5 + +gUnknown_83A652D:: @ 83A652D + .incbin "baserom.gba", 0x3A652D, 0x5 + +gUnknown_83A6532:: @ 83A6532 + .incbin "baserom.gba", 0x3A6532, 0x5 + +gUnknown_83A6537:: @ 83A6537 + .incbin "baserom.gba", 0x3A6537, 0x5 + +gUnknown_83A653C:: @ 83A653C + .incbin "baserom.gba", 0x3A653C, 0x5 + +gUnknown_83A6541:: @ 83A6541 + .incbin "baserom.gba", 0x3A6541, 0x5 + +gUnknown_83A6546:: @ 83A6546 + .incbin "baserom.gba", 0x3A6546, 0x5 + +gUnknown_83A654B:: @ 83A654B + .incbin "baserom.gba", 0x3A654B, 0x5 + +gUnknown_83A6550:: @ 83A6550 + .incbin "baserom.gba", 0x3A6550, 0x5 + +gUnknown_83A6555:: @ 83A6555 + .incbin "baserom.gba", 0x3A6555, 0x5 + +gUnknown_83A655A:: @ 83A655A + .incbin "baserom.gba", 0x3A655A, 0x5 + +gUnknown_83A655F:: @ 83A655F + .incbin "baserom.gba", 0x3A655F, 0x5 + +gUnknown_83A6564:: @ 83A6564 + .incbin "baserom.gba", 0x3A6564, 0x5 + +gUnknown_83A6569:: @ 83A6569 + .incbin "baserom.gba", 0x3A6569, 0x5 + +gUnknown_83A656E:: @ 83A656E + .incbin "baserom.gba", 0x3A656E, 0x5 + +gUnknown_83A6573:: @ 83A6573 + .incbin "baserom.gba", 0x3A6573, 0x5 + +gUnknown_83A6578:: @ 83A6578 + .incbin "baserom.gba", 0x3A6578, 0x5 + +gUnknown_83A657D:: @ 83A657D + .incbin "baserom.gba", 0x3A657D, 0x5 + +gUnknown_83A6582:: @ 83A6582 + .incbin "baserom.gba", 0x3A6582, 0x5 + +gUnknown_83A6587:: @ 83A6587 + .incbin "baserom.gba", 0x3A6587, 0x5 + +gUnknown_83A658C:: @ 83A658C + .incbin "baserom.gba", 0x3A658C, 0x5 + +gUnknown_83A6591:: @ 83A6591 + .incbin "baserom.gba", 0x3A6591, 0x8 + +gUnknown_83A6599:: @ 83A6599 + .incbin "baserom.gba", 0x3A6599, 0x10 + +gUnknown_83A65A9:: @ 83A65A9 + .incbin "baserom.gba", 0x3A65A9, 0x13 + +gUnknown_83A65BC:: @ 83A65BC + .incbin "baserom.gba", 0x3A65BC, 0x2C8 + +gUnknown_83A6884:: @ 83A6884 + .incbin "baserom.gba", 0x3A6884, 0xD4 + +gUnknown_83A6958:: @ 83A6958 + .incbin "baserom.gba", 0x3A6958, 0x6 + +gUnknown_83A695E:: @ 83A695E + .incbin "baserom.gba", 0x3A695E, 0x6C6 diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s new file mode 100644 index 000000000..c11bc74b3 --- /dev/null +++ b/data/field_player_avatar.s @@ -0,0 +1,73 @@ + .section .rodata + .align 2 +gUnknown_835B764:: @ 835B764 + .incbin "baserom.gba", 0x35B764, 0xB0 + +gUnknown_835B814:: @ 835B814 + .incbin "baserom.gba", 0x35B814, 0xC + +gUnknown_835B820:: @ 835B820 + .incbin "baserom.gba", 0x35B820, 0x8 + +gUnknown_835B828:: @ 835B828 + .incbin "baserom.gba", 0x35B828, 0x14 + +gUnknown_835B83C:: @ 835B83C + .incbin "baserom.gba", 0x35B83C, 0x8 + +gUnknown_835B844:: @ 835B844 + .incbin "baserom.gba", 0x35B844, 0x20 + +gUnknown_835B864:: @ 835B864 + .incbin "baserom.gba", 0x35B864, 0x10 + +gUnknown_835B874:: @ 835B874 + .incbin "baserom.gba", 0x35B874, 0xC + +gUnknown_835B880:: @ 835B880 + .incbin "baserom.gba", 0x35B880, 0x2 + +gUnknown_835B882:: @ 835B882 + .incbin "baserom.gba", 0x35B882, 0xC + +gUnknown_835B88E:: @ 835B88E + .incbin "baserom.gba", 0x35B88E, 0x2 + +gUnknown_835B890:: @ 835B890 + .incbin "baserom.gba", 0x35B890, 0x10 + +gUnknown_835B8A0:: @ 835B8A0 + .incbin "baserom.gba", 0x35B8A0, 0xC + +gUnknown_835B8AC:: @ 835B8AC + .incbin "baserom.gba", 0x35B8AC, 0x4 + +gUnknown_835B8B0:: @ 835B8B0 + .incbin "baserom.gba", 0x35B8B0, 0x10 + +gUnknown_835B8C0:: @ 835B8C0 + .incbin "baserom.gba", 0x35B8C0, 0x4 + +gUnknown_835B8C4:: @ 835B8C4 + .incbin "baserom.gba", 0x35B8C4, 0x8 + +gUnknown_835B8CC:: @ 835B8CC + .incbin "baserom.gba", 0x35B8CC, 0x40 + +gUnknown_835B90C:: @ 835B90C + .incbin "baserom.gba", 0x35B90C, 0x6 + +gUnknown_835B912:: @ 835B912 + .incbin "baserom.gba", 0x35B912, 0x6 + +gUnknown_835B918:: @ 835B918 + .incbin "baserom.gba", 0x35B918, 0x2 + +gUnknown_835B91A:: @ 835B91A + .incbin "baserom.gba", 0x35B91A, 0x6 + +gUnknown_835B920:: @ 835B920 + .incbin "baserom.gba", 0x35B920, 0xC + +gUnknown_835B92C:: @ 835B92C + .incbin "baserom.gba", 0x35B92C, 0x8 diff --git a/data/field_tasks.s b/data/field_tasks.s new file mode 100644 index 000000000..a91e6cec9 --- /dev/null +++ b/data/field_tasks.s @@ -0,0 +1,7 @@ + .section .rodata + .align 2 +gUnknown_83A7310:: @ 83A7310 + .incbin "baserom.gba", 0x3A7310, 0x20 + +gUnknown_83A7330:: @ 83A7330 + .incbin "baserom.gba", 0x3A7330, 0x14 diff --git a/data/field_weather.s b/data/field_weather.s new file mode 100644 index 000000000..a25e44344 --- /dev/null +++ b/data/field_weather.s @@ -0,0 +1,101 @@ + .section .rodata + .align 2 + +gUnknown_83C2BBC:: @ 83C2BBC + .incbin "baserom.gba", 0x3C2BBC, 0x4 + +gUnknown_83C2BC0:: @ 83C2BC0 + .incbin "baserom.gba", 0x3C2BC0, 0xF0 + +gUnknown_83C2CB0:: @ 83C2CB0 + .incbin "baserom.gba", 0x3C2CB0, 0x10 + +gUnknown_83C2CC0:: @ 83C2CC0 + .incbin "baserom.gba", 0x3C2CC0, 0x20 + +gUnknown_83C2CE0:: @ 83C2CE0 + .incbin "baserom.gba", 0x3C2CE0, 0x20 + +gUnknown_83C2D00:: @ 83C2D00 + .incbin "baserom.gba", 0x3C2D00, 0x20 + +gUnknown_83C2D20:: @ 83C2D20 + .incbin "baserom.gba", 0x3C2D20, 0x820 + +gUnknown_83C3540:: @ 83C3540 + .incbin "baserom.gba", 0x3C3540, 0x3080 + +gUnknown_83C65C0:: @ 83C65C0 + .incbin "baserom.gba", 0x3C65C0, 0x4 + +gUnknown_83C65C4:: @ 83C65C4 + .incbin "baserom.gba", 0x3C65C4, 0x4 + +gUnknown_83C65C8:: @ 83C65C8 + .incbin "baserom.gba", 0x3C65C8, 0xC + +gUnknown_83C65D4:: @ 83C65D4 + .incbin "baserom.gba", 0x3C65D4, 0x1C + +gUnknown_83C65F0:: @ 83C65F0 + .incbin "baserom.gba", 0x3C65F0, 0x18 + +gUnknown_83C6608:: @ 83C6608 + .incbin "baserom.gba", 0x3C6608, 0x9C + +gUnknown_83C66A4:: @ 83C66A4 + .incbin "baserom.gba", 0x3C66A4, 0x18 + +gUnknown_83C66BC:: @ 83C66BC + .incbin "baserom.gba", 0x3C66BC, 0x8 + +gUnknown_83C66C4:: @ 83C66C4 + .incbin "baserom.gba", 0x3C66C4, 0x8 + +gUnknown_83C66CC:: @ 83C66CC + .incbin "baserom.gba", 0x3C66CC, 0x38 + +gUnknown_83C6704:: @ 83C6704 + .incbin "baserom.gba", 0x3C6704, 0x8C + +gUnknown_83C6790:: @ 83C6790 + .incbin "baserom.gba", 0x3C6790, 0x18 + +gUnknown_83C67A8:: @ 83C67A8 + .incbin "baserom.gba", 0x3C67A8, 0x8 + +gUnknown_83C67B0:: @ 83C67B0 + .incbin "baserom.gba", 0x3C67B0, 0x20 + +gUnknown_83C67D0:: @ 83C67D0 + .incbin "baserom.gba", 0x3C67D0, 0x18 + +gUnknown_83C67E8:: @ 83C67E8 + .incbin "baserom.gba", 0x3C67E8, 0x1C + +gUnknown_83C6804:: @ 83C6804 + .incbin "baserom.gba", 0x3C6804, 0x38 + +gUnknown_83C683C:: @ 83C683C + .incbin "baserom.gba", 0x3C683C, 0x18 + +gUnknown_83C6854:: @ 83C6854 + .incbin "baserom.gba", 0x3C6854, 0x8 + +gUnknown_83C685C:: @ 83C685C + .incbin "baserom.gba", 0x3C685C, 0xC + +gUnknown_83C6868:: @ 83C6868 + .incbin "baserom.gba", 0x3C6868, 0x8 + +gUnknown_83C6870:: @ 83C6870 + .incbin "baserom.gba", 0x3C6870, 0x8 + +gUnknown_83C6878:: @ 83C6878 + .incbin "baserom.gba", 0x3C6878, 0x44 + +gUnknown_83C68BC:: @ 83C68BC + .incbin "baserom.gba", 0x3C68BC, 0x18 + +gUnknown_83C68D4:: @ 83C68D4 + .incbin "baserom.gba", 0x3C68D4, 0xC diff --git a/data/graphics.s b/data/graphics.s index a1e421f2c..12cb6a33f 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13953,28 +13953,28 @@ gFile_graphics_interface_bag_swap_palette:: @ 8E845C8 .align 2 gUnknown_8E845D8:: @ 8E845D8 - .incbin "baserom.gba", 0xE845D8, 0x44C + .incbin "graphics/tm_case/unk_8E845D8.4bpp.lz" gUnknown_8E84A24:: @ 8E84A24 - .incbin "baserom.gba", 0xE84A24, 0x14C + .incbin "graphics/tm_case/unk_8E84A24.bin.lz" gUnknown_8E84B70:: @ 8E84B70 - .incbin "baserom.gba", 0xE84B70, 0x140 + .incbin "graphics/tm_case/unk_8E84B70.bin.lz" gUnknown_8E84CB0:: @ 8E84CB0 - .incbin "baserom.gba", 0xE84CB0, 0x70 + .incbin "graphics/tm_case/unk_8E84CB0.gbapal.lz" gUnknown_8E84D20:: @ 8E84D20 - .incbin "baserom.gba", 0xE84D20, 0x70 + .incbin "graphics/tm_case/unk_8E84D20.gbapal.lz" -gUnknown_8E84D90:: @ 8E84D90 - .incbin "baserom.gba", 0xE84D90, 0x190 +gTMCase_TMSpriteGfx:: @ 8E84D90 + .incbin "graphics/tm_case/unk_8E84D90.4bpp.lz" gUnknown_8E84F20:: @ 8E84F20 - .incbin "baserom.gba", 0xE84F20, 0x148 + .incbin "graphics/tm_case/unk_8E84F20.gbapal.lz" gUnknown_8E85068:: @ 8E85068 - .incbin "baserom.gba", 0xE85068, 0x28 + .incbin "graphics/tm_case/unk_8E85068.gbapal.lz" gUnknown_8E85090:: @ 8E85090 .incbin "baserom.gba", 0xE85090, 0x378 @@ -16072,7 +16072,10 @@ gUnknown_8E985D8:: @ 8E985D8 .incbin "baserom.gba", 0xE985D8, 0xB40 @UNKNOWN, FALSEPOSITIVE? gUnknown_8E99118:: @ 8E99118 - .incbin "baserom.gba", 0xE99118, 0xE0 @UNKNOWN + .incbin "graphics/tm_case/unk_8E99118.4bpp" + +gUnknown_8E99198:: + .incbin "baserom.gba", 0xE99198, 0x60 @UNKNOWN gUnknown_8E991F8:: @ 8E991F8 .incbin "baserom.gba", 0xE991F8, 0x674 diff --git a/data/help_system.s b/data/help_system.s new file mode 100644 index 000000000..3031f4c7f --- /dev/null +++ b/data/help_system.s @@ -0,0 +1,8 @@ + .section .rodata + .align 2 + +gUnknown_8464008:: @ 8464008 + .incbin "baserom.gba", 0x464008, 0x120 + +gUnknown_8464128:: @ 8464128 + .incbin "baserom.gba", 0x464128, 0x20 diff --git a/data/itemfinder.s b/data/itemfinder.s new file mode 100644 index 000000000..3a955deeb --- /dev/null +++ b/data/itemfinder.s @@ -0,0 +1,7 @@ + .section .rodata + .align 2 +gUnknown_84647E4:: @ 84647E4 + .incbin "baserom.gba", 0x4647E4, 0x18 + +gUnknown_84647FC:: @ 84647FC + .incbin "baserom.gba", 0x4647FC, 0x8 diff --git a/data/link_rfu_4.s b/data/link_rfu_4.s new file mode 100644 index 000000000..20f235a80 --- /dev/null +++ b/data/link_rfu_4.s @@ -0,0 +1,54 @@ + .section .rodata + + .align 2 + +gUnknown_8466D90:: @ 8466D90 + .incbin "baserom.gba", 0x466D90, 0x8 + +gUnknown_8466D98:: @ 8466D98 + .incbin "baserom.gba", 0x466D98, 0x8 + +gUnknown_8466DA0:: @ 8466DA0 + .incbin "baserom.gba", 0x466DA0, 0x8 + +gUnknown_8466DA8:: @ 8466DA8 + .incbin "baserom.gba", 0x466DA8, 0x8 + +gUnknown_8466DB0:: @ 8466DB0 + .incbin "baserom.gba", 0x466DB0, 0x8 + +gUnknown_8466DB8:: @ 8466DB8 + .incbin "baserom.gba", 0x466DB8, 0x8 + +gUnknown_8466DC0:: @ 8466DC0 + .incbin "baserom.gba", 0x466DC0, 0x8 + +gUnknown_8466DC8:: @ 8466DC8 + .incbin "baserom.gba", 0x466DC8, 0x8 + +gUnknown_8466DD0:: @ 8466DD0 + .incbin "baserom.gba", 0x466DD0, 0x18 + +gUnknown_8466DE8:: @ 8466DE8 + .incbin "baserom.gba", 0x466DE8, 0x18 + +gUnknown_8466E00:: @ 8466E00 + .incbin "baserom.gba", 0x466E00, 0x78 + +gUnknown_8466E78:: @ 8466E78 + .incbin "baserom.gba", 0x466E78, 0x18 + +gUnknown_8466E90:: @ 8466E90 + .incbin "baserom.gba", 0x466E90, 0x18 + +gUnknown_8466EA8:: @ 8466EA8 + .incbin "baserom.gba", 0x466EA8, 0x18 + +gUnknown_8466EC0:: @ 8466EC0 + .incbin "baserom.gba", 0x466EC0, 0x28 + +gUnknown_8466EE8:: @ 8466EE8 + .incbin "baserom.gba", 0x466EE8, 0x8 + +gUnknown_8466EF0:: @ 8466EF0 + .incbin "baserom.gba", 0x466EF0, 0x10 diff --git a/data/map_events.s b/data/map_events.s new file mode 100644 index 000000000..d61949575 --- /dev/null +++ b/data/map_events.s @@ -0,0 +1,1276 @@ + .section .rodata + .align 2 +gMapEvents_UnknownMap_00_00:: @ 0x83AE0DC + .incbin "baserom.gba", 0x3AE0DC, 0x5C + +gMapEvents_UnknownMap_00_01:: @ 0x83AE138 + .incbin "baserom.gba", 0x3AE138, 0x8C + +gMapEvents_UnknownMap_00_02:: @ 0x83AE1C4 + .incbin "baserom.gba", 0x3AE1C4, 0x74 + +gMapEvents_UnknownMap_00_03:: @ 0x83AE238 + .incbin "baserom.gba", 0x3AE238, 0xF4 + +gMapEvents_UnknownMap_00_04:: @ 0x83AE32C + .incbin "baserom.gba", 0x3AE32C, 0x1AC + +gMapEvents_ViridianForest:: @ 0x83AE4D8 + .incbin "baserom.gba", 0x3AE4D8, 0x190 + +gMapEvents_MtMoon_1F:: @ 0x83AE668 + .incbin "baserom.gba", 0x3AE668, 0x9C + +gMapEvents_MtMoon_B1F:: @ 0x83AE704 + .incbin "baserom.gba", 0x3AE704, 0x164 + +gMapEvents_MtMoon_B2F:: @ 0x83AE868 + .incbin "baserom.gba", 0x3AE868, 0x60 + +gMapEvents_SSAnne_Exterior:: @ 0x83AE8C8 + .incbin "baserom.gba", 0x3AE8C8, 0xAC + +gMapEvents_SSAnne_1F_Corridor:: @ 0x83AE974 + .incbin "baserom.gba", 0x3AE974, 0xBC + +gMapEvents_SSAnne_2F_Corridor:: @ 0x83AEA30 + .incbin "baserom.gba", 0x3AEA30, 0x44 + +gMapEvents_SSAnne_3F_Corridor:: @ 0x83AEA74 + .incbin "baserom.gba", 0x3AEA74, 0x50 + +gMapEvents_SSAnne_B1F_Corridor:: @ 0x83AEAC4 + .incbin "baserom.gba", 0x3AEAC4, 0x9C + +gMapEvents_SSAnne_Deck:: @ 0x83AEB60 + .incbin "baserom.gba", 0x3AEB60, 0x100 + +gMapEvents_SSAnne_Kitchen:: @ 0x83AEC60 + .incbin "baserom.gba", 0x3AEC60, 0x58 + +gMapEvents_SSAnne_CaptainsOffice:: @ 0x83AECB8 + .incbin "baserom.gba", 0x3AECB8, 0x34 + +gMapEvents_SSAnne_1F_Room1:: @ 0x83AECEC + .incbin "baserom.gba", 0x3AECEC, 0x7C + +gMapEvents_SSAnne_1F_Room2:: @ 0x83AED68 + .incbin "baserom.gba", 0x3AED68, 0x64 + +gMapEvents_SSAnne_1F_Room3:: @ 0x83AEDCC + .incbin "baserom.gba", 0x3AEDCC, 0x34 + +gMapEvents_SSAnne_1F_Room4:: @ 0x83AEE00 + .incbin "baserom.gba", 0x3AEE00, 0x34 + +gMapEvents_SSAnne_1F_Room5:: @ 0x83AEE34 + .incbin "baserom.gba", 0x3AEE34, 0x34 + +gMapEvents_SSAnne_1F_Room7:: @ 0x83AEE68 + .incbin "baserom.gba", 0x3AEE68, 0x34 + +gMapEvents_SSAnne_2F_Room1:: @ 0x83AEE9C + .incbin "baserom.gba", 0x3AEE9C, 0x64 + +gMapEvents_SSAnne_2F_Room2:: @ 0x83AEF00 + .incbin "baserom.gba", 0x3AEF00, 0x4C + +gMapEvents_SSAnne_2F_Room3:: @ 0x83AEF4C + .incbin "baserom.gba", 0x3AEF4C, 0x64 + +gMapEvents_SSAnne_2F_Room4:: @ 0x83AEFB0 + .incbin "baserom.gba", 0x3AEFB0, 0x4C + +gMapEvents_SSAnne_2F_Room5:: @ 0x83AEFFC + .incbin "baserom.gba", 0x3AEFFC, 0x4C + +gMapEvents_SSAnne_2F_Room6:: @ 0x83AF048 + .incbin "baserom.gba", 0x3AF048, 0x4C + +gMapEvents_SSAnne_B1F_Room1:: @ 0x83AF094 + .incbin "baserom.gba", 0x3AF094, 0x4C + +gMapEvents_SSAnne_B1F_Room2:: @ 0x83AF0E0 + .incbin "baserom.gba", 0x3AF0E0, 0x4C + +gMapEvents_SSAnne_B1F_Room3:: @ 0x83AF12C + .incbin "baserom.gba", 0x3AF12C, 0x4C + +gMapEvents_SSAnne_B1F_Room4:: @ 0x83AF178 + .incbin "baserom.gba", 0x3AF178, 0x64 + +gMapEvents_SSAnne_B1F_Room5:: @ 0x83AF1DC + .incbin "baserom.gba", 0x3AF1DC, 0x34 + +gMapEvents_SSAnne_1F_Room6:: @ 0x83AF210 + .incbin "baserom.gba", 0x3AF210, 0x4C + +gMapEvents_UndergroundPath_NorthEntrance:: @ 0x83AF25C + .incbin "baserom.gba", 0x3AF25C, 0x78 + +gMapEvents_UndergroundPath_NorthSouthTunnel:: @ 0x83AF2D4 + .incbin "baserom.gba", 0x3AF2D4, 0x4C + +gMapEvents_UndergroundPath_SouthEntrance:: @ 0x83AF320 + .incbin "baserom.gba", 0x3AF320, 0x4C + +gMapEvents_UndergroundPath_WestEntrance:: @ 0x83AF36C + .incbin "baserom.gba", 0x3AF36C, 0x78 + +gMapEvents_UndergroundPath_EastWestTunnel:: @ 0x83AF3E4 + .incbin "baserom.gba", 0x3AF3E4, 0x4C + +gMapEvents_UndergroundPath_EastEntrance:: @ 0x83AF430 + .incbin "baserom.gba", 0x3AF430, 0x3C + +gMapEvents_DiglettsCave_NorthEntrance:: @ 0x83AF46C + .incbin "baserom.gba", 0x3AF46C, 0x24 + +gMapEvents_DiglettsCave_B1F:: @ 0x83AF490 + .incbin "baserom.gba", 0x3AF490, 0x3C + +gMapEvents_DiglettsCave_SouthEntrance:: @ 0x83AF4CC + .incbin "baserom.gba", 0x3AF4CC, 0xF4 + +gMapEvents_VictoryRoad_1F:: @ 0x83AF5C0 + .incbin "baserom.gba", 0x3AF5C0, 0x1B4 + +gMapEvents_VictoryRoad_2F:: @ 0x83AF774 + .incbin "baserom.gba", 0x3AF774, 0x16C + +gMapEvents_VictoryRoad_3F:: @ 0x83AF8E0 + .incbin "baserom.gba", 0x3AF8E0, 0xF8 + +gMapEvents_RocketHideout_B1F:: @ 0x83AF9D8 + .incbin "baserom.gba", 0x3AF9D8, 0xB4 + +gMapEvents_RocketHideout_B2F:: @ 0x83AFA8C + .incbin "baserom.gba", 0x3AFA8C, 0xA8 + +gMapEvents_RocketHideout_B3F:: @ 0x83AFB34 + .incbin "baserom.gba", 0x3AFB34, 0x11C + +gMapEvents_RocketHideout_B4F:: @ 0x83AFC50 + .incbin "baserom.gba", 0x3AFC50, 0x30 + +gMapEvents_RocketHideout_Elevator:: @ 0x83AFC80 + .incbin "baserom.gba", 0x3AFC80, 0x60 + +gMapEvents_SilphCo_1F:: @ 0x83AFCE0 + .incbin "baserom.gba", 0x3AFCE0, 0x13C + +gMapEvents_SilphCo_2F:: @ 0x83AFE1C + .incbin "baserom.gba", 0x3AFE1C, 0x13C + +gMapEvents_SilphCo_3F:: @ 0x83AFF58 + .incbin "baserom.gba", 0x3AFF58, 0x184 + +gMapEvents_SilphCo_4F:: @ 0x83B00DC + .incbin "baserom.gba", 0x3B00DC, 0x1FC + +gMapEvents_SilphCo_5F:: @ 0x83B02D8 + .incbin "baserom.gba", 0x3B02D8, 0x174 + +gMapEvents_SilphCo_6F:: @ 0x83B044C + .incbin "baserom.gba", 0x3B044C, 0x214 + +gMapEvents_SilphCo_7F:: @ 0x83B0660 + .incbin "baserom.gba", 0x3B0660, 0x124 + +gMapEvents_SilphCo_8F:: @ 0x83B0784 + .incbin "baserom.gba", 0x3B0784, 0x180 + +gMapEvents_SilphCo_9F:: @ 0x83B0904 + .incbin "baserom.gba", 0x3B0904, 0x11C + +gMapEvents_SilphCo_10F:: @ 0x83B0A20 + .incbin "baserom.gba", 0x3B0A20, 0x124 + +gMapEvents_SilphCo_11F:: @ 0x83B0B44 + .incbin "baserom.gba", 0x3B0B44, 0x28 + +gMapEvents_SilphCo_Elevator:: @ 0x83B0B6C + .incbin "baserom.gba", 0x3B0B6C, 0xF4 + +gMapEvents_PokemonMansion_1F:: @ 0x83B0C60 + .incbin "baserom.gba", 0x3B0C60, 0xC0 + +gMapEvents_PokemonMansion_2F:: @ 0x83B0D20 + .incbin "baserom.gba", 0x3B0D20, 0xD8 + +gMapEvents_PokemonMansion_3F:: @ 0x83B0DF8 + .incbin "baserom.gba", 0x3B0DF8, 0xDC + +gMapEvents_PokemonMansion_B1F:: @ 0x83B0ED4 + .incbin "baserom.gba", 0x3B0ED4, 0xC4 + +gMapEvents_SafariZone_Center:: @ 0x83B0F98 + .incbin "baserom.gba", 0x3B0F98, 0xD0 + +gMapEvents_SafariZone_East:: @ 0x83B1068 + .incbin "baserom.gba", 0x3B1068, 0x100 + +gMapEvents_SafariZone_North:: @ 0x83B1168 + .incbin "baserom.gba", 0x3B1168, 0x108 + +gMapEvents_SafariZone_West:: @ 0x83B1270 + .incbin "baserom.gba", 0x3B1270, 0x5C + +gMapEvents_SafariZone_Building1:: @ 0x83B12CC + .incbin "baserom.gba", 0x3B12CC, 0x74 + +gMapEvents_SafariZone_Building2:: @ 0x83B1340 + .incbin "baserom.gba", 0x3B1340, 0x8C + +gMapEvents_SafariZone_Building3:: @ 0x83B13CC + .incbin "baserom.gba", 0x3B13CC, 0x74 + +gMapEvents_SafariZone_Building4:: @ 0x83B1440 + .incbin "baserom.gba", 0x3B1440, 0x44 + +gMapEvents_SafariZone_SecretHouse:: @ 0x83B1484 + .incbin "baserom.gba", 0x3B1484, 0x138 + +gMapEvents_CeruleanCave_1F:: @ 0x83B15BC + .incbin "baserom.gba", 0x3B15BC, 0x17C + +gMapEvents_CeruleanCave_2F:: @ 0x83B1738 + .incbin "baserom.gba", 0x3B1738, 0x13C + +gMapEvents_CeruleanCave_B1F:: @ 0x83B1874 + .incbin "baserom.gba", 0x3B1874, 0x3C + +gMapEvents_PokemonLeague_LoreleisRoom:: @ 0x83B18B0 + .incbin "baserom.gba", 0x3B18B0, 0x3C + +gMapEvents_PokemonLeague_BrunosRoom:: @ 0x83B18EC + .incbin "baserom.gba", 0x3B18EC, 0x3C + +gMapEvents_PokemonLeague_AgathasRoom:: @ 0x83B1928 + .incbin "baserom.gba", 0x3B1928, 0x3C + +gMapEvents_PokemonLeague_LancesRoom:: @ 0x83B1964 + .incbin "baserom.gba", 0x3B1964, 0x54 + +gMapEvents_PokemonLeague_ChampionsRoom:: @ 0x83B19B8 + .incbin "baserom.gba", 0x3B19B8, 0x34 + +gMapEvents_PokemonLeague_HallOfFame:: @ 0x83B19EC + .incbin "baserom.gba", 0x3B19EC, 0x140 + +gMapEvents_RockTunnel_1F:: @ 0x83B1B2C + .incbin "baserom.gba", 0x3B1B2C, 0x2A4 + +gMapEvents_RockTunnel_B1F:: @ 0x83B1DD0 + .incbin "baserom.gba", 0x3B1DD0, 0x94 + +gMapEvents_SeafoamIslands_1F:: @ 0x83B1E64 + .incbin "baserom.gba", 0x3B1E64, 0xCC + +gMapEvents_SeafoamIslands_B1F:: @ 0x83B1F30 + .incbin "baserom.gba", 0x3B1F30, 0xB4 + +gMapEvents_SeafoamIslands_B2F:: @ 0x83B1FE4 + .incbin "baserom.gba", 0x3B1FE4, 0xF8 + +gMapEvents_SeafoamIslands_B3F:: @ 0x83B20DC + .incbin "baserom.gba", 0x3B20DC, 0xE8 + +gMapEvents_SeafoamIslands_B4F:: @ 0x83B21C4 + .incbin "baserom.gba", 0x3B21C4, 0xAC + +gMapEvents_PokemonTower_1F:: @ 0x83B2270 + .incbin "baserom.gba", 0x3B2270, 0x74 + +gMapEvents_PokemonTower_2F:: @ 0x83B22E4 + .incbin "baserom.gba", 0x3B22E4, 0x84 + +gMapEvents_PokemonTower_3F:: @ 0x83B2368 + .incbin "baserom.gba", 0x3B2368, 0xB4 + +gMapEvents_PokemonTower_4F:: @ 0x83B241C + .incbin "baserom.gba", 0x3B241C, 0x1E8 + +gMapEvents_PokemonTower_5F:: @ 0x83B2604 + .incbin "baserom.gba", 0x3B2604, 0xBC + +gMapEvents_PokemonTower_6F:: @ 0x83B26C0 + .incbin "baserom.gba", 0x3B26C0, 0x88 + +gMapEvents_PokemonTower_7F:: @ 0x83B2748 + .incbin "baserom.gba", 0x3B2748, 0x114 + +gMapEvents_PowerPlant:: @ 0x83B285C + .incbin "baserom.gba", 0x3B285C, 0x15C + +gMapEvents_MtEmber_RubyPath_B4F:: @ 0x83B29B8 + .incbin "baserom.gba", 0x3B29B8, 0x26C + +gMapEvents_MtEmber_Exterior:: @ 0x83B2C24 + .incbin "baserom.gba", 0x3B2C24, 0x24 + +gMapEvents_MtEmber_SummitPath_1F:: @ 0x83B2C48 + .incbin "baserom.gba", 0x3B2C48, 0xFC + +gMapEvents_MtEmber_SummitPath_2F:: @ 0x83B2D44 + .incbin "baserom.gba", 0x3B2D44, 0x24 + +gMapEvents_MtEmber_SummitPath_3F:: @ 0x83B2D68 + .incbin "baserom.gba", 0x3B2D68, 0x94 + +gMapEvents_MtEmber_Summit:: @ 0x83B2DFC + .incbin "baserom.gba", 0x3B2DFC, 0x40 + +gMapEvents_MtEmber_RubyPath_B5F:: @ 0x83B2E3C + .incbin "baserom.gba", 0x3B2E3C, 0xA4 + +gMapEvents_SSAnne_Kitchen3:: @ 0x83B2EE0 + .incbin "baserom.gba", 0x3B2EE0, 0x84 + +gMapEvents_MtEmber_RubyPath_B1F:: @ 0x83B2F64 + .incbin "baserom.gba", 0x3B2F64, 0xCC + +gMapEvents_MtEmber_RubyPath_B2F:: @ 0x83B3030 + .incbin "baserom.gba", 0x3B3030, 0x11C + +gMapEvents_MtEmber_RubyPath_B3F:: @ 0x83B314C + .incbin "baserom.gba", 0x3B314C, 0x3C + +gMapEvents_MtEmber_RubyPath_B1F_Stairs:: @ 0x83B3188 + .incbin "baserom.gba", 0x3B3188, 0x54 + +gMapEvents_MtEmber_RubyPath_B2F_Stairs:: @ 0x83B31DC + .incbin "baserom.gba", 0x3B31DC, 0x230 + +gMapEvents_ThreeIsland_BerryForest:: @ 0x83B340C + .incbin "baserom.gba", 0x3B340C, 0x2C + +gMapEvents_FourIsland_IcefallCave_Entrance:: @ 0x83B3438 + .incbin "baserom.gba", 0x3B3438, 0x74 + +gMapEvents_FourIsland_IcefallCave_1F:: @ 0x83B34AC + .incbin "baserom.gba", 0x3B34AC, 0x5C + +gMapEvents_SSAnne_CaptainsOffice2:: @ 0x83B3508 + .incbin "baserom.gba", 0x3B3508, 0xAC + +gMapEvents_SSAnne_CaptainsOffice3:: @ 0x83B35B4 + .incbin "baserom.gba", 0x3B35B4, 0x268 + +gMapEvents_SSAnne_CaptainsOffice4:: @ 0x83B381C + .incbin "baserom.gba", 0x3B381C, 0x34 + +gMapEvents_SSAnne_CaptainsOffice5:: @ 0x83B3850 + .incbin "baserom.gba", 0x3B3850, 0x48 + +gMapEvents_SixIsland_DottedHole_B1F:: @ 0x83B3898 + .incbin "baserom.gba", 0x3B3898, 0x48 + +gMapEvents_SixIsland_DottedHole_B2F:: @ 0x83B38E0 + .incbin "baserom.gba", 0x3B38E0, 0x48 + +gMapEvents_SixIsland_DottedHole_B3F:: @ 0x83B3928 + .incbin "baserom.gba", 0x3B3928, 0x48 + +gMapEvents_SSAnne_CaptainsOffice9:: @ 0x83B3970 + .incbin "baserom.gba", 0x3B3970, 0x60 + +gMapEvents_SixIsland_DottedHole_SapphireRoom:: @ 0x83B39D0 + .incbin "baserom.gba", 0x3B39D0, 0x164 + +gMapEvents_SSAnne_1F_Room11:: @ 0x83B3B34 + .incbin "baserom.gba", 0x3B3B34, 0x1C + +gMapEvents_SSAnne_1F_Room12:: @ 0x83B3B50 + .incbin "baserom.gba", 0x3B3B50, 0x24 + +gMapEvents_NavelRock_Exterior:: @ 0x83B3B74 + .incbin "baserom.gba", 0x3B3B74, 0xCC + +gMapEvents_SevenIsland_TrainerTower_1F:: @ 0x83B3C40 + .incbin "baserom.gba", 0x3B3C40, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_2F:: @ 0x83B3D14 + .incbin "baserom.gba", 0x3B3D14, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_3F:: @ 0x83B3DE8 + .incbin "baserom.gba", 0x3B3DE8, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_4F:: @ 0x83B3EBC + .incbin "baserom.gba", 0x3B3EBC, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_5F:: @ 0x83B3F90 + .incbin "baserom.gba", 0x3B3F90, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_6F:: @ 0x83B4064 + .incbin "baserom.gba", 0x3B4064, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_7F:: @ 0x83B4138 + .incbin "baserom.gba", 0x3B4138, 0xD4 + +gMapEvents_SevenIsland_TrainerTower_8F:: @ 0x83B420C + .incbin "baserom.gba", 0x3B420C, 0x3C + +gMapEvents_SevenIsland_TrainerTower_Roof:: @ 0x83B4248 + .incbin "baserom.gba", 0x3B4248, 0xC0 + +gMapEvents_SevenIsland_TrainerTower_Lobby:: @ 0x83B4308 + .incbin "baserom.gba", 0x3B4308, 0x28 + +gMapEvents_SevenIsland_TrainerTower_Elevator:: @ 0x83B4330 + .incbin "baserom.gba", 0x3B4330, 0x24 + +gMapEvents_FiveIsland_LostCave_Entrance:: @ 0x83B4354 + .incbin "baserom.gba", 0x3B4354, 0x54 + +gMapEvents_FiveIsland_LostCave_Room1:: @ 0x83B43A8 + .incbin "baserom.gba", 0x3B43A8, 0x34 + +gMapEvents_FiveIsland_LostCave_Room2:: @ 0x83B43DC + .incbin "baserom.gba", 0x3B43DC, 0x34 + +gMapEvents_FiveIsland_LostCave_Room3:: @ 0x83B4410 + .incbin "baserom.gba", 0x3B4410, 0x4C + +gMapEvents_FiveIsland_LostCave_Room4:: @ 0x83B445C + .incbin "baserom.gba", 0x3B445C, 0x34 + +gMapEvents_FiveIsland_LostCave_Room5:: @ 0x83B4490 + .incbin "baserom.gba", 0x3B4490, 0x34 + +gMapEvents_FiveIsland_LostCave_Room6:: @ 0x83B44C4 + .incbin "baserom.gba", 0x3B44C4, 0x34 + +gMapEvents_FiveIsland_LostCave_Room7:: @ 0x83B44F8 + .incbin "baserom.gba", 0x3B44F8, 0x34 + +gMapEvents_FiveIsland_LostCave_Room8:: @ 0x83B452C + .incbin "baserom.gba", 0x3B452C, 0x34 + +gMapEvents_FiveIsland_LostCave_Room9:: @ 0x83B4560 + .incbin "baserom.gba", 0x3B4560, 0x4C + +gMapEvents_FiveIsland_LostCave_Room10:: @ 0x83B45AC + .incbin "baserom.gba", 0x3B45AC, 0x34 + +gMapEvents_FiveIsland_LostCave_Room11:: @ 0x83B45E0 + .incbin "baserom.gba", 0x3B45E0, 0x34 + +gMapEvents_FiveIsland_LostCave_Room12:: @ 0x83B4614 + .incbin "baserom.gba", 0x3B4614, 0x34 + +gMapEvents_FiveIsland_LostCave_Room13:: @ 0x83B4648 + .incbin "baserom.gba", 0x3B4648, 0x34 + +gMapEvents_FiveIsland_LostCave_Room14:: @ 0x83B467C + .incbin "baserom.gba", 0x3B467C, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_MoneanChamber:: @ 0x83B4698 + .incbin "baserom.gba", 0x3B4698, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_LiptooChamber:: @ 0x83B46B4 + .incbin "baserom.gba", 0x3B46B4, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_WeepthChamber:: @ 0x83B46D0 + .incbin "baserom.gba", 0x3B46D0, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_DilfordChamber:: @ 0x83B46EC + .incbin "baserom.gba", 0x3B46EC, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_ScufibChamber:: @ 0x83B4708 + .incbin "baserom.gba", 0x3B4708, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_RixyChamber:: @ 0x83B4724 + .incbin "baserom.gba", 0x3B4724, 0x1C + +gMapEvents_SevenIsland_TanobyRuins_ViapoisChamber:: @ 0x83B4740 + .incbin "baserom.gba", 0x3B4740, 0x48 + +gMapEvents_ThreeIsland_DunsparceTunnel:: @ 0x83B4788 + .incbin "baserom.gba", 0x3B4788, 0x134 + +gMapEvents_SevenIsland_SeavaultCanyon_TanobyKey:: @ 0x83B48BC + .incbin "baserom.gba", 0x3B48BC, 0x24 + +gMapEvents_NavelRock_1F:: @ 0x83B48E0 + .incbin "baserom.gba", 0x3B48E0, 0x50 + +gMapEvents_NavelRock_Summit:: @ 0x83B4930 + .incbin "baserom.gba", 0x3B4930, 0x34 + +gMapEvents_NavelRock_Base:: @ 0x83B4964 + .incbin "baserom.gba", 0x3B4964, 0x24 + +gMapEvents_NavelRock_SummitPath_2F:: @ 0x83B4988 + .incbin "baserom.gba", 0x3B4988, 0x24 + +gMapEvents_NavelRock_SummitPath_3F:: @ 0x83B49AC + .incbin "baserom.gba", 0x3B49AC, 0x24 + +gMapEvents_NavelRock_SummitPath_4F:: @ 0x83B49D0 + .incbin "baserom.gba", 0x3B49D0, 0x24 + +gMapEvents_NavelRock_SummitPath_5F:: @ 0x83B49F4 + .incbin "baserom.gba", 0x3B49F4, 0x24 + +gMapEvents_NavelRock_BasePath_B1F:: @ 0x83B4A18 + .incbin "baserom.gba", 0x3B4A18, 0x24 + +gMapEvents_NavelRock_BasePath_B2F:: @ 0x83B4A3C + .incbin "baserom.gba", 0x3B4A3C, 0x24 + +gMapEvents_NavelRock_BasePath_B3F:: @ 0x83B4A60 + .incbin "baserom.gba", 0x3B4A60, 0x24 + +gMapEvents_NavelRock_BasePath_B4F:: @ 0x83B4A84 + .incbin "baserom.gba", 0x3B4A84, 0x24 + +gMapEvents_NavelRock_BasePath_B5F:: @ 0x83B4AA8 + .incbin "baserom.gba", 0x3B4AA8, 0x24 + +gMapEvents_NavelRock_BasePath_B6F:: @ 0x83B4ACC + .incbin "baserom.gba", 0x3B4ACC, 0x24 + +gMapEvents_NavelRock_BasePath_B7F:: @ 0x83B4AF0 + .incbin "baserom.gba", 0x3B4AF0, 0x24 + +gMapEvents_NavelRock_BasePath_B8F:: @ 0x83B4B14 + .incbin "baserom.gba", 0x3B4B14, 0x24 + +gMapEvents_NavelRock_BasePath_B9F:: @ 0x83B4B38 + .incbin "baserom.gba", 0x3B4B38, 0x24 + +gMapEvents_NavelRock_BasePath_B10F:: @ 0x83B4B5C + .incbin "baserom.gba", 0x3B4B5C, 0x24 + +gMapEvents_NavelRock_BasePath_B11F:: @ 0x83B4B80 + .incbin "baserom.gba", 0x3B4B80, 0x24 + +gMapEvents_NavelRock_B1F:: @ 0x83B4BA4 + .incbin "baserom.gba", 0x3B4BA4, 0x2C + +gMapEvents_NavelRock_Fork:: @ 0x83B4BD0 + .incbin "baserom.gba", 0x3B4BD0, 0x4C + +gMapEvents_BirthIsland_Exterior:: @ 0x83B4C1C + .incbin "baserom.gba", 0x3B4C1C, 0xBC + +gMapEvents_OneIsland_KindleRoad_EmberSpa:: @ 0x83B4CD8 + .incbin "baserom.gba", 0x3B4CD8, 0x4C + +gMapEvents_BirthIsland_Harbor:: @ 0x83B4D24 + .incbin "baserom.gba", 0x3B4D24, 0x4C + +gMapEvents_NavelRock_Harbor:: @ 0x83B4D70 + .incbin "baserom.gba", 0x3B4D70, 0xE0 + +gMapEvents_PalletTown:: @ 0x83B4E50 + .incbin "baserom.gba", 0x3B4E50, 0x190 + +gMapEvents_ViridianCity:: @ 0x83B4FE0 + .incbin "baserom.gba", 0x3B4FE0, 0x1AC + +gMapEvents_PewterCity:: @ 0x83B518C + .incbin "baserom.gba", 0x3B518C, 0x254 + +gMapEvents_CeruleanCity:: @ 0x83B53E0 + .incbin "baserom.gba", 0x3B53E0, 0xBC + +gMapEvents_LavenderTown:: @ 0x83B549C + .incbin "baserom.gba", 0x3B549C, 0x1AC + +gMapEvents_VermilionCity:: @ 0x83B5648 + .incbin "baserom.gba", 0x3B5648, 0x250 + +gMapEvents_CeladonCity:: @ 0x83B5898 + .incbin "baserom.gba", 0x3B5898, 0x27C + +gMapEvents_FuchsiaCity:: @ 0x83B5B14 + .incbin "baserom.gba", 0x3B5B14, 0xDC + +gMapEvents_CinnabarIsland:: @ 0x83B5BF0 + .incbin "baserom.gba", 0x3B5BF0, 0x4C + +gMapEvents_IndigoPlateau_Exterior:: @ 0x83B5C3C + .incbin "baserom.gba", 0x3B5C3C, 0x260 + +gMapEvents_SaffronCity_Duplicate:: @ 0x83B5E9C + .incbin "baserom.gba", 0x3B5E9C, 0x14 + +gMapEvents_SaffronCity:: @ 0x83B5EB0 + .incbin "baserom.gba", 0x3B5EB0, 0x94 + +gMapEvents_OneIsland:: @ 0x83B5F44 + .incbin "baserom.gba", 0x3B5F44, 0x130 + +gMapEvents_TwoIsland:: @ 0x83B6074 + .incbin "baserom.gba", 0x3B6074, 0x254 + +gMapEvents_ThreeIsland:: @ 0x83B62C8 + .incbin "baserom.gba", 0x3B62C8, 0x1A4 + +gMapEvents_FourIsland:: @ 0x83B646C + .incbin "baserom.gba", 0x3B646C, 0x88 + +gMapEvents_FiveIsland:: @ 0x83B64F4 + .incbin "baserom.gba", 0x3B64F4, 0x88 + +gMapEvents_SevenIsland:: @ 0x83B657C + .incbin "baserom.gba", 0x3B657C, 0x7C + +gMapEvents_SixIsland:: @ 0x83B65F8 + .incbin "baserom.gba", 0x3B65F8, 0x50 + +gMapEvents_Route1:: @ 0x83B6648 + .incbin "baserom.gba", 0x3B6648, 0x124 + +gMapEvents_Route2:: @ 0x83B676C + .incbin "baserom.gba", 0x3B676C, 0x104 + +gMapEvents_Route3:: @ 0x83B6870 + .incbin "baserom.gba", 0x3B6870, 0x110 + +gMapEvents_Route4:: @ 0x83B6980 + .incbin "baserom.gba", 0x3B6980, 0x40 + +gMapEvents_Route5:: @ 0x83B69C0 + .incbin "baserom.gba", 0x3B69C0, 0xE0 + +gMapEvents_Route6:: @ 0x83B6AA0 + .incbin "baserom.gba", 0x3B6AA0, 0x54 + +gMapEvents_Route7:: @ 0x83B6AF4 + .incbin "baserom.gba", 0x3B6AF4, 0x1BC + +gMapEvents_Route8:: @ 0x83B6CB0 + .incbin "baserom.gba", 0x3B6CB0, 0x164 + +gMapEvents_Route9:: @ 0x83B6E14 + .incbin "baserom.gba", 0x3B6E14, 0x18C + +gMapEvents_Route10:: @ 0x83B6FA0 + .incbin "baserom.gba", 0x3B6FA0, 0x17C + +gMapEvents_Route11:: @ 0x83B711C + .incbin "baserom.gba", 0x3B711C, 0x1C0 + +gMapEvents_Route12:: @ 0x83B72DC + .incbin "baserom.gba", 0x3B72DC, 0x14C + +gMapEvents_Route13:: @ 0x83B7428 + .incbin "baserom.gba", 0x3B7428, 0x1A0 + +gMapEvents_Route14:: @ 0x83B75C8 + .incbin "baserom.gba", 0x3B75C8, 0x180 + +gMapEvents_Route15:: @ 0x83B7748 + .incbin "baserom.gba", 0x3B7748, 0x150 + +gMapEvents_Route16:: @ 0x83B7898 + .incbin "baserom.gba", 0x3B7898, 0x188 + +gMapEvents_Route17:: @ 0x83B7A20 + .incbin "baserom.gba", 0x3B7A20, 0x84 + +gMapEvents_Route18:: @ 0x83B7AA4 + .incbin "baserom.gba", 0x3B7AA4, 0x140 + +gMapEvents_Route19:: @ 0x83B7BE4 + .incbin "baserom.gba", 0x3B7BE4, 0x150 + +gMapEvents_Route20:: @ 0x83B7D34 + .incbin "baserom.gba", 0x3B7D34, 0xB0 + +gMapEvents_Route21_North:: @ 0x83B7DE4 + .incbin "baserom.gba", 0x3B7DE4, 0x8C + +gMapEvents_Route21_South:: @ 0x83B7E70 + .incbin "baserom.gba", 0x3B7E70, 0xA8 + +gMapEvents_Route22:: @ 0x83B7F18 + .incbin "baserom.gba", 0x3B7F18, 0x3E8 + +gMapEvents_Route23:: @ 0x83B8300 + .incbin "baserom.gba", 0x3B8300, 0x100 + +gMapEvents_Route24:: @ 0x83B8400 + .incbin "baserom.gba", 0x3B8400, 0x190 + +gMapEvents_Route25:: @ 0x83B8590 + .incbin "baserom.gba", 0x3B8590, 0x2FC + +gMapEvents_OneIsland_KindleRoad:: @ 0x83B888C + .incbin "baserom.gba", 0x3B888C, 0xA4 + +gMapEvents_OneIsland_TreasureBeach:: @ 0x83B8930 + .incbin "baserom.gba", 0x3B8930, 0x34 + +gMapEvents_TwoIsland_CapeBrink:: @ 0x83B8964 + .incbin "baserom.gba", 0x3B8964, 0x138 + +gMapEvents_ThreeIsland_BondBridge:: @ 0x83B8A9C + .incbin "baserom.gba", 0x3B8A9C, 0x74 + +gMapEvents_ThreeIsland_Port:: @ 0x83B8B10 + .incbin "baserom.gba", 0x3B8B10, 0x14 + +gMapEvents_UnknownMap_03_50:: @ 0x83B8B24 + .incbin "baserom.gba", 0x3B8B24, 0x14 + +gMapEvents_UnknownMap_03_51:: @ 0x83B8B38 + .incbin "baserom.gba", 0x3B8B38, 0x14 + +gMapEvents_UnknownMap_03_52:: @ 0x83B8B4C + .incbin "baserom.gba", 0x3B8B4C, 0x14 + +gMapEvents_UnknownMap_03_53:: @ 0x83B8B60 + .incbin "baserom.gba", 0x3B8B60, 0x120 + +gMapEvents_FiveIsland_ResortGorgeous:: @ 0x83B8C80 + .incbin "baserom.gba", 0x3B8C80, 0x44 + +gMapEvents_FiveIsland_WaterLabyrinth:: @ 0x83B8CC4 + .incbin "baserom.gba", 0x3B8CC4, 0xD0 + +gMapEvents_FiveIsland_Meadow:: @ 0x83B8D94 + .incbin "baserom.gba", 0x3B8D94, 0xC8 + +gMapEvents_FiveIsland_MemorialPillar:: @ 0x83B8E5C + .incbin "baserom.gba", 0x3B8E5C, 0xDC + +gMapEvents_SixIsland_OutcastIsland:: @ 0x83B8F38 + .incbin "baserom.gba", 0x3B8F38, 0x70 + +gMapEvents_SixIsland_GreenPath:: @ 0x83B8FA8 + .incbin "baserom.gba", 0x3B8FA8, 0x138 + +gMapEvents_SixIsland_WaterPath:: @ 0x83B90E0 + .incbin "baserom.gba", 0x3B90E0, 0x1C0 + +gMapEvents_SixIsland_RuinValley:: @ 0x83B92A0 + .incbin "baserom.gba", 0x3B92A0, 0x88 + +gMapEvents_SevenIsland_TrainerTower:: @ 0x83B9328 + .incbin "baserom.gba", 0x3B9328, 0xD4 + +gMapEvents_SevenIsland_SevaultCanyon_Entrance:: @ 0x83B93FC + .incbin "baserom.gba", 0x3B93FC, 0x21C + +gMapEvents_SevenIsland_SevaultCanyon:: @ 0x83B9618 + .incbin "baserom.gba", 0x3B9618, 0xDC + +gMapEvents_SevenIsland_TanobyRuins:: @ 0x83B96F4 + .incbin "baserom.gba", 0x3B96F4, 0x58 + +gMapEvents_PalletTown_PlayersHouse_1F:: @ 0x83B974C + .incbin "baserom.gba", 0x3B974C, 0x40 + +gMapEvents_PalletTown_PlayersHouse_2F:: @ 0x83B978C + .incbin "baserom.gba", 0x3B978C, 0x80 + +gMapEvents_PalletTown_GarysHouse:: @ 0x83B980C + .incbin "baserom.gba", 0x3B980C, 0x1AC + +gMapEvents_PalletTown_ProfessorOaksLab:: @ 0x83B99B8 + .incbin "baserom.gba", 0x3B99B8, 0x80 + +gMapEvents_ViridianCity_House1:: @ 0x83B9A38 + .incbin "baserom.gba", 0x3B9A38, 0x140 + +gMapEvents_ViridianCity_Gym:: @ 0x83B9B78 + .incbin "baserom.gba", 0x3B9B78, 0x98 + +gMapEvents_ViridianCity_House2:: @ 0x83B9C10 + .incbin "baserom.gba", 0x3B9C10, 0x74 + +gMapEvents_ViridianCity_Mart:: @ 0x83B9C84 + .incbin "baserom.gba", 0x3B9C84, 0x94 + +gMapEvents_ViridianCity_PokemonCenter_1F:: @ 0x83B9D18 + .incbin "baserom.gba", 0x3B9D18, 0x8C + +gMapEvents_ViridianCity_PokemonCenter_2F:: @ 0x83B9DA4 + .incbin "baserom.gba", 0x3B9DA4, 0x134 + +gMapEvents_PewterCity_Museum_1F:: @ 0x83B9ED8 + .incbin "baserom.gba", 0x3B9ED8, 0xF4 + +gMapEvents_PewterCity_Museum_2F:: @ 0x83B9FCC + .incbin "baserom.gba", 0x3B9FCC, 0x8C + +gMapEvents_PewterCity_Gym:: @ 0x83BA058 + .incbin "baserom.gba", 0x3BA058, 0x74 + +gMapEvents_PewterCity_Mart:: @ 0x83BA0CC + .incbin "baserom.gba", 0x3BA0CC, 0x74 + +gMapEvents_PewterCity_House1:: @ 0x83BA140 + .incbin "baserom.gba", 0x3BA140, 0xDC + +gMapEvents_PewterCity_PokemonCenter_1F:: @ 0x83BA21C + .incbin "baserom.gba", 0x3BA21C, 0x8C + +gMapEvents_PewterCity_PokemonCenter_2F:: @ 0x83BA2A8 + .incbin "baserom.gba", 0x3BA2A8, 0x5C + +gMapEvents_PewterCity_House2:: @ 0x83BA304 + .incbin "baserom.gba", 0x3BA304, 0x4C + +gMapEvents_CeruleanCity_House1:: @ 0x83BA350 + .incbin "baserom.gba", 0x3BA350, 0x70 + +gMapEvents_CeruleanCity_House2:: @ 0x83BA3C0 + .incbin "baserom.gba", 0x3BA3C0, 0x5C + +gMapEvents_CeruleanCity_House3:: @ 0x83BA41C + .incbin "baserom.gba", 0x3BA41C, 0xDC + +gMapEvents_CeruleanCity_PokemonCenter_1F:: @ 0x83BA4F8 + .incbin "baserom.gba", 0x3BA4F8, 0x8C + +gMapEvents_CeruleanCity_PokemonCenter_2F:: @ 0x83BA584 + .incbin "baserom.gba", 0x3BA584, 0xA4 + +gMapEvents_CeruleanCity_Gym:: @ 0x83BA628 + .incbin "baserom.gba", 0x3BA628, 0xD4 + +gMapEvents_CeruleanCity_BikeShop:: @ 0x83BA6FC + .incbin "baserom.gba", 0x3BA6FC, 0x74 + +gMapEvents_CeruleanCity_Mart:: @ 0x83BA770 + .incbin "baserom.gba", 0x3BA770, 0x34 + +gMapEvents_CeruleanCity_House4:: @ 0x83BA7A4 + .incbin "baserom.gba", 0x3BA7A4, 0x40 + +gMapEvents_CeruleanCity_House5:: @ 0x83BA7E4 + .incbin "baserom.gba", 0x3BA7E4, 0xAC + +gMapEvents_LavenderTown_PokemonCenter_1F:: @ 0x83BA890 + .incbin "baserom.gba", 0x3BA890, 0x8C + +gMapEvents_LavenderTown_PokemonCenter_2F:: @ 0x83BA91C + .incbin "baserom.gba", 0x3BA91C, 0xE0 + +gMapEvents_LavenderTown_VolunteerPokemonHouse:: @ 0x83BA9FC + .incbin "baserom.gba", 0x3BA9FC, 0x5C + +gMapEvents_LavenderTown_House1:: @ 0x83BAA58 + .incbin "baserom.gba", 0x3BAA58, 0x44 + +gMapEvents_LavenderTown_House2:: @ 0x83BAA9C + .incbin "baserom.gba", 0x3BAA9C, 0x8C + +gMapEvents_LavenderTown_Mart:: @ 0x83BAB28 + .incbin "baserom.gba", 0x3BAB28, 0x44 + +gMapEvents_VermilionCity_House1:: @ 0x83BAB6C + .incbin "baserom.gba", 0x3BAB6C, 0xDC + +gMapEvents_VermilionCity_PokemonCenter_1F:: @ 0x83BAC48 + .incbin "baserom.gba", 0x3BAC48, 0x8C + +gMapEvents_VermilionCity_PokemonCenter_2F:: @ 0x83BACD4 + .incbin "baserom.gba", 0x3BACD4, 0xD4 + +gMapEvents_VermilionCity_PokemonFanClub:: @ 0x83BADA8 + .incbin "baserom.gba", 0x3BADA8, 0x44 + +gMapEvents_VermilionCity_House2:: @ 0x83BADEC + .incbin "baserom.gba", 0x3BADEC, 0x74 + +gMapEvents_VermilionCity_Mart:: @ 0x83BAE60 + .incbin "baserom.gba", 0x3BAE60, 0x170 + +gMapEvents_VermilionCity_Gym:: @ 0x83BAFD0 + .incbin "baserom.gba", 0x3BAFD0, 0x98 + +gMapEvents_VermilionCity_House3:: @ 0x83BB068 + .incbin "baserom.gba", 0x3BB068, 0x84 + +gMapEvents_CeladonCity_DepartmentStore_1F:: @ 0x83BB0EC + .incbin "baserom.gba", 0x3BB0EC, 0x98 + +gMapEvents_CeladonCity_DepartmentStore_2F:: @ 0x83BB184 + .incbin "baserom.gba", 0x3BB184, 0x128 + +gMapEvents_CeladonCity_DepartmentStore_3F:: @ 0x83BB2AC + .incbin "baserom.gba", 0x3BB2AC, 0x80 + +gMapEvents_CeladonCity_DepartmentStore_4F:: @ 0x83BB32C + .incbin "baserom.gba", 0x3BB32C, 0x98 + +gMapEvents_CeladonCity_DepartmentStore_5F:: @ 0x83BB3C4 + .incbin "baserom.gba", 0x3BB3C4, 0x7C + +gMapEvents_CeladonCity_DepartmentStore_Roof:: @ 0x83BB440 + .incbin "baserom.gba", 0x3BB440, 0x3C + +gMapEvents_CeladonCity_DepartmentStore_Elevator:: @ 0x83BB47C + .incbin "baserom.gba", 0x3BB47C, 0xBC + +gMapEvents_CeladonCity_Condominiums_1F:: @ 0x83BB538 + .incbin "baserom.gba", 0x3BB538, 0x7C + +gMapEvents_CeladonCity_Condominiums_2F:: @ 0x83BB5B4 + .incbin "baserom.gba", 0x3BB5B4, 0xF4 + +gMapEvents_CeladonCity_Condominiums_3F:: @ 0x83BB6A8 + .incbin "baserom.gba", 0x3BB6A8, 0x44 + +gMapEvents_CeladonCity_Condominiums_Roof:: @ 0x83BB6EC + .incbin "baserom.gba", 0x3BB6EC, 0x80 + +gMapEvents_CeladonCity_Condominiums_RoofRoom:: @ 0x83BB76C + .incbin "baserom.gba", 0x3BB76C, 0x94 + +gMapEvents_CeladonCity_PokemonCenter_1F:: @ 0x83BB800 + .incbin "baserom.gba", 0x3BB800, 0x8C + +gMapEvents_CeladonCity_PokemonCenter_2F:: @ 0x83BB88C + .incbin "baserom.gba", 0x3BB88C, 0x2EC + +gMapEvents_CeladonCity_GameCorner:: @ 0x83BBB78 + .incbin "baserom.gba", 0x3BBB78, 0xA4 + +gMapEvents_CeladonCity_GameCorner_PrizeRoom:: @ 0x83BBC1C + .incbin "baserom.gba", 0x3BBC1C, 0x14C + +gMapEvents_CeladonCity_Gym:: @ 0x83BBD68 + .incbin "baserom.gba", 0x3BBD68, 0xA4 + +gMapEvents_CeladonCity_Restaurant:: @ 0x83BBE0C + .incbin "baserom.gba", 0x3BBE0C, 0x74 + +gMapEvents_CeladonCity_House1:: @ 0x83BBE80 + .incbin "baserom.gba", 0x3BBE80, 0x8C + +gMapEvents_CeladonCity_Hotel:: @ 0x83BBF0C + .incbin "baserom.gba", 0x3BBF0C, 0x94 + +gMapEvents_FuchsiaCity_SafariZone_Entrance:: @ 0x83BBFA0 + .incbin "baserom.gba", 0x3BBFA0, 0x74 + +gMapEvents_FuchsiaCity_Mart:: @ 0x83BC014 + .incbin "baserom.gba", 0x3BC014, 0x8C + +gMapEvents_FuchsiaCity_ZooBuilding:: @ 0x83BC0A0 + .incbin "baserom.gba", 0x3BC0A0, 0x104 + +gMapEvents_FuchsiaCity_Gym:: @ 0x83BC1A4 + .incbin "baserom.gba", 0x3BC1A4, 0x74 + +gMapEvents_FuchsiaCity_House1:: @ 0x83BC218 + .incbin "baserom.gba", 0x3BC218, 0x94 + +gMapEvents_FuchsiaCity_PokemonCenter_1F:: @ 0x83BC2AC + .incbin "baserom.gba", 0x3BC2AC, 0x8C + +gMapEvents_FuchsiaCity_PokemonCenter_2F:: @ 0x83BC338 + .incbin "baserom.gba", 0x3BC338, 0xBC + +gMapEvents_FuchsiaCity_Building1:: @ 0x83BC3F4 + .incbin "baserom.gba", 0x3BC3F4, 0x4C + +gMapEvents_FuchsiaCity_House2:: @ 0x83BC440 + .incbin "baserom.gba", 0x3BC440, 0x34 + +gMapEvents_FuchsiaCity_House3:: @ 0x83BC474 + .incbin "baserom.gba", 0x3BC474, 0x1B8 + +gMapEvents_CinnabarIsland_Gym:: @ 0x83BC62C + .incbin "baserom.gba", 0x3BC62C, 0x8C + +gMapEvents_CinnabarIsland_PokemonLab_Entrance:: @ 0x83BC6B8 + .incbin "baserom.gba", 0x3BC6B8, 0x64 + +gMapEvents_CinnabarIsland_PokemonLab_Lounge:: @ 0x83BC71C + .incbin "baserom.gba", 0x3BC71C, 0x64 + +gMapEvents_CinnabarIsland_PokemonLab_ResearchRoom:: @ 0x83BC780 + .incbin "baserom.gba", 0x3BC780, 0x4C + +gMapEvents_CinnabarIsland_PokemonLab_ExperimentRoom:: @ 0x83BC7CC + .incbin "baserom.gba", 0x3BC7CC, 0xDC + +gMapEvents_CinnabarIsland_PokemonCenter_1F:: @ 0x83BC8A8 + .incbin "baserom.gba", 0x3BC8A8, 0x8C + +gMapEvents_CinnabarIsland_PokemonCenter_2F:: @ 0x83BC934 + .incbin "baserom.gba", 0x3BC934, 0x74 + +gMapEvents_CinnabarIsland_Mart:: @ 0x83BC9A8 + .incbin "baserom.gba", 0x3BC9A8, 0xEC + +gMapEvents_IndigoPlateau_PokemonCenter_1F:: @ 0x83BCA94 + .incbin "baserom.gba", 0x3BCA94, 0x8C + +gMapEvents_IndigoPlateau_PokemonCenter_2F:: @ 0x83BCB20 + .incbin "baserom.gba", 0x3BCB20, 0x7C + +gMapEvents_SaffronCity_House1_1F:: @ 0x83BCB9C + .incbin "baserom.gba", 0x3BCB9C, 0xA0 + +gMapEvents_SaffronCity_House1_2F:: @ 0x83BCC3C + .incbin "baserom.gba", 0x3BCC3C, 0x124 + +gMapEvents_SaffronCity_Dojo:: @ 0x83BCD60 + .incbin "baserom.gba", 0x3BCD60, 0x20C + +gMapEvents_SaffronCity_Gym:: @ 0x83BCF6C + .incbin "baserom.gba", 0x3BCF6C, 0x98 + +gMapEvents_SaffronCity_House2:: @ 0x83BD004 + .incbin "baserom.gba", 0x3BD004, 0x74 + +gMapEvents_SaffronCity_Mart:: @ 0x83BD078 + .incbin "baserom.gba", 0x3BD078, 0xC4 + +gMapEvents_SaffronCity_PokemonCenter_1F:: @ 0x83BD13C + .incbin "baserom.gba", 0x3BD13C, 0x8C + +gMapEvents_SaffronCity_PokemonCenter_2F:: @ 0x83BD1C8 + .incbin "baserom.gba", 0x3BD1C8, 0x44 + +gMapEvents_SaffronCity_House3:: @ 0x83BD20C + .incbin "baserom.gba", 0x3BD20C, 0x10C + +gMapEvents_SaffronCity_PokemonTrainerFanClub:: @ 0x83BD318 + .incbin "baserom.gba", 0x3BD318, 0x64 + +gMapEvents_Route2_ViridianForest_SouthEntrance:: @ 0x83BD37C + .incbin "baserom.gba", 0x3BD37C, 0x5C + +gMapEvents_Route2_House:: @ 0x83BD3D8 + .incbin "baserom.gba", 0x3BD3D8, 0x64 + +gMapEvents_Route2_EastBuilding:: @ 0x83BD43C + .incbin "baserom.gba", 0x3BD43C, 0x7C + +gMapEvents_Route2_ViridianForest_NorthEntrance:: @ 0x83BD4B8 + .incbin "baserom.gba", 0x3BD4B8, 0xC4 + +gMapEvents_Route4_PokemonCenter_1F:: @ 0x83BD57C + .incbin "baserom.gba", 0x3BD57C, 0x8C + +gMapEvents_Route4_PokemonCenter_2F:: @ 0x83BD608 + .incbin "baserom.gba", 0x3BD608, 0x44 + +gMapEvents_Route5_PokemonDayCare:: @ 0x83BD64C + .incbin "baserom.gba", 0x3BD64C, 0x7C + +gMapEvents_Route5_SouthEntrance:: @ 0x83BD6C8 + .incbin "baserom.gba", 0x3BD6C8, 0x7C + +gMapEvents_Route6_NorthEntrance:: @ 0x83BD744 + .incbin "baserom.gba", 0x3BD744, 0x14 + +gMapEvents_UnknownMap_18_01:: @ 0x83BD758 + .incbin "baserom.gba", 0x3BD758, 0x7C + +gMapEvents_Route7_EastEntrance:: @ 0x83BD7D4 + .incbin "baserom.gba", 0x3BD7D4, 0x7C + +gMapEvents_Route8_WestEntrance:: @ 0x83BD850 + .incbin "baserom.gba", 0x3BD850, 0xAC + +gMapEvents_Route10_PokemonCenter_1F:: @ 0x83BD8FC + .incbin "baserom.gba", 0x3BD8FC, 0x8C + +gMapEvents_Route10_PokemonCenter_2F:: @ 0x83BD988 + .incbin "baserom.gba", 0x3BD988, 0x6C + +gMapEvents_Route11_EastEntrance_1F:: @ 0x83BD9F4 + .incbin "baserom.gba", 0x3BD9F4, 0x64 + +gMapEvents_Route11_EastEntrance_2F:: @ 0x83BDA58 + .incbin "baserom.gba", 0x3BDA58, 0x54 + +gMapEvents_Route12_NorthEntrance_1F:: @ 0x83BDAAC + .incbin "baserom.gba", 0x3BDAAC, 0x4C + +gMapEvents_Route12_NorthEntrance_2F:: @ 0x83BDAF8 + .incbin "baserom.gba", 0x3BDAF8, 0x50 + +gMapEvents_Route12_FishingHouse:: @ 0x83BDB48 + .incbin "baserom.gba", 0x3BDB48, 0x54 + +gMapEvents_Route15_WestEntrance_1F:: @ 0x83BDB9C + .incbin "baserom.gba", 0x3BDB9C, 0x4C + +gMapEvents_Route15_WestEntrance_2F:: @ 0x83BDBE8 + .incbin "baserom.gba", 0x3BDBE8, 0x5C + +gMapEvents_Route16_House:: @ 0x83BDC44 + .incbin "baserom.gba", 0x3BDC44, 0x11C + +gMapEvents_Route16_NorthEntrance_1F:: @ 0x83BDD60 + .incbin "baserom.gba", 0x3BDD60, 0x7C + +gMapEvents_Route16_NorthEntrance_2F:: @ 0x83BDDDC + .incbin "baserom.gba", 0x3BDDDC, 0xF4 + +gMapEvents_Route18_EastEntrance_1F:: @ 0x83BDED0 + .incbin "baserom.gba", 0x3BDED0, 0x4C + +gMapEvents_Route18_EastEntrance_2F:: @ 0x83BDF1C + .incbin "baserom.gba", 0x3BDF1C, 0x14 + +gMapEvents_UnusedHouse_27_00:: @ 0x83BDF30 + .incbin "baserom.gba", 0x3BDF30, 0x5C + +gMapEvents_Route22_NorthEntrance:: @ 0x83BDF8C + .incbin "baserom.gba", 0x3BDF8C, 0x14 + +gMapEvents_UnusedHouse_29_00:: @ 0x83BDFA0 + .incbin "baserom.gba", 0x3BDFA0, 0x68 + +gMapEvents_Route25_SeaCottage:: @ 0x83BE008 + .incbin "baserom.gba", 0x3BE008, 0x48 + +gMapEvents_SevenIsland_House_Room1:: @ 0x83BE050 + .incbin "baserom.gba", 0x3BE050, 0x34 + +gMapEvents_SevenIsland_House_Room2:: @ 0x83BE084 + .incbin "baserom.gba", 0x3BE084, 0x7C + +gMapEvents_SevenIsland_Mart:: @ 0x83BE100 + .incbin "baserom.gba", 0x3BE100, 0xB4 + +gMapEvents_SevenIsland_PokemonCenter_1F:: @ 0x83BE1B4 + .incbin "baserom.gba", 0x3BE1B4, 0x8C + +gMapEvents_SevenIsland_PokemonCenter_2F:: @ 0x83BE240 + .incbin "baserom.gba", 0x3BE240, 0x14 + +gMapEvents_UnusedHouse_31_05:: @ 0x83BE254 + .incbin "baserom.gba", 0x3BE254, 0x4C + +gMapEvents_SevenIsland_Harbor:: @ 0x83BE2A0 + .incbin "baserom.gba", 0x3BE2A0, 0x160 + +gMapEvents_OneIsland_PokemonCenter_1F:: @ 0x83BE400 + .incbin "baserom.gba", 0x3BE400, 0x8C + +gMapEvents_OneIsland_PokemonCenter_2F:: @ 0x83BE48C + .incbin "baserom.gba", 0x3BE48C, 0x4C + +gMapEvents_OneIsland_House1:: @ 0x83BE4D8 + .incbin "baserom.gba", 0x3BE4D8, 0x34 + +gMapEvents_OneIsland_House2:: @ 0x83BE50C + .incbin "baserom.gba", 0x3BE50C, 0x4C + +gMapEvents_OneIsland_Harbor:: @ 0x83BE558 + .incbin "baserom.gba", 0x3BE558, 0x94 + +gMapEvents_TwoIsland_JoyfulGameCorner:: @ 0x83BE5EC + .incbin "baserom.gba", 0x3BE5EC, 0x34 + +gMapEvents_TwoIsland_House:: @ 0x83BE620 + .incbin "baserom.gba", 0x3BE620, 0x6C + +gMapEvents_TwoIsland_PokemonCenter_1F:: @ 0x83BE68C + .incbin "baserom.gba", 0x3BE68C, 0x8C + +gMapEvents_TwoIsland_PokemonCenter_2F:: @ 0x83BE718 + .incbin "baserom.gba", 0x3BE718, 0x4C + +gMapEvents_TwoIsland_Harbor:: @ 0x83BE764 + .incbin "baserom.gba", 0x3BE764, 0x40 + +gMapEvents_ThreeIsland_House1:: @ 0x83BE7A4 + .incbin "baserom.gba", 0x3BE7A4, 0x84 + +gMapEvents_ThreeIsland_PokemonCenter_1F:: @ 0x83BE828 + .incbin "baserom.gba", 0x3BE828, 0x8C + +gMapEvents_ThreeIsland_PokemonCenter_2F:: @ 0x83BE8B4 + .incbin "baserom.gba", 0x3BE8B4, 0x7C + +gMapEvents_ThreeIsland_Mart:: @ 0x83BE930 + .incbin "baserom.gba", 0x3BE930, 0x4C + +gMapEvents_ThreeIsland_House2:: @ 0x83BE97C + .incbin "baserom.gba", 0x3BE97C, 0x34 + +gMapEvents_ThreeIsland_House3:: @ 0x83BE9B0 + .incbin "baserom.gba", 0x3BE9B0, 0x4C + +gMapEvents_ThreeIsland_House4:: @ 0x83BE9FC + .incbin "baserom.gba", 0x3BE9FC, 0x34 + +gMapEvents_ThreeIsland_House5:: @ 0x83BEA30 + .incbin "baserom.gba", 0x3BEA30, 0x34 + +gMapEvents_FourIsland_PokemonDayCare:: @ 0x83BEA64 + .incbin "baserom.gba", 0x3BEA64, 0x9C + +gMapEvents_FourIsland_PokemonCenter_1F:: @ 0x83BEB00 + .incbin "baserom.gba", 0x3BEB00, 0x8C + +gMapEvents_FourIsland_PokemonCenter_2F:: @ 0x83BEB8C + .incbin "baserom.gba", 0x3BEB8C, 0x4C + +gMapEvents_FourIsland_House1:: @ 0x83BEBD8 + .incbin "baserom.gba", 0x3BEBD8, 0x184 + +gMapEvents_FourIsland_LoreleisHouse:: @ 0x83BED5C + .incbin "baserom.gba", 0x3BED5C, 0x4C + +gMapEvents_FourIsland_Harbor:: @ 0x83BEDA8 + .incbin "baserom.gba", 0x3BEDA8, 0x34 + +gMapEvents_FourIsland_House2:: @ 0x83BEDDC + .incbin "baserom.gba", 0x3BEDDC, 0x64 + +gMapEvents_FourIsland_Mart:: @ 0x83BEE40 + .incbin "baserom.gba", 0x3BEE40, 0x9C + +gMapEvents_FiveIsland_PokemonCenter_1F:: @ 0x83BEEDC + .incbin "baserom.gba", 0x3BEEDC, 0x8C + +gMapEvents_FiveIsland_PokemonCenter_2F:: @ 0x83BEF68 + .incbin "baserom.gba", 0x3BEF68, 0x4C + +gMapEvents_FiveIsland_Harbor:: @ 0x83BEFB4 + .incbin "baserom.gba", 0x3BEFB4, 0x34 + +gMapEvents_FiveIsland_House1:: @ 0x83BEFE8 + .incbin "baserom.gba", 0x3BEFE8, 0x34 + +gMapEvents_FiveIsland_House2:: @ 0x83BF01C + .incbin "baserom.gba", 0x3BF01C, 0x84 + +gMapEvents_SixIsland_PokemonCenter_1F:: @ 0x83BF0A0 + .incbin "baserom.gba", 0x3BF0A0, 0x8C + +gMapEvents_SixIsland_PokemonCenter_2F:: @ 0x83BF12C + .incbin "baserom.gba", 0x3BF12C, 0x4C + +gMapEvents_SixIsland_Harbor:: @ 0x83BF178 + .incbin "baserom.gba", 0x3BF178, 0x34 + +gMapEvents_SixIsland_House:: @ 0x83BF1AC + .incbin "baserom.gba", 0x3BF1AC, 0x64 + +gMapEvents_SixIsland_Mart:: @ 0x83BF210 + .incbin "baserom.gba", 0x3BF210, 0x4C + +gMapEvents_ThreeIsland_Harbor:: @ 0x83BF25C + .incbin "baserom.gba", 0x3BF25C, 0x64 + +gMapEvents_FiveIsland_ResortGorgeous_House:: @ 0x83BF2C0 + .incbin "baserom.gba", 0x3BF2C0, 0x34 + +gMapEvents_TwoIsland_CapeBrink_House:: @ 0x83BF2F4 + .incbin "baserom.gba", 0x3BF2F4, 0x40 + +gMapEvents_SixIsland_WaterPath_House1:: @ 0x83BF334 + .incbin "baserom.gba", 0x3BF334, 0x34 + +gMapEvents_SixIsland_WaterPath_House2:: @ 0x83BF368 + .incbin "baserom.gba", 0x3BF368, 0x64 + +gMapEvents_SevenIsland_SevaultCanyon_House:: @ 0x83BF3CC + .incbin "baserom.gba", 0x3BF3CC, 0x188 diff --git a/data/map_obj_80688E4.s b/data/map_obj_80688E4.s new file mode 100644 index 000000000..9010be906 --- /dev/null +++ b/data/map_obj_80688E4.s @@ -0,0 +1,30 @@ + .section .rodata + .align 2 +gUnknown_83A719C:: @ 83A719C + .incbin "baserom.gba", 0x3A719C, 0x14 + +gUnknown_83A71B0:: @ 83A71B0 + .incbin "baserom.gba", 0x3A71B0, 0x3C + +gUnknown_83A71EC:: @ 83A71EC + .incbin "baserom.gba", 0x3A71EC, 0xC + +gUnknown_83A71F8:: @ 83A71F8 + .incbin "baserom.gba", 0x3A71F8, 0x6 + +gUnknown_83A71FE:: @ 83A71FE + .incbin "baserom.gba", 0x3A71FE, 0x4 + +gUnknown_83A7202:: @ 83A7202 + .incbin "baserom.gba", 0x3A7202, 0x6 + +gUnknown_83A7208:: @ 83A7208 + .incbin "baserom.gba", 0x3A7208, 0x4 + + .align 2 +gUnknown_83A720C:: @ 83A720C + .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c" + + .align 2 +gUnknown_83A7240:: @ 83A7240 + .asciz "0" diff --git a/data/maps/groups.inc b/data/maps/groups.inc index 27168da81..d96d28329 100644 --- a/data/maps/groups.inc +++ b/data/maps/groups.inc @@ -1,1788 +1,4338 @@ -gMap_00_00:: @ 834F188 - .incbin "baserom.gba", 0x34F188, 0x1C - -gMap_00_01:: @ 834F1A4 - .incbin "baserom.gba", 0x34F1A4, 0x1C - -gMap_00_02:: @ 834F1C0 - .incbin "baserom.gba", 0x34F1C0, 0x1C - -gMap_00_03:: @ 834F1DC - .incbin "baserom.gba", 0x34F1DC, 0x1C - -gMap_00_04:: @ 834F1F8 - .incbin "baserom.gba", 0x34F1F8, 0x1C - -gMap_01_00:: @ 834F214 - .incbin "baserom.gba", 0x34F214, 0x1C - -gMap_01_01:: @ 834F230 - .incbin "baserom.gba", 0x34F230, 0x1C - -gMap_01_02:: @ 834F24C - .incbin "baserom.gba", 0x34F24C, 0x1C - -gMap_01_03:: @ 834F268 - .incbin "baserom.gba", 0x34F268, 0x1C - -gMap_01_04:: @ 834F284 - .incbin "baserom.gba", 0x34F284, 0x1C - -gMap_01_05:: @ 834F2A0 - .incbin "baserom.gba", 0x34F2A0, 0x1C - -gMap_01_06:: @ 834F2BC - .incbin "baserom.gba", 0x34F2BC, 0x1C - -gMap_01_07:: @ 834F2D8 - .incbin "baserom.gba", 0x34F2D8, 0x1C - -gMap_01_08:: @ 834F2F4 - .incbin "baserom.gba", 0x34F2F4, 0x1C - -gMap_01_09:: @ 834F310 - .incbin "baserom.gba", 0x34F310, 0x1C - -gMap_01_10:: @ 834F32C - .incbin "baserom.gba", 0x34F32C, 0x1C - -gMap_01_11:: @ 834F348 - .incbin "baserom.gba", 0x34F348, 0x1C - -gMap_01_12:: @ 834F364 - .incbin "baserom.gba", 0x34F364, 0x1C - -gMap_01_13:: @ 834F380 - .incbin "baserom.gba", 0x34F380, 0x1C - -gMap_01_14:: @ 834F39C - .incbin "baserom.gba", 0x34F39C, 0x1C - -gMap_01_15:: @ 834F3B8 - .incbin "baserom.gba", 0x34F3B8, 0x1C - -gMap_01_16:: @ 834F3D4 - .incbin "baserom.gba", 0x34F3D4, 0x1C - -gMap_01_17:: @ 834F3F0 - .incbin "baserom.gba", 0x34F3F0, 0x1C - -gMap_01_18:: @ 834F40C - .incbin "baserom.gba", 0x34F40C, 0x1C - -gMap_01_19:: @ 834F428 - .incbin "baserom.gba", 0x34F428, 0x1C - -gMap_01_20:: @ 834F444 - .incbin "baserom.gba", 0x34F444, 0x1C - -gMap_01_21:: @ 834F460 - .incbin "baserom.gba", 0x34F460, 0x1C - -gMap_01_22:: @ 834F47C - .incbin "baserom.gba", 0x34F47C, 0x1C - -gMap_01_23:: @ 834F498 - .incbin "baserom.gba", 0x34F498, 0x1C - -gMap_01_24:: @ 834F4B4 - .incbin "baserom.gba", 0x34F4B4, 0x1C - -gMap_01_25:: @ 834F4D0 - .incbin "baserom.gba", 0x34F4D0, 0x1C - -gMap_01_26:: @ 834F4EC - .incbin "baserom.gba", 0x34F4EC, 0x1C - -gMap_01_27:: @ 834F508 - .incbin "baserom.gba", 0x34F508, 0x1C - -gMap_01_28:: @ 834F524 - .incbin "baserom.gba", 0x34F524, 0x1C - -gMap_01_29:: @ 834F540 - .incbin "baserom.gba", 0x34F540, 0x1C - -gMap_01_30:: @ 834F55C - .incbin "baserom.gba", 0x34F55C, 0x1C - -gMap_01_31:: @ 834F578 - .incbin "baserom.gba", 0x34F578, 0x1C - -gMap_01_32:: @ 834F594 - .incbin "baserom.gba", 0x34F594, 0x1C - -gMap_01_33:: @ 834F5B0 - .incbin "baserom.gba", 0x34F5B0, 0x1C - -gMap_01_34:: @ 834F5CC - .incbin "baserom.gba", 0x34F5CC, 0x1C - -gMap_01_35:: @ 834F5E8 - .incbin "baserom.gba", 0x34F5E8, 0x1C - -gMap_01_36:: @ 834F604 - .incbin "baserom.gba", 0x34F604, 0x1C - -gMap_01_37:: @ 834F620 - .incbin "baserom.gba", 0x34F620, 0x1C - -gMap_01_38:: @ 834F63C - .incbin "baserom.gba", 0x34F63C, 0x1C - -gMap_01_39:: @ 834F658 - .incbin "baserom.gba", 0x34F658, 0x1C - -gMap_01_40:: @ 834F674 - .incbin "baserom.gba", 0x34F674, 0x1C - -gMap_01_41:: @ 834F690 - .incbin "baserom.gba", 0x34F690, 0x1C - -gMap_01_42:: @ 834F6AC - .incbin "baserom.gba", 0x34F6AC, 0x1C - -gMap_01_43:: @ 834F6C8 - .incbin "baserom.gba", 0x34F6C8, 0x1C - -gMap_01_44:: @ 834F6E4 - .incbin "baserom.gba", 0x34F6E4, 0x1C - -gMap_01_45:: @ 834F700 - .incbin "baserom.gba", 0x34F700, 0x1C - -gMap_01_46:: @ 834F71C - .incbin "baserom.gba", 0x34F71C, 0x1C - -gMap_01_47:: @ 834F738 - .incbin "baserom.gba", 0x34F738, 0x1C - -gMap_01_48:: @ 834F754 - .incbin "baserom.gba", 0x34F754, 0x1C - -gMap_01_49:: @ 834F770 - .incbin "baserom.gba", 0x34F770, 0x1C - -gMap_01_50:: @ 834F78C - .incbin "baserom.gba", 0x34F78C, 0x1C - -gMap_01_51:: @ 834F7A8 - .incbin "baserom.gba", 0x34F7A8, 0x1C - -gMap_01_52:: @ 834F7C4 - .incbin "baserom.gba", 0x34F7C4, 0x1C - -gMap_01_53:: @ 834F7E0 - .incbin "baserom.gba", 0x34F7E0, 0x1C - -gMap_01_54:: @ 834F7FC - .incbin "baserom.gba", 0x34F7FC, 0x1C - -gMap_01_55:: @ 834F818 - .incbin "baserom.gba", 0x34F818, 0x1C - -gMap_01_56:: @ 834F834 - .incbin "baserom.gba", 0x34F834, 0x1C - -gMap_01_57:: @ 834F850 - .incbin "baserom.gba", 0x34F850, 0x1C - -gMap_01_58:: @ 834F86C - .incbin "baserom.gba", 0x34F86C, 0x1C - -gMap_01_59:: @ 834F888 - .incbin "baserom.gba", 0x34F888, 0x1C - -gMap_01_60:: @ 834F8A4 - .incbin "baserom.gba", 0x34F8A4, 0x1C - -gMap_01_61:: @ 834F8C0 - .incbin "baserom.gba", 0x34F8C0, 0x1C - -gMap_01_62:: @ 834F8DC - .incbin "baserom.gba", 0x34F8DC, 0x1C - -gMap_01_63:: @ 834F8F8 - .incbin "baserom.gba", 0x34F8F8, 0x1C - -gMap_01_64:: @ 834F914 - .incbin "baserom.gba", 0x34F914, 0x1C - -gMap_01_65:: @ 834F930 - .incbin "baserom.gba", 0x34F930, 0x1C - -gMap_01_66:: @ 834F94C - .incbin "baserom.gba", 0x34F94C, 0x1C - -gMap_01_67:: @ 834F968 - .incbin "baserom.gba", 0x34F968, 0x1C - -gMap_01_68:: @ 834F984 - .incbin "baserom.gba", 0x34F984, 0x1C - -gMap_01_69:: @ 834F9A0 - .incbin "baserom.gba", 0x34F9A0, 0x1C - -gMap_01_70:: @ 834F9BC - .incbin "baserom.gba", 0x34F9BC, 0x1C - -gMap_01_71:: @ 834F9D8 - .incbin "baserom.gba", 0x34F9D8, 0x1C - -gMap_01_72:: @ 834F9F4 - .incbin "baserom.gba", 0x34F9F4, 0x1C - -gMap_01_73:: @ 834FA10 - .incbin "baserom.gba", 0x34FA10, 0x1C - -gMap_01_74:: @ 834FA2C - .incbin "baserom.gba", 0x34FA2C, 0x1C - -gMap_01_75:: @ 834FA48 - .incbin "baserom.gba", 0x34FA48, 0x1C - -gMap_01_76:: @ 834FA64 - .incbin "baserom.gba", 0x34FA64, 0x1C - -gMap_01_77:: @ 834FA80 - .incbin "baserom.gba", 0x34FA80, 0x1C - -gMap_01_78:: @ 834FA9C - .incbin "baserom.gba", 0x34FA9C, 0x1C - -gMap_01_79:: @ 834FAB8 - .incbin "baserom.gba", 0x34FAB8, 0x1C - -gMap_01_80:: @ 834FAD4 - .incbin "baserom.gba", 0x34FAD4, 0x1C - -gMap_01_81:: @ 834FAF0 - .incbin "baserom.gba", 0x34FAF0, 0x1C - -gMap_01_82:: @ 834FB0C - .incbin "baserom.gba", 0x34FB0C, 0x1C - -gMap_01_83:: @ 834FB28 - .incbin "baserom.gba", 0x34FB28, 0x1C - -gMap_01_84:: @ 834FB44 - .incbin "baserom.gba", 0x34FB44, 0x1C - -gMap_01_85:: @ 834FB60 - .incbin "baserom.gba", 0x34FB60, 0x1C - -gMap_01_86:: @ 834FB7C - .incbin "baserom.gba", 0x34FB7C, 0x1C - -gMap_01_87:: @ 834FB98 - .incbin "baserom.gba", 0x34FB98, 0x1C - -gMap_01_88:: @ 834FBB4 - .incbin "baserom.gba", 0x34FBB4, 0x1C - -gMap_01_89:: @ 834FBD0 - .incbin "baserom.gba", 0x34FBD0, 0x1C - -gMap_01_90:: @ 834FBEC - .incbin "baserom.gba", 0x34FBEC, 0x1C - -gMap_01_91:: @ 834FC08 - .incbin "baserom.gba", 0x34FC08, 0x1C - -gMap_01_92:: @ 834FC24 - .incbin "baserom.gba", 0x34FC24, 0x1C - -gMap_01_93:: @ 834FC40 - .incbin "baserom.gba", 0x34FC40, 0x1C - -gMap_01_94:: @ 834FC5C - .incbin "baserom.gba", 0x34FC5C, 0x1C - -gMap_01_95:: @ 834FC78 - .incbin "baserom.gba", 0x34FC78, 0x1C - -gMap_01_96:: @ 834FC94 - .incbin "baserom.gba", 0x34FC94, 0x1C - -gMap_01_97:: @ 834FCB0 - .incbin "baserom.gba", 0x34FCB0, 0x1C - -gMap_01_98:: @ 834FCCC - .incbin "baserom.gba", 0x34FCCC, 0x1C - -gMap_01_99:: @ 834FCE8 - .incbin "baserom.gba", 0x34FCE8, 0x1C - -gMap_01_100:: @ 834FD04 - .incbin "baserom.gba", 0x34FD04, 0x1C - -gMap_01_101:: @ 834FD20 - .incbin "baserom.gba", 0x34FD20, 0x1C - -gMap_01_102:: @ 834FD3C - .incbin "baserom.gba", 0x34FD3C, 0x1C - -gMap_01_103:: @ 834FD58 - .incbin "baserom.gba", 0x34FD58, 0x1C - -gMap_01_104:: @ 834FD74 - .incbin "baserom.gba", 0x34FD74, 0x1C - -gMap_01_105:: @ 834FD90 - .incbin "baserom.gba", 0x34FD90, 0x1C - -gMap_01_106:: @ 834FDAC - .incbin "baserom.gba", 0x34FDAC, 0x1C - -gMap_01_107:: @ 834FDC8 - .incbin "baserom.gba", 0x34FDC8, 0x1C - -gMap_01_108:: @ 834FDE4 - .incbin "baserom.gba", 0x34FDE4, 0x1C - -gMap_01_109:: @ 834FE00 - .incbin "baserom.gba", 0x34FE00, 0x1C - -gMap_01_110:: @ 834FE1C - .incbin "baserom.gba", 0x34FE1C, 0x1C - -gMap_01_111:: @ 834FE38 - .incbin "baserom.gba", 0x34FE38, 0x1C - -gMap_01_112:: @ 834FE54 - .incbin "baserom.gba", 0x34FE54, 0x1C - -gMap_01_113:: @ 834FE70 - .incbin "baserom.gba", 0x34FE70, 0x1C - -gMap_01_114:: @ 834FE8C - .incbin "baserom.gba", 0x34FE8C, 0x1C - -gMap_01_115:: @ 834FEA8 - .incbin "baserom.gba", 0x34FEA8, 0x1C - -gMap_01_116:: @ 834FEC4 - .incbin "baserom.gba", 0x34FEC4, 0x1C - -gMap_01_117:: @ 834FEE0 - .incbin "baserom.gba", 0x34FEE0, 0x1C - -gMap_01_118:: @ 834FEFC - .incbin "baserom.gba", 0x34FEFC, 0x1C - -gMap_01_119:: @ 834FF18 - .incbin "baserom.gba", 0x34FF18, 0x1C - -gMap_01_120:: @ 834FF34 - .incbin "baserom.gba", 0x34FF34, 0x1C - -gMap_01_121:: @ 834FF50 - .incbin "baserom.gba", 0x34FF50, 0x1C - -gMap_01_122:: @ 834FF6C - .incbin "baserom.gba", 0x34FF6C, 0x1C - -gMap_02_00:: @ 834FF88 - .incbin "baserom.gba", 0x34FF88, 0x1C - -gMap_02_01:: @ 834FFA4 - .incbin "baserom.gba", 0x34FFA4, 0x1C - -gMap_02_02:: @ 834FFC0 - .incbin "baserom.gba", 0x34FFC0, 0x1C - -gMap_02_03:: @ 834FFDC - .incbin "baserom.gba", 0x34FFDC, 0x1C - -gMap_02_04:: @ 834FFF8 - .incbin "baserom.gba", 0x34FFF8, 0x1C - -gMap_02_05:: @ 8350014 - .incbin "baserom.gba", 0x350014, 0x1C - -gMap_02_06:: @ 8350030 - .incbin "baserom.gba", 0x350030, 0x1C - -gMap_02_07:: @ 835004C - .incbin "baserom.gba", 0x35004C, 0x1C - -gMap_02_08:: @ 8350068 - .incbin "baserom.gba", 0x350068, 0x1C - -gMap_02_09:: @ 8350084 - .incbin "baserom.gba", 0x350084, 0x1C - -gMap_02_10:: @ 83500A0 - .incbin "baserom.gba", 0x3500A0, 0x1C - -gMap_02_11:: @ 83500BC - .incbin "baserom.gba", 0x3500BC, 0x1C - -gMap_02_12:: @ 83500D8 - .incbin "baserom.gba", 0x3500D8, 0x1C - -gMap_02_13:: @ 83500F4 - .incbin "baserom.gba", 0x3500F4, 0x1C - -gMap_02_14:: @ 8350110 - .incbin "baserom.gba", 0x350110, 0x1C - -gMap_02_15:: @ 835012C - .incbin "baserom.gba", 0x35012C, 0x1C - -gMap_02_16:: @ 8350148 - .incbin "baserom.gba", 0x350148, 0x1C - -gMap_02_17:: @ 8350164 - .incbin "baserom.gba", 0x350164, 0x1C - -gMap_02_18:: @ 8350180 - .incbin "baserom.gba", 0x350180, 0x1C - -gMap_02_19:: @ 835019C - .incbin "baserom.gba", 0x35019C, 0x1C - -gMap_02_20:: @ 83501B8 - .incbin "baserom.gba", 0x3501B8, 0x1C - -gMap_02_21:: @ 83501D4 - .incbin "baserom.gba", 0x3501D4, 0x1C - -gMap_02_22:: @ 83501F0 - .incbin "baserom.gba", 0x3501F0, 0x1C - -gMap_02_23:: @ 835020C - .incbin "baserom.gba", 0x35020C, 0x1C - -gMap_02_24:: @ 8350228 - .incbin "baserom.gba", 0x350228, 0x1C - -gMap_02_25:: @ 8350244 - .incbin "baserom.gba", 0x350244, 0x1C - -gMap_02_26:: @ 8350260 - .incbin "baserom.gba", 0x350260, 0x1C - -gMap_02_27:: @ 835027C - .incbin "baserom.gba", 0x35027C, 0x1C - -gMap_02_28:: @ 8350298 - .incbin "baserom.gba", 0x350298, 0x1C - -gMap_02_29:: @ 83502B4 - .incbin "baserom.gba", 0x3502B4, 0x1C - -gMap_02_30:: @ 83502D0 - .incbin "baserom.gba", 0x3502D0, 0x1C - -gMap_02_31:: @ 83502EC - .incbin "baserom.gba", 0x3502EC, 0x1C - -gMap_02_32:: @ 8350308 - .incbin "baserom.gba", 0x350308, 0x1C - -gMap_02_33:: @ 8350324 - .incbin "baserom.gba", 0x350324, 0x1C - -gMap_02_34:: @ 8350340 - .incbin "baserom.gba", 0x350340, 0x1C - -gMap_02_35:: @ 835035C - .incbin "baserom.gba", 0x35035C, 0x1C - -gMap_02_36:: @ 8350378 - .incbin "baserom.gba", 0x350378, 0x1C - -gMap_02_37:: @ 8350394 - .incbin "baserom.gba", 0x350394, 0x1C - -gMap_02_38:: @ 83503B0 - .incbin "baserom.gba", 0x3503B0, 0x1C - -gMap_02_39:: @ 83503CC - .incbin "baserom.gba", 0x3503CC, 0x1C - -gMap_02_40:: @ 83503E8 - .incbin "baserom.gba", 0x3503E8, 0x1C - -gMap_02_41:: @ 8350404 - .incbin "baserom.gba", 0x350404, 0x1C - -gMap_02_42:: @ 8350420 - .incbin "baserom.gba", 0x350420, 0x1C - -gMap_02_43:: @ 835043C - .incbin "baserom.gba", 0x35043C, 0x1C - -gMap_02_44:: @ 8350458 - .incbin "baserom.gba", 0x350458, 0x1C - -gMap_02_45:: @ 8350474 - .incbin "baserom.gba", 0x350474, 0x1C - -gMap_02_46:: @ 8350490 - .incbin "baserom.gba", 0x350490, 0x1C - -gMap_02_47:: @ 83504AC - .incbin "baserom.gba", 0x3504AC, 0x1C - -gMap_02_48:: @ 83504C8 - .incbin "baserom.gba", 0x3504C8, 0x1C - -gMap_02_49:: @ 83504E4 - .incbin "baserom.gba", 0x3504E4, 0x1C - -gMap_02_50:: @ 8350500 - .incbin "baserom.gba", 0x350500, 0x1C - -gMap_02_51:: @ 835051C - .incbin "baserom.gba", 0x35051C, 0x1C - -gMap_02_52:: @ 8350538 - .incbin "baserom.gba", 0x350538, 0x1C - -gMap_02_53:: @ 8350554 - .incbin "baserom.gba", 0x350554, 0x1C - -gMap_02_54:: @ 8350570 - .incbin "baserom.gba", 0x350570, 0x1C - -gMap_02_55:: @ 835058C - .incbin "baserom.gba", 0x35058C, 0x1C - -gMap_02_56:: @ 83505A8 - .incbin "baserom.gba", 0x3505A8, 0x1C - -gMap_02_57:: @ 83505C4 - .incbin "baserom.gba", 0x3505C4, 0x1C - -gMap_02_58:: @ 83505E0 - .incbin "baserom.gba", 0x3505E0, 0x1C - -gMap_02_59:: @ 83505FC - .incbin "baserom.gba", 0x3505FC, 0x1C - -gMap_03_00:: @ 8350618 - .incbin "baserom.gba", 0x350618, 0x1C - -gMap_03_01:: @ 8350634 - .incbin "baserom.gba", 0x350634, 0x1C - -gMap_03_02:: @ 8350650 - .incbin "baserom.gba", 0x350650, 0x1C - -gMap_03_03:: @ 835066C - .incbin "baserom.gba", 0x35066C, 0x1C - -gMap_03_04:: @ 8350688 - .incbin "baserom.gba", 0x350688, 0x1C - -gMap_03_05:: @ 83506A4 - .incbin "baserom.gba", 0x3506A4, 0x1C - -gMap_03_06:: @ 83506C0 - .incbin "baserom.gba", 0x3506C0, 0x1C - -gMap_03_07:: @ 83506DC - .incbin "baserom.gba", 0x3506DC, 0x1C - -gMap_03_08:: @ 83506F8 - .incbin "baserom.gba", 0x3506F8, 0x1C - -gMap_03_09:: @ 8350714 - .incbin "baserom.gba", 0x350714, 0x1C - -gMap_03_10:: @ 8350730 - .incbin "baserom.gba", 0x350730, 0x1C - -gMap_03_11:: @ 835074C - .incbin "baserom.gba", 0x35074C, 0x1C - -gMap_03_12:: @ 8350768 - .incbin "baserom.gba", 0x350768, 0x1C - -gMap_03_13:: @ 8350784 - .incbin "baserom.gba", 0x350784, 0x1C - -gMap_03_14:: @ 83507A0 - .incbin "baserom.gba", 0x3507A0, 0x1C - -gMap_03_15:: @ 83507BC - .incbin "baserom.gba", 0x3507BC, 0x1C - -gMap_03_16:: @ 83507D8 - .incbin "baserom.gba", 0x3507D8, 0x1C - -gMap_03_17:: @ 83507F4 - .incbin "baserom.gba", 0x3507F4, 0x1C - -gMap_03_18:: @ 8350810 - .incbin "baserom.gba", 0x350810, 0x1C - -gMap_03_19:: @ 835082C - .incbin "baserom.gba", 0x35082C, 0x1C - -gMap_03_20:: @ 8350848 - .incbin "baserom.gba", 0x350848, 0x1C - -gMap_03_21:: @ 8350864 - .incbin "baserom.gba", 0x350864, 0x1C - -gMap_03_22:: @ 8350880 - .incbin "baserom.gba", 0x350880, 0x1C - -gMap_03_23:: @ 835089C - .incbin "baserom.gba", 0x35089C, 0x1C - -gMap_03_24:: @ 83508B8 - .incbin "baserom.gba", 0x3508B8, 0x1C - -gMap_03_25:: @ 83508D4 - .incbin "baserom.gba", 0x3508D4, 0x1C - -gMap_03_26:: @ 83508F0 - .incbin "baserom.gba", 0x3508F0, 0x1C - -gMap_03_27:: @ 835090C - .incbin "baserom.gba", 0x35090C, 0x1C - -gMap_03_28:: @ 8350928 - .incbin "baserom.gba", 0x350928, 0x1C - -gMap_03_29:: @ 8350944 - .incbin "baserom.gba", 0x350944, 0x1C - -gMap_03_30:: @ 8350960 - .incbin "baserom.gba", 0x350960, 0x1C - -gMap_03_31:: @ 835097C - .incbin "baserom.gba", 0x35097C, 0x1C - -gMap_03_32:: @ 8350998 - .incbin "baserom.gba", 0x350998, 0x1C - -gMap_03_33:: @ 83509B4 - .incbin "baserom.gba", 0x3509B4, 0x1C - -gMap_03_34:: @ 83509D0 - .incbin "baserom.gba", 0x3509D0, 0x1C - -gMap_03_35:: @ 83509EC - .incbin "baserom.gba", 0x3509EC, 0x1C - -gMap_03_36:: @ 8350A08 - .incbin "baserom.gba", 0x350A08, 0x1C - -gMap_03_37:: @ 8350A24 - .incbin "baserom.gba", 0x350A24, 0x1C - -gMap_03_38:: @ 8350A40 - .incbin "baserom.gba", 0x350A40, 0x1C - -gMap_03_39:: @ 8350A5C - .incbin "baserom.gba", 0x350A5C, 0x1C - -gMap_03_40:: @ 8350A78 - .incbin "baserom.gba", 0x350A78, 0x1C - -gMap_03_41:: @ 8350A94 - .incbin "baserom.gba", 0x350A94, 0x1C - -gMap_03_42:: @ 8350AB0 - .incbin "baserom.gba", 0x350AB0, 0x1C - -gMap_03_43:: @ 8350ACC - .incbin "baserom.gba", 0x350ACC, 0x1C - -gMap_03_44:: @ 8350AE8 - .incbin "baserom.gba", 0x350AE8, 0x1C - -gMap_03_45:: @ 8350B04 - .incbin "baserom.gba", 0x350B04, 0x1C - -gMap_03_46:: @ 8350B20 - .incbin "baserom.gba", 0x350B20, 0x1C - -gMap_03_47:: @ 8350B3C - .incbin "baserom.gba", 0x350B3C, 0x1C - -gMap_03_48:: @ 8350B58 - .incbin "baserom.gba", 0x350B58, 0x1C - -gMap_03_49:: @ 8350B74 - .incbin "baserom.gba", 0x350B74, 0x1C - -gMap_03_50:: @ 8350B90 - .incbin "baserom.gba", 0x350B90, 0x1C - -gMap_03_51:: @ 8350BAC - .incbin "baserom.gba", 0x350BAC, 0x1C - -gMap_03_52:: @ 8350BC8 - .incbin "baserom.gba", 0x350BC8, 0x1C - -gMap_03_53:: @ 8350BE4 - .incbin "baserom.gba", 0x350BE4, 0x1C - -gMap_03_54:: @ 8350C00 - .incbin "baserom.gba", 0x350C00, 0x1C - -gMap_03_55:: @ 8350C1C - .incbin "baserom.gba", 0x350C1C, 0x1C - -gMap_03_56:: @ 8350C38 - .incbin "baserom.gba", 0x350C38, 0x1C - -gMap_03_57:: @ 8350C54 - .incbin "baserom.gba", 0x350C54, 0x1C - -gMap_03_58:: @ 8350C70 - .incbin "baserom.gba", 0x350C70, 0x1C - -gMap_03_59:: @ 8350C8C - .incbin "baserom.gba", 0x350C8C, 0x1C - -gMap_03_60:: @ 8350CA8 - .incbin "baserom.gba", 0x350CA8, 0x1C - -gMap_03_61:: @ 8350CC4 - .incbin "baserom.gba", 0x350CC4, 0x1C - -gMap_03_62:: @ 8350CE0 - .incbin "baserom.gba", 0x350CE0, 0x1C - -gMap_03_63:: @ 8350CFC - .incbin "baserom.gba", 0x350CFC, 0x1C - -gMap_03_64:: @ 8350D18 - .incbin "baserom.gba", 0x350D18, 0x1C - -gMap_03_65:: @ 8350D34 - .incbin "baserom.gba", 0x350D34, 0x1C - -gMap_04_00:: @ 8350D50 - .incbin "baserom.gba", 0x350D50, 0x1C - -gMap_04_01:: @ 8350D6C - .incbin "baserom.gba", 0x350D6C, 0x1C - -gMap_04_02:: @ 8350D88 - .incbin "baserom.gba", 0x350D88, 0x1C - -gMap_04_03:: @ 8350DA4 - .incbin "baserom.gba", 0x350DA4, 0x1C - -gMap_05_00:: @ 8350DC0 - .incbin "baserom.gba", 0x350DC0, 0x1C - -gMap_05_01:: @ 8350DDC - .incbin "baserom.gba", 0x350DDC, 0x1C - -gMap_05_02:: @ 8350DF8 - .incbin "baserom.gba", 0x350DF8, 0x1C - -gMap_05_03:: @ 8350E14 - .incbin "baserom.gba", 0x350E14, 0x1C - -gMap_05_04:: @ 8350E30 - .incbin "baserom.gba", 0x350E30, 0x1C - -gMap_05_05:: @ 8350E4C - .incbin "baserom.gba", 0x350E4C, 0x1C - -gMap_06_00:: @ 8350E68 - .incbin "baserom.gba", 0x350E68, 0x1C - -gMap_06_01:: @ 8350E84 - .incbin "baserom.gba", 0x350E84, 0x1C - -gMap_06_02:: @ 8350EA0 - .incbin "baserom.gba", 0x350EA0, 0x1C - -gMap_06_03:: @ 8350EBC - .incbin "baserom.gba", 0x350EBC, 0x1C - -gMap_06_04:: @ 8350ED8 - .incbin "baserom.gba", 0x350ED8, 0x1C - -gMap_06_05:: @ 8350EF4 - .incbin "baserom.gba", 0x350EF4, 0x1C - -gMap_06_06:: @ 8350F10 - .incbin "baserom.gba", 0x350F10, 0x1C - -gMap_06_07:: @ 8350F2C - .incbin "baserom.gba", 0x350F2C, 0x1C - -gMap_07_00:: @ 8350F48 - .incbin "baserom.gba", 0x350F48, 0x1C - -gMap_07_01:: @ 8350F64 - .incbin "baserom.gba", 0x350F64, 0x1C - -gMap_07_02:: @ 8350F80 - .incbin "baserom.gba", 0x350F80, 0x1C - -gMap_07_03:: @ 8350F9C - .incbin "baserom.gba", 0x350F9C, 0x1C - -gMap_07_04:: @ 8350FB8 - .incbin "baserom.gba", 0x350FB8, 0x1C - -gMap_07_05:: @ 8350FD4 - .incbin "baserom.gba", 0x350FD4, 0x1C - -gMap_07_06:: @ 8350FF0 - .incbin "baserom.gba", 0x350FF0, 0x1C - -gMap_07_07:: @ 835100C - .incbin "baserom.gba", 0x35100C, 0x1C - -gMap_07_08:: @ 8351028 - .incbin "baserom.gba", 0x351028, 0x1C - -gMap_07_09:: @ 8351044 - .incbin "baserom.gba", 0x351044, 0x1C - -gMap_08_00:: @ 8351060 - .incbin "baserom.gba", 0x351060, 0x1C - -gMap_08_01:: @ 835107C - .incbin "baserom.gba", 0x35107C, 0x1C - -gMap_08_02:: @ 8351098 - .incbin "baserom.gba", 0x351098, 0x1C - -gMap_08_03:: @ 83510B4 - .incbin "baserom.gba", 0x3510B4, 0x1C - -gMap_08_04:: @ 83510D0 - .incbin "baserom.gba", 0x3510D0, 0x1C - -gMap_08_05:: @ 83510EC - .incbin "baserom.gba", 0x3510EC, 0x1C - -gMap_09_00:: @ 8351108 - .incbin "baserom.gba", 0x351108, 0x1C - -gMap_09_01:: @ 8351124 - .incbin "baserom.gba", 0x351124, 0x1C - -gMap_09_02:: @ 8351140 - .incbin "baserom.gba", 0x351140, 0x1C - -gMap_09_03:: @ 835115C - .incbin "baserom.gba", 0x35115C, 0x1C - -gMap_09_04:: @ 8351178 - .incbin "baserom.gba", 0x351178, 0x1C - -gMap_09_05:: @ 8351194 - .incbin "baserom.gba", 0x351194, 0x1C - -gMap_09_06:: @ 83511B0 - .incbin "baserom.gba", 0x3511B0, 0x1C - -gMap_09_07:: @ 83511CC - .incbin "baserom.gba", 0x3511CC, 0x1C - -gMap_10_00:: @ 83511E8 - .incbin "baserom.gba", 0x3511E8, 0x1C - -gMap_10_01:: @ 8351204 - .incbin "baserom.gba", 0x351204, 0x1C - -gMap_10_02:: @ 8351220 - .incbin "baserom.gba", 0x351220, 0x1C - -gMap_10_03:: @ 835123C - .incbin "baserom.gba", 0x35123C, 0x1C - -gMap_10_04:: @ 8351258 - .incbin "baserom.gba", 0x351258, 0x1C - -gMap_10_05:: @ 8351274 - .incbin "baserom.gba", 0x351274, 0x1C - -gMap_10_06:: @ 8351290 - .incbin "baserom.gba", 0x351290, 0x1C - -gMap_10_07:: @ 83512AC - .incbin "baserom.gba", 0x3512AC, 0x1C - -gMap_10_08:: @ 83512C8 - .incbin "baserom.gba", 0x3512C8, 0x1C - -gMap_10_09:: @ 83512E4 - .incbin "baserom.gba", 0x3512E4, 0x1C - -gMap_10_10:: @ 8351300 - .incbin "baserom.gba", 0x351300, 0x1C - -gMap_10_11:: @ 835131C - .incbin "baserom.gba", 0x35131C, 0x1C - -gMap_10_12:: @ 8351338 - .incbin "baserom.gba", 0x351338, 0x1C - -gMap_10_13:: @ 8351354 - .incbin "baserom.gba", 0x351354, 0x1C - -gMap_10_14:: @ 8351370 - .incbin "baserom.gba", 0x351370, 0x1C - -gMap_10_15:: @ 835138C - .incbin "baserom.gba", 0x35138C, 0x1C - -gMap_10_16:: @ 83513A8 - .incbin "baserom.gba", 0x3513A8, 0x1C - -gMap_10_17:: @ 83513C4 - .incbin "baserom.gba", 0x3513C4, 0x1C - -gMap_10_18:: @ 83513E0 - .incbin "baserom.gba", 0x3513E0, 0x1C - -gMap_10_19:: @ 83513FC - .incbin "baserom.gba", 0x3513FC, 0x1C - -gMap_11_00:: @ 8351418 - .incbin "baserom.gba", 0x351418, 0x1C - -gMap_11_01:: @ 8351434 - .incbin "baserom.gba", 0x351434, 0x1C - -gMap_11_02:: @ 8351450 - .incbin "baserom.gba", 0x351450, 0x1C - -gMap_11_03:: @ 835146C - .incbin "baserom.gba", 0x35146C, 0x1C - -gMap_11_04:: @ 8351488 - .incbin "baserom.gba", 0x351488, 0x1C - -gMap_11_05:: @ 83514A4 - .incbin "baserom.gba", 0x3514A4, 0x1C - -gMap_11_06:: @ 83514C0 - .incbin "baserom.gba", 0x3514C0, 0x1C - -gMap_11_07:: @ 83514DC - .incbin "baserom.gba", 0x3514DC, 0x1C - -gMap_11_08:: @ 83514F8 - .incbin "baserom.gba", 0x3514F8, 0x1C - -gMap_11_09:: @ 8351514 - .incbin "baserom.gba", 0x351514, 0x1C - -gMap_12_00:: @ 8351530 - .incbin "baserom.gba", 0x351530, 0x1C - -gMap_12_01:: @ 835154C - .incbin "baserom.gba", 0x35154C, 0x1C - -gMap_12_02:: @ 8351568 - .incbin "baserom.gba", 0x351568, 0x1C - -gMap_12_03:: @ 8351584 - .incbin "baserom.gba", 0x351584, 0x1C - -gMap_12_04:: @ 83515A0 - .incbin "baserom.gba", 0x3515A0, 0x1C - -gMap_12_05:: @ 83515BC - .incbin "baserom.gba", 0x3515BC, 0x1C - -gMap_12_06:: @ 83515D8 - .incbin "baserom.gba", 0x3515D8, 0x1C - -gMap_12_07:: @ 83515F4 - .incbin "baserom.gba", 0x3515F4, 0x1C - -gMap_13_00:: @ 8351610 - .incbin "baserom.gba", 0x351610, 0x1C - -gMap_13_01:: @ 835162C - .incbin "baserom.gba", 0x35162C, 0x1C - -gMap_14_00:: @ 8351648 - .incbin "baserom.gba", 0x351648, 0x1C - -gMap_14_01:: @ 8351664 - .incbin "baserom.gba", 0x351664, 0x1C - -gMap_14_02:: @ 8351680 - .incbin "baserom.gba", 0x351680, 0x1C - -gMap_14_03:: @ 835169C - .incbin "baserom.gba", 0x35169C, 0x1C - -gMap_14_04:: @ 83516B8 - .incbin "baserom.gba", 0x3516B8, 0x1C - -gMap_14_05:: @ 83516D4 - .incbin "baserom.gba", 0x3516D4, 0x1C - -gMap_14_06:: @ 83516F0 - .incbin "baserom.gba", 0x3516F0, 0x1C - -gMap_14_07:: @ 835170C - .incbin "baserom.gba", 0x35170C, 0x1C - -gMap_14_08:: @ 8351728 - .incbin "baserom.gba", 0x351728, 0x1C - -gMap_14_09:: @ 8351744 - .incbin "baserom.gba", 0x351744, 0x1C - -gMap_15_00:: @ 8351760 - .incbin "baserom.gba", 0x351760, 0x1C - -gMap_15_01:: @ 835177C - .incbin "baserom.gba", 0x35177C, 0x1C - -gMap_15_02:: @ 8351798 - .incbin "baserom.gba", 0x351798, 0x1C - -gMap_15_03:: @ 83517B4 - .incbin "baserom.gba", 0x3517B4, 0x1C - -gMap_16_00:: @ 83517D0 - .incbin "baserom.gba", 0x3517D0, 0x1C - -gMap_16_01:: @ 83517EC - .incbin "baserom.gba", 0x3517EC, 0x1C - -gMap_17_00:: @ 8351808 - .incbin "baserom.gba", 0x351808, 0x1C - -gMap_17_01:: @ 8351824 - .incbin "baserom.gba", 0x351824, 0x1C - -gMap_18_00:: @ 8351840 - .incbin "baserom.gba", 0x351840, 0x1C - -gMap_18_01:: @ 835185C - .incbin "baserom.gba", 0x35185C, 0x1C - -gMap_19_00:: @ 8351878 - .incbin "baserom.gba", 0x351878, 0x1C - -gMap_20_00:: @ 8351894 - .incbin "baserom.gba", 0x351894, 0x1C - -gMap_21_00:: @ 83518B0 - .incbin "baserom.gba", 0x3518B0, 0x1C - -gMap_21_01:: @ 83518CC - .incbin "baserom.gba", 0x3518CC, 0x1C - -gMap_22_00:: @ 83518E8 - .incbin "baserom.gba", 0x3518E8, 0x1C - -gMap_22_01:: @ 8351904 - .incbin "baserom.gba", 0x351904, 0x1C - -gMap_23_00:: @ 8351920 - .incbin "baserom.gba", 0x351920, 0x1C - -gMap_23_01:: @ 835193C - .incbin "baserom.gba", 0x35193C, 0x1C - -gMap_23_02:: @ 8351958 - .incbin "baserom.gba", 0x351958, 0x1C - -gMap_24_00:: @ 8351974 - .incbin "baserom.gba", 0x351974, 0x1C - -gMap_24_01:: @ 8351990 - .incbin "baserom.gba", 0x351990, 0x1C - -gMap_25_00:: @ 83519AC - .incbin "baserom.gba", 0x3519AC, 0x1C - -gMap_25_01:: @ 83519C8 - .incbin "baserom.gba", 0x3519C8, 0x1C - -gMap_25_02:: @ 83519E4 - .incbin "baserom.gba", 0x3519E4, 0x1C - -gMap_26_00:: @ 8351A00 - .incbin "baserom.gba", 0x351A00, 0x1C - -gMap_26_01:: @ 8351A1C - .incbin "baserom.gba", 0x351A1C, 0x1C - -gMap_27_00:: @ 8351A38 - .incbin "baserom.gba", 0x351A38, 0x1C - -gMap_28_00:: @ 8351A54 - .incbin "baserom.gba", 0x351A54, 0x1C - -gMap_29_00:: @ 8351A70 - .incbin "baserom.gba", 0x351A70, 0x1C - -gMap_30_00:: @ 8351A8C - .incbin "baserom.gba", 0x351A8C, 0x1C - -gMap_31_00:: @ 8351AA8 - .incbin "baserom.gba", 0x351AA8, 0x1C - -gMap_31_01:: @ 8351AC4 - .incbin "baserom.gba", 0x351AC4, 0x1C - -gMap_31_02:: @ 8351AE0 - .incbin "baserom.gba", 0x351AE0, 0x1C - -gMap_31_03:: @ 8351AFC - .incbin "baserom.gba", 0x351AFC, 0x1C - -gMap_31_04:: @ 8351B18 - .incbin "baserom.gba", 0x351B18, 0x1C - -gMap_31_05:: @ 8351B34 - .incbin "baserom.gba", 0x351B34, 0x1C - -gMap_31_06:: @ 8351B50 - .incbin "baserom.gba", 0x351B50, 0x1C - -gMap_32_00:: @ 8351B6C - .incbin "baserom.gba", 0x351B6C, 0x1C - -gMap_32_01:: @ 8351B88 - .incbin "baserom.gba", 0x351B88, 0x1C - -gMap_32_02:: @ 8351BA4 - .incbin "baserom.gba", 0x351BA4, 0x1C - -gMap_32_03:: @ 8351BC0 - .incbin "baserom.gba", 0x351BC0, 0x1C - -gMap_32_04:: @ 8351BDC - .incbin "baserom.gba", 0x351BDC, 0x1C - -gMap_33_00:: @ 8351BF8 - .incbin "baserom.gba", 0x351BF8, 0x1C - -gMap_33_01:: @ 8351C14 - .incbin "baserom.gba", 0x351C14, 0x1C - -gMap_33_02:: @ 8351C30 - .incbin "baserom.gba", 0x351C30, 0x1C - -gMap_33_03:: @ 8351C4C - .incbin "baserom.gba", 0x351C4C, 0x1C - -gMap_33_04:: @ 8351C68 - .incbin "baserom.gba", 0x351C68, 0x1C - -gMap_34_00:: @ 8351C84 - .incbin "baserom.gba", 0x351C84, 0x1C - -gMap_34_01:: @ 8351CA0 - .incbin "baserom.gba", 0x351CA0, 0x1C - -gMap_34_02:: @ 8351CBC - .incbin "baserom.gba", 0x351CBC, 0x1C - -gMap_34_03:: @ 8351CD8 - .incbin "baserom.gba", 0x351CD8, 0x1C - -gMap_34_04:: @ 8351CF4 - .incbin "baserom.gba", 0x351CF4, 0x1C - -gMap_34_05:: @ 8351D10 - .incbin "baserom.gba", 0x351D10, 0x1C - -gMap_34_06:: @ 8351D2C - .incbin "baserom.gba", 0x351D2C, 0x1C - -gMap_34_07:: @ 8351D48 - .incbin "baserom.gba", 0x351D48, 0x1C - -gMap_35_00:: @ 8351D64 - .incbin "baserom.gba", 0x351D64, 0x1C - -gMap_35_01:: @ 8351D80 - .incbin "baserom.gba", 0x351D80, 0x1C - -gMap_35_02:: @ 8351D9C - .incbin "baserom.gba", 0x351D9C, 0x1C - -gMap_35_03:: @ 8351DB8 - .incbin "baserom.gba", 0x351DB8, 0x1C - -gMap_35_04:: @ 8351DD4 - .incbin "baserom.gba", 0x351DD4, 0x1C - -gMap_35_05:: @ 8351DF0 - .incbin "baserom.gba", 0x351DF0, 0x1C - -gMap_35_06:: @ 8351E0C - .incbin "baserom.gba", 0x351E0C, 0x1C - -gMap_35_07:: @ 8351E28 - .incbin "baserom.gba", 0x351E28, 0x1C - -gMap_36_00:: @ 8351E44 - .incbin "baserom.gba", 0x351E44, 0x1C - -gMap_36_01:: @ 8351E60 - .incbin "baserom.gba", 0x351E60, 0x1C - -gMap_36_02:: @ 8351E7C - .incbin "baserom.gba", 0x351E7C, 0x1C - -gMap_36_03:: @ 8351E98 - .incbin "baserom.gba", 0x351E98, 0x1C - -gMap_36_04:: @ 8351EB4 - .incbin "baserom.gba", 0x351EB4, 0x1C - -gMap_37_00:: @ 8351ED0 - .incbin "baserom.gba", 0x351ED0, 0x1C - -gMap_37_01:: @ 8351EEC - .incbin "baserom.gba", 0x351EEC, 0x1C - -gMap_37_02:: @ 8351F08 - .incbin "baserom.gba", 0x351F08, 0x1C - -gMap_37_03:: @ 8351F24 - .incbin "baserom.gba", 0x351F24, 0x1C - -gMap_37_04:: @ 8351F40 - .incbin "baserom.gba", 0x351F40, 0x1C - -gMap_38_00:: @ 8351F5C - .incbin "baserom.gba", 0x351F5C, 0x1C - -gMap_39_00:: @ 8351F78 - .incbin "baserom.gba", 0x351F78, 0x1C - -gMap_40_00:: @ 8351F94 - .incbin "baserom.gba", 0x351F94, 0x1C - -gMap_41_00:: @ 8351FB0 - .incbin "baserom.gba", 0x351FB0, 0x1C - -gMap_41_01:: @ 8351FCC - .incbin "baserom.gba", 0x351FCC, 0x1C - -gMap_42_00:: @ 8351FE8 - .incbin "baserom.gba", 0x351FE8, 0x1C +UnknownMap_00_00:: @ 834F188 + .4byte gMapData_UnknownMap_00_00 @ 0x82D89E8 + .4byte gMapEvents_UnknownMap_00_00 @ 0x83AE0DC + .4byte gMapScripts_UnknownMap_00_00 @ 0x8160478 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 47 + .byte 0xc4, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 + +UnknownMap_00_01:: @ 834F1A4 + .4byte gMapData_UnknownMap_00_01 @ 0x82D8AE4 + .4byte gMapEvents_UnknownMap_00_01 @ 0x83AE138 + .4byte gMapScripts_UnknownMap_00_01 @ 0x8160479 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 48 + .byte 0xc4, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +UnknownMap_00_02:: @ 834F1C0 + .4byte gMapData_UnknownMap_00_02 @ 0x82D8C98 + .4byte gMapEvents_UnknownMap_00_02 @ 0x83AE1C4 + .4byte gMapScripts_UnknownMap_00_02 @ 0x816047A + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 49 + .byte 0xc4, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +UnknownMap_00_03:: @ 834F1DC + .4byte gMapData_UnknownMap_00_03 @ 0x82D8DB8 + .4byte gMapEvents_UnknownMap_00_03 @ 0x83AE238 + .4byte gMapScripts_UnknownMap_00_03 @ 0x816047B + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 50 + .byte 0xc4, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 + +UnknownMap_00_04:: @ 834F1F8 + .4byte gMapData_UnknownMap_00_04 @ 0x83388C4 + .4byte gMapEvents_UnknownMap_00_04 @ 0x83AE32C + .4byte gMapScripts_UnknownMap_00_04 @ 0x816047C + .4byte NULL + .2byte BGM_FRLG_UNION_ROOM + .2byte 262 + .byte 0xc4, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08 + +ViridianForest:: @ 834F214 + .4byte gMapData_ViridianForest @ 0x82FE46C + .4byte gMapEvents_ViridianForest @ 0x83AE4D8 + .4byte gMapScripts_ViridianForest @ 0x816051F + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 117 + .byte 0x7e, 0x00, 0x0b, 0x03, 0x01, 0x07, 0x00, 0x00 + +MtMoon_1F:: @ 834F230 + .4byte gMapData_MtMoon_1F @ 0x82FA890 + .4byte gMapEvents_MtMoon_1F @ 0x83AE668 + .4byte gMapScripts_MtMoon_1F @ 0x81605E4 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 114 + .byte 0x7f, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtMoon_B1F:: @ 834F24C + .4byte gMapData_MtMoon_B1F @ 0x82FB804 + .4byte gMapEvents_MtMoon_B1F @ 0x83AE704 + .4byte gMapScripts_MtMoon_B1F @ 0x8160698 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 115 + .byte 0x7f, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtMoon_B2F:: @ 834F268 + .4byte gMapData_MtMoon_B2F @ 0x82FC728 + .4byte gMapEvents_MtMoon_B2F @ 0x83AE868 + .4byte gMapScripts_MtMoon_B2F @ 0x8160699 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 116 + .byte 0x7f, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_Exterior:: @ 834F284 + .4byte gMapData_SSAnne_Exterior @ 0x82FF610 + .4byte gMapEvents_SSAnne_Exterior @ 0x83AE8C8 + .4byte gMapScripts_SSAnne_Exterior @ 0x8160840 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 118 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Corridor:: @ 834F2A0 + .4byte gMapData_SSAnne_1F_Corridor @ 0x82FFB4C + .4byte gMapEvents_SSAnne_1F_Corridor @ 0x83AE974 + .4byte gMapScripts_SSAnne_1F_Corridor @ 0x81608CB + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 119 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Corridor:: @ 834F2BC + .4byte gMapData_SSAnne_2F_Corridor @ 0x82FFFB0 + .4byte gMapEvents_SSAnne_2F_Corridor @ 0x83AEA30 + .4byte gMapScripts_SSAnne_2F_Corridor @ 0x81608DE + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 120 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_3F_Corridor:: @ 834F2D8 + .4byte gMapData_SSAnne_3F_Corridor @ 0x8300108 + .4byte gMapEvents_SSAnne_3F_Corridor @ 0x83AEA74 + .4byte gMapScripts_SSAnne_3F_Corridor @ 0x8160A5D + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 121 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Corridor:: @ 834F2F4 + .4byte gMapData_SSAnne_B1F_Corridor @ 0x8300270 + .4byte gMapEvents_SSAnne_B1F_Corridor @ 0x83AEAC4 + .4byte gMapScripts_SSAnne_B1F_Corridor @ 0x8160A67 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 122 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_Deck:: @ 834F310 + .4byte gMapData_SSAnne_Deck @ 0x8300624 + .4byte gMapEvents_SSAnne_Deck @ 0x83AEB60 + .4byte gMapScripts_SSAnne_Deck @ 0x8160A68 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 123 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_Kitchen:: @ 834F32C + .4byte gMapData_SSAnne_Kitchen @ 0x8319214 + .4byte gMapEvents_SSAnne_Kitchen @ 0x83AEC60 + .4byte gMapScripts_SSAnne_Kitchen @ 0x8160AB2 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 170 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_CaptainsOffice:: @ 834F348 + .4byte gMapData_SSAnne_CaptainsOffice @ 0x83192EC + .4byte gMapEvents_SSAnne_CaptainsOffice @ 0x83AECB8 + .4byte gMapScripts_SSAnne_CaptainsOffice @ 0x8160B39 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 171 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room1:: @ 834F364 + .4byte gMapData_SSAnne_1F_Room1 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room1 @ 0x83AECEC + .4byte gMapScripts_SSAnne_1F_Room1 @ 0x8160BDB + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room2:: @ 834F380 + .4byte gMapData_SSAnne_1F_Room2 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room2 @ 0x83AED68 + .4byte gMapScripts_SSAnne_1F_Room2 @ 0x8160BE5 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room3:: @ 834F39C + .4byte gMapData_SSAnne_1F_Room3 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room3 @ 0x83AEDCC + .4byte gMapScripts_SSAnne_1F_Room3 @ 0x8160C1D + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room4:: @ 834F3B8 + .4byte gMapData_SSAnne_1F_Room4 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room4 @ 0x83AEE00 + .4byte gMapScripts_SSAnne_1F_Room4 @ 0x8160C43 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room5:: @ 834F3D4 + .4byte gMapData_SSAnne_1F_Room5 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room5 @ 0x83AEE34 + .4byte gMapScripts_SSAnne_1F_Room5 @ 0x8160C66 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room7:: @ 834F3F0 + .4byte gMapData_SSAnne_1F_Room7 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room7 @ 0x83AEE68 + .4byte gMapScripts_SSAnne_1F_Room7 @ 0x8160C7E + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room1:: @ 834F40C + .4byte gMapData_SSAnne_2F_Room1 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room1 @ 0x83AEE9C + .4byte gMapScripts_SSAnne_2F_Room1 @ 0x8160C96 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room2:: @ 834F428 + .4byte gMapData_SSAnne_2F_Room2 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room2 @ 0x83AEF00 + .4byte gMapScripts_SSAnne_2F_Room2 @ 0x8160CB0 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room3:: @ 834F444 + .4byte gMapData_SSAnne_2F_Room3 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room3 @ 0x83AEF4C + .4byte gMapScripts_SSAnne_2F_Room3 @ 0x8160CDF + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room4:: @ 834F460 + .4byte gMapData_SSAnne_2F_Room4 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room4 @ 0x83AEFB0 + .4byte gMapScripts_SSAnne_2F_Room4 @ 0x8160CF2 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room5:: @ 834F47C + .4byte gMapData_SSAnne_2F_Room5 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room5 @ 0x83AEFFC + .4byte gMapScripts_SSAnne_2F_Room5 @ 0x8160D21 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_2F_Room6:: @ 834F498 + .4byte gMapData_SSAnne_2F_Room6 @ 0x8319F04 + .4byte gMapEvents_SSAnne_2F_Room6 @ 0x83AF048 + .4byte gMapScripts_SSAnne_2F_Room6 @ 0x8160D34 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Room1:: @ 834F4B4 + .4byte gMapData_SSAnne_B1F_Room1 @ 0x8319F04 + .4byte gMapEvents_SSAnne_B1F_Room1 @ 0x83AF094 + .4byte gMapScripts_SSAnne_B1F_Room1 @ 0x8160D47 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Room2:: @ 834F4D0 + .4byte gMapData_SSAnne_B1F_Room2 @ 0x8319F04 + .4byte gMapEvents_SSAnne_B1F_Room2 @ 0x83AF0E0 + .4byte gMapScripts_SSAnne_B1F_Room2 @ 0x8160D76 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Room3:: @ 834F4EC + .4byte gMapData_SSAnne_B1F_Room3 @ 0x8319F04 + .4byte gMapEvents_SSAnne_B1F_Room3 @ 0x83AF12C + .4byte gMapScripts_SSAnne_B1F_Room3 @ 0x8160D8E + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Room4:: @ 834F508 + .4byte gMapData_SSAnne_B1F_Room4 @ 0x8319F04 + .4byte gMapEvents_SSAnne_B1F_Room4 @ 0x83AF178 + .4byte gMapScripts_SSAnne_B1F_Room4 @ 0x8160DA6 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_B1F_Room5:: @ 834F524 + .4byte gMapData_SSAnne_B1F_Room5 @ 0x8319F04 + .4byte gMapEvents_SSAnne_B1F_Room5 @ 0x83AF1DC + .4byte gMapScripts_SSAnne_B1F_Room5 @ 0x8160DD5 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 178 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +SSAnne_1F_Room6:: @ 834F540 + .4byte gMapData_SSAnne_1F_Room6 @ 0x8319E74 + .4byte gMapEvents_SSAnne_1F_Room6 @ 0x83AF210 + .4byte gMapScripts_SSAnne_1F_Room6 @ 0x8160DF2 + .4byte NULL + .2byte BGM_FRLG_SS_ANNE + .2byte 177 + .byte 0x80, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +UndergroundPath_NorthEntrance:: @ 834F55C + .4byte gMapData_UndergroundPath_NorthEntrance @ 0x8319414 + .4byte gMapEvents_UndergroundPath_NorthEntrance @ 0x83AF25C + .4byte gMapScripts_UndergroundPath_NorthEntrance @ 0x8160E38 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 172 + .byte 0x81, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +UndergroundPath_NorthSouthTunnel:: @ 834F578 + .4byte gMapData_UndergroundPath_NorthSouthTunnel @ 0x8319CAC + .4byte gMapEvents_UndergroundPath_NorthSouthTunnel @ 0x83AF2D4 + .4byte gMapScripts_UndergroundPath_NorthSouthTunnel @ 0x8160EB5 + .4byte NULL + .2byte BGM_FRLG_ROUTE_1 + .2byte 174 + .byte 0x81, 0x00, 0x00, 0x08, 0x01, 0x06, 0x00, 0x00 + +UndergroundPath_SouthEntrance:: @ 834F594 + .4byte gMapData_UndergroundPath_SouthEntrance @ 0x8319414 + .4byte gMapEvents_UndergroundPath_SouthEntrance @ 0x83AF320 + .4byte gMapScripts_UndergroundPath_SouthEntrance @ 0x8160EBF + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 172 + .byte 0x81, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +UndergroundPath_WestEntrance:: @ 834F5B0 + .4byte gMapData_UndergroundPath_WestEntrance @ 0x8319414 + .4byte gMapEvents_UndergroundPath_WestEntrance @ 0x83AF36C + .4byte gMapScripts_UndergroundPath_WestEntrance @ 0x8160EC9 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 172 + .byte 0x82, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +UndergroundPath_EastWestTunnel:: @ 834F5CC + .4byte gMapData_UndergroundPath_EastWestTunnel @ 0x8319898 + .4byte gMapEvents_UndergroundPath_EastWestTunnel @ 0x83AF3E4 + .4byte gMapScripts_UndergroundPath_EastWestTunnel @ 0x8160ED3 + .4byte NULL + .2byte BGM_FRLG_ROUTE_1 + .2byte 173 + .byte 0x82, 0x00, 0x00, 0x08, 0x01, 0x06, 0x00, 0x00 + +UndergroundPath_EastEntrance:: @ 834F5E8 + .4byte gMapData_UndergroundPath_EastEntrance @ 0x8319414 + .4byte gMapEvents_UndergroundPath_EastEntrance @ 0x83AF430 + .4byte gMapScripts_UndergroundPath_EastEntrance @ 0x8160EDD + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 172 + .byte 0x82, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +DiglettsCave_NorthEntrance:: @ 834F604 + .4byte gMapData_DiglettsCave_NorthEntrance @ 0x831EB94 + .4byte gMapEvents_DiglettsCave_NorthEntrance @ 0x83AF46C + .4byte gMapScripts_DiglettsCave_NorthEntrance @ 0x8160EE7 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 210 + .byte 0x83, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +DiglettsCave_B1F:: @ 834F620 + .4byte gMapData_DiglettsCave_B1F @ 0x8303B68 + .4byte gMapEvents_DiglettsCave_B1F @ 0x83AF490 + .4byte gMapScripts_DiglettsCave_B1F @ 0x8160EF1 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 124 + .byte 0x83, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +DiglettsCave_SouthEntrance:: @ 834F63C + .4byte gMapData_DiglettsCave_SouthEntrance @ 0x831EC58 + .4byte gMapEvents_DiglettsCave_SouthEntrance @ 0x83AF4CC + .4byte gMapScripts_DiglettsCave_SouthEntrance @ 0x8160EFB + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 211 + .byte 0x83, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +VictoryRoad_1F:: @ 834F658 + .4byte gMapData_VictoryRoad_1F @ 0x83043CC + .4byte gMapEvents_VictoryRoad_1F @ 0x83AF5C0 + .4byte gMapScripts_VictoryRoad_1F @ 0x8160F05 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 125 + .byte 0x84, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +VictoryRoad_2F:: @ 834F674 + .4byte gMapData_VictoryRoad_2F @ 0x8304CB4 + .4byte gMapEvents_VictoryRoad_2F @ 0x83AF774 + .4byte gMapScripts_VictoryRoad_2F @ 0x8160F92 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 126 + .byte 0x84, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +VictoryRoad_3F:: @ 834F690 + .4byte gMapData_VictoryRoad_3F @ 0x8305494 + .4byte gMapEvents_VictoryRoad_3F @ 0x83AF8E0 + .4byte gMapScripts_VictoryRoad_3F @ 0x81610AA + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 127 + .byte 0x84, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +RocketHideout_B1F:: @ 834F6AC + .4byte gMapData_RocketHideout_B1F @ 0x8305C28 + .4byte gMapEvents_RocketHideout_B1F @ 0x83AF9D8 + .4byte gMapScripts_RocketHideout_B1F @ 0x8161195 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 128 + .byte 0x85, 0x00, 0x00, 0x08, 0x00, 0x07, 0xff, 0x03 + +RocketHideout_B2F:: @ 834F6C8 + .4byte gMapData_RocketHideout_B2F @ 0x83061CC + .4byte gMapEvents_RocketHideout_B2F @ 0x83AFA8C + .4byte gMapScripts_RocketHideout_B2F @ 0x81612A1 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 129 + .byte 0x85, 0x00, 0x00, 0x08, 0x00, 0x07, 0xfe, 0x03 + +RocketHideout_B3F:: @ 834F6E4 + .4byte gMapData_RocketHideout_B3F @ 0x8306694 + .4byte gMapEvents_RocketHideout_B3F @ 0x83AFB34 + .4byte gMapScripts_RocketHideout_B3F @ 0x81612B9 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 130 + .byte 0x85, 0x00, 0x00, 0x08, 0x00, 0x07, 0xfd, 0x03 + +RocketHideout_B4F:: @ 834F700 + .4byte gMapData_RocketHideout_B4F @ 0x8306B98 + .4byte gMapEvents_RocketHideout_B4F @ 0x83AFC50 + .4byte gMapScripts_RocketHideout_B4F @ 0x81612E8 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 131 + .byte 0x85, 0x00, 0x00, 0x08, 0x00, 0x07, 0xfc, 0x03 + +RocketHideout_Elevator:: @ 834F71C + .4byte gMapData_RocketHideout_Elevator @ 0x8320EDC + .4byte gMapEvents_RocketHideout_Elevator @ 0x83AFC80 + .4byte gMapScripts_RocketHideout_Elevator @ 0x81614D8 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 225 + .byte 0x85, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x03 + +SilphCo_1F:: @ 834F738 + .4byte gMapData_SilphCo_1F @ 0x83071EC + .4byte gMapEvents_SilphCo_1F @ 0x83AFCE0 + .4byte gMapScripts_SilphCo_1F @ 0x8161625 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 132 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x01, 0x00 + +SilphCo_2F:: @ 834F754 + .4byte gMapData_SilphCo_2F @ 0x8307840 + .4byte gMapEvents_SilphCo_2F @ 0x83AFE1C + .4byte gMapScripts_SilphCo_2F @ 0x8161641 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 133 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x02, 0x00 + +SilphCo_3F:: @ 834F770 + .4byte gMapData_SilphCo_3F @ 0x8307E94 + .4byte gMapEvents_SilphCo_3F @ 0x83AFF58 + .4byte gMapScripts_SilphCo_3F @ 0x81616C5 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 134 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x03, 0x00 + +SilphCo_4F:: @ 834F78C + .4byte gMapData_SilphCo_4F @ 0x83084E8 + .4byte gMapEvents_SilphCo_4F @ 0x83B00DC + .4byte gMapScripts_SilphCo_4F @ 0x8161736 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 135 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x04, 0x00 + +SilphCo_5F:: @ 834F7A8 + .4byte gMapData_SilphCo_5F @ 0x8308B3C + .4byte gMapEvents_SilphCo_5F @ 0x83B02D8 + .4byte gMapScripts_SilphCo_5F @ 0x81617BE + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 136 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x05, 0x00 + +SilphCo_6F:: @ 834F7C4 + .4byte gMapData_SilphCo_6F @ 0x8308FFC + .4byte gMapEvents_SilphCo_6F @ 0x83B044C + .4byte gMapScripts_SilphCo_6F @ 0x8161881 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 137 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x06, 0x00 + +SilphCo_7F:: @ 834F7E0 + .4byte gMapData_SilphCo_7F @ 0x83094BC + .4byte gMapEvents_SilphCo_7F @ 0x83B0660 + .4byte gMapScripts_SilphCo_7F @ 0x8161984 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 138 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x07, 0x00 + +SilphCo_8F:: @ 834F7FC + .4byte gMapData_SilphCo_8F @ 0x830997C + .4byte gMapEvents_SilphCo_8F @ 0x83B0784 + .4byte gMapScripts_SilphCo_8F @ 0x8161C5F + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 139 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x08, 0x00 + +SilphCo_9F:: @ 834F818 + .4byte gMapData_SilphCo_9F @ 0x8309E3C + .4byte gMapEvents_SilphCo_9F @ 0x83B0904 + .4byte gMapScripts_SilphCo_9F @ 0x8161CDE + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 140 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x09, 0x00 + +SilphCo_10F:: @ 834F834 + .4byte gMapData_SilphCo_10F @ 0x830A0E8 + .4byte gMapEvents_SilphCo_10F @ 0x83B0A20 + .4byte gMapScripts_SilphCo_10F @ 0x8161D86 + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 141 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x0a, 0x00 + +SilphCo_11F:: @ 834F850 + .4byte gMapData_SilphCo_11F @ 0x830A3B4 + .4byte gMapEvents_SilphCo_11F @ 0x83B0B44 + .4byte gMapScripts_SilphCo_11F @ 0x8161DEE + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 142 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x07, 0x0b, 0x00 + +SilphCo_Elevator:: @ 834F86C + .4byte gMapData_SilphCo_Elevator @ 0x8321330 + .4byte gMapEvents_SilphCo_Elevator @ 0x83B0B6C + .4byte gMapScripts_SilphCo_Elevator @ 0x8161F6E + .4byte NULL + .2byte BGM_FRLG_SILPH + .2byte 229 + .byte 0x86, 0x00, 0x00, 0x08, 0x00, 0x06, 0x00, 0x00 + +PokemonMansion_1F:: @ 834F888 + .4byte gMapData_PokemonMansion_1F @ 0x830AE3C + .4byte gMapEvents_PokemonMansion_1F @ 0x83B0C60 + .4byte gMapScripts_PokemonMansion_1F @ 0x81621F9 + .4byte NULL + .2byte BGM_FRLG_POKEMON_MANSION + .2byte 143 + .byte 0x87, 0x00, 0x0b, 0x08, 0x00, 0x07, 0x00, 0x03 + +PokemonMansion_2F:: @ 834F8A4 + .4byte gMapData_PokemonMansion_2F @ 0x830B9A8 + .4byte gMapEvents_PokemonMansion_2F @ 0x83B0D20 + .4byte gMapScripts_PokemonMansion_2F @ 0x8162254 + .4byte NULL + .2byte BGM_FRLG_POKEMON_MANSION + .2byte 144 + .byte 0x87, 0x00, 0x0b, 0x08, 0x00, 0x07, 0x00, 0x03 + +PokemonMansion_3F:: @ 834F8C0 + .4byte gMapData_PokemonMansion_3F @ 0x830C430 + .4byte gMapEvents_PokemonMansion_3F @ 0x83B0DF8 + .4byte gMapScripts_PokemonMansion_3F @ 0x81622A1 + .4byte NULL + .2byte BGM_FRLG_POKEMON_MANSION + .2byte 145 + .byte 0x87, 0x00, 0x0b, 0x08, 0x00, 0x07, 0x00, 0x03 + +PokemonMansion_B1F:: @ 834F8DC + .4byte gMapData_PokemonMansion_B1F @ 0x830CEB8 + .4byte gMapEvents_PokemonMansion_B1F @ 0x83B0ED4 + .4byte gMapScripts_PokemonMansion_B1F @ 0x81622FC + .4byte NULL + .2byte BGM_FRLG_POKEMON_MANSION + .2byte 146 + .byte 0x87, 0x00, 0x0b, 0x08, 0x00, 0x07, 0x00, 0x03 + +SafariZone_Center:: @ 834F8F8 + .4byte gMapData_SafariZone_Center @ 0x830DD38 + .4byte gMapEvents_SafariZone_Center @ 0x83B0F98 + .4byte gMapScripts_SafariZone_Center @ 0x8162357 + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 147 + .byte 0x88, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +SafariZone_East:: @ 834F914 + .4byte gMapData_SafariZone_East @ 0x830EC24 + .4byte gMapEvents_SafariZone_East @ 0x83B1068 + .4byte gMapScripts_SafariZone_East @ 0x816237C + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 148 + .byte 0x88, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +SafariZone_North:: @ 834F930 + .4byte gMapData_SafariZone_North @ 0x830FE1C + .4byte gMapEvents_SafariZone_North @ 0x83B1168 + .4byte gMapScripts_SafariZone_North @ 0x8162398 + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 149 + .byte 0x88, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +SafariZone_West:: @ 834F94C + .4byte gMapData_SafariZone_West @ 0x8310BC4 + .4byte gMapEvents_SafariZone_West @ 0x83B1270 + .4byte gMapScripts_SafariZone_West @ 0x81623C6 + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 150 + .byte 0x88, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +SafariZone_Building1:: @ 834F968 + .4byte gMapData_SafariZone_Building1 @ 0x831C028 + .4byte gMapEvents_SafariZone_Building1 @ 0x83B12CC + .4byte gMapScripts_SafariZone_Building1 @ 0x81623EB + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 198 + .byte 0x88, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SafariZone_Building2:: @ 834F984 + .4byte gMapData_SafariZone_Building2 @ 0x831C028 + .4byte gMapEvents_SafariZone_Building2 @ 0x83B1340 + .4byte gMapScripts_SafariZone_Building2 @ 0x81623FE + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 198 + .byte 0x88, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SafariZone_Building3:: @ 834F9A0 + .4byte gMapData_SafariZone_Building3 @ 0x831C028 + .4byte gMapEvents_SafariZone_Building3 @ 0x83B13CC + .4byte gMapScripts_SafariZone_Building3 @ 0x816241A + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 198 + .byte 0x88, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SafariZone_Building4:: @ 834F9BC + .4byte gMapData_SafariZone_Building4 @ 0x831C028 + .4byte gMapEvents_SafariZone_Building4 @ 0x83B1440 + .4byte gMapScripts_SafariZone_Building4 @ 0x8162436 + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 198 + .byte 0x88, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SafariZone_SecretHouse:: @ 834F9D8 + .4byte gMapData_SafariZone_SecretHouse @ 0x831C16C + .4byte gMapEvents_SafariZone_SecretHouse @ 0x83B1484 + .4byte gMapScripts_SafariZone_SecretHouse @ 0x8162452 + .4byte NULL + .2byte BGM_FRLG_SAFARI_ZONE + .2byte 199 + .byte 0x88, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCave_1F:: @ 834F9F4 + .4byte gMapData_CeruleanCave_1F @ 0x8311318 + .4byte gMapEvents_CeruleanCave_1F @ 0x83B15BC + .4byte gMapScripts_CeruleanCave_1F @ 0x81624B3 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 151 + .byte 0x8d, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +CeruleanCave_2F:: @ 834FA10 + .4byte gMapData_CeruleanCave_2F @ 0x8311A6C + .4byte gMapEvents_CeruleanCave_2F @ 0x83B1738 + .4byte gMapScripts_CeruleanCave_2F @ 0x81624BD + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 152 + .byte 0x8d, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +CeruleanCave_B1F:: @ 834FA2C + .4byte gMapData_CeruleanCave_B1F @ 0x83121C0 + .4byte gMapEvents_CeruleanCave_B1F @ 0x83B1874 + .4byte gMapScripts_CeruleanCave_B1F @ 0x81624BE + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 153 + .byte 0x8d, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +PokemonLeague_LoreleisRoom:: @ 834FA48 + .4byte gMapData_PokemonLeague_LoreleisRoom @ 0x831F178 + .4byte gMapEvents_PokemonLeague_LoreleisRoom @ 0x83B18B0 + .4byte gMapScripts_PokemonLeague_LoreleisRoom @ 0x816256C + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 213 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04 + +PokemonLeague_BrunosRoom:: @ 834FA64 + .4byte gMapData_PokemonLeague_BrunosRoom @ 0x831F2F0 + .4byte gMapEvents_PokemonLeague_BrunosRoom @ 0x83B18EC + .4byte gMapScripts_PokemonLeague_BrunosRoom @ 0x8162685 + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 214 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05 + +PokemonLeague_AgathasRoom:: @ 834FA80 + .4byte gMapData_PokemonLeague_AgathasRoom @ 0x831F468 + .4byte gMapEvents_PokemonLeague_AgathasRoom @ 0x83B1928 + .4byte gMapScripts_PokemonLeague_AgathasRoom @ 0x8162810 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 215 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06 + +PokemonLeague_LancesRoom:: @ 834FA9C + .4byte gMapData_PokemonLeague_LancesRoom @ 0x831F9CC + .4byte gMapEvents_PokemonLeague_LancesRoom @ 0x83B1964 + .4byte gMapScripts_PokemonLeague_LancesRoom @ 0x816292D + .4byte NULL + .2byte BGM_FRLG_INDIGO_PLATEAU + .2byte 216 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x07 + +PokemonLeague_ChampionsRoom:: @ 834FAB8 + .4byte gMapData_PokemonLeague_ChampionsRoom @ 0x831FBF8 + .4byte gMapEvents_PokemonLeague_ChampionsRoom @ 0x83B19B8 + .4byte gMapScripts_PokemonLeague_ChampionsRoom @ 0x8162AE2 + .4byte NULL + .2byte BGM_FRLG_INDIGO_PLATEAU + .2byte 217 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PokemonLeague_HallOfFame:: @ 834FAD4 + .4byte gMapData_PokemonLeague_HallOfFame @ 0x831FD3C + .4byte gMapEvents_PokemonLeague_HallOfFame @ 0x83B19EC + .4byte gMapScripts_PokemonLeague_HallOfFame @ 0x8162D4C + .4byte NULL + .2byte BGM_FRLG_HALL_OF_FAME_PALLET_TOWN + .2byte 218 + .byte 0x89, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +RockTunnel_1F:: @ 834FAF0 + .4byte gMapData_RockTunnel_1F @ 0x83130E4 + .4byte gMapEvents_RockTunnel_1F @ 0x83B1B2C + .4byte gMapScripts_RockTunnel_1F @ 0x8162DD6 + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 154 + .byte 0x8a, 0x01, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +RockTunnel_B1F:: @ 834FB0C + .4byte gMapData_RockTunnel_B1F @ 0x8314008 + .4byte gMapEvents_RockTunnel_B1F @ 0x83B1DD0 + .4byte gMapScripts_RockTunnel_B1F @ 0x8162E8A + .4byte NULL + .2byte BGM_FRLG_MT_MOON + .2byte 155 + .byte 0x8a, 0x01, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SeafoamIslands_1F:: @ 834FB28 + .4byte gMapData_SeafoamIslands_1F @ 0x831474C + .4byte gMapEvents_SeafoamIslands_1F @ 0x83B1E64 + .4byte gMapScripts_SeafoamIslands_1F @ 0x8162F43 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 156 + .byte 0x8b, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SeafoamIslands_B1F:: @ 834FB44 + .4byte gMapData_SeafoamIslands_B1F @ 0x8314E44 + .4byte gMapEvents_SeafoamIslands_B1F @ 0x83B1F30 + .4byte gMapScripts_SeafoamIslands_B1F @ 0x8162F4D + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 157 + .byte 0x8b, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SeafoamIslands_B2F:: @ 834FB60 + .4byte gMapData_SeafoamIslands_B2F @ 0x8315588 + .4byte gMapEvents_SeafoamIslands_B2F @ 0x83B1FE4 + .4byte gMapScripts_SeafoamIslands_B2F @ 0x8162F4E + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 158 + .byte 0x8b, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SeafoamIslands_B3F:: @ 834FB7C + .4byte gMapData_SeafoamIslands_B3F @ 0x8315CCC + .4byte gMapEvents_SeafoamIslands_B3F @ 0x83B20DC + .4byte gMapScripts_SeafoamIslands_B3F @ 0x8162F4F + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 159 + .byte 0x8b, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SeafoamIslands_B4F:: @ 834FB98 + .4byte gMapData_SeafoamIslands_B4F @ 0x8316410 + .4byte gMapEvents_SeafoamIslands_B4F @ 0x83B21C4 + .4byte gMapScripts_SeafoamIslands_B4F @ 0x816302E + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 160 + .byte 0x8b, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +PokemonTower_1F:: @ 834FBB4 + .4byte gMapData_PokemonTower_1F @ 0x83167F4 + .4byte gMapEvents_PokemonTower_1F @ 0x83B2270 + .4byte gMapScripts_PokemonTower_1F @ 0x8163235 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 161 + .byte 0x8c, 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_2F:: @ 834FBD0 + .4byte gMapData_PokemonTower_2F @ 0x8316BD8 + .4byte gMapEvents_PokemonTower_2F @ 0x83B22E4 + .4byte gMapScripts_PokemonTower_2F @ 0x8163285 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 162 + .byte 0x8c, 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_3F:: @ 834FBEC + .4byte gMapData_PokemonTower_3F @ 0x8316FBC + .4byte gMapEvents_PokemonTower_3F @ 0x83B2368 + .4byte gMapScripts_PokemonTower_3F @ 0x81633A6 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 163 + .byte 0x8c, 0x00, 0x06, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_4F:: @ 834FC08 + .4byte gMapData_PokemonTower_4F @ 0x83173A0 + .4byte gMapEvents_PokemonTower_4F @ 0x83B241C + .4byte gMapScripts_PokemonTower_4F @ 0x81633EC + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 164 + .byte 0x8c, 0x00, 0x06, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_5F:: @ 834FC24 + .4byte gMapData_PokemonTower_5F @ 0x8317784 + .4byte gMapEvents_PokemonTower_5F @ 0x83B2604 + .4byte gMapScripts_PokemonTower_5F @ 0x8163432 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 165 + .byte 0x8c, 0x00, 0x06, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_6F:: @ 834FC40 + .4byte gMapData_PokemonTower_6F @ 0x8317B68 + .4byte gMapEvents_PokemonTower_6F @ 0x83B26C0 + .4byte gMapScripts_PokemonTower_6F @ 0x81634B7 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 166 + .byte 0x8c, 0x00, 0x06, 0x08, 0x00, 0x05, 0x00, 0x02 + +PokemonTower_7F:: @ 834FC5C + .4byte gMapData_PokemonTower_7F @ 0x8317F4C + .4byte gMapEvents_PokemonTower_7F @ 0x83B2748 + .4byte gMapScripts_PokemonTower_7F @ 0x8163559 + .4byte NULL + .2byte BGM_FRLG_POKEMON_TOWER + .2byte 167 + .byte 0x8c, 0x00, 0x06, 0x08, 0x00, 0x05, 0x00, 0x02 + +PowerPlant:: @ 834FC78 + .4byte gMapData_PowerPlant @ 0x8318EC0 + .4byte gMapEvents_PowerPlant @ 0x83B285C + .4byte gMapScripts_PowerPlant @ 0x8163764 + .4byte NULL + .2byte BGM_FRLG_POKEMON_MANSION + .2byte 168 + .byte 0x8e, 0x00, 0x00, 0x08, 0x00, 0x07, 0x00, 0x03 + +MtEmber_RubyPath_B4F:: @ 834FC94 + .4byte gMapData_MtEmber_RubyPath_B4F @ 0x8339290 + .4byte gMapEvents_MtEmber_RubyPath_B4F @ 0x83B29B8 + .4byte gMapScripts_MtEmber_RubyPath_B4F @ 0x81638EB + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 269 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_Exterior:: @ 834FCB0 + .4byte gMapData_MtEmber_Exterior @ 0x833D660 + .4byte gMapEvents_MtEmber_Exterior @ 0x83B2C24 + .4byte gMapScripts_MtEmber_Exterior @ 0x8163946 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 280 + .byte 0xaf, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +MtEmber_SummitPath_1F:: @ 834FCCC + .4byte gMapData_MtEmber_SummitPath_1F @ 0x833DC08 + .4byte gMapEvents_MtEmber_SummitPath_1F @ 0x83B2C48 + .4byte gMapScripts_MtEmber_SummitPath_1F @ 0x8163AF9 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 282 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_SummitPath_2F:: @ 834FCE8 + .4byte gMapData_MtEmber_SummitPath_2F @ 0x833ED6C + .4byte gMapEvents_MtEmber_SummitPath_2F @ 0x83B2D44 + .4byte gMapScripts_MtEmber_SummitPath_2F @ 0x8163AFA + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 283 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_SummitPath_3F:: @ 834FD04 + .4byte gMapData_MtEmber_SummitPath_3F @ 0x833EEDC + .4byte gMapEvents_MtEmber_SummitPath_3F @ 0x83B2D68 + .4byte gMapScripts_MtEmber_SummitPath_3F @ 0x8163AFB + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 284 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_Summit:: @ 834FD20 + .4byte gMapData_MtEmber_Summit @ 0x833D9C8 + .4byte gMapEvents_MtEmber_Summit @ 0x83B2DFC + .4byte gMapScripts_MtEmber_Summit @ 0x8163AFC + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 281 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B5F:: @ 834FD3C + .4byte gMapData_MtEmber_RubyPath_B5F @ 0x833FF60 + .4byte gMapEvents_MtEmber_RubyPath_B5F @ 0x83B2E3C + .4byte gMapScripts_MtEmber_RubyPath_B5F @ 0x8163BAA + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 291 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_Kitchen3:: @ 834FD58 + .4byte gMapData_SSAnne_Kitchen3 @ 0x833F304 + .4byte gMapEvents_SSAnne_Kitchen3 @ 0x83B2EE0 + .4byte gMapScripts_SSAnne_Kitchen3 @ 0x8163C45 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 285 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B1F:: @ 834FD74 + .4byte gMapData_MtEmber_RubyPath_B1F @ 0x833F524 + .4byte gMapEvents_MtEmber_RubyPath_B1F @ 0x83B2F64 + .4byte gMapScripts_MtEmber_RubyPath_B1F @ 0x8163C46 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 286 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B2F:: @ 834FD90 + .4byte gMapData_MtEmber_RubyPath_B2F @ 0x833F6A8 + .4byte gMapEvents_MtEmber_RubyPath_B2F @ 0x83B3030 + .4byte gMapScripts_MtEmber_RubyPath_B2F @ 0x8163C47 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 287 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B3F:: @ 834FDAC + .4byte gMapData_MtEmber_RubyPath_B3F @ 0x833FC60 + .4byte gMapEvents_MtEmber_RubyPath_B3F @ 0x83B314C + .4byte gMapScripts_MtEmber_RubyPath_B3F @ 0x8163C48 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 288 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B1F_Stairs:: @ 834FDC8 + .4byte gMapData_MtEmber_RubyPath_B1F_Stairs @ 0x833FCD8 + .4byte gMapEvents_MtEmber_RubyPath_B1F_Stairs @ 0x83B3188 + .4byte gMapScripts_MtEmber_RubyPath_B1F_Stairs @ 0x8163C6F + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 289 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +MtEmber_RubyPath_B2F_Stairs:: @ 834FDE4 + .4byte gMapData_MtEmber_RubyPath_B2F_Stairs @ 0x833FD5C + .4byte gMapEvents_MtEmber_RubyPath_B2F_Stairs @ 0x83B31DC + .4byte gMapScripts_MtEmber_RubyPath_B2F_Stairs @ 0x8163C70 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 290 + .byte 0xaf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +ThreeIsland_BerryForest:: @ 834FE00 + .4byte gMapData_ThreeIsland_BerryForest @ 0x833A7A8 + .4byte gMapEvents_ThreeIsland_BerryForest @ 0x83B340C + .4byte gMapScripts_ThreeIsland_BerryForest @ 0x8163C71 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 270 + .byte 0xb0, 0x00, 0x0b, 0x03, 0x01, 0x07, 0x00, 0x00 + +FourIsland_IcefallCave_Entrance:: @ 834FE1C + .4byte gMapData_FourIsland_IcefallCave_Entrance @ 0x8340E38 + .4byte gMapEvents_FourIsland_IcefallCave_Entrance @ 0x83B3438 + .4byte gMapScripts_FourIsland_IcefallCave_Entrance @ 0x8163D3A + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 293 + .byte 0xb1, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +FourIsland_IcefallCave_1F:: @ 834FE38 + .4byte gMapData_FourIsland_IcefallCave_1F @ 0x834117C + .4byte gMapEvents_FourIsland_IcefallCave_1F @ 0x83B34AC + .4byte gMapScripts_FourIsland_IcefallCave_1F @ 0x8163D44 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 294 + .byte 0xb1, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_CaptainsOffice2:: @ 834FE54 + .4byte gMapData_SSAnne_CaptainsOffice2 @ 0x8341560 + .4byte gMapEvents_SSAnne_CaptainsOffice2 @ 0x83B3508 + .4byte gMapScripts_SSAnne_CaptainsOffice2 @ 0x8163D81 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 295 + .byte 0xb1, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_CaptainsOffice3:: @ 834FE70 + .4byte gMapData_SSAnne_CaptainsOffice3 @ 0x8341A98 + .4byte gMapEvents_SSAnne_CaptainsOffice3 @ 0x83B35B4 + .4byte gMapScripts_SSAnne_CaptainsOffice3 @ 0x8163D82 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 296 + .byte 0xb1, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_CaptainsOffice4:: @ 834FE8C + .4byte gMapData_SSAnne_CaptainsOffice4 @ 0x83405A4 + .4byte gMapEvents_SSAnne_CaptainsOffice4 @ 0x83B381C + .4byte gMapScripts_SSAnne_CaptainsOffice4 @ 0x8163F2E + .4byte NULL + .2byte BGM_FRLG_ROCKET_HIDEOUT + .2byte 292 + .byte 0xb2, 0x00, 0x00, 0x08, 0x00, 0x05, 0x00, 0x03 + +SSAnne_CaptainsOffice5:: @ 834FEA8 + .4byte gMapData_SSAnne_CaptainsOffice5 @ 0x83436C4 + .4byte gMapEvents_SSAnne_CaptainsOffice5 @ 0x83B3850 + .4byte gMapScripts_SSAnne_CaptainsOffice5 @ 0x8164182 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 309 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SixIsland_DottedHole_B1F:: @ 834FEC4 + .4byte gMapData_SixIsland_DottedHole_B1F @ 0x8343808 + .4byte gMapEvents_SixIsland_DottedHole_B1F @ 0x83B3898 + .4byte gMapScripts_SixIsland_DottedHole_B1F @ 0x81641B0 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 310 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SixIsland_DottedHole_B2F:: @ 834FEE0 + .4byte gMapData_SixIsland_DottedHole_B2F @ 0x834394C + .4byte gMapEvents_SixIsland_DottedHole_B2F @ 0x83B38E0 + .4byte gMapScripts_SixIsland_DottedHole_B2F @ 0x81641B1 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 311 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SixIsland_DottedHole_B3F:: @ 834FEFC + .4byte gMapData_SixIsland_DottedHole_B3F @ 0x8343A90 + .4byte gMapEvents_SixIsland_DottedHole_B3F @ 0x83B3928 + .4byte gMapScripts_SixIsland_DottedHole_B3F @ 0x81641B2 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 312 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_CaptainsOffice9:: @ 834FF18 + .4byte gMapData_SSAnne_CaptainsOffice9 @ 0x8343BD4 + .4byte gMapEvents_SSAnne_CaptainsOffice9 @ 0x83B3970 + .4byte gMapScripts_SSAnne_CaptainsOffice9 @ 0x81641B3 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 313 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SixIsland_DottedHole_SapphireRoom:: @ 834FF34 + .4byte gMapData_SixIsland_DottedHole_SapphireRoom @ 0x8343DD8 + .4byte gMapEvents_SixIsland_DottedHole_SapphireRoom @ 0x83B39D0 + .4byte gMapScripts_SixIsland_DottedHole_SapphireRoom @ 0x81641B4 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 314 + .byte 0xb4, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SSAnne_1F_Room11:: @ 834FF50 + .4byte gMapData_SSAnne_1F_Room11 @ 0x8345030 + .4byte gMapEvents_SSAnne_1F_Room11 @ 0x83B3B34 + .4byte gMapScripts_SSAnne_1F_Room11 @ 0x8164559 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 317 + .byte 0xb6, 0x00, 0x00, 0x03, 0x01, 0x07, 0x00, 0x00 + +SSAnne_1F_Room12:: @ 834FF6C + .4byte gMapData_SSAnne_1F_Room12 @ 0x8347A50 + .4byte gMapEvents_SSAnne_1F_Room12 @ 0x83B3B50 + .4byte gMapScripts_SSAnne_1F_Room12 @ 0x81646A4 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 340 + .byte 0xb7, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +NavelRock_Exterior:: @ 834FF88 + .4byte gMapData_NavelRock_Exterior @ 0x834873C + .4byte gMapEvents_NavelRock_Exterior @ 0x83B3B74 + .4byte gMapScripts_NavelRock_Exterior @ 0x81646AE + .4byte NULL + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 343 + .byte 0xae, 0x00, 0x00, 0x03, 0x01, 0x06, 0x00, 0x00 + +SevenIsland_TrainerTower_1F:: @ 834FFA4 + .4byte gMapData_SevenIsland_TrainerTower_1F @ 0x8341FCC + .4byte gMapEvents_SevenIsland_TrainerTower_1F @ 0x83B3C40 + .4byte gMapScripts_SevenIsland_TrainerTower_1F @ 0x81646B8 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 298 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_2F:: @ 834FFC0 + .4byte gMapData_SevenIsland_TrainerTower_2F @ 0x8342254 + .4byte gMapEvents_SevenIsland_TrainerTower_2F @ 0x83B3D14 + .4byte gMapScripts_SevenIsland_TrainerTower_2F @ 0x81646E6 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 299 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_3F:: @ 834FFDC + .4byte gMapData_SevenIsland_TrainerTower_3F @ 0x83424DC + .4byte gMapEvents_SevenIsland_TrainerTower_3F @ 0x83B3DE8 + .4byte gMapScripts_SevenIsland_TrainerTower_3F @ 0x8164714 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 300 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_4F:: @ 834FFF8 + .4byte gMapData_SevenIsland_TrainerTower_4F @ 0x8342764 + .4byte gMapEvents_SevenIsland_TrainerTower_4F @ 0x83B3EBC + .4byte gMapScripts_SevenIsland_TrainerTower_4F @ 0x8164742 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 301 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_5F:: @ 8350014 + .4byte gMapData_SevenIsland_TrainerTower_5F @ 0x83429EC + .4byte gMapEvents_SevenIsland_TrainerTower_5F @ 0x83B3F90 + .4byte gMapScripts_SevenIsland_TrainerTower_5F @ 0x8164770 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 302 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_6F:: @ 8350030 + .4byte gMapData_SevenIsland_TrainerTower_6F @ 0x8342C74 + .4byte gMapEvents_SevenIsland_TrainerTower_6F @ 0x83B4064 + .4byte gMapScripts_SevenIsland_TrainerTower_6F @ 0x816479E + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 303 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_7F:: @ 835004C + .4byte gMapData_SevenIsland_TrainerTower_7F @ 0x8342EFC + .4byte gMapEvents_SevenIsland_TrainerTower_7F @ 0x83B4138 + .4byte gMapScripts_SevenIsland_TrainerTower_7F @ 0x81647CC + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 304 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_8F:: @ 8350068 + .4byte gMapData_SevenIsland_TrainerTower_8F @ 0x8343184 + .4byte gMapEvents_SevenIsland_TrainerTower_8F @ 0x83B420C + .4byte gMapScripts_SevenIsland_TrainerTower_8F @ 0x81647FA + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 305 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_Roof:: @ 8350084 + .4byte gMapData_SevenIsland_TrainerTower_Roof @ 0x83433E8 + .4byte gMapEvents_SevenIsland_TrainerTower_Roof @ 0x83B4248 + .4byte gMapScripts_SevenIsland_TrainerTower_Roof @ 0x8164828 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 306 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_Lobby:: @ 83500A0 + .4byte gMapData_SevenIsland_TrainerTower_Lobby @ 0x8341D44 + .4byte gMapEvents_SevenIsland_TrainerTower_Lobby @ 0x83B4308 + .4byte gMapScripts_SevenIsland_TrainerTower_Lobby @ 0x8164839 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 297 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +SevenIsland_TrainerTower_Elevator:: @ 83500BC + .4byte gMapData_SevenIsland_TrainerTower_Elevator @ 0x8343454 + .4byte gMapEvents_SevenIsland_TrainerTower_Elevator @ 0x83B4330 + .4byte gMapScripts_SevenIsland_TrainerTower_Elevator @ 0x8164AF8 + .4byte NULL + .2byte BGM_FRLG_TRAINER_TOWER + .2byte 307 + .byte 0xb3, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00 + +FiveIsland_LostCave_Entrance:: @ 83500D8 + .4byte gMapData_FiveIsland_LostCave_Entrance @ 0x83454D8 + .4byte gMapEvents_FiveIsland_LostCave_Entrance @ 0x83B4354 + .4byte gMapScripts_FiveIsland_LostCave_Entrance @ 0x8164BEC + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 320 + .byte 0xb5, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room1:: @ 83500F4 + .4byte gMapData_FiveIsland_LostCave_Room1 @ 0x83455F0 + .4byte gMapEvents_FiveIsland_LostCave_Room1 @ 0x83B43A8 + .4byte gMapScripts_FiveIsland_LostCave_Room1 @ 0x8164BF6 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 321 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room2:: @ 8350110 + .4byte gMapData_FiveIsland_LostCave_Room2 @ 0x8345708 + .4byte gMapEvents_FiveIsland_LostCave_Room2 @ 0x83B43DC + .4byte gMapScripts_FiveIsland_LostCave_Room2 @ 0x8164C0E + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 322 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room3:: @ 835012C + .4byte gMapData_FiveIsland_LostCave_Room3 @ 0x8345820 + .4byte gMapEvents_FiveIsland_LostCave_Room3 @ 0x83B4410 + .4byte gMapScripts_FiveIsland_LostCave_Room3 @ 0x8164C0F + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 323 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room4:: @ 8350148 + .4byte gMapData_FiveIsland_LostCave_Room4 @ 0x8345938 + .4byte gMapEvents_FiveIsland_LostCave_Room4 @ 0x83B445C + .4byte gMapScripts_FiveIsland_LostCave_Room4 @ 0x8164C10 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 324 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room5:: @ 8350164 + .4byte gMapData_FiveIsland_LostCave_Room5 @ 0x8345A50 + .4byte gMapEvents_FiveIsland_LostCave_Room5 @ 0x83B4490 + .4byte gMapScripts_FiveIsland_LostCave_Room5 @ 0x8164C28 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 325 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room6:: @ 8350180 + .4byte gMapData_FiveIsland_LostCave_Room6 @ 0x8345B68 + .4byte gMapEvents_FiveIsland_LostCave_Room6 @ 0x83B44C4 + .4byte gMapScripts_FiveIsland_LostCave_Room6 @ 0x8164C29 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 326 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room7:: @ 835019C + .4byte gMapData_FiveIsland_LostCave_Room7 @ 0x8345C80 + .4byte gMapEvents_FiveIsland_LostCave_Room7 @ 0x83B44F8 + .4byte gMapScripts_FiveIsland_LostCave_Room7 @ 0x8164C2A + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 327 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room8:: @ 83501B8 + .4byte gMapData_FiveIsland_LostCave_Room8 @ 0x8345D98 + .4byte gMapEvents_FiveIsland_LostCave_Room8 @ 0x83B452C + .4byte gMapScripts_FiveIsland_LostCave_Room8 @ 0x8164C2B + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 328 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room9:: @ 83501D4 + .4byte gMapData_FiveIsland_LostCave_Room9 @ 0x8345EB0 + .4byte gMapEvents_FiveIsland_LostCave_Room9 @ 0x83B4560 + .4byte gMapScripts_FiveIsland_LostCave_Room9 @ 0x8164C2C + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 329 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room10:: @ 83501F0 + .4byte gMapData_FiveIsland_LostCave_Room10 @ 0x8345FC8 + .4byte gMapEvents_FiveIsland_LostCave_Room10 @ 0x83B45AC + .4byte gMapScripts_FiveIsland_LostCave_Room10 @ 0x8164C2D + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 330 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room11:: @ 835020C + .4byte gMapData_FiveIsland_LostCave_Room11 @ 0x83460E0 + .4byte gMapEvents_FiveIsland_LostCave_Room11 @ 0x83B45E0 + .4byte gMapScripts_FiveIsland_LostCave_Room11 @ 0x8164CCB + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 331 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room12:: @ 8350228 + .4byte gMapData_FiveIsland_LostCave_Room12 @ 0x83461F8 + .4byte gMapEvents_FiveIsland_LostCave_Room12 @ 0x83B4614 + .4byte gMapScripts_FiveIsland_LostCave_Room12 @ 0x8164CCC + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 332 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room13:: @ 8350244 + .4byte gMapData_FiveIsland_LostCave_Room13 @ 0x8346310 + .4byte gMapEvents_FiveIsland_LostCave_Room13 @ 0x83B4648 + .4byte gMapScripts_FiveIsland_LostCave_Room13 @ 0x8164CCD + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 333 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +FiveIsland_LostCave_Room14:: @ 8350260 + .4byte gMapData_FiveIsland_LostCave_Room14 @ 0x8346428 + .4byte gMapEvents_FiveIsland_LostCave_Room14 @ 0x83B467C + .4byte gMapScripts_FiveIsland_LostCave_Room14 @ 0x8164CCE + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 334 + .byte 0xb5, 0x00, 0x06, 0x04, 0x01, 0x07, 0x00, 0x00 + +SevenIsland_TanobyRuins_MoneanChamber:: @ 835027C + .4byte gMapData_SevenIsland_TanobyRuins_MoneanChamber @ 0x834675C + .4byte gMapEvents_SevenIsland_TanobyRuins_MoneanChamber @ 0x83B4698 + .4byte gMapScripts_SevenIsland_TanobyRuins_MoneanChamber @ 0x8164CCF + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 335 + .byte 0xbc, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_LiptooChamber:: @ 8350298 + .4byte gMapData_SevenIsland_TanobyRuins_LiptooChamber @ 0x8346A90 + .4byte gMapEvents_SevenIsland_TanobyRuins_LiptooChamber @ 0x83B46B4 + .4byte gMapScripts_SevenIsland_TanobyRuins_LiptooChamber @ 0x8164CDE + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 336 + .byte 0xbd, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_WeepthChamber:: @ 83502B4 + .4byte gMapData_SevenIsland_TanobyRuins_WeepthChamber @ 0x8346DC4 + .4byte gMapEvents_SevenIsland_TanobyRuins_WeepthChamber @ 0x83B46D0 + .4byte gMapScripts_SevenIsland_TanobyRuins_WeepthChamber @ 0x8164CEA + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 337 + .byte 0xbe, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_DilfordChamber:: @ 83502D0 + .4byte gMapData_SevenIsland_TanobyRuins_DilfordChamber @ 0x83470F8 + .4byte gMapEvents_SevenIsland_TanobyRuins_DilfordChamber @ 0x83B46EC + .4byte gMapScripts_SevenIsland_TanobyRuins_DilfordChamber @ 0x8164CF6 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 338 + .byte 0xbf, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_ScufibChamber:: @ 83502EC + .4byte gMapData_SevenIsland_TanobyRuins_ScufibChamber @ 0x834742C + .4byte gMapEvents_SevenIsland_TanobyRuins_ScufibChamber @ 0x83B4708 + .4byte gMapScripts_SevenIsland_TanobyRuins_ScufibChamber @ 0x8164D02 + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 339 + .byte 0xc0, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_RixyChamber:: @ 8350308 + .4byte gMapData_SevenIsland_TanobyRuins_RixyChamber @ 0x8349DC8 + .4byte gMapEvents_SevenIsland_TanobyRuins_RixyChamber @ 0x83B4724 + .4byte gMapScripts_SevenIsland_TanobyRuins_RixyChamber @ 0x8164D0E + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 362 + .byte 0xc1, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +SevenIsland_TanobyRuins_ViapoisChamber:: @ 8350324 + .4byte gMapData_SevenIsland_TanobyRuins_ViapoisChamber @ 0x834A0FC + .4byte gMapEvents_SevenIsland_TanobyRuins_ViapoisChamber @ 0x83B4740 + .4byte gMapScripts_SevenIsland_TanobyRuins_ViapoisChamber @ 0x8164D1A + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 363 + .byte 0xc2, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +ThreeIsland_DunsparceTunnel:: @ 8350340 + .4byte gMapData_ThreeIsland_DunsparceTunnel @ 0x83451F8 + .4byte gMapEvents_ThreeIsland_DunsparceTunnel @ 0x83B4788 + .4byte gMapScripts_ThreeIsland_DunsparceTunnel @ 0x8164D26 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 318 + .byte 0xb9, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x00 + +SevenIsland_SeavaultCanyon_TanobyKey:: @ 835035C + .4byte gMapData_SevenIsland_SeavaultCanyon_TanobyKey @ 0x8347C54 + .4byte gMapEvents_SevenIsland_SeavaultCanyon_TanobyKey @ 0x83B48BC + .4byte gMapScripts_SevenIsland_SeavaultCanyon_TanobyKey @ 0x8164DCC + .4byte NULL + .2byte BGM_FRLG_TANOBY_RUINS + .2byte 341 + .byte 0xba, 0x00, 0x00, 0x04, 0x01, 0x07, 0x00, 0x02 + +NavelRock_1F:: @ 8350378 + .4byte gMapData_NavelRock_1F @ 0x8348AD4 + .4byte gMapEvents_NavelRock_1F @ 0x83B48E0 + .4byte gMapScripts_NavelRock_1F @ 0x8164F9E + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 344 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_Summit:: @ 8350394 + .4byte gMapData_NavelRock_Summit @ 0x8348EB0 + .4byte gMapEvents_NavelRock_Summit @ 0x83B4930 + .4byte gMapScripts_NavelRock_Summit @ 0x8164F9F + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 345 + .byte 0xae, 0x00, 0x0b, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_Base:: @ 83503B0 + .4byte gMapData_NavelRock_Base @ 0x834929C + .4byte gMapEvents_NavelRock_Base @ 0x83B4964 + .4byte gMapScripts_NavelRock_Base @ 0x81650E7 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 346 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_SummitPath_2F:: @ 83503CC + .4byte gMapData_NavelRock_SummitPath_2F @ 0x8349324 + .4byte gMapEvents_NavelRock_SummitPath_2F @ 0x83B4988 + .4byte gMapScripts_NavelRock_SummitPath_2F @ 0x81651F2 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 347 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_SummitPath_3F:: @ 83503E8 + .4byte gMapData_NavelRock_SummitPath_3F @ 0x83493AC + .4byte gMapEvents_NavelRock_SummitPath_3F @ 0x83B49AC + .4byte gMapScripts_NavelRock_SummitPath_3F @ 0x81651F3 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 348 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_SummitPath_4F:: @ 8350404 + .4byte gMapData_NavelRock_SummitPath_4F @ 0x8349434 + .4byte gMapEvents_NavelRock_SummitPath_4F @ 0x83B49D0 + .4byte gMapScripts_NavelRock_SummitPath_4F @ 0x81651F4 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 349 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_SummitPath_5F:: @ 8350420 + .4byte gMapData_NavelRock_SummitPath_5F @ 0x83494BC + .4byte gMapEvents_NavelRock_SummitPath_5F @ 0x83B49F4 + .4byte gMapScripts_NavelRock_SummitPath_5F @ 0x81651F5 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 350 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B1F:: @ 835043C + .4byte gMapData_NavelRock_BasePath_B1F @ 0x8349544 + .4byte gMapEvents_NavelRock_BasePath_B1F @ 0x83B4A18 + .4byte gMapScripts_NavelRock_BasePath_B1F @ 0x81651F6 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 351 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B2F:: @ 8350458 + .4byte gMapData_NavelRock_BasePath_B2F @ 0x83495CC + .4byte gMapEvents_NavelRock_BasePath_B2F @ 0x83B4A3C + .4byte gMapScripts_NavelRock_BasePath_B2F @ 0x81651F7 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 352 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B3F:: @ 8350474 + .4byte gMapData_NavelRock_BasePath_B3F @ 0x8349654 + .4byte gMapEvents_NavelRock_BasePath_B3F @ 0x83B4A60 + .4byte gMapScripts_NavelRock_BasePath_B3F @ 0x81651F8 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 353 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B4F:: @ 8350490 + .4byte gMapData_NavelRock_BasePath_B4F @ 0x83496DC + .4byte gMapEvents_NavelRock_BasePath_B4F @ 0x83B4A84 + .4byte gMapScripts_NavelRock_BasePath_B4F @ 0x81651F9 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 354 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B5F:: @ 83504AC + .4byte gMapData_NavelRock_BasePath_B5F @ 0x8349764 + .4byte gMapEvents_NavelRock_BasePath_B5F @ 0x83B4AA8 + .4byte gMapScripts_NavelRock_BasePath_B5F @ 0x81651FA + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 355 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B6F:: @ 83504C8 + .4byte gMapData_NavelRock_BasePath_B6F @ 0x83497EC + .4byte gMapEvents_NavelRock_BasePath_B6F @ 0x83B4ACC + .4byte gMapScripts_NavelRock_BasePath_B6F @ 0x81651FB + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 356 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B7F:: @ 83504E4 + .4byte gMapData_NavelRock_BasePath_B7F @ 0x8349874 + .4byte gMapEvents_NavelRock_BasePath_B7F @ 0x83B4AF0 + .4byte gMapScripts_NavelRock_BasePath_B7F @ 0x81651FC + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 357 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B8F:: @ 8350500 + .4byte gMapData_NavelRock_BasePath_B8F @ 0x83498FC + .4byte gMapEvents_NavelRock_BasePath_B8F @ 0x83B4B14 + .4byte gMapScripts_NavelRock_BasePath_B8F @ 0x81651FD + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 358 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B9F:: @ 835051C + .4byte gMapData_NavelRock_BasePath_B9F @ 0x8349984 + .4byte gMapEvents_NavelRock_BasePath_B9F @ 0x83B4B38 + .4byte gMapScripts_NavelRock_BasePath_B9F @ 0x81651FE + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 359 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B10F:: @ 8350538 + .4byte gMapData_NavelRock_BasePath_B10F @ 0x8349A0C + .4byte gMapEvents_NavelRock_BasePath_B10F @ 0x83B4B5C + .4byte gMapScripts_NavelRock_BasePath_B10F @ 0x81651FF + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 360 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_BasePath_B11F:: @ 8350554 + .4byte gMapData_NavelRock_BasePath_B11F @ 0x8349A94 + .4byte gMapEvents_NavelRock_BasePath_B11F @ 0x83B4B80 + .4byte gMapScripts_NavelRock_BasePath_B11F @ 0x8165200 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 361 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_B1F:: @ 8350570 + .4byte gMapData_NavelRock_B1F @ 0x834A210 + .4byte gMapEvents_NavelRock_B1F @ 0x83B4BA4 + .4byte gMapScripts_NavelRock_B1F @ 0x8165201 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 364 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +NavelRock_Fork:: @ 835058C + .4byte gMapData_NavelRock_Fork @ 0x834B9A4 + .4byte gMapEvents_NavelRock_Fork @ 0x83B4BD0 + .4byte gMapScripts_NavelRock_Fork @ 0x8165202 + .4byte NULL + .2byte BGM_FRLG_MT_EMBER + .2byte 365 + .byte 0xae, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +BirthIsland_Exterior:: @ 83505A8 + .4byte gMapData_BirthIsland_Exterior @ 0x8348380 + .4byte gMapEvents_BirthIsland_Exterior @ 0x83B4C1C + .4byte gMapScripts_BirthIsland_Exterior @ 0x8165203 + .4byte NULL + .2byte 0xFFFF + .2byte 342 + .byte 0xbb, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00 + +OneIsland_KindleRoad_EmberSpa:: @ 83505C4 + .4byte gMapData_OneIsland_KindleRoad_EmberSpa @ 0x834EB70 + .4byte gMapEvents_OneIsland_KindleRoad_EmberSpa @ 0x83B4CD8 + .4byte gMapScripts_OneIsland_KindleRoad_EmberSpa @ 0x816535B + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 383 + .byte 0xc3, 0x00, 0x00, 0x04, 0x00, 0x06, 0x00, 0x00 + +BirthIsland_Harbor:: @ 83505E0 + .4byte gMapData_BirthIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_BirthIsland_Harbor @ 0x83B4D24 + .4byte gMapScripts_BirthIsland_Harbor @ 0x81653E6 + .4byte NULL + .2byte 0xFFFF + .2byte 315 + .byte 0xbb, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +NavelRock_Harbor:: @ 83505FC + .4byte gMapData_NavelRock_Harbor @ 0x8343FB8 + .4byte gMapEvents_NavelRock_Harbor @ 0x83B4D70 + .4byte gMapScripts_NavelRock_Harbor @ 0x8165420 + .4byte NULL + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 315 + .byte 0xae, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PalletTown:: @ 8350618 + .4byte gMapData_PalletTown @ 0x82DD4C0 + .4byte gMapEvents_PalletTown @ 0x83B4E50 + .4byte gMapScripts_PalletTown @ 0x816545A + .4byte gMapConnections_PalletTown @ 0x835276C + .2byte BGM_FRLG_PALLET_TOWN + .2byte 78 + .byte 0x58, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +ViridianCity:: @ 8350634 + .4byte gMapData_ViridianCity @ 0x82DE3E4 + .4byte gMapEvents_ViridianCity @ 0x83B4FE0 + .4byte gMapScripts_ViridianCity @ 0x81658D3 + .4byte gMapConnections_ViridianCity @ 0x8352798 + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 79 + .byte 0x59, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +PewterCity:: @ 8350650 + .4byte gMapData_PewterCity @ 0x82DF308 + .4byte gMapEvents_PewterCity @ 0x83B518C + .4byte gMapScripts_PewterCity @ 0x8165B8E + .4byte gMapConnections_PewterCity @ 0x83527B8 + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 80 + .byte 0x5a, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +CeruleanCity:: @ 835066C + .4byte gMapData_CeruleanCity @ 0x82E022C + .4byte gMapEvents_CeruleanCity @ 0x83B53E0 + .4byte gMapScripts_CeruleanCity @ 0x8166471 + .4byte gMapConnections_CeruleanCity @ 0x83527F0 + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 81 + .byte 0x5b, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +LavenderTown:: @ 8350688 + .4byte gMapData_LavenderTown @ 0x82E0610 + .4byte gMapEvents_LavenderTown @ 0x83B549C + .4byte gMapScripts_LavenderTown @ 0x816686B + .4byte gMapConnections_LavenderTown @ 0x835281C + .2byte BGM_FRLG_LAVENDER_TOWN + .2byte 82 + .byte 0x5c, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +VermilionCity:: @ 83506A4 + .4byte gMapData_VermilionCity @ 0x82E1534 + .4byte gMapEvents_VermilionCity @ 0x83B5648 + .4byte gMapScripts_VermilionCity @ 0x81668DC + .4byte gMapConnections_VermilionCity @ 0x835283C + .2byte BGM_FRLG_VERMILION_CITY + .2byte 83 + .byte 0x5d, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +CeladonCity:: @ 83506C0 + .4byte gMapData_CeladonCity @ 0x82E2818 + .4byte gMapEvents_CeladonCity @ 0x83B5898 + .4byte gMapScripts_CeladonCity @ 0x8166C8F + .4byte gMapConnections_CeladonCity @ 0x835285C + .2byte BGM_FRLG_CELADON_CITY + .2byte 84 + .byte 0x5e, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +FuchsiaCity:: @ 83506DC + .4byte gMapData_FuchsiaCity @ 0x82E373C + .4byte gMapEvents_FuchsiaCity @ 0x83B5B14 + .4byte gMapScripts_FuchsiaCity @ 0x8166D75 + .4byte gMapConnections_FuchsiaCity @ 0x8352888 + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 85 + .byte 0x5f, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +CinnabarIsland:: @ 83506F8 + .4byte gMapData_CinnabarIsland @ 0x82E3B20 + .4byte gMapEvents_CinnabarIsland @ 0x83B5BF0 + .4byte gMapScripts_CinnabarIsland @ 0x8166ED6 + .4byte gMapConnections_CinnabarIsland @ 0x83528A8 + .2byte BGM_FRLG_CINNABAR_ISLAND + .2byte 86 + .byte 0x60, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +IndigoPlateau_Exterior:: @ 8350714 + .4byte gMapData_IndigoPlateau_Exterior @ 0x82E3F04 + .4byte gMapEvents_IndigoPlateau_Exterior @ 0x83B5C3C + .4byte gMapScripts_IndigoPlateau_Exterior @ 0x816723B + .4byte gMapConnections_IndigoPlateau_Exterior @ 0x83528BC + .2byte BGM_FRLG_INDIGO_PLATEAU + .2byte 87 + .byte 0x61, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +SaffronCity_Duplicate:: @ 8350730 + .4byte gMapData_SaffronCity_Duplicate @ 0x831E8D4 + .4byte gMapEvents_SaffronCity_Duplicate @ 0x83B5E9C + .4byte gMapScripts_SaffronCity_Duplicate @ 0x816735F + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 207 + .byte 0x62, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +SaffronCity:: @ 835074C + .4byte gMapData_SaffronCity @ 0x82E4E28 + .4byte gMapEvents_SaffronCity @ 0x83B5EB0 + .4byte gMapScripts_SaffronCity @ 0x8167483 + .4byte gMapConnections_SaffronCity @ 0x835292C + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 88 + .byte 0x62, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +OneIsland:: @ 8350768 + .4byte gMapData_OneIsland @ 0x8321714 + .4byte gMapEvents_OneIsland @ 0x83B5F44 + .4byte gMapScripts_OneIsland @ 0x8167484 + .4byte gMapConnections_OneIsland @ 0x835294C + .2byte BGM_FRLG_ISLAND_ONE + .2byte 230 + .byte 0x8f, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +TwoIsland:: @ 8350784 + .4byte gMapData_TwoIsland @ 0x8321EB8 + .4byte gMapEvents_TwoIsland @ 0x83B6074 + .4byte gMapScripts_TwoIsland @ 0x8167564 + .4byte gMapConnections_TwoIsland @ 0x8352960 + .2byte BGM_FRLG_ISLAND_ONE + .2byte 231 + .byte 0x90, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +ThreeIsland:: @ 83507A0 + .4byte gMapData_ThreeIsland @ 0x832265C + .4byte gMapEvents_ThreeIsland @ 0x83B62C8 + .4byte gMapScripts_ThreeIsland @ 0x81677AD + .4byte gMapConnections_ThreeIsland @ 0x8352980 + .2byte BGM_FRLG_ISLAND_ONE + .2byte 232 + .byte 0x91, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +FourIsland:: @ 83507BC + .4byte gMapData_FourIsland @ 0x8323580 + .4byte gMapEvents_FourIsland @ 0x83B646C + .4byte gMapScripts_FourIsland @ 0x8167CAE + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 233 + .byte 0x92, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +FiveIsland:: @ 83507D8 + .4byte gMapData_FiveIsland @ 0x8323964 + .4byte gMapEvents_FiveIsland @ 0x83B64F4 + .4byte gMapScripts_FiveIsland @ 0x8167E8E + .4byte gMapConnections_FiveIsland @ 0x83529A0 + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 234 + .byte 0x93, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +SevenIsland:: @ 83507F4 + .4byte gMapData_SevenIsland @ 0x8323D48 + .4byte gMapEvents_SevenIsland @ 0x83B657C + .4byte gMapScripts_SevenIsland @ 0x8167EB3 + .4byte gMapConnections_SevenIsland @ 0x83529C0 + .2byte BGM_FRLG_ISLAND_SIX + .2byte 235 + .byte 0x94, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +SixIsland:: @ 8350810 + .4byte gMapData_SixIsland @ 0x832430C + .4byte gMapEvents_SixIsland @ 0x83B65F8 + .4byte gMapScripts_SixIsland @ 0x8167ED8 + .4byte gMapConnections_SixIsland @ 0x83529D4 + .2byte BGM_FRLG_ISLAND_SIX + .2byte 236 + .byte 0x95, 0x00, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00 + +Route1:: @ 835082C + .4byte gMapData_Route1 @ 0x82E55CC + .4byte gMapEvents_Route1 @ 0x83B6648 + .4byte gMapScripts_Route1 @ 0x8167EFD + .4byte gMapConnections_Route1 @ 0x83529F4 + .2byte BGM_FRLG_ROUTE_1 + .2byte 89 + .byte 0x65, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route2:: @ 8350848 + .4byte gMapData_Route2 @ 0x82E64F0 + .4byte gMapEvents_Route2 @ 0x83B676C + .4byte gMapScripts_Route2 @ 0x8167F64 + .4byte gMapConnections_Route2 @ 0x8352A14 + .2byte BGM_FRLG_ROUTE_1 + .2byte 90 + .byte 0x66, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route3:: @ 8350864 + .4byte gMapData_Route3 @ 0x82E7234 + .4byte gMapEvents_Route3 @ 0x83B6870 + .4byte gMapScripts_Route3 @ 0x8167F77 + .4byte gMapConnections_Route3 @ 0x8352A34 + .2byte BGM_FRLG_ROUTE_3 + .2byte 91 + .byte 0x67, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route4:: @ 8350880 + .4byte gMapData_Route4 @ 0x82E8338 + .4byte gMapEvents_Route4 @ 0x83B6980 + .4byte gMapScripts_Route4 @ 0x8167F8A + .4byte gMapConnections_Route4 @ 0x8352A54 + .2byte BGM_FRLG_ROUTE_3 + .2byte 92 + .byte 0x68, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route5:: @ 835089C + .4byte gMapData_Route5 @ 0x82E925C + .4byte gMapEvents_Route5 @ 0x83B69C0 + .4byte gMapScripts_Route5 @ 0x8167FA7 + .4byte gMapConnections_Route5 @ 0x8352A74 + .2byte BGM_FRLG_ROUTE_3 + .2byte 93 + .byte 0x69, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route6:: @ 83508B8 + .4byte gMapData_Route6 @ 0x82E9A00 + .4byte gMapEvents_Route6 @ 0x83B6AA0 + .4byte gMapScripts_Route6 @ 0x8167FB1 + .4byte gMapConnections_Route6 @ 0x8352A94 + .2byte BGM_FRLG_ROUTE_3 + .2byte 94 + .byte 0x6a, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route7:: @ 83508D4 + .4byte gMapData_Route7 @ 0x82E9DE4 + .4byte gMapEvents_Route7 @ 0x83B6AF4 + .4byte gMapScripts_Route7 @ 0x8167FBB + .4byte gMapConnections_Route7 @ 0x8352AB4 + .2byte BGM_FRLG_ROUTE_3 + .2byte 95 + .byte 0x6b, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route8:: @ 83508F0 + .4byte gMapData_Route8 @ 0x82EA948 + .4byte gMapEvents_Route8 @ 0x83B6CB0 + .4byte gMapScripts_Route8 @ 0x8167FC5 + .4byte gMapConnections_Route8 @ 0x8352AD4 + .2byte BGM_FRLG_ROUTE_3 + .2byte 96 + .byte 0x6c, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route9:: @ 835090C + .4byte gMapData_Route9 @ 0x82EB4AC + .4byte gMapEvents_Route9 @ 0x83B6E14 + .4byte gMapScripts_Route9 @ 0x8167FCF + .4byte gMapConnections_Route9 @ 0x8352AF4 + .2byte BGM_FRLG_ROUTE_3 + .2byte 97 + .byte 0x6d, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route10:: @ 8350928 + .4byte gMapData_Route10 @ 0x82EC3D0 + .4byte gMapEvents_Route10 @ 0x83B6FA0 + .4byte gMapScripts_Route10 @ 0x8167FD9 + .4byte gMapConnections_Route10 @ 0x8352B14 + .2byte BGM_FRLG_ROUTE_3 + .2byte 98 + .byte 0x6e, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route11:: @ 8350944 + .4byte gMapData_Route11 @ 0x82ECF34 + .4byte gMapEvents_Route11 @ 0x83B711C + .4byte gMapScripts_Route11 @ 0x8167FF6 + .4byte gMapConnections_Route11 @ 0x8352B34 + .2byte BGM_FRLG_ROUTE_11 + .2byte 99 + .byte 0x6f, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route12:: @ 8350960 + .4byte gMapData_Route12 @ 0x82EE5D8 + .4byte gMapEvents_Route12 @ 0x83B72DC + .4byte gMapScripts_Route12 @ 0x8168000 + .4byte gMapConnections_Route12 @ 0x8352B60 + .2byte BGM_FRLG_ROUTE_11 + .2byte 100 + .byte 0x70, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route13:: @ 835097C + .4byte gMapData_Route13 @ 0x82EF13C + .4byte gMapEvents_Route13 @ 0x83B7428 + .4byte gMapScripts_Route13 @ 0x81680B5 + .4byte gMapConnections_Route13 @ 0x8352B80 + .2byte BGM_FRLG_ROUTE_11 + .2byte 101 + .byte 0x71, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route14:: @ 8350998 + .4byte gMapData_Route14 @ 0x82EFCA0 + .4byte gMapEvents_Route14 @ 0x83B75C8 + .4byte gMapScripts_Route14 @ 0x81680D1 + .4byte gMapConnections_Route14 @ 0x8352BA0 + .2byte BGM_FRLG_ROUTE_11 + .2byte 102 + .byte 0x72, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route15:: @ 83509B4 + .4byte gMapData_Route15 @ 0x82F0804 + .4byte gMapEvents_Route15 @ 0x83B7748 + .4byte gMapScripts_Route15 @ 0x81680DB + .4byte gMapConnections_Route15 @ 0x8352BC0 + .2byte BGM_FRLG_ROUTE_11 + .2byte 103 + .byte 0x73, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route16:: @ 83509D0 + .4byte gMapData_Route16 @ 0x82F0FA8 + .4byte gMapEvents_Route16 @ 0x83B7898 + .4byte gMapScripts_Route16 @ 0x81680E5 + .4byte gMapConnections_Route16 @ 0x8352BE0 + .2byte BGM_FRLG_ROUTE_3 + .2byte 104 + .byte 0x74, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route17:: @ 83509EC + .4byte gMapData_Route17 @ 0x82F2DCC + .4byte gMapEvents_Route17 @ 0x83B7A20 + .4byte gMapScripts_Route17 @ 0x81681BF + .4byte gMapConnections_Route17 @ 0x8352C00 + .2byte BGM_FRLG_ROUTE_3 + .2byte 105 + .byte 0x75, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route18:: @ 8350A08 + .4byte gMapData_Route18 @ 0x82F3750 + .4byte gMapEvents_Route18 @ 0x83B7AA4 + .4byte gMapScripts_Route18 @ 0x81681F6 + .4byte gMapConnections_Route18 @ 0x8352C20 + .2byte BGM_FRLG_ROUTE_3 + .2byte 106 + .byte 0x76, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route19:: @ 8350A24 + .4byte gMapData_Route19 @ 0x82F42B4 + .4byte gMapEvents_Route19 @ 0x83B7BE4 + .4byte gMapScripts_Route19 @ 0x8168231 + .4byte gMapConnections_Route19 @ 0x8352C40 + .2byte BGM_FRLG_ROUTE_3 + .2byte 107 + .byte 0x77, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route20:: @ 8350A40 + .4byte gMapData_Route20 @ 0x82F5598 + .4byte gMapEvents_Route20 @ 0x83B7D34 + .4byte gMapScripts_Route20 @ 0x816823B + .4byte gMapConnections_Route20 @ 0x8352C60 + .2byte BGM_FRLG_ROUTE_3 + .2byte 108 + .byte 0x78, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route21_North:: @ 8350A5C + .4byte gMapData_Route21_North @ 0x82F5F1C + .4byte gMapEvents_Route21_North @ 0x83B7DE4 + .4byte gMapScripts_Route21_North @ 0x8168289 + .4byte gMapConnections_Route21_North @ 0x8352C80 + .2byte BGM_FRLG_ROUTE_3 + .2byte 109 + .byte 0x79, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route21_South:: @ 8350A78 + .4byte gMapData_Route21_South @ 0x83206C0 + .4byte gMapEvents_Route21_South @ 0x83B7E70 + .4byte gMapScripts_Route21_South @ 0x816828A + .4byte gMapConnections_Route21_South @ 0x8352CA0 + .2byte BGM_FRLG_ROUTE_3 + .2byte 219 + .byte 0x79, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route22:: @ 8350A94 + .4byte gMapData_Route22 @ 0x82F6840 + .4byte gMapEvents_Route22 @ 0x83B7F18 + .4byte gMapScripts_Route22 @ 0x816828B + .4byte gMapConnections_Route22 @ 0x8352CC0 + .2byte BGM_FRLG_ROUTE_3 + .2byte 110 + .byte 0x7a, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route23:: @ 8350AB0 + .4byte gMapData_Route23 @ 0x82F8664 + .4byte gMapEvents_Route23 @ 0x83B8300 + .4byte gMapScripts_Route23 @ 0x81684EB + .4byte gMapConnections_Route23 @ 0x8352CE0 + .2byte BGM_FRLG_INDIGO_PLATEAU + .2byte 111 + .byte 0x7b, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route24:: @ 8350ACC + .4byte gMapData_Route24 @ 0x82F8E08 + .4byte gMapEvents_Route24 @ 0x83B8400 + .4byte gMapScripts_Route24 @ 0x816861F + .4byte gMapConnections_Route24 @ 0x8352D00 + .2byte BGM_FRLG_ROUTE_24 + .2byte 112 + .byte 0x7c, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +Route25:: @ 8350AE8 + .4byte gMapData_Route25 @ 0x82F996C + .4byte gMapEvents_Route25 @ 0x83B8590 + .4byte gMapScripts_Route25 @ 0x8168745 + .4byte gMapConnections_Route25 @ 0x8352D14 + .2byte BGM_FRLG_ROUTE_24 + .2byte 113 + .byte 0x7d, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +OneIsland_KindleRoad:: @ 8350B04 + .4byte gMapData_OneIsland_KindleRoad @ 0x8325D70 + .4byte gMapEvents_OneIsland_KindleRoad @ 0x83B888C + .4byte gMapScripts_OneIsland_KindleRoad @ 0x8168758 + .4byte gMapConnections_OneIsland_KindleRoad @ 0x8352D28 + .2byte BGM_FRLG_ROUTE_3 + .2byte 237 + .byte 0x96, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +OneIsland_TreasureBeach:: @ 8350B20 + .4byte gMapData_OneIsland_TreasureBeach @ 0x8326514 + .4byte gMapEvents_OneIsland_TreasureBeach @ 0x83B8930 + .4byte gMapScripts_OneIsland_TreasureBeach @ 0x816876B + .4byte gMapConnections_OneIsland_TreasureBeach @ 0x8352D3C + .2byte BGM_FRLG_ROUTE_3 + .2byte 238 + .byte 0x97, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +TwoIsland_CapeBrink:: @ 8350B3C + .4byte gMapData_TwoIsland_CapeBrink @ 0x8326CB8 + .4byte gMapEvents_TwoIsland_CapeBrink @ 0x83B8964 + .4byte gMapScripts_TwoIsland_CapeBrink @ 0x8168775 + .4byte gMapConnections_TwoIsland_CapeBrink @ 0x8352D50 + .2byte BGM_FRLG_ROUTE_3 + .2byte 239 + .byte 0x98, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +ThreeIsland_BondBridge:: @ 8350B58 + .4byte gMapData_ThreeIsland_BondBridge @ 0x8327BDC + .4byte gMapEvents_ThreeIsland_BondBridge @ 0x83B8A9C + .4byte gMapScripts_ThreeIsland_BondBridge @ 0x8168776 + .4byte gMapConnections_ThreeIsland_BondBridge @ 0x8352D64 + .2byte BGM_FRLG_ROUTE_3 + .2byte 240 + .byte 0x99, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +ThreeIsland_Port:: @ 8350B74 + .4byte gMapData_ThreeIsland_Port @ 0x8328380 + .4byte gMapEvents_ThreeIsland_Port @ 0x83B8B10 + .4byte gMapScripts_ThreeIsland_Port @ 0x8168789 + .4byte gMapConnections_ThreeIsland_Port @ 0x8352D78 + .2byte BGM_FRLG_ROUTE_3 + .2byte 241 + .byte 0x9a, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +UnknownMap_03_50:: @ 8350B90 + .4byte gMapData_UnknownMap_03_50 @ 0x83283A8 + .4byte gMapEvents_UnknownMap_03_50 @ 0x83B8B24 + .4byte gMapScripts_UnknownMap_03_50 @ 0x81687E0 + .4byte gMapConnections_UnknownMap_03_50 @ 0x8352D8C + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 242 + .byte 0x9b, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +UnknownMap_03_51:: @ 8350BAC + .4byte gMapData_UnknownMap_03_51 @ 0x83283D0 + .4byte gMapEvents_UnknownMap_03_51 @ 0x83B8B38 + .4byte gMapScripts_UnknownMap_03_51 @ 0x81687E1 + .4byte gMapConnections_UnknownMap_03_51 @ 0x8352DA0 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 243 + .byte 0x9c, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +UnknownMap_03_52:: @ 8350BC8 + .4byte gMapData_UnknownMap_03_52 @ 0x8329114 + .4byte gMapEvents_UnknownMap_03_52 @ 0x83B8B4C + .4byte gMapScripts_UnknownMap_03_52 @ 0x81687E2 + .4byte NULL + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 244 + .byte 0x9d, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +UnknownMap_03_53:: @ 8350BE4 + .4byte gMapData_UnknownMap_03_53 @ 0x8329C78 + .4byte gMapEvents_UnknownMap_03_53 @ 0x83B8B60 + .4byte gMapScripts_UnknownMap_03_53 @ 0x81687E3 + .4byte NULL + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 245 + .byte 0x9e, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +FiveIsland_ResortGorgeous:: @ 8350C00 + .4byte gMapData_FiveIsland_ResortGorgeous @ 0x832A7DC + .4byte gMapEvents_FiveIsland_ResortGorgeous @ 0x83B8C80 + .4byte gMapScripts_FiveIsland_ResortGorgeous @ 0x81687E4 + .4byte gMapConnections_FiveIsland_ResortGorgeous @ 0x8352DB4 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 246 + .byte 0x9f, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +FiveIsland_WaterLabyrinth:: @ 8350C1C + .4byte gMapData_FiveIsland_WaterLabyrinth @ 0x832B340 + .4byte gMapEvents_FiveIsland_WaterLabyrinth @ 0x83B8CC4 + .4byte gMapScripts_FiveIsland_WaterLabyrinth @ 0x816884D + .4byte gMapConnections_FiveIsland_WaterLabyrinth @ 0x8352DD4 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 247 + .byte 0xa0, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +FiveIsland_Meadow:: @ 8350C38 + .4byte gMapData_FiveIsland_Meadow @ 0x832BAE4 + .4byte gMapEvents_FiveIsland_Meadow @ 0x83B8D94 + .4byte gMapScripts_FiveIsland_Meadow @ 0x8168932 + .4byte gMapConnections_FiveIsland_Meadow @ 0x8352DF4 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 248 + .byte 0xa1, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +FiveIsland_MemorialPillar:: @ 8350C54 + .4byte gMapData_FiveIsland_MemorialPillar @ 0x832C648 + .4byte gMapEvents_FiveIsland_MemorialPillar @ 0x83B8E5C + .4byte gMapScripts_FiveIsland_MemorialPillar @ 0x81689D2 + .4byte gMapConnections_FiveIsland_MemorialPillar @ 0x8352E08 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 249 + .byte 0xa2, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SixIsland_OutcastIsland:: @ 8350C70 + .4byte gMapData_SixIsland_OutcastIsland @ 0x832D56C + .4byte gMapEvents_SixIsland_OutcastIsland @ 0x83B8F38 + .4byte gMapScripts_SixIsland_OutcastIsland @ 0x8168B15 + .4byte gMapConnections_SixIsland_OutcastIsland @ 0x8352E1C + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 250 + .byte 0xa3, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SixIsland_GreenPath:: @ 8350C8C + .4byte gMapData_SixIsland_GreenPath @ 0x832E0D0 + .4byte gMapEvents_SixIsland_GreenPath @ 0x83B8FA8 + .4byte gMapScripts_SixIsland_GreenPath @ 0x8168B2D + .4byte gMapConnections_SixIsland_GreenPath @ 0x8352E3C + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 251 + .byte 0xa4, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SixIsland_WaterPath:: @ 8350CA8 + .4byte gMapData_SixIsland_WaterPath @ 0x832F3B4 + .4byte gMapEvents_SixIsland_WaterPath @ 0x83B90E0 + .4byte gMapScripts_SixIsland_WaterPath @ 0x8168B40 + .4byte gMapConnections_SixIsland_WaterPath @ 0x8352E68 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 252 + .byte 0xa5, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SixIsland_RuinValley:: @ 8350CC4 + .4byte gMapData_SixIsland_RuinValley @ 0x83302D8 + .4byte gMapEvents_SixIsland_RuinValley @ 0x83B92A0 + .4byte gMapScripts_SixIsland_RuinValley @ 0x8168B53 + .4byte gMapConnections_SixIsland_RuinValley @ 0x8352E7C + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 253 + .byte 0xa6, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SevenIsland_TrainerTower:: @ 8350CE0 + .4byte gMapData_SevenIsland_TrainerTower @ 0x833287C + .4byte gMapEvents_SevenIsland_TrainerTower @ 0x83B9328 + .4byte gMapScripts_SevenIsland_TrainerTower @ 0x8168BD5 + .4byte gMapConnections_SevenIsland_TrainerTower @ 0x8352E90 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 254 + .byte 0xa7, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SevenIsland_SevaultCanyon_Entrance:: @ 8350CFC + .4byte gMapData_SevenIsland_SevaultCanyon_Entrance @ 0x8333020 + .4byte gMapEvents_SevenIsland_SevaultCanyon_Entrance @ 0x83B93FC + .4byte gMapScripts_SevenIsland_SevaultCanyon_Entrance @ 0x8168BF3 + .4byte gMapConnections_SevenIsland_SevaultCanyon_Entrance @ 0x8352EB0 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 255 + .byte 0xa8, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SevenIsland_SevaultCanyon:: @ 8350D18 + .4byte gMapData_SevenIsland_SevaultCanyon @ 0x8333F44 + .4byte gMapEvents_SevenIsland_SevaultCanyon @ 0x83B9618 + .4byte gMapScripts_SevenIsland_SevaultCanyon @ 0x8168BFD + .4byte gMapConnections_SevenIsland_SevaultCanyon @ 0x8352ED0 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 256 + .byte 0xa9, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +SevenIsland_TanobyRuins:: @ 8350D34 + .4byte gMapData_SevenIsland_TanobyRuins @ 0x83355E8 + .4byte gMapEvents_SevenIsland_TanobyRuins @ 0x83B96F4 + .4byte gMapScripts_SevenIsland_TanobyRuins @ 0x8168C07 + .4byte gMapConnections_SevenIsland_TanobyRuins @ 0x8352EE4 + .2byte BGM_FRLG_SEVII_ISLANDS + .2byte 257 + .byte 0xaa, 0x00, 0x02, 0x03, 0x01, 0x06, 0x00, 0x00 + +PalletTown_PlayersHouse_1F:: @ 8350D50 + .4byte gMapData_PalletTown_PlayersHouse_1F @ 0x82D5200 + .4byte gMapEvents_PalletTown_PlayersHouse_1F @ 0x83B974C + .4byte gMapScripts_PalletTown_PlayersHouse_1F @ 0x8168C08 + .4byte NULL + .2byte BGM_FRLG_PALLET_TOWN + .2byte 1 + .byte 0x58, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PalletTown_PlayersHouse_2F:: @ 8350D6C + .4byte gMapData_PalletTown_PlayersHouse_2F @ 0x82D52FC + .4byte gMapEvents_PalletTown_PlayersHouse_2F @ 0x83B978C + .4byte gMapScripts_PalletTown_PlayersHouse_2F @ 0x8168CA3 + .4byte NULL + .2byte BGM_FRLG_PALLET_TOWN + .2byte 2 + .byte 0x58, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PalletTown_GarysHouse:: @ 8350D88 + .4byte gMapData_PalletTown_GarysHouse @ 0x82D5424 + .4byte gMapEvents_PalletTown_GarysHouse @ 0x83B980C + .4byte gMapScripts_PalletTown_GarysHouse @ 0x8168D27 + .4byte NULL + .2byte BGM_FRLG_PALLET_TOWN + .2byte 3 + .byte 0x58, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PalletTown_ProfessorOaksLab:: @ 8350DA4 + .4byte gMapData_PalletTown_ProfessorOaksLab @ 0x82D5668 + .4byte gMapEvents_PalletTown_ProfessorOaksLab @ 0x83B99B8 + .4byte gMapScripts_PalletTown_ProfessorOaksLab @ 0x8168F7E + .4byte NULL + .2byte BGM_FRLG_OAK_LAB + .2byte 5 + .byte 0x58, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ViridianCity_House1:: @ 8350DC0 + .4byte gMapData_ViridianCity_House1 @ 0x833AEAC + .4byte gMapEvents_ViridianCity_House1 @ 0x83B9A38 + .4byte gMapScripts_ViridianCity_House1 @ 0x8169E9A + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 276 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ViridianCity_Gym:: @ 8350DDC + .4byte gMapData_ViridianCity_Gym @ 0x82D86AC + .4byte gMapEvents_ViridianCity_Gym @ 0x83B9B78 + .4byte gMapScripts_ViridianCity_Gym @ 0x8169EC9 + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 37 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +ViridianCity_House2:: @ 8350DF8 + .4byte gMapData_ViridianCity_House2 @ 0x8338D20 + .4byte gMapEvents_ViridianCity_House2 @ 0x83B9C10 + .4byte gMapScripts_ViridianCity_House2 @ 0x816A07C + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 266 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ViridianCity_Mart:: @ 8350E14 + .4byte gMapData_ViridianCity_Mart @ 0x82D5BCC + .4byte gMapEvents_ViridianCity_Mart @ 0x83B9C84 + .4byte gMapScripts_ViridianCity_Mart @ 0x816A1D3 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ViridianCity_PokemonCenter_1F:: @ 8350E30 + .4byte gMapData_ViridianCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_ViridianCity_PokemonCenter_1F @ 0x83B9D18 + .4byte gMapScripts_ViridianCity_PokemonCenter_1F @ 0x816A2C0 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ViridianCity_PokemonCenter_2F:: @ 8350E4C + .4byte gMapData_ViridianCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_ViridianCity_PokemonCenter_2F @ 0x83B9DA4 + .4byte gMapScripts_ViridianCity_PokemonCenter_2F @ 0x816A2F3 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x59, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_Museum_1F:: @ 8350E68 + .4byte gMapData_PewterCity_Museum_1F @ 0x831A1FC + .4byte gMapEvents_PewterCity_Museum_1F @ 0x83B9ED8 + .4byte gMapScripts_PewterCity_Museum_1F @ 0x816A31A + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 180 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_Museum_2F:: @ 8350E84 + .4byte gMapData_PewterCity_Museum_2F @ 0x831A39C + .4byte gMapEvents_PewterCity_Museum_2F @ 0x83B9FCC + .4byte gMapScripts_PewterCity_Museum_2F @ 0x816A552 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 181 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_Gym:: @ 8350EA0 + .4byte gMapData_PewterCity_Gym @ 0x82D732C + .4byte gMapEvents_PewterCity_Gym @ 0x83BA058 + .4byte gMapScripts_PewterCity_Gym @ 0x816A592 + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 28 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +PewterCity_Mart:: @ 8350EBC + .4byte gMapData_PewterCity_Mart @ 0x82D5BCC + .4byte gMapEvents_PewterCity_Mart @ 0x83BA0CC + .4byte gMapScripts_PewterCity_Mart @ 0x816A6CD + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_House1:: @ 8350ED8 + .4byte gMapData_PewterCity_House1 @ 0x82D5840 + .4byte gMapEvents_PewterCity_House1 @ 0x83BA140 + .4byte gMapScripts_PewterCity_House1 @ 0x816A71C + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 7 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_PokemonCenter_1F:: @ 8350EF4 + .4byte gMapData_PewterCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_PewterCity_PokemonCenter_1F @ 0x83BA21C + .4byte gMapScripts_PewterCity_PokemonCenter_1F @ 0x816A760 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_PokemonCenter_2F:: @ 8350F10 + .4byte gMapData_PewterCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_PewterCity_PokemonCenter_2F @ 0x83BA2A8 + .4byte gMapScripts_PewterCity_PokemonCenter_2F @ 0x816A7B5 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +PewterCity_House2:: @ 8350F2C + .4byte gMapData_PewterCity_House2 @ 0x82D5840 + .4byte gMapEvents_PewterCity_House2 @ 0x83BA304 + .4byte gMapScripts_PewterCity_House2 @ 0x816A7DC + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 7 + .byte 0x5a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_House1:: @ 8350F48 + .4byte gMapData_CeruleanCity_House1 @ 0x831A560 + .4byte gMapEvents_CeruleanCity_House1 @ 0x83BA350 + .4byte gMapScripts_CeruleanCity_House1 @ 0x816A7EF + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 183 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_House2:: @ 8350F64 + .4byte gMapData_CeruleanCity_House2 @ 0x831A474 + .4byte gMapEvents_CeruleanCity_House2 @ 0x83BA3C0 + .4byte gMapScripts_CeruleanCity_House2 @ 0x816A975 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 182 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_House3:: @ 8350F80 + .4byte gMapData_CeruleanCity_House3 @ 0x82D5754 + .4byte gMapEvents_CeruleanCity_House3 @ 0x83BA41C + .4byte gMapScripts_CeruleanCity_House3 @ 0x816A9A7 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 6 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_PokemonCenter_1F:: @ 8350F9C + .4byte gMapData_CeruleanCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_CeruleanCity_PokemonCenter_1F @ 0x83BA4F8 + .4byte gMapScripts_CeruleanCity_PokemonCenter_1F @ 0x816AA2D + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_PokemonCenter_2F:: @ 8350FB8 + .4byte gMapData_CeruleanCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_CeruleanCity_PokemonCenter_2F @ 0x83BA584 + .4byte gMapScripts_CeruleanCity_PokemonCenter_2F @ 0x816AA79 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_Gym:: @ 8350FD4 + .4byte gMapData_CeruleanCity_Gym @ 0x82D5F84 + .4byte gMapEvents_CeruleanCity_Gym @ 0x83BA628 + .4byte gMapScripts_CeruleanCity_Gym @ 0x816AAA0 + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 12 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +CeruleanCity_BikeShop:: @ 8350FF0 + .4byte gMapData_CeruleanCity_BikeShop @ 0x82D6F28 + .4byte gMapEvents_CeruleanCity_BikeShop @ 0x83BA6FC + .4byte gMapScripts_CeruleanCity_BikeShop @ 0x816ABBC + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 26 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_Mart:: @ 835100C + .4byte gMapData_CeruleanCity_Mart @ 0x82D5BCC + .4byte gMapEvents_CeruleanCity_Mart @ 0x83BA770 + .4byte gMapScripts_CeruleanCity_Mart @ 0x816AC9D + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_House4:: @ 8351028 + .4byte gMapData_CeruleanCity_House4 @ 0x82D5754 + .4byte gMapEvents_CeruleanCity_House4 @ 0x83BA7A4 + .4byte gMapScripts_CeruleanCity_House4 @ 0x816ACEE + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 6 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeruleanCity_House5:: @ 8351044 + .4byte gMapData_CeruleanCity_House5 @ 0x8343540 + .4byte gMapEvents_CeruleanCity_House5 @ 0x83BA7E4 + .4byte gMapScripts_CeruleanCity_House5 @ 0x816AE4F + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 308 + .byte 0x5b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_PokemonCenter_1F:: @ 8351060 + .4byte gMapData_LavenderTown_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_LavenderTown_PokemonCenter_1F @ 0x83BA890 + .4byte gMapScripts_LavenderTown_PokemonCenter_1F @ 0x816B0EF + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_PokemonCenter_2F:: @ 835107C + .4byte gMapData_LavenderTown_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_LavenderTown_PokemonCenter_2F @ 0x83BA91C + .4byte gMapScripts_LavenderTown_PokemonCenter_2F @ 0x816B122 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_VolunteerPokemonHouse:: @ 8351098 + .4byte gMapData_LavenderTown_VolunteerPokemonHouse @ 0x833ACC4 + .4byte gMapEvents_LavenderTown_VolunteerPokemonHouse @ 0x83BA9FC + .4byte gMapScripts_LavenderTown_VolunteerPokemonHouse @ 0x816B149 + .4byte NULL + .2byte BGM_FRLG_LAVENDER_TOWN + .2byte 274 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_House1:: @ 83510B4 + .4byte gMapData_LavenderTown_House1 @ 0x82D6AF0 + .4byte gMapEvents_LavenderTown_House1 @ 0x83BAA58 + .4byte gMapScripts_LavenderTown_House1 @ 0x816B232 + .4byte NULL + .2byte BGM_FRLG_LAVENDER_TOWN + .2byte 21 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_House2:: @ 83510D0 + .4byte gMapData_LavenderTown_House2 @ 0x82D6AF0 + .4byte gMapEvents_LavenderTown_House2 @ 0x83BAA9C + .4byte gMapScripts_LavenderTown_House2 @ 0x816B265 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 21 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +LavenderTown_Mart:: @ 83510EC + .4byte gMapData_LavenderTown_Mart @ 0x82D5BCC + .4byte gMapEvents_LavenderTown_Mart @ 0x83BAB28 + .4byte gMapScripts_LavenderTown_Mart @ 0x816B34F + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x5c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_House1:: @ 8351108 + .4byte gMapData_VermilionCity_House1 @ 0x82D5754 + .4byte gMapEvents_VermilionCity_House1 @ 0x83BAB6C + .4byte gMapScripts_VermilionCity_House1 @ 0x816B3A6 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 6 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_PokemonCenter_1F:: @ 8351124 + .4byte gMapData_VermilionCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_VermilionCity_PokemonCenter_1F @ 0x83BAC48 + .4byte gMapScripts_VermilionCity_PokemonCenter_1F @ 0x816B424 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_PokemonCenter_2F:: @ 8351140 + .4byte gMapData_VermilionCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_VermilionCity_PokemonCenter_2F @ 0x83BACD4 + .4byte gMapScripts_VermilionCity_PokemonCenter_2F @ 0x816B457 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_PokemonFanClub:: @ 835115C + .4byte gMapData_VermilionCity_PokemonFanClub @ 0x833ABC8 + .4byte gMapEvents_VermilionCity_PokemonFanClub @ 0x83BADA8 + .4byte gMapScripts_VermilionCity_PokemonFanClub @ 0x816B47E + .4byte NULL + .2byte BGM_FRLG_VERMILION_CITY + .2byte 273 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_House2:: @ 8351178 + .4byte gMapData_VermilionCity_House2 @ 0x82D5754 + .4byte gMapEvents_VermilionCity_House2 @ 0x83BADEC + .4byte gMapScripts_VermilionCity_House2 @ 0x816B5D6 + .4byte NULL + .2byte BGM_FRLG_VERMILION_CITY + .2byte 6 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_Mart:: @ 8351194 + .4byte gMapData_VermilionCity_Mart @ 0x82D5BCC + .4byte gMapEvents_VermilionCity_Mart @ 0x83BAE60 + .4byte gMapScripts_VermilionCity_Mart @ 0x816B653 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +VermilionCity_Gym:: @ 83511B0 + .4byte gMapData_VermilionCity_Gym @ 0x82D6E28 + .4byte gMapEvents_VermilionCity_Gym @ 0x83BAFD0 + .4byte gMapScripts_VermilionCity_Gym @ 0x816B69E + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 25 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +VermilionCity_House3:: @ 83511CC + .4byte gMapData_VermilionCity_House3 @ 0x82D5754 + .4byte gMapEvents_VermilionCity_House3 @ 0x83BB068 + .4byte gMapScripts_VermilionCity_House3 @ 0x816BAA9 + .4byte NULL + .2byte BGM_FRLG_VERMILION_CITY + .2byte 6 + .byte 0x5d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_DepartmentStore_1F:: @ 83511E8 + .4byte gMapData_CeladonCity_DepartmentStore_1F @ 0x831B5FC + .4byte gMapEvents_CeladonCity_DepartmentStore_1F @ 0x83BB0EC + .4byte gMapScripts_CeladonCity_DepartmentStore_1F @ 0x816BAD8 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 192 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x01, 0x00 + +CeladonCity_DepartmentStore_2F:: @ 8351204 + .4byte gMapData_CeladonCity_DepartmentStore_2F @ 0x831B7A8 + .4byte gMapEvents_CeladonCity_DepartmentStore_2F @ 0x83BB184 + .4byte gMapScripts_CeladonCity_DepartmentStore_2F @ 0x816BAF4 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 193 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x02, 0x00 + +CeladonCity_DepartmentStore_3F:: @ 8351220 + .4byte gMapData_CeladonCity_DepartmentStore_3F @ 0x831B954 + .4byte gMapEvents_CeladonCity_DepartmentStore_3F @ 0x83BB2AC + .4byte gMapScripts_CeladonCity_DepartmentStore_3F @ 0x816BB84 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 194 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x03, 0x00 + +CeladonCity_DepartmentStore_4F:: @ 835123C + .4byte gMapData_CeladonCity_DepartmentStore_4F @ 0x831BB00 + .4byte gMapEvents_CeladonCity_DepartmentStore_4F @ 0x83BB32C + .4byte gMapScripts_CeladonCity_DepartmentStore_4F @ 0x816BBEE + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 195 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x04, 0x00 + +CeladonCity_DepartmentStore_5F:: @ 8351258 + .4byte gMapData_CeladonCity_DepartmentStore_5F @ 0x831BCAC + .4byte gMapEvents_CeladonCity_DepartmentStore_5F @ 0x83BB3C4 + .4byte gMapScripts_CeladonCity_DepartmentStore_5F @ 0x816BC40 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 196 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x05, 0x00 + +CeladonCity_DepartmentStore_Roof:: @ 8351274 + .4byte gMapData_CeladonCity_DepartmentStore_Roof @ 0x831BEE4 + .4byte gMapEvents_CeladonCity_DepartmentStore_Roof @ 0x83BB440 + .4byte gMapScripts_CeladonCity_DepartmentStore_Roof @ 0x816BCCC + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 197 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x04, 0x7f, 0x00 + +CeladonCity_DepartmentStore_Elevator:: @ 8351290 + .4byte gMapData_CeladonCity_DepartmentStore_Elevator @ 0x8319F70 + .4byte gMapEvents_CeladonCity_DepartmentStore_Elevator @ 0x83BB47C + .4byte gMapScripts_CeladonCity_DepartmentStore_Elevator @ 0x816C152 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 179 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Condominiums_1F:: @ 83512AC + .4byte gMapData_CeladonCity_Condominiums_1F @ 0x831A7DC + .4byte gMapEvents_CeladonCity_Condominiums_1F @ 0x83BB538 + .4byte gMapScripts_CeladonCity_Condominiums_1F @ 0x816C320 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 184 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Condominiums_2F:: @ 83512C8 + .4byte gMapData_CeladonCity_Condominiums_2F @ 0x831AA58 + .4byte gMapEvents_CeladonCity_Condominiums_2F @ 0x83BB5B4 + .4byte gMapScripts_CeladonCity_Condominiums_2F @ 0x816C3D0 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 185 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Condominiums_3F:: @ 83512E4 + .4byte gMapData_CeladonCity_Condominiums_3F @ 0x831ACD4 + .4byte gMapEvents_CeladonCity_Condominiums_3F @ 0x83BB6A8 + .4byte gMapScripts_CeladonCity_Condominiums_3F @ 0x816C3DA + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 186 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Condominiums_Roof:: @ 8351300 + .4byte gMapData_CeladonCity_Condominiums_Roof @ 0x831AF7C + .4byte gMapEvents_CeladonCity_Condominiums_Roof @ 0x83BB6EC + .4byte gMapScripts_CeladonCity_Condominiums_Roof @ 0x816C459 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 187 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Condominiums_RoofRoom:: @ 835131C + .4byte gMapData_CeladonCity_Condominiums_RoofRoom @ 0x831B054 + .4byte gMapEvents_CeladonCity_Condominiums_RoofRoom @ 0x83BB76C + .4byte gMapScripts_CeladonCity_Condominiums_RoofRoom @ 0x816C463 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 188 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_PokemonCenter_1F:: @ 8351338 + .4byte gMapData_CeladonCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_CeladonCity_PokemonCenter_1F @ 0x83BB800 + .4byte gMapScripts_CeladonCity_PokemonCenter_1F @ 0x816C5EC + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_PokemonCenter_2F:: @ 8351354 + .4byte gMapData_CeladonCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_CeladonCity_PokemonCenter_2F @ 0x83BB88C + .4byte gMapScripts_CeladonCity_PokemonCenter_2F @ 0x816C61F + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_GameCorner:: @ 8351370 + .4byte gMapData_CeladonCity_GameCorner @ 0x82D7168 + .4byte gMapEvents_CeladonCity_GameCorner @ 0x83BBB78 + .4byte gMapScripts_CeladonCity_GameCorner @ 0x816C646 + .4byte NULL + .2byte BGM_FRLG_GAMECORNER + .2byte 27 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_GameCorner_PrizeRoom:: @ 835138C + .4byte gMapData_CeladonCity_GameCorner_PrizeRoom @ 0x831B12C + .4byte gMapEvents_CeladonCity_GameCorner_PrizeRoom @ 0x83BBC1C + .4byte gMapScripts_CeladonCity_GameCorner_PrizeRoom @ 0x816CB75 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 189 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Gym:: @ 83513A8 + .4byte gMapData_CeladonCity_Gym @ 0x82D6370 + .4byte gMapEvents_CeladonCity_Gym @ 0x83BBD68 + .4byte gMapScripts_CeladonCity_Gym @ 0x816D060 + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 15 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +CeladonCity_Restaurant:: @ 83513C4 + .4byte gMapData_CeladonCity_Restaurant @ 0x831B29C + .4byte gMapEvents_CeladonCity_Restaurant @ 0x83BBE0C + .4byte gMapScripts_CeladonCity_Restaurant @ 0x816D1EA + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 190 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_House1:: @ 83513E0 + .4byte gMapData_CeladonCity_House1 @ 0x82D6AF0 + .4byte gMapEvents_CeladonCity_House1 @ 0x83BBE80 + .4byte gMapScripts_CeladonCity_House1 @ 0x816D267 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 21 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CeladonCity_Hotel:: @ 83513FC + .4byte gMapData_CeladonCity_Hotel @ 0x831B438 + .4byte gMapEvents_CeladonCity_Hotel @ 0x83BBF0C + .4byte gMapScripts_CeladonCity_Hotel @ 0x816D283 + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 191 + .byte 0x5e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_SafariZone_Entrance:: @ 8351418 + .4byte gMapData_FuchsiaCity_SafariZone_Entrance @ 0x82D8E80 + .4byte gMapEvents_FuchsiaCity_SafariZone_Entrance @ 0x83BBFA0 + .4byte gMapScripts_FuchsiaCity_SafariZone_Entrance @ 0x816D2A8 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 51 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_Mart:: @ 8351434 + .4byte gMapData_FuchsiaCity_Mart @ 0x82D5BCC + .4byte gMapEvents_FuchsiaCity_Mart @ 0x83BC014 + .4byte gMapScripts_FuchsiaCity_Mart @ 0x816D4E0 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_ZooBuilding:: @ 8351450 + .4byte gMapData_FuchsiaCity_ZooBuilding @ 0x831C348 + .4byte gMapEvents_FuchsiaCity_ZooBuilding @ 0x83BC0A0 + .4byte gMapScripts_FuchsiaCity_ZooBuilding @ 0x816D528 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 200 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_Gym:: @ 835146C + .4byte gMapData_FuchsiaCity_Gym @ 0x82D6A04 + .4byte gMapEvents_FuchsiaCity_Gym @ 0x83BC1A4 + .4byte gMapScripts_FuchsiaCity_Gym @ 0x816D54D + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 20 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +FuchsiaCity_House1:: @ 8351488 + .4byte gMapData_FuchsiaCity_House1 @ 0x82D5754 + .4byte gMapEvents_FuchsiaCity_House1 @ 0x83BC218 + .4byte gMapScripts_FuchsiaCity_House1 @ 0x816D6C5 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 6 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_PokemonCenter_1F:: @ 83514A4 + .4byte gMapData_FuchsiaCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_FuchsiaCity_PokemonCenter_1F @ 0x83BC2AC + .4byte gMapScripts_FuchsiaCity_PokemonCenter_1F @ 0x816D6F1 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_PokemonCenter_2F:: @ 83514C0 + .4byte gMapData_FuchsiaCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_FuchsiaCity_PokemonCenter_2F @ 0x83BC338 + .4byte gMapScripts_FuchsiaCity_PokemonCenter_2F @ 0x816D724 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_Building1:: @ 83514DC + .4byte gMapData_FuchsiaCity_Building1 @ 0x831C48C + .4byte gMapEvents_FuchsiaCity_Building1 @ 0x83BC3F4 + .4byte gMapScripts_FuchsiaCity_Building1 @ 0x816D74B + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 201 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_House2:: @ 83514F8 + .4byte gMapData_FuchsiaCity_House2 @ 0x831C578 + .4byte gMapEvents_FuchsiaCity_House2 @ 0x83BC440 + .4byte gMapScripts_FuchsiaCity_House2 @ 0x816D816 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 202 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FuchsiaCity_House3:: @ 8351514 + .4byte gMapData_FuchsiaCity_House3 @ 0x82D5754 + .4byte gMapEvents_FuchsiaCity_House3 @ 0x83BC474 + .4byte gMapScripts_FuchsiaCity_House3 @ 0x816D894 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 6 + .byte 0x5f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_Gym:: @ 8351530 + .4byte gMapData_CinnabarIsland_Gym @ 0x82D82C8 + .4byte gMapEvents_CinnabarIsland_Gym @ 0x83BC62C + .4byte gMapScripts_CinnabarIsland_Gym @ 0x816D94B + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 36 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +CinnabarIsland_PokemonLab_Entrance:: @ 835154C + .4byte gMapData_CinnabarIsland_PokemonLab_Entrance @ 0x831C804 + .4byte gMapEvents_CinnabarIsland_PokemonLab_Entrance @ 0x83BC6B8 + .4byte gMapScripts_CinnabarIsland_PokemonLab_Entrance @ 0x816E273 + .4byte NULL + .2byte BGM_FRLG_CINNABAR_ISLAND + .2byte 203 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_PokemonLab_Lounge:: @ 8351568 + .4byte gMapData_CinnabarIsland_PokemonLab_Lounge @ 0x831C974 + .4byte gMapEvents_CinnabarIsland_PokemonLab_Lounge @ 0x83BC71C + .4byte gMapScripts_CinnabarIsland_PokemonLab_Lounge @ 0x816E2B8 + .4byte NULL + .2byte BGM_FRLG_CINNABAR_ISLAND + .2byte 204 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_PokemonLab_ResearchRoom:: @ 8351584 + .4byte gMapData_CinnabarIsland_PokemonLab_ResearchRoom @ 0x831CAE4 + .4byte gMapEvents_CinnabarIsland_PokemonLab_ResearchRoom @ 0x83BC780 + .4byte gMapScripts_CinnabarIsland_PokemonLab_ResearchRoom @ 0x816E3DE + .4byte NULL + .2byte BGM_FRLG_CINNABAR_ISLAND + .2byte 205 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_PokemonLab_ExperimentRoom:: @ 83515A0 + .4byte gMapData_CinnabarIsland_PokemonLab_ExperimentRoom @ 0x831CC54 + .4byte gMapEvents_CinnabarIsland_PokemonLab_ExperimentRoom @ 0x83BC7CC + .4byte gMapScripts_CinnabarIsland_PokemonLab_ExperimentRoom @ 0x816E400 + .4byte NULL + .2byte BGM_FRLG_CINNABAR_ISLAND + .2byte 206 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_PokemonCenter_1F:: @ 83515BC + .4byte gMapData_CinnabarIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_CinnabarIsland_PokemonCenter_1F @ 0x83BC8A8 + .4byte gMapScripts_CinnabarIsland_PokemonCenter_1F @ 0x816E8D7 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_PokemonCenter_2F:: @ 83515D8 + .4byte gMapData_CinnabarIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_CinnabarIsland_PokemonCenter_2F @ 0x83BC934 + .4byte gMapScripts_CinnabarIsland_PokemonCenter_2F @ 0x816E9E8 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +CinnabarIsland_Mart:: @ 83515F4 + .4byte gMapData_CinnabarIsland_Mart @ 0x82D5BCC + .4byte gMapEvents_CinnabarIsland_Mart @ 0x83BC9A8 + .4byte gMapScripts_CinnabarIsland_Mart @ 0x816EA0F + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x60, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +IndigoPlateau_PokemonCenter_1F:: @ 8351610 + .4byte gMapData_IndigoPlateau_PokemonCenter_1F @ 0x831F000 + .4byte gMapEvents_IndigoPlateau_PokemonCenter_1F @ 0x83BCA94 + .4byte gMapScripts_IndigoPlateau_PokemonCenter_1F @ 0x816EA5A + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 212 + .byte 0x61, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +IndigoPlateau_PokemonCenter_2F:: @ 835162C + .4byte gMapData_IndigoPlateau_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_IndigoPlateau_PokemonCenter_2F @ 0x83BCB20 + .4byte gMapScripts_IndigoPlateau_PokemonCenter_2F @ 0x816EB0F + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x61, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +SaffronCity_House1_1F:: @ 8351648 + .4byte gMapData_SaffronCity_House1_1F @ 0x8321004 + .4byte gMapEvents_SaffronCity_House1_1F @ 0x83BCB9C + .4byte gMapScripts_SaffronCity_House1_1F @ 0x816EB36 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 226 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_House1_2F:: @ 8351664 + .4byte gMapData_SaffronCity_House1_2F @ 0x8321100 + .4byte gMapEvents_SaffronCity_House1_2F @ 0x83BCC3C + .4byte gMapScripts_SaffronCity_House1_2F @ 0x816EB5C + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 227 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_Dojo:: @ 8351680 + .4byte gMapData_SaffronCity_Dojo @ 0x83212C4 + .4byte gMapEvents_SaffronCity_Dojo @ 0x83BCD60 + .4byte gMapScripts_SaffronCity_Dojo @ 0x816EBDB + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 228 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_Gym:: @ 835169C + .4byte gMapData_SaffronCity_Gym @ 0x82D7C44 + .4byte gMapEvents_SaffronCity_Gym @ 0x83BCF6C + .4byte gMapScripts_SaffronCity_Gym @ 0x816EDD7 + .4byte NULL + .2byte BGM_FRLG_GYM + .2byte 34 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x01 + +SaffronCity_House2:: @ 83516B8 + .4byte gMapData_SaffronCity_House2 @ 0x82D6AF0 + .4byte gMapEvents_SaffronCity_House2 @ 0x83BD004 + .4byte gMapScripts_SaffronCity_House2 @ 0x816EF73 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 21 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_Mart:: @ 83516D4 + .4byte gMapData_SaffronCity_Mart @ 0x82D5BCC + .4byte gMapEvents_SaffronCity_Mart @ 0x83BD078 + .4byte gMapScripts_SaffronCity_Mart @ 0x816EFA2 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_PokemonCenter_1F:: @ 83516F0 + .4byte gMapData_SaffronCity_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_SaffronCity_PokemonCenter_1F @ 0x83BD13C + .4byte gMapScripts_SaffronCity_PokemonCenter_1F @ 0x816EFEC + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_PokemonCenter_2F:: @ 835170C + .4byte gMapData_SaffronCity_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_SaffronCity_PokemonCenter_2F @ 0x83BD1C8 + .4byte gMapScripts_SaffronCity_PokemonCenter_2F @ 0x816F037 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_House3:: @ 8351728 + .4byte gMapData_SaffronCity_House3 @ 0x82D6AF0 + .4byte gMapEvents_SaffronCity_House3 @ 0x83BD20C + .4byte gMapScripts_SaffronCity_House3 @ 0x816F05E + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 21 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SaffronCity_PokemonTrainerFanClub:: @ 8351744 + .4byte gMapData_SaffronCity_PokemonTrainerFanClub @ 0x8338A60 + .4byte gMapEvents_SaffronCity_PokemonTrainerFanClub @ 0x83BD318 + .4byte gMapScripts_SaffronCity_PokemonTrainerFanClub @ 0x816F0BF + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 263 + .byte 0x62, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route2_ViridianForest_SouthEntrance:: @ 8351760 + .4byte gMapData_Route2_ViridianForest_SouthEntrance @ 0x8320990 + .4byte gMapEvents_Route2_ViridianForest_SouthEntrance @ 0x83BD37C + .4byte gMapScripts_Route2_ViridianForest_SouthEntrance @ 0x816F5E5 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 221 + .byte 0x66, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route2_House:: @ 835177C + .4byte gMapData_Route2_House @ 0x82D5840 + .4byte gMapEvents_Route2_House @ 0x83BD3D8 + .4byte gMapScripts_Route2_House @ 0x816F5F8 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 7 + .byte 0x66, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route2_EastBuilding:: @ 8351798 + .4byte gMapData_Route2_EastBuilding @ 0x8320990 + .4byte gMapEvents_Route2_EastBuilding @ 0x83BD43C + .4byte gMapScripts_Route2_EastBuilding @ 0x816F67E + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 221 + .byte 0x66, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route2_ViridianForest_NorthEntrance:: @ 83517B4 + .4byte gMapData_Route2_ViridianForest_NorthEntrance @ 0x8320990 + .4byte gMapEvents_Route2_ViridianForest_NorthEntrance @ 0x83BD4B8 + .4byte gMapScripts_Route2_ViridianForest_NorthEntrance @ 0x816F71D + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 221 + .byte 0x66, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route4_PokemonCenter_1F:: @ 83517D0 + .4byte gMapData_Route4_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_Route4_PokemonCenter_1F @ 0x83BD57C + .4byte gMapScripts_Route4_PokemonCenter_1F @ 0x816F739 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x68, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route4_PokemonCenter_2F:: @ 83517EC + .4byte gMapData_Route4_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_Route4_PokemonCenter_2F @ 0x83BD608 + .4byte gMapScripts_Route4_PokemonCenter_2F @ 0x816F8D8 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x68, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route5_PokemonDayCare:: @ 8351808 + .4byte gMapData_Route5_PokemonDayCare @ 0x833ADC0 + .4byte gMapEvents_Route5_PokemonDayCare @ 0x83BD64C + .4byte gMapScripts_Route5_PokemonDayCare @ 0x816F8FF + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 275 + .byte 0x69, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route5_SouthEntrance:: @ 8351824 + .4byte gMapData_Route5_SouthEntrance @ 0x831E9C0 + .4byte gMapEvents_Route5_SouthEntrance @ 0x83BD6C8 + .4byte gMapScripts_Route5_SouthEntrance @ 0x816F900 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 208 + .byte 0x69, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route6_NorthEntrance:: @ 8351840 + .4byte gMapData_Route6_NorthEntrance @ 0x831E9C0 + .4byte gMapEvents_Route6_NorthEntrance @ 0x83BD744 + .4byte gMapScripts_Route6_NorthEntrance @ 0x816F9C6 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 208 + .byte 0x6a, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +UnknownMap_18_01:: @ 835185C + .4byte gMapData_UnknownMap_18_01 @ 0x82D5840 + .4byte gMapEvents_UnknownMap_18_01 @ 0x83BD758 + .4byte gMapScripts_UnknownMap_18_01 @ 0x816FA8C + .4byte NULL + .2byte BGM_FRLG_ROUTE_3 + .2byte 7 + .byte 0x6a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route7_EastEntrance:: @ 8351878 + .4byte gMapData_Route7_EastEntrance @ 0x831EAD0 + .4byte gMapEvents_Route7_EastEntrance @ 0x83BD7D4 + .4byte gMapScripts_Route7_EastEntrance @ 0x816FA8D + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 209 + .byte 0x6b, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route8_WestEntrance:: @ 8351894 + .4byte gMapData_Route8_WestEntrance @ 0x831EAD0 + .4byte gMapEvents_Route8_WestEntrance @ 0x83BD850 + .4byte gMapScripts_Route8_WestEntrance @ 0x816FB53 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 209 + .byte 0x6c, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route10_PokemonCenter_1F:: @ 83518B0 + .4byte gMapData_Route10_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_Route10_PokemonCenter_1F @ 0x83BD8FC + .4byte gMapScripts_Route10_PokemonCenter_1F @ 0x816FC2F + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x6e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route10_PokemonCenter_2F:: @ 83518CC + .4byte gMapData_Route10_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_Route10_PokemonCenter_2F @ 0x83BD988 + .4byte gMapScripts_Route10_PokemonCenter_2F @ 0x816FCFA + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x6e, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route11_EastEntrance_1F:: @ 83518E8 + .4byte gMapData_Route11_EastEntrance_1F @ 0x8320E70 + .4byte gMapEvents_Route11_EastEntrance_1F @ 0x83BD9F4 + .4byte gMapScripts_Route11_EastEntrance_1F @ 0x816FD21 + .4byte NULL + .2byte BGM_FRLG_VERMILION_CITY + .2byte 224 + .byte 0x6f, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route11_EastEntrance_2F:: @ 8351904 + .4byte gMapData_Route11_EastEntrance_2F @ 0x8320804 + .4byte gMapEvents_Route11_EastEntrance_2F @ 0x83BDA58 + .4byte gMapScripts_Route11_EastEntrance_2F @ 0x816FD34 + .4byte NULL + .2byte BGM_FRLG_VERMILION_CITY + .2byte 220 + .byte 0x6f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route12_NorthEntrance_1F:: @ 8351920 + .4byte gMapData_Route12_NorthEntrance_1F @ 0x8319DF0 + .4byte gMapEvents_Route12_NorthEntrance_1F @ 0x83BDAAC + .4byte gMapScripts_Route12_NorthEntrance_1F @ 0x816FE6D + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 176 + .byte 0x70, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route12_NorthEntrance_2F:: @ 835193C + .4byte gMapData_Route12_NorthEntrance_2F @ 0x8320804 + .4byte gMapEvents_Route12_NorthEntrance_2F @ 0x83BDAF8 + .4byte gMapScripts_Route12_NorthEntrance_2F @ 0x816FE77 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 220 + .byte 0x70, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route12_FishingHouse:: @ 8351958 + .4byte gMapData_Route12_FishingHouse @ 0x82D6070 + .4byte gMapEvents_Route12_FishingHouse @ 0x83BDB48 + .4byte gMapScripts_Route12_FishingHouse @ 0x816FF0B + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 13 + .byte 0x70, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route15_WestEntrance_1F:: @ 8351974 + .4byte gMapData_Route15_WestEntrance_1F @ 0x8320E70 + .4byte gMapEvents_Route15_WestEntrance_1F @ 0x83BDB9C + .4byte gMapScripts_Route15_WestEntrance_1F @ 0x8170088 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 224 + .byte 0x73, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route15_WestEntrance_2F:: @ 8351990 + .4byte gMapData_Route15_WestEntrance_2F @ 0x8320804 + .4byte gMapEvents_Route15_WestEntrance_2F @ 0x83BDBE8 + .4byte gMapScripts_Route15_WestEntrance_2F @ 0x8170092 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 220 + .byte 0x73, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route16_House:: @ 83519AC + .4byte gMapData_Route16_House @ 0x82D5754 + .4byte gMapEvents_Route16_House @ 0x83BDC44 + .4byte gMapScripts_Route16_House @ 0x817014E + .4byte NULL + .2byte BGM_FRLG_CELADON_CITY + .2byte 6 + .byte 0x74, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route16_NorthEntrance_1F:: @ 83519C8 + .4byte gMapData_Route16_NorthEntrance_1F @ 0x8320D14 + .4byte gMapEvents_Route16_NorthEntrance_1F @ 0x83BDD60 + .4byte gMapScripts_Route16_NorthEntrance_1F @ 0x81701C2 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 223 + .byte 0x74, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route16_NorthEntrance_2F:: @ 83519E4 + .4byte gMapData_Route16_NorthEntrance_2F @ 0x8320804 + .4byte gMapEvents_Route16_NorthEntrance_2F @ 0x83BDDDC + .4byte gMapScripts_Route16_NorthEntrance_2F @ 0x81702BE + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 220 + .byte 0x74, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route18_EastEntrance_1F:: @ 8351A00 + .4byte gMapData_Route18_EastEntrance_1F @ 0x8320E70 + .4byte gMapEvents_Route18_EastEntrance_1F @ 0x83BDED0 + .4byte gMapScripts_Route18_EastEntrance_1F @ 0x8170378 + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 224 + .byte 0x76, 0x00, 0x00, 0x08, 0x01, 0x02, 0x00, 0x00 + +Route18_EastEntrance_2F:: @ 8351A1C + .4byte gMapData_Route18_EastEntrance_2F @ 0x8320804 + .4byte gMapEvents_Route18_EastEntrance_2F @ 0x83BDF1C + .4byte gMapScripts_Route18_EastEntrance_2F @ 0x817046B + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_CITY + .2byte 220 + .byte 0x76, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +UnusedHouse_27_00:: @ 8351A38 + .4byte gMapData_UnusedHouse_27_00 @ 0x82D5840 + .4byte gMapEvents_UnusedHouse_27_00 @ 0x83BDF30 + .4byte gMapScripts_UnusedHouse_27_00 @ 0x81704FA + .4byte NULL + .2byte BGM_FRLG_ROUTE_3 + .2byte 7 + .byte 0x77, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route22_NorthEntrance:: @ 8351A54 + .4byte gMapData_Route22_NorthEntrance @ 0x8320B1C + .4byte gMapEvents_Route22_NorthEntrance @ 0x83BDF8C + .4byte gMapScripts_Route22_NorthEntrance @ 0x81704FB + .4byte NULL + .2byte BGM_FRLG_VIRIDIAN_FOREST + .2byte 222 + .byte 0x7a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +UnusedHouse_29_00:: @ 8351A70 + .4byte gMapData_UnusedHouse_29_00 @ 0x82D5840 + .4byte gMapEvents_UnusedHouse_29_00 @ 0x83BDFA0 + .4byte gMapScripts_UnusedHouse_29_00 @ 0x8170522 + .4byte NULL + .2byte BGM_FRLG_INDIGO_PLATEAU + .2byte 7 + .byte 0x7b, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +Route25_SeaCottage:: @ 8351A8C + .4byte gMapData_Route25_SeaCottage @ 0x8319030 + .4byte gMapEvents_Route25_SeaCottage @ 0x83BE008 + .4byte gMapScripts_Route25_SeaCottage @ 0x8170523 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 169 + .byte 0x7d, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SevenIsland_House_Room1:: @ 8351AA8 + .4byte gMapData_SevenIsland_House_Room1 @ 0x834E310 + .4byte gMapEvents_SevenIsland_House_Room1 @ 0x83BE050 + .4byte gMapScripts_SevenIsland_House_Room1 @ 0x817088A + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 382 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +SevenIsland_House_Room2:: @ 8351AC4 + .4byte gMapData_SevenIsland_House_Room2 @ 0x8338C48 + .4byte gMapEvents_SevenIsland_House_Room2 @ 0x83BE084 + .4byte gMapScripts_SevenIsland_House_Room2 @ 0x8170A7E + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 265 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01 + +SevenIsland_Mart:: @ 8351AE0 + .4byte gMapData_SevenIsland_Mart @ 0x82D5BCC + .4byte gMapEvents_SevenIsland_Mart @ 0x83BE100 + .4byte gMapScripts_SevenIsland_Mart @ 0x8170B30 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SevenIsland_PokemonCenter_1F:: @ 8351AFC + .4byte gMapData_SevenIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_SevenIsland_PokemonCenter_1F @ 0x83BE1B4 + .4byte gMapScripts_SevenIsland_PokemonCenter_1F @ 0x8170B89 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SevenIsland_PokemonCenter_2F:: @ 8351B18 + .4byte gMapData_SevenIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_SevenIsland_PokemonCenter_2F @ 0x83BE240 + .4byte gMapScripts_SevenIsland_PokemonCenter_2F @ 0x8170BBC + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +UnusedHouse_31_05:: @ 8351B34 + .4byte gMapData_UnusedHouse_31_05 @ 0x82D6070 + .4byte gMapEvents_UnusedHouse_31_05 @ 0x83BE254 + .4byte gMapScripts_UnusedHouse_31_05 @ 0x8170BE3 + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 13 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SevenIsland_Harbor:: @ 8351B50 + .4byte gMapData_SevenIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_SevenIsland_Harbor @ 0x83BE2A0 + .4byte gMapScripts_SevenIsland_Harbor @ 0x8170BE4 + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 315 + .byte 0x94, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +OneIsland_PokemonCenter_1F:: @ 8351B6C + .4byte gMapData_OneIsland_PokemonCenter_1F @ 0x833A970 + .4byte gMapEvents_OneIsland_PokemonCenter_1F @ 0x83BE400 + .4byte gMapScripts_OneIsland_PokemonCenter_1F @ 0x8170BF8 + .4byte NULL + .2byte BGM_FRLG_POKEMON_NETWORK_CENTER + .2byte 271 + .byte 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +OneIsland_PokemonCenter_2F:: @ 8351B88 + .4byte gMapData_OneIsland_PokemonCenter_2F @ 0x8344108 + .4byte gMapEvents_OneIsland_PokemonCenter_2F @ 0x83BE48C + .4byte gMapScripts_OneIsland_PokemonCenter_2F @ 0x8171334 + .4byte NULL + .2byte BGM_FRLG_POKEMON_NETWORK_CENTER + .2byte 316 + .byte 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +OneIsland_House1:: @ 8351BA4 + .4byte gMapData_OneIsland_House1 @ 0x82D5CB8 + .4byte gMapEvents_OneIsland_House1 @ 0x83BE4D8 + .4byte gMapScripts_OneIsland_House1 @ 0x817135B + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +OneIsland_House2:: @ 8351BC0 + .4byte gMapData_OneIsland_House2 @ 0x82D5CB8 + .4byte gMapEvents_OneIsland_House2 @ 0x83BE50C + .4byte gMapScripts_OneIsland_House2 @ 0x817136E + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +OneIsland_Harbor:: @ 8351BDC + .4byte gMapData_OneIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_OneIsland_Harbor @ 0x83BE558 + .4byte gMapScripts_OneIsland_Harbor @ 0x8171378 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 315 + .byte 0x8f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_JoyfulGameCorner:: @ 8351BF8 + .4byte gMapData_TwoIsland_JoyfulGameCorner @ 0x833AA84 + .4byte gMapEvents_TwoIsland_JoyfulGameCorner @ 0x83BE5EC + .4byte gMapScripts_TwoIsland_JoyfulGameCorner @ 0x81713D0 + .4byte NULL + .2byte BGM_FRLG_GAMECORNER + .2byte 272 + .byte 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_House:: @ 8351C14 + .4byte gMapData_TwoIsland_House @ 0x82D5CB8 + .4byte gMapEvents_TwoIsland_House @ 0x83BE620 + .4byte gMapScripts_TwoIsland_House @ 0x8171618 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_PokemonCenter_1F:: @ 8351C30 + .4byte gMapData_TwoIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_TwoIsland_PokemonCenter_1F @ 0x83BE68C + .4byte gMapScripts_TwoIsland_PokemonCenter_1F @ 0x81717B4 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_PokemonCenter_2F:: @ 8351C4C + .4byte gMapData_TwoIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_TwoIsland_PokemonCenter_2F @ 0x83BE718 + .4byte gMapScripts_TwoIsland_PokemonCenter_2F @ 0x81717DE + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_Harbor:: @ 8351C68 + .4byte gMapData_TwoIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_TwoIsland_Harbor @ 0x83BE764 + .4byte gMapScripts_TwoIsland_Harbor @ 0x8171805 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 315 + .byte 0x90, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_House1:: @ 8351C84 + .4byte gMapData_ThreeIsland_House1 @ 0x82D7504 + .4byte gMapEvents_ThreeIsland_House1 @ 0x83BE7A4 + .4byte gMapScripts_ThreeIsland_House1 @ 0x8171819 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 31 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_PokemonCenter_1F:: @ 8351CA0 + .4byte gMapData_ThreeIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_ThreeIsland_PokemonCenter_1F @ 0x83BE828 + .4byte gMapScripts_ThreeIsland_PokemonCenter_1F @ 0x8171832 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_PokemonCenter_2F:: @ 8351CBC + .4byte gMapData_ThreeIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_ThreeIsland_PokemonCenter_2F @ 0x83BE8B4 + .4byte gMapScripts_ThreeIsland_PokemonCenter_2F @ 0x8171865 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_Mart:: @ 8351CD8 + .4byte gMapData_ThreeIsland_Mart @ 0x82D5BCC + .4byte gMapEvents_ThreeIsland_Mart @ 0x83BE930 + .4byte gMapScripts_ThreeIsland_Mart @ 0x817188C + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_House2:: @ 8351CF4 + .4byte gMapData_ThreeIsland_House2 @ 0x82D5CB8 + .4byte gMapEvents_ThreeIsland_House2 @ 0x83BE97C + .4byte gMapScripts_ThreeIsland_House2 @ 0x81718DF + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_House3:: @ 8351D10 + .4byte gMapData_ThreeIsland_House3 @ 0x82D5CB8 + .4byte gMapEvents_ThreeIsland_House3 @ 0x83BE9B0 + .4byte gMapScripts_ThreeIsland_House3 @ 0x8171902 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_House4:: @ 8351D2C + .4byte gMapData_ThreeIsland_House4 @ 0x82D5CB8 + .4byte gMapEvents_ThreeIsland_House4 @ 0x83BE9FC + .4byte gMapScripts_ThreeIsland_House4 @ 0x817190C + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_House5:: @ 8351D48 + .4byte gMapData_ThreeIsland_House5 @ 0x82D5CB8 + .4byte gMapEvents_ThreeIsland_House5 @ 0x83BEA30 + .4byte gMapScripts_ThreeIsland_House5 @ 0x817191F + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x91, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_PokemonDayCare:: @ 8351D64 + .4byte gMapData_FourIsland_PokemonDayCare @ 0x833AFA8 + .4byte gMapEvents_FourIsland_PokemonDayCare @ 0x83BEA64 + .4byte gMapScripts_FourIsland_PokemonDayCare @ 0x817193F + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 277 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_PokemonCenter_1F:: @ 8351D80 + .4byte gMapData_FourIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_FourIsland_PokemonCenter_1F @ 0x83BEB00 + .4byte gMapScripts_FourIsland_PokemonCenter_1F @ 0x8171BEA + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_PokemonCenter_2F:: @ 8351D9C + .4byte gMapData_FourIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_FourIsland_PokemonCenter_2F @ 0x83BEB8C + .4byte gMapScripts_FourIsland_PokemonCenter_2F @ 0x8171C1D + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_House1:: @ 8351DB8 + .4byte gMapData_FourIsland_House1 @ 0x82D5CB8 + .4byte gMapEvents_FourIsland_House1 @ 0x83BEBD8 + .4byte gMapScripts_FourIsland_House1 @ 0x8171C44 + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 11 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_LoreleisHouse:: @ 8351DD4 + .4byte gMapData_FourIsland_LoreleisHouse @ 0x82D7418 + .4byte gMapEvents_FourIsland_LoreleisHouse @ 0x83BED5C + .4byte gMapScripts_FourIsland_LoreleisHouse @ 0x8171C4E + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 30 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_Harbor:: @ 8351DF0 + .4byte gMapData_FourIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_FourIsland_Harbor @ 0x83BEDA8 + .4byte gMapScripts_FourIsland_Harbor @ 0x8171C98 + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 315 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_House2:: @ 8351E0C + .4byte gMapData_FourIsland_House2 @ 0x82D5CB8 + .4byte gMapEvents_FourIsland_House2 @ 0x83BEDDC + .4byte gMapScripts_FourIsland_House2 @ 0x8171CAC + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 11 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FourIsland_Mart:: @ 8351E28 + .4byte gMapData_FourIsland_Mart @ 0x82D5BCC + .4byte gMapEvents_FourIsland_Mart @ 0x83BEE40 + .4byte gMapScripts_FourIsland_Mart @ 0x8171CAD + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x92, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_PokemonCenter_1F:: @ 8351E44 + .4byte gMapData_FiveIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_FiveIsland_PokemonCenter_1F @ 0x83BEEDC + .4byte gMapScripts_FiveIsland_PokemonCenter_1F @ 0x8171CF1 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x93, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_PokemonCenter_2F:: @ 8351E60 + .4byte gMapData_FiveIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_FiveIsland_PokemonCenter_2F @ 0x83BEF68 + .4byte gMapScripts_FiveIsland_PokemonCenter_2F @ 0x8171D1B + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x93, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_Harbor:: @ 8351E7C + .4byte gMapData_FiveIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_FiveIsland_Harbor @ 0x83BEFB4 + .4byte gMapScripts_FiveIsland_Harbor @ 0x8171D42 + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 315 + .byte 0x93, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_House1:: @ 8351E98 + .4byte gMapData_FiveIsland_House1 @ 0x82D5CB8 + .4byte gMapEvents_FiveIsland_House1 @ 0x83BEFE8 + .4byte gMapScripts_FiveIsland_House1 @ 0x8171D56 + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 11 + .byte 0x93, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_House2:: @ 8351EB4 + .4byte gMapData_FiveIsland_House2 @ 0x82D5CB8 + .4byte gMapEvents_FiveIsland_House2 @ 0x83BF01C + .4byte gMapScripts_FiveIsland_House2 @ 0x8171D60 + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 11 + .byte 0x93, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_PokemonCenter_1F:: @ 8351ED0 + .4byte gMapData_SixIsland_PokemonCenter_1F @ 0x82D5990 + .4byte gMapEvents_SixIsland_PokemonCenter_1F @ 0x83BF0A0 + .4byte gMapScripts_SixIsland_PokemonCenter_1F @ 0x8171D6A + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 8 + .byte 0x95, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_PokemonCenter_2F:: @ 8351EEC + .4byte gMapData_SixIsland_PokemonCenter_2F @ 0x82D5AE0 + .4byte gMapEvents_SixIsland_PokemonCenter_2F @ 0x83BF12C + .4byte gMapScripts_SixIsland_PokemonCenter_2F @ 0x8171E20 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 9 + .byte 0x95, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_Harbor:: @ 8351F08 + .4byte gMapData_SixIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_SixIsland_Harbor @ 0x83BF178 + .4byte gMapScripts_SixIsland_Harbor @ 0x8171E47 + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 315 + .byte 0x95, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_House:: @ 8351F24 + .4byte gMapData_SixIsland_House @ 0x82D5CB8 + .4byte gMapEvents_SixIsland_House @ 0x83BF1AC + .4byte gMapScripts_SixIsland_House @ 0x8171E5B + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 11 + .byte 0x95, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_Mart:: @ 8351F40 + .4byte gMapData_SixIsland_Mart @ 0x82D5BCC + .4byte gMapEvents_SixIsland_Mart @ 0x83BF210 + .4byte gMapScripts_SixIsland_Mart @ 0x8171E65 + .4byte NULL + .2byte BGM_FRLG_POKEMON_CENTER + .2byte 10 + .byte 0x95, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +ThreeIsland_Harbor:: @ 8351F5C + .4byte gMapData_ThreeIsland_Harbor @ 0x8343FB8 + .4byte gMapEvents_ThreeIsland_Harbor @ 0x83BF25C + .4byte gMapScripts_ThreeIsland_Harbor @ 0x8171EA9 + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 315 + .byte 0x9a, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +FiveIsland_ResortGorgeous_House:: @ 8351F78 + .4byte gMapData_FiveIsland_ResortGorgeous_House @ 0x82D657C + .4byte gMapEvents_FiveIsland_ResortGorgeous_House @ 0x83BF2C0 + .4byte gMapScripts_FiveIsland_ResortGorgeous_House @ 0x8171EBD + .4byte NULL + .2byte BGM_FRLG_ISLAND_FOUR + .2byte 17 + .byte 0x9f, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +TwoIsland_CapeBrink_House:: @ 8351F94 + .4byte gMapData_TwoIsland_CapeBrink_House @ 0x82D5CB8 + .4byte gMapEvents_TwoIsland_CapeBrink_House @ 0x83BF2F4 + .4byte gMapScripts_TwoIsland_CapeBrink_House @ 0x817206B + .4byte NULL + .2byte BGM_FRLG_ISLAND_ONE + .2byte 11 + .byte 0x98, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_WaterPath_House1:: @ 8351FB0 + .4byte gMapData_SixIsland_WaterPath_House1 @ 0x82D6070 + .4byte gMapEvents_SixIsland_WaterPath_House1 @ 0x83BF334 + .4byte gMapScripts_SixIsland_WaterPath_House1 @ 0x817206C + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 13 + .byte 0xa5, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SixIsland_WaterPath_House2:: @ 8351FCC + .4byte gMapData_SixIsland_WaterPath_House2 @ 0x82D5CB8 + .4byte gMapEvents_SixIsland_WaterPath_House2 @ 0x83BF368 + .4byte gMapScripts_SixIsland_WaterPath_House2 @ 0x8172178 + .4byte NULL + .2byte BGM_FRLG_CERULEAN_CITY + .2byte 11 + .byte 0xa5, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 + +SevenIsland_SevaultCanyon_House:: @ 8351FE8 + .4byte gMapData_SevenIsland_SevaultCanyon_House @ 0x82D5CB8 + .4byte gMapEvents_SevenIsland_SevaultCanyon_House @ 0x83BF3CC + .4byte gMapScripts_SevenIsland_SevaultCanyon_House @ 0x8172182 + .4byte NULL + .2byte BGM_FRLG_ISLAND_SIX + .2byte 11 + .byte 0xa9, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 gMapGroup_00:: @ 8352004 - .4byte gMap_00_00 - .4byte gMap_00_01 - .4byte gMap_00_02 - .4byte gMap_00_03 - .4byte gMap_00_04 + .4byte UnknownMap_00_00 + .4byte UnknownMap_00_01 + .4byte UnknownMap_00_02 + .4byte UnknownMap_00_03 + .4byte UnknownMap_00_04 gMapGroup_01:: @ 8352018 - .4byte gMap_01_00 - .4byte gMap_01_01 - .4byte gMap_01_02 - .4byte gMap_01_03 - .4byte gMap_01_04 - .4byte gMap_01_05 - .4byte gMap_01_06 - .4byte gMap_01_07 - .4byte gMap_01_08 - .4byte gMap_01_09 - .4byte gMap_01_10 - .4byte gMap_01_11 - .4byte gMap_01_12 - .4byte gMap_01_13 - .4byte gMap_01_14 - .4byte gMap_01_15 - .4byte gMap_01_16 - .4byte gMap_01_17 - .4byte gMap_01_18 - .4byte gMap_01_19 - .4byte gMap_01_20 - .4byte gMap_01_21 - .4byte gMap_01_22 - .4byte gMap_01_23 - .4byte gMap_01_24 - .4byte gMap_01_25 - .4byte gMap_01_26 - .4byte gMap_01_27 - .4byte gMap_01_28 - .4byte gMap_01_29 - .4byte gMap_01_30 - .4byte gMap_01_31 - .4byte gMap_01_32 - .4byte gMap_01_33 - .4byte gMap_01_34 - .4byte gMap_01_35 - .4byte gMap_01_36 - .4byte gMap_01_37 - .4byte gMap_01_38 - .4byte gMap_01_39 - .4byte gMap_01_40 - .4byte gMap_01_41 - .4byte gMap_01_42 - .4byte gMap_01_43 - .4byte gMap_01_44 - .4byte gMap_01_45 - .4byte gMap_01_46 - .4byte gMap_01_47 - .4byte gMap_01_48 - .4byte gMap_01_49 - .4byte gMap_01_50 - .4byte gMap_01_51 - .4byte gMap_01_52 - .4byte gMap_01_53 - .4byte gMap_01_54 - .4byte gMap_01_55 - .4byte gMap_01_56 - .4byte gMap_01_57 - .4byte gMap_01_58 - .4byte gMap_01_59 - .4byte gMap_01_60 - .4byte gMap_01_61 - .4byte gMap_01_62 - .4byte gMap_01_63 - .4byte gMap_01_64 - .4byte gMap_01_65 - .4byte gMap_01_66 - .4byte gMap_01_67 - .4byte gMap_01_68 - .4byte gMap_01_69 - .4byte gMap_01_70 - .4byte gMap_01_71 - .4byte gMap_01_72 - .4byte gMap_01_73 - .4byte gMap_01_74 - .4byte gMap_01_75 - .4byte gMap_01_76 - .4byte gMap_01_77 - .4byte gMap_01_78 - .4byte gMap_01_79 - .4byte gMap_01_80 - .4byte gMap_01_81 - .4byte gMap_01_82 - .4byte gMap_01_83 - .4byte gMap_01_84 - .4byte gMap_01_85 - .4byte gMap_01_86 - .4byte gMap_01_87 - .4byte gMap_01_88 - .4byte gMap_01_89 - .4byte gMap_01_90 - .4byte gMap_01_91 - .4byte gMap_01_92 - .4byte gMap_01_93 - .4byte gMap_01_94 - .4byte gMap_01_95 - .4byte gMap_01_96 - .4byte gMap_01_97 - .4byte gMap_01_98 - .4byte gMap_01_99 - .4byte gMap_01_100 - .4byte gMap_01_101 - .4byte gMap_01_102 - .4byte gMap_01_103 - .4byte gMap_01_104 - .4byte gMap_01_105 - .4byte gMap_01_106 - .4byte gMap_01_107 - .4byte gMap_01_108 - .4byte gMap_01_109 - .4byte gMap_01_110 - .4byte gMap_01_111 - .4byte gMap_01_112 - .4byte gMap_01_113 - .4byte gMap_01_114 - .4byte gMap_01_115 - .4byte gMap_01_116 - .4byte gMap_01_117 - .4byte gMap_01_118 - .4byte gMap_01_119 - .4byte gMap_01_120 - .4byte gMap_01_121 - .4byte gMap_01_122 + .4byte ViridianForest + .4byte MtMoon_1F + .4byte MtMoon_B1F + .4byte MtMoon_B2F + .4byte SSAnne_Exterior + .4byte SSAnne_1F_Corridor + .4byte SSAnne_2F_Corridor + .4byte SSAnne_3F_Corridor + .4byte SSAnne_B1F_Corridor + .4byte SSAnne_Deck + .4byte SSAnne_Kitchen + .4byte SSAnne_CaptainsOffice + .4byte SSAnne_1F_Room1 + .4byte SSAnne_1F_Room2 + .4byte SSAnne_1F_Room3 + .4byte SSAnne_1F_Room4 + .4byte SSAnne_1F_Room5 + .4byte SSAnne_1F_Room7 + .4byte SSAnne_2F_Room1 + .4byte SSAnne_2F_Room2 + .4byte SSAnne_2F_Room3 + .4byte SSAnne_2F_Room4 + .4byte SSAnne_2F_Room5 + .4byte SSAnne_2F_Room6 + .4byte SSAnne_B1F_Room1 + .4byte SSAnne_B1F_Room2 + .4byte SSAnne_B1F_Room3 + .4byte SSAnne_B1F_Room4 + .4byte SSAnne_B1F_Room5 + .4byte SSAnne_1F_Room6 + .4byte UndergroundPath_NorthEntrance + .4byte UndergroundPath_NorthSouthTunnel + .4byte UndergroundPath_SouthEntrance + .4byte UndergroundPath_WestEntrance + .4byte UndergroundPath_EastWestTunnel + .4byte UndergroundPath_EastEntrance + .4byte DiglettsCave_NorthEntrance + .4byte DiglettsCave_B1F + .4byte DiglettsCave_SouthEntrance + .4byte VictoryRoad_1F + .4byte VictoryRoad_2F + .4byte VictoryRoad_3F + .4byte RocketHideout_B1F + .4byte RocketHideout_B2F + .4byte RocketHideout_B3F + .4byte RocketHideout_B4F + .4byte RocketHideout_Elevator + .4byte SilphCo_1F + .4byte SilphCo_2F + .4byte SilphCo_3F + .4byte SilphCo_4F + .4byte SilphCo_5F + .4byte SilphCo_6F + .4byte SilphCo_7F + .4byte SilphCo_8F + .4byte SilphCo_9F + .4byte SilphCo_10F + .4byte SilphCo_11F + .4byte SilphCo_Elevator + .4byte PokemonMansion_1F + .4byte PokemonMansion_2F + .4byte PokemonMansion_3F + .4byte PokemonMansion_B1F + .4byte SafariZone_Center + .4byte SafariZone_East + .4byte SafariZone_North + .4byte SafariZone_West + .4byte SafariZone_Building1 + .4byte SafariZone_Building2 + .4byte SafariZone_Building3 + .4byte SafariZone_Building4 + .4byte SafariZone_SecretHouse + .4byte CeruleanCave_1F + .4byte CeruleanCave_2F + .4byte CeruleanCave_B1F + .4byte PokemonLeague_LoreleisRoom + .4byte PokemonLeague_BrunosRoom + .4byte PokemonLeague_AgathasRoom + .4byte PokemonLeague_LancesRoom + .4byte PokemonLeague_ChampionsRoom + .4byte PokemonLeague_HallOfFame + .4byte RockTunnel_1F + .4byte RockTunnel_B1F + .4byte SeafoamIslands_1F + .4byte SeafoamIslands_B1F + .4byte SeafoamIslands_B2F + .4byte SeafoamIslands_B3F + .4byte SeafoamIslands_B4F + .4byte PokemonTower_1F + .4byte PokemonTower_2F + .4byte PokemonTower_3F + .4byte PokemonTower_4F + .4byte PokemonTower_5F + .4byte PokemonTower_6F + .4byte PokemonTower_7F + .4byte PowerPlant + .4byte MtEmber_RubyPath_B4F + .4byte MtEmber_Exterior + .4byte MtEmber_SummitPath_1F + .4byte MtEmber_SummitPath_2F + .4byte MtEmber_SummitPath_3F + .4byte MtEmber_Summit + .4byte MtEmber_RubyPath_B5F + .4byte SSAnne_Kitchen3 + .4byte MtEmber_RubyPath_B1F + .4byte MtEmber_RubyPath_B2F + .4byte MtEmber_RubyPath_B3F + .4byte MtEmber_RubyPath_B1F_Stairs + .4byte MtEmber_RubyPath_B2F_Stairs + .4byte ThreeIsland_BerryForest + .4byte FourIsland_IcefallCave_Entrance + .4byte FourIsland_IcefallCave_1F + .4byte SSAnne_CaptainsOffice2 + .4byte SSAnne_CaptainsOffice3 + .4byte SSAnne_CaptainsOffice4 + .4byte SSAnne_CaptainsOffice5 + .4byte SixIsland_DottedHole_B1F + .4byte SixIsland_DottedHole_B2F + .4byte SixIsland_DottedHole_B3F + .4byte SSAnne_CaptainsOffice9 + .4byte SixIsland_DottedHole_SapphireRoom + .4byte SSAnne_1F_Room11 + .4byte SSAnne_1F_Room12 gMapGroup_02:: @ 8352204 - .4byte gMap_02_00 - .4byte gMap_02_01 - .4byte gMap_02_02 - .4byte gMap_02_03 - .4byte gMap_02_04 - .4byte gMap_02_05 - .4byte gMap_02_06 - .4byte gMap_02_07 - .4byte gMap_02_08 - .4byte gMap_02_09 - .4byte gMap_02_10 - .4byte gMap_02_11 - .4byte gMap_02_12 - .4byte gMap_02_13 - .4byte gMap_02_14 - .4byte gMap_02_15 - .4byte gMap_02_16 - .4byte gMap_02_17 - .4byte gMap_02_18 - .4byte gMap_02_19 - .4byte gMap_02_20 - .4byte gMap_02_21 - .4byte gMap_02_22 - .4byte gMap_02_23 - .4byte gMap_02_24 - .4byte gMap_02_25 - .4byte gMap_02_26 - .4byte gMap_02_27 - .4byte gMap_02_28 - .4byte gMap_02_29 - .4byte gMap_02_30 - .4byte gMap_02_31 - .4byte gMap_02_32 - .4byte gMap_02_33 - .4byte gMap_02_34 - .4byte gMap_02_35 - .4byte gMap_02_36 - .4byte gMap_02_37 - .4byte gMap_02_38 - .4byte gMap_02_39 - .4byte gMap_02_40 - .4byte gMap_02_41 - .4byte gMap_02_42 - .4byte gMap_02_43 - .4byte gMap_02_44 - .4byte gMap_02_45 - .4byte gMap_02_46 - .4byte gMap_02_47 - .4byte gMap_02_48 - .4byte gMap_02_49 - .4byte gMap_02_50 - .4byte gMap_02_51 - .4byte gMap_02_52 - .4byte gMap_02_53 - .4byte gMap_02_54 - .4byte gMap_02_55 - .4byte gMap_02_56 - .4byte gMap_02_57 - .4byte gMap_02_58 - .4byte gMap_02_59 + .4byte NavelRock_Exterior + .4byte SevenIsland_TrainerTower_1F + .4byte SevenIsland_TrainerTower_2F + .4byte SevenIsland_TrainerTower_3F + .4byte SevenIsland_TrainerTower_4F + .4byte SevenIsland_TrainerTower_5F + .4byte SevenIsland_TrainerTower_6F + .4byte SevenIsland_TrainerTower_7F + .4byte SevenIsland_TrainerTower_8F + .4byte SevenIsland_TrainerTower_Roof + .4byte SevenIsland_TrainerTower_Lobby + .4byte SevenIsland_TrainerTower_Elevator + .4byte FiveIsland_LostCave_Entrance + .4byte FiveIsland_LostCave_Room1 + .4byte FiveIsland_LostCave_Room2 + .4byte FiveIsland_LostCave_Room3 + .4byte FiveIsland_LostCave_Room4 + .4byte FiveIsland_LostCave_Room5 + .4byte FiveIsland_LostCave_Room6 + .4byte FiveIsland_LostCave_Room7 + .4byte FiveIsland_LostCave_Room8 + .4byte FiveIsland_LostCave_Room9 + .4byte FiveIsland_LostCave_Room10 + .4byte FiveIsland_LostCave_Room11 + .4byte FiveIsland_LostCave_Room12 + .4byte FiveIsland_LostCave_Room13 + .4byte FiveIsland_LostCave_Room14 + .4byte SevenIsland_TanobyRuins_MoneanChamber + .4byte SevenIsland_TanobyRuins_LiptooChamber + .4byte SevenIsland_TanobyRuins_WeepthChamber + .4byte SevenIsland_TanobyRuins_DilfordChamber + .4byte SevenIsland_TanobyRuins_ScufibChamber + .4byte SevenIsland_TanobyRuins_RixyChamber + .4byte SevenIsland_TanobyRuins_ViapoisChamber + .4byte ThreeIsland_DunsparceTunnel + .4byte SevenIsland_SeavaultCanyon_TanobyKey + .4byte NavelRock_1F + .4byte NavelRock_Summit + .4byte NavelRock_Base + .4byte NavelRock_SummitPath_2F + .4byte NavelRock_SummitPath_3F + .4byte NavelRock_SummitPath_4F + .4byte NavelRock_SummitPath_5F + .4byte NavelRock_BasePath_B1F + .4byte NavelRock_BasePath_B2F + .4byte NavelRock_BasePath_B3F + .4byte NavelRock_BasePath_B4F + .4byte NavelRock_BasePath_B5F + .4byte NavelRock_BasePath_B6F + .4byte NavelRock_BasePath_B7F + .4byte NavelRock_BasePath_B8F + .4byte NavelRock_BasePath_B9F + .4byte NavelRock_BasePath_B10F + .4byte NavelRock_BasePath_B11F + .4byte NavelRock_B1F + .4byte NavelRock_Fork + .4byte BirthIsland_Exterior + .4byte OneIsland_KindleRoad_EmberSpa + .4byte BirthIsland_Harbor + .4byte NavelRock_Harbor gMapGroup_03:: @ 83522F4 - .4byte gMap_03_00 - .4byte gMap_03_01 - .4byte gMap_03_02 - .4byte gMap_03_03 - .4byte gMap_03_04 - .4byte gMap_03_05 - .4byte gMap_03_06 - .4byte gMap_03_07 - .4byte gMap_03_08 - .4byte gMap_03_09 - .4byte gMap_03_10 - .4byte gMap_03_11 - .4byte gMap_03_12 - .4byte gMap_03_13 - .4byte gMap_03_14 - .4byte gMap_03_15 - .4byte gMap_03_16 - .4byte gMap_03_17 - .4byte gMap_03_18 - .4byte gMap_03_19 - .4byte gMap_03_20 - .4byte gMap_03_21 - .4byte gMap_03_22 - .4byte gMap_03_23 - .4byte gMap_03_24 - .4byte gMap_03_25 - .4byte gMap_03_26 - .4byte gMap_03_27 - .4byte gMap_03_28 - .4byte gMap_03_29 - .4byte gMap_03_30 - .4byte gMap_03_31 - .4byte gMap_03_32 - .4byte gMap_03_33 - .4byte gMap_03_34 - .4byte gMap_03_35 - .4byte gMap_03_36 - .4byte gMap_03_37 - .4byte gMap_03_38 - .4byte gMap_03_39 - .4byte gMap_03_40 - .4byte gMap_03_41 - .4byte gMap_03_42 - .4byte gMap_03_43 - .4byte gMap_03_44 - .4byte gMap_03_45 - .4byte gMap_03_46 - .4byte gMap_03_47 - .4byte gMap_03_48 - .4byte gMap_03_49 - .4byte gMap_03_50 - .4byte gMap_03_51 - .4byte gMap_03_52 - .4byte gMap_03_53 - .4byte gMap_03_54 - .4byte gMap_03_55 - .4byte gMap_03_56 - .4byte gMap_03_57 - .4byte gMap_03_58 - .4byte gMap_03_59 - .4byte gMap_03_60 - .4byte gMap_03_61 - .4byte gMap_03_62 - .4byte gMap_03_63 - .4byte gMap_03_64 - .4byte gMap_03_65 + .4byte PalletTown + .4byte ViridianCity + .4byte PewterCity + .4byte CeruleanCity + .4byte LavenderTown + .4byte VermilionCity + .4byte CeladonCity + .4byte FuchsiaCity + .4byte CinnabarIsland + .4byte IndigoPlateau_Exterior + .4byte SaffronCity_Duplicate + .4byte SaffronCity + .4byte OneIsland + .4byte TwoIsland + .4byte ThreeIsland + .4byte FourIsland + .4byte FiveIsland + .4byte SevenIsland + .4byte SixIsland + .4byte Route1 + .4byte Route2 + .4byte Route3 + .4byte Route4 + .4byte Route5 + .4byte Route6 + .4byte Route7 + .4byte Route8 + .4byte Route9 + .4byte Route10 + .4byte Route11 + .4byte Route12 + .4byte Route13 + .4byte Route14 + .4byte Route15 + .4byte Route16 + .4byte Route17 + .4byte Route18 + .4byte Route19 + .4byte Route20 + .4byte Route21_North + .4byte Route21_South + .4byte Route22 + .4byte Route23 + .4byte Route24 + .4byte Route25 + .4byte OneIsland_KindleRoad + .4byte OneIsland_TreasureBeach + .4byte TwoIsland_CapeBrink + .4byte ThreeIsland_BondBridge + .4byte ThreeIsland_Port + .4byte UnknownMap_03_50 + .4byte UnknownMap_03_51 + .4byte UnknownMap_03_52 + .4byte UnknownMap_03_53 + .4byte FiveIsland_ResortGorgeous + .4byte FiveIsland_WaterLabyrinth + .4byte FiveIsland_Meadow + .4byte FiveIsland_MemorialPillar + .4byte SixIsland_OutcastIsland + .4byte SixIsland_GreenPath + .4byte SixIsland_WaterPath + .4byte SixIsland_RuinValley + .4byte SevenIsland_TrainerTower + .4byte SevenIsland_SevaultCanyon_Entrance + .4byte SevenIsland_SevaultCanyon + .4byte SevenIsland_TanobyRuins gMapGroup_04:: @ 83523FC - .4byte gMap_04_00 - .4byte gMap_04_01 - .4byte gMap_04_02 - .4byte gMap_04_03 + .4byte PalletTown_PlayersHouse_1F + .4byte PalletTown_PlayersHouse_2F + .4byte PalletTown_GarysHouse + .4byte PalletTown_ProfessorOaksLab gMapGroup_05:: @ 835240C - .4byte gMap_05_00 - .4byte gMap_05_01 - .4byte gMap_05_02 - .4byte gMap_05_03 - .4byte gMap_05_04 - .4byte gMap_05_05 + .4byte ViridianCity_House1 + .4byte ViridianCity_Gym + .4byte ViridianCity_House2 + .4byte ViridianCity_Mart + .4byte ViridianCity_PokemonCenter_1F + .4byte ViridianCity_PokemonCenter_2F gMapGroup_06:: @ 8352424 - .4byte gMap_06_00 - .4byte gMap_06_01 - .4byte gMap_06_02 - .4byte gMap_06_03 - .4byte gMap_06_04 - .4byte gMap_06_05 - .4byte gMap_06_06 - .4byte gMap_06_07 + .4byte PewterCity_Museum_1F + .4byte PewterCity_Museum_2F + .4byte PewterCity_Gym + .4byte PewterCity_Mart + .4byte PewterCity_House1 + .4byte PewterCity_PokemonCenter_1F + .4byte PewterCity_PokemonCenter_2F + .4byte PewterCity_House2 gMapGroup_07:: @ 8352444 - .4byte gMap_07_00 - .4byte gMap_07_01 - .4byte gMap_07_02 - .4byte gMap_07_03 - .4byte gMap_07_04 - .4byte gMap_07_05 - .4byte gMap_07_06 - .4byte gMap_07_07 - .4byte gMap_07_08 - .4byte gMap_07_09 + .4byte CeruleanCity_House1 + .4byte CeruleanCity_House2 + .4byte CeruleanCity_House3 + .4byte CeruleanCity_PokemonCenter_1F + .4byte CeruleanCity_PokemonCenter_2F + .4byte CeruleanCity_Gym + .4byte CeruleanCity_BikeShop + .4byte CeruleanCity_Mart + .4byte CeruleanCity_House4 + .4byte CeruleanCity_House5 gMapGroup_08:: @ 835246C - .4byte gMap_08_00 - .4byte gMap_08_01 - .4byte gMap_08_02 - .4byte gMap_08_03 - .4byte gMap_08_04 - .4byte gMap_08_05 + .4byte LavenderTown_PokemonCenter_1F + .4byte LavenderTown_PokemonCenter_2F + .4byte LavenderTown_VolunteerPokemonHouse + .4byte LavenderTown_House1 + .4byte LavenderTown_House2 + .4byte LavenderTown_Mart gMapGroup_09:: @ 8352484 - .4byte gMap_09_00 - .4byte gMap_09_01 - .4byte gMap_09_02 - .4byte gMap_09_03 - .4byte gMap_09_04 - .4byte gMap_09_05 - .4byte gMap_09_06 - .4byte gMap_09_07 + .4byte VermilionCity_House1 + .4byte VermilionCity_PokemonCenter_1F + .4byte VermilionCity_PokemonCenter_2F + .4byte VermilionCity_PokemonFanClub + .4byte VermilionCity_House2 + .4byte VermilionCity_Mart + .4byte VermilionCity_Gym + .4byte VermilionCity_House3 gMapGroup_10:: @ 83524A4 - .4byte gMap_10_00 - .4byte gMap_10_01 - .4byte gMap_10_02 - .4byte gMap_10_03 - .4byte gMap_10_04 - .4byte gMap_10_05 - .4byte gMap_10_06 - .4byte gMap_10_07 - .4byte gMap_10_08 - .4byte gMap_10_09 - .4byte gMap_10_10 - .4byte gMap_10_11 - .4byte gMap_10_12 - .4byte gMap_10_13 - .4byte gMap_10_14 - .4byte gMap_10_15 - .4byte gMap_10_16 - .4byte gMap_10_17 - .4byte gMap_10_18 - .4byte gMap_10_19 + .4byte CeladonCity_DepartmentStore_1F + .4byte CeladonCity_DepartmentStore_2F + .4byte CeladonCity_DepartmentStore_3F + .4byte CeladonCity_DepartmentStore_4F + .4byte CeladonCity_DepartmentStore_5F + .4byte CeladonCity_DepartmentStore_Roof + .4byte CeladonCity_DepartmentStore_Elevator + .4byte CeladonCity_Condominiums_1F + .4byte CeladonCity_Condominiums_2F + .4byte CeladonCity_Condominiums_3F + .4byte CeladonCity_Condominiums_Roof + .4byte CeladonCity_Condominiums_RoofRoom + .4byte CeladonCity_PokemonCenter_1F + .4byte CeladonCity_PokemonCenter_2F + .4byte CeladonCity_GameCorner + .4byte CeladonCity_GameCorner_PrizeRoom + .4byte CeladonCity_Gym + .4byte CeladonCity_Restaurant + .4byte CeladonCity_House1 + .4byte CeladonCity_Hotel gMapGroup_11:: @ 83524F4 - .4byte gMap_11_00 - .4byte gMap_11_01 - .4byte gMap_11_02 - .4byte gMap_11_03 - .4byte gMap_11_04 - .4byte gMap_11_05 - .4byte gMap_11_06 - .4byte gMap_11_07 - .4byte gMap_11_08 - .4byte gMap_11_09 + .4byte FuchsiaCity_SafariZone_Entrance + .4byte FuchsiaCity_Mart + .4byte FuchsiaCity_ZooBuilding + .4byte FuchsiaCity_Gym + .4byte FuchsiaCity_House1 + .4byte FuchsiaCity_PokemonCenter_1F + .4byte FuchsiaCity_PokemonCenter_2F + .4byte FuchsiaCity_Building1 + .4byte FuchsiaCity_House2 + .4byte FuchsiaCity_House3 gMapGroup_12:: @ 835251C - .4byte gMap_12_00 - .4byte gMap_12_01 - .4byte gMap_12_02 - .4byte gMap_12_03 - .4byte gMap_12_04 - .4byte gMap_12_05 - .4byte gMap_12_06 - .4byte gMap_12_07 + .4byte CinnabarIsland_Gym + .4byte CinnabarIsland_PokemonLab_Entrance + .4byte CinnabarIsland_PokemonLab_Lounge + .4byte CinnabarIsland_PokemonLab_ResearchRoom + .4byte CinnabarIsland_PokemonLab_ExperimentRoom + .4byte CinnabarIsland_PokemonCenter_1F + .4byte CinnabarIsland_PokemonCenter_2F + .4byte CinnabarIsland_Mart gMapGroup_13:: @ 835253C - .4byte gMap_13_00 - .4byte gMap_13_01 + .4byte IndigoPlateau_PokemonCenter_1F + .4byte IndigoPlateau_PokemonCenter_2F gMapGroup_14:: @ 8352544 - .4byte gMap_14_00 - .4byte gMap_14_01 - .4byte gMap_14_02 - .4byte gMap_14_03 - .4byte gMap_14_04 - .4byte gMap_14_05 - .4byte gMap_14_06 - .4byte gMap_14_07 - .4byte gMap_14_08 - .4byte gMap_14_09 + .4byte SaffronCity_House1_1F + .4byte SaffronCity_House1_2F + .4byte SaffronCity_Dojo + .4byte SaffronCity_Gym + .4byte SaffronCity_House2 + .4byte SaffronCity_Mart + .4byte SaffronCity_PokemonCenter_1F + .4byte SaffronCity_PokemonCenter_2F + .4byte SaffronCity_House3 + .4byte SaffronCity_PokemonTrainerFanClub gMapGroup_15:: @ 835256C - .4byte gMap_15_00 - .4byte gMap_15_01 - .4byte gMap_15_02 - .4byte gMap_15_03 + .4byte Route2_ViridianForest_SouthEntrance + .4byte Route2_House + .4byte Route2_EastBuilding + .4byte Route2_ViridianForest_NorthEntrance gMapGroup_16:: @ 835257C - .4byte gMap_16_00 - .4byte gMap_16_01 + .4byte Route4_PokemonCenter_1F + .4byte Route4_PokemonCenter_2F gMapGroup_17:: @ 8352584 - .4byte gMap_17_00 - .4byte gMap_17_01 + .4byte Route5_PokemonDayCare + .4byte Route5_SouthEntrance gMapGroup_18:: @ 835258C - .4byte gMap_18_00 - .4byte gMap_18_01 + .4byte Route6_NorthEntrance + .4byte UnknownMap_18_01 gMapGroup_19:: @ 8352594 - .4byte gMap_19_00 + .4byte Route7_EastEntrance gMapGroup_20:: @ 8352598 - .4byte gMap_20_00 + .4byte Route8_WestEntrance gMapGroup_21:: @ 835259C - .4byte gMap_21_00 - .4byte gMap_21_01 + .4byte Route10_PokemonCenter_1F + .4byte Route10_PokemonCenter_2F gMapGroup_22:: @ 83525A4 - .4byte gMap_22_00 - .4byte gMap_22_01 + .4byte Route11_EastEntrance_1F + .4byte Route11_EastEntrance_2F gMapGroup_23:: @ 83525AC - .4byte gMap_23_00 - .4byte gMap_23_01 - .4byte gMap_23_02 + .4byte Route12_NorthEntrance_1F + .4byte Route12_NorthEntrance_2F + .4byte Route12_FishingHouse gMapGroup_24:: @ 83525B8 - .4byte gMap_24_00 - .4byte gMap_24_01 + .4byte Route15_WestEntrance_1F + .4byte Route15_WestEntrance_2F gMapGroup_25:: @ 83525C0 - .4byte gMap_25_00 - .4byte gMap_25_01 - .4byte gMap_25_02 + .4byte Route16_House + .4byte Route16_NorthEntrance_1F + .4byte Route16_NorthEntrance_2F gMapGroup_26:: @ 83525CC - .4byte gMap_26_00 - .4byte gMap_26_01 + .4byte Route18_EastEntrance_1F + .4byte Route18_EastEntrance_2F gMapGroup_27:: @ 83525D4 - .4byte gMap_27_00 + .4byte UnusedHouse_27_00 gMapGroup_28:: @ 83525D8 - .4byte gMap_28_00 + .4byte Route22_NorthEntrance gMapGroup_29:: @ 83525DC - .4byte gMap_29_00 + .4byte UnusedHouse_29_00 gMapGroup_30:: @ 83525E0 - .4byte gMap_30_00 + .4byte Route25_SeaCottage gMapGroup_31:: @ 83525E4 - .4byte gMap_31_00 - .4byte gMap_31_01 - .4byte gMap_31_02 - .4byte gMap_31_03 - .4byte gMap_31_04 - .4byte gMap_31_05 - .4byte gMap_31_06 + .4byte SevenIsland_House_Room1 + .4byte SevenIsland_House_Room2 + .4byte SevenIsland_Mart + .4byte SevenIsland_PokemonCenter_1F + .4byte SevenIsland_PokemonCenter_2F + .4byte UnusedHouse_31_05 + .4byte SevenIsland_Harbor gMapGroup_32:: @ 8352600 - .4byte gMap_32_00 - .4byte gMap_32_01 - .4byte gMap_32_02 - .4byte gMap_32_03 - .4byte gMap_32_04 + .4byte OneIsland_PokemonCenter_1F + .4byte OneIsland_PokemonCenter_2F + .4byte OneIsland_House1 + .4byte OneIsland_House2 + .4byte OneIsland_Harbor gMapGroup_33:: @ 8352614 - .4byte gMap_33_00 - .4byte gMap_33_01 - .4byte gMap_33_02 - .4byte gMap_33_03 - .4byte gMap_33_04 + .4byte TwoIsland_JoyfulGameCorner + .4byte TwoIsland_House + .4byte TwoIsland_PokemonCenter_1F + .4byte TwoIsland_PokemonCenter_2F + .4byte TwoIsland_Harbor gMapGroup_34:: @ 8352628 - .4byte gMap_34_00 - .4byte gMap_34_01 - .4byte gMap_34_02 - .4byte gMap_34_03 - .4byte gMap_34_04 - .4byte gMap_34_05 - .4byte gMap_34_06 - .4byte gMap_34_07 + .4byte ThreeIsland_House1 + .4byte ThreeIsland_PokemonCenter_1F + .4byte ThreeIsland_PokemonCenter_2F + .4byte ThreeIsland_Mart + .4byte ThreeIsland_House2 + .4byte ThreeIsland_House3 + .4byte ThreeIsland_House4 + .4byte ThreeIsland_House5 gMapGroup_35:: @ 8352648 - .4byte gMap_35_00 - .4byte gMap_35_01 - .4byte gMap_35_02 - .4byte gMap_35_03 - .4byte gMap_35_04 - .4byte gMap_35_05 - .4byte gMap_35_06 - .4byte gMap_35_07 + .4byte FourIsland_PokemonDayCare + .4byte FourIsland_PokemonCenter_1F + .4byte FourIsland_PokemonCenter_2F + .4byte FourIsland_House1 + .4byte FourIsland_LoreleisHouse + .4byte FourIsland_Harbor + .4byte FourIsland_House2 + .4byte FourIsland_Mart gMapGroup_36:: @ 8352668 - .4byte gMap_36_00 - .4byte gMap_36_01 - .4byte gMap_36_02 - .4byte gMap_36_03 - .4byte gMap_36_04 + .4byte FiveIsland_PokemonCenter_1F + .4byte FiveIsland_PokemonCenter_2F + .4byte FiveIsland_Harbor + .4byte FiveIsland_House1 + .4byte FiveIsland_House2 gMapGroup_37:: @ 835267C - .4byte gMap_37_00 - .4byte gMap_37_01 - .4byte gMap_37_02 - .4byte gMap_37_03 - .4byte gMap_37_04 + .4byte SixIsland_PokemonCenter_1F + .4byte SixIsland_PokemonCenter_2F + .4byte SixIsland_Harbor + .4byte SixIsland_House + .4byte SixIsland_Mart gMapGroup_38:: @ 8352690 - .4byte gMap_38_00 + .4byte ThreeIsland_Harbor gMapGroup_39:: @ 8352694 - .4byte gMap_39_00 + .4byte FiveIsland_ResortGorgeous_House gMapGroup_40:: @ 8352698 - .4byte gMap_40_00 + .4byte TwoIsland_CapeBrink_House gMapGroup_41:: @ 835269C - .4byte gMap_41_00 - .4byte gMap_41_01 + .4byte SixIsland_WaterPath_House1 + .4byte SixIsland_WaterPath_House2 gMapGroup_42:: @ 83526A4 - .4byte gMap_42_00 + .4byte SevenIsland_SevaultCanyon_House gMapGroups:: @ 0x83526A8 .4byte gMapGroup_00 diff --git a/data/menu_indicators.s b/data/menu_indicators.s new file mode 100644 index 000000000..dd8911c7d --- /dev/null +++ b/data/menu_indicators.s @@ -0,0 +1,46 @@ + .section .rodata + .align 2 +gUnknown_846325C:: @ 846325C + .incbin "baserom.gba", 0x46325C, 0x48 + +gUnknown_84632A4:: @ 84632A4 + .incbin "baserom.gba", 0x4632A4, 0x18 + +gUnknown_84632BC:: @ 84632BC + .incbin "baserom.gba", 0x4632BC, 0x4 + +gUnknown_84632C0:: @ 84632C0 + .incbin "baserom.gba", 0x4632C0, 0x4 + +gUnknown_84632C4:: @ 84632C4 + .incbin "baserom.gba", 0x4632C4, 0x4 + +gUnknown_84632C8:: @ 84632C8 + .incbin "baserom.gba", 0x4632C8, 0x4 + +gUnknown_84632CC:: @ 84632CC + .incbin "baserom.gba", 0x4632CC, 0x4 + +gUnknown_84632D0:: @ 84632D0 + .incbin "baserom.gba", 0x4632D0, 0x4 + +gUnknown_84632D4:: @ 84632D4 + .incbin "baserom.gba", 0x4632D4, 0x4 + +gUnknown_84632D8:: @ 84632D8 + .incbin "baserom.gba", 0x4632D8, 0x18 + +gUnknown_84632F0:: @ 84632F0 + .incbin "baserom.gba", 0x4632F0, 0x18 + +gUnknown_8463308:: @ 8463308 + .incbin "baserom.gba", 0x463308, 0x20 + +gUnknown_8463328:: @ 8463328 + .incbin "baserom.gba", 0x463328, 0x70 + +gUnknown_8463398:: @ 8463398 + .incbin "baserom.gba", 0x463398, 0x40 + +gUnknown_84633D8:: @ 84633D8 + .incbin "baserom.gba", 0x4633D8, 0x44 diff --git a/data/mystery_gift_menu.s b/data/mystery_gift_menu.s new file mode 100644 index 000000000..9caee4467 --- /dev/null +++ b/data/mystery_gift_menu.s @@ -0,0 +1,14 @@ + .section .rodata + .align 2 + +gUnknown_8466D10:: @ 8466D10 + .incbin "baserom.gba", 0x466D10, 0x20 + +gUnknown_8466D30:: @ 8466D30 + .incbin "baserom.gba", 0x466D30, 0x30 + +gUnknown_8466D60:: @ 8466D60 + .incbin "baserom.gba", 0x466D60, 0x10 + +gUnknown_8466D70:: @ 8466D70 + .incbin "baserom.gba", 0x466D70, 0x20 diff --git a/data/oak_speech/help_docs_page2_tilemap.bin b/data/oak_speech/help_docs_page2_tilemap.bin Binary files differnew file mode 100644 index 000000000..6d3cd42f1 --- /dev/null +++ b/data/oak_speech/help_docs_page2_tilemap.bin diff --git a/data/oak_speech/help_docs_page3_tilemap.bin b/data/oak_speech/help_docs_page3_tilemap.bin Binary files differnew file mode 100644 index 000000000..24805c96e --- /dev/null +++ b/data/oak_speech/help_docs_page3_tilemap.bin diff --git a/data/oak_speech/help_docs_palette.pal b/data/oak_speech/help_docs_palette.pal new file mode 100644 index 000000000..b6905b913 --- /dev/null +++ b/data/oak_speech/help_docs_palette.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +16 115 230 +65 139 131 +82 148 139 +106 164 156 +131 180 172 +156 197 189 +180 213 205 +205 230 222 +230 246 238 +255 0 255 +255 0 255 +0 90 16 +255 0 0 +49 82 205 +255 255 255 +32 32 32 +16 115 230 +255 255 164 +255 255 106 +222 222 90 +189 189 74 +156 156 57 +156 156 57 +123 123 49 +90 90 32 +57 57 16 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +255 0 0 +0 0 0 +238 230 172 +115 180 197 +156 213 238 +205 238 246 +246 255 255 +230 246 246 +106 106 106 +74 82 106 +82 98 180 +230 246 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 74 139 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 0 255 +123 123 123 +172 172 156 +197 197 197 +222 222 222 +238 238 238 +255 255 255 diff --git a/data/oak_speech/new_game_adventure_intro_tilemap.bin b/data/oak_speech/new_game_adventure_intro_tilemap.bin new file mode 100644 index 000000000..ad1c8216c --- /dev/null +++ b/data/oak_speech/new_game_adventure_intro_tilemap.bin @@ -0,0 +1,2 @@ +^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ((((((((((((((((((((((((((` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ((((((((((((((((((((((((((` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` a b c d e f ` ((((((((((((((((((((p q r s t u v ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` g h i j k l m ` ((((((((((((((((((((w x y z { | } ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` n o ` ~ +
\ No newline at end of file diff --git a/data/oak_speech/oak_speech_background_tilemap.bin b/data/oak_speech/oak_speech_background_tilemap.bin Binary files differnew file mode 100644 index 000000000..64374cd24 --- /dev/null +++ b/data/oak_speech/oak_speech_background_tilemap.bin diff --git a/data/oak_speech/oak_speech_gfx_game_start_help_u_i.png b/data/oak_speech/oak_speech_gfx_game_start_help_u_i.png Binary files differnew file mode 100644 index 000000000..419858b1b --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_game_start_help_u_i.png diff --git a/data/oak_speech/oak_speech_gfx_grass_platform.png b/data/oak_speech/oak_speech_gfx_grass_platform.png Binary files differnew file mode 100644 index 000000000..2c8e425d2 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_grass_platform.png diff --git a/data/oak_speech/oak_speech_gfx_leaf_pal.pal b/data/oak_speech/oak_speech_gfx_leaf_pal.pal new file mode 100644 index 000000000..feb1214a1 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_leaf_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +115 197 164 +255 238 205 +246 205 180 +213 164 148 +172 131 106 +106 74 65 +205 164 139 +164 123 98 +115 74 49 +74 41 16 +222 222 222 +180 180 180 +131 131 131 +82 82 90 +41 41 49 +255 255 255 +0 0 0 +131 189 213 +106 156 180 +82 131 156 +49 90 115 +32 65 90 +0 0 255 +255 255 189 +222 222 82 +172 172 57 +98 98 0 +213 131 123 +189 106 98 +164 82 74 +139 57 49 +98 24 16 diff --git a/data/oak_speech/oak_speech_gfx_leaf_pic.png b/data/oak_speech/oak_speech_gfx_leaf_pic.png Binary files differnew file mode 100644 index 000000000..1825f9960 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_leaf_pic.png diff --git a/data/oak_speech/oak_speech_gfx_oak_pal.pal b/data/oak_speech/oak_speech_gfx_oak_pal.pal new file mode 100644 index 000000000..a0b648b2b --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_oak_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +115 197 164 +255 230 205 +222 189 156 +197 148 115 +106 74 65 +238 222 148 +205 189 115 +172 156 90 +139 123 65 +98 90 49 +255 0 255 +205 205 222 +123 131 156 +57 74 106 +255 255 255 +0 0 0 +0 0 255 +172 148 222 +131 115 172 +82 65 115 +230 222 180 +205 197 156 +180 172 139 +164 156 123 +123 115 90 +82 57 49 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/data/oak_speech/oak_speech_gfx_oak_pic.png b/data/oak_speech/oak_speech_gfx_oak_pic.png Binary files differnew file mode 100644 index 000000000..9ac602944 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_oak_pic.png diff --git a/data/oak_speech/oak_speech_gfx_pika1.png b/data/oak_speech/oak_speech_gfx_pika1.png Binary files differnew file mode 100644 index 000000000..71644c355 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_pika1.png diff --git a/data/oak_speech/oak_speech_gfx_pika2.png b/data/oak_speech/oak_speech_gfx_pika2.png Binary files differnew file mode 100644 index 000000000..e85cbfa9c --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_pika2.png diff --git a/data/oak_speech/oak_speech_gfx_pika_eyes.png b/data/oak_speech/oak_speech_gfx_pika_eyes.png Binary files differnew file mode 100644 index 000000000..5e2fd80c0 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_pika_eyes.png diff --git a/data/oak_speech/oak_speech_gfx_red_pal.pal b/data/oak_speech/oak_speech_gfx_red_pal.pal new file mode 100644 index 000000000..7eec09831 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_red_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +115 197 164 +255 230 205 +222 189 156 +197 148 131 +148 106 90 +106 74 65 +205 164 139 +164 123 98 +115 74 49 +82 65 32 +222 222 222 +180 180 180 +131 131 131 +82 82 90 +57 57 65 +255 255 255 +0 0 0 +131 189 213 +106 156 180 +82 131 156 +49 90 115 +32 65 90 +0 0 255 +238 238 74 +205 205 49 +164 164 32 +98 98 0 +213 131 123 +189 106 98 +164 82 74 +139 57 49 +98 24 16 diff --git a/data/oak_speech/oak_speech_gfx_red_pic.png b/data/oak_speech/oak_speech_gfx_red_pic.png Binary files differnew file mode 100644 index 000000000..edf5cf9b1 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_red_pic.png diff --git a/data/oak_speech/oak_speech_gfx_rival_pal.pal b/data/oak_speech/oak_speech_gfx_rival_pal.pal new file mode 100644 index 000000000..8240527a6 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_rival_pal.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +115 197 164 +255 230 205 +222 189 156 +197 148 115 +106 74 65 +238 189 74 +213 156 57 +189 123 41 +139 82 41 +164 123 106 +222 222 222 +197 197 197 +139 139 139 +98 98 98 +65 65 65 +255 255 255 +0 0 0 +180 148 180 +139 106 139 +106 74 106 +82 49 82 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +246 131 131 +205 82 82 diff --git a/data/oak_speech/oak_speech_gfx_rival_pic.png b/data/oak_speech/oak_speech_gfx_rival_pic.png Binary files differnew file mode 100644 index 000000000..317cbc038 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_rival_pic.png diff --git a/data/oak_speech/oak_speech_gfx_solid_colors.png b/data/oak_speech/oak_speech_gfx_solid_colors.png Binary files differnew file mode 100644 index 000000000..30066cdd8 --- /dev/null +++ b/data/oak_speech/oak_speech_gfx_solid_colors.png diff --git a/data/oak_speech/oak_speech_grass_platform_palette.pal b/data/oak_speech/oak_speech_grass_platform_palette.pal new file mode 100644 index 000000000..4fb339128 --- /dev/null +++ b/data/oak_speech/oak_speech_grass_platform_palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 189 164 +65 139 131 +82 148 139 +106 164 156 +131 180 172 +156 197 189 +180 213 205 +205 230 222 +230 246 238 +0 0 0 +255 0 255 +139 189 164 +156 205 172 +180 222 197 +205 238 222 +115 172 156 diff --git a/data/oak_speech/oak_speech_pika_palette.pal b/data/oak_speech/oak_speech_pika_palette.pal new file mode 100644 index 000000000..4d2e92c74 --- /dev/null +++ b/data/oak_speech/oak_speech_pika_palette.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +205 205 180 +255 255 255 +255 246 106 +246 213 0 +238 172 0 +197 139 0 +131 82 0 +255 0 255 +255 0 255 +180 180 180 +255 74 74 +230 0 0 +180 0 0 +106 106 106 +16 16 16 +255 0 255 diff --git a/data/palette.s b/data/palette.s new file mode 100644 index 000000000..67a6fcb0c --- /dev/null +++ b/data/palette.s @@ -0,0 +1,7 @@ + .section .rodata + .align 2 +gUnknown_83AC960:: @ 83AC960 + .incbin "baserom.gba", 0x3AC960, 0x10 + +gUnknown_83AC970:: @ 83AC970 + .incbin "baserom.gba", 0x3AC970, 0x20 diff --git a/data/pokedex_area_markers.s b/data/pokedex_area_markers.s new file mode 100644 index 000000000..bf63a3210 --- /dev/null +++ b/data/pokedex_area_markers.s @@ -0,0 +1,14 @@ + .section .rodata + .align 2 + +gUnknown_846341C:: @ 846341C + .incbin "baserom.gba", 0x46341C, 0x20 + +gUnknown_846343C:: @ 846343C + .incbin "baserom.gba", 0x46343C, 0x128 + +gUnknown_8463564:: @ 8463564 + .incbin "baserom.gba", 0x463564, 0x1C + +gUnknown_8463580:: @ 8463580 + .incbin "baserom.gba", 0x463580, 0x140 diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s new file mode 100644 index 000000000..be7c0de93 --- /dev/null +++ b/data/pokemon_summary_screen.s @@ -0,0 +1,134 @@ + .section .rodata + .align 2 + +gUnknown_84636C0:: @ 84636C0 + .incbin "baserom.gba", 0x4636C0, 0x20 + +gUnknown_84636E0:: @ 84636E0 + .incbin "baserom.gba", 0x4636E0, 0x20 + +gUnknown_8463700:: @ 8463700 + .incbin "baserom.gba", 0x463700, 0x20 + +gUnknown_8463720:: @ 8463720 + .incbin "baserom.gba", 0x463720, 0x20 + +gUnknown_8463740:: @ 8463740 + .incbin "baserom.gba", 0x463740, 0x12C + +gUnknown_846386C:: @ 846386C + .incbin "baserom.gba", 0x46386C, 0x120 + +gUnknown_846398C:: @ 846398C + .incbin "baserom.gba", 0x46398C, 0x18 + +gUnknown_84639A4:: @ 84639A4 + .incbin "baserom.gba", 0x4639A4, 0x8 + +gUnknown_84639AC:: @ 84639AC + .incbin "baserom.gba", 0x4639AC, 0x48 + +gUnknown_84639F4:: @ 84639F4 + .incbin "baserom.gba", 0x4639F4, 0x20 + +gUnknown_8463A14:: @ 8463A14 + .incbin "baserom.gba", 0x463A14, 0x68 + +gUnknown_8463A7C:: @ 8463A7C + .incbin "baserom.gba", 0x463A7C, 0x70 + +gUnknown_8463AEC:: @ 8463AEC + .incbin "baserom.gba", 0x463AEC, 0x10 + +gUnknown_8463AFC:: @ 8463AFC + .incbin "baserom.gba", 0x463AFC, 0x4 + +gUnknown_8463B00:: @ 8463B00 + .incbin "baserom.gba", 0x463B00, 0x20 + +gUnknown_8463B20:: @ 8463B20 + .incbin "baserom.gba", 0x463B20, 0x10 + +gUnknown_8463B30:: @ 8463B30 + .incbin "baserom.gba", 0x463B30, 0x10 + +gUnknown_8463B40:: @ 8463B40 + .incbin "baserom.gba", 0x463B40, 0x4 + +gUnknown_8463B44:: @ 8463B44 + .incbin "baserom.gba", 0x463B44, 0x20 + +gUnknown_8463B64:: @ 8463B64 + .incbin "baserom.gba", 0x463B64, 0x24 + +gUnknown_8463B88:: @ 8463B88 + .incbin "baserom.gba", 0x463B88, 0xF8 + +gUnknown_8463C80:: @ 8463C80 + .incbin "baserom.gba", 0x463C80, 0x1E0 + +gUnknown_8463E60:: @ 8463E60 + .incbin "baserom.gba", 0x463E60, 0x64 + +gUnknown_8463EC4:: @ 8463EC4 + .incbin "baserom.gba", 0x463EC4, 0x10 + +gUnknown_8463ED4:: @ 8463ED4 + .incbin "baserom.gba", 0x463ED4, 0x1C + +gUnknown_8463EF0:: @ 8463EF0 + .incbin "baserom.gba", 0x463EF0, 0xC + +gUnknown_8463EFC:: @ 8463EFC + .incbin "baserom.gba", 0x463EFC, 0x10 + +gUnknown_8463F0C:: @ 8463F0C + .incbin "baserom.gba", 0x463F0C, 0x18 + +gUnknown_8463F24:: @ 8463F24 + .incbin "baserom.gba", 0x463F24, 0x18 + +gUnknown_8463F3C:: @ 8463F3C + .incbin "baserom.gba", 0x463F3C, 0x20 + +gUnknown_8463F5C:: @ 8463F5C + .incbin "baserom.gba", 0x463F5C, 0x20 + +gUnknown_8463F7C:: @ 8463F7C + .incbin "baserom.gba", 0x463F7C, 0x20 + +gUnknown_8463F9C:: @ 8463F9C + .incbin "baserom.gba", 0x463F9C, 0x8 + +gUnknown_8463FA4:: @ 8463FA4 + .incbin "baserom.gba", 0x463FA4, 0x3 + +gUnknown_8463FA7:: @ 8463FA7 + .incbin "baserom.gba", 0x463FA7, 0x11 + +gUnknown_8463FB8:: @ 8463FB8 + .incbin "baserom.gba", 0x463FB8, 0x6 + +gUnknown_8463FBE:: @ 8463FBE + .incbin "baserom.gba", 0x463FBE, 0x3 + +gUnknown_8463FC1:: @ 8463FC1 + .incbin "baserom.gba", 0x463FC1, 0x5 + +gUnknown_8463FC6:: @ 8463FC6 + .incbin "baserom.gba", 0x463FC6, 0x7 + +gUnknown_8463FCD:: @ 8463FCD + .incbin "baserom.gba", 0x463FCD, 0x7 + +gUnknown_8463FD4:: @ 8463FD4 + .incbin "baserom.gba", 0x463FD4, 0xB + +gUnknown_8463FDF:: @ 8463FDF + .incbin "baserom.gba", 0x463FDF, 0xB + +gUnknown_8463FEA:: @ 8463FEA + .incbin "baserom.gba", 0x463FEA, 0x12 + +gUnknown_8463FFC:: @ 8463FFC + .incbin "baserom.gba", 0x463FFC, 0xC diff --git a/data/slot_machine.s b/data/slot_machine.s new file mode 100644 index 000000000..dac396602 --- /dev/null +++ b/data/slot_machine.s @@ -0,0 +1,94 @@ + .section .rodata + .align 2 +gUnknown_8464890:: @ 8464890 + .incbin "baserom.gba", 0x464890, 0x1E + +gUnknown_84648AE:: @ 84648AE + .incbin "baserom.gba", 0x4648AE, 0xF + +gUnknown_84648BD:: @ 84648BD + .incbin "baserom.gba", 0x4648BD, 0x15 + +gUnknown_84648D2:: @ 84648D2 + .incbin "baserom.gba", 0x4648D2, 0x54 + +gUnknown_8464926:: @ 8464926 + .incbin "baserom.gba", 0x464926, 0x40 + +gUnknown_8464966:: @ 8464966 + .incbin "baserom.gba", 0x464966, 0xC4A + +gUnknown_84655B0:: @ 84655B0 + .incbin "baserom.gba", 0x4655B0, 0x18 + +gUnknown_84655C8:: @ 84655C8 + .incbin "baserom.gba", 0x4655C8, 0x40 + +gUnknown_8465608:: @ 8465608 + .incbin "baserom.gba", 0x465608, 0xE + +gUnknown_8465616:: @ 8465616 + .incbin "baserom.gba", 0x465616, 0xC0 + +gUnknown_84656D6:: @ 84656D6 + .incbin "baserom.gba", 0x4656D6, 0x10E + +gUnknown_84657E4:: @ 84657E4 + .incbin "baserom.gba", 0x4657E4, 0x98 + +gUnknown_846587C:: @ 846587C + .incbin "baserom.gba", 0x46587C, 0x5C + +gUnknown_84658D8:: @ 84658D8 + .incbin "baserom.gba", 0x4658D8, 0x18 + +gUnknown_84658F0:: @ 84658F0 + .incbin "baserom.gba", 0x4658F0, 0x40 + +gUnknown_8465930:: @ 8465930 + .incbin "baserom.gba", 0x465930, 0x20 + +gUnknown_8465950:: @ 8465950 + .incbin "baserom.gba", 0x465950, 0x80 + +gUnknown_84659D0:: @ 84659D0 + .incbin "baserom.gba", 0x4659D0, 0x804 + +gUnknown_84661D4:: @ 84661D4 + .incbin "baserom.gba", 0x4661D4, 0x2E8 + +gUnknown_84664BC:: @ 84664BC + .incbin "baserom.gba", 0x4664BC, 0x20 + +gUnknown_84664DC:: @ 84664DC + .incbin "baserom.gba", 0x4664DC, 0x60 + +gUnknown_846653C:: @ 846653C + .incbin "baserom.gba", 0x46653C, 0x84 + +gUnknown_84665C0:: @ 84665C0 + .incbin "baserom.gba", 0x4665C0, 0x60 + +gUnknown_8466620:: @ 8466620 + .incbin "baserom.gba", 0x466620, 0x378 + +gUnknown_8466998:: @ 8466998 + .incbin "baserom.gba", 0x466998, 0x178 + +gUnknown_8466B10:: @ 8466B10 + .incbin "baserom.gba", 0x466B10, 0x10 + +gUnknown_8466B20:: @ 8466B20 + .incbin "baserom.gba", 0x466B20, 0xEC + +gUnknown_8466C0C:: @ 8466C0C + .incbin "baserom.gba", 0x466C0C, 0x28 + +gUnknown_8466C34:: @ 8466C34 + .incbin "baserom.gba", 0x466C34, 0x4 + +gUnknown_8466C38:: @ 8466C38 + .incbin "baserom.gba", 0x466C38, 0x8 + +gUnknown_8466C40:: @ 8466C40 + .incbin "baserom.gba", 0x466C40, 0x18 diff --git a/data/specials.inc b/data/specials.inc index 56b666207..33cc5736b 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -306,7 +306,7 @@ gSpecials:: @ 815FD60 def_special ScrSpecial_AreLeadMonEVsMaxedOut def_special sub_8069740 def_special sub_8069768 - def_special sub_8141D9C + def_special InitRoamer def_special nullsub_75 def_special sub_80CA804 def_special nullsub_75 @@ -363,7 +363,7 @@ gSpecials:: @ 815FD60 def_special GetDaycarePokemonCount def_special sub_80CB63C def_special sub_80CBD80 - def_special sub_80CBDB0 + def_special ScrSpecial_GetStarter def_special sub_80CBDCC def_special sub_810C444 def_special sub_80CC7B4 diff --git a/data/start_menu.s b/data/start_menu.s new file mode 100644 index 000000000..e004a6628 --- /dev/null +++ b/data/start_menu.s @@ -0,0 +1,28 @@ + .section .rodata + .align 2 +gUnknown_83A7344:: @ 83A7344 + .incbin "baserom.gba", 0x3A7344, 0x48 + +gUnknown_83A738C:: @ 83A738C + .incbin "baserom.gba", 0x3A738C, 0x8 + +gUnknown_83A7394:: @ 83A7394 + .incbin "baserom.gba", 0x3A7394, 0x24 + +gUnknown_83A73B8:: @ 83A73B8 + .incbin "baserom.gba", 0x3A73B8, 0x4 + +gUnknown_83A73BC:: @ 83A73BC + .incbin "baserom.gba", 0x3A73BC, 0x10 + +gUnknown_83A73CC:: @ 83A73CC + .incbin "baserom.gba", 0x3A73CC, 0x8 + +gUnknown_83A73D4:: @ 83A73D4 + .incbin "baserom.gba", 0x3A73D4, 0x4 + +gUnknown_83A73D8:: @ 83A73D8 + .incbin "baserom.gba", 0x3A73D8, 0x4 + +gUnknown_83A73DC:: @ 83A73DC + .incbin "baserom.gba", 0x3A73DC, 0x284 diff --git a/data/text/species_names.inc b/data/text/species_names.inc new file mode 100644 index 000000000..a593ab3a2 --- /dev/null +++ b/data/text/species_names.inc @@ -0,0 +1,412 @@ + .string "??????????$", 11 + .string "BULBASAUR$", 11 + .string "IVYSAUR$", 11 + .string "VENUSAUR$", 11 + .string "CHARMANDER$", 11 + .string "CHARMELEON$", 11 + .string "CHARIZARD$", 11 + .string "SQUIRTLE$", 11 + .string "WARTORTLE$", 11 + .string "BLASTOISE$", 11 + .string "CATERPIE$", 11 + .string "METAPOD$", 11 + .string "BUTTERFREE$", 11 + .string "WEEDLE$", 11 + .string "KAKUNA$", 11 + .string "BEEDRILL$", 11 + .string "PIDGEY$", 11 + .string "PIDGEOTTO$", 11 + .string "PIDGEOT$", 11 + .string "RATTATA$", 11 + .string "RATICATE$", 11 + .string "SPEAROW$", 11 + .string "FEAROW$", 11 + .string "EKANS$", 11 + .string "ARBOK$", 11 + .string "PIKACHU$", 11 + .string "RAICHU$", 11 + .string "SANDSHREW$", 11 + .string "SANDSLASH$", 11 + .string "NIDORAN♀$", 11 + .string "NIDORINA$", 11 + .string "NIDOQUEEN$", 11 + .string "NIDORAN♂$", 11 + .string "NIDORINO$", 11 + .string "NIDOKING$", 11 + .string "CLEFAIRY$", 11 + .string "CLEFABLE$", 11 + .string "VULPIX$", 11 + .string "NINETALES$", 11 + .string "JIGGLYPUFF$", 11 + .string "WIGGLYTUFF$", 11 + .string "ZUBAT$", 11 + .string "GOLBAT$", 11 + .string "ODDISH$", 11 + .string "GLOOM$", 11 + .string "VILEPLUME$", 11 + .string "PARAS$", 11 + .string "PARASECT$", 11 + .string "VENONAT$", 11 + .string "VENOMOTH$", 11 + .string "DIGLETT$", 11 + .string "DUGTRIO$", 11 + .string "MEOWTH$", 11 + .string "PERSIAN$", 11 + .string "PSYDUCK$", 11 + .string "GOLDUCK$", 11 + .string "MANKEY$", 11 + .string "PRIMEAPE$", 11 + .string "GROWLITHE$", 11 + .string "ARCANINE$", 11 + .string "POLIWAG$", 11 + .string "POLIWHIRL$", 11 + .string "POLIWRATH$", 11 + .string "ABRA$", 11 + .string "KADABRA$", 11 + .string "ALAKAZAM$", 11 + .string "MACHOP$", 11 + .string "MACHOKE$", 11 + .string "MACHAMP$", 11 + .string "BELLSPROUT$", 11 + .string "WEEPINBELL$", 11 + .string "VICTREEBEL$", 11 + .string "TENTACOOL$", 11 + .string "TENTACRUEL$", 11 + .string "GEODUDE$", 11 + .string "GRAVELER$", 11 + .string "GOLEM$", 11 + .string "PONYTA$", 11 + .string "RAPIDASH$", 11 + .string "SLOWPOKE$", 11 + .string "SLOWBRO$", 11 + .string "MAGNEMITE$", 11 + .string "MAGNETON$", 11 + .string "FARFETCH’D$", 11 + .string "DODUO$", 11 + .string "DODRIO$", 11 + .string "SEEL$", 11 + .string "DEWGONG$", 11 + .string "GRIMER$", 11 + .string "MUK$", 11 + .string "SHELLDER$", 11 + .string "CLOYSTER$", 11 + .string "GASTLY$", 11 + .string "HAUNTER$", 11 + .string "GENGAR$", 11 + .string "ONIX$", 11 + .string "DROWZEE$", 11 + .string "HYPNO$", 11 + .string "KRABBY$", 11 + .string "KINGLER$", 11 + .string "VOLTORB$", 11 + .string "ELECTRODE$", 11 + .string "EXEGGCUTE$", 11 + .string "EXEGGUTOR$", 11 + .string "CUBONE$", 11 + .string "MAROWAK$", 11 + .string "HITMONLEE$", 11 + .string "HITMONCHAN$", 11 + .string "LICKITUNG$", 11 + .string "KOFFING$", 11 + .string "WEEZING$", 11 + .string "RHYHORN$", 11 + .string "RHYDON$", 11 + .string "CHANSEY$", 11 + .string "TANGELA$", 11 + .string "KANGASKHAN$", 11 + .string "HORSEA$", 11 + .string "SEADRA$", 11 + .string "GOLDEEN$", 11 + .string "SEAKING$", 11 + .string "STARYU$", 11 + .string "STARMIE$", 11 + .string "MR. MIME$", 11 + .string "SCYTHER$", 11 + .string "JYNX$", 11 + .string "ELECTABUZZ$", 11 + .string "MAGMAR$", 11 + .string "PINSIR$", 11 + .string "TAUROS$", 11 + .string "MAGIKARP$", 11 + .string "GYARADOS$", 11 + .string "LAPRAS$", 11 + .string "DITTO$", 11 + .string "EEVEE$", 11 + .string "VAPOREON$", 11 + .string "JOLTEON$", 11 + .string "FLAREON$", 11 + .string "PORYGON$", 11 + .string "OMANYTE$", 11 + .string "OMASTAR$", 11 + .string "KABUTO$", 11 + .string "KABUTOPS$", 11 + .string "AERODACTYL$", 11 + .string "SNORLAX$", 11 + .string "ARTICUNO$", 11 + .string "ZAPDOS$", 11 + .string "MOLTRES$", 11 + .string "DRATINI$", 11 + .string "DRAGONAIR$", 11 + .string "DRAGONITE$", 11 + .string "MEWTWO$", 11 + .string "MEW$", 11 + .string "CHIKORITA$", 11 + .string "BAYLEEF$", 11 + .string "MEGANIUM$", 11 + .string "CYNDAQUIL$", 11 + .string "QUILAVA$", 11 + .string "TYPHLOSION$", 11 + .string "TOTODILE$", 11 + .string "CROCONAW$", 11 + .string "FERALIGATR$", 11 + .string "SENTRET$", 11 + .string "FURRET$", 11 + .string "HOOTHOOT$", 11 + .string "NOCTOWL$", 11 + .string "LEDYBA$", 11 + .string "LEDIAN$", 11 + .string "SPINARAK$", 11 + .string "ARIADOS$", 11 + .string "CROBAT$", 11 + .string "CHINCHOU$", 11 + .string "LANTURN$", 11 + .string "PICHU$", 11 + .string "CLEFFA$", 11 + .string "IGGLYBUFF$", 11 + .string "TOGEPI$", 11 + .string "TOGETIC$", 11 + .string "NATU$", 11 + .string "XATU$", 11 + .string "MAREEP$", 11 + .string "FLAAFFY$", 11 + .string "AMPHAROS$", 11 + .string "BELLOSSOM$", 11 + .string "MARILL$", 11 + .string "AZUMARILL$", 11 + .string "SUDOWOODO$", 11 + .string "POLITOED$", 11 + .string "HOPPIP$", 11 + .string "SKIPLOOM$", 11 + .string "JUMPLUFF$", 11 + .string "AIPOM$", 11 + .string "SUNKERN$", 11 + .string "SUNFLORA$", 11 + .string "YANMA$", 11 + .string "WOOPER$", 11 + .string "QUAGSIRE$", 11 + .string "ESPEON$", 11 + .string "UMBREON$", 11 + .string "MURKROW$", 11 + .string "SLOWKING$", 11 + .string "MISDREAVUS$", 11 + .string "UNOWN$", 11 + .string "WOBBUFFET$", 11 + .string "GIRAFARIG$", 11 + .string "PINECO$", 11 + .string "FORRETRESS$", 11 + .string "DUNSPARCE$", 11 + .string "GLIGAR$", 11 + .string "STEELIX$", 11 + .string "SNUBBULL$", 11 + .string "GRANBULL$", 11 + .string "QWILFISH$", 11 + .string "SCIZOR$", 11 + .string "SHUCKLE$", 11 + .string "HERACROSS$", 11 + .string "SNEASEL$", 11 + .string "TEDDIURSA$", 11 + .string "URSARING$", 11 + .string "SLUGMA$", 11 + .string "MAGCARGO$", 11 + .string "SWINUB$", 11 + .string "PILOSWINE$", 11 + .string "CORSOLA$", 11 + .string "REMORAID$", 11 + .string "OCTILLERY$", 11 + .string "DELIBIRD$", 11 + .string "MANTINE$", 11 + .string "SKARMORY$", 11 + .string "HOUNDOUR$", 11 + .string "HOUNDOOM$", 11 + .string "KINGDRA$", 11 + .string "PHANPY$", 11 + .string "DONPHAN$", 11 + .string "PORYGON2$", 11 + .string "STANTLER$", 11 + .string "SMEARGLE$", 11 + .string "TYROGUE$", 11 + .string "HITMONTOP$", 11 + .string "SMOOCHUM$", 11 + .string "ELEKID$", 11 + .string "MAGBY$", 11 + .string "MILTANK$", 11 + .string "BLISSEY$", 11 + .string "RAIKOU$", 11 + .string "ENTEI$", 11 + .string "SUICUNE$", 11 + .string "LARVITAR$", 11 + .string "PUPITAR$", 11 + .string "TYRANITAR$", 11 + .string "LUGIA$", 11 + .string "HO-OH$", 11 + .string "CELEBI$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "?$", 11 + .string "TREECKO$", 11 + .string "GROVYLE$", 11 + .string "SCEPTILE$", 11 + .string "TORCHIC$", 11 + .string "COMBUSKEN$", 11 + .string "BLAZIKEN$", 11 + .string "MUDKIP$", 11 + .string "MARSHTOMP$", 11 + .string "SWAMPERT$", 11 + .string "POOCHYENA$", 11 + .string "MIGHTYENA$", 11 + .string "ZIGZAGOON$", 11 + .string "LINOONE$", 11 + .string "WURMPLE$", 11 + .string "SILCOON$", 11 + .string "BEAUTIFLY$", 11 + .string "CASCOON$", 11 + .string "DUSTOX$", 11 + .string "LOTAD$", 11 + .string "LOMBRE$", 11 + .string "LUDICOLO$", 11 + .string "SEEDOT$", 11 + .string "NUZLEAF$", 11 + .string "SHIFTRY$", 11 + .string "NINCADA$", 11 + .string "NINJASK$", 11 + .string "SHEDINJA$", 11 + .string "TAILLOW$", 11 + .string "SWELLOW$", 11 + .string "SHROOMISH$", 11 + .string "BRELOOM$", 11 + .string "SPINDA$", 11 + .string "WINGULL$", 11 + .string "PELIPPER$", 11 + .string "SURSKIT$", 11 + .string "MASQUERAIN$", 11 + .string "WAILMER$", 11 + .string "WAILORD$", 11 + .string "SKITTY$", 11 + .string "DELCATTY$", 11 + .string "KECLEON$", 11 + .string "BALTOY$", 11 + .string "CLAYDOL$", 11 + .string "NOSEPASS$", 11 + .string "TORKOAL$", 11 + .string "SABLEYE$", 11 + .string "BARBOACH$", 11 + .string "WHISCASH$", 11 + .string "LUVDISC$", 11 + .string "CORPHISH$", 11 + .string "CRAWDAUNT$", 11 + .string "FEEBAS$", 11 + .string "MILOTIC$", 11 + .string "CARVANHA$", 11 + .string "SHARPEDO$", 11 + .string "TRAPINCH$", 11 + .string "VIBRAVA$", 11 + .string "FLYGON$", 11 + .string "MAKUHITA$", 11 + .string "HARIYAMA$", 11 + .string "ELECTRIKE$", 11 + .string "MANECTRIC$", 11 + .string "NUMEL$", 11 + .string "CAMERUPT$", 11 + .string "SPHEAL$", 11 + .string "SEALEO$", 11 + .string "WALREIN$", 11 + .string "CACNEA$", 11 + .string "CACTURNE$", 11 + .string "SNORUNT$", 11 + .string "GLALIE$", 11 + .string "LUNATONE$", 11 + .string "SOLROCK$", 11 + .string "AZURILL$", 11 + .string "SPOINK$", 11 + .string "GRUMPIG$", 11 + .string "PLUSLE$", 11 + .string "MINUN$", 11 + .string "MAWILE$", 11 + .string "MEDITITE$", 11 + .string "MEDICHAM$", 11 + .string "SWABLU$", 11 + .string "ALTARIA$", 11 + .string "WYNAUT$", 11 + .string "DUSKULL$", 11 + .string "DUSCLOPS$", 11 + .string "ROSELIA$", 11 + .string "SLAKOTH$", 11 + .string "VIGOROTH$", 11 + .string "SLAKING$", 11 + .string "GULPIN$", 11 + .string "SWALOT$", 11 + .string "TROPIUS$", 11 + .string "WHISMUR$", 11 + .string "LOUDRED$", 11 + .string "EXPLOUD$", 11 + .string "CLAMPERL$", 11 + .string "HUNTAIL$", 11 + .string "GOREBYSS$", 11 + .string "ABSOL$", 11 + .string "SHUPPET$", 11 + .string "BANETTE$", 11 + .string "SEVIPER$", 11 + .string "ZANGOOSE$", 11 + .string "RELICANTH$", 11 + .string "ARON$", 11 + .string "LAIRON$", 11 + .string "AGGRON$", 11 + .string "CASTFORM$", 11 + .string "VOLBEAT$", 11 + .string "ILLUMISE$", 11 + .string "LILEEP$", 11 + .string "CRADILY$", 11 + .string "ANORITH$", 11 + .string "ARMALDO$", 11 + .string "RALTS$", 11 + .string "KIRLIA$", 11 + .string "GARDEVOIR$", 11 + .string "BAGON$", 11 + .string "SHELGON$", 11 + .string "SALAMENCE$", 11 + .string "BELDUM$", 11 + .string "METANG$", 11 + .string "METAGROSS$", 11 + .string "REGIROCK$", 11 + .string "REGICE$", 11 + .string "REGISTEEL$", 11 + .string "KYOGRE$", 11 + .string "GROUDON$", 11 + .string "RAYQUAZA$", 11 + .string "LATIAS$", 11 + .string "LATIOS$", 11 + .string "JIRACHI$", 11 + .string "DEOXYS$", 11 + .string "CHIMECHO$", 11 diff --git a/data/tileset_anims.s b/data/tileset_anims.s new file mode 100644 index 000000000..9881cdd3f --- /dev/null +++ b/data/tileset_anims.s @@ -0,0 +1,25 @@ + .section .rodata + .align 2 +gUnknown_83A7660:: @ 83A7660 + .incbin "baserom.gba", 0x3A7660, 0x2FF4 + +gUnknown_83AA654:: @ 83AA654 + .incbin "baserom.gba", 0x3AA654, 0x1220 + +gUnknown_83AB874:: @ 83AB874 + .incbin "baserom.gba", 0x3AB874, 0x540 + +gUnknown_83ABDB4:: @ 83ABDB4 + .incbin "baserom.gba", 0x3ABDB4, 0x434 + +gUnknown_83AC1E8:: @ 83AC1E8 + .incbin "baserom.gba", 0x3AC1E8, 0x410 + +gUnknown_83AC5F8:: @ 83AC5F8 + .incbin "baserom.gba", 0x3AC5F8, 0x1D0 + +gUnknown_83AC7C8:: @ 83AC7C8 + .incbin "baserom.gba", 0x3AC7C8, 0x188 + +gUnknown_83AC950:: @ 83AC950 + .incbin "baserom.gba", 0x3AC950, 0x10 diff --git a/data/title_screen.s b/data/title_screen.s new file mode 100644 index 000000000..93d0f2f83 --- /dev/null +++ b/data/title_screen.s @@ -0,0 +1,34 @@ + .section .rodata + .align 2 +gUnknown_83BF58C:: @ 83BF58C + .incbin "baserom.gba", 0x3BF58C, 0x1C + +gUnknown_83BF5A8:: @ 83BF5A8 + .incbin "baserom.gba", 0x3BF5A8, 0x55C + +gUnknown_83BFB04:: @ 83BFB04 + .incbin "baserom.gba", 0x3BFB04, 0x18 + +gUnknown_83BFB1C:: @ 83BFB1C + .incbin "baserom.gba", 0x3BFB1C, 0x20 + +gUnknown_83BFB3C:: @ 83BFB3C + .incbin "baserom.gba", 0x3BFB3C, 0x20 + +gUnknown_83BFB5C:: @ 83BFB5C + .incbin "baserom.gba", 0x3BFB5C, 0x18 + +gUnknown_83BFB74:: @ 83BFB74 + .incbin "baserom.gba", 0x3BFB74, 0x10 + +gUnknown_83BFB84:: @ 83BFB84 + .incbin "baserom.gba", 0x3BFB84, 0x18 + +gUnknown_83BFB9C:: @ 83BFB9C + .incbin "baserom.gba", 0x3BFB9C, 0x20 + +gUnknown_83BFBBC:: @ 83BFBBC + .incbin "baserom.gba", 0x3BFBBC, 0x18 + +gUnknown_83BFBD4:: @ 83BFBD4 + .incbin "baserom.gba", 0x3BFBD4, 0x2FE8 diff --git a/data/unk_text_util.s b/data/unk_text_util.s new file mode 100644 index 000000000..5e5ce1a5d --- /dev/null +++ b/data/unk_text_util.s @@ -0,0 +1,5 @@ + .section .rodata + .align 2 + +gUnknown_8464300:: @ 8464300 + .incbin "baserom.gba", 0x464300, 0x4C diff --git a/data/wild_pokemon_area.s b/data/wild_pokemon_area.s new file mode 100644 index 000000000..26913b7c6 --- /dev/null +++ b/data/wild_pokemon_area.s @@ -0,0 +1,14 @@ + .section .rodata + .align 2 + +gUnknown_8464148:: @ 8464148 + .incbin "baserom.gba", 0x464148, 0x174 + +gUnknown_84642BC:: @ 84642BC + .incbin "baserom.gba", 0x4642BC, 0x4 + +gUnknown_84642C0:: @ 84642C0 + .incbin "baserom.gba", 0x4642C0, 0x34 + +gUnknown_84642F4:: @ 84642F4 + .incbin "baserom.gba", 0x4642F4, 0xC diff --git a/graphics/tm_case/unk_841F408.pal b/graphics/tm_case/unk_841F408.pal new file mode 100644 index 000000000..25a3ac1d2 --- /dev/null +++ b/graphics/tm_case/unk_841F408.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/tm_case/unk_8E845D8.png b/graphics/tm_case/unk_8E845D8.png Binary files differnew file mode 100644 index 000000000..2729ac568 --- /dev/null +++ b/graphics/tm_case/unk_8E845D8.png diff --git a/graphics/tm_case/unk_8E84A24.bin b/graphics/tm_case/unk_8E84A24.bin Binary files differnew file mode 100644 index 000000000..a4962cbaa --- /dev/null +++ b/graphics/tm_case/unk_8E84A24.bin diff --git a/graphics/tm_case/unk_8E84B70.bin b/graphics/tm_case/unk_8E84B70.bin Binary files differnew file mode 100644 index 000000000..0b13dc93a --- /dev/null +++ b/graphics/tm_case/unk_8E84B70.bin diff --git a/graphics/tm_case/unk_8E84CB0.pal b/graphics/tm_case/unk_8E84CB0.pal new file mode 100644 index 000000000..2464f7026 --- /dev/null +++ b/graphics/tm_case/unk_8E84CB0.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +0 65 90 +255 0 255 +41 57 82 +65 180 164 +255 0 255 +255 0 255 +106 205 197 +197 230 205 +238 230 172 +255 255 197 +180 180 180 +230 255 238 +139 106 172 +115 115 115 +164 205 172 +148 180 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +16 172 222 +0 82 115 +0 115 139 +0 123 197 +205 164 238 +106 164 222 +82 123 197 +164 172 131 +106 205 197 +238 238 238 +90 90 65 +115 115 90 +189 189 164 +65 180 164 +222 156 0 +238 180 16 +246 213 57 +255 246 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +24 82 180 +0 90 131 +24 82 180 +24 82 180 diff --git a/graphics/tm_case/unk_8E84D20.pal b/graphics/tm_case/unk_8E84D20.pal new file mode 100644 index 000000000..99fd00240 --- /dev/null +++ b/graphics/tm_case/unk_8E84D20.pal @@ -0,0 +1,67 @@ +JASC-PAL +0100 +64 +0 65 90 +255 0 255 +41 57 82 +213 139 115 +255 0 255 +255 0 255 +255 172 148 +197 230 205 +238 230 172 +255 255 197 +180 180 180 +230 255 238 +139 106 172 +115 115 115 +164 205 172 +148 180 156 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +16 172 222 +0 82 115 +0 115 139 +0 123 197 +205 164 238 +106 164 222 +82 123 197 +164 172 131 +255 172 148 +238 238 238 +90 90 65 +115 115 90 +189 189 164 +213 139 115 +222 156 0 +238 180 16 +246 213 57 +255 246 123 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +24 82 180 +0 90 131 +24 82 180 +24 82 180 diff --git a/graphics/tm_case/unk_8E84D90.png b/graphics/tm_case/unk_8E84D90.png Binary files differnew file mode 100644 index 000000000..a26831822 --- /dev/null +++ b/graphics/tm_case/unk_8E84D90.png diff --git a/graphics/tm_case/unk_8E84F20.pal b/graphics/tm_case/unk_8E84F20.pal new file mode 100644 index 000000000..c7f6d1d50 --- /dev/null +++ b/graphics/tm_case/unk_8E84F20.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +205 164 238 +74 74 98 +238 238 238 +230 230 238 +230 230 230 +222 222 222 +213 213 213 +205 205 205 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +255 230 189 +255 222 156 +255 205 131 +255 197 98 +255 189 65 +255 180 41 +238 172 32 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 222 +205 164 238 +0 0 0 +74 74 98 +205 230 246 +180 213 246 +164 205 246 +139 197 238 +115 180 238 +90 172 238 +74 164 238 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +205 205 205 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +213 246 230 +197 246 213 +180 246 205 +156 238 197 +139 238 180 +123 238 172 +106 238 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 238 156 +255 230 123 +255 222 90 +255 205 57 +255 197 24 +255 197 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +246 238 222 +238 230 197 +238 222 172 +230 213 148 +222 197 115 +222 189 90 +213 180 65 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 255 156 +255 255 123 +255 255 90 +246 238 90 +230 213 82 +222 197 65 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +230 246 255 +213 246 255 +197 246 255 +172 238 255 +156 238 255 +139 230 246 +131 213 238 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +205 205 205 +255 255 255 +205 164 238 +0 0 0 +74 74 98 +213 246 255 +189 238 255 +172 238 255 +156 238 255 +172 222 238 +180 205 222 +197 197 197 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +246 246 255 +205 164 238 +0 0 0 +74 74 98 +246 213 189 +238 197 156 +238 180 123 +238 164 90 +230 148 57 +230 131 24 +230 115 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +172 172 172 +255 238 230 +205 164 238 +0 0 0 +74 74 98 +238 222 246 +230 205 246 +230 189 246 +222 172 246 +213 148 246 +197 123 238 +180 98 222 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 255 +205 164 238 +0 0 0 +74 74 98 +255 255 189 +255 255 156 +255 255 123 +255 255 90 +255 238 57 +255 238 24 +255 222 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 255 222 +205 164 238 +0 0 0 +74 74 98 +255 222 197 +255 205 172 +255 189 148 +255 180 123 +230 148 156 +205 123 189 +180 98 222 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 238 230 +205 164 238 +0 0 0 +74 74 98 +255 230 230 +255 222 213 +255 213 205 +255 197 197 +255 189 180 +255 180 172 +255 172 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +255 246 246 +205 164 238 +0 0 0 +74 74 98 +222 222 222 +213 213 213 +197 197 197 +189 189 189 +148 172 180 +115 164 172 +82 156 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 +0 0 0 +74 74 98 +205 230 230 +189 213 213 +164 205 205 +139 189 197 +123 180 180 +98 164 172 +82 156 164 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +238 246 246 +205 164 238 diff --git a/graphics/tm_case/unk_8E85068.pal b/graphics/tm_case/unk_8E85068.pal new file mode 100644 index 000000000..9e3e5e6f5 --- /dev/null +++ b/graphics/tm_case/unk_8E85068.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +74 74 98 +205 230 255 +180 213 255 +156 197 255 +139 189 255 +172 180 213 +213 180 172 +255 180 131 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +189 189 189 +230 246 255 +205 164 238 diff --git a/graphics/tm_case/unk_8E99118.png b/graphics/tm_case/unk_8E99118.png Binary files differnew file mode 100644 index 000000000..426e404fe --- /dev/null +++ b/graphics/tm_case/unk_8E99118.png diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index c34f43baa..549527050 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -620,6 +620,9 @@ $(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png $(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 43 + +graphics/tm_case/unk_8E845D8.4bpp: %.4bpp: %.png + $(GFX) $< $@ -num_tiles 91 $(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \ $(PKNAVOPTIONSGFXDIR)/condition.4bpp \ diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h new file mode 100644 index 000000000..dd2ebf155 --- /dev/null +++ b/include/constants/map_groups.h @@ -0,0 +1,515 @@ +#ifndef GUARD_CONSTANTS_MAP_GROUPS_H +#define GUARD_CONSTANTS_MAP_GROUPS_H + +// Map Group 0 +#define MAP_UNKNOWNMAP_00_00 (0 | (0 << 8)) +#define MAP_UNKNOWNMAP_00_01 (1 | (0 << 8)) +#define MAP_UNKNOWNMAP_00_02 (2 | (0 << 8)) +#define MAP_UNKNOWNMAP_00_03 (3 | (0 << 8)) +#define MAP_UNKNOWNMAP_00_04 (4 | (0 << 8)) + +// Map Group 1 +#define MAP_VIRIDIANFOREST (0 | (1 << 8)) +#define MAP_MTMOON_1F (1 | (1 << 8)) +#define MAP_MTMOON_B1F (2 | (1 << 8)) +#define MAP_MTMOON_B2F (3 | (1 << 8)) +#define MAP_SSANNE_EXTERIOR (4 | (1 << 8)) +#define MAP_SSANNE_1F_CORRIDOR (5 | (1 << 8)) +#define MAP_SSANNE_2F_CORRIDOR (6 | (1 << 8)) +#define MAP_SSANNE_3F_CORRIDOR (7 | (1 << 8)) +#define MAP_SSANNE_B1F_CORRIDOR (8 | (1 << 8)) +#define MAP_SSANNE_DECK (9 | (1 << 8)) +#define MAP_SSANNE_KITCHEN (10 | (1 << 8)) +#define MAP_SSANNE_CAPTAINSOFFICE (11 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM1 (12 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM2 (13 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM3 (14 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM4 (15 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM5 (16 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM7 (17 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM1 (18 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM2 (19 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM3 (20 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM4 (21 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM5 (22 | (1 << 8)) +#define MAP_SSANNE_2F_ROOM6 (23 | (1 << 8)) +#define MAP_SSANNE_B1F_ROOM1 (24 | (1 << 8)) +#define MAP_SSANNE_B1F_ROOM2 (25 | (1 << 8)) +#define MAP_SSANNE_B1F_ROOM3 (26 | (1 << 8)) +#define MAP_SSANNE_B1F_ROOM4 (27 | (1 << 8)) +#define MAP_SSANNE_B1F_ROOM5 (28 | (1 << 8)) +#define MAP_SSANNE_1F_ROOM6 (29 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_NORTHENTRANCE (30 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_NORTHSOUTHTUNNEL (31 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_SOUTHENTRANCE (32 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_WESTENTRANCE (33 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_EASTWESTTUNNEL (34 | (1 << 8)) +#define MAP_UNDERGROUNDPATH_EASTENTRANCE (35 | (1 << 8)) +#define MAP_DIGLETTSCAVE_NORTHENTRANCE (36 | (1 << 8)) +#define MAP_DIGLETTSCAVE_B1F (37 | (1 << 8)) +#define MAP_DIGLETTSCAVE_SOUTHENTRANCE (38 | (1 << 8)) +#define MAP_VICTORYROAD_1F (39 | (1 << 8)) +#define MAP_VICTORYROAD_2F (40 | (1 << 8)) +#define MAP_VICTORYROAD_3F (41 | (1 << 8)) +#define MAP_ROCKETHIDEOUT_B1F (42 | (1 << 8)) +#define MAP_ROCKETHIDEOUT_B2F (43 | (1 << 8)) +#define MAP_ROCKETHIDEOUT_B3F (44 | (1 << 8)) +#define MAP_ROCKETHIDEOUT_B4F (45 | (1 << 8)) +#define MAP_ROCKETHIDEOUT_ELEVATOR (46 | (1 << 8)) +#define MAP_SILPHCO_1F (47 | (1 << 8)) +#define MAP_SILPHCO_2F (48 | (1 << 8)) +#define MAP_SILPHCO_3F (49 | (1 << 8)) +#define MAP_SILPHCO_4F (50 | (1 << 8)) +#define MAP_SILPHCO_5F (51 | (1 << 8)) +#define MAP_SILPHCO_6F (52 | (1 << 8)) +#define MAP_SILPHCO_7F (53 | (1 << 8)) +#define MAP_SILPHCO_8F (54 | (1 << 8)) +#define MAP_SILPHCO_9F (55 | (1 << 8)) +#define MAP_SILPHCO_10F (56 | (1 << 8)) +#define MAP_SILPHCO_11F (57 | (1 << 8)) +#define MAP_SILPHCO_ELEVATOR (58 | (1 << 8)) +#define MAP_POKEMONMANSION_1F (59 | (1 << 8)) +#define MAP_POKEMONMANSION_2F (60 | (1 << 8)) +#define MAP_POKEMONMANSION_3F (61 | (1 << 8)) +#define MAP_POKEMONMANSION_B1F (62 | (1 << 8)) +#define MAP_SAFARIZONE_CENTER (63 | (1 << 8)) +#define MAP_SAFARIZONE_EAST (64 | (1 << 8)) +#define MAP_SAFARIZONE_NORTH (65 | (1 << 8)) +#define MAP_SAFARIZONE_WEST (66 | (1 << 8)) +#define MAP_SAFARIZONE_BUILDING1 (67 | (1 << 8)) +#define MAP_SAFARIZONE_BUILDING2 (68 | (1 << 8)) +#define MAP_SAFARIZONE_BUILDING3 (69 | (1 << 8)) +#define MAP_SAFARIZONE_BUILDING4 (70 | (1 << 8)) +#define MAP_SAFARIZONE_SECRETHOUSE (71 | (1 << 8)) +#define MAP_CERULEANCAVE_1F (72 | (1 << 8)) +#define MAP_CERULEANCAVE_2F (73 | (1 << 8)) +#define MAP_CERULEANCAVE_B1F (74 | (1 << 8)) +#define MAP_POKEMONLEAGUE_LORELEISROOM (75 | (1 << 8)) +#define MAP_POKEMONLEAGUE_BRUNOSROOM (76 | (1 << 8)) +#define MAP_POKEMONLEAGUE_AGATHASROOM (77 | (1 << 8)) +#define MAP_POKEMONLEAGUE_LANCESROOM (78 | (1 << 8)) +#define MAP_POKEMONLEAGUE_CHAMPIONSROOM (79 | (1 << 8)) +#define MAP_POKEMONLEAGUE_HALLOFFAME (80 | (1 << 8)) +#define MAP_ROCKTUNNEL_1F (81 | (1 << 8)) +#define MAP_ROCKTUNNEL_B1F (82 | (1 << 8)) +#define MAP_SEAFOAMISLANDS_1F (83 | (1 << 8)) +#define MAP_SEAFOAMISLANDS_B1F (84 | (1 << 8)) +#define MAP_SEAFOAMISLANDS_B2F (85 | (1 << 8)) +#define MAP_SEAFOAMISLANDS_B3F (86 | (1 << 8)) +#define MAP_SEAFOAMISLANDS_B4F (87 | (1 << 8)) +#define MAP_POKEMONTOWER_1F (88 | (1 << 8)) +#define MAP_POKEMONTOWER_2F (89 | (1 << 8)) +#define MAP_POKEMONTOWER_3F (90 | (1 << 8)) +#define MAP_POKEMONTOWER_4F (91 | (1 << 8)) +#define MAP_POKEMONTOWER_5F (92 | (1 << 8)) +#define MAP_POKEMONTOWER_6F (93 | (1 << 8)) +#define MAP_POKEMONTOWER_7F (94 | (1 << 8)) +#define MAP_POWERPLANT (95 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B4F (96 | (1 << 8)) +#define MAP_MTEMBER_EXTERIOR (97 | (1 << 8)) +#define MAP_MTEMBER_SUMMITPATH_1F (98 | (1 << 8)) +#define MAP_MTEMBER_SUMMITPATH_2F (99 | (1 << 8)) +#define MAP_MTEMBER_SUMMITPATH_3F (100 | (1 << 8)) +#define MAP_MTEMBER_SUMMIT (101 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B5F (102 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_1F (103 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B1F (104 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B2F (105 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B3F (106 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B1F_STAIRS (107 | (1 << 8)) +#define MAP_MTEMBER_RUBYPATH_B2F_STAIRS (108 | (1 << 8)) +#define MAP_THREEISLAND_BERRYFOREST (109 | (1 << 8)) +#define MAP_FOURISLAND_ICEFALLCAVE_ENTRANCE (110 | (1 << 8)) +#define MAP_FOURISLAND_ICEFALLCAVE_1F (111 | (1 << 8)) +#define MAP_FOURISLAND_ICEFALLCAVE_B1F (112 | (1 << 8)) +#define MAP_FOURISLAND_ICEFALLCAVE_BACK (113 | (1 << 8)) +#define MAP_FIVEISLAND_ROCKETWAREHOUSE (114 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_1F (115 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_B1F (116 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_B2F (117 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_B3F (118 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_B4F (119 | (1 << 8)) +#define MAP_SIXISLAND_DOTTEDHOLE_SAPPHIREROOM (120 | (1 << 8)) +#define MAP_SIXISLAND_PATTERNBUSH (121 | (1 << 8)) +#define MAP_SIXISLAND_ALTERINGCAVE (122 | (1 << 8)) + +// Map Group 2 +#define MAP_NAVELROCK_EXTERIOR (0 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_1F (1 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_2F (2 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_3F (3 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_4F (4 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_5F (5 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_6F (6 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_7F (7 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_8F (8 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_ROOF (9 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_LOBBY (10 | (2 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER_ELEVATOR (11 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ENTRANCE (12 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM1 (13 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM2 (14 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM3 (15 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM4 (16 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM5 (17 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM6 (18 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM7 (19 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM8 (20 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM9 (21 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM10 (22 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM11 (23 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM12 (24 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM13 (25 | (2 << 8)) +#define MAP_FIVEISLAND_LOSTCAVE_ROOM14 (26 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_MONEANCHAMBER (27 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_LIPTOOCHAMBER (28 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_WEEPTHCHAMBER (29 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_DILFORDCHAMBER (30 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_SCUFIBCHAMBER (31 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_RIXYCHAMBER (32 | (2 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS_VIAPOISCHAMBER (33 | (2 << 8)) +#define MAP_THREEISLAND_DUNSPARCETUNNEL (34 | (2 << 8)) +#define MAP_SEVENISLAND_SEAVAULTCANYON_TANOBYKEY (35 | (2 << 8)) +#define MAP_NAVELROCK_1F (36 | (2 << 8)) +#define MAP_NAVELROCK_SUMMIT (37 | (2 << 8)) +#define MAP_NAVELROCK_BASE (38 | (2 << 8)) +#define MAP_NAVELROCK_SUMMITPATH_2F (39 | (2 << 8)) +#define MAP_NAVELROCK_SUMMITPATH_3F (40 | (2 << 8)) +#define MAP_NAVELROCK_SUMMITPATH_4F (41 | (2 << 8)) +#define MAP_NAVELROCK_SUMMITPATH_5F (42 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B1F (43 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B2F (44 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B3F (45 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B4F (46 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B5F (47 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B6F (48 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B7F (49 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B8F (50 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B9F (51 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B10F (52 | (2 << 8)) +#define MAP_NAVELROCK_BASEPATH_B11F (53 | (2 << 8)) +#define MAP_NAVELROCK_B1F (54 | (2 << 8)) +#define MAP_NAVELROCK_FORK (55 | (2 << 8)) +#define MAP_BIRTHISLAND_EXTERIOR (56 | (2 << 8)) +#define MAP_ONEISLAND_KINDLEROAD_EMBERSPA (57 | (2 << 8)) +#define MAP_BIRTHISLAND_HARBOR (58 | (2 << 8)) +#define MAP_NAVELROCK_HARBOR (59 | (2 << 8)) + +// Map Group 3 +#define MAP_PALLETTOWN (0 | (3 << 8)) +#define MAP_VIRIDIANCITY (1 | (3 << 8)) +#define MAP_PEWTERCITY (2 | (3 << 8)) +#define MAP_CERULEANCITY (3 | (3 << 8)) +#define MAP_LAVENDERTOWN (4 | (3 << 8)) +#define MAP_VERMILIONCITY (5 | (3 << 8)) +#define MAP_CELADONCITY (6 | (3 << 8)) +#define MAP_FUCHSIACITY (7 | (3 << 8)) +#define MAP_CINNABARISLAND (8 | (3 << 8)) +#define MAP_INDIGOPLATEAU_EXTERIOR (9 | (3 << 8)) +#define MAP_SAFFRONCITY_DUPLICATE (10 | (3 << 8)) +#define MAP_SAFFRONCITY (11 | (3 << 8)) +#define MAP_ONEISLAND (12 | (3 << 8)) +#define MAP_TWOISLAND (13 | (3 << 8)) +#define MAP_THREEISLAND (14 | (3 << 8)) +#define MAP_FOURISLAND (15 | (3 << 8)) +#define MAP_FIVEISLAND (16 | (3 << 8)) +#define MAP_SEVENISLAND (17 | (3 << 8)) +#define MAP_SIXISLAND (18 | (3 << 8)) +#define MAP_ROUTE1 (19 | (3 << 8)) +#define MAP_ROUTE2 (20 | (3 << 8)) +#define MAP_ROUTE3 (21 | (3 << 8)) +#define MAP_ROUTE4 (22 | (3 << 8)) +#define MAP_ROUTE5 (23 | (3 << 8)) +#define MAP_ROUTE6 (24 | (3 << 8)) +#define MAP_ROUTE7 (25 | (3 << 8)) +#define MAP_ROUTE8 (26 | (3 << 8)) +#define MAP_ROUTE9 (27 | (3 << 8)) +#define MAP_ROUTE10 (28 | (3 << 8)) +#define MAP_ROUTE11 (29 | (3 << 8)) +#define MAP_ROUTE12 (30 | (3 << 8)) +#define MAP_ROUTE13 (31 | (3 << 8)) +#define MAP_ROUTE14 (32 | (3 << 8)) +#define MAP_ROUTE15 (33 | (3 << 8)) +#define MAP_ROUTE16 (34 | (3 << 8)) +#define MAP_ROUTE17 (35 | (3 << 8)) +#define MAP_ROUTE18 (36 | (3 << 8)) +#define MAP_ROUTE19 (37 | (3 << 8)) +#define MAP_ROUTE20 (38 | (3 << 8)) +#define MAP_ROUTE21_NORTH (39 | (3 << 8)) +#define MAP_ROUTE21_SOUTH (40 | (3 << 8)) +#define MAP_ROUTE22 (41 | (3 << 8)) +#define MAP_ROUTE23 (42 | (3 << 8)) +#define MAP_ROUTE24 (43 | (3 << 8)) +#define MAP_ROUTE25 (44 | (3 << 8)) +#define MAP_ONEISLAND_KINDLEROAD (45 | (3 << 8)) +#define MAP_ONEISLAND_TREASUREBEACH (46 | (3 << 8)) +#define MAP_TWOISLAND_CAPEBRINK (47 | (3 << 8)) +#define MAP_THREEISLAND_BONDBRIDGE (48 | (3 << 8)) +#define MAP_THREEISLAND_PORT (49 | (3 << 8)) +#define MAP_UNKNOWNMAP_03_50 (50 | (3 << 8)) +#define MAP_UNKNOWNMAP_03_51 (51 | (3 << 8)) +#define MAP_UNKNOWNMAP_03_52 (52 | (3 << 8)) +#define MAP_UNKNOWNMAP_03_53 (53 | (3 << 8)) +#define MAP_FIVEISLAND_RESORTGORGEOUS (54 | (3 << 8)) +#define MAP_FIVEISLAND_WATERLABYRINTH (55 | (3 << 8)) +#define MAP_FIVEISLAND_MEADOW (56 | (3 << 8)) +#define MAP_FIVEISLAND_MEMORIALPILLAR (57 | (3 << 8)) +#define MAP_SIXISLAND_OUTCASTISLAND (58 | (3 << 8)) +#define MAP_SIXISLAND_GREENPATH (59 | (3 << 8)) +#define MAP_SIXISLAND_WATERPATH (60 | (3 << 8)) +#define MAP_SIXISLAND_RUINVALLEY (61 | (3 << 8)) +#define MAP_SEVENISLAND_TRAINERTOWER (62 | (3 << 8)) +#define MAP_SEVENISLAND_SEVAULTCANYON_ENTRANCE (63 | (3 << 8)) +#define MAP_SEVENISLAND_SEVAULTCANYON (64 | (3 << 8)) +#define MAP_SEVENISLAND_TANOBYRUINS (65 | (3 << 8)) + +// Map Group 4 +#define MAP_PALLETTOWN_PLAYERSHOUSE_1F (0 | (4 << 8)) +#define MAP_PALLETTOWN_PLAYERSHOUSE_2F (1 | (4 << 8)) +#define MAP_PALLETTOWN_GARYSHOUSE (2 | (4 << 8)) +#define MAP_PALLETTOWN_PROFESSOROAKSLAB (3 | (4 << 8)) + +// Map Group 5 +#define MAP_VIRIDIANCITY_HOUSE1 (0 | (5 << 8)) +#define MAP_VIRIDIANCITY_GYM (1 | (5 << 8)) +#define MAP_VIRIDIANCITY_HOUSE2 (2 | (5 << 8)) +#define MAP_VIRIDIANCITY_MART (3 | (5 << 8)) +#define MAP_VIRIDIANCITY_POKEMONCENTER_1F (4 | (5 << 8)) +#define MAP_VIRIDIANCITY_POKEMONCENTER_2F (5 | (5 << 8)) + +// Map Group 6 +#define MAP_PEWTERCITY_MUSEUM_1F (0 | (6 << 8)) +#define MAP_PEWTERCITY_MUSEUM_2F (1 | (6 << 8)) +#define MAP_PEWTERCITY_GYM (2 | (6 << 8)) +#define MAP_PEWTERCITY_MART (3 | (6 << 8)) +#define MAP_PEWTERCITY_HOUSE1 (4 | (6 << 8)) +#define MAP_PEWTERCITY_POKEMONCENTER_1F (5 | (6 << 8)) +#define MAP_PEWTERCITY_POKEMONCENTER_2F (6 | (6 << 8)) +#define MAP_PEWTERCITY_HOUSE2 (7 | (6 << 8)) + +// Map Group 7 +#define MAP_CERULEANCITY_HOUSE1 (0 | (7 << 8)) +#define MAP_CERULEANCITY_HOUSE2 (1 | (7 << 8)) +#define MAP_CERULEANCITY_HOUSE3 (2 | (7 << 8)) +#define MAP_CERULEANCITY_POKEMONCENTER_1F (3 | (7 << 8)) +#define MAP_CERULEANCITY_POKEMONCENTER_2F (4 | (7 << 8)) +#define MAP_CERULEANCITY_GYM (5 | (7 << 8)) +#define MAP_CERULEANCITY_BIKESHOP (6 | (7 << 8)) +#define MAP_CERULEANCITY_MART (7 | (7 << 8)) +#define MAP_CERULEANCITY_HOUSE4 (8 | (7 << 8)) +#define MAP_CERULEANCITY_HOUSE5 (9 | (7 << 8)) + +// Map Group 8 +#define MAP_LAVENDERTOWN_POKEMONCENTER_1F (0 | (8 << 8)) +#define MAP_LAVENDERTOWN_POKEMONCENTER_2F (1 | (8 << 8)) +#define MAP_LAVENDERTOWN_VOLUNTEERPOKEMONHOUSE (2 | (8 << 8)) +#define MAP_LAVENDERTOWN_HOUSE1 (3 | (8 << 8)) +#define MAP_LAVENDERTOWN_HOUSE2 (4 | (8 << 8)) +#define MAP_LAVENDERTOWN_MART (5 | (8 << 8)) + +// Map Group 9 +#define MAP_VERMILIONCITY_HOUSE1 (0 | (9 << 8)) +#define MAP_VERMILIONCITY_POKEMONCENTER_1F (1 | (9 << 8)) +#define MAP_VERMILIONCITY_POKEMONCENTER_2F (2 | (9 << 8)) +#define MAP_VERMILIONCITY_POKEMONFANCLUB (3 | (9 << 8)) +#define MAP_VERMILIONCITY_HOUSE2 (4 | (9 << 8)) +#define MAP_VERMILIONCITY_MART (5 | (9 << 8)) +#define MAP_VERMILIONCITY_GYM (6 | (9 << 8)) +#define MAP_VERMILIONCITY_HOUSE3 (7 | (9 << 8)) + +// Map Group 10 +#define MAP_CELADONCITY_DEPARTMENTSTORE_1F (0 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_2F (1 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_3F (2 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_4F (3 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_5F (4 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_ROOF (5 | (10 << 8)) +#define MAP_CELADONCITY_DEPARTMENTSTORE_ELEVATOR (6 | (10 << 8)) +#define MAP_CELADONCITY_CONDOMINIUMS_1F (7 | (10 << 8)) +#define MAP_CELADONCITY_CONDOMINIUMS_2F (8 | (10 << 8)) +#define MAP_CELADONCITY_CONDOMINIUMS_3F (9 | (10 << 8)) +#define MAP_CELADONCITY_CONDOMINIUMS_ROOF (10 | (10 << 8)) +#define MAP_CELADONCITY_CONDOMINIUMS_ROOFROOM (11 | (10 << 8)) +#define MAP_CELADONCITY_POKEMONCENTER_1F (12 | (10 << 8)) +#define MAP_CELADONCITY_POKEMONCENTER_2F (13 | (10 << 8)) +#define MAP_CELADONCITY_GAMECORNER (14 | (10 << 8)) +#define MAP_CELADONCITY_GAMECORNER_PRIZEROOM (15 | (10 << 8)) +#define MAP_CELADONCITY_GYM (16 | (10 << 8)) +#define MAP_CELADONCITY_RESTAURANT (17 | (10 << 8)) +#define MAP_CELADONCITY_HOUSE1 (18 | (10 << 8)) +#define MAP_CELADONCITY_HOTEL (19 | (10 << 8)) + +// Map Group 11 +#define MAP_FUCHSIACITY_SAFARIZONE_ENTRANCE (0 | (11 << 8)) +#define MAP_FUCHSIACITY_MART (1 | (11 << 8)) +#define MAP_FUCHSIACITY_ZOOBUILDING (2 | (11 << 8)) +#define MAP_FUCHSIACITY_GYM (3 | (11 << 8)) +#define MAP_FUCHSIACITY_HOUSE1 (4 | (11 << 8)) +#define MAP_FUCHSIACITY_POKEMONCENTER_1F (5 | (11 << 8)) +#define MAP_FUCHSIACITY_POKEMONCENTER_2F (6 | (11 << 8)) +#define MAP_FUCHSIACITY_BUILDING1 (7 | (11 << 8)) +#define MAP_FUCHSIACITY_HOUSE2 (8 | (11 << 8)) +#define MAP_FUCHSIACITY_HOUSE3 (9 | (11 << 8)) + +// Map Group 12 +#define MAP_CINNABARISLAND_GYM (0 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONLAB_ENTRANCE (1 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONLAB_LOUNGE (2 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONLAB_RESEARCHROOM (3 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONLAB_EXPERIMENTROOM (4 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONCENTER_1F (5 | (12 << 8)) +#define MAP_CINNABARISLAND_POKEMONCENTER_2F (6 | (12 << 8)) +#define MAP_CINNABARISLAND_MART (7 | (12 << 8)) + +// Map Group 13 +#define MAP_INDIGOPLATEAU_POKEMONCENTER_1F (0 | (13 << 8)) +#define MAP_INDIGOPLATEAU_POKEMONCENTER_2F (1 | (13 << 8)) + +// Map Group 14 +#define MAP_SAFFRONCITY_HOUSE1_1F (0 | (14 << 8)) +#define MAP_SAFFRONCITY_HOUSE1_2F (1 | (14 << 8)) +#define MAP_SAFFRONCITY_DOJO (2 | (14 << 8)) +#define MAP_SAFFRONCITY_GYM (3 | (14 << 8)) +#define MAP_SAFFRONCITY_HOUSE2 (4 | (14 << 8)) +#define MAP_SAFFRONCITY_MART (5 | (14 << 8)) +#define MAP_SAFFRONCITY_POKEMONCENTER_1F (6 | (14 << 8)) +#define MAP_SAFFRONCITY_POKEMONCENTER_2F (7 | (14 << 8)) +#define MAP_SAFFRONCITY_HOUSE3 (8 | (14 << 8)) +#define MAP_SAFFRONCITY_POKEMONTRAINERFANCLUB (9 | (14 << 8)) + +// Map Group 15 +#define MAP_ROUTE2_VIRIDIANFOREST_SOUTHENTRANCE (0 | (15 << 8)) +#define MAP_ROUTE2_HOUSE (1 | (15 << 8)) +#define MAP_ROUTE2_EASTBUILDING (2 | (15 << 8)) +#define MAP_ROUTE2_VIRIDIANFOREST_NORTHENTRANCE (3 | (15 << 8)) + +// Map Group 16 +#define MAP_ROUTE4_POKEMONCENTER_1F (0 | (16 << 8)) +#define MAP_ROUTE4_POKEMONCENTER_2F (1 | (16 << 8)) + +// Map Group 17 +#define MAP_ROUTE5_POKEMONDAYCARE (0 | (17 << 8)) +#define MAP_ROUTE5_SOUTHENTRANCE (1 | (17 << 8)) + +// Map Group 18 +#define MAP_ROUTE6_NORTHENTRANCE (0 | (18 << 8)) +#define MAP_UNKNOWNMAP_18_01 (1 | (18 << 8)) + +// Map Group 19 +#define MAP_ROUTE7_EASTENTRANCE (0 | (19 << 8)) + +// Map Group 20 +#define MAP_ROUTE8_WESTENTRANCE (0 | (20 << 8)) + +// Map Group 21 +#define MAP_ROUTE10_POKEMONCENTER_1F (0 | (21 << 8)) +#define MAP_ROUTE10_POKEMONCENTER_2F (1 | (21 << 8)) + +// Map Group 22 +#define MAP_ROUTE11_EASTENTRANCE_1F (0 | (22 << 8)) +#define MAP_ROUTE11_EASTENTRANCE_2F (1 | (22 << 8)) + +// Map Group 23 +#define MAP_ROUTE12_NORTHENTRANCE_1F (0 | (23 << 8)) +#define MAP_ROUTE12_NORTHENTRANCE_2F (1 | (23 << 8)) +#define MAP_ROUTE12_FISHINGHOUSE (2 | (23 << 8)) + +// Map Group 24 +#define MAP_ROUTE15_WESTENTRANCE_1F (0 | (24 << 8)) +#define MAP_ROUTE15_WESTENTRANCE_2F (1 | (24 << 8)) + +// Map Group 25 +#define MAP_ROUTE16_HOUSE (0 | (25 << 8)) +#define MAP_ROUTE16_NORTHENTRANCE_1F (1 | (25 << 8)) +#define MAP_ROUTE16_NORTHENTRANCE_2F (2 | (25 << 8)) + +// Map Group 26 +#define MAP_ROUTE18_EASTENTRANCE_1F (0 | (26 << 8)) +#define MAP_ROUTE18_EASTENTRANCE_2F (1 | (26 << 8)) + +// Map Group 27 +#define MAP_UNUSEDHOUSE_27_00 (0 | (27 << 8)) + +// Map Group 28 +#define MAP_ROUTE22_NORTHENTRANCE (0 | (28 << 8)) + +// Map Group 29 +#define MAP_UNUSEDHOUSE_29_00 (0 | (29 << 8)) + +// Map Group 30 +#define MAP_ROUTE25_SEACOTTAGE (0 | (30 << 8)) + +// Map Group 31 +#define MAP_SEVENISLAND_HOUSE_ROOM1 (0 | (31 << 8)) +#define MAP_SEVENISLAND_HOUSE_ROOM2 (1 | (31 << 8)) +#define MAP_SEVENISLAND_MART (2 | (31 << 8)) +#define MAP_SEVENISLAND_POKEMONCENTER_1F (3 | (31 << 8)) +#define MAP_SEVENISLAND_POKEMONCENTER_2F (4 | (31 << 8)) +#define MAP_UNUSEDHOUSE_31_05 (5 | (31 << 8)) +#define MAP_SEVENISLAND_HARBOR (6 | (31 << 8)) + +// Map Group 32 +#define MAP_ONEISLAND_POKEMONCENTER_1F (0 | (32 << 8)) +#define MAP_ONEISLAND_POKEMONCENTER_2F (1 | (32 << 8)) +#define MAP_ONEISLAND_HOUSE1 (2 | (32 << 8)) +#define MAP_ONEISLAND_HOUSE2 (3 | (32 << 8)) +#define MAP_ONEISLAND_HARBOR (4 | (32 << 8)) + +// Map Group 33 +#define MAP_TWOISLAND_JOYFULGAMECORNER (0 | (33 << 8)) +#define MAP_TWOISLAND_HOUSE (1 | (33 << 8)) +#define MAP_TWOISLAND_POKEMONCENTER_1F (2 | (33 << 8)) +#define MAP_TWOISLAND_POKEMONCENTER_2F (3 | (33 << 8)) +#define MAP_TWOISLAND_HARBOR (4 | (33 << 8)) + +// Map Group 34 +#define MAP_THREEISLAND_HOUSE1 (0 | (34 << 8)) +#define MAP_THREEISLAND_POKEMONCENTER_1F (1 | (34 << 8)) +#define MAP_THREEISLAND_POKEMONCENTER_2F (2 | (34 << 8)) +#define MAP_THREEISLAND_MART (3 | (34 << 8)) +#define MAP_THREEISLAND_HOUSE2 (4 | (34 << 8)) +#define MAP_THREEISLAND_HOUSE3 (5 | (34 << 8)) +#define MAP_THREEISLAND_HOUSE4 (6 | (34 << 8)) +#define MAP_THREEISLAND_HOUSE5 (7 | (34 << 8)) + +// Map Group 35 +#define MAP_FOURISLAND_POKEMONDAYCARE (0 | (35 << 8)) +#define MAP_FOURISLAND_POKEMONCENTER_1F (1 | (35 << 8)) +#define MAP_FOURISLAND_POKEMONCENTER_2F (2 | (35 << 8)) +#define MAP_FOURISLAND_HOUSE1 (3 | (35 << 8)) +#define MAP_FOURISLAND_LORELEISHOUSE (4 | (35 << 8)) +#define MAP_FOURISLAND_HARBOR (5 | (35 << 8)) +#define MAP_FOURISLAND_HOUSE2 (6 | (35 << 8)) +#define MAP_FOURISLAND_MART (7 | (35 << 8)) + +// Map Group 36 +#define MAP_FIVEISLAND_POKEMONCENTER_1F (0 | (36 << 8)) +#define MAP_FIVEISLAND_POKEMONCENTER_2F (1 | (36 << 8)) +#define MAP_FIVEISLAND_HARBOR (2 | (36 << 8)) +#define MAP_FIVEISLAND_HOUSE1 (3 | (36 << 8)) +#define MAP_FIVEISLAND_HOUSE2 (4 | (36 << 8)) + +// Map Group 37 +#define MAP_SIXISLAND_POKEMONCENTER_1F (0 | (37 << 8)) +#define MAP_SIXISLAND_POKEMONCENTER_2F (1 | (37 << 8)) +#define MAP_SIXISLAND_HARBOR (2 | (37 << 8)) +#define MAP_SIXISLAND_HOUSE (3 | (37 << 8)) +#define MAP_SIXISLAND_MART (4 | (37 << 8)) + +// Map Group 38 +#define MAP_THREEISLAND_HARBOR (0 | (38 << 8)) + +// Map Group 39 +#define MAP_FIVEISLAND_RESORTGORGEOUS_HOUSE (0 | (39 << 8)) + +// Map Group 40 +#define MAP_TWOISLAND_CAPEBRINK_HOUSE (0 | (40 << 8)) + +// Map Group 41 +#define MAP_SIXISLAND_WATERPATH_HOUSE1 (0 | (41 << 8)) +#define MAP_SIXISLAND_WATERPATH_HOUSE2 (1 | (41 << 8)) + +// Map Group 42 +#define MAP_SEVENISLAND_SEVAULTCANYON_HOUSE (0 | (42 << 8)) + +#endif // GUARD_CONSTANTS_MAP_GROUPS_H diff --git a/include/constants/maps.h b/include/constants/maps.h index 737edd7de..8a8a023a8 100644 --- a/include/constants/maps.h +++ b/include/constants/maps.h @@ -1,594 +1,11 @@ #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)) - +#include "constants/map_groups.h" #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) diff --git a/include/constants/region_map.h b/include/constants/region_map.h index 87203f538..527acf2c9 100644 --- a/include/constants/region_map.h +++ b/include/constants/region_map.h @@ -1,115 +1,203 @@ #ifndef GUARD_CONSTANTS_REGION_MAP_H #define GUARD_CONSTANTS_REGION_MAP_H -#define MAPSEC_PALLET_TOWN 0x0 -#define MAPSEC_VIRIDIAN_CITY 0x1 -#define MAPSEC_PEWTER_CITY 0x2 -#define MAPSEC_CERULEAN_CITY 0x3 -#define MAPSEC_LAVENDER_TOWN 0x4 -#define MAPSEC_VERMILION_CITY 0x5 -#define MAPSEC_CELADON_CITY 0x6 -#define MAPSEC_FUCHSIA_CITY 0x7 -#define MAPSEC_CINNABAR_ISLAND 0x8 -#define MAPSEC_INDIGO_PLATEAU 0x9 -#define MAPSEC_SAFFRON_CITY 0xA -#define MAPSEC_ROUTE_4 0xB -#define MAPSEC_ROUTE_10 0xC -#define MAPSEC_ROUTE_1 0xD -#define MAPSEC_ROUTE_2 0xE -#define MAPSEC_ROUTE_3 0xF -#define MAPSEC_ROUTE_4_2 0x10 -#define MAPSEC_ROUTE_5 0x11 -#define MAPSEC_ROUTE_6 0x12 -#define MAPSEC_ROUTE_7 0x13 -#define MAPSEC_ROUTE_8 0x14 -#define MAPSEC_ROUTE_9 0x15 -#define MAPSEC_ROUTE_10_2 0x16 -#define MAPSEC_ROUTE_11 0x17 -#define MAPSEC_ROUTE_12 0x18 -#define MAPSEC_ROUTE_13 0x19 -#define MAPSEC_ROUTE_14 0x1A -#define MAPSEC_ROUTE_15 0x1B -#define MAPSEC_ROUTE_16 0x1C -#define MAPSEC_ROUTE_17 0x1D -#define MAPSEC_ROUTE_18 0x1E -#define MAPSEC_ROUTE_19 0x1F -#define MAPSEC_ROUTE_20 0x20 -#define MAPSEC_ROUTE_21 0x21 -#define MAPSEC_ROUTE_22 0x22 -#define MAPSEC_ROUTE_23 0x23 -#define MAPSEC_ROUTE_24 0x24 -#define MAPSEC_ROUTE_25 0x25 -#define MAPSEC_VIRIDIAN_FOREST 0x26 -#define MAPSEC_MT_MOON 0x27 -#define MAPSEC_S_S_ANNE 0x28 -#define MAPSEC_UNDERGROUND_PATH 0x29 -#define MAPSEC_UNDERGROUND_PATH_2 0x2A -#define MAPSEC_DIGLETTS_CAVE 0x2B -#define MAPSEC_KANTO_VICTORY_ROAD 0x2C -#define MAPSEC_ROCKET_HIDEOUT 0x2D -#define MAPSEC_SILPH_CO 0x2E -#define MAPSEC_POKEMON_MANSION 0x2F -#define MAPSEC_KANTO_SAFARI_ZONE 0x30 -#define MAPSEC_POKEMON_LEAGUE 0x31 -#define MAPSEC_ROCK_TUNNEL 0x32 -#define MAPSEC_SEAFOAM_ISLANDS 0x33 -#define MAPSEC_POKEMON_TOWER 0x34 -#define MAPSEC_CERULEAN_CAVE 0x35 -#define MAPSEC_POWER_PLANT 0x36 -#define MAPSEC_ONE_ISLAND 0x37 -#define MAPSEC_TWO_ISLAND 0x38 -#define MAPSEC_THREE_ISLAND 0x39 -#define MAPSEC_FOUR_ISLAND 0x3A -#define MAPSEC_FIVE_ISLAND 0x3B -#define MAPSEC_SEVEN_ISLAND 0x3C -#define MAPSEC_SIX_ISLAND 0x3D -#define MAPSEC_KINDLE_ROAD 0x3E -#define MAPSEC_TREASURE_BEACH 0x3F -#define MAPSEC_CAPE_BRINK 0x40 -#define MAPSEC_BOND_BRIDGE 0x41 -#define MAPSEC_THREE_ISLE_PORT 0x42 -#define MAPSEC_SEVII_ISLE_6 0x43 -#define MAPSEC_SEVII_ISLE_7 0x44 -#define MAPSEC_SEVII_ISLE_8 0x45 -#define MAPSEC_SEVII_ISLE_9 0x46 -#define MAPSEC_RESORT_GORGEOUS 0x47 -#define MAPSEC_WATER_LABYRINTH 0x48 -#define MAPSEC_FIVE_ISLE_MEADOW 0x49 -#define MAPSEC_MEMORIAL_PILLAR 0x4A -#define MAPSEC_OUTCAST_ISLAND 0x4B -#define MAPSEC_GREEN_PATH 0x4C -#define MAPSEC_WATER_PATH 0x4D -#define MAPSEC_RUIN_VALLEY 0x4E -#define MAPSEC_TRAINER_TOWER 0x4F -#define MAPSEC_CANYON_ENTRANCE 0x50 -#define MAPSEC_SEVAULT_CANYON 0x51 -#define MAPSEC_TANOBY_RUINS 0x52 -#define MAPSEC_SEVII_ISLE_22 0x53 -#define MAPSEC_SEVII_ISLE_23 0x54 -#define MAPSEC_SEVII_ISLE_24 0x55 -#define MAPSEC_NAVEL_ROCK 0x56 -#define MAPSEC_MT_EMBER 0x57 -#define MAPSEC_BERRY_FOREST 0x58 -#define MAPSEC_ICEFALL_CAVE 0x59 -#define MAPSEC_ROCKET_WAREHOUSE 0x5A -#define MAPSEC_TRAINER_TOWER_2 0x5B -#define MAPSEC_DOTTED_HOLE 0x5C -#define MAPSEC_LOST_CAVE 0x5D -#define MAPSEC_PATTERN_BUSH 0x5E -#define MAPSEC_ALTERING_CAVE 0x5F -#define MAPSEC_TANOBY_CHAMBERS 0x60 -#define MAPSEC_THREE_ISLE_PATH 0x61 -#define MAPSEC_TANOBY_KEY 0x62 -#define MAPSEC_BIRTH_ISLAND 0x63 -#define MAPSEC_MONEAN_CHAMBER 0x64 -#define MAPSEC_LIPTOO_CHAMBER 0x65 -#define MAPSEC_WEEPTH_CHAMBER 0x66 -#define MAPSEC_DILFORD_CHAMBER 0x67 -#define MAPSEC_SCUFIB_CHAMBER 0x68 -#define MAPSEC_RIXY_CHAMBER 0x69 -#define MAPSEC_VIAPOIS_CHAMBER 0x6A -#define MAPSEC_EMBER_SPA 0x6B -#define MAPSEC_CELADON_DEPT 0x6C -#define MAPSEC_NONE 0x6D +#define MAPSEC_LITTLEROOT_TOWN 0x00 +#define MAPSEC_OLDALE_TOWN 0x01 +#define MAPSEC_DEWFORD_TOWN 0x02 +#define MAPSEC_LAVARIDGE_TOWN 0x03 +#define MAPSEC_FALLARBOR_TOWN 0x04 +#define MAPSEC_VERDANTURF_TOWN 0x05 +#define MAPSEC_PACIFIDLOG_TOWN 0x06 +#define MAPSEC_PETALBURG_CITY 0x07 +#define MAPSEC_SLATEPORT_CITY 0x08 +#define MAPSEC_MAUVILLE_CITY 0x09 +#define MAPSEC_RUSTBORO_CITY 0x0A +#define MAPSEC_FORTREE_CITY 0x0B +#define MAPSEC_LILYCOVE_CITY 0x0C +#define MAPSEC_MOSSDEEP_CITY 0x0D +#define MAPSEC_SOOTOPOLIS_CITY 0x0E +#define MAPSEC_EVER_GRANDE_CITY 0x0F +#define MAPSEC_ROUTE_101 0x10 +#define MAPSEC_ROUTE_102 0x11 +#define MAPSEC_ROUTE_103 0x12 +#define MAPSEC_ROUTE_104 0x13 +#define MAPSEC_ROUTE_105 0x14 +#define MAPSEC_ROUTE_106 0x15 +#define MAPSEC_ROUTE_107 0x16 +#define MAPSEC_ROUTE_108 0x17 +#define MAPSEC_ROUTE_109 0x18 +#define MAPSEC_ROUTE_110 0x19 +#define MAPSEC_ROUTE_111 0x1A +#define MAPSEC_ROUTE_112 0x1B +#define MAPSEC_ROUTE_113 0x1C +#define MAPSEC_ROUTE_114 0x1D +#define MAPSEC_ROUTE_115 0x1E +#define MAPSEC_ROUTE_116 0x1F +#define MAPSEC_ROUTE_117 0x20 +#define MAPSEC_ROUTE_118 0x21 +#define MAPSEC_ROUTE_119 0x22 +#define MAPSEC_ROUTE_120 0x23 +#define MAPSEC_ROUTE_121 0x24 +#define MAPSEC_ROUTE_122 0x25 +#define MAPSEC_ROUTE_123 0x26 +#define MAPSEC_ROUTE_124 0x27 +#define MAPSEC_ROUTE_125 0x28 +#define MAPSEC_ROUTE_126 0x29 +#define MAPSEC_ROUTE_127 0x2A +#define MAPSEC_ROUTE_128 0x2B +#define MAPSEC_ROUTE_129 0x2C +#define MAPSEC_ROUTE_130 0x2D +#define MAPSEC_ROUTE_131 0x2E +#define MAPSEC_ROUTE_132 0x2F +#define MAPSEC_ROUTE_133 0x30 +#define MAPSEC_ROUTE_134 0x31 +#define MAPSEC_UNDERWATER_124 0x32 +#define MAPSEC_UNDERWATER_125 0x33 +#define MAPSEC_UNDERWATER_126 0x34 +#define MAPSEC_UNDERWATER_127 0x35 +#define MAPSEC_UNDERWATER_SOOTOPOLIS 0x36 +#define MAPSEC_GRANITE_CAVE 0x37 +#define MAPSEC_MT_CHIMNEY 0x38 +#define MAPSEC_SAFARI_ZONE 0x39 +#define MAPSEC_BATTLE_FRONTIER 0x3A +#define MAPSEC_PETALBURG_WOODS 0x3B +#define MAPSEC_RUSTURF_TUNNEL 0x3C +#define MAPSEC_ABANDONED_SHIP 0x3D +#define MAPSEC_NEW_MAUVILLE 0x3E +#define MAPSEC_METEOR_FALLS 0x3F +#define MAPSEC_METEOR_FALLS2 0x40 +#define MAPSEC_MT_PYRE 0x41 +#define MAPSEC_AQUA_HIDEOUT_OLD 0x42 +#define MAPSEC_SHOAL_CAVE 0x43 +#define MAPSEC_SEAFLOOR_CAVERN 0x44 +#define MAPSEC_UNDERWATER_128 0x45 +#define MAPSEC_VICTORY_ROAD 0x46 +#define MAPSEC_MIRAGE_ISLAND 0x47 +#define MAPSEC_CAVE_OF_ORIGIN 0x48 +#define MAPSEC_SOUTHERN_ISLAND 0x49 +#define MAPSEC_FIERY_PATH 0x4A +#define MAPSEC_FIERY_PATH2 0x4B +#define MAPSEC_JAGGED_PASS 0x4C +#define MAPSEC_JAGGED_PASS2 0x4D +#define MAPSEC_SEALED_CHAMBER 0x4E +#define MAPSEC_UNDERWATER_SEALED_CHAMBER 0x4F +#define MAPSEC_SCORCHED_SLAB 0x50 +#define MAPSEC_ISLAND_CAVE 0x51 +#define MAPSEC_DESERT_RUINS 0x52 +#define MAPSEC_ANCIENT_TOMB 0x53 +#define MAPSEC_INSIDE_OF_TRUCK 0x54 +#define MAPSEC_SKY_PILLAR 0x55 +#define MAPSEC_SECRET_BASE 0x56 +#define MAPSEC_DYNAMIC 0x57 +#define MAPSEC_PALLET_TOWN 0x58 +#define MAPSEC_VIRIDIAN_CITY 0x59 +#define MAPSEC_PEWTER_CITY 0x5A +#define MAPSEC_CERULEAN_CITY 0x5B +#define MAPSEC_LAVENDER_TOWN 0x5C +#define MAPSEC_VERMILION_CITY 0x5D +#define MAPSEC_CELADON_CITY 0x5E +#define MAPSEC_FUCHSIA_CITY 0x5F +#define MAPSEC_CINNABAR_ISLAND 0x60 +#define MAPSEC_INDIGO_PLATEAU 0x61 +#define MAPSEC_SAFFRON_CITY 0x62 +#define MAPSEC_ROUTE_4_FLYDUP 0x63 +#define MAPSEC_ROUTE_10_FLYDUP 0x64 +#define MAPSEC_ROUTE_1 0x65 +#define MAPSEC_ROUTE_2 0x66 +#define MAPSEC_ROUTE_3 0x67 +#define MAPSEC_ROUTE_4 0x68 +#define MAPSEC_ROUTE_5 0x69 +#define MAPSEC_ROUTE_6 0x6A +#define MAPSEC_ROUTE_7 0x6B +#define MAPSEC_ROUTE_8 0x6C +#define MAPSEC_ROUTE_9 0x6D +#define MAPSEC_ROUTE_10 0x6E +#define MAPSEC_ROUTE_11 0x6F +#define MAPSEC_ROUTE_12 0x70 +#define MAPSEC_ROUTE_13 0x71 +#define MAPSEC_ROUTE_14 0x72 +#define MAPSEC_ROUTE_15 0x73 +#define MAPSEC_ROUTE_16 0x74 +#define MAPSEC_ROUTE_17 0x75 +#define MAPSEC_ROUTE_18 0x76 +#define MAPSEC_ROUTE_19 0x77 +#define MAPSEC_ROUTE_20 0x78 +#define MAPSEC_ROUTE_21 0x79 +#define MAPSEC_ROUTE_22 0x7A +#define MAPSEC_ROUTE_23 0x7B +#define MAPSEC_ROUTE_24 0x7C +#define MAPSEC_ROUTE_25 0x7D +#define MAPSEC_VIRIDIAN_FOREST 0x7E +#define MAPSEC_MT_MOON 0x7F +#define MAPSEC_S_S_ANNE 0x80 +#define MAPSEC_UNDERGROUND_PATH 0x81 +#define MAPSEC_UNDERGROUND_PATH_2 0x82 +#define MAPSEC_DIGLETTS_CAVE 0x83 +#define MAPSEC_KANTO_VICTORY_ROAD 0x84 +#define MAPSEC_ROCKET_HIDEOUT 0x85 +#define MAPSEC_SILPH_CO 0x86 +#define MAPSEC_POKEMON_MANSION 0x87 +#define MAPSEC_KANTO_SAFARI_ZONE 0x88 +#define MAPSEC_POKEMON_LEAGUE 0x89 +#define MAPSEC_ROCK_TUNNEL 0x8A +#define MAPSEC_SEAFOAM_ISLANDS 0x8B +#define MAPSEC_POKEMON_TOWER 0x8C +#define MAPSEC_CERULEAN_CAVE 0x8D +#define MAPSEC_POWER_PLANT 0x8E +#define MAPSEC_ONE_ISLAND 0x8F +#define MAPSEC_TWO_ISLAND 0x90 +#define MAPSEC_THREE_ISLAND 0x91 +#define MAPSEC_FOUR_ISLAND 0x92 +#define MAPSEC_FIVE_ISLAND 0x93 +#define MAPSEC_SEVEN_ISLAND 0x94 +#define MAPSEC_SIX_ISLAND 0x95 +#define MAPSEC_KINDLE_ROAD 0x96 +#define MAPSEC_TREASURE_BEACH 0x97 +#define MAPSEC_CAPE_BRINK 0x98 +#define MAPSEC_BOND_BRIDGE 0x99 +#define MAPSEC_THREE_ISLE_PORT 0x9A +#define MAPSEC_SEVII_ISLE_6 0x9B +#define MAPSEC_SEVII_ISLE_7 0x9C +#define MAPSEC_SEVII_ISLE_8 0x9D +#define MAPSEC_SEVII_ISLE_9 0x9E +#define MAPSEC_RESORT_GORGEOUS 0x9F +#define MAPSEC_WATER_LABYRINTH 0xA0 +#define MAPSEC_FIVE_ISLE_MEADOW 0xA1 +#define MAPSEC_MEMORIAL_PILLAR 0xA2 +#define MAPSEC_OUTCAST_ISLAND 0xA3 +#define MAPSEC_GREEN_PATH 0xA4 +#define MAPSEC_WATER_PATH 0xA5 +#define MAPSEC_RUIN_VALLEY 0xA6 +#define MAPSEC_TRAINER_TOWER 0xA7 +#define MAPSEC_CANYON_ENTRANCE 0xA8 +#define MAPSEC_SEVAULT_CANYON 0xA9 +#define MAPSEC_TANOBY_RUINS 0xAA +#define MAPSEC_SEVII_ISLE_22 0xAB +#define MAPSEC_SEVII_ISLE_23 0xAC +#define MAPSEC_SEVII_ISLE_24 0xAD +#define MAPSEC_NAVEL_ROCK 0xAE +#define MAPSEC_MT_EMBER 0xAF +#define MAPSEC_BERRY_FOREST 0xB0 +#define MAPSEC_ICEFALL_CAVE 0xB1 +#define MAPSEC_ROCKET_WAREHOUSE 0xB2 +#define MAPSEC_TRAINER_TOWER_2 0xB3 +#define MAPSEC_DOTTED_HOLE 0xB4 +#define MAPSEC_LOST_CAVE 0xB5 +#define MAPSEC_PATTERN_BUSH 0xB6 +#define MAPSEC_ALTERING_CAVE 0xB7 +#define MAPSEC_TANOBY_CHAMBERS 0xB8 +#define MAPSEC_THREE_ISLE_PATH 0xB9 +#define MAPSEC_TANOBY_KEY 0xBA +#define MAPSEC_BIRTH_ISLAND 0xBB +#define MAPSEC_MONEAN_CHAMBER 0xBC +#define MAPSEC_LIPTOO_CHAMBER 0xBD +#define MAPSEC_WEEPTH_CHAMBER 0xBE +#define MAPSEC_DILFORD_CHAMBER 0xBF +#define MAPSEC_SCUFIB_CHAMBER 0xC0 +#define MAPSEC_RIXY_CHAMBER 0xC1 +#define MAPSEC_VIAPOIS_CHAMBER 0xC2 +#define MAPSEC_EMBER_SPA 0xC3 +#define MAPSEC_SPECIAL_AREA 0xC4 +#define MAPSEC_NONE 0xC5 #endif //GUARD_CONSTANTS_REGION_MAP_H diff --git a/include/constants/songs.h b/include/constants/songs.h index e31a38fdc..fc42af3fc 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -250,6 +250,94 @@ #define SE_W287B 245 #define SE_W114 246 #define SE_W063B 247 +#define MUS_ME_ASA 256 +#define MUS_FANFA1 257 +#define MUS_FANFA4 258 +#define MUS_FANFA5 259 +#define MUS_ME_BACHI 260 +#define MUS_ME_WAZA 261 +#define MUS_ME_KINOMI 262 +#define BGM_FRLG_SAFARI_ZONE 264 +#define MUS_ME_B_BIG 268 +#define MUS_ME_B_SMALL 269 +#define MUS_ME_WASURE 270 +#define MUS_ME_ZANNEN 271 +#define BGM_FRLG_FOLLOW_ME 272 +#define BGM_FRLG_GAMECORNER 273 +#define BGM_FRLG_ROCKET_HIDEOUT 274 +#define BGM_FRLG_GYM 275 +#define BGM_FRLG_JIGGLYPUFF 276 +#define BGM_FRLG_OPENING 277 +#define BGM_FRLG_TITLE 278 +#define BGM_FRLG_CINNABAR_ISLAND 279 +#define BGM_FRLG_LAVENDER_TOWN 280 +#define BGM_FRLG_HEALING_TEST 281 +#define BGM_FRLG_BICYCLE 282 +#define BGM_FRLG_SUSPICIOUS_EYE 283 +#define BGM_FRLG_GIRL_EYE 284 +#define BGM_FRLG_BOY_EYE 285 +#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 286 +#define BGM_FRLG_VIRIDIAN_FOREST 287 +#define BGM_FRLG_MT_MOON 288 +#define BGM_FRLG_POKEMON_MANSION 289 +#define BGM_FRLG_CREDITS 290 +#define BGM_FRLG_ROUTE_1 291 +#define BGM_FRLG_ROUTE_24 292 +#define BGM_FRLG_ROUTE_3 293 +#define BGM_FRLG_ROUTE_11 294 +#define BGM_FRLG_INDIGO_PLATEAU 295 +#define BGM_FRLG_BATTLE_LEADER 296 +#define BGM_FRLG_BATTLE_TRAINER 297 +#define BGM_FRLG_BATTLE_WILD_POKEMON 298 +#define BGM_FRLG_BATTLE_CHAMPION 299 +#define BGM_FRLG_PALLET_TOWN 300 +#define BGM_FRLG_OAK_LAB 301 +#define BGM_FRLG_PROF_OAK 302 +#define BGM_FRLG_POKEMON_CENTER 303 +#define BGM_FRLG_SS_ANNE 304 +#define BGM_FRLG_SURF 305 +#define BGM_FRLG_POKEMON_TOWER 306 +#define BGM_FRLG_SILPH 307 +#define BGM_FRLG_CERULEAN_CITY 308 +#define BGM_FRLG_CELADON_CITY 309 +#define BGM_FRLG_KACHI_TRAINER 310 +#define BGM_FRLG_KACHI_WILD_POKEMON 311 +#define BGM_FRLG_KACHI_LEADER 312 +#define BGM_FRLG_VERMILION_CITY 313 +#define BGM_FRLG_VIRIDIAN_CITY 314 +#define BGM_FRLG_RIVAL 315 +#define BGM_FRLG_RIVAL_POSTBATTLE 316 +#define BGM_FRLG_ME_POKEDEX_EVAL 317 +#define BGM_FRLG_ME_KEYITEM 318 +#define BGM_FRLG_FANFA_POKEMON_CAUGHT 319 +#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 320 +#define BGM_FRLG_GAMEFREAK_LOGO 321 +#define BGM_FRLG_CAUGHT_POKEMON 322 +#define BGM_FRLG_GAME_EXPLANATION_START 323 +#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 324 +#define BGM_FRLG_GAME_EXPLANATION_END 325 +#define BGM_FRLG_POKEMON_JUMP 326 +#define BGM_FRLG_UNION_ROOM 327 +#define BGM_FRLG_POKEMON_NETWORK_CENTER 328 +#define BGM_FRLG_MYSTERY_GIFT 329 +#define BGM_FRLG_DODRIO_BERRY_PICK 330 +#define BGM_FRLG_MT_EMBER 331 +#define BGM_FRLG_TEACHY_TV_EPISODE 332 +#define BGM_FRLG_SEVII_ISLANDS 333 +#define BGM_FRLG_TANOBY_RUINS 334 +#define BGM_FRLG_ISLAND_ONE 335 +#define BGM_FRLG_ISLAND_FOUR 336 +#define BGM_FRLG_ISLAND_SIX 337 +#define BGM_FRLG_FLUTE 338 +#define BGM_FRLG_BATTLE_DEOXYS 339 +#define BGM_FRLG_BATTLE_MEWTWO 340 +#define BGM_FRLG_BATTLE_LEGENDARY 341 +#define BGM_FRLG_LEADER_EYE 342 +#define BGM_FRLG_DEOXYS_EYE 343 +#define BGM_FRLG_TRAINER_TOWER 344 +#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 345 +#define BGM_FRLG_TEACHY_TV 346 + #define BGM_STOP 349 #define BGM_TETSUJI 350 #define BGM_FIELD13 351 @@ -385,82 +473,6 @@ #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 index f698ada14..9cb239799 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -445,6 +445,9 @@ #define SPECIES_UNOWN_EMARK 438 #define SPECIES_UNOWN_QMARK 439 +#define SPECIES_OLD_UNOWN_EMARK 412 +#define SPECIES_OLD_UNOWN_QMARK 413 + #define NUM_SPECIES SPECIES_EGG #endif // GUARD_CONSTANTS_SPECIES_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 886bae93c..2f817fb02 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -54,7 +54,7 @@ #define VAR_0x402F 0x402F #define VAR_0x4030 0x4030 -#define VAR_0x4031 0x4031 +#define VAR_STARTER_MON 0x4031 #define VAR_0x4032 0x4032 #define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 diff --git a/include/decompress.h b/include/decompress.h index 36672dcfd..c2c4f0e1c 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -18,6 +18,8 @@ void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src); void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer); bool8 LoadCompressedObjectPaletteUsingHeap(const struct CompressedSpritePalette *src); +bool8 sub_800F078(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); diff --git a/include/event_scripts.h b/include/event_scripts.h index b909566d0..1762faf8e 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -705,4 +705,71 @@ extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[]; extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[]; +extern const u8 gOtherText_NewName[]; +extern const u8 gNameChoice_Green[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Red[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Fire[]; +extern const u8 gNameChoice_Gary[]; +extern const u8 gNameChoice_Kaz[]; +extern const u8 gNameChoice_Toru[]; +extern const u8 gNameChoice_Ash[]; +extern const u8 gNameChoice_Kene[]; +extern const u8 gNameChoice_Geki[]; +extern const u8 gNameChoice_Jak[]; +extern const u8 gNameChoice_Janne[]; +extern const u8 gNameChoice_Jonn[]; +extern const u8 gNameChoice_Kamon[]; +extern const u8 gNameChoice_Karl[]; +extern const u8 gNameChoice_Taylor[]; +extern const u8 gNameChoice_Oscar[]; +extern const u8 gNameChoice_Hiro[]; +extern const u8 gNameChoice_Max[]; +extern const u8 gNameChoice_Jon[]; +extern const u8 gNameChoice_Ralph[]; +extern const u8 gNameChoice_Kay[]; +extern const u8 gNameChoice_Tosh[]; +extern const u8 gNameChoice_Roak[]; +extern const u8 gNameChoice_Omi[]; +extern const u8 gNameChoice_Jodi[]; +extern const u8 gNameChoice_Amanda[]; +extern const u8 gNameChoice_Hillary[]; +extern const u8 gNameChoice_Makey[]; +extern const u8 gNameChoice_Michi[]; +extern const u8 gNameChoice_Paula[]; +extern const u8 gNameChoice_June[]; +extern const u8 gNameChoice_Cassie[]; +extern const u8 gNameChoice_Rey[]; +extern const u8 gNameChoice_Seda[]; +extern const u8 gNameChoice_Kiko[]; +extern const u8 gNameChoice_Mina[]; +extern const u8 gNameChoice_Norie[]; +extern const u8 gNameChoice_Sai[]; +extern const u8 gNameChoice_Momo[]; +extern const u8 gNameChoice_Suzi[]; +extern const u8 gNewGame_HelpDocs1[]; +extern const u8 gNewGame_HelpDocs2[]; +extern const u8 gNewGame_HelpDocs3[]; +extern const u8 gNewGame_HelpDocs4[]; +extern const u8 gNewGame_HelpDocs5[]; +extern const u8 gNewGame_HelpDocs6[]; +extern const u8 gNewGame_HelpDocs7[]; +extern const u8 gOakText_AskPlayerGender[]; +extern const u8 gNewGameAdventureIntro1[]; +extern const u8 gNewGameAdventureIntro2[]; +extern const u8 gNewGameAdventureIntro3[]; +extern const u8 gOakText_WelcomeToTheWorld[]; +extern const u8 gOakText_WorldInhabited1[]; +extern const u8 gOakText_WorldInhabited2[]; +extern const u8 gOakText_PetsBattlingStudy[]; +extern const u8 gOakText_TellMeALittleAboutYourself[]; +extern const u8 gOakText_AskPlayerName[]; +extern const u8 gOakText_FinalizePlayerName[]; +extern const u8 gOakText_IntroduceRival[]; +extern const u8 gOakText_AskRivalName[]; +extern const u8 gOakText_ConfirmRivalName[]; +extern const u8 gOakText_RememberRivalName[]; +extern const u8 gOakText_LegendAboutToUnfold[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_specials.h b/include/field_specials.h index 2d495fdd5..c1bc8e8c9 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,5 +6,6 @@ u8 GetLeadMonIndex(void); u8 CountDigits(u16 number); void TV_PrintIntToStringVar(u8, int); +u16 ScrSpecial_GetStarter(void); #endif // GUARD_FIELD_SPECIALS_H diff --git a/include/graphics.h b/include/graphics.h index d249ece10..83cc19bb3 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -150,4 +150,15 @@ extern const u16 gFameCheckerBgTiles[0xa50]; extern const u16 gFameCheckerBg3Tilemap[0x400]; extern const u16 gFameCheckerBg2Tilemap[0x400]; +// tm_case +extern const u32 gUnknown_8E845D8[]; +extern const u32 gUnknown_8E84A24[]; +extern const u32 gUnknown_8E84B70[]; +extern const u32 gUnknown_8E84CB0[]; +extern const u32 gUnknown_8E84D20[]; +extern const u32 gTMCase_TMSpriteGfx[]; +extern const u32 gUnknown_8E84F20[]; +extern const u32 gUnknown_8E85068[]; +extern const u8 gUnknown_8E99118[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/help_system.h b/include/help_system.h index 632788148..3ef5f53e4 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -6,5 +6,6 @@ extern bool8 gUnknown_3005ECC; void sub_812B484(void); +void HelpSystem_SetSomeVariable2(u8); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/item.h b/include/item.h index 25177cb6e..320b7ffec 100644 --- a/include/item.h +++ b/include/item.h @@ -66,4 +66,10 @@ void CopyItemName(u16, u8 *); void sub_809A824(u16 itemId); bool8 AddBagItem(u16 itemId, u16 amount); +void sub_809A5E4(struct BagPocket *); +u16 BagGetItemIdByPocketPosition(u8 a0, u16 a1); +u16 BagGetQuantityByPocketPosition(u8 a0, u16 a1); +bool8 itemid_is_unique(u16 itemId); +void sub_809A584(struct ItemSlot * slots, u8 capacity); + #endif // ITEM_H diff --git a/include/item_menu.h b/include/item_menu.h index a6128b9fb..9ebe3918a 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -12,6 +12,7 @@ extern u16 gSpecialVar_ItemId; // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); +void sub_8108CF0(void); void UseFameCheckerFromMenu(void); #endif //GUARD_ITEM_MENU_H diff --git a/include/list_menu.h b/include/list_menu.h index 8834e5215..3fd54d0d1 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -48,6 +48,7 @@ struct ListMenu { }; extern struct ListMenuTemplate gUnknown_03006310; +extern struct ListMenuTemplate gMultiuseListMenuTemplate; // Exported ROM declarations @@ -55,7 +56,8 @@ 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); -void sub_810713C(u8, u8, u8); +void DestroyListMenu(u8, u16 *, u16 *); u16 ListMenuGetYCoordForPrintingArrowCursor(u8); +void sub_8107D38(u8, u8); #endif //GUARD_LIST_MENU_H diff --git a/include/math_util.h b/include/math_util.h new file mode 100644 index 000000000..74dbbe98e --- /dev/null +++ b/include/math_util.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MATH_UTIL_H +#define GUARD_MATH_UTIL_H + +s16 sub_80D8B90(s16 y); + +#endif //GUARD_MATH_UTIL_H diff --git a/include/menu.h b/include/menu.h index b5078df5e..4a5bd8a2c 100644 --- a/include/menu.h +++ b/include/menu.h @@ -38,5 +38,17 @@ void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSp void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); void *sub_80F68F0(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); +void CreateWindow_SnapRight_StdPal(u8, u8, u8, u8, u16); +void Menu_PrintHelpSystemUIHeader(const u8 *, const u8 *, u8, u32, u8); +void PrintTextOnRightSnappedWindow(const u8 *, u32, u8); +void sub_810F71C(void); +void sub_810F740(void); +u8 ProgramAndPlaceMenuCursorOnWindow(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPosition); +void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); + +void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); +bool8 IsBlendTaskActive(void); +void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); +void sub_810F260(u8 windowId, u8 a1); #endif // GUARD_MENU_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index b193388e5..e27fb4e5d 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -18,6 +18,13 @@ 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); +bool8 sub_80BF72C(void); bool8 sub_80BF708(void); +void sub_80BF768(void); +void sub_80BF7C8(void); +u8 sub_80BF8E4(void); +u8 sub_80BF848(s16 * a0, u16 a1); +void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 arg2, u8 arg3, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); +void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate * unk1, u8 unk2, u8 unk3, u8 unk4, u8 unk5, u8 unk6, const struct YesNoFuncTable *ptrs); #endif //GUARD_MENU_HELPERS_H diff --git a/include/money.h b/include/money.h index fa63e321c..5bcef18d4 100644 --- a/include/money.h +++ b/include/money.h @@ -10,13 +10,14 @@ void AddMoney(u32* moneyPtr, u32 toAdd); void RemoveMoney(u32* moneyPtr, u32 toSub); bool8 IsEnoughForCostInVar0x8005(void); void SubtractMoneyFromVar0x8005(void); -void PrintMoneyAmountInMoneyBoxInMoneyBox(u8 windowId, int amount, u8 speed); -void PrintMoneyAmountInMoneyBox(u8 windowId, u8 x, u8 y, int amount, u8 speed); -void PrintMoneyAmountInMoneyBoxInMoneyBoxWithBorder(u8 windowId, u16 tileStart, u8 pallete, int amount); +void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed); +void PrintMoneyAmountInMoneyBox(u8 windowId, 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); +void PrintMoneyAmount(u8 windowId, u8 x, u8 y, int amount, u8 speed); #endif // GUARD_MONEY_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index e22f89f44..b17326667 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -15,14 +15,20 @@ void sub_8197434(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); -void sub_80F6F54(u8, u8); -u8 sub_80F78A8(void); +void ClearDialogWindowAndFrame(u8, u8); +u8 GetTextSpeedSetting(void); void sub_80F6E9C(void); -void sub_80F6EE4(u8 windowId, bool8 transfer); +void DrawDialogueFrame(u8 windowId, bool8 transfer); void sub_80F7974(const u8 *); u8 GetStartMenuWindowId(void); void sub_80F7998(void); void sub_80F69E8(u8 bgId, const void *src, u32 size, u16 offset, u8 mode); -void sub_80F6F1C(u8 windowId, bool8 copyNow); +void DrawStdWindowFrame(u8 windowId, bool8 copyNow); +void InitStandardTextBoxWindows(void); +void ResetBg0(void); +void Menu_LoadStdPalAt(u16); +void * malloc_and_decompress(const void * src, u32 * size); +u16 sub_80F796C(void); +void sub_80F6B08(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/oak_speech.h b/include/oak_speech.h new file mode 100644 index 000000000..d5d94bc83 --- /dev/null +++ b/include/oak_speech.h @@ -0,0 +1,6 @@ +#ifndef GUARD_OAK_SPEECH_H +#define GUARD_OAK_SPEECH_H + +void StartNewGameScene(void); + +#endif //GUARD_OAK_SPEECH_H diff --git a/include/overworld.h b/include/overworld.h index b32d9cf48..8c32d3e06 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -99,5 +99,6 @@ extern u8 gUnknown_2036E28; extern bool8 (* gUnknown_3005024)(void); void SetLastHealLocationWarp(u8 healLocaionId); void sub_8055864(u8 mapGroup, u8 mapNum); +void CB2_NewGame(void); #endif //GUARD_ROM4_H diff --git a/include/party_menu.h b/include/party_menu.h index 2e83c1496..5f7a3a68e 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -12,10 +12,16 @@ enum { AILMENT_BRN }; +extern void (*gUnknown_3005E98)(u8 taskId, TaskFunc func); + bool8 MonKnowsMove(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); u8 pokemon_ailments_get_primary(u32 status); u16 ItemIdToBattleMoveId(u16 itemId); +void sub_8125B40(u8 taskId, TaskFunc func); +void sub_8124C8C(void); +void sub_8126EDC(void); +void c2_8123744(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokeball.h b/include/pokeball.h index 10a9529b9..5545f8870 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -24,7 +24,8 @@ enum #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); +void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h); +u8 sub_804BB98(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h); 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); diff --git a/include/pokemon.h b/include/pokemon.h index f1f04c9eb..c84eb4c42 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -445,6 +445,8 @@ struct BattleMove u8 flags; }; +extern const struct BattleMove gBattleMoves[]; + #define FLAG_MAKES_CONTACT 0x1 #define FLAG_PROTECT_AFFECTED 0x2 #define FLAG_MAGICCOAT_AFFECTED 0x4 @@ -673,5 +675,6 @@ void BattleAnimateBackSprite(struct Sprite* sprite, u16 species); void PlayMapChosenOrBattleBGM(u16 songId); u8 GetMonsStateToDoubles(void); void sub_803E0A4(struct Pokemon *mon, struct BattleTowerPokemon *src); +void sub_803F7D4(u16 trainerSpriteId, u8 battlerPosition); #endif // GUARD_POKEMON_H diff --git a/include/pokemon_3.h b/include/pokemon_3.h index cffc9780b..e65bc85fc 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -5,5 +5,8 @@ const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); +void * SetUpMonSpriteManagerMaybe(u8, u8); +void sub_8044D80(void); +void * sub_8044E00(u8 buffId); #endif // GUARD_POKEMON_3_H diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 897c5a42e..f2fbe85a7 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -13,5 +13,6 @@ void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); void sub_808BCB4(u8 boxId, u8 monPosition); u8 * GetBoxNamePtr(u8 boxId); +void sub_808CE60(void); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/scanline_effect.h b/include/scanline_effect.h index d49f5b4d6..711ed7da8 100644 --- a/include/scanline_effect.h +++ b/include/scanline_effect.h @@ -1,6 +1,48 @@ #ifndef GUARD_SCANLINE_EFFECT_H #define GUARD_SCANLINE_EFFECT_H -void remove_some_task(void); +// DMA control value to transfer a single 16-bit value at HBlank +#define SCANLINE_EFFECT_DMACNT_16BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_16BIT | DMA_DEST_RELOAD) << 16) | 1) +#define SCANLINE_EFFECT_DMACNT_32BIT (((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_SRC_INC | DMA_DEST_INC | DMA_32BIT | DMA_DEST_RELOAD) << 16) | 1) -#endif //GUARD_SCANLINE_EFFECT_H +#define SCANLINE_EFFECT_REG_BG0HOFS (REG_ADDR_BG0HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG0VOFS (REG_ADDR_BG0VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1HOFS (REG_ADDR_BG1HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG1VOFS (REG_ADDR_BG1VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2HOFS (REG_ADDR_BG2HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG2VOFS (REG_ADDR_BG2VOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3HOFS (REG_ADDR_BG3HOFS - REG_ADDR_BG0HOFS) +#define SCANLINE_EFFECT_REG_BG3VOFS (REG_ADDR_BG3VOFS - REG_ADDR_BG0HOFS) + +struct ScanlineEffectParams +{ + volatile void *dmaDest; + u32 dmaControl; + u8 initState; + u8 unused9; +}; + +struct ScanlineEffect +{ + void *dmaSrcBuffers[2]; + volatile void *dmaDest; + u32 dmaControl; + void (*setFirstScanlineReg)(void); + u8 srcBuffer; + u8 state; + u8 unused16; + u8 unused17; + u8 waveTaskId; +}; + +extern struct ScanlineEffect gScanlineEffect; + +extern u16 gScanlineEffectRegBuffers[2][0x3C0]; + +void ScanlineEffect_Stop(void); +void ScanlineEffect_Clear(void); +void ScanlineEffect_SetParams(struct ScanlineEffectParams); +void ScanlineEffect_InitHBlankDmaTransfer(void); +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 a7); + +#endif // GUARD_SCANLINE_EFFECT_H
\ No newline at end of file diff --git a/include/shop.h b/include/shop.h index 1046a590a..05f5160e6 100644 --- a/include/shop.h +++ b/include/shop.h @@ -8,5 +8,6 @@ extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; void CreatePokemartMenu(const u16 *); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); +void sub_809C09C(u16, u16, u8); #endif // GUARD_SHOP_H diff --git a/include/strings.h b/include/strings.h index 40021a01d..6af1b0d69 100644 --- a/include/strings.h +++ b/include/strings.h @@ -92,4 +92,27 @@ extern const u8 gText_Coins[]; extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; +extern const u8 gOtherText_Use[]; +extern const u8 gOtherText_Give[]; +extern const u8 gOtherText_Exit[]; +extern const u8 gText_ThreeHyphens[]; +extern const u8 gOtherText_UnkF9_08_Clear_01[]; +extern const u8 gFameCheckerText_ListMenuCursor[]; +extern const u8 gText_TimesStrVar1[]; +extern const u8 gText_IsSelected[]; +extern const u8 gText_ThereIsNoPokemon[]; +extern const u8 gText_ItemCantBeHeld[]; +extern const u8 gText_TMCase[]; +extern const u8 gText_Close[]; +extern const u8 gText_TMCaseWillBePutAway[]; +extern const u8 gText_FontSize0[]; +extern const u8 gText_FontSize2[]; +extern const u8 gText_OhNoICantBuyThat[]; +extern const u8 gText_HowManyWouldYouLikeToSell[]; +extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[]; +extern const u8 gText_TurnedOverItemsWorthYen[]; +extern const u8 gPokeDudeText_TMTypes[]; +extern const u8 gPokeDudeText_ReadTMDescription[]; +extern const u16 gTMCaseMainWindowPalette[]; + #endif //GUARD_STRINGS_H diff --git a/include/teachy_tv.h b/include/teachy_tv.h new file mode 100644 index 000000000..374780c04 --- /dev/null +++ b/include/teachy_tv.h @@ -0,0 +1,7 @@ +#ifndef GUARD_TEACHY_TV_H +#define GUARD_TEACHY_TV_H + +void CB2_ReturnToTeachyTV(void); +void sub_815AC20(void); + +#endif //GUARD_TEACHY_TV_H diff --git a/include/text.h b/include/text.h index e127f103a..d2c2ecf42 100644 --- a/include/text.h +++ b/include/text.h @@ -250,5 +250,7 @@ s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); +u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); +void sub_8006398(u8 spriteId); #endif // GUARD_TEXT_H diff --git a/include/text_window.h b/include/text_window.h index 72ce50efc..8a4113c62 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -20,6 +20,8 @@ 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); +void sub_814FEAC(u8 windowId, u16 tileStart, u8 palette); void sub_814FF2C(u8 windowId, u16 tileStart, u8 palette); +void sub_815001C(u8 windowId, u16 tileStart, u8 palette); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/tm_case.h b/include/tm_case.h new file mode 100644 index 000000000..f77eae457 --- /dev/null +++ b/include/tm_case.h @@ -0,0 +1,8 @@ +#ifndef GUARD_TM_CASE_H +#define GUARD_TM_CASE_H + +void InitTMCase(u8 a0, void (* a1)(void), u8 a2); +void ResetTMCaseCursorPos(void); +void PokeDude_InitTMCase(void); + +#endif //GUARD_TM_CASE_H diff --git a/include/unknown_task.h b/include/unknown_task.h deleted file mode 100644 index 429e58aad..000000000 --- a/include/unknown_task.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef GUARD_unknown_task_H -#define GUARD_unknown_task_H - -#include "global.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/wild_encounter.h b/include/wild_encounter.h index 2186e0b4f..b4c42116a 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -43,5 +43,6 @@ u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); void sub_8082740(u8); +u8 GetUnownLetterByPersonality(u32 personality); #endif // GUARD_WILD_ENCOUNTER_H diff --git a/include/window.h b/include/window.h index 2705a7895..8edaf73ae 100644 --- a/include/window.h +++ b/include/window.h @@ -56,7 +56,7 @@ 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 BlitBitmapToWindow(u8 windowId, const 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); diff --git a/ld_script.txt b/ld_script.txt index 39a12e328..bd94c2055 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -106,7 +106,7 @@ SECTIONS { src/scrcmd.o(.text); asm/field_control_avatar.o(.text); asm/event_data.o(.text); - asm/coord_event_weather.o(.text); + src/coord_event_weather.o(.text); asm/field_tasks.o(.text); asm/start_menu.o(.text); asm/tileset_anims.o(.text); @@ -128,7 +128,7 @@ SECTIONS { asm/trainer_see.o(.text); asm/wild_encounter.o(.text); asm/field_effect.o(.text); - asm/unknown_task.o(.text); + src/scanline_effect.o(.text); asm/option_menu.o(.text); asm/pokedex.o(.text); asm/trainer_card.o(.text); @@ -227,9 +227,9 @@ SECTIONS { asm/help_system_812B1E0.o(.text); src/quest_log_battle.o(.text); src/fame_checker.o(.text); - asm/menu2.o(.text); - asm/oak_speech.o(.text); - asm/tm_case.o(.text); + src/menu2.o(.text); + src/oak_speech.o(.text); + src/tm_case.o(.text); asm/menu_indicators.o(.text); asm/pokedex_area_markers.o(.text); asm/pokemon_summary_screen.o(.text); @@ -240,7 +240,7 @@ SECTIONS { asm/itemfinder.o(.text); asm/buy_menu_helpers.o(.text); asm/slot_machine.o(.text); - asm/roamer.o(.text); + src/roamer.o(.text); asm/mystery_gift_menu.o(.text); asm/link_rfu_4.o(.text); src/mevent.o(.text); @@ -370,9 +370,24 @@ SECTIONS { src/fieldmap.o(.rodata); src/metatile_behavior.o(.rodata); data/metatile_behavior.o(.rodata); - data/data_835B488.o(.rodata); + data/field_door.o(.rodata); + data/field_player_avatar.o(.rodata); + data/field_map_obj.o(.rodata); + data/field_ground_effect.o(.rodata); + data/map_obj_80688E4.o(.rodata); src/scrcmd.o(.rodata); - data/data_835B488.o(.rodata.83A72A0); + src/coord_event_weather.o(.rodata); + data/field_tasks.o(.rodata); + data/start_menu.o(.rodata); + data/tileset_anims.o(.rodata); + data/palette.o(.rodata); + src/sound.o(.rodata); + data/battle_anim.o(.rodata); + data/map_events.o(.rodata); + data/battle_anim_status_effects.o(.rodata); + data/title_screen.o(.rodata); + data/field_weather.o(.rodata); + data/data_835B488.o(.rodata); src/battle_ai_script_commands.o(.rodata); data/data_83F5738.o(.rodata); src/save.o(.rodata); @@ -382,7 +397,22 @@ SECTIONS { src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/fame_checker.o(.rodata); - data/data_845FD54.o(.rodata); + src/menu2.o(.rodata); + src/oak_speech.o(.rodata); + src/tm_case.o(.rodata); + data/menu_indicators.o(.rodata); + data/pokedex_area_markers.o(.rodata); + data/pokemon_summary_screen.o(.rodata); + data/help_system.o(.rodata); + data/wild_pokemon_area.o(.rodata); + data/unk_text_util.o(.rodata); + data/berry_pouch.o(.rodata); + data/itemfinder.o(.rodata); + data/buy_menu_helpers.o(.rodata); + data/slot_machine.o(.rodata); + src/roamer.o(.rodata); + data/mystery_gift_menu.o(.rodata); + data/link_rfu_4.o(.rodata); src/mevent.o(.rodata); src/mevent_server_helpers.o(.rodata); src/mevent_server.o(.rodata); diff --git a/src/coord_event_weather.c b/src/coord_event_weather.c new file mode 100644 index 000000000..4dbdd574b --- /dev/null +++ b/src/coord_event_weather.c @@ -0,0 +1,47 @@ +#include "global.h" + +void nullsub_27(void) {} +void nullsub_28(void) {} +void nullsub_29(void) {} +void nullsub_30(void) {} +void nullsub_31(void) {} +void nullsub_32(void) {} +void nullsub_33(void) {} +void nullsub_34(void) {} +void nullsub_35(void) {} +void nullsub_36(void) {} +void nullsub_37(void) {} +void nullsub_38(void) {} +void nullsub_39(void) {} + +struct { + u8 weatherId; + void (*callback)(void); +} const gUnknown_83A72A8[] = { + {0x01, nullsub_27}, + {0x02, nullsub_28}, + {0x03, nullsub_29}, + {0x04, nullsub_30}, + {0x05, nullsub_31}, + {0x06, nullsub_32}, + {0x07, nullsub_33}, + {0x08, nullsub_34}, + {0x09, nullsub_35}, + {0x0a, nullsub_36}, + {0x0b, nullsub_37}, + {0x14, nullsub_38}, + {0x15, nullsub_39} +}; + +void trigger_activate_weather(u8 weatherId) +{ + u8 i; + for (i = 0; i < NELEMS(gUnknown_83A72A8); i++) + { + if (gUnknown_83A72A8[i].weatherId == weatherId) + { + gUnknown_83A72A8[i].callback(); + return; + } + } +} diff --git a/src/fame_checker.c b/src/fame_checker.c index bbbe02c58..c47e52f06 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -779,7 +779,7 @@ static void GetPickModeText(void) if (HasUnlockedAllFlavorTextsForCurrentPerson() == TRUE) offset = NUM_FAMECHECKER_PERSONS; StringExpandPlaceholders(gStringVar4, sFameCheckerNameAndQuotesPointers[sFameCheckerData->unlockedPersons[who] + offset]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } } @@ -790,7 +790,7 @@ static void PrintSelectedNameInBrightGreen(u8 taskId) u16 cursorPos = FameCheckerGetCursorY(); FillWindowPixelRect(FCWINDOWID_MSGBOX, 0x11, 0, 0, 0xd0, 0x20); StringExpandPlaceholders(gStringVar4, sFameCheckerFlavorTextPointers[sFameCheckerData->unlockedPersons[cursorPos] * 6 + data[1]]); - AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, sub_80F78A8(), NULL, 2, 1, 3); + AddTextPrinterParametrized(FCWINDOWID_MSGBOX, 2, gStringVar4, GetTextSpeedSetting(), NULL, 2, 1, 3); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); } @@ -803,7 +803,7 @@ static void WipeMsgBoxAndTransfer(void) static void Setup_DrawMsgAndListBoxes(void) { sub_80F6E9C(); - sub_80F6EE4(FCWINDOWID_MSGBOX, TRUE); + DrawDialogueFrame(FCWINDOWID_MSGBOX, TRUE); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_MSGBOX); FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_LIST); } @@ -853,7 +853,7 @@ static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId) FreeQuestionMarkSpriteResources(); FreeListMenuSelectorArrowPairResources(); SetMainCallback2(sFameCheckerData->savedCallback); - sub_810713C(sFameCheckerData->listMenuTaskId, 0, 0); + DestroyListMenu(sFameCheckerData->listMenuTaskId, NULL, NULL); Free(sBg3TilemapBuffer); Free(sBg1TilemapBuffer); Free(sBg2TilemapBuffer); @@ -1009,7 +1009,7 @@ static void FCSetup_ClearVideoRegisters(void) static void FCSetup_ResetTasksAndSpriteResources(void) { - remove_some_task(); + ScanlineEffect_Stop(); ResetTasks(); ResetSpriteData(); dp13_810BB8C(); diff --git a/src/main.c b/src/main.c index 068cc8578..bfab49c49 100644 --- a/src/main.c +++ b/src/main.c @@ -29,7 +29,7 @@ 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 ScanlineEffect_Stop(void); extern void sub_80F50F4(void); extern bool32 sub_80F5118(void); extern bool8 sub_813B870(void); @@ -441,7 +441,7 @@ void DoSoftReset(void) { REG_IME = 0; m4aSoundVSyncOff(); - remove_some_task(); + ScanlineEffect_Stop(); DmaStop(1); DmaStop(2); DmaStop(3); diff --git a/src/menu2.c b/src/menu2.c new file mode 100644 index 000000000..ec244b8f7 --- /dev/null +++ b/src/menu2.c @@ -0,0 +1,851 @@ +#include "global.h" +#include "text.h" +#include "gpu_regs.h" +#include "task.h" +#include "wild_encounter.h" +#include "string_util.h" +#include "constants/species.h" + +static void Task_SmoothBlendLayers(u8 taskId); + +static const u8 gUnknown_845FD54[][5] = { + [SPECIES_BULBASAUR - 1] = {0x16, 0x1b, 0x30, 0x16, 0x29}, + [SPECIES_IVYSAUR - 1] = {0x14, 0x1b, 0x30, 0x15, 0x2a}, + [SPECIES_VENUSAUR - 1] = {0x1b, 0x20, 0x20, 0x1b, 0x33}, + [SPECIES_CHARMANDER - 1] = {0x14, 0x0f, 0x38, 0x13, 0x1e}, + [SPECIES_CHARMELEON - 1] = {0x0d, 0x11, 0x30, 0x0f, 0x22}, + [SPECIES_CHARIZARD - 1] = {0x1b, 0x07, 0x28, 0x1a, 0x19}, + [SPECIES_SQUIRTLE - 1] = {0x19, 0x13, 0x30, 0x1a, 0x22}, + [SPECIES_WARTORTLE - 1] = {0x16, 0x13, 0x30, 0x17, 0x21}, + [SPECIES_BLASTOISE - 1] = {0x12, 0x08, 0x28, 0x15, 0x19}, + [SPECIES_CATERPIE - 1] = {0x15, 0x14, 0x30, 0x13, 0x24}, + [SPECIES_METAPOD - 1] = {0x13, 0x1d, 0x30, 0x18, 0x2a}, + [SPECIES_BUTTERFREE - 1] = {0x12, 0x1b, 0x08, 0x12, 0x2a}, + [SPECIES_WEEDLE - 1] = {0x16, 0x1c, 0x30, 0x15, 0x2b}, + [SPECIES_KAKUNA - 1] = {0x19, 0x13, 0x30, 0x1a, 0x24}, + [SPECIES_BEEDRILL - 1] = {0x19, 0x16, 0x08, 0x19, 0x25}, + [SPECIES_PIDGEY - 1] = {0x15, 0x12, 0x30, 0x12, 0x1e}, + [SPECIES_PIDGEOTTO - 1] = {0x24, 0x0e, 0x30, 0x1f, 0x1e}, + [SPECIES_PIDGEOT - 1] = {0x0c, 0x13, 0x08, 0x0a, 0x23}, + [SPECIES_RATTATA - 1] = {0x17, 0x1e, 0x30, 0x18, 0x2d}, + [SPECIES_RATICATE - 1] = {0x12, 0x14, 0x30, 0x10, 0x26}, + [SPECIES_SPEAROW - 1] = {0x15, 0x14, 0x30, 0x15, 0x1f}, + [SPECIES_FEAROW - 1] = {0x0c, 0x27, 0x00, 0x0b, 0x3f}, + [SPECIES_EKANS - 1] = {0x11, 0x0f, 0x30, 0x14, 0x1d}, + [SPECIES_ARBOK - 1] = {0x1b, 0x01, 0x28, 0x1d, 0x10}, + [SPECIES_PIKACHU - 1] = {0x19, 0x13, 0x30, 0x1a, 0x1f}, + [SPECIES_RAICHU - 1] = {0x19, 0x14, 0x28, 0x1c, 0x22}, + [SPECIES_SANDSHREW - 1] = {0x17, 0x16, 0x30, 0x18, 0x25}, + [SPECIES_SANDSLASH - 1] = {0x11, 0x13, 0x28, 0x13, 0x22}, + [SPECIES_NIDORAN_F - 1] = {0x16, 0x15, 0x30, 0x18, 0x21}, + [SPECIES_NIDORINA - 1] = {0x1f, 0x17, 0x30, 0x1e, 0x28}, + [SPECIES_NIDOQUEEN - 1] = {0x10, 0x0b, 0x28, 0x13, 0x1c}, + [SPECIES_NIDORAN_M - 1] = {0x15, 0x22, 0x28, 0x15, 0x31}, + [SPECIES_NIDORINO - 1] = {0x13, 0x1e, 0x28, 0x1b, 0x2d}, + [SPECIES_NIDOKING - 1] = {0x12, 0x15, 0x28, 0x13, 0x27}, + [SPECIES_CLEFAIRY - 1] = {0x19, 0x14, 0x30, 0x1b, 0x24}, + [SPECIES_CLEFABLE - 1] = {0x1c, 0x12, 0x30, 0x1d, 0x21}, + [SPECIES_VULPIX - 1] = {0x10, 0x16, 0x30, 0x0e, 0x25}, + [SPECIES_NINETALES - 1] = {0x28, 0x10, 0x28, 0x27, 0x1e}, + [SPECIES_JIGGLYPUFF - 1] = {0x1d, 0x15, 0x30, 0x1e, 0x25}, + [SPECIES_WIGGLYTUFF - 1] = {0x1a, 0x12, 0x30, 0x1c, 0x22}, + [SPECIES_ZUBAT - 1] = {0x14, 0x1d, 0x08, 0x14, 0x29}, + [SPECIES_GOLBAT - 1] = {0x23, 0x1a, 0x00, 0x21, 0x2e}, + [SPECIES_ODDISH - 1] = {0x1d, 0x20, 0x28, 0x1d, 0x2b}, + [SPECIES_GLOOM - 1] = {0x1c, 0x18, 0x28, 0x1c, 0x27}, + [SPECIES_VILEPLUME - 1] = {0x1c, 0x1e, 0x28, 0x1d, 0x2a}, + [SPECIES_PARAS - 1] = {0x1d, 0x1a, 0x30, 0x1c, 0x27}, + [SPECIES_PARASECT - 1] = {0x1e, 0x1c, 0x28, 0x20, 0x2e}, + [SPECIES_VENONAT - 1] = {0x1b, 0x16, 0x10, 0x1a, 0x29}, + [SPECIES_VENOMOTH - 1] = {0x12, 0x19, 0x08, 0x16, 0x27}, + [SPECIES_DIGLETT - 1] = {0x1e, 0x16, 0x30, 0x1c, 0x23}, + [SPECIES_DUGTRIO - 1] = {0x1a, 0x11, 0x30, 0x1a, 0x1f}, + [SPECIES_MEOWTH - 1] = {0x1c, 0x16, 0x30, 0x1c, 0x23}, + [SPECIES_PERSIAN - 1] = {0x13, 0x13, 0x30, 0x13, 0x21}, + [SPECIES_PSYDUCK - 1] = {0x1c, 0x13, 0x30, 0x17, 0x29}, + [SPECIES_GOLDUCK - 1] = {0x17, 0x12, 0x28, 0x17, 0x22}, + [SPECIES_MANKEY - 1] = {0x1c, 0x15, 0x30, 0x1b, 0x23}, + [SPECIES_PRIMEAPE - 1] = {0x1e, 0x16, 0x30, 0x1a, 0x27}, + [SPECIES_GROWLITHE - 1] = {0x14, 0x17, 0x30, 0x14, 0x24}, + [SPECIES_ARCANINE - 1] = {0x0f, 0x09, 0x28, 0x0c, 0x19}, + [SPECIES_POLIWAG - 1] = {0x15, 0x14, 0x30, 0x13, 0x1f}, + [SPECIES_POLIWHIRL - 1] = {0x1f, 0x10, 0x30, 0x1e, 0x17}, + [SPECIES_POLIWRATH - 1] = {0x22, 0x0c, 0x30, 0x21, 0x18}, + [SPECIES_ABRA - 1] = {0x1f, 0x13, 0x30, 0x1f, 0x21}, + [SPECIES_KADABRA - 1] = {0x1b, 0x12, 0x30, 0x1c, 0x25}, + [SPECIES_ALAKAZAM - 1] = {0x1c, 0x11, 0x28, 0x1d, 0x26}, + [SPECIES_MACHOP - 1] = {0x1b, 0x11, 0x30, 0x1b, 0x1e}, + [SPECIES_MACHOKE - 1] = {0x1d, 0x11, 0x30, 0x1d, 0x1f}, + [SPECIES_MACHAMP - 1] = {0x1a, 0x0d, 0x28, 0x1c, 0x1b}, + [SPECIES_BELLSPROUT - 1] = {0x15, 0x0e, 0x30, 0x0e, 0x1c}, + [SPECIES_WEEPINBELL - 1] = {0x1a, 0x1c, 0x10, 0x15, 0x32}, + [SPECIES_VICTREEBEL - 1] = {0x1e, 0x0f, 0x30, 0x1c, 0x1b}, + [SPECIES_TENTACOOL - 1] = {0x1a, 0x15, 0x30, 0x1e, 0x26}, + [SPECIES_TENTACRUEL - 1] = {0x1b, 0x10, 0x28, 0x1c, 0x26}, + [SPECIES_GEODUDE - 1] = {0x1c, 0x20, 0x28, 0x1d, 0x2d}, + [SPECIES_GRAVELER - 1] = {0x1d, 0x19, 0x28, 0x1e, 0x26}, + [SPECIES_GOLEM - 1] = {0x19, 0x1b, 0x28, 0x1c, 0x27}, + [SPECIES_PONYTA - 1] = {0x0f, 0x11, 0x30, 0x0e, 0x23}, + [SPECIES_RAPIDASH - 1] = {0x2f, 0x0f, 0x28, 0x2b, 0x1e}, + [SPECIES_SLOWPOKE - 1] = {0x14, 0x1f, 0x28, 0x15, 0x2f}, + [SPECIES_SLOWBRO - 1] = {0x0e, 0x0d, 0x28, 0x0c, 0x1f}, + [SPECIES_MAGNEMITE - 1] = {0x20, 0x1b, 0x10, 0x1f, 0x29}, + [SPECIES_MAGNETON - 1] = {0x1f, 0x14, 0x08, 0x1f, 0x22}, + [SPECIES_FARFETCHD - 1] = {0x16, 0x14, 0x30, 0x16, 0x29}, + [SPECIES_DODUO - 1] = {0x11, 0x16, 0x30, 0x0d, 0x2c}, + [SPECIES_DODRIO - 1] = {0x1d, 0x04, 0x28, 0x0e, 0x07}, + [SPECIES_SEEL - 1] = {0x1b, 0x24, 0x20, 0x17, 0x35}, + [SPECIES_DEWGONG - 1] = {0x12, 0x0a, 0x30, 0x0e, 0x1a}, + [SPECIES_GRIMER - 1] = {0x1f, 0x10, 0x30, 0x1d, 0x25}, + [SPECIES_MUK - 1] = {0x17, 0x0f, 0x30, 0x19, 0x22}, + [SPECIES_SHELLDER - 1] = {0x1a, 0x18, 0x30, 0x17, 0x29}, + [SPECIES_CLOYSTER - 1] = {0x19, 0x1e, 0x28, 0x1d, 0x2c}, + [SPECIES_GASTLY - 1] = {0x1a, 0x1f, 0x08, 0x19, 0x30}, + [SPECIES_HAUNTER - 1] = {0x20, 0x14, 0x08, 0x1d, 0x26}, + [SPECIES_GENGAR - 1] = {0x1a, 0x16, 0x30, 0x19, 0x28}, + [SPECIES_ONIX - 1] = {0x1f, 0x24, 0x20, 0x28, 0x36}, + [SPECIES_DROWZEE - 1] = {0x1a, 0x0e, 0x30, 0x1a, 0x1e}, + [SPECIES_HYPNO - 1] = {0x1c, 0x12, 0x30, 0x19, 0x24}, + [SPECIES_KRABBY - 1] = {0x1d, 0x1d, 0x30, 0x1a, 0x2b}, + [SPECIES_KINGLER - 1] = {0x1e, 0x1f, 0x28, 0x1c, 0x30}, + [SPECIES_VOLTORB - 1] = {0x1c, 0x1b, 0x30, 0x1b, 0x2b}, + [SPECIES_ELECTRODE - 1] = {0x1c, 0x18, 0x30, 0x1d, 0x2e}, + [SPECIES_EXEGGCUTE - 1] = {0x21, 0x17, 0x30, 0x20, 0x24}, + [SPECIES_EXEGGUTOR - 1] = {0x1c, 0x17, 0x28, 0x1b, 0x25}, + [SPECIES_CUBONE - 1] = {0x1b, 0x12, 0x30, 0x1b, 0x22}, + [SPECIES_MAROWAK - 1] = {0x14, 0x0f, 0x30, 0x11, 0x23}, + [SPECIES_HITMONLEE - 1] = {0x2e, 0x11, 0x30, 0x28, 0x22}, + [SPECIES_HITMONCHAN - 1] = {0x22, 0x0e, 0x30, 0x1e, 0x1d}, + [SPECIES_LICKITUNG - 1] = {0x14, 0x11, 0x30, 0x14, 0x24}, + [SPECIES_KOFFING - 1] = {0x1e, 0x14, 0x10, 0x1d, 0x20}, + [SPECIES_WEEZING - 1] = {0x11, 0x0d, 0x10, 0x0f, 0x1c}, + [SPECIES_RHYHORN - 1] = {0x0e, 0x23, 0x20, 0x14, 0x33}, + [SPECIES_RHYDON - 1] = {0x0d, 0x12, 0x28, 0x17, 0x22}, + [SPECIES_CHANSEY - 1] = {0x1a, 0x0d, 0x30, 0x1a, 0x1a}, + [SPECIES_TANGELA - 1] = {0x1c, 0x18, 0x30, 0x1d, 0x29}, + [SPECIES_KANGASKHAN - 1] = {0x1b, 0x06, 0x28, 0x1c, 0x14}, + [SPECIES_HORSEA - 1] = {0x1c, 0x14, 0x30, 0x16, 0x23}, + [SPECIES_SEADRA - 1] = {0x10, 0x17, 0x30, 0x09, 0x2a}, + [SPECIES_GOLDEEN - 1] = {0x16, 0x23, 0x20, 0x15, 0x34}, + [SPECIES_SEAKING - 1] = {0x16, 0x0f, 0x30, 0x10, 0x18}, + [SPECIES_STARYU - 1] = {0x1c, 0x18, 0x30, 0x1a, 0x26}, + [SPECIES_STARMIE - 1] = {0x1d, 0x13, 0x30, 0x1b, 0x20}, + [SPECIES_MR_MIME - 1] = {0x24, 0x11, 0x30, 0x25, 0x1e}, + [SPECIES_SCYTHER - 1] = {0x10, 0x19, 0x28, 0x12, 0x27}, + [SPECIES_JYNX - 1] = {0x1b, 0x0f, 0x30, 0x19, 0x1c}, + [SPECIES_ELECTABUZZ - 1] = {0x14, 0x11, 0x30, 0x17, 0x20}, + [SPECIES_MAGMAR - 1] = {0x10, 0x0e, 0x30, 0x0b, 0x19}, + [SPECIES_PINSIR - 1] = {0x1d, 0x1c, 0x28, 0x20, 0x2b}, + [SPECIES_TAUROS - 1] = {0x11, 0x1d, 0x28, 0x13, 0x2e}, + [SPECIES_MAGIKARP - 1] = {0x16, 0x15, 0x30, 0x13, 0x23}, + [SPECIES_GYARADOS - 1] = {0x0b, 0x18, 0x28, 0x16, 0x29}, + [SPECIES_LAPRAS - 1] = {0x16, 0x08, 0x28, 0x15, 0x16}, + [SPECIES_DITTO - 1] = {0x24, 0x12, 0x30, 0x1f, 0x20}, + [SPECIES_EEVEE - 1] = {0x16, 0x16, 0x30, 0x16, 0x23}, + [SPECIES_VAPOREON - 1] = {0x18, 0x23, 0x28, 0x18, 0x30}, + [SPECIES_JOLTEON - 1] = {0x14, 0x1b, 0x30, 0x16, 0x28}, + [SPECIES_FLAREON - 1] = {0x16, 0x17, 0x30, 0x14, 0x25}, + [SPECIES_PORYGON - 1] = {0x18, 0x12, 0x30, 0x10, 0x23}, + [SPECIES_OMANYTE - 1] = {0x1d, 0x1d, 0x30, 0x1c, 0x2b}, + [SPECIES_OMASTAR - 1] = {0x16, 0x1a, 0x30, 0x19, 0x2d}, + [SPECIES_KABUTO - 1] = {0x1b, 0x16, 0x30, 0x1a, 0x27}, + [SPECIES_KABUTOPS - 1] = {0x15, 0x11, 0x30, 0x15, 0x1f}, + [SPECIES_AERODACTYL - 1] = {0x13, 0x1d, 0x00, 0x14, 0x30}, + [SPECIES_SNORLAX - 1] = {0x35, 0x09, 0x30, 0x2e, 0x14}, + [SPECIES_ARTICUNO - 1] = {0x18, 0x0b, 0x18, 0x17, 0x17}, + [SPECIES_ZAPDOS - 1] = {0x0e, 0x0e, 0x10, 0x04, 0x28}, + [SPECIES_MOLTRES - 1] = {0x0b, 0x2a, 0x08, 0x0b, 0x38}, + [SPECIES_DRATINI - 1] = {0x0d, 0x12, 0x30, 0x0b, 0x21}, + [SPECIES_DRAGONAIR - 1] = {0x18, 0x0e, 0x30, 0x13, 0x1c}, + [SPECIES_DRAGONITE - 1] = {0x1b, 0x07, 0x18, 0x19, 0x17}, + [SPECIES_MEWTWO - 1] = {0x2b, 0x09, 0x28, 0x2c, 0x18}, + [SPECIES_MEW - 1] = {0x19, 0x14, 0x10, 0x1f, 0x21}, + [SPECIES_CHIKORITA - 1] = {0x1b, 0x17, 0x30, 0x1b, 0x24}, + [SPECIES_BAYLEEF - 1] = {0x1d, 0x10, 0x30, 0x20, 0x1d}, + [SPECIES_MEGANIUM - 1] = {0x05, 0x0d, 0x28, 0x0d, 0x1b}, + [SPECIES_CYNDAQUIL - 1] = {0x11, 0x1b, 0x30, 0x14, 0x27}, + [SPECIES_QUILAVA - 1] = {0x25, 0x18, 0x30, 0x27, 0x26}, + [SPECIES_TYPHLOSION - 1] = {0x09, 0x10, 0x28, 0x10, 0x1c}, + [SPECIES_TOTODILE - 1] = {0x16, 0x10, 0x30, 0x19, 0x20}, + [SPECIES_CROCONAW - 1] = {0x16, 0x10, 0x30, 0x18, 0x21}, + [SPECIES_FERALIGATR - 1] = {0x0e, 0x0a, 0x28, 0x08, 0x1a}, + [SPECIES_SENTRET - 1] = {0x1e, 0x0a, 0x30, 0x1d, 0x15}, + [SPECIES_FURRET - 1] = {0x21, 0x0e, 0x30, 0x21, 0x19}, + [SPECIES_HOOTHOOT - 1] = {0x1d, 0x15, 0x30, 0x1c, 0x24}, + [SPECIES_NOCTOWL - 1] = {0x19, 0x0e, 0x30, 0x18, 0x1c}, + [SPECIES_LEDYBA - 1] = {0x1b, 0x15, 0x30, 0x1c, 0x24}, + [SPECIES_LEDIAN - 1] = {0x18, 0x12, 0x10, 0x1c, 0x21}, + [SPECIES_SPINARAK - 1] = {0x20, 0x20, 0x28, 0x20, 0x2d}, + [SPECIES_ARIADOS - 1] = {0x17, 0x23, 0x28, 0x15, 0x30}, + [SPECIES_CROBAT - 1] = {0x22, 0x1e, 0x08, 0x23, 0x2b}, + [SPECIES_CHINCHOU - 1] = {0x1f, 0x1d, 0x30, 0x1f, 0x29}, + [SPECIES_LANTURN - 1] = {0x10, 0x23, 0x28, 0x19, 0x33}, + [SPECIES_PICHU - 1] = {0x1e, 0x17, 0x30, 0x1e, 0x24}, + [SPECIES_CLEFFA - 1] = {0x1c, 0x18, 0x30, 0x1e, 0x26}, + [SPECIES_IGGLYBUFF - 1] = {0x1f, 0x19, 0x30, 0x1f, 0x24}, + [SPECIES_TOGEPI - 1] = {0x21, 0x15, 0x30, 0x1f, 0x20}, + [SPECIES_TOGETIC - 1] = {0x1b, 0x10, 0x30, 0x1c, 0x1c}, + [SPECIES_NATU - 1] = {0x1c, 0x17, 0x30, 0x15, 0x21}, + [SPECIES_XATU - 1] = {0x1b, 0x08, 0x30, 0x19, 0x14}, + [SPECIES_MAREEP - 1] = {0x16, 0x15, 0x30, 0x15, 0x24}, + [SPECIES_FLAAFFY - 1] = {0x19, 0x12, 0x30, 0x18, 0x21}, + [SPECIES_AMPHAROS - 1] = {0x0f, 0x0a, 0x30, 0x10, 0x1b}, + [SPECIES_BELLOSSOM - 1] = {0x1f, 0x13, 0x30, 0x1f, 0x20}, + [SPECIES_MARILL - 1] = {0x1d, 0x15, 0x30, 0x1d, 0x22}, + [SPECIES_AZUMARILL - 1] = {0x1a, 0x12, 0x30, 0x17, 0x1f}, + [SPECIES_SUDOWOODO - 1] = {0x20, 0x10, 0x30, 0x20, 0x1f}, + [SPECIES_POLITOED - 1] = {0x1d, 0x0f, 0x30, 0x1e, 0x20}, + [SPECIES_HOPPIP - 1] = {0x23, 0x25, 0x08, 0x25, 0x33}, + [SPECIES_SKIPLOOM - 1] = {0x1e, 0x18, 0x08, 0x1c, 0x27}, + [SPECIES_JUMPLUFF - 1] = {0x1d, 0x21, 0x08, 0x20, 0x2f}, + [SPECIES_AIPOM - 1] = {0x1e, 0x29, 0x18, 0x1e, 0x35}, + [SPECIES_SUNKERN - 1] = {0x1f, 0x20, 0x08, 0x24, 0x2e}, + [SPECIES_SUNFLORA - 1] = {0x1c, 0x0c, 0x30, 0x1b, 0x19}, + [SPECIES_YANMA - 1] = {0x1b, 0x28, 0x08, 0x16, 0x35}, + [SPECIES_WOOPER - 1] = {0x1d, 0x13, 0x30, 0x1f, 0x21}, + [SPECIES_QUAGSIRE - 1] = {0x15, 0x09, 0x30, 0x12, 0x18}, + [SPECIES_ESPEON - 1] = {0x11, 0x1b, 0x30, 0x11, 0x29}, + [SPECIES_UMBREON - 1] = {0x23, 0x15, 0x30, 0x23, 0x22}, + [SPECIES_MURKROW - 1] = {0x24, 0x13, 0x30, 0x20, 0x22}, + [SPECIES_SLOWKING - 1] = {0x1e, 0x13, 0x28, 0x1d, 0x25}, + [SPECIES_MISDREAVUS - 1] = {0x28, 0x21, 0x08, 0x26, 0x2e}, + [SPECIES_UNOWN - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, + [SPECIES_WOBBUFFET - 1] = {0x1d, 0x09, 0x30, 0x1d, 0x1a}, + [SPECIES_GIRAFARIG - 1] = {0x0b, 0x0d, 0x28, 0x11, 0x1d}, + [SPECIES_PINECO - 1] = {0x1d, 0x12, 0x10, 0x19, 0x25}, + [SPECIES_FORRETRESS - 1] = {0x19, 0x17, 0x08, 0x1e, 0x26}, + [SPECIES_DUNSPARCE - 1] = {0x10, 0x1b, 0x30, 0x0c, 0x2d}, + [SPECIES_GLIGAR - 1] = {0x1e, 0x13, 0x08, 0x1d, 0x23}, + [SPECIES_STEELIX - 1] = {0x0c, 0x0d, 0x28, 0x0d, 0x1c}, + [SPECIES_SNUBBULL - 1] = {0x1b, 0x15, 0x30, 0x1a, 0x23}, + [SPECIES_GRANBULL - 1] = {0x1c, 0x09, 0x30, 0x19, 0x18}, + [SPECIES_QWILFISH - 1] = {0x1f, 0x26, 0x20, 0x1d, 0x33}, + [SPECIES_SCIZOR - 1] = {0x15, 0x0f, 0x10, 0x1a, 0x1a}, + [SPECIES_SHUCKLE - 1] = {0x25, 0x0a, 0x30, 0x24, 0x18}, + [SPECIES_HERACROSS - 1] = {0x18, 0x19, 0x28, 0x1a, 0x26}, + [SPECIES_SNEASEL - 1] = {0x1c, 0x13, 0x30, 0x1d, 0x24}, + [SPECIES_TEDDIURSA - 1] = {0x1e, 0x12, 0x30, 0x1b, 0x23}, + [SPECIES_URSARING - 1] = {0x1e, 0x04, 0x28, 0x1d, 0x14}, + [SPECIES_SLUGMA - 1] = {0x20, 0x18, 0x30, 0x20, 0x28}, + [SPECIES_MAGCARGO - 1] = {0x16, 0x11, 0x30, 0x17, 0x23}, + [SPECIES_SWINUB - 1] = {0x1c, 0x18, 0x30, 0x1b, 0x25}, + [SPECIES_PILOSWINE - 1] = {0x18, 0x23, 0x20, 0x18, 0x36}, + [SPECIES_CORSOLA - 1] = {0x19, 0x1d, 0x28, 0x19, 0x2b}, + [SPECIES_REMORAID - 1] = {0x15, 0x1f, 0x28, 0x13, 0x2b}, + [SPECIES_OCTILLERY - 1] = {0x1c, 0x11, 0x30, 0x1a, 0x20}, + [SPECIES_DELIBIRD - 1] = {0x1d, 0x11, 0x30, 0x1b, 0x1f}, + [SPECIES_MANTINE - 1] = {0x16, 0x1e, 0x28, 0x1f, 0x27}, + [SPECIES_SKARMORY - 1] = {0x1e, 0x00, 0x28, 0x13, 0x07}, + [SPECIES_HOUNDOUR - 1] = {0x25, 0x11, 0x30, 0x25, 0x1f}, + [SPECIES_HOUNDOOM - 1] = {0x0d, 0x13, 0x30, 0x0d, 0x24}, + [SPECIES_KINGDRA - 1] = {0x0e, 0x13, 0x28, 0x0a, 0x2c}, + [SPECIES_PHANPY - 1] = {0x1b, 0x11, 0x30, 0x19, 0x24}, + [SPECIES_DONPHAN - 1] = {0x11, 0x15, 0x30, 0x19, 0x2c}, + [SPECIES_PORYGON2 - 1] = {0x18, 0x11, 0x30, 0x11, 0x20}, + [SPECIES_STANTLER - 1] = {0x15, 0x15, 0x28, 0x17, 0x28}, + [SPECIES_SMEARGLE - 1] = {0x18, 0x10, 0x30, 0x1b, 0x25}, + [SPECIES_TYROGUE - 1] = {0x1e, 0x12, 0x30, 0x1f, 0x1f}, + [SPECIES_HITMONTOP - 1] = {0x1a, 0x39, 0x10, 0x1a, 0x2b}, + [SPECIES_SMOOCHUM - 1] = {0x20, 0x18, 0x30, 0x21, 0x26}, + [SPECIES_ELEKID - 1] = {0x1d, 0x14, 0x30, 0x1d, 0x23}, + [SPECIES_MAGBY - 1] = {0x1c, 0x15, 0x30, 0x1a, 0x24}, + [SPECIES_MILTANK - 1] = {0x18, 0x0e, 0x30, 0x18, 0x1e}, + [SPECIES_BLISSEY - 1] = {0x1d, 0x09, 0x30, 0x1d, 0x19}, + [SPECIES_RAIKOU - 1] = {0x29, 0x0c, 0x28, 0x27, 0x1e}, + [SPECIES_ENTEI - 1] = {0x08, 0x09, 0x28, 0x0b, 0x18}, + [SPECIES_SUICUNE - 1] = {0x23, 0x1d, 0x28, 0x26, 0x2c}, + [SPECIES_LARVITAR - 1] = {0x1c, 0x18, 0x30, 0x1a, 0x24}, + [SPECIES_PUPITAR - 1] = {0x1b, 0x19, 0x30, 0x1b, 0x28}, + [SPECIES_TYRANITAR - 1] = {0x06, 0x0b, 0x28, 0x0d, 0x19}, + [SPECIES_LUGIA - 1] = {0x08, 0x2a, 0x08, 0x14, 0x34}, + [SPECIES_HO_OH - 1] = {0x0d, 0x25, 0x08, 0x0e, 0x34}, + [SPECIES_CELEBI - 1] = {0x15, 0x21, 0x08, 0x1a, 0x2b}, + [SPECIES_OLD_UNOWN_B - 1] = {0x1f, 0x12, 0x08, 0x1e, 0x1c}, + [SPECIES_OLD_UNOWN_C - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, + [SPECIES_OLD_UNOWN_D - 1] = {0x1c, 0x19, 0x08, 0x1b, 0x23}, + [SPECIES_OLD_UNOWN_E - 1] = {0x21, 0x19, 0x08, 0x20, 0x23}, + [SPECIES_OLD_UNOWN_F - 1] = {0x1b, 0x13, 0x08, 0x1a, 0x1d}, + [SPECIES_OLD_UNOWN_G - 1] = {0x20, 0x16, 0x08, 0x1f, 0x21}, + [SPECIES_OLD_UNOWN_H - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_I - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_J - 1] = {0x20, 0x16, 0x08, 0x1f, 0x20}, + [SPECIES_OLD_UNOWN_K - 1] = {0x1d, 0x1a, 0x08, 0x1c, 0x24}, + [SPECIES_OLD_UNOWN_L - 1] = {0x20, 0x16, 0x08, 0x1f, 0x1f}, + [SPECIES_OLD_UNOWN_M - 1] = {0x20, 0x1c, 0x08, 0x1f, 0x26}, + [SPECIES_OLD_UNOWN_N - 1] = {0x20, 0x1a, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_O - 1] = {0x20, 0x1a, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_P - 1] = {0x20, 0x16, 0x08, 0x1f, 0x20}, + [SPECIES_OLD_UNOWN_Q - 1] = {0x1d, 0x16, 0x08, 0x1c, 0x20}, + [SPECIES_OLD_UNOWN_R - 1] = {0x20, 0x15, 0x08, 0x1f, 0x1f}, + [SPECIES_OLD_UNOWN_S - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_T - 1] = {0x20, 0x1e, 0x08, 0x1f, 0x28}, + [SPECIES_OLD_UNOWN_U - 1] = {0x20, 0x17, 0x08, 0x1f, 0x21}, + [SPECIES_OLD_UNOWN_V - 1] = {0x1e, 0x1e, 0x08, 0x1d, 0x28}, + [SPECIES_OLD_UNOWN_W - 1] = {0x20, 0x1d, 0x08, 0x1f, 0x27}, + [SPECIES_OLD_UNOWN_X - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, + [SPECIES_OLD_UNOWN_Y - 1] = {0x20, 0x15, 0x08, 0x1f, 0x1f}, + [SPECIES_OLD_UNOWN_Z - 1] = {0x20, 0x19, 0x08, 0x1f, 0x23}, + [SPECIES_TREECKO - 1] = {0x1a, 0x0f, 0x30, 0x19, 0x20}, + [SPECIES_GROVYLE - 1] = {0x0d, 0x05, 0x10, 0x05, 0x13}, + [SPECIES_SCEPTILE - 1] = {0x10, 0x04, 0x28, 0x0c, 0x12}, + [SPECIES_TORCHIC - 1] = {0x17, 0x18, 0x30, 0x15, 0x25}, + [SPECIES_COMBUSKEN - 1] = {0x20, 0x12, 0x28, 0x1e, 0x20}, + [SPECIES_BLAZIKEN - 1] = {0x1a, 0x07, 0x28, 0x1d, 0x13}, + [SPECIES_MUDKIP - 1] = {0x1b, 0x1d, 0x28, 0x19, 0x2c}, + [SPECIES_MARSHTOMP - 1] = {0x1d, 0x11, 0x30, 0x1c, 0x20}, + [SPECIES_SWAMPERT - 1] = {0x1b, 0x11, 0x28, 0x1b, 0x23}, + [SPECIES_POOCHYENA - 1] = {0x14, 0x12, 0x30, 0x0f, 0x20}, + [SPECIES_MIGHTYENA - 1] = {0x09, 0x0d, 0x28, 0x09, 0x1c}, + [SPECIES_ZIGZAGOON - 1] = {0x0b, 0x1a, 0x30, 0x09, 0x2b}, + [SPECIES_LINOONE - 1] = {0x0d, 0x28, 0x18, 0x0b, 0x37}, + [SPECIES_WURMPLE - 1] = {0x21, 0x17, 0x30, 0x1f, 0x26}, + [SPECIES_SILCOON - 1] = {0x13, 0x1c, 0x30, 0x11, 0x2a}, + [SPECIES_BEAUTIFLY - 1] = {0x0f, 0x1b, 0x08, 0x0e, 0x28}, + [SPECIES_CASCOON - 1] = {0x14, 0x1d, 0x30, 0x11, 0x2c}, + [SPECIES_DUSTOX - 1] = {0x14, 0x19, 0x08, 0x16, 0x26}, + [SPECIES_LOTAD - 1] = {0x19, 0x25, 0x28, 0x17, 0x32}, + [SPECIES_LOMBRE - 1] = {0x22, 0x10, 0x30, 0x29, 0x1d}, + [SPECIES_LUDICOLO - 1] = {0x1c, 0x0f, 0x28, 0x1b, 0x24}, + [SPECIES_SEEDOT - 1] = {0x1b, 0x17, 0x30, 0x18, 0x28}, + [SPECIES_NUZLEAF - 1] = {0x20, 0x0d, 0x30, 0x1a, 0x1d}, + [SPECIES_SHIFTRY - 1] = {0x32, 0x11, 0x28, 0x2e, 0x23}, + [SPECIES_NINCADA - 1] = {0x18, 0x1a, 0x30, 0x17, 0x28}, + [SPECIES_NINJASK - 1] = {0x17, 0x21, 0x00, 0x17, 0x2f}, + [SPECIES_SHEDINJA - 1] = {0x16, 0x19, 0x08, 0x18, 0x2a}, + [SPECIES_TAILLOW - 1] = {0x17, 0x10, 0x30, 0x14, 0x1e}, + [SPECIES_SWELLOW - 1] = {0x0c, 0x0a, 0x28, 0x05, 0x16}, + [SPECIES_SHROOMISH - 1] = {0x1f, 0x16, 0x30, 0x1d, 0x23}, + [SPECIES_BRELOOM - 1] = {0x25, 0x0c, 0x30, 0x23, 0x19}, + [SPECIES_SPINDA - 1] = {0x21, 0x16, 0x30, 0x1f, 0x27}, + [SPECIES_WINGULL - 1] = {0x1a, 0x16, 0x10, 0x15, 0x26}, + [SPECIES_PELIPPER - 1] = {0x1d, 0x0a, 0x10, 0x09, 0x1b}, + [SPECIES_SURSKIT - 1] = {0x1d, 0x16, 0x30, 0x1c, 0x25}, + [SPECIES_MASQUERAIN - 1] = {0x1a, 0x21, 0x08, 0x14, 0x30}, + [SPECIES_WAILMER - 1] = {0x17, 0x17, 0x30, 0x16, 0x28}, + [SPECIES_WAILORD - 1] = {0x17, 0x03, 0x30, 0x09, 0x13}, + [SPECIES_SKITTY - 1] = {0x24, 0x1a, 0x30, 0x22, 0x2a}, + [SPECIES_DELCATTY - 1] = {0x1e, 0x12, 0x30, 0x1c, 0x21}, + [SPECIES_KECLEON - 1] = {0x19, 0x10, 0x30, 0x13, 0x1e}, + [SPECIES_BALTOY - 1] = {0x1d, 0x15, 0x30, 0x1b, 0x22}, + [SPECIES_CLAYDOL - 1] = {0x1e, 0x0d, 0x28, 0x1d, 0x24}, + [SPECIES_NOSEPASS - 1] = {0x1f, 0x10, 0x30, 0x15, 0x23}, + [SPECIES_TORKOAL - 1] = {0x0e, 0x19, 0x28, 0x0a, 0x27}, + [SPECIES_SABLEYE - 1] = {0x1e, 0x16, 0x30, 0x1d, 0x27}, + [SPECIES_BARBOACH - 1] = {0x17, 0x12, 0x30, 0x15, 0x1e}, + [SPECIES_WHISCASH - 1] = {0x18, 0x20, 0x28, 0x17, 0x31}, + [SPECIES_LUVDISC - 1] = {0x19, 0x0f, 0x30, 0x13, 0x1c}, + [SPECIES_CORPHISH - 1] = {0x1f, 0x14, 0x30, 0x1d, 0x23}, + [SPECIES_CRAWDAUNT - 1] = {0x14, 0x0c, 0x28, 0x18, 0x23}, + [SPECIES_FEEBAS - 1] = {0x18, 0x1e, 0x28, 0x16, 0x2f}, + [SPECIES_MILOTIC - 1] = {0x20, 0x0c, 0x28, 0x1f, 0x1d}, + [SPECIES_CARVANHA - 1] = {0x16, 0x19, 0x30, 0x13, 0x22}, + [SPECIES_SHARPEDO - 1] = {0x19, 0x0c, 0x28, 0x17, 0x27}, + [SPECIES_TRAPINCH - 1] = {0x29, 0x13, 0x30, 0x17, 0x18}, + [SPECIES_VIBRAVA - 1] = {0x10, 0x27, 0x20, 0x0e, 0x34}, + [SPECIES_FLYGON - 1] = {0x22, 0x07, 0x10, 0x21, 0x13}, + [SPECIES_MAKUHITA - 1] = {0x22, 0x13, 0x30, 0x1c, 0x23}, + [SPECIES_HARIYAMA - 1] = {0x24, 0x0f, 0x28, 0x26, 0x1c}, + [SPECIES_ELECTRIKE - 1] = {0x11, 0x18, 0x30, 0x14, 0x27}, + [SPECIES_MANECTRIC - 1] = {0x2f, 0x18, 0x28, 0x2e, 0x29}, + [SPECIES_NUMEL - 1] = {0x10, 0x1a, 0x30, 0x0d, 0x2a}, + [SPECIES_CAMERUPT - 1] = {0x0d, 0x22, 0x28, 0x0e, 0x36}, + [SPECIES_SPHEAL - 1] = {0x1e, 0x0f, 0x30, 0x18, 0x1f}, + [SPECIES_SEALEO - 1] = {0x1c, 0x09, 0x30, 0x1a, 0x18}, + [SPECIES_WALREIN - 1] = {0x19, 0x01, 0x28, 0x10, 0x16}, + [SPECIES_CACNEA - 1] = {0x1f, 0x17, 0x30, 0x1d, 0x29}, + [SPECIES_CACTURNE - 1] = {0x1d, 0x0e, 0x28, 0x1d, 0x1b}, + [SPECIES_SNORUNT - 1] = {0x1e, 0x16, 0x30, 0x1e, 0x26}, + [SPECIES_GLALIE - 1] = {0x1a, 0x1c, 0x08, 0x1a, 0x31}, + [SPECIES_LUNATONE - 1] = {0x1c, 0x16, 0x08, 0x19, 0x2c}, + [SPECIES_SOLROCK - 1] = {0x18, 0x18, 0x10, 0x17, 0x31}, + [SPECIES_AZURILL - 1] = {0x1b, 0x10, 0x30, 0x18, 0x1f}, + [SPECIES_SPOINK - 1] = {0x21, 0x14, 0x30, 0x1b, 0x28}, + [SPECIES_GRUMPIG - 1] = {0x14, 0x10, 0x30, 0x15, 0x20}, + [SPECIES_PLUSLE - 1] = {0x1c, 0x16, 0x08, 0x1d, 0x25}, + [SPECIES_MINUN - 1] = {0x21, 0x16, 0x08, 0x1f, 0x26}, + [SPECIES_MAWILE - 1] = {0x2d, 0x14, 0x30, 0x2f, 0x24}, + [SPECIES_MEDITITE - 1] = {0x1f, 0x17, 0x30, 0x1e, 0x25}, + [SPECIES_MEDICHAM - 1] = {0x21, 0x0f, 0x28, 0x1e, 0x1d}, + [SPECIES_SWABLU - 1] = {0x1b, 0x16, 0x10, 0x17, 0x23}, + [SPECIES_ALTARIA - 1] = {0x1d, 0x0b, 0x10, 0x1a, 0x1a}, + [SPECIES_WYNAUT - 1] = {0x1a, 0x15, 0x30, 0x1b, 0x26}, + [SPECIES_DUSKULL - 1] = {0x10, 0x18, 0x08, 0x14, 0x2e}, + [SPECIES_DUSCLOPS - 1] = {0x1c, 0x0f, 0x30, 0x1a, 0x28}, + [SPECIES_ROSELIA - 1] = {0x1e, 0x11, 0x30, 0x1d, 0x20}, + [SPECIES_SLAKOTH - 1] = {0x19, 0x1e, 0x30, 0x18, 0x2f}, + [SPECIES_VIGOROTH - 1] = {0x10, 0x12, 0x28, 0x14, 0x24}, + [SPECIES_SLAKING - 1] = {0x37, 0x0f, 0x30, 0x29, 0x21}, + [SPECIES_GULPIN - 1] = {0x1b, 0x18, 0x30, 0x17, 0x26}, + [SPECIES_SWALOT - 1] = {0x1f, 0x06, 0x30, 0x15, 0x13}, + [SPECIES_TROPIUS - 1] = {0x18, 0x0a, 0x28, 0x20, 0x18}, + [SPECIES_WHISMUR - 1] = {0x1f, 0x19, 0x30, 0x1d, 0x29}, + [SPECIES_LOUDRED - 1] = {0x1c, 0x12, 0x28, 0x22, 0x27}, + [SPECIES_EXPLOUD - 1] = {0x10, 0x10, 0x28, 0x1a, 0x2a}, + [SPECIES_CLAMPERL - 1] = {0x20, 0x1a, 0x30, 0x1e, 0x26}, + [SPECIES_HUNTAIL - 1] = {0x13, 0x1e, 0x28, 0x15, 0x33}, + [SPECIES_GOREBYSS - 1] = {0x0d, 0x1f, 0x28, 0x03, 0x32}, + [SPECIES_ABSOL - 1] = {0x2a, 0x11, 0x28, 0x2a, 0x22}, + [SPECIES_SHUPPET - 1] = {0x16, 0x19, 0x08, 0x17, 0x27}, + [SPECIES_BANETTE - 1] = {0x1c, 0x14, 0x08, 0x1b, 0x23}, + [SPECIES_SEVIPER - 1] = {0x0e, 0x0d, 0x30, 0x0b, 0x1e}, + [SPECIES_ZANGOOSE - 1] = {0x18, 0x0c, 0x28, 0x15, 0x1a}, + [SPECIES_RELICANTH - 1] = {0x0c, 0x1f, 0x30, 0x09, 0x2d}, + [SPECIES_ARON - 1] = {0x18, 0x1c, 0x30, 0x1a, 0x2c}, + [SPECIES_LAIRON - 1] = {0x0b, 0x21, 0x30, 0x12, 0x2f}, + [SPECIES_AGGRON - 1] = {0x10, 0x0b, 0x28, 0x16, 0x1b}, + [SPECIES_CASTFORM - 1] = {0x1d, 0x18, 0x08, 0x1b, 0x26}, + [SPECIES_VOLBEAT - 1] = {0x25, 0x15, 0x08, 0x21, 0x25}, + [SPECIES_ILLUMISE - 1] = {0x20, 0x12, 0x08, 0x1f, 0x20}, + [SPECIES_LILEEP - 1] = {0x1e, 0x11, 0x30, 0x1f, 0x1e}, + [SPECIES_CRADILY - 1] = {0x12, 0x16, 0x28, 0x15, 0x28}, + [SPECIES_ANORITH - 1] = {0x1c, 0x1e, 0x30, 0x1b, 0x2b}, + [SPECIES_ARMALDO - 1] = {0x15, 0x05, 0x28, 0x14, 0x13}, + [SPECIES_RALTS - 1] = {0x1f, 0x17, 0x30, 0x20, 0x23}, + [SPECIES_KIRLIA - 1] = {0x1c, 0x12, 0x30, 0x1f, 0x1e}, + [SPECIES_GARDEVOIR - 1] = {0x35, 0x07, 0x28, 0x32, 0x14}, + [SPECIES_BAGON - 1] = {0x17, 0x13, 0x30, 0x16, 0x26}, + [SPECIES_SHELGON - 1] = {0x19, 0x1b, 0x30, 0x19, 0x2c}, + [SPECIES_SALAMENCE - 1] = {0x09, 0x11, 0x30, 0x0a, 0x21}, + [SPECIES_BELDUM - 1] = {0x16, 0x19, 0x08, 0x18, 0x23}, + [SPECIES_METANG - 1] = {0x22, 0x0f, 0x10, 0x1f, 0x21}, + [SPECIES_METAGROSS - 1] = {0x24, 0x1b, 0x28, 0x22, 0x2b}, + [SPECIES_REGIROCK - 1] = {0x16, 0x07, 0x28, 0x14, 0x12}, + [SPECIES_REGICE - 1] = {0x19, 0x0c, 0x28, 0x17, 0x19}, + [SPECIES_REGISTEEL - 1] = {0x19, 0x0d, 0x28, 0x19, 0x19}, + [SPECIES_KYOGRE - 1] = {0x0e, 0x19, 0x28, 0x0b, 0x26}, + [SPECIES_GROUDON - 1] = {0x04, 0x0b, 0x28, 0x0a, 0x19}, + [SPECIES_RAYQUAZA - 1] = {0x0c, 0x0e, 0x10, 0x0e, 0x1f}, + [SPECIES_LATIAS - 1] = {0x1e, 0x0c, 0x10, 0x23, 0x19}, + [SPECIES_LATIOS - 1] = {0x05, 0x0e, 0x10, 0x05, 0x1d}, + [SPECIES_JIRACHI - 1] = {0x1c, 0x15, 0x08, 0x1e, 0x22}, + [SPECIES_DEOXYS - 1] = {0x1b, 0x08, 0x28, 0x1c, 0x16}, + [SPECIES_CHIMECHO - 1] = {0x1d, 0x0c, 0x08, 0x1c, 0x1a}, + [SPECIES_OLD_UNOWN_EMARK - 1] = {0x20, 0x21, 0x08, 0x20, 0x2b}, + [SPECIES_OLD_UNOWN_QMARK - 1] = {0x20, 0x23, 0x08, 0x20, 0x2d} +}; + +void box_print(u8 windowId, u8 fontId, u8 x, u8 y, const struct TextColor * color, s8 speed, const u8 * str) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = x; + printer.y = y; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.letterSpacing = GetFontAttribute(fontId, 2); + printer.lineSpacing = GetFontAttribute(fontId, 3); + printer.fontColor_l = 0; + printer.fontColor_h = color->bgColor; + printer.bgColor = color->fgColor; + printer.shadowColor = color->shadowColor; + AddTextPrinter(&printer, speed, NULL); +} + +void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = x; + printer.y = y; + printer.currentX = printer.x; + printer.currentY = printer.y; + printer.letterSpacing = letterSpacing; + printer.lineSpacing = lineSpacing; + printer.fontColor_l = 0; + printer.fontColor_h = color->bgColor; + printer.bgColor = color->fgColor; + printer.shadowColor = color->shadowColor; + AddTextPrinter(&printer, speed, NULL); +} + +void sub_812E62C(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing) +{ + struct TextSubPrinter printer; + + printer.current_text_offset = str; + printer.windowId = windowId; + printer.fontId = fontId; + printer.x = x; + printer.y = y; + printer.currentX = x; + printer.currentY = y; + printer.letterSpacing = letterSpacing; + printer.lineSpacing = lineSpacing; + printer.fontColor_l = 0; + printer.fontColor_h = GetFontAttribute(fontId, 5); + printer.bgColor = GetFontAttribute(fontId, 6); + printer.shadowColor = GetFontAttribute(fontId, 7); + AddTextPrinter(&printer, speed, callback); +} + +void sub_812E6DC(u8 windowId, const u8 * src, u16 x, u16 y) +{ + s32 i; + + for (i = 0; gSaveBlock2Ptr->playerName[i] != EOS; i++) + ; + + StringExpandPlaceholders(gStringVar4, src); + if (i != 5) + { + AddTextPrinterParameterized(windowId, 2, gStringVar4, x, y, 0xFF, NULL); + } + else + { + sub_812E62C(windowId, 2, gStringVar4, x, y, 0xFF, NULL, 0, 0); + } +} + +// Yeah, no, I'm not bothering with this +NAKED +void sub_819A080(void * a0, void * a1, u16 a2, u16 a3, u16 a4, u16 a5, u16 a6, u16 a7) +{ + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x28\n" + "\tstr r0, [sp]\n" + "\tstr r1, [sp, 0x4]\n" + "\tldr r0, [sp, 0x48]\n" + "\tldr r4, [sp, 0x4C]\n" + "\tldr r1, [sp, 0x50]\n" + "\tldr r5, [sp, 0x54]\n" + "\tlsls r2, 16\n" + "\tlsrs r2, 16\n" + "\tstr r2, [sp, 0x8]\n" + "\tlsls r3, 16\n" + "\tlsrs r3, 16\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tstr r0, [sp, 0xC]\n" + "\tlsls r4, 16\n" + "\tlsrs r4, 16\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tlsls r5, 16\n" + "\tlsrs r5, 16\n" + "\tldr r2, [sp, 0x4]\n" + "\tldrh r0, [r2, 0x4]\n" + "\tldr r2, [sp, 0xC]\n" + "\tsubs r0, r2\n" + "\tldr r2, [sp, 0x8]\n" + "\tadds r2, r1, r2\n" + "\tstr r2, [sp, 0x10]\n" + "\tcmp r0, r1\n" + "\tbge _0812E7B4\n" + "\tldr r1, [sp, 0x8]\n" + "\tadds r0, r1\n" + "\tstr r0, [sp, 0x10]\n" + "_0812E7B4:\n" + "\tldr r2, [sp, 0x4]\n" + "\tldrh r1, [r2, 0x6]\n" + "\tsubs r0, r1, r4\n" + "\tcmp r0, r5\n" + "\tbge _0812E7C6\n" + "\tadds r0, r3, r1\n" + "\tsubs r0, r4\n" + "\tstr r0, [sp, 0x14]\n" + "\tb _0812E7CA\n" + "_0812E7C6:\n" + "\tadds r5, r3, r5\n" + "\tstr r5, [sp, 0x14]\n" + "_0812E7CA:\n" + "\tldr r0, [sp]\n" + "\tldrh r1, [r0, 0x4]\n" + "\tmovs r2, 0x7\n" + "\tadds r0, r1, 0\n" + "\tands r0, r2\n" + "\tadds r1, r0\n" + "\tasrs r1, 3\n" + "\tstr r1, [sp, 0x18]\n" + "\tldr r0, [sp, 0x4]\n" + "\tldrh r1, [r0, 0x4]\n" + "\tadds r0, r1, 0\n" + "\tands r0, r2\n" + "\tadds r1, r0\n" + "\tasrs r1, 3\n" + "\tstr r1, [sp, 0x1C]\n" + "\tmov r12, r3\n" + "\tmov r8, r4\n" + "\tldr r1, [sp, 0x14]\n" + "\tcmp r12, r1\n" + "\tblt _0812E7F4\n" + "\tb _0812E932\n" + "_0812E7F4:\n" + "\tldr r5, [sp, 0x8]\n" + "\tldr r6, [sp, 0xC]\n" + "\tmov r2, r12\n" + "\tadds r2, 0x1\n" + "\tstr r2, [sp, 0x20]\n" + "\tmov r0, r8\n" + "\tadds r0, 0x1\n" + "\tstr r0, [sp, 0x24]\n" + "\tldr r1, [sp, 0x10]\n" + "\tcmp r5, r1\n" + "\tblt _0812E80C\n" + "\tb _0812E922\n" + "_0812E80C:\n" + "\tmovs r7, 0x1\n" + "\tmovs r2, 0xF0\n" + "\tmov r10, r2\n" + "\tmovs r0, 0xF\n" + "\tmov r9, r0\n" + "_0812E816:\n" + "\tasrs r0, r5, 1\n" + "\tmovs r1, 0x3\n" + "\tands r0, r1\n" + "\tldr r2, [sp]\n" + "\tldr r1, [r2]\n" + "\tadds r1, r0\n" + "\tasrs r0, r5, 3\n" + "\tlsls r0, 5\n" + "\tadds r1, r0\n" + "\tmov r2, r12\n" + "\tasrs r0, r2, 3\n" + "\tldr r2, [sp, 0x18]\n" + "\tmuls r0, r2\n" + "\tlsls r0, 5\n" + "\tadds r1, r0\n" + "\tmov r2, r12\n" + "\tlsls r0, r2, 29\n" + "\tlsrs r0, 27\n" + "\tadds r3, r1, r0\n" + "\tasrs r0, r6, 1\n" + "\tmovs r1, 0x3\n" + "\tands r0, r1\n" + "\tldr r2, [sp, 0x4]\n" + "\tldr r1, [r2]\n" + "\tadds r1, r0\n" + "\tasrs r0, r6, 3\n" + "\tlsls r0, 5\n" + "\tadds r1, r0\n" + "\tmov r2, r8\n" + "\tasrs r0, r2, 3\n" + "\tldr r2, [sp, 0x1C]\n" + "\tmuls r0, r2\n" + "\tlsls r0, 5\n" + "\tadds r1, r0\n" + "\tmov r2, r8\n" + "\tlsls r0, r2, 29\n" + "\tlsrs r0, 27\n" + "\tadds r4, r1, r0\n" + "\tadds r0, r4, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E8C2\n" + "\tsubs r4, 0x1\n" + "\tadds r0, r6, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E89A\n" + "\tldrh r0, [r4]\n" + "\tldr r2, _0812E88C @ =0x00000fff\n" + "\tands r2, r0\n" + "\tadds r0, r5, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E890\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r10\n" + "\tands r0, r1\n" + "\tlsls r0, 8\n" + "\tb _0812E912\n" + "\t.align 2, 0\n" + "_0812E88C: .4byte 0x00000fff\n" + "_0812E890:\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r9\n" + "\tands r0, r1\n" + "\tlsls r0, 12\n" + "\tb _0812E912\n" + "_0812E89A:\n" + "\tldrh r0, [r4]\n" + "\tldr r2, _0812E8B4 @ =0x0000f0ff\n" + "\tands r2, r0\n" + "\tadds r0, r5, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E8B8\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r10\n" + "\tands r0, r1\n" + "\tlsls r0, 4\n" + "\tb _0812E912\n" + "\t.align 2, 0\n" + "_0812E8B4: .4byte 0x0000f0ff\n" + "_0812E8B8:\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r9\n" + "\tands r0, r1\n" + "\tlsls r0, 8\n" + "\tb _0812E912\n" + "_0812E8C2:\n" + "\tadds r0, r6, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E8EE\n" + "\tldrh r0, [r4]\n" + "\tldr r2, _0812E8E0 @ =0x0000ff0f\n" + "\tands r2, r0\n" + "\tadds r0, r5, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E8E4\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r10\n" + "\tb _0812E910\n" + "\t.align 2, 0\n" + "_0812E8E0: .4byte 0x0000ff0f\n" + "_0812E8E4:\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r9\n" + "\tands r0, r1\n" + "\tlsls r0, 4\n" + "\tb _0812E912\n" + "_0812E8EE:\n" + "\tldrh r0, [r4]\n" + "\tldr r2, _0812E908 @ =0x0000fff0\n" + "\tands r2, r0\n" + "\tadds r0, r5, 0\n" + "\tands r0, r7\n" + "\tcmp r0, 0\n" + "\tbeq _0812E90C\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r10\n" + "\tands r0, r1\n" + "\tlsrs r0, 4\n" + "\tb _0812E912\n" + "\t.align 2, 0\n" + "_0812E908: .4byte 0x0000fff0\n" + "_0812E90C:\n" + "\tldrb r1, [r3]\n" + "\tmov r0, r9\n" + "_0812E910:\n" + "\tands r0, r1\n" + "_0812E912:\n" + "\torrs r2, r0\n" + "\tstrh r2, [r4]\n" + "\tadds r5, 0x1\n" + "\tadds r6, 0x1\n" + "\tldr r0, [sp, 0x10]\n" + "\tcmp r5, r0\n" + "\tbge _0812E922\n" + "\tb _0812E816\n" + "_0812E922:\n" + "\tldr r1, [sp, 0x20]\n" + "\tmov r12, r1\n" + "\tldr r2, [sp, 0x24]\n" + "\tmov r8, r2\n" + "\tldr r0, [sp, 0x14]\n" + "\tcmp r12, r0\n" + "\tbge _0812E932\n" + "\tb _0812E7F4\n" + "_0812E932:\n" + "\tadd sp, 0x28\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0"); +} + +#define tEvA data[0] +#define tEvB data[1] +#define tEvAEnd data[2] +#define tEvBEnd data[3] +#define tEvADelta data[4] +#define tEvBDelta data[5] +#define tEvWhich data[6] +#define tEvStepCount data[8] + +void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority) +{ + u8 taskId = CreateTask(Task_SmoothBlendLayers, priority); + gTasks[taskId].tEvA = eva_start << 8; + gTasks[taskId].tEvB = evb_start << 8; + gTasks[taskId].tEvAEnd = eva_end; + gTasks[taskId].tEvBEnd = evb_end; + gTasks[taskId].tEvADelta = (eva_end - eva_start) * 256 / ev_step; + gTasks[taskId].tEvBDelta = (evb_end - evb_start) * 256 / ev_step; + gTasks[taskId].tEvStepCount = ev_step; + SetGpuReg(REG_OFFSET_BLDALPHA, (evb_start << 8) | eva_start); +} + +bool8 IsBlendTaskActive(void) +{ + return FuncIsActiveTask(Task_SmoothBlendLayers); +} + +static void Task_SmoothBlendLayers(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (tEvStepCount != 0) + { + if (tEvWhich == 0) + { + tEvA += tEvADelta; + tEvWhich = 1; + } + else + { + if (--tEvStepCount != 0) + { + tEvB += tEvBDelta; + } + else + { + tEvA = tEvAEnd << 8; + tEvB = tEvBEnd << 8; + } + tEvWhich = 0; + } + SetGpuReg(REG_OFFSET_BLDALPHA, (tEvB & ~0xFF) | ((u16)tEvA >> 8)); + if (tEvStepCount == 0) + DestroyTask(taskId); + } +} + +u8 sub_812EA78(u16 species, u32 personality, u8 a2) +{ + if (species == SPECIES_UNOWN) + { + u8 unownLetter = GetUnownLetterByPersonality(personality); + switch (unownLetter) + { + case 0: + break; + case 26: + species = SPECIES_OLD_UNOWN_EMARK; + break; + case 27: + species = SPECIES_OLD_UNOWN_QMARK; + break; + default: + species = SPECIES_OLD_UNOWN_B + unownLetter - 1; + break; + } + } + if (species != SPECIES_NONE && a2 < 5) + { + species--; + if (gUnknown_845FD54[species][a2] != 0xFF) + return gUnknown_845FD54[species][a2]; + } + return 32; +} + +s8 sub_812EAE4(u16 species, u32 personality, u8 a2) +{ + return sub_812EA78(species, personality, a2) - 32; +} diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c index c39d76f25..65f515d1b 100644 --- a/src/mevent_8145654.c +++ b/src/mevent_8145654.c @@ -58,7 +58,7 @@ void sub_8145D18(u8 whichWindow); void sub_8146060(void); void sub_81461D8(void); -extern const struct OamData gUnknown_83AC9F8; +extern const struct OamData gOamData_83AC9F8; const struct TextColor gUnknown_8467068[] = { {0, 2, 3}, @@ -113,7 +113,7 @@ const struct SpritePalette gUnknown_8467F60[] = { {gUnknown_8467ED4, 0x8000} }; const struct SpriteTemplate gUnknown_8467FA0 = { - 0x8000, 0x8000, &gUnknown_83AC9F8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + 0x8000, 0x8000, &gOamData_83AC9F8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; const struct UnkStruct_8467FB8 gUnknown_8467FB8[8] = { {1, 0, 0, 0, gUnknown_846718C, gUnknown_8467288, gUnknown_846708C}, diff --git a/src/oak_speech.c b/src/oak_speech.c new file mode 100644 index 000000000..f00d683cf --- /dev/null +++ b/src/oak_speech.c @@ -0,0 +1,1891 @@ +#include "global.h" +#include "main.h" +#include "decompress.h" +#include "task.h" +#include "malloc.h" +#include "gpu_regs.h" +#include "wild_encounter.h" +#include "palette.h" +#include "blend_palette.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "bg.h" +#include "menu.h" +#include "help_system.h" +#include "new_menu_helpers.h" +#include "pokemon_3.h" +#include "sound.h" +#include "event_scripts.h" +#include "scanline_effect.h" +#include "string_util.h" +#include "pokeball.h" +#include "naming_screen.h" +#include "math_util.h" +#include "overworld.h" +#include "random.h" +#include "oak_speech.h" +#include "constants/species.h" +#include "constants/songs.h" + +struct OakSpeechResources +{ + void * solidColorsGfx; + void * trainerPicTilemapBuffer; + void * unk_0008; + u8 filler_000C[4]; + u16 unk_0010; + u16 unk_0012; + u16 unk_0014[4]; + u8 unk_001C[3]; + u8 textSpeed; + u8 filler_0020[0x1800]; + u8 bg2TilemapBuffer[0x400]; + u8 bg1TilemapBuffer[0x800]; +}; //size=0x2420 + +EWRAM_DATA struct OakSpeechResources * sOakSpeechResources = NULL; + +static void Task_OaksSpeech1(u8 taskId); +static void CreateHelpDocsPage1(void); +static void Task_OaksSpeech2(u8 taskId); +static void Task_OakSpeech3(u8 taskId); +static void Task_OakSpeech5(u8 taskId); +static void Task_OakSpeech6(u8 taskId); +static void Task_OakSpeech7(u8 taskId); +static void Task_OakSpeech8(u8 taskId); +static void Task_OakSpeech9(u8 taskId); +static void Task_OakSpeech10(u8 taskId); +static void Task_OakSpeech10(u8 taskId); +static void Task_OakSpeech11(u8 taskId); +static void Task_OakSpeech12(u8 taskId); +static void Task_OakSpeech13(u8 taskId); +static void Task_OakSpeech14(u8 taskId); +static void Task_OakSpeech15(u8 taskId); +static void Task_OakSpeech16(u8 taskId); +static void Task_OakSpeech17(u8 taskId); +static void Task_OakSpeech18(u8 taskId); +static void Task_OakSpeech19(u8 taskId); +static void Task_OakSpeech20(u8 taskId); +static void Task_OakSpeech21(u8 taskId); +static void Task_OakSpeech22(u8 taskId); +static void Task_OakSpeech23(u8 taskId); +static void Task_OakSpeech24(u8 taskId); +static void Task_OakSpeech29(u8 taskId); +static void Task_OakSpeech25(u8 taskId); +static void Task_OakSpeech26(u8 taskId); +static void Task_OakSpeech27(u8 taskId); +static void Task_OakSpeech30(u8 taskId); +static void Task_OakSpeech31(u8 taskId); +static void Task_OakSpeech32(u8 taskId); +static void Task_OakSpeech34(u8 taskId); +static void Task_OakSpeech33(u8 taskId); +static void Task_OakSpeech36(u8 taskId); +static void Task_OakSpeech37(u8 taskId); +static void Task_OakSpeech38(u8 taskId); +static void Task_OakSpeech38_3(u8 taskId); +static void Task_OakSpeech39(u8 taskId); +static void Task_OakSpeech38_1(u8 taskId); +static void Task_OakSpeech38_sub1(u8 taskId); +static void Task_OakSpeech38_2(u8 taskId); +static void Task_OakSpeech38_sub2(u8 taskId); +static void Task_OakSpeech40(u8 taskId); +static void Task_OakSpeech41(u8 taskId); +static void Task_OakSpeech42(u8 taskId); + +static void CB2_ReturnFromNamingScreen(void); +static void CreateNidoranFSprite(u8 taskId); +static void CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(u8 taskId, u8 state); +static void DestroyLinkedPikaOrGrassPlatformSprites(u8 taskId, u8 state); +static void LoadOaksSpeechTrainerPic(u16 whichPic, u16 tileOffset); +static void DestroyOaksSpeechTrainerPic(void); +static void CreateFadeInTask(u8 taskId, u8 state); +static void CreateFadeOutTask(u8 taskId, u8 state); +static void PrintNameChoiceOptions(u8 taskId, u8 state); +static void GetDefaultName(u8 arg0, u8 namePick); + +extern const u8 gText_Controls[]; +extern const u8 gText_ABUTTONNext[]; +extern const u8 gText_ABUTTONNext_BBUTTONBack[]; +extern const u8 gText_Boy[]; +extern const u8 gText_Girl[]; + +extern const struct CompressedSpriteSheet gUnknown_8235194[]; +extern const struct CompressedSpritePalette gUnknown_82373F4; + +ALIGNED(4) static const u16 sHelpDocsPalette[] = INCBIN_U16("data/oak_speech/help_docs_palette.gbapal"); +static const u32 sOakSpeechGfx_GameStartHelpUI[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_game_start_help_u_i.4bpp.lz"); +static const u32 sNewGameAdventureIntroTilemap[] = INCBIN_U32("data/oak_speech/new_game_adventure_intro_tilemap.bin.lz"); +static const u32 sOakSpeechGfx_SolidColors[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_solid_colors.4bpp.lz"); +static const u32 sOakSpeech_BackgroundTilemap[] = INCBIN_U32("data/oak_speech/oak_speech_background_tilemap.bin.lz"); +static const u16 sHelpDocsPage2Tilemap[] = INCBIN_U16("data/oak_speech/help_docs_page2_tilemap.bin"); +static const u16 sHelpDocsPage3Tilemap[] = INCBIN_U16("data/oak_speech/help_docs_page3_tilemap.bin"); +static const u16 sOakSpeechGfx_LeafPal[] = INCBIN_U16("data/oak_speech/oak_speech_gfx_leaf_pal.gbapal"); +static const u32 sOakSpeechGfx_LeafPic[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_leaf_pic.8bpp.lz"); +static const u16 sOakSpeechGfx_RedPal[] = INCBIN_U16("data/oak_speech/oak_speech_gfx_red_pal.gbapal"); +static const u32 sOakSpeechGfx_RedPic[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_red_pic.8bpp.lz"); +static const u16 sOakSpeechGfx_OakPal[] = INCBIN_U16("data/oak_speech/oak_speech_gfx_oak_pal.gbapal"); +static const u32 sOakSpeechGfx_OakPic[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_oak_pic.8bpp.lz"); +static const u16 sOakSpeechGfx_RivalPal[] = INCBIN_U16("data/oak_speech/oak_speech_gfx_rival_pal.gbapal"); +static const u32 sOakSpeechGfx_RivalPic[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_rival_pic.8bpp.lz"); +static const u16 sOakSpeech_GrassPlatformPalette[] = INCBIN_U16("data/oak_speech/oak_speech_grass_platform_palette.gbapal"); +static const u16 sOakSpeech_PikaPalette[] = INCBIN_U16("data/oak_speech/oak_speech_pika_palette.gbapal"); +static const u32 sOakSpeechGfx_GrassPlatform[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_grass_platform.4bpp.lz"); +static const u32 sOakSpeechGfx_Pika1[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_pika1.4bpp.lz"); +static const u32 sOakSpeechGfx_Pika2[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_pika2.4bpp.lz"); +static const u32 sOakSpeechGfx_PikaEyes[] = INCBIN_U32("data/oak_speech/oak_speech_gfx_pika_eyes.4bpp.lz"); + +static const struct BgTemplate sBgTemplates[3] = { + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 1, + .paletteMode = 1, + .priority = 1, + .baseTile = 0x000 + } +}; + +static const struct WindowTemplate sHelpDocsWindowTemplates1[] = { + { + .priority = 0x00, + .tilemapLeft = 0x00, + .tilemapTop = 0x07, + .width = 0x1e, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sHelpDocsWindowTemplates2[] = { + { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x03, + .width = 0x18, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0a, + .width = 0x18, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0092 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x18, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x00f3 + }, DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sHelpDocsWindowTemplates3[] = { + { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x03, + .width = 0x18, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x08, + .width = 0x18, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0062 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0d, + .width = 0x18, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x00c3 + }, DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate *const sHelpDocsWindowTemplatePtrs[3] = { + sHelpDocsWindowTemplates1, + sHelpDocsWindowTemplates2, + sHelpDocsWindowTemplates3 +}; + +static const struct WindowTemplate sNewGameAdventureIntroWindowTemplates[] = { + { + .priority = 0x00, + .tilemapLeft = 0x01, + .tilemapTop = 0x04, + .width = 0x1c, + .height = 0x0f, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, { + .priority = 0x00, + .tilemapLeft = 0x12, + .tilemapTop = 0x09, + .width = 0x09, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0174 + }, { + .priority = 0x00, + .tilemapLeft = 0x02, + .tilemapTop = 0x02, + .width = 0x06, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0180 + }, { + .priority = 0x00, + .tilemapLeft = 0x02, + .tilemapTop = 0x02, + .width = 0x0c, + .height = 0x0a, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, DUMMY_WIN_TEMPLATE +}; + +ALIGNED(4) const struct TextColor sTextColor_HelpSystem = { + 0x00, 0x01, 0x02 +}; + +ALIGNED(4) const struct TextColor sTextColor_OakSpeech = { + 0x00, 0x02, 0x03 +}; + +static const u8 *const sNewGameAdventureIntroTextPointers[] = { + gNewGameAdventureIntro1, + gNewGameAdventureIntro2, + gNewGameAdventureIntro3 +}; + +static const struct CompressedSpriteSheet sOakSpeech_PikaSpriteSheets[3] = { + { (const void *)sOakSpeechGfx_Pika1, 0x0400, 0x1001 }, + { (const void *)sOakSpeechGfx_Pika2, 0x0200, 0x1002 }, + { (const void *)sOakSpeechGfx_PikaEyes, 0x0080, 0x1003 }, +}; + +static const struct CompressedSpriteSheet sOakSpeech_GrassPlatformSpriteSheet = { + (const void *)sOakSpeechGfx_GrassPlatform, 0x0600, 0x1000 +}; + +static const struct SpritePalette sOakSpeech_PikaSpritePal = { + (const void *)sOakSpeech_PikaPalette, 0x1001 +}; + +static const struct SpritePalette sOakSpeech_GrassPlatformSpritePal = { + (const void *)sOakSpeech_GrassPlatformPalette, 0x1000 +}; + +static const union AnimCmd sGrassPlatformAnim1[] = { + ANIMCMD_FRAME( 0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sGrassPlatformAnim2[] = { + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd sGrassPlatformAnim3[] = { + ANIMCMD_FRAME(32, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sGrassPlatformAnims1[] = { + sGrassPlatformAnim1 +}; +static const union AnimCmd *const sGrassPlatformAnims2[] = { + sGrassPlatformAnim2 +}; +static const union AnimCmd *const sGrassPlatformAnims3[] = { + sGrassPlatformAnim3 +}; + +extern const struct OamData gOamData_83ACAF8; + +static const struct SpriteTemplate sOakSpeech_GrassPlatformSpriteTemplates[3] = { + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims1, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims2, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gOamData_83ACAF8, sGrassPlatformAnims3, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, +}; + +static const union AnimCmd sPikaAnim1[] = { + ANIMCMD_FRAME( 0, 30), + ANIMCMD_FRAME(16, 30), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sPikaAnim2[] = { + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd sPikaAnim3[] = { + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(0, 60), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_FRAME(2, 8), + ANIMCMD_JUMP(0) +}; + +static const union AnimCmd *const sPikaAnims1[] = { + sPikaAnim1 +}; +static const union AnimCmd *const sPikaAnims2[] = { + sPikaAnim2 +}; +static const union AnimCmd *const sPikaAnims3[] = { + sPikaAnim3 +}; + +extern const struct OamData gOamData_83AC9D8; +extern const struct OamData gOamData_83AC9F8; +extern const struct OamData gOamData_83AC9E8; + +static const struct SpriteTemplate sOakSpeech_PikaSpriteTemplates[3] = { + { 0x1001, 0x1001, &gOamData_83AC9D8, sPikaAnims1, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1002, 0x1001, &gOamData_83AC9F8, sPikaAnims2, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1003, 0x1001, &gOamData_83AC9E8, sPikaAnims3, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy } +}; + +static const u8 *const sHelpDocsPtrs[] = { + gNewGame_HelpDocs2, gNewGame_HelpDocs3, gNewGame_HelpDocs4, + gNewGame_HelpDocs5, gNewGame_HelpDocs6, gNewGame_HelpDocs7 +}; + +static const u8 *const sMaleNameChoices[] = { + gNameChoice_Red, + gNameChoice_Fire, + gNameChoice_Ash, + gNameChoice_Kene, + gNameChoice_Geki, + gNameChoice_Jak, + gNameChoice_Janne, + gNameChoice_Jonn, + gNameChoice_Kamon, + gNameChoice_Karl, + gNameChoice_Taylor, + gNameChoice_Oscar, + gNameChoice_Hiro, + gNameChoice_Max, + gNameChoice_Jon, + gNameChoice_Ralph, + gNameChoice_Kay, + gNameChoice_Tosh, + gNameChoice_Roak +}; + +static const u8 *const sFemaleNameChoices[] = { + gNameChoice_Red, + gNameChoice_Fire, + gNameChoice_Omi, + gNameChoice_Jodi, + gNameChoice_Amanda, + gNameChoice_Hillary, + gNameChoice_Makey, + gNameChoice_Michi, + gNameChoice_Paula, + gNameChoice_June, + gNameChoice_Cassie, + gNameChoice_Rey, + gNameChoice_Seda, + gNameChoice_Kiko, + gNameChoice_Mina, + gNameChoice_Norie, + gNameChoice_Sai, + gNameChoice_Momo, + gNameChoice_Suzi +}; + +static const u8 *const sRivalNameChoices[] = { + gNameChoice_Green, + gNameChoice_Gary, + gNameChoice_Kaz, + gNameChoice_Toru +}; + +static void VBlankCB_NewGameOaksSpeech(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_NewGameOaksSpeech(void) +{ + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void StartNewGameScene(void) +{ + gPlttBufferUnfaded[0] = RGB_BLACK; + gPlttBufferFaded[0] = RGB_BLACK; + CreateTask(Task_OaksSpeech1, 0); + SetMainCallback2(CB2_NewGameOaksSpeech); +} + +static void Task_OaksSpeech1(u8 taskId) +{ + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + SetHBlankCallback(NULL); + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, 0, PLTT + sizeof(u16), PLTT_SIZE - 2); + ResetPaletteFade(); + ScanlineEffect_Stop(); + ResetSpriteData(); + FreeAllSpritePalettes(); + reset_temp_tile_data_buffers(); + HelpSystem_SetSomeVariable2(2); + break; + case 1: + sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); + SetUpMonSpriteManagerMaybe(1, 1); + break; + case 2: + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WIN1H, 0); + SetGpuReg(REG_OFFSET_WIN1V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + break; + case 3: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sBgTemplates, NELEMS(sBgTemplates)); + SetBgTilemapBuffer(1, sOakSpeechResources->bg1TilemapBuffer); + SetBgTilemapBuffer(2, sOakSpeechResources->bg2TilemapBuffer); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + gSpriteCoordOffsetX = 0; + gSpriteCoordOffsetY = 0; + break; + case 4: + gPaletteFade.bufferTransferDisabled = TRUE; + InitStandardTextBoxWindows(); + ResetBg0(); + Menu_LoadStdPalAt(0xD0); + LoadPalette(sHelpDocsPalette, 0x000, 0x080); + LoadPalette(stdpal_get(2) + 15, 0x000, 0x002); + break; + case 5: + sOakSpeechResources->textSpeed = GetTextSpeedSetting(); + gTextFlags.flag_0 = TRUE; + decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_GameStartHelpUI, 0, 0, 0); + break; + case 6: + if (free_temp_tile_data_buffers_if_possible()) + return; + ClearDialogWindowAndFrame(0, 1); + FillBgTilemapBufferRect_Palette0(1, 0x0000, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(1); + break; + case 7: + CreateWindow_SnapRight_StdPal(0, 30, 0, 13, 0x1C4); + FillBgTilemapBufferRect_Palette0(1, 0xD00F, 0, 0, 30, 2); + FillBgTilemapBufferRect_Palette0(1, 0xD002, 0, 2, 30, 1); + FillBgTilemapBufferRect_Palette0(1, 0xD00E, 0, 19, 30, 1); + CreateHelpDocsPage1(); + gPaletteFade.bufferTransferDisabled = FALSE; + gTasks[taskId].data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xE6, 0x95, 0, 0); + BlendPalettes(0xFFFFFFFF, 0x10, 0x00); + break; + case 10: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + SetVBlankCallback(VBlankCB_NewGameOaksSpeech); + PlayBGM(BGM_FRLG_GAME_EXPLANATION_START); + gTasks[taskId].func = Task_OaksSpeech2; + gMain.state = 0; + return; + } + + gMain.state++; +} + +static void CreateHelpDocsPage1(void) +{ + Menu_PrintHelpSystemUIHeader(gText_Controls, gText_ABUTTONNext, 0, 0, 1); + sOakSpeechResources->unk_0014[0] = AddWindow(sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012]); + PutWindowTilemap(sOakSpeechResources->unk_0014[0]); + FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); + AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &sTextColor_HelpSystem, 0, gNewGame_HelpDocs1); + CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3); + FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); + CopyBgTilemapBufferToVram(1); +} + +static void Task_OakSpeech4(u8 taskId) +{ + u8 i = 0; + u8 r7 = sOakSpeechResources->unk_0012 - 1; + if (sOakSpeechResources->unk_0012 == 0) + { + CreateHelpDocsPage1(); + } + else + { + PrintTextOnRightSnappedWindow(gText_ABUTTONNext_BBUTTONBack, 0, 1); + for (i = 0; i < 3; i++) + { + sOakSpeechResources->unk_0014[i] = AddWindow(&sHelpDocsWindowTemplatePtrs[sOakSpeechResources->unk_0012][i]); + PutWindowTilemap(sOakSpeechResources->unk_0014[i]); + FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); + AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[i], 2, 6, 0, 1, 1, &sTextColor_HelpSystem, 0, sHelpDocsPtrs[i + r7 * 3]); + CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); + } + + if (sOakSpeechResources->unk_0012 == 1) + { + CopyToBgTilemapBufferRect(1, sHelpDocsPage2Tilemap, 1, 3, 5, 16); + } + else + { + CopyToBgTilemapBufferRect(1, sHelpDocsPage3Tilemap, 1, 3, 5, 16); + } + CopyBgTilemapBufferToVram(1); + } + BeginNormalPaletteFade(0xFFFFDFFF, -1, 16, 0, stdpal_get(2)[15]); + gTasks[taskId].func = Task_OaksSpeech2; +} + +static void Task_OaksSpeech2(u8 taskId) +{ + if (!gPaletteFade.active && JOY_NEW((A_BUTTON | B_BUTTON))) + { + if (JOY_NEW(A_BUTTON)) + { + gTasks[taskId].data[15] = 1; + if (sOakSpeechResources->unk_0012 < 2) + { + BeginNormalPaletteFade(0xFFFFDFFF, -1, 0, 16, stdpal_get(2)[15]); + } + } + else + { + if (sOakSpeechResources->unk_0012 != 0) + { + gTasks[taskId].data[15] = -1; + BeginNormalPaletteFade(0xFFFFDFFF, -1, 0, 16, stdpal_get(2)[15]); + } + else + return; + } + } + else + return; + PlaySE(SE_SELECT); + gTasks[taskId].func = Task_OakSpeech3; +} + +static void Task_OakSpeech3(u8 taskId) +{ + u8 r8 = 0; + u8 i; + + if (!gPaletteFade.active) + { + switch (sOakSpeechResources->unk_0012) { + case 0: + r8 = 1; + break; + case 1: + case 2: + r8 = 3; + break; + } + sOakSpeechResources->unk_0012 += gTasks[taskId].data[15]; + if (sOakSpeechResources->unk_0012 < 3) + { + for (i = 0; i < r8; i++) + { + FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); + ClearWindowTilemap(sOakSpeechResources->unk_0014[i]); + CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); + RemoveWindow(sOakSpeechResources->unk_0014[i]); + sOakSpeechResources->unk_0014[i] = 0; + } + gTasks[taskId].func = Task_OakSpeech4; + } + else + { + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + gTasks[taskId].func = Task_OakSpeech5; + } + } +} + +static void Task_OakSpeech5(u8 taskId) +{ + u8 i = 0; + + if (!gPaletteFade.active) + { + for (i = 0; i < 3; i++) + { + FillWindowPixelBuffer(sOakSpeechResources->unk_0014[i], 0x00); + ClearWindowTilemap(sOakSpeechResources->unk_0014[i]); + CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); + RemoveWindow(sOakSpeechResources->unk_0014[i]); + sOakSpeechResources->unk_0014[i] = 0; + } + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 2, 30, 18); + CopyBgTilemapBufferToVram(1); + sub_8006398(gTasks[taskId].data[5]); + sOakSpeechResources->unk_0014[0] = RGB_BLACK; + LoadPalette(sOakSpeechResources->unk_0014, 0, 2); + gTasks[taskId].data[3] = 32; + gTasks[taskId].func = Task_OakSpeech6; + } +} + +static void Task_OakSpeech6(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u32 sp14 = 0; + + if (data[3] != 0) + data[3]--; + else + { + PlayBGM(BGM_FRLG_GAME_EXPLANATION_MIDDLE); + sub_810F71C(); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext, 0, 1); + sOakSpeechResources->unk_0008 = malloc_and_decompress(sNewGameAdventureIntroTilemap, &sp14); + CopyToBgTilemapBufferRect(1, sOakSpeechResources->unk_0008, 0, 2, 30, 19); + CopyBgTilemapBufferToVram(1); + Free(sOakSpeechResources->unk_0008); + sOakSpeechResources->unk_0008 = NULL; + data[14] = AddWindow(&sNewGameAdventureIntroWindowTemplates[0]); + PutWindowTilemap(data[14]); + FillWindowPixelBuffer(data[14], 0x00); + CopyWindowToVram(data[14], 3); + sOakSpeechResources->unk_0012 = 0; + gMain.state = 0; + data[15] = 16; + AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[0]); + data[5] = CreateTextCursorSpriteForOakSpeech(0, 0xe2, 0x91, 0, 0); + gSprites[data[5]].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[data[5]].oam.priority = 0; + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 16, 0, 0); + gTasks[taskId].func = Task_OakSpeech7; + } +} + +static void Task_OakSpeech7(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + switch (gMain.state) + { + case 0: + if (!gPaletteFade.active) + { + SetGpuReg(REG_OFFSET_WIN0H, 0x00F0); + SetGpuReg(REG_OFFSET_WIN0V, 0x10A0); + SetGpuReg(REG_OFFSET_WININ, 0x003F); + SetGpuReg(REG_OFFSET_WINOUT, 0x001F); + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + gMain.state = 1; + } + break; + case 1: + if (JOY_NEW((A_BUTTON | B_BUTTON))) + { + if (JOY_NEW(A_BUTTON)) + { + sOakSpeechResources->unk_0012++; + } + else if (sOakSpeechResources->unk_0012 != 0) + { + sOakSpeechResources->unk_0012--; + } + else + { + break; + } + PlaySE(SE_SELECT); + if (sOakSpeechResources->unk_0012 == 3) + { + gMain.state = 4; + } + else + { + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1); + SetGpuReg(REG_OFFSET_BLDALPHA, (16 - data[15]) | data[15]); + gMain.state++; + } + } + break; + case 2: + data[15] -= 2; + SetGpuReg(REG_OFFSET_BLDALPHA, ((16 - data[15]) << 8) | data[15]); + if (data[15] <= 0) + { + FillWindowPixelBuffer(data[14], 0x00); + AddTextPrinterParametrized2(data[14], 2, 3, 5, 1, 0, &sTextColor_OakSpeech, 0, sNewGameAdventureIntroTextPointers[sOakSpeechResources->unk_0012]); + if (sOakSpeechResources->unk_0012 == 0) + { + sub_810F71C(); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext, 0, 1); + } + else + { + sub_810F71C(); + PrintTextOnRightSnappedWindow(gText_ABUTTONNext_BBUTTONBack, 0, 1); + } + gMain.state++; + } + break; + case 3: + data[15] += 2; + SetGpuReg(REG_OFFSET_BLDALPHA, ((16 - data[15]) << 8) | data[15]); + if (data[15] >= 16) + { + data[15] = 16; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + gMain.state = 1; + } + break; + case 4: + sub_8006398(gTasks[taskId].data[5]); + PlayBGM(BGM_FRLG_GAME_EXPLANATION_END); + data[15] = 24; + gMain.state++; + break; + default: + if (data[15] != 0) + data[15]--; + else + { + gMain.state = 0; + sOakSpeechResources->unk_0012 = 0; + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_OakSpeech8; + } + break; + } +} + +static void Task_OakSpeech8(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + sub_810F740(); + FillWindowPixelBuffer(data[14], 0x00); + ClearWindowTilemap(data[14]); + CopyWindowToVram(data[14], 3); + RemoveWindow(data[14]); + data[14] = 0; + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(1); + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 0); + data[3] = 80; + gTasks[taskId].func = Task_OakSpeech9; + } +} + +static void Task_OakSpeech9(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u32 size = 0; + + if (data[3] != 0) + data[3]--; + else + { + sOakSpeechResources->solidColorsGfx = malloc_and_decompress(sOakSpeechGfx_SolidColors, &size); + LoadBgTiles(1, sOakSpeechResources->solidColorsGfx, size, 0); + CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0); + CopyBgTilemapBufferToVram(1); + CreateNidoranFSprite(taskId); + LoadOaksSpeechTrainerPic(3, 0); + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1); + PlayBGM(BGM_FRLG_ROUTE_24); + BeginNormalPaletteFade(0xFFFFFFFF, 5, 16, 0, RGB_BLACK); + data[3] = 80; + ShowBg(2); + gTasks[taskId].func = Task_OakSpeech10; + } +} + +#define OaksSpeechPrintMessage(str, speed) ({ \ + DrawDialogueFrame(0, FALSE);\ + if (str != gStringVar4) \ + { \ + StringExpandPlaceholders(gStringVar4, str); \ + AddTextPrinterParametrized(0, 4, gStringVar4, speed, NULL, 2, 1, 3); \ + } \ + else \ + { \ + AddTextPrinterParametrized(0, 4, str, speed, NULL, 2, 1, 3); \ + } \ + CopyWindowToVram(0, 3); \ +}) + +static void Task_OakSpeech10(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (data[3] != 0) + data[3]--; + else + { + OaksSpeechPrintMessage(gOakText_WelcomeToTheWorld, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech11; + } + } +} + +static void Task_OakSpeech11(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + OaksSpeechPrintMessage(gOakText_WorldInhabited1, sOakSpeechResources->textSpeed); + gTasks[taskId].data[3] = 30; + gTasks[taskId].func = Task_OakSpeech12; + } +} + +static void Task_OakSpeech12(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 spriteId; + + if (!IsTextPrinterActive(0)) + { + if (data[3] != 0) + data[3]--; + // else { + spriteId = gTasks[taskId].data[4]; + gSprites[spriteId].invisible = FALSE; + gSprites[spriteId].data[0] = 0; + CreatePokeballSpriteToReleaseMon(spriteId, gSprites[spriteId].oam.paletteNum, 0x64, 0x42, 0, 0, 32, 0xFFFF1FFF); + gTasks[taskId].func = Task_OakSpeech13; + gTasks[taskId].data[3] = 0; + // } + } +} + +static void Task_OakSpeech13(u8 taskId) +{ + if (IsCryFinished()) + { + if (gTasks[taskId].data[3] >= 96) + gTasks[taskId].func = Task_OakSpeech14; + } + if (gTasks[taskId].data[3] < 0x4000) + { + gTasks[taskId].data[3]++; + if (gTasks[taskId].data[3] == 32) + { + OaksSpeechPrintMessage(gOakText_WorldInhabited2, sOakSpeechResources->textSpeed); + PlayCry1(SPECIES_NIDORAN_F, 0); + } + } +} + +static void Task_OakSpeech14(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + OaksSpeechPrintMessage(gOakText_PetsBattlingStudy, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech15; + } +} + +static void Task_OakSpeech15(u8 taskId) +{ + u8 spriteId; + + if (!IsTextPrinterActive(0)) + { + ClearDialogWindowAndFrame(0, 1); + spriteId = gTasks[taskId].data[4]; + gTasks[taskId].data[6] = sub_804BB98(spriteId, gSprites[spriteId].oam.paletteNum, 0x64, 0x42, 0, 0, 32, 0xFFFF1F3F); + gTasks[taskId].data[3] = 48; + gTasks[taskId].data[0] = 64; + gTasks[taskId].func = Task_OakSpeech16; + } +} + +static void Task_OakSpeech16(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[0] != 0) + { + if (data[0] < 24) + { + gSprites[data[4]].pos1.y--; + } + data[0]--; + } + else + { + if (data[3] == 48) + { + DestroySprite(&gSprites[data[4]]); + DestroySprite(&gSprites[data[6]]); + } + if (data[3] != 0) + { + data[3]--; + } + else + { + OaksSpeechPrintMessage(gOakText_TellMeALittleAboutYourself, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech17; + } + } +} + +static void Task_OakSpeech17(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!IsTextPrinterActive(0)) + { + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); + data[3] = 48; + gTasks[taskId].func = Task_OakSpeech18; + } +} + +static void Task_OakSpeech18(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + if (data[3] != 0) + data[3]--; + else + { + data[1] = -60; + DestroyOaksSpeechTrainerPic(); + OaksSpeechPrintMessage(gOakText_AskPlayerGender, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech19; + } + } +} + +static void Task_OakSpeech19(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + gTasks[taskId].data[13] = AddWindow(&sNewGameAdventureIntroWindowTemplates[1]); + PutWindowTilemap(gTasks[taskId].data[13]); + SetWindowBorderStyle(gTasks[taskId].data[13], 1, sub_80F796C(), 14); + FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11); + sOakSpeechResources->unk_001C[0] = 1; + sOakSpeechResources->unk_001C[1] = 2; + sOakSpeechResources->unk_001C[2] = 3; + box_print(gTasks[taskId].data[13], 2, 8, 1, sOakSpeechResources->unk_001C, 0, gText_Boy); + sOakSpeechResources->unk_001C[0] = 1; + sOakSpeechResources->unk_001C[1] = 2; + sOakSpeechResources->unk_001C[2] = 3; + box_print(gTasks[taskId].data[13], 2, 8, 17, sOakSpeechResources->unk_001C, 0, gText_Girl); + ProgramAndPlaceMenuCursorOnWindow(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); + CopyWindowToVram(gTasks[taskId].data[13], 3); + gTasks[taskId].func = Task_OakSpeech20; + } +} + +static void Task_OakSpeech20(u8 taskId) +{ + s8 input = ProcessMenuInputNoWrapAround(); + switch (input) + { + case 0: + gSaveBlock2Ptr->playerGender = MALE; + break; + case 1: + gSaveBlock2Ptr->playerGender = FEMALE; + break; + case -1: + case -2: + return; + } + gTasks[taskId].func = Task_OakSpeech21; + +} + +static void Task_OakSpeech21(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + sub_810F4D8(data[13], 1); + RemoveWindow(data[13]); + data[13] = 0; + ClearDialogWindowAndFrame(0, 1); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gTasks[taskId].func = Task_OakSpeech22; +} + +static void Task_OakSpeech22(u8 taskId) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + LoadOaksSpeechTrainerPic(MALE, 0); + else + LoadOaksSpeechTrainerPic(FEMALE, 0); + CreateFadeOutTask(taskId, 2); + gTasks[taskId].data[3] = 32; + gTasks[taskId].func = Task_OakSpeech23; +} + +static void Task_OakSpeech23(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + if (data[3] != 0) + data[3]--; + else + { + data[1] = 0; + OaksSpeechPrintMessage(gOakText_AskPlayerName, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech24; + } + } +} + +static void Task_OakSpeech24(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sOakSpeechResources->unk_0010 = 0; + gTasks[taskId].func = Task_OakSpeech25; + } +} +static void Task_OakSpeech35(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!IsTextPrinterActive(0)) + { + if (data[1] > -60) + { + data[1] -= 2; + gSpriteCoordOffsetX += 2; + ChangeBgX(2, 0x200, 2); + } + else + { + data[1] = -60; + PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010); + gTasks[taskId].func = Task_OakSpeech29; + } + } +} + +static void Task_OakSpeech28(u8 taskId) +{ + PrintNameChoiceOptions(taskId, sOakSpeechResources->unk_0010); + if (sOakSpeechResources->unk_0010 == 0) + { + OaksSpeechPrintMessage(gOakText_AskPlayerName, 0); + } + else + { + OaksSpeechPrintMessage(gOakText_AskRivalName, 0); + } + gTasks[taskId].func = Task_OakSpeech29; +} + +static void Task_OakSpeech29(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + s8 input = ProcessMenuInput(); + switch (input) + { + case 1: + case 2: + case 3: + case 4: + PlaySE(SE_SELECT); + sub_810F4D8(data[13], TRUE); + RemoveWindow(data[13]); + GetDefaultName(sOakSpeechResources->unk_0010, input - 1); + data[15] = 1; + gTasks[taskId].func = Task_OakSpeech26; + break; + case 0: + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = Task_OakSpeech25; + break; + case -1: + break; + } +} + +static void Task_OakSpeech25(u8 taskId) +{ + if (!gPaletteFade.active) + { + GetDefaultName(sOakSpeechResources->unk_0010, 0); + if (sOakSpeechResources->unk_0010 == 0) + { + DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, CB2_ReturnFromNamingScreen); + } + else + { + sub_810F4D8(gTasks[taskId].data[13], 1); + RemoveWindow(gTasks[taskId].data[13]); + DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, CB2_ReturnFromNamingScreen); + } + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1); + FreeAllWindowBuffers(); + } +} + +static void Task_OakSpeech26(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (data[15] == 1) + { + if (sOakSpeechResources->unk_0010 == 0) + { + StringExpandPlaceholders(gStringVar4, gOakText_FinalizePlayerName); + } + else + { + StringExpandPlaceholders(gStringVar4, gOakText_ConfirmRivalName); + } + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); + data[15] = 0; + data[3] = 25; + } + else if (!IsTextPrinterActive(0)) + { + if (data[3] != 0) + data[3]--; + else + { + sub_810FF60(&sNewGameAdventureIntroWindowTemplates[2], 2, 0, 2, sub_80F796C(), 14, 0); + gTasks[taskId].func = Task_OakSpeech27; + } + } + } +} + +static void Task_OakSpeech27(u8 taskId) +{ + s8 input = ProcessMenuInputNoWrap_(); + switch (input) + { + case 0: + PlaySE(SE_SELECT); + gTasks[taskId].data[3] = 40; + if (sOakSpeechResources->unk_0010 == 0) + { + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech30; + } + else + { + StringExpandPlaceholders(gStringVar4, gOakText_RememberRivalName); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); + gTasks[taskId].func = Task_OakSpeech31; + } + break; + case 1: + case -1: + PlaySE(SE_SELECT); + if (sOakSpeechResources->unk_0010 == 0) + gTasks[taskId].func = Task_OakSpeech24; + else + gTasks[taskId].func = Task_OakSpeech28; + break; + } +} + +static void Task_OakSpeech30(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + DestroyOaksSpeechTrainerPic(); + if (data[3] != 0) + data[3]--; + else + gTasks[taskId].func = Task_OakSpeech32; + } +} + +static void Task_OakSpeech31(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + ClearDialogWindowAndFrame(0, 1); + CreateFadeInTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech33; + } +} + +static void Task_OakSpeech32(u8 taskId) +{ + ChangeBgX(2, 0, 0); + gTasks[taskId].data[1] = 0; + gSpriteCoordOffsetX = 0; + LoadOaksSpeechTrainerPic(2, 0); + CreateFadeOutTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech34; +} + +static void Task_OakSpeech34(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + OaksSpeechPrintMessage(gOakText_IntroduceRival, sOakSpeechResources->textSpeed); + sOakSpeechResources->unk_0010 = 1; + gTasks[taskId].func = Task_OakSpeech35; + } +} + +static void Task_OakSpeech33(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + DestroyOaksSpeechTrainerPic(); + if (data[3] != 0) + data[3]--; + else + { + if (gSaveBlock2Ptr->playerGender == MALE) + LoadOaksSpeechTrainerPic(MALE, 0); + else + LoadOaksSpeechTrainerPic(FEMALE, 0); + gTasks[taskId].data[1] = 0; + gSpriteCoordOffsetX = 0; + ChangeBgX(2, 0, 0); + CreateFadeOutTask(taskId, 2); + gTasks[taskId].func = Task_OakSpeech36; + } + } +} + +static void Task_OakSpeech36(u8 taskId) +{ + if (gTasks[taskId].data[2] != 0) + { + StringExpandPlaceholders(gStringVar4, gOakText_LegendAboutToUnfold); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->textSpeed); + gTasks[taskId].data[3] = 30; + gTasks[taskId].func = Task_OakSpeech37; + } +} + +static void Task_OakSpeech37(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + if (gTasks[taskId].data[3] != 0) + gTasks[taskId].data[3]--; + else + { + FadeOutBGM(4); + gTasks[taskId].func = Task_OakSpeech38; + } + } +} + +static void Task_OakSpeech38(u8 taskId) +{ + sOakSpeechResources->unk_0012 = 0; + Task_OakSpeech38_1(taskId); + Task_OakSpeech38_2(taskId); + Task_OakSpeech38_3(taskId); +} + +static void Task_OakSpeech38_3(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + SetBgAttribute(2, 6, 1); + data[0] = 0; + data[1] = 0; + data[2] = 256; + data[15] = 0; + gTasks[taskId].func = Task_OakSpeech39; +} + +static void Task_OakSpeech39(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + s16 x, y; + u16 r0; + + sOakSpeechResources->unk_0012++; + if (sOakSpeechResources->unk_0012 % 20 == 0) + { + if (sOakSpeechResources->unk_0012 == 40) + PlaySE(SE_FU_ZUZUZU); + r0 = data[2]; + data[2] -= 32; + x = sub_80D8B90(r0 - 8); + y = sub_80D8B90(data[2] - 16); + SetBgAffine(2, 0x7800, 0x5400, 0x78, 0x54, x, y, 0); + if (data[2] <= 96) + { + data[15] = 1; + data[0] = 36; + gTasks[taskId].func = Task_OakSpeech40; + } + } +} + +static void Task_OakSpeech38_1(u8 taskId) +{ + u8 taskId2 = CreateTask(Task_OakSpeech38_sub1, 1); + s16 * data = gTasks[taskId2].data; + data[0] = 0; + data[1] = 0; + data[2] = 0; + data[15] = 0; + BeginNormalPaletteFade(0xFFFF0FCF, 4, 0, 16, RGB_BLACK); +} + +static void Task_OakSpeech38_sub1(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + if (data[1] != 0) + { + DestroyTask(taskId); + DestroyLinkedPikaOrGrassPlatformSprites(taskId, 1); + } + else + { + data[1]++; + BeginNormalPaletteFade(0x0000F000, 0, 0, 16, RGB_BLACK); + } + } +} + +static void Task_OakSpeech38_2(u8 taskId) +{ + u8 taskId2 = CreateTask(Task_OakSpeech38_sub2, 2); + s16 * data = gTasks[taskId2].data; + data[0] = 8; + data[1] = 0; + data[2] = 8; + data[14] = 0; + data[15] = 0; +} + +static void Task_OakSpeech38_sub2(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u8 i; + + if (data[0] != 0) + data[0]--; + else + { + if (data[1] <= 0 && data[2] != 0) + data[2]--; + BlendPalette(0x40, 0x20, data[14], RGB_WHITE); + data[14]++; + data[1]--; + data[0] = data[2]; + if (data[14] > 14) + { + for (i = 0; i < 32; i++) + { + gPlttBufferFaded[i + 0x40] = RGB_WHITE; + gPlttBufferUnfaded[i + 0x40] = RGB_WHITE; + } + DestroyTask(taskId); + } + } +} + +static void Task_OakSpeech40(u8 taskId) +{ + if (gTasks[taskId].data[0] != 0) + gTasks[taskId].data[0]--; + else + { + BeginNormalPaletteFade(0x00000030, 2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_OakSpeech41; + } +} + +static void Task_OakSpeech41(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = Task_OakSpeech42; + } +} + +static void Task_OakSpeech42(u8 taskId) +{ + FreeAllWindowBuffers(); + sub_8044D80(); + Free(sOakSpeechResources); + sOakSpeechResources = NULL; + gTextFlags.flag_0 = FALSE; + SetMainCallback2(CB2_NewGame); + DestroyTask(taskId); +} + +static void CB2_ReturnFromNamingScreen(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankCallback(NULL); + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, RGB_BLACK, PLTT + sizeof(u16), PLTT_SIZE - sizeof(u16)); + ResetPaletteFade(); + ScanlineEffect_Stop(); + ResetSpriteData(); + FreeAllSpritePalettes(); + reset_temp_tile_data_buffers(); + break; + case 1: + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(1, sBgTemplates, NELEMS(sBgTemplates)); + SetBgTilemapBuffer(1, sOakSpeechResources->bg1TilemapBuffer); + SetBgTilemapBuffer(2, sOakSpeechResources->bg2TilemapBuffer); + ChangeBgX(1, 0, 0); + ChangeBgY(1, 0, 0); + ChangeBgX(2, 0, 0); + ChangeBgY(2, 0, 0); + break; + case 2: + SetGpuReg(REG_OFFSET_WIN0H, 0); + SetGpuReg(REG_OFFSET_WIN0V, 0); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + break; + case 3: + FreeAllWindowBuffers(); + InitStandardTextBoxWindows(); + ResetBg0(); + LoadPalette(sHelpDocsPalette, 0, 0xe0); + break; + case 4: + decompress_and_copy_tile_data_to_vram(1, sOakSpeechGfx_SolidColors, 0, 0, 0); + break; + case 5: + if (free_temp_tile_data_buffers_if_possible()) + return; + FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20); + CopyToBgTilemapBuffer(1, sOakSpeech_BackgroundTilemap, 0, 0); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + break; + case 6: + taskId = CreateTask(Task_OakSpeech26, 0); + if (sOakSpeechResources->unk_0010 == 0) + { + if (gSaveBlock2Ptr->playerGender == MALE) + LoadOaksSpeechTrainerPic(MALE, 0); + else + LoadOaksSpeechTrainerPic(FEMALE, 0); + } + else + LoadOaksSpeechTrainerPic(2, 0); + gTasks[taskId].data[1] = -60; + gSpriteCoordOffsetX += 60; + ChangeBgX(2, -0x3C00, 0); + CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(taskId, 1); + gTasks[taskId].data[15] = 1; + break; + case 7: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + ShowBg(0); + ShowBg(1); + ShowBg(2); + EnableInterrupts(INTR_FLAG_VBLANK); + SetVBlankCallback(VBlankCB_NewGameOaksSpeech); + gTextFlags.flag_0 = TRUE; + SetMainCallback2(CB2_NewGameOaksSpeech); + return; + } + + gMain.state++; +} + +static void CreateNidoranFSprite(u8 taskId) +{ + u8 spriteId; + + DecompressPicFromTable(gUnknown_8235194, sub_8044E00(0), SPECIES_NIDORAN_F); + sub_800F078(&gUnknown_82373F4); + sub_803F7D4(SPECIES_NIDORAN_F, 0); + spriteId = CreateSprite(&gMultiuseSpriteTemplate, 0x60, 0x60, 1); + gSprites[spriteId].callback = SpriteCallbackDummy; + gSprites[spriteId].oam.priority = 1; + gSprites[spriteId].invisible = TRUE; + gTasks[taskId].data[4] = spriteId; +} + +static void SpriteCB_PikaSync(struct Sprite * sprite) +{ + sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex; +} + +static void CreatePikaOrGrassPlatformSpriteAndLinkToCurrentTask(u8 taskId, u8 state) +{ + u8 spriteId; + u8 i = 0; + + switch (state) + { + case 0: + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[0]); + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[1]); + LoadCompressedObjectPic(&sOakSpeech_PikaSpriteSheets[2]); + LoadSpritePalette(&sOakSpeech_PikaSpritePal); + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[0], 0x10, 0x11, 2); + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[7] = spriteId; + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[1], 0x10, 0x09, 3); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = SpriteCB_PikaSync; + gTasks[taskId].data[8] = spriteId; + spriteId = CreateSprite(&sOakSpeech_PikaSpriteTemplates[2], 0x18, 0x0D, 1); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = SpriteCB_PikaSync; + gTasks[taskId].data[9] = spriteId; + break; + case 1: + LoadCompressedObjectPic(&sOakSpeech_GrassPlatformSpriteSheet); + LoadSpritePalette(&sOakSpeech_GrassPlatformSpritePal); + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&sOakSpeech_GrassPlatformSpriteTemplates[i], i * 32 + 88, 0x70, 1); + gSprites[spriteId].oam.priority = 2; + gSprites[spriteId].animPaused = TRUE; + gSprites[spriteId].coordOffsetEnabled = TRUE; + gTasks[taskId].data[7 + i] = spriteId; + } + break; + } +} + +static void DestroyLinkedPikaOrGrassPlatformSprites(u8 taskId, u8 state) +{ + u8 i; + + for (i = 0; i < 3; i++) + { + DestroySprite(&gSprites[gTasks[taskId].data[7 + i]]); + } + + switch (state) + { + case 0: + FreeSpriteTilesByTag(0x1003); + FreeSpriteTilesByTag(0x1002); + FreeSpriteTilesByTag(0x1001); + FreeSpritePaletteByTag(0x1001); + break; + case 1: + FreeSpriteTilesByTag(0x1000); + FreeSpritePaletteByTag(0x1000); + break; + } +} + +static void LoadOaksSpeechTrainerPic(u16 whichPic, u16 tileOffset) +{ + u32 i; + + switch (whichPic) + { + case 0: // FIRE + LoadPalette(sOakSpeechGfx_RedPal, 0x40, 0x40); + LZ77UnCompVram(sOakSpeechGfx_RedPic, (void *)0x06000600 + tileOffset); + break; + case 1: // LEAF + LoadPalette(sOakSpeechGfx_LeafPal, 0x40, 0x40); + LZ77UnCompVram(sOakSpeechGfx_LeafPic, (void *)0x06000600 + tileOffset); + break; + case 2: // BLUE + LoadPalette(sOakSpeechGfx_RivalPal, 0x60, 0x40); + LZ77UnCompVram(sOakSpeechGfx_RivalPic, (void *)0x06000600 + tileOffset); + break; + case 3: // OAK + LoadPalette(sOakSpeechGfx_OakPal, 0x60, 0x40); + LZ77UnCompVram(sOakSpeechGfx_OakPic, (void *)0x06000600 + tileOffset); + break; + default: + return; + } + + sOakSpeechResources->trainerPicTilemapBuffer = AllocZeroed(0x60); + for (i = 0; i < 0x60; i++) + ((u8 *)sOakSpeechResources->trainerPicTilemapBuffer)[i] = i; + FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x10); + CopyRectToBgTilemapBufferRect(2, sOakSpeechResources->trainerPicTilemapBuffer, 0, 0, 8, 12, 11, 2, 8, 12, 0x10, (tileOffset / 64) + 0x18, 0x00); + CopyBgTilemapBufferToVram(2); + Free(sOakSpeechResources->trainerPicTilemapBuffer); + sOakSpeechResources->trainerPicTilemapBuffer = 0; +} + +static void DestroyOaksSpeechTrainerPic(void) +{ + FillBgTilemapBufferRect(2, 0x000, 11, 1, 8, 12, 0x10); + CopyBgTilemapBufferToVram(2); +} + +static void Task_SlowFadeIn(u8 taskId) +{ + u8 i = 0; + if (gTasks[taskId].data[1] == 0) + { + gTasks[gTasks[taskId].data[0]].data[2] = 1; + DestroyTask(taskId); + for (i = 0; i < 3; i++) + { + gSprites[gTasks[taskId].data[7 + i]].invisible = TRUE; + } + } + else + { + if (gTasks[taskId].data[4] != 0) + gTasks[taskId].data[4]--; + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1]--; + gTasks[taskId].data[2]++; + if (gTasks[taskId].data[1] == 8) + { + for (i = 0; i < 3; i++) + { + gSprites[gTasks[taskId].data[7 + i]].invisible ^= TRUE; + } + } + SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]); + } + } +} + +static void CreateFadeInTask(u8 taskId, u8 state) +{ + u8 taskId2; + u8 i = 0; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); + SetGpuReg(REG_OFFSET_BLDY, 0); + gTasks[taskId].data[2] = 0; + taskId2 = CreateTask(Task_SlowFadeIn, 0); + gTasks[taskId2].data[0] = taskId; + gTasks[taskId2].data[1] = 16; + gTasks[taskId2].data[2] = 0; + gTasks[taskId2].data[3] = state; + gTasks[taskId2].data[4] = state; + for (i = 0; i < 3; i++) + { + gTasks[taskId2].data[7 + i] = gTasks[taskId].data[7 + i]; + } +} + +static void Task_SlowFadeOut(u8 taskId) +{ + u8 i = 0; + + if (gTasks[taskId].data[1] == 16) + { + if (!gPaletteFade.active) + { + gTasks[gTasks[taskId].data[0]].data[2] = 1; + DestroyTask(taskId); + } + } + else + { + if (gTasks[taskId].data[4] != 0) + gTasks[taskId].data[4]--; + else + { + gTasks[taskId].data[4] = gTasks[taskId].data[3]; + gTasks[taskId].data[1] += 2; + gTasks[taskId].data[2] -= 2; + if (gTasks[taskId].data[1] == 8) + { + for (i = 0; i < 3; i++) + { + gSprites[gTasks[taskId].data[7 + i]].invisible ^= TRUE; + } + } + SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]); + } + } +} + +static void CreateFadeOutTask(u8 taskId, u8 state) +{ + u8 taskId2; + u8 i = 0; + + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_OBJ); + SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); + SetGpuReg(REG_OFFSET_BLDY, 0); + gTasks[taskId].data[2] = 0; + taskId2 = CreateTask(Task_SlowFadeOut, 0); + gTasks[taskId2].data[0] = taskId; + gTasks[taskId2].data[1] = 0; + gTasks[taskId2].data[2] = 16; + gTasks[taskId2].data[3] = state; + gTasks[taskId2].data[4] = state; + for (i = 0; i < 3; i++) + { + gTasks[taskId2].data[7 + i] = gTasks[taskId].data[7 + i]; + } +} + +static void PrintNameChoiceOptions(u8 taskId, u8 state) +{ + s16 * data = gTasks[taskId].data; + const u8 *const * textPtrs; + u8 i; + + data[13] = AddWindow(&sNewGameAdventureIntroWindowTemplates[3]); + PutWindowTilemap(data[13]); + SetWindowBorderStyle(data[13], 1, sub_80F796C(), 14); + FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11); + AddTextPrinterParameterized(data[13], 2, gOtherText_NewName, 8, 1, 0, NULL); + if (state == 0) + textPtrs = gSaveBlock2Ptr->playerGender == MALE ? sMaleNameChoices : sFemaleNameChoices; + else + textPtrs = sRivalNameChoices; + for (i = 0; i < 4; i++) + { + AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL); + } + ProgramAndPlaceMenuCursorOnWindow(data[13], 2, 0, 1, 16, 5, 0); + CopyWindowToVram(data[13], 3); +} + +static void GetDefaultName(u8 arg0, u8 namePick) +{ + const u8 * src; + u8 * dest; + u8 i; + + if (arg0 == 0) + { + if (gSaveBlock2Ptr->playerGender == MALE) + src = sMaleNameChoices[Random() % 19]; + else + src = sFemaleNameChoices[Random() % 19]; + dest = gSaveBlock2Ptr->playerName; + } + else + { + src = sRivalNameChoices[namePick]; + dest = gSaveBlock1Ptr->rivalName; + } + for (i = 0; i < PLAYER_NAME_LENGTH - 1 && src[i] != EOS; i++) + dest[i] = src[i]; + for (; i < PLAYER_NAME_LENGTH; i++) + dest[i] = EOS; +} diff --git a/src/roamer.c b/src/roamer.c new file mode 100644 index 000000000..b42855644 --- /dev/null +++ b/src/roamer.c @@ -0,0 +1,240 @@ +#include "global.h" +#include "roamer.h" +#include "random.h" +#include "overworld.h" +#include "field_specials.h" +#include "constants/species.h" +#include "constants/maps.h" +#include "constants/region_map.h" + +EWRAM_DATA u8 sLocationHistory[3][2] = {}; +EWRAM_DATA u8 sRoamerLocation[2] = {}; + +#define saveRoamer (*(&gSaveBlock1Ptr->roamer)) + +enum +{ + MAP_GRP = 0, // map group + MAP_NUM = 1, // map number +}; + +const u8 sRoamerLocations[][7] = { + {MAP_NUM(ROUTE1), MAP_NUM(ROUTE2), MAP_NUM(ROUTE21_NORTH), MAP_NUM(ROUTE22), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE2), MAP_NUM(ROUTE1), MAP_NUM(ROUTE3), MAP_NUM(ROUTE22), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE3), MAP_NUM(ROUTE2), MAP_NUM(ROUTE4), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE4), MAP_NUM(ROUTE3), MAP_NUM(ROUTE5), MAP_NUM(ROUTE9), MAP_NUM(ROUTE24), 0xff, 0xff}, + {MAP_NUM(ROUTE5), MAP_NUM(ROUTE4), MAP_NUM(ROUTE6), MAP_NUM(ROUTE7), MAP_NUM(ROUTE8), MAP_NUM(ROUTE9), MAP_NUM(ROUTE24)}, + {MAP_NUM(ROUTE6), MAP_NUM(ROUTE5), MAP_NUM(ROUTE7), MAP_NUM(ROUTE8), MAP_NUM(ROUTE11), 0xff, 0xff}, + {MAP_NUM(ROUTE7), MAP_NUM(ROUTE5), MAP_NUM(ROUTE6), MAP_NUM(ROUTE8), MAP_NUM(ROUTE16), 0xff, 0xff}, + {MAP_NUM(ROUTE8), MAP_NUM(ROUTE5), MAP_NUM(ROUTE6), MAP_NUM(ROUTE7), MAP_NUM(ROUTE10), MAP_NUM(ROUTE12), 0xff}, + {MAP_NUM(ROUTE9), MAP_NUM(ROUTE4), MAP_NUM(ROUTE5), MAP_NUM(ROUTE10), MAP_NUM(ROUTE24), 0xff, 0xff}, + {MAP_NUM(ROUTE10), MAP_NUM(ROUTE8), MAP_NUM(ROUTE9), MAP_NUM(ROUTE12), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE11), MAP_NUM(ROUTE6), MAP_NUM(ROUTE12), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE12), MAP_NUM(ROUTE10), MAP_NUM(ROUTE11), MAP_NUM(ROUTE13), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE13), MAP_NUM(ROUTE12), MAP_NUM(ROUTE14), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE14), MAP_NUM(ROUTE13), MAP_NUM(ROUTE15), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE15), MAP_NUM(ROUTE14), MAP_NUM(ROUTE18), MAP_NUM(ROUTE19), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE16), MAP_NUM(ROUTE7), MAP_NUM(ROUTE17), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE17), MAP_NUM(ROUTE16), MAP_NUM(ROUTE18), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE18), MAP_NUM(ROUTE15), MAP_NUM(ROUTE17), MAP_NUM(ROUTE19), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE19), MAP_NUM(ROUTE15), MAP_NUM(ROUTE18), MAP_NUM(ROUTE20), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE20), MAP_NUM(ROUTE19), MAP_NUM(ROUTE21_NORTH), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE21_NORTH), MAP_NUM(ROUTE1), MAP_NUM(ROUTE20), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE22), MAP_NUM(ROUTE1), MAP_NUM(ROUTE2), MAP_NUM(ROUTE23), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE23), MAP_NUM(ROUTE22), MAP_NUM(ROUTE2), 0xff, 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE24), MAP_NUM(ROUTE4), MAP_NUM(ROUTE5), MAP_NUM(ROUTE9), 0xff, 0xff, 0xff}, + {MAP_NUM(ROUTE25), MAP_NUM(ROUTE24), MAP_NUM(ROUTE9), 0xff, 0xff, 0xff, 0xff}, + {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} +}; + +void ClearRoamerData(void) +{ + u32 i; + gSaveBlock1Ptr->roamer = (struct Roamer){}; + sRoamerLocation[MAP_GRP] = 0; + sRoamerLocation[MAP_NUM] = 0; + for (i = 0; i < 3; i++) + { + sLocationHistory[i][MAP_GRP] = 0; + sLocationHistory[i][MAP_NUM] = 0; + } +} + +#define GetRoamerSpecies() ({\ + u16 a;\ + switch (ScrSpecial_GetStarter())\ + {\ + default:\ + a = SPECIES_RAIKOU;\ + break;\ + case SPECIES_BULBASAUR:\ + a = SPECIES_ENTEI;\ + break;\ + case SPECIES_CHARMANDER:\ + a = SPECIES_SUICUNE;\ + break;\ + }\ + a;\ +}) + +void CreateInitialRoamerMon(void) +{ + struct Pokemon * tmpMon = &gEnemyParty[0]; + u16 roamerMon; + + CreateMon(tmpMon, (roamerMon = GetRoamerSpecies()), 50, 0x20, 0, 0, 0, 0); + saveRoamer.species = roamerMon; + saveRoamer.level = 50; + saveRoamer.status = 0; + saveRoamer.active = TRUE; + saveRoamer.ivs = GetMonData(tmpMon, MON_DATA_IVS); + saveRoamer.personality = GetMonData(tmpMon, MON_DATA_PERSONALITY); + saveRoamer.hp = GetMonData(tmpMon, MON_DATA_MAX_HP); + saveRoamer.cool = GetMonData(tmpMon, MON_DATA_COOL); + saveRoamer.beauty = GetMonData(tmpMon, MON_DATA_BEAUTY); + saveRoamer.cute = GetMonData(tmpMon, MON_DATA_CUTE); + saveRoamer.smart = GetMonData(tmpMon, MON_DATA_SMART); + saveRoamer.tough = GetMonData(tmpMon, MON_DATA_TOUGH); + sRoamerLocation[MAP_GRP] = 3; + sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; +} + +void InitRoamer(void) +{ + ClearRoamerData(); + CreateInitialRoamerMon(); +} + +void UpdateLocationHistoryForRoamer(void) +{ + sLocationHistory[2][MAP_GRP] = sLocationHistory[1][MAP_GRP]; + sLocationHistory[2][MAP_NUM] = sLocationHistory[1][MAP_NUM]; + sLocationHistory[1][MAP_GRP] = sLocationHistory[0][MAP_GRP]; + sLocationHistory[1][MAP_NUM] = sLocationHistory[0][MAP_NUM]; + sLocationHistory[0][MAP_GRP] = gSaveBlock1Ptr->location.mapGroup; + sLocationHistory[0][MAP_NUM] = gSaveBlock1Ptr->location.mapNum; +} + +void RoamerMoveToOtherLocationSet(void) +{ + u8 mapNum = 0; + struct Roamer *roamer = &saveRoamer; + + if (!roamer->active) + return; + + sRoamerLocation[MAP_GRP] = 3; + + while (1) + { + mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; + if (sRoamerLocation[MAP_NUM] != mapNum) + { + sRoamerLocation[MAP_NUM] = mapNum; + return; + } + } +} + + +void RoamerMove(void) +{ + u8 locSet = 0; + + if ((Random() % 16) == 0) + { + RoamerMoveToOtherLocationSet(); + } + else + { + struct Roamer *roamer = &saveRoamer; + + if (!roamer->active) + return; + + while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1)) + { + if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0]) + { + u8 mapNum; + while (1) + { + mapNum = sRoamerLocations[locSet][(Random() % 6) + 1]; + if (!(sLocationHistory[2][MAP_GRP] == 3 && sLocationHistory[2][MAP_NUM] == mapNum) && mapNum != 0xFF) + break; + } + sRoamerLocation[MAP_NUM] = mapNum; + return; + } + locSet++; + } + } +} + +bool8 IsRoamerAt(u8 mapGroup, u8 mapNum) +{ + struct Roamer *roamer = &saveRoamer; + + if (roamer->active && mapGroup == sRoamerLocation[MAP_GRP] && mapNum == sRoamerLocation[MAP_NUM]) + return TRUE; + else + return FALSE; +} + +void CreateRoamerMonInstance(void) +{ + struct Pokemon *mon; + struct Roamer *roamer; + + mon = &gEnemyParty[0]; + ZeroEnemyPartyMons(); + roamer = &saveRoamer; + CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality); + SetMonData(mon, MON_DATA_STATUS, &gSaveBlock1Ptr->roamer.status); + SetMonData(mon, MON_DATA_HP, &gSaveBlock1Ptr->roamer.hp); + SetMonData(mon, MON_DATA_COOL, &gSaveBlock1Ptr->roamer.cool); + SetMonData(mon, MON_DATA_BEAUTY, &gSaveBlock1Ptr->roamer.beauty); + SetMonData(mon, MON_DATA_CUTE, &gSaveBlock1Ptr->roamer.cute); + SetMonData(mon, MON_DATA_SMART, &gSaveBlock1Ptr->roamer.smart); + SetMonData(mon, MON_DATA_TOUGH, &gSaveBlock1Ptr->roamer.tough); +} + +bool8 TryStartRoamerEncounter(void) +{ + if (IsRoamerAt(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum) == TRUE && (Random() % 4) == 0) + { + CreateRoamerMonInstance(); + return TRUE; + } + else + { + return FALSE; + } +} +void UpdateRoamerHPStatus(struct Pokemon *mon) +{ + saveRoamer.hp = GetMonData(mon, MON_DATA_HP); + saveRoamer.status = GetMonData(mon, MON_DATA_STATUS); + + RoamerMoveToOtherLocationSet(); +} + +void SetRoamerInactive(void) +{ + struct Roamer *roamer = &saveRoamer; + roamer->active = FALSE; +} + +void GetRoamerLocation(u8 *mapGroup, u8 *mapNum) +{ + *mapGroup = sRoamerLocation[MAP_GRP]; + *mapNum = sRoamerLocation[MAP_NUM]; +} + +u16 GetRoamerLocationMapSectionId(void) +{ + struct Roamer *roamer = &saveRoamer; + if (!saveRoamer.active) + return MAPSEC_NONE; + return get_mapheader_by_bank_and_number(sRoamerLocation[MAP_GRP], sRoamerLocation[MAP_NUM])->regionMapSectionId; +} diff --git a/src/scanline_effect.c b/src/scanline_effect.c new file mode 100644 index 000000000..22699b96d --- /dev/null +++ b/src/scanline_effect.c @@ -0,0 +1,262 @@ +#include "global.h" +#include "battle.h" +#include "task.h" +#include "trig.h" +#include "scanline_effect.h" + +extern u16 gBattle_BG0_X; +extern u16 gBattle_BG0_Y; +extern u16 gBattle_BG1_X; +extern u16 gBattle_BG1_Y; +extern u16 gBattle_BG2_X; +extern u16 gBattle_BG2_Y; +extern u16 gBattle_BG3_X; +extern u16 gBattle_BG3_Y; + +static void CopyValue16Bit(void); +static void CopyValue32Bit(void); + +// EWRAM vars + +// Per-scanline register values. +// This is double buffered so that it can be safely written to at any time +// without overwriting the buffer that the DMA is currently reading +EWRAM_DATA u16 gScanlineEffectRegBuffers[2][0x3C0] = {0}; + +EWRAM_DATA struct ScanlineEffect gScanlineEffect = {0}; +EWRAM_DATA static bool8 sShouldStopWaveTask = FALSE; + +void ScanlineEffect_Stop(void) +{ + gScanlineEffect.state = 0; + DmaStop(0); + if (gScanlineEffect.waveTaskId != 0xFF) + { + DestroyTask(gScanlineEffect.waveTaskId); + gScanlineEffect.waveTaskId = 0xFF; + } +} + +void ScanlineEffect_Clear(void) +{ + CpuFill16(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers)); + gScanlineEffect.dmaSrcBuffers[0] = NULL; + gScanlineEffect.dmaSrcBuffers[1] = NULL; + gScanlineEffect.dmaDest = NULL; + gScanlineEffect.dmaControl = 0; + gScanlineEffect.srcBuffer = 0; + gScanlineEffect.state = 0; + gScanlineEffect.unused16 = 0; + gScanlineEffect.unused17 = 0; + gScanlineEffect.waveTaskId = 0xFF; +} + +void ScanlineEffect_SetParams(struct ScanlineEffectParams params) +{ + if (params.dmaControl == SCANLINE_EFFECT_DMACNT_16BIT) // 16-bit + { + // Set the DMA src to the value for the second scanline because the + // first DMA transfer occurs in HBlank *after* the first scanline is drawn + gScanlineEffect.dmaSrcBuffers[0] = (u16 *)gScanlineEffectRegBuffers[0] + 1; + gScanlineEffect.dmaSrcBuffers[1] = (u16 *)gScanlineEffectRegBuffers[1] + 1; + gScanlineEffect.setFirstScanlineReg = CopyValue16Bit; + } + else // assume 32-bit + { + // Set the DMA src to the value for the second scanline because the + // first DMA transfer occurs in HBlank *after* the first scanline is drawn + gScanlineEffect.dmaSrcBuffers[0] = (u32 *)gScanlineEffectRegBuffers[0] + 1; + gScanlineEffect.dmaSrcBuffers[1] = (u32 *)gScanlineEffectRegBuffers[1] + 1; + gScanlineEffect.setFirstScanlineReg = CopyValue32Bit; + } + + gScanlineEffect.dmaControl = params.dmaControl; + gScanlineEffect.dmaDest = params.dmaDest; + gScanlineEffect.state = params.initState; + gScanlineEffect.unused16 = params.unused9; + gScanlineEffect.unused17 = params.unused9; +} + +void ScanlineEffect_InitHBlankDmaTransfer(void) +{ + if (gScanlineEffect.state == 0) + { + return; + } + else if (gScanlineEffect.state == 3) + { + gScanlineEffect.state = 0; + DmaStop(0); + sShouldStopWaveTask = TRUE; + } + else + { + DmaStop(0); + // Set DMA to copy to dest register on each HBlank for the next frame. + // The HBlank DMA transfers do not occurr during VBlank, so the transfer + // will begin on the HBlank after the first scanline + DmaSet(0, gScanlineEffect.dmaSrcBuffers[gScanlineEffect.srcBuffer], gScanlineEffect.dmaDest, gScanlineEffect.dmaControl); + // Manually set the reg for the first scanline + gScanlineEffect.setFirstScanlineReg(); + // Swap current buffer + gScanlineEffect.srcBuffer ^= 1; + } +} + +// These two functions are used to copy the register for the first scanline, +// depending whether it is a 16-bit register or a 32-bit register. + +static void CopyValue16Bit(void) +{ + u16 *dest = (u16 *)gScanlineEffect.dmaDest; + u16 *src = (u16 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer]; + + *dest = *src; +} + +static void CopyValue32Bit(void) +{ + u32 *dest = (u32 *)gScanlineEffect.dmaDest; + u32 *src = (u32 *)&gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer]; + + *dest = *src; +} + +#define tStartLine data[0] +#define tEndLine data[1] +#define tWaveLength data[2] +#define tSrcBufferOffset data[3] +#define tFramesUntilMove data[4] +#define tDelayInterval data[5] +#define tRegOffset data[6] +#define tApplyBattleBgOffsets data[7] + +static void TaskFunc_UpdateWavePerFrame(u8 taskId) +{ + int value = 0; + int i; + int offset; + + if (sShouldStopWaveTask) + { + DestroyTask(taskId); + gScanlineEffect.waveTaskId = 0xFF; + } + else + { + if (gTasks[taskId].tApplyBattleBgOffsets) + { + switch (gTasks[taskId].tRegOffset) + { + case SCANLINE_EFFECT_REG_BG0HOFS: + value = gBattle_BG0_X; + break; + case SCANLINE_EFFECT_REG_BG0VOFS: + value = gBattle_BG0_Y; + break; + case SCANLINE_EFFECT_REG_BG1HOFS: + value = gBattle_BG1_X; + break; + case SCANLINE_EFFECT_REG_BG1VOFS: + value = gBattle_BG1_Y; + break; + case SCANLINE_EFFECT_REG_BG2HOFS: + value = gBattle_BG2_X; + break; + case SCANLINE_EFFECT_REG_BG2VOFS: + value = gBattle_BG2_Y; + break; + case SCANLINE_EFFECT_REG_BG3HOFS: + value = gBattle_BG3_X; + break; + case SCANLINE_EFFECT_REG_BG3VOFS: + value = gBattle_BG3_Y; + break; + } + } + if (gTasks[taskId].tFramesUntilMove != 0) + { + gTasks[taskId].tFramesUntilMove--; + offset = gTasks[taskId].tSrcBufferOffset + 320; + for (i = gTasks[taskId].tStartLine; i < gTasks[taskId].tEndLine; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gScanlineEffectRegBuffers[0][offset] + value; + offset++; + } + } + else + { + gTasks[taskId].tFramesUntilMove = gTasks[taskId].tDelayInterval; + offset = gTasks[taskId].tSrcBufferOffset + 320; + for (i = gTasks[taskId].tStartLine; i < gTasks[taskId].tEndLine; i++) + { + gScanlineEffectRegBuffers[gScanlineEffect.srcBuffer][i] = gScanlineEffectRegBuffers[0][offset] + value; + offset++; + } + + // increment src buffer offset + gTasks[taskId].tSrcBufferOffset++; + if (gTasks[taskId].tSrcBufferOffset == gTasks[taskId].tWaveLength) + gTasks[taskId].tSrcBufferOffset = 0; + } + } +} + +static void GenerateWave(u16 *buffer, u8 frequency, u8 amplitude, u8 unused) +{ + u16 i = 0; + u8 theta = 0; + + while (i < 256) + { + buffer[i] = (gSineTable[theta] * amplitude) / 256; + theta += frequency; + i++; + } +} + +// Initializes a background "wave" effect that affects scanlines startLine (inclusive) to endLine (exclusive). +// 'frequency' and 'amplitude' control the frequency and amplitude of the wave. +// 'delayInterval' controls how fast the wave travels up the screen. The wave will shift upwards one scanline every 'delayInterval'+1 frames. +// 'regOffset' is the offset of the video register to modify. +u8 ScanlineEffect_InitWave(u8 startLine, u8 endLine, u8 frequency, u8 amplitude, u8 delayInterval, u8 regOffset, bool8 applyBattleBgOffsets) +{ + int i; + int offset; + struct ScanlineEffectParams params; + u8 taskId; + + ScanlineEffect_Clear(); + + params.dmaDest = (void *)(REG_ADDR_BG0HOFS + regOffset); + params.dmaControl = SCANLINE_EFFECT_DMACNT_16BIT; + params.initState = 1; + params.unused9 = 0; + ScanlineEffect_SetParams(params); + + taskId = CreateTask(TaskFunc_UpdateWavePerFrame, 0); + + gTasks[taskId].tStartLine = startLine; + gTasks[taskId].tEndLine = endLine; + gTasks[taskId].tWaveLength = 256 / frequency; + gTasks[taskId].tSrcBufferOffset = 0; + gTasks[taskId].tFramesUntilMove = delayInterval; + gTasks[taskId].tDelayInterval = delayInterval; + gTasks[taskId].tRegOffset = regOffset; + gTasks[taskId].tApplyBattleBgOffsets = applyBattleBgOffsets; + + gScanlineEffect.waveTaskId = taskId; + sShouldStopWaveTask = FALSE; + + GenerateWave(&gScanlineEffectRegBuffers[0][320], frequency, amplitude, endLine - startLine); + + offset = 320; + for (i = startLine; i < endLine; i++) + { + gScanlineEffectRegBuffers[0][i] = gScanlineEffectRegBuffers[0][offset]; + gScanlineEffectRegBuffers[1][i] = gScanlineEffectRegBuffers[0][offset]; + offset++; + } + + return taskId; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index 12b35daa4..e7c61db1f 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -1567,7 +1567,7 @@ bool8 ScrCmd_braillemessage(struct ScriptContext *ctx) ptr = (u8 *)ctx->data[0]; sub_80F6E9C(); - sub_80F6EE4(0, 1); + DrawDialogueFrame(0, 1); AddTextPrinterParameterized(0, 6, ptr, 0, 1, 0, NULL); return FALSE; } @@ -1636,8 +1636,8 @@ bool8 ScrCmd_bufferitemname(struct ScriptContext *ctx) return FALSE; } -extern const u8 gUnknown_83A72A0[]; -extern const u8 gUnknown_83A72A2[]; +const u8 gUnknown_83A72A0[] = _("S"); +const u8 gUnknown_83A72A2[] = _("IES"); bool8 ScrCmd_bufferitemnameplural(struct ScriptContext *ctx) { diff --git a/src/sound.c b/src/sound.c index f94e44506..ba6511d1c 100644 --- a/src/sound.c +++ b/src/sound.c @@ -40,7 +40,23 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2; extern struct MusicPlayerInfo gMPlayInfo_SE3; extern struct ToneData gCryTable[]; extern struct ToneData gCryTable2[]; -extern const struct Fanfare sFanfares[]; + +static const struct Fanfare sFanfares[] = { + { MUS_FANFA1, 80 }, + { MUS_FANFA4, 160 }, + { MUS_FANFA5, 220 }, + { MUS_ME_WAZA, 220 }, + { MUS_ME_ASA, 160 }, + { MUS_ME_BACHI, 340 }, + { MUS_ME_WASURE, 180 }, + { MUS_ME_KINOMI, 120 }, + { MUS_ME_B_BIG, 250 }, + { MUS_ME_B_SMALL, 150 }, + { MUS_ME_ZANNEN, 160 }, + { BGM_FRLG_FLUTE, 450 }, + { BGM_FRLG_ME_KEYITEM, 170 }, + { BGM_FRLG_ME_POKEDEX_EVAL, 196 } +}; extern u16 SpeciesToCryId(u16); diff --git a/src/text.c b/src/text.c index 874e12fd5..d74d77e2f 100644 --- a/src/text.c +++ b/src/text.c @@ -8,8 +8,8 @@ extern u8 gGlyphInfo[0x90]; extern u8 gUnknown_203ADFA; -extern u16 gUnknown_841F408[]; -extern const struct OamData gUnknown_83AC9D0; +extern u16 gTMCaseMainWindowPalette[]; +extern const struct OamData gOamData_83AC9D0; extern void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue); extern void FillWindowPixelRect(u8 windowId, u8 fillValue, u16 x, u16 y, u16 width, u16 height); @@ -52,7 +52,7 @@ const struct SpriteSheet gUnknown_81EA68C[] = const struct SpritePalette gUnknown_81EA6A4[] = { - {gUnknown_841F408, 0x8000}, + {gTMCaseMainWindowPalette, 0x8000}, {NULL} }; @@ -60,7 +60,7 @@ const struct SpriteTemplate gUnknown_81EA6B4 = { .tileTag = 0x8000, .paletteTag = 0x8000, - .oam = &gUnknown_83AC9D0, + .oam = &gOamData_83AC9D0, .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, @@ -1791,7 +1791,7 @@ void sub_80062B0(struct Sprite *sprite) } } -u8 sub_8006300(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority) +u8 CreateTextCursorSpriteForOakSpeech(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority) { u8 spriteId; LoadSpriteSheet(&gUnknown_81EA68C[sheetId & 1]); diff --git a/src/tm_case.c b/src/tm_case.c new file mode 100644 index 000000000..2fc30da2d --- /dev/null +++ b/src/tm_case.c @@ -0,0 +1,1537 @@ +#include "global.h" +#include "malloc.h" +#include "bg.h" +#include "decompress.h" +#include "gpu_regs.h" +#include "palette.h" +#include "graphics.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "menu.h" +#include "menu_helpers.h" +#include "new_menu_helpers.h" +#include "list_menu.h" +#include "item.h" +#include "item_menu.h" +#include "link.h" +#include "money.h" +#include "shop.h" +#include "teachy_tv.h" +#include "pokemon_storage_system.h" +#include "string_util.h" +#include "party_menu.h" +#include "data2.h" +#include "scanline_effect.h" +#include "sound.h" +#include "strings.h" +#include "tm_case.h" +#include "menu_indicators.h" +#include "constants/items.h" +#include "constants/songs.h" + +#define TM_CASE_TM_TAG 400 + +struct UnkStruct_203B10C +{ + void (* savedCallback)(void); + u8 tmCaseMenuType; + u8 unk_05; + u8 unk_06; + u16 selectedRow; + u16 scrollOffset; +}; + +struct UnkStruct_203B118 +{ + void (* savedCallback)(void); + u8 tmSpriteId; + u8 maxTMsShown; + u8 numTMs; + u8 contextMenuWindowId; + u8 scrollIndicatorArrowPairId; + u16 currItem; + const u8 * menuActionIndices; + u8 numMenuActions; + s16 seqId; + u8 filler_14[8]; +}; + +struct UnkStruct_203B11C +{ + struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + u16 unk_160; + u16 unk_162; +}; + +static EWRAM_DATA struct UnkStruct_203B10C sTMCaseStaticResources = {}; +static EWRAM_DATA struct UnkStruct_203B118 * sTMCaseDynamicResources = NULL; +static EWRAM_DATA struct UnkStruct_203B11C * sPokeDudePackBackup = NULL; +static EWRAM_DATA void * sTilemapBuffer = NULL; // tilemap buffer +static EWRAM_DATA struct ListMenuItem * sListMenuItemsBuffer = NULL; +static EWRAM_DATA u8 (* sListMenuStringsBuffer)[29] = NULL; +static EWRAM_DATA u16 * sTMSpritePaletteBuffer = NULL; + +static void CB2_SetUpTMCaseUI_Blocking(void); +static bool8 DoSetUpTMCaseUI(void); +static void ResetBufferPointers_NoFree(void); +static void LoadBGTemplates(void); +static bool8 HandleLoadTMCaseGraphicsAndPalettes(void); +static void CreateTMCaseListMenuBuffers(void); +static void InitTMCaseListMenuItems(void); +static void GetTMNumberAndMoveString(u8 * dest, u16 itemId); +static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y); +static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex); +static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1); +static void CreateTMCaseScrollIndicatorArrowPair_Main(void); +static void TMCaseSetup_GetTMCount(void); +static void TMCaseSetup_InitListMenuPositions(void); +static void TMCaseSetup_UpdateVisualMenuOffset(void); +static void Task_FadeOutAndCloseTMCase(u8 taskId); +static void Task_TMCaseMain(u8 taskId); +static void Task_SelectTMAction_FromFieldBag(u8 taskId); +static void Task_TMContextMenu_HandleInput(u8 taskId); +static void TMHMContextMenuAction_Use(u8 taskId); +static void TMHMContextMenuAction_Give(u8 taskId); +static void PrintError_ThereIsNoPokemon(u8 taskId); +static void PrintError_ItemCantBeHeld(u8 taskId); +static void Task_WaitButtonAfterErrorPrint(u8 taskId); +static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId); +static void TMHMContextMenuAction_Exit(u8 taskId); +static void Task_SelectTMAction_Type1(u8 taskId); +static void Task_SelectTMAction_Type3(u8 taskId); +static void Task_SelectTMAction_FromSellMenu(u8 taskId); +static void Task_AskConfirmSaleWithAmount(u8 taskId); +static void Task_PlaceYesNoBox(u8 taskId); +static void Task_SaleOfTMsCancelled(u8 taskId); +static void Task_InitQuantitySelectUI(u8 taskId); +static void SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 value); +static void Task_QuantitySelect_HandleInput(u8 taskId); +static void Task_PrintSaleConfirmedText(u8 taskId); +static void Task_DoSaleOfTMs(u8 taskId); +static void Task_AfterSale_ReturnToList(u8 taskId); +static void Task_TMCaseDude1(u8 taskId); +static void Task_TMCaseDude_Playback(u8 taskId); +static void InitWindowTemplatesAndPals(void); +static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); +static void TMCase_SetWindowBorder1(u8 windowId); +static void TMCase_SetWindowBorder2(u8 windowId); +static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 * str, TaskFunc func); +static void PrintStringTMCaseOnWindow3(void); +static void DrawMoveInfoUIMarkers(void); +static void TMCase_MoveCursor_UpdatePrintedTMInfo(u16 itemId); +static void PlaceHMTileInWindow(u8 windowId, u8 x, u8 y); +static void HandlePrintMoneyOnHand(void); +static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable * ptrs); +static u8 AddTMContextMenu(u8 * a0, u8 a1); +static void RemoveTMContextMenu(u8 * a0); +static u8 CreateTMSprite(u16 itemId); +static void SetTMSpriteAnim(struct Sprite * sprite, u8 var); +static void TintTMSpriteByType(u8 type); +static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var); +static void InitSelectedTMSpriteData(u8 a0, u16 itemId); +static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite); +static void LoadTMTypePalettes(void); + +static const struct BgTemplate sBGTemplates[] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0x000 + } +}; + +static void (*const sSelectTMActionTasks[])(u8 taskId) = { + Task_SelectTMAction_FromFieldBag, + Task_SelectTMAction_Type1, + Task_SelectTMAction_FromSellMenu, + Task_SelectTMAction_Type3 +}; + +static const struct MenuAction sMenuActions_UseGiveExit[] = { + {gOtherText_Use, TMHMContextMenuAction_Use }, + {gOtherText_Give, TMHMContextMenuAction_Give}, + {gOtherText_Exit, TMHMContextMenuAction_Exit}, +}; + +static const u8 sMenuActionIndices_Field[] = {0, 1, 2}; +static const u8 sMenuActionIndices_UnionRoom[] = {1, 2}; +static const struct YesNoFuncTable sYesNoFuncTable = {Task_PrintSaleConfirmedText, Task_SaleOfTMsCancelled}; + +static const u8 sText_ClearTo18[] = _("{CLEAR_TO 18}"); +static const u8 sText_SingleSpace[] = _(" "); + +static ALIGNED(4) const u16 sPal3Override[] = {RGB(8, 8, 8), RGB(30, 16, 6)}; + +static const struct TextColor sTextColors[] = { + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 6}, + {0, 14, 10} +}; + +static const struct WindowTemplate sWindowTemplates[] = { + {0x00, 0x0a, 0x01, 0x13, 0x0a, 0x0f, 0x0081}, + {0x00, 0x0c, 0x0c, 0x12, 0x08, 0x0a, 0x013f}, + {0x01, 0x05, 0x0f, 0x0f, 0x04, 0x0d, 0x01f9}, + {0x00, 0x00, 0x01, 0x0a, 0x02, 0x0f, 0x0235}, + {0x00, 0x01, 0x0d, 0x05, 0x06, 0x0c, 0x0249}, + {0x00, 0x07, 0x0d, 0x05, 0x06, 0x0c, 0x0267}, + {0x01, 0x02, 0x0f, 0x1a, 0x04, 0x0b, 0x0285}, + {0x01, 0x11, 0x09, 0x0c, 0x04, 0x0f, 0x02ed}, + {0x01, 0x01, 0x01, 0x08, 0x03, 0x0d, 0x031d}, + DUMMY_WIN_TEMPLATE +}; + +static const struct WindowTemplate sYesNoWindowTemplate = {0x01, 0x15, 0x09, 0x06, 0x04, 0x0f, 0x0335}; + +static const struct WindowTemplate sTMContextWindowTemplates[] = { + {0x01, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x01cf}, + {0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01cf} +}; + +static const struct OamData sTMSpriteOamData = { + .size = 2, + .priority = 2 +}; + +static const union AnimCmd sTMSpriteAnim0[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +static const union AnimCmd sTMSpriteAnim1[] = { + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +static const union AnimCmd *const sTMSpriteAnims[] = { + sTMSpriteAnim0, + sTMSpriteAnim1 +}; + +static const struct CompressedSpriteSheet sTMSpriteSheet = { + (const void *)gTMCase_TMSpriteGfx, + 0x400, + TM_CASE_TM_TAG +}; + +static const struct SpriteTemplate sTMSpriteTemplate = { + TM_CASE_TM_TAG, + TM_CASE_TM_TAG, + &sTMSpriteOamData, + sTMSpriteAnims, + NULL, + gDummySpriteAffineAnimTable, + SpriteCallbackDummy +}; + +static const u16 sTMSpritePaletteOffsetByType[] = { + [TYPE_NORMAL] = 0x000, + [TYPE_FIRE] = 0x010, + [TYPE_WATER] = 0x020, + [TYPE_GRASS] = 0x030, + [TYPE_ELECTRIC] = 0x040, + [TYPE_ROCK] = 0x050, + [TYPE_GROUND] = 0x060, + [TYPE_ICE] = 0x070, + [TYPE_FLYING] = 0x080, + [TYPE_FIGHTING] = 0x090, + [TYPE_GHOST] = 0x0a0, + [TYPE_BUG] = 0x0b0, + [TYPE_POISON] = 0x0c0, + [TYPE_PSYCHIC] = 0x0d0, + [TYPE_STEEL] = 0x0e0, + [TYPE_DARK] = 0x0f0, + [TYPE_DRAGON] = 0x100 +}; + +void InitTMCase(u8 type, void (* callback)(void), u8 a2) +{ + ResetBufferPointers_NoFree(); + sTMCaseDynamicResources = Alloc(sizeof(struct UnkStruct_203B118)); + sTMCaseDynamicResources->savedCallback = 0; + sTMCaseDynamicResources->scrollIndicatorArrowPairId = 0xFF; + sTMCaseDynamicResources->contextMenuWindowId = 0xFF; + if (type != 5) + sTMCaseStaticResources.tmCaseMenuType = type; + if (callback != NULL) + sTMCaseStaticResources.savedCallback = callback; + if (a2 != 0xFF) + sTMCaseStaticResources.unk_05 = a2; + gTextFlags.flag_2 = FALSE; + SetMainCallback2(CB2_SetUpTMCaseUI_Blocking); +} + +static void CB2_Idle(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + do_scheduled_bg_tilemap_copies_to_vram(); + UpdatePaletteFade(); +} + +static void VBlankCB_Idle(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_SetUpTMCaseUI_Blocking(void) +{ + while (1) + { + if (sub_80BF72C() == TRUE) + break; + if (DoSetUpTMCaseUI() == TRUE) + break; + if (sub_80BF708() == TRUE) + break; + } +} + +static bool8 DoSetUpTMCaseUI(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + sub_80BF768(); + clear_scheduled_bg_copies_to_vram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + ResetTasks(); + gMain.state++; + break; + case 6: + LoadBGTemplates(); + sTMCaseDynamicResources->seqId = 0; + gMain.state++; + break; + case 7: + InitWindowTemplatesAndPals(); + gMain.state++; + break; + case 8: + if (HandleLoadTMCaseGraphicsAndPalettes()) + gMain.state++; + break; + case 9: + sub_809A5E4(&gBagPockets[POCKET_TM_CASE - 1]); + gMain.state++; + break; + case 10: + TMCaseSetup_GetTMCount(); + TMCaseSetup_InitListMenuPositions(); + TMCaseSetup_UpdateVisualMenuOffset(); + gMain.state++; + break; + case 11: + DrawMoveInfoUIMarkers(); + gMain.state++; + break; + case 12: + CreateTMCaseListMenuBuffers(); + InitTMCaseListMenuItems(); + gMain.state++; + break; + case 13: + PrintStringTMCaseOnWindow3(); + gMain.state++; + break; + case 14: + if (sTMCaseStaticResources.tmCaseMenuType == 4) + taskId = CreateTask(Task_TMCaseDude1, 0); + else + taskId = CreateTask(Task_TMCaseMain, 0); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + gMain.state++; + break; + case 15: + CreateTMCaseScrollIndicatorArrowPair_Main(); + gMain.state++; + break; + case 16: + sTMCaseDynamicResources->tmSpriteId = CreateTMSprite(BagGetItemIdByPocketPosition(POCKET_TM_CASE, sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow)); + gMain.state++; + break; + case 17: + BlendPalettes(0xFFFFFFFF, 16, 0); + gMain.state++; + break; + case 18: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + default: + SetVBlankCallback(VBlankCB_Idle); + SetMainCallback2(CB2_Idle); + return TRUE; + } + + return FALSE; +} + +static void ResetBufferPointers_NoFree(void) +{ + sTMCaseDynamicResources = NULL; + sTilemapBuffer = NULL; + sListMenuItemsBuffer = NULL; + sListMenuStringsBuffer = NULL; + sTMSpritePaletteBuffer = NULL; +} + +static void LoadBGTemplates(void) +{ + void ** ptr; + sub_80BF7C8(); + ptr = &sTilemapBuffer; + *ptr = AllocZeroed(0x800); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates)); + SetBgTilemapBuffer(2, *ptr); + schedule_bg_copy_tilemap_to_vram(1); + schedule_bg_copy_tilemap_to_vram(2); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + ShowBg(0); + ShowBg(1); + ShowBg(2); +} + +static bool8 HandleLoadTMCaseGraphicsAndPalettes(void) +{ + switch (sTMCaseDynamicResources->seqId) + { + case 0: + reset_temp_tile_data_buffers(); + decompress_and_copy_tile_data_to_vram(1, gUnknown_8E845D8, 0, 0, 0); + sTMCaseDynamicResources->seqId++; + break; + case 1: + if (free_temp_tile_data_buffers_if_possible() != TRUE) + { + LZDecompressWram(gUnknown_8E84A24, sTilemapBuffer); + sTMCaseDynamicResources->seqId++; + } + break; + case 2: + LZDecompressWram(gUnknown_8E84B70, GetBgTilemapBuffer(1)); + sTMCaseDynamicResources->seqId++; + break; + case 3: + if (gSaveBlock2Ptr->playerGender == MALE) + LoadCompressedPalette(gUnknown_8E84CB0, 0, 0x80); + else + LoadCompressedPalette(gUnknown_8E84D20, 0, 0x80); + sTMCaseDynamicResources->seqId++; + break; + case 4: + LoadCompressedObjectPic(&sTMSpriteSheet); + sTMCaseDynamicResources->seqId++; + break; + default: + LoadTMTypePalettes(); + sTMCaseDynamicResources->seqId = 0; + return TRUE; + } + + return FALSE; +} + +static void CreateTMCaseListMenuBuffers(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + sListMenuItemsBuffer = Alloc((pocket->capacity + 1) * sizeof(struct ListMenuItem)); + sListMenuStringsBuffer = Alloc(sTMCaseDynamicResources->numTMs * 29); +} + +static void InitTMCaseListMenuItems(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + u16 i; + + for (i = 0; i < sTMCaseDynamicResources->numTMs; i++) + { + GetTMNumberAndMoveString(sListMenuStringsBuffer[i], pocket->itemSlots[i].itemId); + sListMenuItemsBuffer[i].unk_00 = sListMenuStringsBuffer[i]; + sListMenuItemsBuffer[i].unk_04 = i; + } + sListMenuItemsBuffer[i].unk_00 = gText_Close; + sListMenuItemsBuffer[i].unk_04 = -2; + gMultiuseListMenuTemplate.items = sListMenuItemsBuffer; + gMultiuseListMenuTemplate.totalItems = sTMCaseDynamicResources->numTMs + 1; + gMultiuseListMenuTemplate.windowId = 0; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 8; + gMultiuseListMenuTemplate.cursor_X = 0; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.maxShowed = sTMCaseDynamicResources->maxTMsShown; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 0; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = TMCase_MoveCursorFunc; + gMultiuseListMenuTemplate.itemPrintFunc = TMCase_ItemPrintFunc; + gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.scrollMultiple = 0; +} + +static void GetTMNumberAndMoveString(u8 * dest, u16 itemId) +{ + StringCopy(gStringVar4, gText_FontSize0); + if (itemId >= ITEM_HM01) + { + StringAppend(gStringVar4, sText_ClearTo18); + StringAppend(gStringVar4, gOtherText_UnkF9_08_Clear_01); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_HM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 1); + StringAppend(gStringVar4, gStringVar1); + } + else + { + StringAppend(gStringVar4, gOtherText_UnkF9_08_Clear_01); + ConvertIntToDecimalStringN(gStringVar1, itemId - ITEM_TM01 + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar4, gStringVar1); + } + StringAppend(gStringVar4, sText_SingleSpace); + StringAppend(gStringVar4, gText_FontSize2); + StringAppend(gStringVar4, gMoveNames[ItemIdToBattleMoveId(itemId)]); + StringCopy(dest, gStringVar4); +} + +static void TMCase_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + u16 itemId; + + if (itemIndex == -2) + itemId = 0; + else + itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex); + + if (onInit != TRUE) + { + PlaySE(SE_SELECT); + InitSelectedTMSpriteData(sTMCaseDynamicResources->tmSpriteId, itemId); + } + TMCase_MoveCursor_UpdatePrintedDescription(itemIndex); + TMCase_MoveCursor_UpdatePrintedTMInfo(itemId); +} + +static void TMCase_ItemPrintFunc(u8 windowId, s32 itemId, u8 y) +{ + if (itemId != -2) + { + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemId))) + { + ConvertIntToDecimalStringN(gStringVar1, BagGetQuantityByPocketPosition(POCKET_TM_CASE, itemId), STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(windowId, 0, gStringVar4, 0x7E, y, 0, 0, 0xFF, 1); + } + else + { + PlaceHMTileInWindow(windowId, 8, y); + } + } +} + +static void TMCase_MoveCursor_UpdatePrintedDescription(s32 itemIndex) +{ + const u8 * str; + if (itemIndex != -2) + { + str = ItemId_GetDescription(BagGetItemIdByPocketPosition(POCKET_TM_CASE, itemIndex)); + } + else + { + str = gText_TMCaseWillBePutAway; + } + FillWindowPixelBuffer(1, 0); + AddTextPrinterParameterized_ColorByIndex(1, 2, str, 2, 3, 1, 0, 0, 0); +} + +static void FillBG2RowWithPalette_2timesNplus1(s32 a0) +{ + sub_80F6B08(2, 0, 12, 30, 8, 2 * a0 + 1); + schedule_bg_copy_tilemap_to_vram(2); +} + +static void PrintListMenuCursorByID_WithColorIdx(u8 a0, u8 a1) +{ + PrintListMenuCursorAt_WithColorIdx(ListMenuGetYCoordForPrintingArrowCursor(a0), a1); +} + +static void PrintListMenuCursorAt_WithColorIdx(u8 a0, u8 a1) +{ + if (a1 == 0xFF) + { + FillWindowPixelRect(0, 0, 0, a0, GetFontAttribute(2, 0), GetFontAttribute(2, 1)); + CopyWindowToVram(0, 2); + } + else + { + AddTextPrinterParameterized_ColorByIndex(0, 2, gFameCheckerText_ListMenuCursor, 0, a0, 0, 0, 0, a1); + } +} + +static void CreateTMCaseScrollIndicatorArrowPair_Main(void) +{ + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0xA0, 0x08, 0x58, sTMCaseDynamicResources->numTMs - sTMCaseDynamicResources->maxTMsShown + 1, 0x6E, 0x6E, &sTMCaseStaticResources.scrollOffset); +} + +static void CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(void) +{ + sTMCaseDynamicResources->currItem = 1; + sTMCaseDynamicResources->scrollIndicatorArrowPairId = AddScrollIndicatorArrowPairParametrized(2, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sTMCaseDynamicResources->currItem); +} + +static void RemoveTMCaseScrollIndicatorArrowPair(void) +{ + if (sTMCaseDynamicResources->scrollIndicatorArrowPairId != 0xFF) + { + RemoveScrollIndicatorArrowPair(sTMCaseDynamicResources->scrollIndicatorArrowPairId); + sTMCaseDynamicResources->scrollIndicatorArrowPairId = 0xFF; + } +} + +void ResetTMCaseCursorPos(void) +{ + sTMCaseStaticResources.selectedRow = 0; + sTMCaseStaticResources.scrollOffset = 0; +} + +static void TMCaseSetup_GetTMCount(void) +{ + struct BagPocket * pocket = &gBagPockets[POCKET_TM_CASE - 1]; + u16 i; + + sub_809A584(pocket->itemSlots, pocket->capacity); + sTMCaseDynamicResources->numTMs = 0; + for (i = 0; i < pocket->capacity; i++) + { + if (pocket->itemSlots[i].itemId == ITEM_NONE) + break; + sTMCaseDynamicResources->numTMs++; + } + sTMCaseDynamicResources->maxTMsShown = min(sTMCaseDynamicResources->numTMs + 1, 5); +} + +static void TMCaseSetup_InitListMenuPositions(void) +{ + if (sTMCaseStaticResources.scrollOffset != 0) + { + if (sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown > sTMCaseDynamicResources->numTMs + 1) + sTMCaseStaticResources.scrollOffset = sTMCaseDynamicResources->numTMs + 1 - sTMCaseDynamicResources->maxTMsShown; + } + if (sTMCaseStaticResources.scrollOffset + sTMCaseStaticResources.selectedRow >= sTMCaseDynamicResources->numTMs + 1) + { + if (sTMCaseDynamicResources->numTMs + 1 < 2) + sTMCaseStaticResources.selectedRow = 0; + else + sTMCaseStaticResources.selectedRow = sTMCaseDynamicResources->numTMs; + } +} + +static void TMCaseSetup_UpdateVisualMenuOffset(void) +{ + u8 i; + if (sTMCaseStaticResources.selectedRow > 3) + { + for (i = 0; i <= sTMCaseStaticResources.selectedRow - 3 && sTMCaseStaticResources.scrollOffset + sTMCaseDynamicResources->maxTMsShown != sTMCaseDynamicResources->numTMs + 1; i++) + { + do {} while (0); + sTMCaseStaticResources.selectedRow--; + sTMCaseStaticResources.scrollOffset++; + } + } +} + +static void DestroyTMCaseBuffers(void) +{ + if (sTMCaseDynamicResources != NULL) + Free(sTMCaseDynamicResources); + if (sTilemapBuffer != NULL) + Free(sTilemapBuffer); + if (sListMenuItemsBuffer != NULL) + Free(sListMenuItemsBuffer); + if (sListMenuStringsBuffer != NULL) + Free(sListMenuStringsBuffer); + if (sTMSpritePaletteBuffer != NULL) + Free(sTMSpritePaletteBuffer); + FreeAllWindowBuffers(); +} + +static void Task_BeginFadeOutFromTMCase(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_FadeOutAndCloseTMCase; +} + +static void Task_FadeOutAndCloseTMCase(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + if (sTMCaseDynamicResources->savedCallback != NULL) + SetMainCallback2(sTMCaseDynamicResources->savedCallback); + else + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); + DestroyTask(taskId); + } +} + +static void Task_TMCaseMain(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + s32 input; + + if (!gPaletteFade.active) + { + if (sub_80BF72C() != TRUE) + { + input = ListMenuHandleInput(data[0]); + get_coro_args_x18_x1A(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + if (JOY_NEW(SELECT_BUTTON) && sTMCaseStaticResources.unk_05 == 1) + { + PlaySE(SE_SELECT); + gSpecialVar_ItemId = ITEM_NONE; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + switch (input) + { + case -1: + break; + case -2: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = 0; + Task_BeginFadeOutFromTMCase(taskId); + break; + default: + PlaySE(SE_SELECT); + FillBG2RowWithPalette_2timesNplus1(1); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); + data[1] = input; + data[2] = BagGetQuantityByPocketPosition(POCKET_TM_CASE, input); + gSpecialVar_ItemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, input); + gTasks[taskId].func = sSelectTMActionTasks[sTMCaseStaticResources.tmCaseMenuType]; + break; + } + } + } + } +} + +static void Subtask_ReturnToTMCaseMain(u8 taskId) +{ + FillBG2RowWithPalette_2timesNplus1(0); + CreateTMCaseScrollIndicatorArrowPair_Main(); + gTasks[taskId].func = Task_TMCaseMain; +} + +static void Task_SelectTMAction_FromFieldBag(u8 taskId) +{ + u8 * strbuf; + TMCase_SetWindowBorder2(2); + if (!sub_80BF708() && InUnionRoom() != TRUE) + { + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 0); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_Field; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_Field); + } + else + { + AddTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId, 1); + sTMCaseDynamicResources->menuActionIndices = sMenuActionIndices_UnionRoom; + sTMCaseDynamicResources->numMenuActions = NELEMS(sMenuActionIndices_UnionRoom); + } + AddItemMenuActionTextPrinters(sTMCaseDynamicResources->contextMenuWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 0, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, sMenuActions_UseGiveExit, sTMCaseDynamicResources->menuActionIndices); + ProgramAndPlaceMenuCursorOnWindow(sTMCaseDynamicResources->contextMenuWindowId, 2, 0, 2, GetFontAttribute(2, 1) + 2, sTMCaseDynamicResources->numMenuActions, 0); + strbuf = Alloc(256); + GetTMNumberAndMoveString(strbuf, gSpecialVar_ItemId); + StringAppend(strbuf, gText_IsSelected); + AddTextPrinterParameterized_ColorByIndex(2, 2, strbuf, 0, 2, 1, 0, 0, 1); + Free(strbuf); + if (itemid_is_unique(gSpecialVar_ItemId)) + { + PlaceHMTileInWindow(2, 0, 2); + CopyWindowToVram(2, 2); + } + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + gTasks[taskId].func = Task_TMContextMenu_HandleInput; +} + +static void Task_TMContextMenu_HandleInput(u8 taskId) +{ + s8 input; + + if (sub_80BF72C() != TRUE) + { + input = ProcessMenuInputNoWrapAround(); + switch (input) + { + case -1: + PlaySE(SE_SELECT); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[sTMCaseDynamicResources->numMenuActions - 1]].func.void_u8(taskId); + break; + case -2: + break; + default: + PlaySE(SE_SELECT); + sMenuActions_UseGiveExit[sTMCaseDynamicResources->menuActionIndices[input]].func.void_u8(taskId); + break; + } + } +} + +static void TMHMContextMenuAction_Use(u8 taskId) +{ + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + if (CalculatePlayerPartyCount() == 0) + { + PrintError_ThereIsNoPokemon(taskId); + } + else + { + gUnknown_3005E98 = sub_8125B40; + sTMCaseDynamicResources->savedCallback = sub_8124C8C; + Task_BeginFadeOutFromTMCase(taskId); + } +} + +static void TMHMContextMenuAction_Give(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u16 itemId = BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]); + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(1); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + if (!itemid_is_unique(itemId)) + { + if (CalculatePlayerPartyCount() == 0) + { + PrintError_ThereIsNoPokemon(taskId); + } + else + { + sTMCaseDynamicResources->savedCallback = sub_8126EDC; + Task_BeginFadeOutFromTMCase(taskId); + } + } + else + { + PrintError_ItemCantBeHeld(taskId); + } +} + +static void PrintError_ThereIsNoPokemon(u8 taskId) +{ + TMCase_PrintMessageWithFollowupTask(taskId, 2, gText_ThereIsNoPokemon, Task_WaitButtonAfterErrorPrint); +} + +static void PrintError_ItemCantBeHeld(u8 taskId) +{ + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_ItemCantBeHeld); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, Task_WaitButtonAfterErrorPrint); +} + +static void Task_WaitButtonAfterErrorPrint(u8 taskId) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + Subtask_CloseContextMenuAndReturnToMain(taskId); + } +} + +static void Subtask_CloseContextMenuAndReturnToMain(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + sub_810F260(6, 0); + ClearWindowTilemap(6); + PutWindowTilemap(1); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void TMHMContextMenuAction_Exit(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + RemoveTMContextMenu(&sTMCaseDynamicResources->contextMenuWindowId); + sub_810F4D8(2, 0); + ClearWindowTilemap(2); + PutWindowTilemap(0); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + PutWindowTilemap(1); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void Task_SelectTMAction_Type1(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) + { + sTMCaseDynamicResources->savedCallback = c2_8123744; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + PrintError_ItemCantBeHeld(taskId); + } +} + +static void Task_SelectTMAction_Type3(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!itemid_is_unique(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1]))) + { + sTMCaseDynamicResources->savedCallback = sub_808CE60; + Task_BeginFadeOutFromTMCase(taskId); + } + else + { + PrintError_ItemCantBeHeld(taskId); + } +} + +static void Task_SelectTMAction_FromSellMenu(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (itemid_get_market_price(gSpecialVar_ItemId) == 0) + { + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain); + } + else + { + data[8] = 1; + if (data[2] == 1) + { + HandlePrintMoneyOnHand(); + Task_AskConfirmSaleWithAmount(taskId); + } + else + { + if (data[2] > 99) + data[2] = 99; + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_InitQuantitySelectUI); + } + } +} + +static void Task_AskConfirmSaleWithAmount(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay); + TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_PlaceYesNoBox); +} + +static void Task_PlaceYesNoBox(u8 taskId) +{ + HandleCreateYesNoMenu(taskId, &sYesNoFuncTable); +} + +static void Task_SaleOfTMsCancelled(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(taskId); +} + +static void Task_InitQuantitySelectUI(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + TMCase_SetWindowBorder1(7); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + SellTM_PrintQuantityAndSalePrice(1, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); + HandlePrintMoneyOnHand(); + CreateTMCaseScrollIndicatorArrowPair_SellQuantitySelect(); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + gTasks[taskId].func = Task_QuantitySelect_HandleInput; +} + +static void SellTM_PrintQuantityAndSalePrice(s16 quantity, s32 amount) +{ + FillWindowPixelBuffer(7, 0x11); + ConvertIntToDecimalStringN(gStringVar1, quantity, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + AddTextPrinterParameterized_ColorByIndex(7, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + PrintMoneyAmount(7, 0x38, 0x0A, amount, 0); +} + +static void Task_QuantitySelect_HandleInput(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (sub_80BF848(&data[8], data[2]) == 1) + { + SellTM_PrintQuantityAndSalePrice(data[8], itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8]); + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(7, 0); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + RemoveTMCaseScrollIndicatorArrowPair(); + Task_AskConfirmSaleWithAmount(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(7, 0); + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(3); + PutWindowTilemap(0); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + schedule_bg_copy_tilemap_to_vram(1); + RemoveTMCaseScrollIndicatorArrowPair(); + PrintListMenuCursorByID_WithColorIdx(data[0], 1); + Subtask_ReturnToTMCaseMain(taskId); + } +} + +static void Task_PrintSaleConfirmedText(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + PutWindowTilemap(0); + schedule_bg_copy_tilemap_to_vram(0); + CopyItemName(gSpecialVar_ItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_TurnedOverItemsWorthYen); + TMCase_PrintMessageWithFollowupTask(taskId, 2, gStringVar4, Task_DoSaleOfTMs); +} + +static void Task_DoSaleOfTMs(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + PlaySE(0xF8); + RemoveBagItem(gSpecialVar_ItemId, data[8]); + AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); + sub_809C09C(gSpecialVar_ItemId, data[8], 2); + DestroyListMenu(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); + TMCaseSetup_GetTMCount(); + TMCaseSetup_InitListMenuPositions(); + InitTMCaseListMenuItems(); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sTMCaseStaticResources.scrollOffset, sTMCaseStaticResources.selectedRow); + PrintListMenuCursorByID_WithColorIdx(data[0], 2); + PrintMoneyAmountInMoneyBox(8, GetMoney(&gSaveBlock1Ptr->money), 0); + gTasks[taskId].func = Task_AfterSale_ReturnToList; +} + +static void Task_AfterSale_ReturnToList(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_810F4D8(8, 0); + sub_810F260(6, 0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + Subtask_CloseContextMenuAndReturnToMain(taskId); + } +} + +void PokeDude_InitTMCase(void) +{ + sPokeDudePackBackup = AllocZeroed(sizeof(*sPokeDudePackBackup)); + memcpy(sPokeDudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(sPokeDudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + sPokeDudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow; + sPokeDudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset; + ClearItemSlots(gSaveBlock1Ptr->bagPocket_TMHM, NELEMS(gSaveBlock1Ptr->bagPocket_TMHM)); + ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, NELEMS(gSaveBlock1Ptr->bagPocket_KeyItems)); + ResetTMCaseCursorPos(); + AddBagItem(ITEM_TM01, 1); + AddBagItem(ITEM_TM03, 1); + AddBagItem(ITEM_TM09, 1); + AddBagItem(ITEM_TM35, 1); + InitTMCase(4, CB2_ReturnToTeachyTV, 0); +} + +static void Task_TMCaseDude1(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + data[8] = 0; + data[9] = 0; + gTasks[taskId].func = Task_TMCaseDude_Playback; + } +} + +static void Task_TMCaseDude_Playback(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (JOY_NEW(B_BUTTON)) + { + if (data[8] < 21) + { + data[8] = 21; + sub_815AC20(); + } + } + + switch (data[8]) + { + case 0: + BeginNormalPaletteFade(0xFFFF8405, 4, 0, 6, 0); + FillBG2RowWithPalette_2timesNplus1(1); + data[8]++; + break; + case 1: + case 11: + if (!gPaletteFade.active) + { + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + } + break; + case 2: + case 3: + case 4: + case 12: + case 13: + case 14: + if (data[9] == 0) + { + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenuHandleInput(data[0]); + } + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + break; + case 5: + case 6: + case 7: + case 15: + case 16: + case 17: + if (data[9] == 0) + { + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_UP; + ListMenuHandleInput(data[0]); + } + data[9]++; + if (data[9] > 0x65) + { + data[9] = 0; + data[8]++; + } + break; + case 8: + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_TMTypes, 0); + gTasks[taskId].func = Task_TMCaseDude_Playback; + data[8]++; + break; + case 9: + case 19: + RunTextPrinters(); + if (!IsTextPrinterActive(6)) + data[8]++; + break; + case 10: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + FillBG2RowWithPalette_2timesNplus1(0); + BeginNormalPaletteFade(0x00000400, 0, 6, 0, 0); + sub_810F260(6, 0); + schedule_bg_copy_tilemap_to_vram(1); + data[8]++; + } + break; + case 18: + FillBG2RowWithPalette_2timesNplus1(1); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_ReadTMDescription, NULL); + gTasks[taskId].func = Task_TMCaseDude_Playback; // this function + data[8]++; + break; + case 20: + if (JOY_NEW(A_BUTTON | B_BUTTON)) + data[8]++; + break; + case 21: + if (!gPaletteFade.active) + { + memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokeDudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokeDudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + DestroyListMenu(data[0], NULL, NULL); + sTMCaseStaticResources.selectedRow = sPokeDudePackBackup->unk_160; + sTMCaseStaticResources.scrollOffset = sPokeDudePackBackup->unk_162; + Free(sPokeDudePackBackup); + CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); + sub_8108CF0(); + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0); + data[8]++; + } + break; + default: + if (!gPaletteFade.active) + { + SetMainCallback2(sTMCaseStaticResources.savedCallback); + RemoveTMCaseScrollIndicatorArrowPair(); + DestroyTMCaseBuffers(); + DestroyTask(taskId); + } + break; + } +} + +static void InitWindowTemplatesAndPals(void) +{ + u8 i; + + InitWindows(sWindowTemplates); + DeactivateAllTextPrinters(); + sub_815001C(0, 0x5B, 0xE0); + sub_814FEAC(0, 0x64, 0xB0); + sub_814FF2C(0, 0x78, 0xD0); + LoadPalette(gTMCaseMainWindowPalette, 0xF0, 0x20); + LoadPalette(gTMCaseMainWindowPalette, 0xA0, 0x20); + LoadPalette(sPal3Override, 0xF6, 0x04); + LoadPalette(sPal3Override, 0xD6, 0x04); + sub_8107D38(0xc0, 0x01); + for (i = 0; i < 9; i++) + FillWindowPixelBuffer(i, 0x00); + PutWindowTilemap(0); + PutWindowTilemap(1); + PutWindowTilemap(3); + PutWindowTilemap(4); + PutWindowTilemap(5); + schedule_bg_copy_tilemap_to_vram(0); +} + +static void AddTextPrinterParameterized_ColorByIndex(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) +{ + AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &sTextColors[colorIdx], speed, str); +} + +static void TMCase_SetWindowBorder1(u8 windowId) +{ + SetWindowBorderStyle(windowId, FALSE, 0x5B, 0x0E); +} + +static void TMCase_SetWindowBorder2(u8 windowId) +{ + SetWindowBorderStyle(windowId, FALSE, 0x78, 0x0D); +} + +static void TMCase_PrintMessageWithFollowupTask(u8 taskId, u8 windowId, const u8 * str, TaskFunc func) +{ + DisplayMessageAndContinueTask(taskId, 6, 0x64, 0x0B, windowId, GetTextSpeedSetting(), str, func); + schedule_bg_copy_tilemap_to_vram(1); +} + +static void PrintStringTMCaseOnWindow3(void) +{ + u32 distance = 72 - GetStringWidth(1, gText_TMCase, 0); + box_print(3, 1, distance / 2, 1, &sTextColors[0], 0, gText_TMCase); +} + +static void DrawMoveInfoUIMarkers(void) +{ + blit_move_info_icon(4, 19, 0, 0); + blit_move_info_icon(4, 20, 0, 12); + blit_move_info_icon(4, 21, 0, 24); + blit_move_info_icon(4, 22, 0, 36); + CopyWindowToVram(4, 2); +} + +static void TMCase_MoveCursor_UpdatePrintedTMInfo(u16 itemId) +{ + u8 i; + u16 move; + const u8 * str; + + FillWindowPixelRect(5, 0, 0, 0, 40, 48); + if (itemId == ITEM_NONE) + { + for (i = 0; i < 4; i++) + { + AddTextPrinterParameterized_ColorByIndex(5, 3, gText_ThreeHyphens, 7, 12 * i, 0, 0, 0xFF, 3); + } + CopyWindowToVram(5, 2); + } + else + { + move = ItemIdToBattleMoveId(itemId); + blit_move_info_icon(5, gBattleMoves[move].type + 1, 0, 0); + if (gBattleMoves[move].power < 2) + str = gText_ThreeHyphens; + else + { + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].power, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = gStringVar1; + } + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 12, 0, 0, 0xFF, 3); + if (gBattleMoves[move].accuracy == 0) + str = gText_ThreeHyphens; + else + { + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].accuracy, STR_CONV_MODE_RIGHT_ALIGN, 3); + str = gStringVar1; + } + AddTextPrinterParameterized_ColorByIndex(5, 3, str, 7, 24, 0, 0, 0xFF, 3); + ConvertIntToDecimalStringN(gStringVar1, gBattleMoves[move].pp, STR_CONV_MODE_RIGHT_ALIGN, 3); + AddTextPrinterParameterized_ColorByIndex(5, 3, gStringVar1, 7, 36, 0, 0, 0xFF, 3); + CopyWindowToVram(5, 2); + } +} + +static void PlaceHMTileInWindow(u8 windowId, u8 x, u8 y) +{ + BlitBitmapToWindow(windowId, gUnknown_8E99118, x, y, 16, 12); +} + +static void HandlePrintMoneyOnHand(void) +{ + PrintMoneyAmountInMoneyBoxWithBorder(8, 0x78, 0xD, GetMoney(&gSaveBlock1Ptr->money)); +} + +static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable *ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &sYesNoWindowTemplate, 2, 0, 2, 0x5B, 0x0E, ptrs); +} + +static u8 AddTMContextMenu(u8 * a0, u8 a1) +{ + if (*a0 == 0xFF) + { + *a0 = AddWindow(&sTMContextWindowTemplates[a1]); + TMCase_SetWindowBorder1(*a0); + schedule_bg_copy_tilemap_to_vram(0); + } + return *a0; +} + +static void RemoveTMContextMenu(u8 * a0) +{ + sub_810F4D8(*a0, FALSE); + ClearWindowTilemap(*a0); + RemoveWindow(*a0); + schedule_bg_copy_tilemap_to_vram(0); + *a0 = 0xFF; +} + +static u8 CreateTMSprite(u16 itemId) +{ + u8 spriteId = CreateSprite(&sTMSpriteTemplate, 0x29, 0x2E, 0); + u8 r5; + if (itemId == ITEM_NONE) + { + UpdateTMSpritePosition(&gSprites[spriteId], 0xFF); + return spriteId; + } + else + { + r5 = itemId - 33; + SetTMSpriteAnim(&gSprites[spriteId], r5); + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(itemId)].type); + UpdateTMSpritePosition(&gSprites[spriteId], r5); + return spriteId; + } +} + +static void SetTMSpriteAnim(struct Sprite * sprite, u8 idx) +{ + if (idx >= 50) + StartSpriteAnim(sprite, 1); + else + StartSpriteAnim(sprite, 0); +} + +static void TintTMSpriteByType(u8 type) +{ + u8 palIndex = IndexOfSpritePaletteTag(TM_CASE_TM_TAG) << 4; + LoadPalette(sTMSpritePaletteBuffer + sTMSpritePaletteOffsetByType[type], 0x100 | palIndex, 0x20); + if (sTMCaseStaticResources.tmCaseMenuType == 4) + { + BlendPalettes(1 << (0x10 + palIndex), 4, RGB_BLACK); + } +} + +static void UpdateTMSpritePosition(struct Sprite * sprite, u8 var) +{ + s32 x, y; + if (var == 0xFF) + { + x = 0x1B; + y = 0x36; + sprite->pos2.y = 0x14; + } + else + { + if (var >= 50) + var -= 50; + else + var += 8; + x = 0x29 - (((0xE00 * var) / 58) >> 8); + y = 0x2E + (((0x800 * var) / 58) >> 8); + } + sprite->pos1.x = x; + sprite->pos1.y = y; +} + +static void InitSelectedTMSpriteData(u8 spriteId, u16 itemId) +{ + gSprites[spriteId].data[0] = itemId; + gSprites[spriteId].data[1] = 0; + gSprites[spriteId].callback = SpriteCB_MoveTMSpriteInCase; +} + +static void SpriteCB_MoveTMSpriteInCase(struct Sprite * sprite) +{ + switch (sprite->data[1]) + { + case 0: + if (sprite->pos2.y >= 20) + { + if (sprite->data[0] != ITEM_NONE) + { + sprite->data[1]++; + TintTMSpriteByType(gBattleMoves[ItemIdToBattleMoveId(sprite->data[0])].type); + sprite->data[0] -= ITEM_TM01; + SetTMSpriteAnim(sprite, sprite->data[0]); + UpdateTMSpritePosition(sprite, sprite->data[0]); + } + else + sprite->callback = SpriteCallbackDummy; + } + else + { + sprite->pos2.y += 10; + } + break; + case 1: + if (sprite->pos2.y <= 0) + sprite->callback = SpriteCallbackDummy; + else + sprite->pos2.y -= 10; + } +} + +static void LoadTMTypePalettes(void) +{ + struct SpritePalette spritePalette; + + sTMSpritePaletteBuffer = Alloc(0x110 * sizeof(u16)); + LZDecompressWram(gUnknown_8E84F20, sTMSpritePaletteBuffer); + LZDecompressWram(gUnknown_8E85068, sTMSpritePaletteBuffer + 0x100); + spritePalette.data = sTMSpritePaletteBuffer + 0x110; + spritePalette.tag = TM_CASE_TM_TAG; + LoadSpritePalette(&spritePalette); +} diff --git a/src/trainer_tower.c b/src/trainer_tower.c index ef34c1629..e914d7ac6 100644 --- a/src/trainer_tower.c +++ b/src/trainer_tower.c @@ -1336,7 +1336,7 @@ void sub_815E720(void) sub_815EC0C(); windowId = AddWindow(gUnknown_847A218); sub_80F6E9C(); - sub_80F6F1C(windowId, FALSE); + DrawStdWindowFrame(windowId, FALSE); AddTextPrinterParameterized(windowId, 2, gUnknown_83FE982, 0x4A, 0, 0xFF, NULL); for (i = 0; i < 4; i++) diff --git a/src/vs_seeker.c b/src/vs_seeker.c index 579800576..9cf6a6e04 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -663,7 +663,7 @@ static void Task_VsSeeker_3(u8 taskId) { if (sVsSeeker->responseCode == 2) StartAllRespondantIdleMovements(); - sub_80F6F54(0, 1); + ClearDialogWindowAndFrame(0, 1); sub_80696C0(); ScriptContext2_Disable(); DestroyTask(taskId); diff --git a/src/window.c b/src/window.c index e760fc8e4..71cfa6898 100644 --- a/src/window.c +++ b/src/window.c @@ -320,7 +320,7 @@ 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 BlitBitmapToWindow(u8 windowId, const u8 *pixels, u16 x, u16 y, u16 width, u16 height) { BlitBitmapRectToWindow(windowId, pixels, 0, 0, width, height, x, y, width, height); } diff --git a/sym_common.txt b/sym_common.txt index 16c275b01..4adfe3bac 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -301,7 +301,7 @@ gUnknown_3005E20: @ 3005E20 gUnknown_3005E60: @ 3005E60 .space 0x10 -gUnknown_3005E70: @ 3005E70 +gMultiuseListMenuTemplate: @ 3005E70 .space 0x18 .include "quest_log.o" diff --git a/sym_ewram.txt b/sym_ewram.txt index b978e59c4..5a9795eb1 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -116,28 +116,28 @@ gUnknown_2022870: @ 2022870 gUnknown_2022874: @ 2022874 .space 0x100 -gUnknown_2022974: @ 2022974 +gBattle_BG0_X: @ 2022974 .space 0x2 -gUnknown_2022976: @ 2022976 +gBattle_BG0_Y: @ 2022976 .space 0x2 -gUnknown_2022978: @ 2022978 +gBattle_BG1_X: @ 2022978 .space 0x2 -gUnknown_202297A: @ 202297A +gBattle_BG1_Y: @ 202297A .space 0x2 -gUnknown_202297C: @ 202297C +gBattle_BG2_X: @ 202297C .space 0x2 -gUnknown_202297E: @ 202297E +gBattle_BG2_Y: @ 202297E .space 0x2 -gUnknown_2022980: @ 2022980 +gBattle_BG3_X: @ 2022980 .space 0x2 -gUnknown_2022982: @ 2022982 +gBattle_BG3_Y: @ 2022982 .space 0x2 gUnknown_2022984: @ 2022984 @@ -869,30 +869,9 @@ gUnknown_20386DC: @ 20386DC gFieldEffectArguments: @ 20386E0 .space 0x20 -gUnknown_2038700: @ 2038700 - .space 0x2 - -gUnknown_2038702: @ 2038702 - .space 0x2 - -gUnknown_2038704: @ 2038704 - .space 0x27C - -gUnknown_2038980: @ 2038980 - .space 0x500 - -gUnknown_2038E80: @ 2038E80 - .space 0x140 - -gUnknown_2038FC0: @ 2038FC0 - .space 0x640 - -gUnknown_2039600: @ 2039600 - .space 0x1C - -gUnknown_203961C: @ 203961C - .space 0x4 + .include "src/scanline_effect.o" + .align 2 gUnknown_2039620: @ 2039620 .space 0x4 @@ -992,14 +971,8 @@ gUnknown_2039884: @ 2039884 gUnknown_2039888: @ 2039888 .space 0x4 -gUnknown_203988C: @ 203988C - .space 0x18 - -gUnknown_20398A4: @ 20398A4 - .space 0x8 - -gUnknown_20398AC: @ 20398AC - .space 0x8 +gBagPockets: @ 203988C + .space 0x28 gUnknown_20398B4: @ 20398B4 .space 0x4 @@ -1531,33 +1504,8 @@ gUnknown_203B0EE: @ 203B0EE .space 0x2 .include "src/fame_checker.o" - -gUnknown_203B108: @ 203B108 - .space 0x4 - -gUnknown_203B10C: @ 203B10C - .space 0xA - -gUnknown_203B116: @ 203B116 - .space 0x2 - -gUnknown_203B118: @ 203B118 - .space 0x4 - -gUnknown_203B11C: @ 203B11C - .space 0x4 - -gUnknown_203B120: @ 203B120 - .space 0x4 - -gUnknown_203B124: @ 203B124 - .space 0x4 - -gUnknown_203B128: @ 203B128 - .space 0x4 - -gUnknown_203B12C: @ 203B12C - .space 0x4 + .include "src/oak_speech.o" + .include "src/tm_case.o" gUnknown_203B130: @ 203B130 .space 0x10 @@ -1661,10 +1609,10 @@ gUnknown_203F3A0: @ 203F3A0 gUnknown_203F3A4: @ 203F3A4 .space 0x4 -gUnknown_203F3A8: @ 203F3A8 +sLocationHistory: @ 203F3A8 .space 0x6 -gUnknown_203F3AE: @ 203F3AE +sRoamerLocation: @ 203F3AE .space 0x2 gUnknown_203F3B0: @ 203F3B0 @@ -1711,7 +1659,7 @@ gUnknown_203F43C: @ 203F43C gUnknown_203F440: @ 203F440 .space 0x4 -gUnknown_203F444: @ 203F444 +gTeachyTV_StaticResources: @ 203F444 .space 0x6 gUnknown_203F44A: @ 203F44A diff --git a/tools/gbafix/gbafix.c b/tools/gbafix/gbafix.c index d5e2f62ab..81c8c04c0 100644 --- a/tools/gbafix/gbafix.c +++ b/tools/gbafix/gbafix.c @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) // get filename for (arg=1; arg<argc; arg++) { - if ((ARGV[0] != '-')) { argfile=ARGV; } + if (ARGV[0] != '-') { argfile=ARGV; } if (strncmp("--silent", &ARGV[0], 7) == 0) { silent = 1; } } diff --git a/tools/gbagfx/Makefile b/tools/gbagfx/Makefile index 339585b92..93bea4bdc 100644 --- a/tools/gbagfx/Makefile +++ b/tools/gbagfx/Makefile @@ -1,16 +1,19 @@ CC = gcc -CFLAGS = -Wall -Wextra -Werror -std=c11 -O2 -DPNG_SKIP_SETJMP_CHECK +CFLAGS = -Wall -Wextra -Werror -Wno-sign-compare -std=c11 -O2 -s -DPNG_SKIP_SETJMP_CHECK LIBS = -lpng -lz -SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c +SRCS = main.c convert_png.c gfx.c jasc_pal.c lz.c rl.c util.c font.c huff.c .PHONY: all clean all: gbagfx @: +gbagfx-debug: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h rl.h util.h font.h + $(CC) $(CFLAGS) -DDEBUG $(SRCS) -o $@ $(LDFLAGS) $(LIBS) + gbagfx: $(SRCS) convert_png.h gfx.h global.h jasc_pal.h lz.h rl.h util.h font.h $(CC) $(CFLAGS) $(SRCS) -o $@ $(LDFLAGS) $(LIBS) diff --git a/tools/gbagfx/gfx.c b/tools/gbagfx/gfx.c index da92771b9..f927deed9 100644 --- a/tools/gbagfx/gfx.c +++ b/tools/gbagfx/gfx.c @@ -4,7 +4,6 @@ #include <stdlib.h> #include <stdint.h> #include <stdbool.h> -#include <string.h> #include "global.h" #include "gfx.h" #include "util.h" @@ -19,140 +18,6 @@ #define DOWNCONVERT_BIT_DEPTH(x) ((x) / 8) -static inline void swap_bytes(unsigned char * orig, unsigned char * dest) { - unsigned char tmp = *orig; - *orig = *dest; - *dest = tmp; -} - -static inline unsigned char swap_nybbles(unsigned char orig) -{ - return (orig >> 4) | (orig << 4); -} - -static inline void swap_bytes_nybswap(unsigned char * orig, unsigned char * dest) { - unsigned char tmp = swap_nybbles(*orig); - *orig = swap_nybbles(*dest); - *dest = tmp; -} - -static inline unsigned char reverse_bits(unsigned char orig) { - unsigned char dest = 0; - for (int i = 0; i < 8; i++) - { - dest <<= 1; - dest |= orig & 1; - orig >>= 1; - } - return dest; -} - -static void vflip(unsigned char * tile, int bitDepth) { - for (int x = 0; x < bitDepth; x++) - { - unsigned char * col = tile + x; - swap_bytes(col + 0 * bitDepth, col + 7 * bitDepth); - swap_bytes(col + 1 * bitDepth, col + 6 * bitDepth); - swap_bytes(col + 2 * bitDepth, col + 5 * bitDepth); - swap_bytes(col + 3 * bitDepth, col + 4 * bitDepth); - } -} - -static void hflip(unsigned char * tile, int bitDepth) { - for (int y = 0; y < 8; y++) - { - unsigned char * row = tile + y * bitDepth; - switch (bitDepth) - { - case 1: - *row = reverse_bits(*row); - break; - case 4: - swap_bytes_nybswap(row + 0, row + 3); - swap_bytes_nybswap(row + 1, row + 2); - break; - case 8: - swap_bytes(row + 0, row + 56); - swap_bytes(row + 8, row + 48); - swap_bytes(row + 16, row + 40); - swap_bytes(row + 24, row + 32); - break; - } - } -} - -static unsigned char * ApplyTilemap(struct Image *image, unsigned char * buffer, int bitDepth) -{ - int tileSize = bitDepth * 8; - unsigned char * tiles = calloc(image->tileMap.numTiles, tileSize); - int i; - struct Tile tileInfo; - - for (i = 0; i < image->tileMap.numTiles; i++) { - tileInfo = image->tileMap.data[i]; - unsigned char * tile = tiles + i * tileSize; - memcpy(tile, buffer + tileInfo.index * tileSize, tileSize); - if (tileInfo.xflip) - hflip(tile, bitDepth); - if (tileInfo.yflip) - vflip(tile, bitDepth); - } - free(buffer); - return tiles; -} - -static unsigned char * BuildTilemap(struct Image *image, unsigned char * buffer, int * bufferSize) -{ - int tileSize = image->bitDepth * 8; - unsigned char * outputPixels = calloc(1024, tileSize); - int nTilesIn = image->height * image->width / 64; - image->tileMap.data = calloc(nTilesIn, sizeof(struct Tilemap)); - image->tileMap.numTiles = nTilesIn; - int nTilesOut = 0; - unsigned char curTile1[tileSize]; - unsigned char curTile2[tileSize]; - - for (int i = 0; i < nTilesIn; i++) { - bool xflip = false; - bool yflip = false; - int j; - memcpy(curTile1, buffer + i * tileSize, tileSize); - - for (j = 0; j < nTilesOut; j++) { - memcpy(curTile2, outputPixels + j * tileSize, tileSize); - if (memcmp(curTile1, curTile2, tileSize) == 0) - break; - xflip = true; - hflip(curTile2, image->bitDepth); - if (memcmp(curTile1, curTile2, tileSize) == 0) - break; - yflip = true; - vflip(curTile2, image->bitDepth); - if (memcmp(curTile1, curTile2, tileSize) == 0) - break; - xflip = false; - hflip(curTile2, image->bitDepth); - if (memcmp(curTile1, curTile2, tileSize) == 0) - break; - yflip = false; - } - image->tileMap.data[i].index = j; - image->tileMap.data[i].xflip = xflip; - image->tileMap.data[i].yflip = yflip; - image->tileMap.data[i].palno = 0; - if (j >= nTilesOut) { - if (nTilesOut >= 1024) - FATAL_ERROR("Cannot reduce image to 1024 or fewer tiles.\n"); - memcpy(outputPixels + nTilesOut * tileSize, curTile1, tileSize); - nTilesOut++; - } - } - - free(buffer); - *bufferSize = nTilesOut * tileSize; - return outputPixels; -} - static void AdvanceMetatilePosition(int *subTileX, int *subTileY, int *metatileX, int *metatileY, int metatilesWide, int metatileWidth, int metatileHeight) { (*subTileX)++; @@ -345,21 +210,15 @@ void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int int fileSize; unsigned char *buffer = ReadWholeFile(path, &fileSize); - int numTiles; - if (image->hasTilemap) { - buffer = ApplyTilemap(image, buffer, bitDepth); - numTiles = image->tileMap.numTiles; - } - else - numTiles = fileSize / tileSize; + int numTiles = fileSize / tileSize; int tilesHeight = (numTiles + tilesWidth - 1) / tilesWidth; if (tilesWidth % metatileWidth != 0) - FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)\n", tilesWidth, metatileWidth); + FATAL_ERROR("The width in tiles (%d) isn't a multiple of the specified metatile width (%d)", tilesWidth, metatileWidth); if (tilesHeight % metatileHeight != 0) - FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)\n", tilesHeight, metatileHeight); + FATAL_ERROR("The height in tiles (%d) isn't a multiple of the specified metatile height (%d)", tilesHeight, metatileHeight); image->width = tilesWidth * 8; image->height = tilesHeight * 8; @@ -432,9 +291,6 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m break; } - if (image->hasTilemap) - buffer = BuildTilemap(image, buffer, &bufferSize); - WriteWholeFile(path, buffer, bufferSize); free(buffer); @@ -444,11 +300,6 @@ void FreeImage(struct Image *image) { free(image->pixels); image->pixels = NULL; - if (image->hasTilemap && image->tileMap.data != NULL) { - free(image->tileMap.data); - image->tileMap.data = NULL; - image->tileMap.numTiles = 0; - } } void ReadGbaPalette(char *path, struct Palette *palette) @@ -491,45 +342,3 @@ void WriteGbaPalette(char *path, struct Palette *palette) fclose(fp); } - -void ReadGbaTilemap(char *path, struct Tilemap *tileMap) -{ - int fileSize; - unsigned char *data = ReadWholeFile(path, &fileSize); - - if (fileSize % 2 != 0) - FATAL_ERROR("The file size (%d) is not a multiple of 2.\n", fileSize); - - tileMap->numTiles = fileSize / 2; - tileMap->data = malloc(tileMap->numTiles * sizeof(struct Tile)); - - for (int i = 0; i < tileMap->numTiles; i++) - { - uint16_t raw = data[2 * i + 0] | (data[2 * i + 1] << 8); - tileMap->data[i].index = raw & 0x3FF; - tileMap->data[i].xflip = raw & 0x400 ? 1 : 0; - tileMap->data[i].yflip = raw & 0x800 ? 1 : 0; - tileMap->data[i].palno = raw >> 12; - } - - free(data); -} - -void WriteGbaTilemap(char *path, struct Tilemap *tileMap) -{ - FILE *fp = fopen(path, "wb"); - - if (fp == NULL) - FATAL_ERROR("Failed to open \"%s\" for writing.\n", path); - - for (int i = 0; i < tileMap->numTiles; i++) { - uint16_t raw = tileMap->data[i].index - | (tileMap->data[i].xflip << 10) - | (tileMap->data[i].yflip << 11) - | (tileMap->data[i].palno << 12); - fputc(raw & 0xFF, fp); - fputc(raw >> 8, fp); - } - - fclose(fp); -} diff --git a/tools/gbagfx/gfx.h b/tools/gbagfx/gfx.h index 15a3c6a6c..5355ced85 100644 --- a/tools/gbagfx/gfx.h +++ b/tools/gbagfx/gfx.h @@ -17,18 +17,6 @@ struct Palette { int numColors; }; -struct __attribute__((packed)) Tile { - unsigned short index:10; - unsigned short xflip:1; - unsigned short yflip:1; - unsigned short palno:4; -}; - -struct Tilemap { - struct Tile *data; - int numTiles; -}; - struct Image { int width; int height; @@ -37,9 +25,6 @@ struct Image { bool hasPalette; struct Palette palette; bool hasTransparency; - struct Tilemap tileMap; - bool hasTilemap; - }; void ReadImage(char *path, int tilesWidth, int bitDepth, int metatileWidth, int metatileHeight, struct Image *image, bool invertColors); @@ -47,7 +32,5 @@ void WriteImage(char *path, int numTiles, int bitDepth, int metatileWidth, int m void FreeImage(struct Image *image); void ReadGbaPalette(char *path, struct Palette *palette); void WriteGbaPalette(char *path, struct Palette *palette); -void ReadGbaTilemap(char *path, struct Tilemap *tileMap); -void WriteGbaTilemap(char *path, struct Tilemap *tileMap); #endif // GFX_H diff --git a/tools/gbagfx/huff.c b/tools/gbagfx/huff.c new file mode 100644 index 000000000..143ed79be --- /dev/null +++ b/tools/gbagfx/huff.c @@ -0,0 +1,398 @@ +#include <stdbool.h> +#include <string.h> +#include <assert.h> +#include <stdio.h> +#include <stdint.h> +#include "global.h" +#include "huff.h" + +static int cmp_tree(const void * a0, const void * b0) { + return ((struct HuffData *)a0)->value - ((struct HuffData *)b0)->value; +} + +typedef int (*cmpfun)(const void *, const void *); + +int msort_r(void * data, size_t count, size_t size, cmpfun cmp, void * buffer) { + /* + * Out-of-place mergesort (stable sort) + * Returns 1 on success, 0 on failure + */ + void * leftPtr; + void * rightPtr; + void * leftEnd; + void * rightEnd; + int i; + + switch (count) { + case 0: + // Should never be here + return 0; + + case 1: + // Nothing to do here + break; + + case 2: + // Swap the two entries if the right one compares higher. + if (cmp(data, data + size) > 0) { + memcpy(buffer, data, size); + memcpy(data, data + size, size); + memcpy(data + size, buffer, size); + } + break; + default: + // Merge sort out-of-place. + leftPtr = data; + leftEnd = rightPtr = data + count / 2 * size; + rightEnd = data + count * size; + + // Sort the left half + if (!msort_r(leftPtr, count / 2, size, cmp, buffer)) + return 0; + + // Sort the right half + if (!msort_r(rightPtr, count / 2 + (count & 1), size, cmp, buffer)) + return 0; + + // Merge the sorted halves out of place + i = 0; + do { + if (cmp(leftPtr, rightPtr) <= 0) { + memcpy(buffer + i * size, leftPtr, size); + leftPtr += size; + } else { + memcpy(buffer + i * size, rightPtr, size); + rightPtr += size; + } + + } while (++i < count && leftPtr < leftEnd && rightPtr < rightEnd); + + // Copy the remainder + if (i < count) { + if (leftPtr < leftEnd) { + memcpy(buffer + i * size, leftPtr, leftEnd - leftPtr); + } + else { + memcpy(buffer + i * size, rightPtr, rightEnd - rightPtr); + } + } + + // Copy the merged data back + memcpy(data, buffer, count * size); + break; + } + + return 1; +} + +int msort(void * data, size_t count, size_t size, cmpfun cmp) { + void * buffer = malloc(count * size); + if (buffer == NULL) return 0; + int result = msort_r(data, count, size, cmp, buffer); + free(buffer); + return result; +} + +static void write_tree(unsigned char * dest, HuffNode_t * tree, int nitems, struct BitEncoding * encoding) { + /* + * The example used to guide this function encodes the tree in a + * breadth-first manner. We attempt to emulate that here. + */ + + int i, j, k; + + // There are (2 * nitems - 1) nodes in the binary tree. Allocate that. + HuffNode_t * traversal = calloc(2 * nitems - 1, sizeof(HuffNode_t)); + if (traversal == NULL) + FATAL_ERROR("Fatal error while compressing Huff file.\n"); + + // The first node is the root of the tree. + traversal[0] = *tree; + i = 1; + + // Copy the tree into a breadth-first ordering using brute force. + for (int depth = 1; i < 2 * nitems - 1; depth++) { + // Consider every possible path up to the current depth. + for (j = 0; i < 2 * nitems - 1 && j < 1 << depth; j++) { + // The index of the path is used to encode the path itself. + // Start from the most significant relevant bit and work our way down. + // Keep track of the current and previous nodes. + HuffNode_t * currNode = traversal; + HuffNode_t * parent = NULL; + for (k = 0; k < depth; k++) { + if (currNode->header.isLeaf) + break; + parent = currNode; + if ((j >> (depth - k - 1)) & 1) + currNode = currNode->branch.right; + else + currNode = currNode->branch.left; + } + // Check that the length of the current path equals the current depth. + if (k == depth) { + // Make sure we can encode the current branch. + // Bail here if we cannot. + // This is only applicable for 8-bit encodings. + if (traversal + i - parent > 128) + FATAL_ERROR("Fatal error while compressing Huff file: unable to encode binary tree.\n"); + // Copy the current node, and update its parent. + traversal[i] = *currNode; + if (parent != NULL) { + if ((j & 1) == 1) + parent->branch.right = traversal + i; + else + parent->branch.left = traversal + i; + } + // Encode the path through the tree in the lookup table + if (traversal[i].header.isLeaf) { + encoding[traversal[i].leaf.key].nbits = depth; + encoding[traversal[i].leaf.key].bitstring = j; + } + i++; + } + } + } + + // Encode the size of the tree. + // This is used by the decompressor to skip the tree. + dest[4] = nitems - 1; + + // Encode each node in the tree. + for (i = 0; i < 2 * nitems - 1; i++) { + HuffNode_t * currNode = traversal + i; + if (currNode->header.isLeaf) { + dest[5 + i] = traversal[i].leaf.key; + } else { + dest[5 + i] = (((currNode->branch.right - traversal - i) / 2) - 1); + if (currNode->branch.left->header.isLeaf) + dest[5 + i] |= 0x80; + if (currNode->branch.right->header.isLeaf) + dest[5 + i] |= 0x40; + } + } + + free(traversal); +} + +static inline void write_32_le(unsigned char * dest, int * destPos, uint32_t * buff, int * buffPos) { + dest[*destPos] = *buff; + dest[*destPos + 1] = *buff >> 8; + dest[*destPos + 2] = *buff >> 16; + dest[*destPos + 3] = *buff >> 24; + *destPos += 4; + *buff = 0; + *buffPos = 0; +} + +static inline void read_32_le(unsigned char * src, int * srcPos, uint32_t * buff) { + uint32_t tmp = src[*srcPos]; + tmp |= src[*srcPos + 1] << 8; + tmp |= src[*srcPos + 2] << 16; + tmp |= src[*srcPos + 3] << 24; + *srcPos += 4; + *buff = tmp; +} + +static void write_bits(unsigned char * dest, int * destPos, struct BitEncoding * encoding, int value, uint32_t * buff, int * buffBits) { + int nbits = encoding[value].nbits; + uint32_t bitstring = encoding[value].bitstring; + + if (*buffBits + nbits >= 32) { + int diff = *buffBits + nbits - 32; + *buff <<= nbits - diff; + *buff |= bitstring >> diff; + bitstring &= ~(1 << diff); + nbits = diff; + write_32_le(dest, destPos, buff, buffBits); + } + if (nbits != 0) { + *buff <<= nbits; + *buff |= bitstring; + *buffBits += nbits; + } +} + +/* +======================================= +MAIN COMPRESSION/DECOMPRESSION ROUTINES +======================================= + */ + +unsigned char * HuffCompress(unsigned char * src, int srcSize, int * compressedSize_p, int bitDepth) { + if (srcSize <= 0) + goto fail; + + int worstCaseDestSize = 4 + (2 << bitDepth) + srcSize * 3; + + unsigned char *dest = malloc(worstCaseDestSize); + if (dest == NULL) + goto fail; + + int nitems = 1 << bitDepth; + + HuffNode_t * freqs = calloc(nitems, sizeof(HuffNode_t)); + if (freqs == NULL) + goto fail; + + struct BitEncoding * encoding = calloc(nitems, sizeof(struct BitEncoding)); + if (encoding == NULL) + goto fail; + + // Set up the frequencies table. This will inform the tree. + for (int i = 0; i < nitems; i++) { + freqs[i].header.isLeaf = 1; + freqs[i].header.value = 0; + freqs[i].leaf.key = i; + } + + // Count each nybble or byte. + for (int i = 0; i < srcSize; i++) { + if (bitDepth == 8) { + freqs[src[i]].header.value++; + } else { + freqs[src[i] >> 4].header.value++; + freqs[src[i] & 0xF].header.value++; + } + } + +#ifdef DEBUG + for (int i = 0; i < nitems; i++) { + fprintf(stderr, "%d: %d\n", i, freqs[i].header.value); + } +#endif // DEBUG + + // Sort the frequency table. + if (!msort(freqs, nitems, sizeof(HuffNode_t), cmp_tree)) + goto fail; + + // Prune zero-frequency values. + for (int i = 0; i < nitems; i++) { + if (freqs[i].header.value != 0) { + if (i > 0) { + for (int j = i; j < nitems; j++) { + freqs[j - i] = freqs[j]; + } + nitems -= i; + } + break; + } + // This should never happen: + if (i == nitems - 1) + goto fail; + } + + HuffNode_t * tree = calloc(nitems * 2 - 1, sizeof(HuffNode_t)); + if (tree == NULL) + goto fail; + + // Iteratively collapse the two least frequent nodes. + HuffNode_t * endptr = freqs + nitems - 2; + + for (int i = 0; i < nitems - 1; i++) { + HuffNode_t * left = freqs; + HuffNode_t * right = freqs + 1; + tree[i * 2] = *right; + tree[i * 2 + 1] = *left; + for (int j = 0; j < nitems - i - 2; j++) + freqs[j] = freqs[j + 2]; + endptr->header.isLeaf = 0; + endptr->header.value = tree[i * 2].header.value + tree[i * 2 + 1].header.value; + endptr->branch.left = tree + i * 2; + endptr->branch.right = tree + i * 2 + 1; + endptr--; + if (i < nitems - 2 && !msort(freqs, nitems - i - 1, sizeof(HuffNode_t), cmp_tree)) + goto fail; + } + + // Write the tree breadth-first, and create the path lookup table. + write_tree(dest, freqs, nitems, encoding); + + free(tree); + free(freqs); + + // Encode the data itself. + int destPos = 4 + nitems * 2; + uint32_t destBuf = 0; + uint32_t srcBuf = 0; + int destBitPos = 0; + + for (int srcPos = 0; srcPos < srcSize;) { + read_32_le(src, &srcPos, &srcBuf); + for (int i = 0; i < 32 / bitDepth; i++) { + write_bits(dest, &destPos, encoding, srcBuf & (0xFF >> (8 - bitDepth)), &destBuf, &destBitPos); + srcBuf >>= bitDepth; + } + } + + if (destBitPos != 0) { + write_32_le(dest, &destPos, &destBuf, &destBitPos); + } + + free(encoding); + + // Write the header. + dest[0] = bitDepth | 0x20; + dest[1] = srcSize; + dest[2] = srcSize >> 8; + dest[3] = srcSize >> 16; + *compressedSize_p = (destPos + 3) & ~3; + return dest; + +fail: + FATAL_ERROR("Fatal error while compressing Huff file.\n"); +} + +unsigned char * HuffDecompress(unsigned char * src, int srcSize, int * uncompressedSize_p) { + if (srcSize < 4) + goto fail; + + int bitDepth = *src & 15; + if (bitDepth != 4 && bitDepth != 8) + goto fail; + + int destSize = (src[3] << 16) | (src[2] << 8) | src[1]; + + unsigned char *dest = malloc(destSize); + + if (dest == NULL) + goto fail; + + int treePos = 5; + int treeSize = (src[4] + 1) * 2; + int srcPos = 4 + treeSize; + int destPos = 0; + int curValPos = 0; + uint32_t destTmp = 0; + uint32_t window; + + for (;;) + { + if (srcPos >= srcSize) + goto fail; + read_32_le(src, &srcPos, &window); + for (int i = 0; i < 32; i++) { + int curBit = (window >> 31) & 1; + unsigned char treeView = src[treePos]; + bool isLeaf = ((treeView << curBit) & 0x80) != 0; + treePos &= ~1; // align + treePos += ((treeView & 0x3F) + 1) * 2 + curBit; + if (isLeaf) { + destTmp >>= bitDepth; + destTmp |= (src[treePos] << (32 - bitDepth)); + curValPos++; + if (curValPos == 32 / bitDepth) { + write_32_le(dest, &destPos, &destTmp, &curValPos); + if (destPos == destSize) { + *uncompressedSize_p = destSize; + return dest; + } + } + treePos = 5; + } + window <<= 1; + } + } + +fail: + FATAL_ERROR("Fatal error while decompressing Huff file.\n"); +} diff --git a/tools/gbagfx/huff.h b/tools/gbagfx/huff.h new file mode 100644 index 000000000..6002fe954 --- /dev/null +++ b/tools/gbagfx/huff.h @@ -0,0 +1,38 @@ +#ifndef HUFF_H +#define HUFF_H + +union HuffNode; + +struct HuffData { + unsigned value:31; + unsigned isLeaf:1; +}; + +struct HuffLeaf { + struct HuffData header; + unsigned char key; +}; + +struct HuffBranch { + struct HuffData header; + union HuffNode * left; + union HuffNode * right; +}; + +union HuffNode { + struct HuffData header; + struct HuffLeaf leaf; + struct HuffBranch branch; +}; + +typedef union HuffNode HuffNode_t; + +struct BitEncoding { + unsigned long long nbits:6; + unsigned long long bitstring:58; +}; + +unsigned char * HuffCompress(unsigned char * buffer, int srcSize, int * compressedSize_p, int bitDepth); +unsigned char * HuffDecompress(unsigned char * buffer, int srcSize, int * uncompressedSize_p); + +#endif //HUFF_H diff --git a/tools/gbagfx/main.c b/tools/gbagfx/main.c index 2174e37a5..aa0681fb6 100644 --- a/tools/gbagfx/main.c +++ b/tools/gbagfx/main.c @@ -12,6 +12,7 @@ #include "lz.h" #include "rl.h" #include "font.h" +#include "huff.h" struct CommandHandler { @@ -34,17 +35,6 @@ void ConvertGbaToPng(char *inputPath, char *outputPath, struct GbaToPngOptions * image.hasPalette = false; } - if (options->tilemapFilePath != NULL) - { - ReadGbaTilemap(options->tilemapFilePath, &image.tileMap); - image.hasTilemap = true; - } - else - { - image.tileMap.data = NULL; - image.hasTilemap = false; - } - ReadImage(inputPath, options->width, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); image.hasTransparency = options->hasTransparency; @@ -59,17 +49,11 @@ void ConvertPngToGba(char *inputPath, char *outputPath, struct PngToGbaOptions * struct Image image; image.bitDepth = options->bitDepth; - image.hasTilemap = options->tilemapFilePath == NULL ? false : true; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; ReadPng(inputPath, &image); WriteImage(outputPath, options->numTiles, options->bitDepth, options->metatileWidth, options->metatileHeight, &image, !image.hasPalette); - if (image.hasTilemap) - WriteGbaTilemap(options->tilemapFilePath, &image.tileMap); - FreeImage(&image); } @@ -78,7 +62,6 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a char *inputFileExtension = GetFileExtension(inputPath); struct GbaToPngOptions options; options.paletteFilePath = NULL; - options.tilemapFilePath = NULL; options.bitDepth = inputFileExtension[0] - '0'; options.hasTransparency = false; options.width = 1; @@ -98,15 +81,6 @@ void HandleGbaToPngCommand(char *inputPath, char *outputPath, int argc, char **a options.paletteFilePath = argv[i]; } - else if (strcmp(option, "-tilemap") == 0) - { - if (i + 1 >= argc) - FATAL_ERROR("No tilemap file path following \"-tilemap\".\n"); - - i++; - - options.tilemapFilePath = argv[i]; - } else if (strcmp(option, "-object") == 0) { options.hasTransparency = true; @@ -171,7 +145,6 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a options.bitDepth = bitDepth; options.metatileWidth = 1; options.metatileHeight = 1; - options.tilemapFilePath = NULL; for (int i = 3; i < argc; i++) { @@ -190,14 +163,6 @@ void HandlePngToGbaCommand(char *inputPath, char *outputPath, int argc, char **a if (options.numTiles < 1) FATAL_ERROR("Number of tiles must be positive.\n"); } - else if (strcmp(option, "-tilemap") == 0) - { - if (i + 1 >= argc) - FATAL_ERROR("No tilemap path following \"-tilemap\".\n"); - - i++; - options.tilemapFilePath = argv[i]; - } else if (strcmp(option, "-mwidth") == 0) { if (i + 1 >= argc) @@ -290,10 +255,6 @@ void HandleLatinFontToPngCommand(char *inputPath, char *outputPath, int argc UNU { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - ReadLatinFont(inputPath, &image); WritePng(outputPath, &image); @@ -304,10 +265,6 @@ void HandlePngToLatinFontCommand(char *inputPath, char *outputPath, int argc UNU { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - image.bitDepth = 2; ReadPng(inputPath, &image); @@ -320,10 +277,6 @@ void HandleHalfwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - ReadHalfwidthJapaneseFont(inputPath, &image); WritePng(outputPath, &image); @@ -334,10 +287,6 @@ void HandlePngToHalfwidthJapaneseFontCommand(char *inputPath, char *outputPath, { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - image.bitDepth = 2; ReadPng(inputPath, &image); @@ -350,10 +299,6 @@ void HandleFullwidthJapaneseFontToPngCommand(char *inputPath, char *outputPath, { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - ReadFullwidthJapaneseFont(inputPath, &image); WritePng(outputPath, &image); @@ -364,10 +309,6 @@ void HandlePngToFullwidthJapaneseFontCommand(char *inputPath, char *outputPath, { struct Image image; - image.hasTilemap = false; - image.tileMap.data = NULL; - image.tileMap.numTiles = 0; - image.bitDepth = 2; ReadPng(inputPath, &image); @@ -485,6 +426,61 @@ void HandleRLDecompressCommand(char *inputPath, char *outputPath, int argc UNUSE free(uncompressedData); } +void HandleHuffCompressCommand(char *inputPath, char *outputPath, int argc, char **argv) +{ + int fileSize; + int bitDepth = 4; + + for (int i = 3; i < argc; i++) + { + char *option = argv[i]; + + if (strcmp(option, "-depth") == 0) + { + if (i + 1 >= argc) + FATAL_ERROR("No size following \"-depth\".\n"); + + i++; + + if (!ParseNumber(argv[i], NULL, 10, &bitDepth)) + FATAL_ERROR("Failed to parse bit depth.\n"); + + if (bitDepth != 4 && bitDepth != 8) + FATAL_ERROR("GBA only supports bit depth of 4 or 8.\n"); + } + else + { + FATAL_ERROR("Unrecognized option \"%s\".\n", option); + } + } + + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int compressedSize; + unsigned char *compressedData = HuffCompress(buffer, fileSize, &compressedSize, bitDepth); + + free(buffer); + + WriteWholeFile(outputPath, compressedData, compressedSize); + + free(compressedData); +} + +void HandleHuffDecompressCommand(char *inputPath, char *outputPath, int argc UNUSED, char **argv UNUSED) +{ + int fileSize; + unsigned char *buffer = ReadWholeFile(inputPath, &fileSize); + + int uncompressedSize; + unsigned char *uncompressedData = HuffDecompress(buffer, fileSize, &uncompressedSize); + + free(buffer); + + WriteWholeFile(outputPath, uncompressedData, uncompressedSize); + + free(uncompressedData); +} + int main(int argc, char **argv) { if (argc < 3) @@ -507,7 +503,9 @@ int main(int argc, char **argv) { "png", "hwjpnfont", HandlePngToHalfwidthJapaneseFontCommand }, { "fwjpnfont", "png", HandleFullwidthJapaneseFontToPngCommand }, { "png", "fwjpnfont", HandlePngToFullwidthJapaneseFontCommand }, + { NULL, "huff", HandleHuffCompressCommand }, { NULL, "lz", HandleLZCompressCommand }, + { "huff", NULL, HandleHuffDecompressCommand }, { "lz", NULL, HandleLZDecompressCommand }, { NULL, "rl", HandleRLCompressCommand }, { "rl", NULL, HandleRLDecompressCommand }, diff --git a/tools/gbagfx/options.h b/tools/gbagfx/options.h index 463ee2455..2ff3967a4 100644 --- a/tools/gbagfx/options.h +++ b/tools/gbagfx/options.h @@ -7,7 +7,6 @@ struct GbaToPngOptions { char *paletteFilePath; - char *tilemapFilePath; int bitDepth; bool hasTransparency; int width; @@ -16,7 +15,6 @@ struct GbaToPngOptions { }; struct PngToGbaOptions { - char *tilemapFilePath; int numTiles; int bitDepth; int metatileWidth; diff --git a/tools/mapjson/.gitignore b/tools/mapjson/.gitignore new file mode 100755 index 000000000..a5d568479 --- /dev/null +++ b/tools/mapjson/.gitignore @@ -0,0 +1 @@ +mapjson diff --git a/tools/mapjson/Makefile b/tools/mapjson/Makefile new file mode 100644 index 000000000..d09acad50 --- /dev/null +++ b/tools/mapjson/Makefile @@ -0,0 +1,15 @@ +CXX := g++ + +CXXFLAGS := -Wall -std=c++11 -O2 + +SRCS := json11.cpp mapjson.cpp + +HEADERS := mapjson.h + +.PHONY: clean + +mapjson: $(SRCS) $(HEADERS) + $(CXX) $(CXXFLAGS) $(SRCS) -o $@ $(LDFLAGS) + +clean: + $(RM) mapjson mapjson.exe diff --git a/tools/mapjson/json11.cpp b/tools/mapjson/json11.cpp new file mode 100644 index 000000000..1da530206 --- /dev/null +++ b/tools/mapjson/json11.cpp @@ -0,0 +1,786 @@ +/* Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "json11.h" +#include <cassert> +#include <cmath> +#include <cstdlib> +#include <cstdio> +#include <limits> + +namespace json11 { + +static const int max_depth = 200; + +using std::string; +using std::vector; +using std::map; +using std::make_shared; +using std::initializer_list; +using std::move; + +/* Helper for representing null - just a do-nothing struct, plus comparison + * operators so the helpers in JsonValue work. We can't use nullptr_t because + * it may not be orderable. + */ +struct NullStruct { + bool operator==(NullStruct) const { return true; } + bool operator<(NullStruct) const { return false; } +}; + +/* * * * * * * * * * * * * * * * * * * * + * Serialization + */ + +static void dump(NullStruct, string &out) { + out += "null"; +} + +static void dump(double value, string &out) { + if (std::isfinite(value)) { + char buf[32]; + snprintf(buf, sizeof buf, "%.17g", value); + out += buf; + } else { + out += "null"; + } +} + +static void dump(int value, string &out) { + char buf[32]; + snprintf(buf, sizeof buf, "%d", value); + out += buf; +} + +static void dump(bool value, string &out) { + out += value ? "true" : "false"; +} + +static void dump(const string &value, string &out) { + out += '"'; + for (size_t i = 0; i < value.length(); i++) { + const char ch = value[i]; + if (ch == '\\') { + out += "\\\\"; + } else if (ch == '"') { + out += "\\\""; + } else if (ch == '\b') { + out += "\\b"; + } else if (ch == '\f') { + out += "\\f"; + } else if (ch == '\n') { + out += "\\n"; + } else if (ch == '\r') { + out += "\\r"; + } else if (ch == '\t') { + out += "\\t"; + } else if (static_cast<uint8_t>(ch) <= 0x1f) { + char buf[8]; + snprintf(buf, sizeof buf, "\\u%04x", ch); + out += buf; + } else if (static_cast<uint8_t>(ch) == 0xe2 && static_cast<uint8_t>(value[i+1]) == 0x80 + && static_cast<uint8_t>(value[i+2]) == 0xa8) { + out += "\\u2028"; + i += 2; + } else if (static_cast<uint8_t>(ch) == 0xe2 && static_cast<uint8_t>(value[i+1]) == 0x80 + && static_cast<uint8_t>(value[i+2]) == 0xa9) { + out += "\\u2029"; + i += 2; + } else { + out += ch; + } + } + out += '"'; +} + +static void dump(const Json::array &values, string &out) { + bool first = true; + out += "["; + for (const auto &value : values) { + if (!first) + out += ", "; + value.dump(out); + first = false; + } + out += "]"; +} + +static void dump(const Json::object &values, string &out) { + bool first = true; + out += "{"; + for (const auto &kv : values) { + if (!first) + out += ", "; + dump(kv.first, out); + out += ": "; + kv.second.dump(out); + first = false; + } + out += "}"; +} + +void Json::dump(string &out) const { + m_ptr->dump(out); +} + +/* * * * * * * * * * * * * * * * * * * * + * Value wrappers + */ + +template <Json::Type tag, typename T> +class Value : public JsonValue { +protected: + + // Constructors + explicit Value(const T &value) : m_value(value) {} + explicit Value(T &&value) : m_value(move(value)) {} + + // Get type tag + Json::Type type() const override { + return tag; + } + + // Comparisons + bool equals(const JsonValue * other) const override { + return m_value == static_cast<const Value<tag, T> *>(other)->m_value; + } + bool less(const JsonValue * other) const override { + return m_value < static_cast<const Value<tag, T> *>(other)->m_value; + } + + const T m_value; + void dump(string &out) const override { json11::dump(m_value, out); } +}; + +class JsonDouble final : public Value<Json::NUMBER, double> { + double number_value() const override { return m_value; } + int int_value() const override { return static_cast<int>(m_value); } + bool equals(const JsonValue * other) const override { return m_value == other->number_value(); } + bool less(const JsonValue * other) const override { return m_value < other->number_value(); } +public: + explicit JsonDouble(double value) : Value(value) {} +}; + +class JsonInt final : public Value<Json::NUMBER, int> { + double number_value() const override { return m_value; } + int int_value() const override { return m_value; } + bool equals(const JsonValue * other) const override { return m_value == other->number_value(); } + bool less(const JsonValue * other) const override { return m_value < other->number_value(); } +public: + explicit JsonInt(int value) : Value(value) {} +}; + +class JsonBoolean final : public Value<Json::BOOL, bool> { + bool bool_value() const override { return m_value; } +public: + explicit JsonBoolean(bool value) : Value(value) {} +}; + +class JsonString final : public Value<Json::STRING, string> { + const string &string_value() const override { return m_value; } +public: + explicit JsonString(const string &value) : Value(value) {} + explicit JsonString(string &&value) : Value(move(value)) {} +}; + +class JsonArray final : public Value<Json::ARRAY, Json::array> { + const Json::array &array_items() const override { return m_value; } + const Json & operator[](size_t i) const override; +public: + explicit JsonArray(const Json::array &value) : Value(value) {} + explicit JsonArray(Json::array &&value) : Value(move(value)) {} +}; + +class JsonObject final : public Value<Json::OBJECT, Json::object> { + const Json::object &object_items() const override { return m_value; } + const Json & operator[](const string &key) const override; +public: + explicit JsonObject(const Json::object &value) : Value(value) {} + explicit JsonObject(Json::object &&value) : Value(move(value)) {} +}; + +class JsonNull final : public Value<Json::NUL, NullStruct> { +public: + JsonNull() : Value({}) {} +}; + +/* * * * * * * * * * * * * * * * * * * * + * Static globals - static-init-safe + */ +struct Statics { + const std::shared_ptr<JsonValue> null = make_shared<JsonNull>(); + const std::shared_ptr<JsonValue> t = make_shared<JsonBoolean>(true); + const std::shared_ptr<JsonValue> f = make_shared<JsonBoolean>(false); + const string empty_string; + const vector<Json> empty_vector; + const map<string, Json> empty_map; + Statics() {} +}; + +static const Statics & statics() { + static const Statics s {}; + return s; +} + +static const Json & static_null() { + // This has to be separate, not in Statics, because Json() accesses statics().null. + static const Json json_null; + return json_null; +} + +/* * * * * * * * * * * * * * * * * * * * + * Constructors + */ + +Json::Json() noexcept : m_ptr(statics().null) {} +Json::Json(std::nullptr_t) noexcept : m_ptr(statics().null) {} +Json::Json(double value) : m_ptr(make_shared<JsonDouble>(value)) {} +Json::Json(int value) : m_ptr(make_shared<JsonInt>(value)) {} +Json::Json(bool value) : m_ptr(value ? statics().t : statics().f) {} +Json::Json(const string &value) : m_ptr(make_shared<JsonString>(value)) {} +Json::Json(string &&value) : m_ptr(make_shared<JsonString>(move(value))) {} +Json::Json(const char * value) : m_ptr(make_shared<JsonString>(value)) {} +Json::Json(const Json::array &values) : m_ptr(make_shared<JsonArray>(values)) {} +Json::Json(Json::array &&values) : m_ptr(make_shared<JsonArray>(move(values))) {} +Json::Json(const Json::object &values) : m_ptr(make_shared<JsonObject>(values)) {} +Json::Json(Json::object &&values) : m_ptr(make_shared<JsonObject>(move(values))) {} + +/* * * * * * * * * * * * * * * * * * * * + * Accessors + */ + +Json::Type Json::type() const { return m_ptr->type(); } +double Json::number_value() const { return m_ptr->number_value(); } +int Json::int_value() const { return m_ptr->int_value(); } +bool Json::bool_value() const { return m_ptr->bool_value(); } +const string & Json::string_value() const { return m_ptr->string_value(); } +const vector<Json> & Json::array_items() const { return m_ptr->array_items(); } +const map<string, Json> & Json::object_items() const { return m_ptr->object_items(); } +const Json & Json::operator[] (size_t i) const { return (*m_ptr)[i]; } +const Json & Json::operator[] (const string &key) const { return (*m_ptr)[key]; } + +double JsonValue::number_value() const { return 0; } +int JsonValue::int_value() const { return 0; } +bool JsonValue::bool_value() const { return false; } +const string & JsonValue::string_value() const { return statics().empty_string; } +const vector<Json> & JsonValue::array_items() const { return statics().empty_vector; } +const map<string, Json> & JsonValue::object_items() const { return statics().empty_map; } +const Json & JsonValue::operator[] (size_t) const { return static_null(); } +const Json & JsonValue::operator[] (const string &) const { return static_null(); } + +const Json & JsonObject::operator[] (const string &key) const { + auto iter = m_value.find(key); + return (iter == m_value.end()) ? static_null() : iter->second; +} +const Json & JsonArray::operator[] (size_t i) const { + if (i >= m_value.size()) return static_null(); + else return m_value[i]; +} + +/* * * * * * * * * * * * * * * * * * * * + * Comparison + */ + +bool Json::operator== (const Json &other) const { + if (m_ptr == other.m_ptr) + return true; + if (m_ptr->type() != other.m_ptr->type()) + return false; + + return m_ptr->equals(other.m_ptr.get()); +} + +bool Json::operator< (const Json &other) const { + if (m_ptr == other.m_ptr) + return false; + if (m_ptr->type() != other.m_ptr->type()) + return m_ptr->type() < other.m_ptr->type(); + + return m_ptr->less(other.m_ptr.get()); +} + +/* * * * * * * * * * * * * * * * * * * * + * Parsing + */ + +/* esc(c) + * + * Format char c suitable for printing in an error message. + */ +static inline string esc(char c) { + char buf[12]; + if (static_cast<uint8_t>(c) >= 0x20 && static_cast<uint8_t>(c) <= 0x7f) { + snprintf(buf, sizeof buf, "'%c' (%d)", c, c); + } else { + snprintf(buf, sizeof buf, "(%d)", c); + } + return string(buf); +} + +static inline bool in_range(long x, long lower, long upper) { + return (x >= lower && x <= upper); +} + +namespace { +/* JsonParser + * + * Object that tracks all state of an in-progress parse. + */ +struct JsonParser final { + + /* State + */ + const string &str; + size_t i; + string &err; + bool failed; + const JsonParse strategy; + + /* fail(msg, err_ret = Json()) + * + * Mark this parse as failed. + */ + Json fail(string &&msg) { + return fail(move(msg), Json()); + } + + template <typename T> + T fail(string &&msg, const T err_ret) { + if (!failed) + err = std::move(msg); + failed = true; + return err_ret; + } + + /* consume_whitespace() + * + * Advance until the current character is non-whitespace. + */ + void consume_whitespace() { + while (str[i] == ' ' || str[i] == '\r' || str[i] == '\n' || str[i] == '\t') + i++; + } + + /* consume_comment() + * + * Advance comments (c-style inline and multiline). + */ + bool consume_comment() { + bool comment_found = false; + if (str[i] == '/') { + i++; + if (i == str.size()) + return fail("unexpected end of input after start of comment", false); + if (str[i] == '/') { // inline comment + i++; + // advance until next line, or end of input + while (i < str.size() && str[i] != '\n') { + i++; + } + comment_found = true; + } + else if (str[i] == '*') { // multiline comment + i++; + if (i > str.size()-2) + return fail("unexpected end of input inside multi-line comment", false); + // advance until closing tokens + while (!(str[i] == '*' && str[i+1] == '/')) { + i++; + if (i > str.size()-2) + return fail( + "unexpected end of input inside multi-line comment", false); + } + i += 2; + comment_found = true; + } + else + return fail("malformed comment", false); + } + return comment_found; + } + + /* consume_garbage() + * + * Advance until the current character is non-whitespace and non-comment. + */ + void consume_garbage() { + consume_whitespace(); + if(strategy == JsonParse::COMMENTS) { + bool comment_found = false; + do { + comment_found = consume_comment(); + if (failed) return; + consume_whitespace(); + } + while(comment_found); + } + } + + /* get_next_token() + * + * Return the next non-whitespace character. If the end of the input is reached, + * flag an error and return 0. + */ + char get_next_token() { + consume_garbage(); + if (failed) return static_cast<char>(0); + if (i == str.size()) + return fail("unexpected end of input", static_cast<char>(0)); + + return str[i++]; + } + + /* encode_utf8(pt, out) + * + * Encode pt as UTF-8 and add it to out. + */ + void encode_utf8(long pt, string & out) { + if (pt < 0) + return; + + if (pt < 0x80) { + out += static_cast<char>(pt); + } else if (pt < 0x800) { + out += static_cast<char>((pt >> 6) | 0xC0); + out += static_cast<char>((pt & 0x3F) | 0x80); + } else if (pt < 0x10000) { + out += static_cast<char>((pt >> 12) | 0xE0); + out += static_cast<char>(((pt >> 6) & 0x3F) | 0x80); + out += static_cast<char>((pt & 0x3F) | 0x80); + } else { + out += static_cast<char>((pt >> 18) | 0xF0); + out += static_cast<char>(((pt >> 12) & 0x3F) | 0x80); + out += static_cast<char>(((pt >> 6) & 0x3F) | 0x80); + out += static_cast<char>((pt & 0x3F) | 0x80); + } + } + + /* parse_string() + * + * Parse a string, starting at the current position. + */ + string parse_string() { + string out; + long last_escaped_codepoint = -1; + while (true) { + if (i == str.size()) + return fail("unexpected end of input in string", ""); + + char ch = str[i++]; + + if (ch == '"') { + encode_utf8(last_escaped_codepoint, out); + return out; + } + + if (in_range(ch, 0, 0x1f)) + return fail("unescaped " + esc(ch) + " in string", ""); + + // The usual case: non-escaped characters + if (ch != '\\') { + encode_utf8(last_escaped_codepoint, out); + last_escaped_codepoint = -1; + out += ch; + continue; + } + + // Handle escapes + if (i == str.size()) + return fail("unexpected end of input in string", ""); + + ch = str[i++]; + + if (ch == 'u') { + // Extract 4-byte escape sequence + string esc = str.substr(i, 4); + // Explicitly check length of the substring. The following loop + // relies on std::string returning the terminating NUL when + // accessing str[length]. Checking here reduces brittleness. + if (esc.length() < 4) { + return fail("bad \\u escape: " + esc, ""); + } + for (size_t j = 0; j < 4; j++) { + if (!in_range(esc[j], 'a', 'f') && !in_range(esc[j], 'A', 'F') + && !in_range(esc[j], '0', '9')) + return fail("bad \\u escape: " + esc, ""); + } + + long codepoint = strtol(esc.data(), nullptr, 16); + + // JSON specifies that characters outside the BMP shall be encoded as a pair + // of 4-hex-digit \u escapes encoding their surrogate pair components. Check + // whether we're in the middle of such a beast: the previous codepoint was an + // escaped lead (high) surrogate, and this is a trail (low) surrogate. + if (in_range(last_escaped_codepoint, 0xD800, 0xDBFF) + && in_range(codepoint, 0xDC00, 0xDFFF)) { + // Reassemble the two surrogate pairs into one astral-plane character, per + // the UTF-16 algorithm. + encode_utf8((((last_escaped_codepoint - 0xD800) << 10) + | (codepoint - 0xDC00)) + 0x10000, out); + last_escaped_codepoint = -1; + } else { + encode_utf8(last_escaped_codepoint, out); + last_escaped_codepoint = codepoint; + } + + i += 4; + continue; + } + + encode_utf8(last_escaped_codepoint, out); + last_escaped_codepoint = -1; + + if (ch == 'b') { + out += '\b'; + } else if (ch == 'f') { + out += '\f'; + } else if (ch == 'n') { + out += '\n'; + } else if (ch == 'r') { + out += '\r'; + } else if (ch == 't') { + out += '\t'; + } else if (ch == '"' || ch == '\\' || ch == '/') { + out += ch; + } else { + return fail("invalid escape character " + esc(ch), ""); + } + } + } + + /* parse_number() + * + * Parse a double. + */ + Json parse_number() { + size_t start_pos = i; + + if (str[i] == '-') + i++; + + // Integer part + if (str[i] == '0') { + i++; + if (in_range(str[i], '0', '9')) + return fail("leading 0s not permitted in numbers"); + } else if (in_range(str[i], '1', '9')) { + i++; + while (in_range(str[i], '0', '9')) + i++; + } else { + return fail("invalid " + esc(str[i]) + " in number"); + } + + if (str[i] != '.' && str[i] != 'e' && str[i] != 'E' + && (i - start_pos) <= static_cast<size_t>(std::numeric_limits<int>::digits10)) { + return std::atoi(str.c_str() + start_pos); + } + + // Decimal part + if (str[i] == '.') { + i++; + if (!in_range(str[i], '0', '9')) + return fail("at least one digit required in fractional part"); + + while (in_range(str[i], '0', '9')) + i++; + } + + // Exponent part + if (str[i] == 'e' || str[i] == 'E') { + i++; + + if (str[i] == '+' || str[i] == '-') + i++; + + if (!in_range(str[i], '0', '9')) + return fail("at least one digit required in exponent"); + + while (in_range(str[i], '0', '9')) + i++; + } + + return std::strtod(str.c_str() + start_pos, nullptr); + } + + /* expect(str, res) + * + * Expect that 'str' starts at the character that was just read. If it does, advance + * the input and return res. If not, flag an error. + */ + Json expect(const string &expected, Json res) { + assert(i != 0); + i--; + if (str.compare(i, expected.length(), expected) == 0) { + i += expected.length(); + return res; + } else { + return fail("parse error: expected " + expected + ", got " + str.substr(i, expected.length())); + } + } + + /* parse_json() + * + * Parse a JSON object. + */ + Json parse_json(int depth) { + if (depth > max_depth) { + return fail("exceeded maximum nesting depth"); + } + + char ch = get_next_token(); + if (failed) + return Json(); + + if (ch == '-' || (ch >= '0' && ch <= '9')) { + i--; + return parse_number(); + } + + if (ch == 't') + return expect("true", true); + + if (ch == 'f') + return expect("false", false); + + if (ch == 'n') + return expect("null", Json()); + + if (ch == '"') + return parse_string(); + + if (ch == '{') { + map<string, Json> data; + ch = get_next_token(); + if (ch == '}') + return data; + + while (1) { + if (ch != '"') + return fail("expected '\"' in object, got " + esc(ch)); + + string key = parse_string(); + if (failed) + return Json(); + + ch = get_next_token(); + if (ch != ':') + return fail("expected ':' in object, got " + esc(ch)); + + data[std::move(key)] = parse_json(depth + 1); + if (failed) + return Json(); + + ch = get_next_token(); + if (ch == '}') + break; + if (ch != ',') + return fail("expected ',' in object, got " + esc(ch)); + + ch = get_next_token(); + } + return data; + } + + if (ch == '[') { + vector<Json> data; + ch = get_next_token(); + if (ch == ']') + return data; + + while (1) { + i--; + data.push_back(parse_json(depth + 1)); + if (failed) + return Json(); + + ch = get_next_token(); + if (ch == ']') + break; + if (ch != ',') + return fail("expected ',' in list, got " + esc(ch)); + + ch = get_next_token(); + (void)ch; + } + return data; + } + + return fail("expected value, got " + esc(ch)); + } +}; +}//namespace { + +Json Json::parse(const string &in, string &err, JsonParse strategy) { + JsonParser parser { in, 0, err, false, strategy }; + Json result = parser.parse_json(0); + + // Check for any trailing garbage + parser.consume_garbage(); + if (parser.failed) + return Json(); + if (parser.i != in.size()) + return parser.fail("unexpected trailing " + esc(in[parser.i])); + + return result; +} + +// Documented in json11.hpp +vector<Json> Json::parse_multi(const string &in, + std::string::size_type &parser_stop_pos, + string &err, + JsonParse strategy) { + JsonParser parser { in, 0, err, false, strategy }; + parser_stop_pos = 0; + vector<Json> json_vec; + while (parser.i != in.size() && !parser.failed) { + json_vec.push_back(parser.parse_json(0)); + if (parser.failed) + break; + + // Check for another object + parser.consume_garbage(); + if (parser.failed) + break; + parser_stop_pos = parser.i; + } + return json_vec; +} + +/* * * * * * * * * * * * * * * * * * * * + * Shape-checking + */ + +bool Json::has_shape(const shape & types, string & err) const { + if (!is_object()) { + err = "expected JSON object, got " + dump(); + return false; + } + + for (auto & item : types) { + if ((*this)[item.first].type() != item.second) { + err = "bad type for " + item.first + " in " + dump(); + return false; + } + } + + return true; +} + +} // namespace json11 diff --git a/tools/mapjson/json11.h b/tools/mapjson/json11.h new file mode 100644 index 000000000..c04c4362f --- /dev/null +++ b/tools/mapjson/json11.h @@ -0,0 +1,230 @@ +/* json11 + * + * json11 is a tiny JSON library for C++11, providing JSON parsing and serialization. + * + * The core object provided by the library is json11::Json. A Json object represents any JSON + * value: null, bool, number (int or double), string (std::string), array (std::vector), or + * object (std::map). + * + * Json objects act like values: they can be assigned, copied, moved, compared for equality or + * order, etc. There are also helper methods Json::dump, to serialize a Json to a string, and + * Json::parse (static) to parse a std::string as a Json object. + * + * Internally, the various types of Json object are represented by the JsonValue class + * hierarchy. + * + * A note on numbers - JSON specifies the syntax of number formatting but not its semantics, + * so some JSON implementations distinguish between integers and floating-point numbers, while + * some don't. In json11, we choose the latter. Because some JSON implementations (namely + * Javascript itself) treat all numbers as the same type, distinguishing the two leads + * to JSON that will be *silently* changed by a round-trip through those implementations. + * Dangerous! To avoid that risk, json11 stores all numbers as double internally, but also + * provides integer helpers. + * + * Fortunately, double-precision IEEE754 ('double') can precisely store any integer in the + * range +/-2^53, which includes every 'int' on most systems. (Timestamps often use int64 + * or long long to avoid the Y2038K problem; a double storing microseconds since some epoch + * will be exact for +/- 275 years.) + */ + +/* Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#pragma once + +#include <string> +#include <vector> +#include <map> +#include <memory> +#include <initializer_list> + +#ifdef _MSC_VER + #if _MSC_VER <= 1800 // VS 2013 + #ifndef noexcept + #define noexcept throw() + #endif + + #ifndef snprintf + #define snprintf _snprintf_s + #endif + #endif +#endif + +namespace json11 { + +enum JsonParse { + STANDARD, COMMENTS +}; + +class JsonValue; + +class Json final { +public: + // Types + enum Type { + NUL, NUMBER, BOOL, STRING, ARRAY, OBJECT + }; + + // Array and object typedefs + typedef std::vector<Json> array; + typedef std::map<std::string, Json> object; + + // Constructors for the various types of JSON value. + Json() noexcept; // NUL + Json(std::nullptr_t) noexcept; // NUL + Json(double value); // NUMBER + Json(int value); // NUMBER + Json(bool value); // BOOL + Json(const std::string &value); // STRING + Json(std::string &&value); // STRING + Json(const char * value); // STRING + Json(const array &values); // ARRAY + Json(array &&values); // ARRAY + Json(const object &values); // OBJECT + Json(object &&values); // OBJECT + + // Implicit constructor: anything with a to_json() function. + template <class T, class = decltype(&T::to_json)> + Json(const T & t) : Json(t.to_json()) {} + + // Implicit constructor: map-like objects (std::map, std::unordered_map, etc) + template <class M, typename std::enable_if< + std::is_constructible<std::string, decltype(std::declval<M>().begin()->first)>::value + && std::is_constructible<Json, decltype(std::declval<M>().begin()->second)>::value, + int>::type = 0> + Json(const M & m) : Json(object(m.begin(), m.end())) {} + + // Implicit constructor: vector-like objects (std::list, std::vector, std::set, etc) + template <class V, typename std::enable_if< + std::is_constructible<Json, decltype(*std::declval<V>().begin())>::value, + int>::type = 0> + Json(const V & v) : Json(array(v.begin(), v.end())) {} + + // This prevents Json(some_pointer) from accidentally producing a bool. Use + // Json(bool(some_pointer)) if that behavior is desired. + Json(void *) = delete; + + // Accessors + Type type() const; + + bool is_null() const { return type() == NUL; } + bool is_number() const { return type() == NUMBER; } + bool is_bool() const { return type() == BOOL; } + bool is_string() const { return type() == STRING; } + bool is_array() const { return type() == ARRAY; } + bool is_object() const { return type() == OBJECT; } + + // Return the enclosed value if this is a number, 0 otherwise. Note that json11 does not + // distinguish between integer and non-integer numbers - number_value() and int_value() + // can both be applied to a NUMBER-typed object. + double number_value() const; + int int_value() const; + + // Return the enclosed value if this is a boolean, false otherwise. + bool bool_value() const; + // Return the enclosed string if this is a string, "" otherwise. + const std::string &string_value() const; + // Return the enclosed std::vector if this is an array, or an empty vector otherwise. + const array &array_items() const; + // Return the enclosed std::map if this is an object, or an empty map otherwise. + const object &object_items() const; + + // Return a reference to arr[i] if this is an array, Json() otherwise. + const Json & operator[](size_t i) const; + // Return a reference to obj[key] if this is an object, Json() otherwise. + const Json & operator[](const std::string &key) const; + + // Serialize. + void dump(std::string &out) const; + std::string dump() const { + std::string out; + dump(out); + return out; + } + + // Parse. If parse fails, return Json() and assign an error message to err. + static Json parse(const std::string & in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD); + static Json parse(const char * in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD) { + if (in) { + return parse(std::string(in), err, strategy); + } else { + err = "null input"; + return nullptr; + } + } + // Parse multiple objects, concatenated or separated by whitespace + static std::vector<Json> parse_multi( + const std::string & in, + std::string::size_type & parser_stop_pos, + std::string & err, + JsonParse strategy = JsonParse::STANDARD); + + static inline std::vector<Json> parse_multi( + const std::string & in, + std::string & err, + JsonParse strategy = JsonParse::STANDARD) { + std::string::size_type parser_stop_pos; + return parse_multi(in, parser_stop_pos, err, strategy); + } + + bool operator== (const Json &rhs) const; + bool operator< (const Json &rhs) const; + bool operator!= (const Json &rhs) const { return !(*this == rhs); } + bool operator<= (const Json &rhs) const { return !(rhs < *this); } + bool operator> (const Json &rhs) const { return (rhs < *this); } + bool operator>= (const Json &rhs) const { return !(*this < rhs); } + + /* has_shape(types, err) + * + * Return true if this is a JSON object and, for each item in types, has a field of + * the given type. If not, return false and set err to a descriptive message. + */ + typedef std::initializer_list<std::pair<std::string, Type>> shape; + bool has_shape(const shape & types, std::string & err) const; + +private: + std::shared_ptr<JsonValue> m_ptr; +}; + +// Internal class hierarchy - JsonValue objects are not exposed to users of this API. +class JsonValue { +protected: + friend class Json; + friend class JsonInt; + friend class JsonDouble; + virtual Json::Type type() const = 0; + virtual bool equals(const JsonValue * other) const = 0; + virtual bool less(const JsonValue * other) const = 0; + virtual void dump(std::string &out) const = 0; + virtual double number_value() const; + virtual int int_value() const; + virtual bool bool_value() const; + virtual const std::string &string_value() const; + virtual const Json::array &array_items() const; + virtual const Json &operator[](size_t i) const; + virtual const Json::object &object_items() const; + virtual const Json &operator[](const std::string &key) const; + virtual ~JsonValue() {} +}; + +} // namespace json11 diff --git a/tools/mapjson/mapjson.cpp b/tools/mapjson/mapjson.cpp new file mode 100644 index 000000000..1cf196fda --- /dev/null +++ b/tools/mapjson/mapjson.cpp @@ -0,0 +1,538 @@ +// mapjson.cpp + +#include <iostream> +using std::cout; using std::endl; + +#include <string> +using std::string; + +#include <vector> +using std::vector; + +#include <algorithm> +using std::sort; using std::find; + +#include <map> +using std::map; + +#include <fstream> +using std::ofstream; using std::ifstream; + +#include <sstream> +using std::ostringstream; + +#include <limits> +using std::numeric_limits; + +#include "json11.h" +using json11::Json; + +#include "mapjson.h" + + +string read_text_file(string filepath) { + ifstream in_file(filepath); + + if (!in_file.is_open()) + FATAL_ERROR("Cannot open file %s for reading.\n", filepath.c_str()); + + string text; + + in_file.seekg(0, std::ios::end); + text.resize(in_file.tellg()); + + in_file.seekg(0, std::ios::beg); + in_file.read(&text[0], text.size()); + + in_file.close(); + + return text; +} + +void write_text_file(string filepath, string text) { + ofstream out_file(filepath, std::ofstream::binary); + + if (!out_file.is_open()) + FATAL_ERROR("Cannot open file %s for writing.\n", filepath.c_str()); + + out_file << text; + + out_file.close(); +} + +string generate_map_header_text(Json map_data, Json layouts_data, string version) { + string map_layout_id = map_data["layout"].string_value(); + + vector<Json> matched; + + for (auto &field : layouts_data["layouts"].array_items()) { + if (map_layout_id == field["id"].string_value()) + matched.push_back(field); + } + + if (matched.size() != 1) + FATAL_ERROR("Failed to find matching layout for %s.\n", map_layout_id.c_str()); + + Json layout = matched[0]; + + ostringstream text; + + text << map_data["name"].string_value() << ":\n" + << "\t.4byte " << layout["name"].string_value() << "\n"; + + if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) + text << "\t.4byte " << map_data["shared_events_map"].string_value() << "_MapEvents\n"; + else + text << "\t.4byte " << map_data["name"].string_value() << "_MapEvents\n"; + + if (map_data.object_items().find("shared_scripts_map") != map_data.object_items().end()) + text << "\t.4byte " << map_data["shared_scripts_map"].string_value() << "_MapScripts\n"; + else + text << "\t.4byte " << map_data["name"].string_value() << "_MapScripts\n"; + + if (map_data.object_items().find("connections") != map_data.object_items().end() + && map_data["connections"].array_items().size() > 0) + text << "\t.4byte " << map_data["name"].string_value() << "_MapConnections\n"; + else + text << "\t.4byte 0x0\n"; + + text << "\t.2byte " << map_data["music"].string_value() << "\n" + << "\t.2byte " << layout["id"].string_value() << "\n" + << "\t.byte " << map_data["region_map_section"].string_value() << "\n" + << "\t.byte " << map_data["requires_flash"].bool_value() << "\n" + << "\t.byte " << map_data["weather"].string_value() << "\n" + << "\t.byte " << map_data["map_type"].string_value() << "\n" + << "\t.2byte 0\n"; + + if (version == "ruby") + text << "\t.byte " << map_data["show_map_name"].bool_value() << "\n"; + else if (version == "emerald") + text << "\tmap_header_flags " + << "allow_bike=" << map_data["allow_bike"].bool_value() << ", " + << "allow_escape_rope=" << map_data["allow_escape_rope"].bool_value() << ", " + << "allow_run=" << map_data["allow_running"].bool_value() << ", " + << "show_map_name=" << map_data["show_map_name"].bool_value() << "\n"; + + text << "\t.byte " << map_data["battle_scene"].string_value() << "\n\n"; + + return text.str(); +} + +string generate_map_connections_text(Json map_data) { + if (map_data["connections"] == Json()) + return string("\n"); + + ostringstream text; + + text << map_data["name"].string_value() << "_MapConnectionsList:\n"; + + for (auto &connection : map_data["connections"].array_items()) { + text << "\tconnection " + << connection["direction"].string_value() << ", " + << connection["offset"].int_value() << ", " + << connection["map"].string_value() << "\n"; + } + + text << "\n" << map_data["name"].string_value() << "_MapConnections:\n" + << "\t.4byte " << map_data["connections"].array_items().size() << "\n" + << "\t.4byte " << map_data["name"].string_value() << "_MapConnectionsList\n\n"; + + return text.str(); +} + +string generate_map_events_text(Json map_data) { + if (map_data.object_items().find("shared_events_map") != map_data.object_items().end()) + return string("\n"); + + ostringstream text; + + string objects_label, warps_label, coords_label, bgs_label; + + if (map_data["object_events"].array_items().size() > 0) { + objects_label = map_data["name"].string_value() + "_EventObjects"; + text << objects_label << ":\n"; + for (unsigned int i = 0; i < map_data["object_events"].array_items().size(); i++) { + auto obj_event = map_data["object_events"].array_items()[i]; + text << "\tobject_event " << i + 1 << ", " + << obj_event["graphics_id"].string_value() << ", 0, " + << obj_event["x"].int_value() << ", " + << obj_event["y"].int_value() << ", " + << obj_event["elevation"].int_value() << ", " + << obj_event["movement_type"].string_value() << ", " + << obj_event["movement_range_x"].int_value() << ", " + << obj_event["movement_range_y"].int_value() << ", " + << obj_event["trainer_type"].string_value() << ", " + << obj_event["trainer_sight_or_berry_tree_id"].string_value() << ", " + << obj_event["script"].string_value() << ", " + << obj_event["flag"].string_value() << "\n"; + } + text << "\n"; + } else { + objects_label = "0x0"; + } + + if (map_data["warp_events"].array_items().size() > 0) { + warps_label = map_data["name"].string_value() + "_MapWarps"; + text << warps_label << ":\n"; + for (auto &warp_event : map_data["warp_events"].array_items()) { + text << "\twarp_def " + << warp_event["x"].int_value() << ", " + << warp_event["y"].int_value() << ", " + << warp_event["elevation"].int_value() << ", " + << warp_event["dest_warp_id"].int_value() << ", " + << warp_event["dest_map"].string_value() << "\n"; + } + text << "\n"; + } else { + warps_label = "0x0"; + } + + if (map_data["coord_events"].array_items().size() > 0) { + coords_label = map_data["name"].string_value() + "_MapCoordEvents"; + text << coords_label << ":\n"; + for (auto &coord_event : map_data["coord_events"].array_items()) { + if (coord_event["type"].string_value() == "trigger") { + text << "\tcoord_event " + << coord_event["x"].int_value() << ", " + << coord_event["y"].int_value() << ", " + << coord_event["elevation"].int_value() << ", " + << coord_event["var"].string_value() << ", " + << coord_event["var_value"].string_value() << ", " + << coord_event["script"].string_value() << "\n"; + } + else if (coord_event["type"] == "weather") { + text << "\tcoord_weather_event " + << coord_event["x"].int_value() << ", " + << coord_event["y"].int_value() << ", " + << coord_event["elevation"].int_value() << ", " + << coord_event["weather"].string_value() << "\n"; + } + } + text << "\n"; + } else { + coords_label = "0x0"; + } + + if (map_data["bg_events"].array_items().size() > 0) { + bgs_label = map_data["name"].string_value() + "_MapBGEvents"; + text << bgs_label << ":\n"; + for (auto &bg_event : map_data["bg_events"].array_items()) { + if (bg_event["type"] == "sign") { + text << "\tbg_event " + << bg_event["x"].int_value() << ", " + << bg_event["y"].int_value() << ", " + << bg_event["elevation"].int_value() << ", " + << bg_event["player_facing_dir"].string_value() << ", " + << bg_event["script"].string_value() << "\n"; + } + else if (bg_event["type"] == "hidden_item") { + text << "\tbg_hidden_item_event " + << bg_event["x"].int_value() << ", " + << bg_event["y"].int_value() << ", " + << bg_event["elevation"].int_value() << ", " + << bg_event["item"].string_value() << ", " + << bg_event["flag"].string_value() << "\n"; + } + else if (bg_event["type"] == "secret_base") { + text << "\tbg_secret_base_event " + << bg_event["x"].int_value() << ", " + << bg_event["y"].int_value() << ", " + << bg_event["elevation"].int_value() << ", " + << bg_event["secret_base_id"].string_value() << "\n"; + } + } + text << "\n"; + } else { + bgs_label = "0x0"; + } + + text << map_data["name"].string_value() << "_MapEvents::\n" + << "\tmap_events " << objects_label << ", " << warps_label << ", " + << coords_label << ", " << bgs_label << "\n\n"; + + return text.str(); +} + +string get_directory_name(string filename) { + size_t dir_pos = filename.find_last_of("/\\"); + + return filename.substr(0, dir_pos + 1); +} + +void process_map(string map_filepath, string layouts_filepath, string version) { + string mapdata_err, layouts_err; + + string mapdata_json_text = read_text_file(map_filepath); + string layouts_json_text = read_text_file(layouts_filepath); + + Json map_data = Json::parse(mapdata_json_text, mapdata_err); + if (map_data == Json()) + FATAL_ERROR("%s\n", mapdata_err.c_str()); + + Json layouts_data = Json::parse(layouts_json_text, layouts_err); + if (layouts_data == Json()) + FATAL_ERROR("%s\n", layouts_err.c_str()); + + string header_text = generate_map_header_text(map_data, layouts_data, version); + string events_text = generate_map_events_text(map_data); + string connections_text = generate_map_connections_text(map_data); + + string files_dir = get_directory_name(map_filepath); + write_text_file(files_dir + "header.inc", header_text); + write_text_file(files_dir + "events.inc", events_text); + write_text_file(files_dir + "connections.inc", connections_text); +} + +string generate_groups_text(Json groups_data) { + ostringstream text; + + for (auto &key : groups_data["group_order"].array_items()) { + string group = key.string_value(); + text << group << "::\n"; + auto maps = groups_data[group].array_items(); + for (Json &map_name : maps) + text << "\t.4byte " << map_name.string_value() << "\n"; + text << "\n"; + } + + text << "\t.align 2\n" << "gMapGroups::\n"; + for (auto &group : groups_data["group_order"].array_items()) + text << "\t.4byte " << group.string_value() << "\n"; + text << "\n"; + + return text.str(); +} + +string generate_connections_text(Json groups_data) { + vector<Json> map_names; + + for (auto &group : groups_data["group_order"].array_items()) + for (auto map_name : groups_data[group.string_value()].array_items()) + map_names.push_back(map_name); + + vector<Json> connections_include_order = groups_data["connections_include_order"].array_items(); + + if (connections_include_order.size() > 0) + sort(map_names.begin(), map_names.end(), [connections_include_order](const Json &a, const Json &b) { + auto iter_a = find(connections_include_order.begin(), connections_include_order.end(), a); + if (iter_a == connections_include_order.end()) + iter_a = connections_include_order.begin() + numeric_limits<int>::max(); + auto iter_b = find(connections_include_order.begin(), connections_include_order.end(), b); + if (iter_b == connections_include_order.end()) + iter_b = connections_include_order.begin() + numeric_limits<int>::max(); + return iter_a < iter_b; + }); + + ostringstream text; + + for (Json map_name : map_names) + text << "\t.include \"data/maps/" << map_name.string_value() << "/connections.inc\"\n"; + + return text.str(); +} + +string generate_headers_text(Json groups_data) { + vector<string> map_names; + + for (auto &group : groups_data["group_order"].array_items()) + for (auto map_name : groups_data[group.string_value()].array_items()) + map_names.push_back(map_name.string_value()); + + ostringstream text; + + for (string map_name : map_names) + text << "\t.include \"data/maps/" << map_name << "/header.inc\"\n"; + + return text.str(); +} + +string generate_events_text(Json groups_data) { + vector<string> map_names; + + for (auto &group : groups_data["group_order"].array_items()) + for (auto map_name : groups_data[group.string_value()].array_items()) + map_names.push_back(map_name.string_value()); + + ostringstream text; + + for (string map_name : map_names) + text << "\t.include \"data/maps/" << map_name << "/events.inc\"\n"; + + return text.str(); +} + +string generate_map_constants_text(string groups_filepath, Json groups_data) { + string file_dir = get_directory_name(groups_filepath); + char dir_separator = file_dir.back(); + + ostringstream text; + + text << "#ifndef GUARD_CONSTANTS_MAP_GROUPS_H\n" + << "#define GUARD_CONSTANTS_MAP_GROUPS_H\n\n"; + + int group_num = 0; + + for (auto &group : groups_data["group_order"].array_items()) { + text << "// Map Group " << group_num << "\n"; + vector<Json> map_ids; + size_t max_length = 0; + + for (auto &map_name : groups_data[group.string_value()].array_items()) { + string header_filepath = file_dir + map_name.string_value() + dir_separator + "map.json"; + string err_str; + Json map_data = Json::parse(read_text_file(header_filepath), err_str); + map_ids.push_back(map_data["id"]); + if (map_data["id"].string_value().length() > max_length) + max_length = map_data["id"].string_value().length(); + } + + int map_id_num = 0; + for (Json map_id : map_ids) { + text << "#define " << map_id.string_value() << string((max_length - map_id.string_value().length() + 1), ' ') + << "(" << map_id_num++ << " | (" << group_num << " << 8))\n"; + } + text << "\n"; + + group_num++; + } + + text << "#define MAP_GROUPS_COUNT " << group_num << "\n\n"; + text << "#endif // GUARD_CONSTANTS_MAP_GROUPS_H\n"; + + return text.str(); +} + +void process_groups(string groups_filepath) { + string err; + Json groups_data = Json::parse(read_text_file(groups_filepath), err); + + if (groups_data == Json()) + FATAL_ERROR("%s\n", err.c_str()); + + string groups_text = generate_groups_text(groups_data); + string connections_text = generate_connections_text(groups_data); + string headers_text = generate_headers_text(groups_data); + string events_text = generate_events_text(groups_data); + string map_header_text = generate_map_constants_text(groups_filepath, groups_data); + + string file_dir = get_directory_name(groups_filepath); + char s = file_dir.back(); + + write_text_file(file_dir + "groups.inc", groups_text); + write_text_file(file_dir + "connections.inc", connections_text); + write_text_file(file_dir + "headers.inc", headers_text); + write_text_file(file_dir + "events.inc", events_text); + write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "map_groups.h", map_header_text); +} + +string generate_layout_headers_text(Json layouts_data) { + ostringstream text; + + for (auto &layout : layouts_data["layouts"].array_items()) { + string border_label = layout["name"].string_value() + "_Border"; + string blockdata_label = layout["name"].string_value() + "_Blockdata"; + text << border_label << "::\n" + << "\t.incbin \"" << layout["border_filepath"].string_value() << "\"\n\n" + << blockdata_label << "::\n" + << "\t.incbin \"" << layout["blockdata_filepath"].string_value() << "\"\n\n" + << "\t.align 2\n" + << layout["name"].string_value() << "::\n" + << "\t.4byte " << layout["width"].int_value() << "\n" + << "\t.4byte " << layout["height"].int_value() << "\n" + << "\t.4byte " << border_label << "\n" + << "\t.4byte " << blockdata_label << "\n" + << "\t.4byte " << layout["primary_tileset"].string_value() << "\n" + << "\t.4byte " << layout["secondary_tileset"].string_value() << "\n\n"; + } + + return text.str(); +} + +string generate_layouts_table_text(Json layouts_data) { + ostringstream text; + + text << "\t.align 2\n" + << layouts_data["layouts_table_label"].string_value() << "::\n"; + + for (auto &layout : layouts_data["layouts"].array_items()) + text << "\t.4byte " << layout["name"].string_value() << "\n"; + + return text.str(); +} + +string generate_layouts_constants_text(Json layouts_data) { + ostringstream text; + + text << "#ifndef GUARD_CONSTANTS_LAYOUTS_H\n" + << "#define GUARD_CONSTANTS_LAYOUTS_H\n\n"; + + int i = 0; + for (auto &layout : layouts_data["layouts"].array_items()) + text << "#define " << layout["id"].string_value() << " " << ++i << "\n"; + + text << "\n#endif // GUARD_CONSTANTS_LAYOUTS_H\n"; + + return text.str(); +} + +void process_layouts(string layouts_filepath) { + string err; + Json layouts_data = Json::parse(read_text_file(layouts_filepath), err); + + if (layouts_data == Json()) + FATAL_ERROR("%s\n", err.c_str()); + + string layout_headers_text = generate_layout_headers_text(layouts_data); + string layouts_table_text = generate_layouts_table_text(layouts_data); + string layouts_constants_text = generate_layouts_constants_text(layouts_data); + + string file_dir = get_directory_name(layouts_filepath); + char s = file_dir.back(); + + write_text_file(file_dir + "layouts.inc", layout_headers_text); + write_text_file(file_dir + "layouts_table.inc", layouts_table_text); + write_text_file(file_dir + ".." + s + ".." + s + "include" + s + "constants" + s + "layouts.h", layouts_constants_text); +} + +int main(int argc, char *argv[]) { + if (argc < 3) + FATAL_ERROR("USAGE: mapjson <mode> <game-version> [options]\n"); + + char *version_arg = argv[2]; + string version(version_arg); + if (version != "emerald" && version != "ruby") + FATAL_ERROR("ERROR: <game-version> must be 'emerald' or 'ruby'.\n"); + + char *mode_arg = argv[1]; + string mode(mode_arg); + if (mode != "layouts" && mode != "map" && mode != "groups") + FATAL_ERROR("ERROR: <mode> must be 'layouts', 'map', or 'groups'.\n"); + + if (mode == "map") { + if (argc != 5) + FATAL_ERROR("USAGE: mapjson map <game-version> <map_file> <layouts_file>\n"); + + string filepath(argv[3]); + string layouts_filepath(argv[4]); + + process_map(filepath, layouts_filepath, version); + } + else if (mode == "groups") { + if (argc != 4) + FATAL_ERROR("USAGE: mapjson groups <game-version> <groups_file>\n"); + + string filepath(argv[3]); + + process_groups(filepath); + } + else if (mode == "layouts") { + if (argc != 4) + FATAL_ERROR("USAGE: mapjson layouts <game-version> <layouts_file>\n"); + + string filepath(argv[3]); + + process_layouts(filepath); + } + + return 0; +} diff --git a/tools/mapjson/mapjson.h b/tools/mapjson/mapjson.h new file mode 100644 index 000000000..6e961a28e --- /dev/null +++ b/tools/mapjson/mapjson.h @@ -0,0 +1,31 @@ +// mapjson.h + +#ifndef MAPJSON_H +#define MAPJSON_H + +#include <cstdio> +using std::fprintf; using std::exit; + +#include <cstdlib> + +#ifdef _MSC_VER + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, __VA_ARGS__); \ + exit(1); \ +} while (0) + +#else + +#define FATAL_ERROR(format, ...) \ +do \ +{ \ + fprintf(stderr, format, ##__VA_ARGS__); \ + exit(1); \ +} while (0) + +#endif // _MSC_VER + +#endif // MAPJSON_H diff --git a/tools/scaninc/Makefile b/tools/scaninc/Makefile index 367a3350b..53c9d0060 100644 --- a/tools/scaninc/Makefile +++ b/tools/scaninc/Makefile @@ -2,9 +2,9 @@ CXX = g++ CXXFLAGS = -Wall -Werror -std=c++11 -O2 -SRCS = scaninc.cpp c_file.cpp asm_file.cpp +SRCS = scaninc.cpp c_file.cpp asm_file.cpp source_file.cpp -HEADERS := scaninc.h asm_file.h c_file.h +HEADERS := scaninc.h asm_file.h c_file.h source_file.h .PHONY: clean diff --git a/tools/scaninc/asm_file.cpp b/tools/scaninc/asm_file.cpp index 6322749e2..109e604a2 100644 --- a/tools/scaninc/asm_file.cpp +++ b/tools/scaninc/asm_file.cpp @@ -64,7 +64,8 @@ IncDirectiveType AsmFile::ReadUntilIncDirective(std::string &path) IncDirectiveType incDirectiveType = IncDirectiveType::None; - if (PeekChar() == '.') + char c = PeekChar(); + if (c == '.' || c == '#') { m_pos++; diff --git a/tools/scaninc/scaninc.cpp b/tools/scaninc/scaninc.cpp index 3dc221479..b95cbd033 100644 --- a/tools/scaninc/scaninc.cpp +++ b/tools/scaninc/scaninc.cpp @@ -25,8 +25,7 @@ #include <set> #include <string> #include "scaninc.h" -#include "asm_file.h" -#include "c_file.h" +#include "source_file.h" bool CanOpenFile(std::string path) { @@ -46,7 +45,7 @@ int main(int argc, char **argv) std::queue<std::string> filesToProcess; std::set<std::string> dependencies; - std::list<std::string> includeDirs; + std::vector<std::string> includeDirs; argc--; argv++; @@ -63,7 +62,7 @@ int main(int argc, char **argv) argv++; includeDir = std::string(argv[0]); } - if (includeDir.back() != '/') + if (!includeDir.empty() && includeDir.back() != '/') { includeDir += '/'; } @@ -83,79 +82,36 @@ int main(int argc, char **argv) std::string initialPath(argv[0]); - std::size_t pos = initialPath.find_last_of('.'); + filesToProcess.push(initialPath); - if (pos == std::string::npos) - FATAL_ERROR("no file extension in path \"%s\"\n", initialPath.c_str()); - - std::string extension = initialPath.substr(pos + 1); - - std::string srcDir(""); - std::size_t slash = initialPath.rfind('/'); - if (slash != std::string::npos) - { - srcDir = initialPath.substr(0, slash + 1); - } - includeDirs.push_back(srcDir); - - if (extension == "c" || extension == "h") + while (!filesToProcess.empty()) { - filesToProcess.push(initialPath); + std::string filePath = filesToProcess.front(); + SourceFile file(filePath); + filesToProcess.pop(); - while (!filesToProcess.empty()) + includeDirs.push_back(file.GetSrcDir()); + for (auto incbin : file.GetIncbins()) { - CFile file(filesToProcess.front()); - filesToProcess.pop(); - - file.FindIncbins(); - for (auto incbin : file.GetIncbins()) - { - dependencies.insert(incbin); - } - for (auto include : file.GetIncludes()) + dependencies.insert(incbin); + } + for (auto include : file.GetIncludes()) + { + for (auto includeDir : includeDirs) { - for (auto includeDir : includeDirs) + std::string path(includeDir + include); + if (CanOpenFile(path)) { - std::string path(includeDir + include); - if (CanOpenFile(path)) + bool inserted = dependencies.insert(path).second; + if (inserted) { - bool inserted = dependencies.insert(path).second; - if (inserted) - { - filesToProcess.push(path); - } - break; + filesToProcess.push(path); } + break; } } } - } - else if (extension == "s" || extension == "inc") - { - filesToProcess.push(initialPath); - - while (!filesToProcess.empty()) - { - AsmFile file(filesToProcess.front()); - - filesToProcess.pop(); - - IncDirectiveType incDirectiveType; - std::string path; - - while ((incDirectiveType = file.ReadUntilIncDirective(path)) != IncDirectiveType::None) - { - bool inserted = dependencies.insert(path).second; - if (inserted - && incDirectiveType == IncDirectiveType::Include - && CanOpenFile(path)) - filesToProcess.push(path); - } - } - } - else - { - FATAL_ERROR("unknown extension \"%s\"\n", extension.c_str()); + includeDirs.pop_back(); } for (const std::string &path : dependencies) diff --git a/tools/scaninc/source_file.cpp b/tools/scaninc/source_file.cpp new file mode 100644 index 000000000..f23ff6db6 --- /dev/null +++ b/tools/scaninc/source_file.cpp @@ -0,0 +1,125 @@ +// Copyright(c) 2019 Phlosioneer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#include <new> +#include "source_file.h" + + +SourceFileType GetFileType(std::string& path) +{ + std::size_t pos = path.find_last_of('.'); + + if (pos == std::string::npos) + FATAL_ERROR("no file extension in path \"%s\"\n", path.c_str()); + + std::string extension = path.substr(pos + 1); + + if (extension == "c") + return SourceFileType::Cpp; + else if (extension == "s") + return SourceFileType::Asm; + else if (extension == "h") + return SourceFileType::Header; + else if (extension == "inc") + return SourceFileType::Inc; + else + FATAL_ERROR("Unrecognized extension \"%s\"\n", extension.c_str()); + + // Unreachable + return SourceFileType::Cpp; +} + +std::string GetDir(std::string& path) +{ + std::size_t slash = path.rfind('/'); + + if (slash != std::string::npos) + return path.substr(0, slash + 1); + else + return std::string(""); +} + +SourceFile::SourceFile(std::string path) +{ + m_file_type = GetFileType(path); + + m_src_dir = GetDir(path); + + if (m_file_type == SourceFileType::Cpp + || m_file_type == SourceFileType::Header) + { + new (&m_source_file.c_file) CFile(path); + m_source_file.c_file.FindIncbins(); + } + else + { + AsmFile file(path); + std::set<std::string> incbins; + std::set<std::string> includes; + + IncDirectiveType incDirectiveType; + std::string outputPath; + + while ((incDirectiveType = file.ReadUntilIncDirective(outputPath)) != IncDirectiveType::None) + { + if (incDirectiveType == IncDirectiveType::Include) + includes.insert(outputPath); + else + incbins.insert(outputPath); + } + + new (&m_source_file.asm_wrapper) SourceFile::InnerUnion::AsmWrapper{incbins, includes}; + } +} + +SourceFile::~SourceFile() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + { + m_source_file.c_file.~CFile(); + } + else + { + m_source_file.asm_wrapper.asm_incbins.~set(); + m_source_file.asm_wrapper.asm_includes.~set(); + } +} + +const std::set<std::string>& SourceFile::GetIncbins() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + return m_source_file.c_file.GetIncbins(); + else + return m_source_file.asm_wrapper.asm_incbins; +} + +const std::set<std::string>& SourceFile::GetIncludes() +{ + if (m_file_type == SourceFileType::Cpp || m_file_type == SourceFileType::Header) + return m_source_file.c_file.GetIncludes(); + else + return m_source_file.asm_wrapper.asm_includes; +} + +std::string& SourceFile::GetSrcDir() +{ + return m_src_dir; +} + diff --git a/tools/scaninc/source_file.h b/tools/scaninc/source_file.h new file mode 100644 index 000000000..f7b6412bd --- /dev/null +++ b/tools/scaninc/source_file.h @@ -0,0 +1,71 @@ +// Copyright(c) 2019 Phlosioneer +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#ifndef SOURCE_FILE_H +#define SOURCE_FILE_H + +#include <string> +#include "scaninc.h" +#include "asm_file.h" +#include "c_file.h" + +enum class SourceFileType +{ + Cpp, + Header, + Asm, + Inc +}; + +SourceFileType GetFileType(std::string& path); + +class SourceFile +{ +public: + + SourceFile(std::string path); + ~SourceFile(); + SourceFile(SourceFile const&) = delete; + SourceFile(SourceFile&&) = delete; + SourceFile& operator =(SourceFile const&) = delete; + SourceFile& operator =(SourceFile&&) = delete; + bool HasIncbins(); + const std::set<std::string>& GetIncbins(); + const std::set<std::string>& GetIncludes(); + std::string& GetSrcDir(); + +private: + union InnerUnion { + CFile c_file; + struct AsmWrapper { + std::set<std::string> asm_incbins; + std::set<std::string> asm_includes; + } asm_wrapper; + + // Construction and destruction handled by SourceFile. + InnerUnion() {}; + ~InnerUnion() {}; + } m_source_file; + SourceFileType m_file_type; + std::string m_src_dir; +}; + +#endif // SOURCE_FILE_H + |