diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-04-11 13:21:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-11 13:21:26 -0400 |
commit | c17af4853c5c5854170702292ebd573bc14b5b0e (patch) | |
tree | 4b10ee7f38e45cf1c0f74eafb1274afe70405155 | |
parent | 7f920b887f9a060524347b4cc3a5e3f3abdd3b03 (diff) | |
parent | 18b20721d91e811595491d70e9512ace654e4f5a (diff) |
Merge pull request #46 from PikalaxALT/oak_speech
Oak speech
103 files changed, 4463 insertions, 7728 deletions
diff --git a/asm/battle_1.s b/asm/battle_1.s index 72f5fe901..abaad7e85 100644 --- a/asm/battle_1.s +++ b/asm/battle_1.s @@ -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..e5827747b 100644 --- a/asm/battle_2.s +++ b/asm/battle_2.s @@ -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_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..050c42606 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 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_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_screen_effect.s b/asm/field_screen_effect.s index a8477a33f..734c7495d 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 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..5aa8a055c 100644 --- a/asm/hall_of_fame.s +++ b/asm/hall_of_fame.s @@ -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 @@ -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/intro.s b/asm/intro.s index af5104da3..5ec5cf131 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 @@ -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_menu.s b/asm/item_menu.s index d08021d15..4f753d49e 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 diff --git a/asm/item_pc.s b/asm/item_pc.s index 8d36ccc81..9d7c3af52 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 diff --git a/asm/link.s b/asm/link.s index a0ba7f9cb..13305edde 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 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..2631754c3 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 diff --git a/asm/main_menu.s b/asm/main_menu.s index ae0a4c69b..fa9e7ef20 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 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/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..dc175eefd 100644 --- a/asm/option_menu.s +++ b/asm/option_menu.s @@ -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..526b9f298 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -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..be2f0246c 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 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..ce2d3fa75 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 diff --git a/asm/pokemon_special_anim.s b/asm/pokemon_special_anim.s index fa72d3c8e..a5e8ba21b 100644 --- a/asm/pokemon_special_anim.s +++ b/asm/pokemon_special_anim.s @@ -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..d656ad188 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -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 @@ -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..3d0c545ef 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -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 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..0abdc979c 100644 --- a/asm/reshow_battle_screen.s +++ b/asm/reshow_battle_screen.s @@ -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/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..999874b6b 100644 --- a/asm/shop.s +++ b/asm/shop.s @@ -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 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..1cc3a7919 100644 --- a/asm/start_menu.s +++ b/asm/start_menu.s @@ -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 diff --git a/asm/teachy_tv.s b/asm/teachy_tv.s index 5e2b048e2..feba05e6d 100644 --- a/asm/teachy_tv.s +++ b/asm/teachy_tv.s @@ -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 diff --git a/asm/title_screen.s b/asm/title_screen.s index c07978623..e6f203e3b 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 @@ -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 index e942bbc32..d3b8d6320 100644 --- a/asm/tm_case.s +++ b/asm/tm_case.s @@ -152,7 +152,7 @@ _08131934: bl clear_scheduled_bg_copies_to_vram b _08131A52 _0813193E: - bl remove_some_task + bl ScanlineEffect_Stop b _08131A52 _08131944: bl FreeAllSpritePalettes diff --git a/asm/trainer_card.s b/asm/trainer_card.s index e44503915..2229c0b7d 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 @@ -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..c7be31ac9 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 @@ -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_814D5C8.s b/asm/unk_814D5C8.s index 4c78d4459..4e8bbd051 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: 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/wireless_communication_status_screen.s b/asm/wireless_communication_status_screen.s index b4aecb9a5..b5f357a83 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 diff --git a/data/data.s b/data/data.s index e17c041a2..6fed9c618 100644 --- a/data/data.s +++ b/data/data.s @@ -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 diff --git a/data/data_835B488.s b/data/data_835B488.s index 71e98b2ba..c5b533348 100644 --- a/data/data_835B488.s +++ b/data/data_835B488.s @@ -738,13 +738,22 @@ sFanfares:: @ 83AC990 .incbin "baserom.gba", 0x3AC990, 0x40 gUnknown_83AC9D0:: @ 83AC9D0 - .incbin "baserom.gba", 0x3AC9D0, 0x28 + .incbin "baserom.gba", 0x3AC9D0, 0x8 + +gUnknown_83AC9D8:: + .incbin "baserom.gba", 0x3AC9D8, 0x10 + +gUnknown_83AC9E8:: + .incbin "baserom.gba", 0x3AC9E8, 0x10 gUnknown_83AC9F8:: .incbin "baserom.gba", 0x3AC9F8, 0x8 gUnknown_83ACA00:: - .incbin "baserom.gba", 0x3ACA00, 0x208 + .incbin "baserom.gba", 0x3ACA00, 0xF8 + +gUnknown_83ACAF8:: + .incbin "baserom.gba", 0x3ACAF8, 0x110 gUnknown_83ACC08:: @ 83ACC08 .incbin "baserom.gba", 0x3ACC08, 0x440 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index a96e9ff70..96485c89e 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -587,14 +587,21 @@ gUnknown_8415CE8:: @ 8415CE8 .incbin "baserom.gba", 0x415CE8, 0x44 gUnknown_8415D2C:: @ 8415D2C - .incbin "baserom.gba", 0x415D2C, 0x1C + .string "CONTROLS$" + .align 2 +gUnknown_8415D38:: @ 8415D2C + .string "{KEYGFX_DPAD_UP_DOWN}えらぶ {KEYGFX_A_BUTTON}けってい$" + + .align 2 gUnknown_8415D48:: @ 8415D48 - .incbin "baserom.gba", 0x415D48, 0x8 + .string "{KEYGFX_A_BUTTON}NEXT$" + .align 2 gUnknown_8415D50:: @ 8415D50 - .incbin "baserom.gba", 0x415D50, 0x10 + .string "{KEYGFX_A_BUTTON}NEXT {KEYGFX_B_BUTTON}BACK$" + .align 2 gUnknown_8415D60:: @ 8415D60 .incbin "baserom.gba", 0x415D60, 0x18 diff --git a/data/data_845FD54.s b/data/data_845FD54.s index d05e14570..52b6dcb1f 100644 --- a/data/data_845FD54.s +++ b/data/data_845FD54.s @@ -1,112 +1,10 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + .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 - + @ tm_case gUnknown_8463134:: @ 8463134 .incbin "baserom.gba", 0x463134, 0xC diff --git a/data/event_scripts.s b/data/event_scripts.s index 23f6ad5a9..7d4a7b996 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -429,49 +429,239 @@ gUnknown_81C566A:: @ 81C566A .incbin "baserom.gba", 0x1C566A, 0xE5 gUnknown_81C574F:: @ 81C574F - .incbin "baserom.gba", 0x1C574F, 0xDE + .string "NEW NAME$" + +gUnknown_81C5758:: @ 81C5758 + .string "GREEN$" + +gUnknown_81C575E:: @ 81C575E + .string "RED$" + +gUnknown_81C5762:: @ 81C5762 + .string "LEAF$" + +gUnknown_81C5767:: @ 81C5767 + .string "FIRE$" + +gUnknown_81C576C:: @ 81C576C + .string "GARY$" + +gUnknown_81C5771:: @ 81C5771 + .string "KAZ$" + +gUnknown_81C5775:: @ 81C5775 + .string "TORU$" + +gUnknown_81C577A:: @ 81C577A + .string "ASH$" + +gUnknown_81C577E:: @ 81C577E + .string "KENE$" + +gUnknown_81C5783:: @ 81C5783 + .string "GEKI$" + +gUnknown_81C5788:: @ 81C5788 + .string "JAK$" + +gUnknown_81C578C:: @ 81C578C + .string "JANNE$" + +gUnknown_81C5792:: @ 81C5792 + .string "JONN$" + +gUnknown_81C5797:: @ 81C5797 + .string "KAMON$" + +gUnknown_81C579D:: @ 81C579D + .string "KARL$" + +gUnknown_81C57A2:: @ 81C57A2 + .string "TAYLOR$" + +gUnknown_81C57A9:: @ 81C57A9 + .string "OSCAR$" + +gUnknown_81C57AF:: @ 81C57AF + .string "HIRO$" + +gUnknown_81C57B4:: @ 81C57B4 + .string "MAX$" + +gUnknown_81C57B8:: @ 81C57B8 + .string "JON$" + +gUnknown_81C57BC:: @ 81C57BC + .string "RALPH$" + +gUnknown_81C57C2:: @ 81C57C2 + .string "KAY$" + +gUnknown_81C57C6:: @ 81C57C6 + .string "TOSH$" + +gUnknown_81C57CB:: @ 81C57CB + .string "ROAK$" + +gUnknown_81C57D0:: @ 81C57D0 + .string "OMI$" + +gUnknown_81C57D4:: @ 81C57D4 + .string "JODI$" + +gUnknown_81C57D9:: @ 81C57D9 + .string "AMANDA$" + +gUnknown_81C57E0:: @ 81C57E0 + .string "HILLARY$" + +gUnknown_81C57E8:: @ 81C57E8 + .string "MAKEY$" + +gUnknown_81C57EE:: @ 81C57EE + .string "MICHI$" + +gUnknown_81C57F4:: @ 81C57F4 + .string "PAULA$" + +gUnknown_81C57FA:: @ 81C57FA + .string "JUNE$" + +gUnknown_81C57FF:: @ 81C57FF + .string "CASSIE$" + +gUnknown_81C5806:: @ 81C5806 + .string "REY$" + +gUnknown_81C580A:: @ 81C580A + .string "SEDA$" + +gUnknown_81C580F:: @ 81C580F + .string "KIKO$" + +gUnknown_81C5814:: @ 81C5814 + .string "MINA$" + +gUnknown_81C5819:: @ 81C5819 + .string "NORIE$" + +gUnknown_81C581F:: @ 81C581F + .string "SAI$" + +gUnknown_81C5823:: @ 81C5823 + .string "MOMO$" + +gUnknown_81C5828:: @ 81C5828 + .string "SUZI$" gUnknown_81C582D:: @ 81C582D - .incbin "baserom.gba", 0x1C582D, 0x1A8 + .string "The various buttons will be explained in\n" + .string "the order of their importance.$" + +gUnknown_81C5875:: @ 81C5875 + .string "Moves the main character.\n" + .string "Also used to choose various data\n" + .string "headings.$" + +gUnknown_81C58BA:: @ 81C58BA + .string "Used to confirm a choice, check\n" + .string "things, chat, and scroll text.$" + +gUnknown_81C58F9:: @ 81C58F9 + .string "Used to exit, cancel a choice,\n" + .string "and cancel a mode.$" + +gUnknown_81C592B:: @ 81C592B + .string "Press this button to open the\n" + .string "MENU.$" + +gUnknown_81C594F:: @ 81C594F + .string "Used to shift items and to use\n" + .string "a registered item.$" + +gUnknown_81C5981:: @ 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_81C59D5:: @ 81C59D5 - .incbin "baserom.gba", 0x1C59D5, 0x2A3 + .string "Now tell me. Are you a boy?\n" + .string "Or are you a girl?$" + +gUnknown_81C5A04:: + .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_81C5AEB:: + .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_81C5BB9:: + .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!$" gUnknown_81C5C78:: @ 81C5C78 - .incbin "baserom.gba", 0x1C5C78, 0x8E + .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_81C5D06:: @ 81C5D06 - .incbin "baserom.gba", 0x1C5D06, 0xC + .string "This world…$" gUnknown_81C5D12:: @ 81C5D12 - .incbin "baserom.gba", 0x1C5D12, 0x39 + .string "…is inhabited far and wide by\n" + .string "creatures called POKéMON.\p$" gUnknown_81C5D4B:: @ 81C5D4B - .incbin "baserom.gba", 0x1C5D4B, 0x72 + .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$" gUnknown_81C5DBD:: @ 81C5DBD - .incbin "baserom.gba", 0x1C5DBD, 0x2D + .string "But first, tell me a little about\n" + .string "yourself.\p$" gUnknown_81C5DEA:: @ 81C5DEA - .incbin "baserom.gba", 0x1C5DEA, 0x29 + .string "Let’s begin with your name.\n" + .string "What is it?\p$" gUnknown_81C5E13:: @ 81C5E13 - .incbin "baserom.gba", 0x1C5E13, 0x1B + .string "Right…\n" + .string "So your name is {PLAYER}.$" gUnknown_81C5E2E:: @ 81C5E2E - .incbin "baserom.gba", 0x1C5E2E, 0x63 + .string "This is my grandson.\pHe’s been your rival since you both\n" + .string "were babies.\p…Erm, what was his name now?$" gUnknown_81C5E91:: @ 81C5E91 - .incbin "baserom.gba", 0x1C5E91, 0x24 + .string "Your rival’s name, what was it now?$" gUnknown_81C5EB5:: @ 81C5EB5 - .incbin "baserom.gba", 0x1C5EB5, 0x10 + .string "…Er, was it {RIVAL}?$" gUnknown_81C5EC5:: @ 81C5EC5 - .incbin "baserom.gba", 0x1C5EC5, 0x2F + .string "That’s right! I remember now!\n" + .string "His name is {RIVAL}!\p$" gUnknown_81C5EF4:: @ 81C5EF4 - .incbin "baserom.gba", 0x1C5EF4, 0x75 + .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 diff --git a/data/oak_speech/unk_8460568.pal b/data/oak_speech/unk_8460568.pal new file mode 100644 index 000000000..b6905b913 --- /dev/null +++ b/data/oak_speech/unk_8460568.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/unk_84605E8.png b/data/oak_speech/unk_84605E8.png Binary files differnew file mode 100644 index 000000000..419858b1b --- /dev/null +++ b/data/oak_speech/unk_84605E8.png diff --git a/data/oak_speech/unk_8460BA8.bin b/data/oak_speech/unk_8460BA8.bin new file mode 100644 index 000000000..ad1c8216c --- /dev/null +++ b/data/oak_speech/unk_8460BA8.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/unk_8460CA4.png b/data/oak_speech/unk_8460CA4.png Binary files differnew file mode 100644 index 000000000..30066cdd8 --- /dev/null +++ b/data/oak_speech/unk_8460CA4.png diff --git a/data/oak_speech/unk_8460CE8.bin b/data/oak_speech/unk_8460CE8.bin Binary files differnew file mode 100644 index 000000000..64374cd24 --- /dev/null +++ b/data/oak_speech/unk_8460CE8.bin diff --git a/data/oak_speech/unk_8460ED4.pal b/data/oak_speech/unk_8460ED4.pal new file mode 100644 index 000000000..feb1214a1 --- /dev/null +++ b/data/oak_speech/unk_8460ED4.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/unk_84615FC.pal b/data/oak_speech/unk_84615FC.pal new file mode 100644 index 000000000..7eec09831 --- /dev/null +++ b/data/oak_speech/unk_84615FC.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/unk_8461CD4.pal b/data/oak_speech/unk_8461CD4.pal new file mode 100644 index 000000000..a0b648b2b --- /dev/null +++ b/data/oak_speech/unk_8461CD4.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/unk_84623AC.pal b/data/oak_speech/unk_84623AC.pal new file mode 100644 index 000000000..8240527a6 --- /dev/null +++ b/data/oak_speech/unk_84623AC.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/unk_84629D0.pal b/data/oak_speech/unk_84629D0.pal new file mode 100644 index 000000000..4fb339128 --- /dev/null +++ b/data/oak_speech/unk_84629D0.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/unk_84629F0.pal b/data/oak_speech/unk_84629F0.pal new file mode 100644 index 000000000..4d2e92c74 --- /dev/null +++ b/data/oak_speech/unk_84629F0.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/oak_speech/unk_8462A10.png b/data/oak_speech/unk_8462A10.png Binary files differnew file mode 100644 index 000000000..324529e90 --- /dev/null +++ b/data/oak_speech/unk_8462A10.png diff --git a/data/oak_speech/unk_8462B74.png b/data/oak_speech/unk_8462B74.png Binary files differnew file mode 100644 index 000000000..674cef46d --- /dev/null +++ b/data/oak_speech/unk_8462B74.png diff --git a/data/oak_speech/unk_8462D34.png b/data/oak_speech/unk_8462D34.png Binary files differnew file mode 100644 index 000000000..56715aadb --- /dev/null +++ b/data/oak_speech/unk_8462D34.png diff --git a/data/oak_speech/unk_8462E18.png b/data/oak_speech/unk_8462E18.png Binary files differnew file mode 100644 index 000000000..f6796f724 --- /dev/null +++ b/data/oak_speech/unk_8462E18.png 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/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..d925f4b52 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 gUnknown_81C574F[]; +extern const u8 gUnknown_81C5758[]; +extern const u8 gUnknown_81C575E[]; +extern const u8 gUnknown_81C575E[]; +extern const u8 gUnknown_81C5767[]; +extern const u8 gUnknown_81C5767[]; +extern const u8 gUnknown_81C576C[]; +extern const u8 gUnknown_81C5771[]; +extern const u8 gUnknown_81C5775[]; +extern const u8 gUnknown_81C577A[]; +extern const u8 gUnknown_81C577E[]; +extern const u8 gUnknown_81C5783[]; +extern const u8 gUnknown_81C5788[]; +extern const u8 gUnknown_81C578C[]; +extern const u8 gUnknown_81C5792[]; +extern const u8 gUnknown_81C5797[]; +extern const u8 gUnknown_81C579D[]; +extern const u8 gUnknown_81C57A2[]; +extern const u8 gUnknown_81C57A9[]; +extern const u8 gUnknown_81C57AF[]; +extern const u8 gUnknown_81C57B4[]; +extern const u8 gUnknown_81C57B8[]; +extern const u8 gUnknown_81C57BC[]; +extern const u8 gUnknown_81C57C2[]; +extern const u8 gUnknown_81C57C6[]; +extern const u8 gUnknown_81C57CB[]; +extern const u8 gUnknown_81C57D0[]; +extern const u8 gUnknown_81C57D4[]; +extern const u8 gUnknown_81C57D9[]; +extern const u8 gUnknown_81C57E0[]; +extern const u8 gUnknown_81C57E8[]; +extern const u8 gUnknown_81C57EE[]; +extern const u8 gUnknown_81C57F4[]; +extern const u8 gUnknown_81C57FA[]; +extern const u8 gUnknown_81C57FF[]; +extern const u8 gUnknown_81C5806[]; +extern const u8 gUnknown_81C580A[]; +extern const u8 gUnknown_81C580F[]; +extern const u8 gUnknown_81C5814[]; +extern const u8 gUnknown_81C5819[]; +extern const u8 gUnknown_81C581F[]; +extern const u8 gUnknown_81C5823[]; +extern const u8 gUnknown_81C5828[]; +extern const u8 gUnknown_81C582D[]; +extern const u8 gUnknown_81C5875[]; +extern const u8 gUnknown_81C58BA[]; +extern const u8 gUnknown_81C58F9[]; +extern const u8 gUnknown_81C592B[]; +extern const u8 gUnknown_81C594F[]; +extern const u8 gUnknown_81C5981[]; +extern const u8 gUnknown_81C59D5[]; +extern const u8 gUnknown_81C5A04[]; +extern const u8 gUnknown_81C5AEB[]; +extern const u8 gUnknown_81C5BB9[]; +extern const u8 gUnknown_81C5C78[]; +extern const u8 gUnknown_81C5D06[]; +extern const u8 gUnknown_81C5D12[]; +extern const u8 gUnknown_81C5D4B[]; +extern const u8 gUnknown_81C5DBD[]; +extern const u8 gUnknown_81C5DEA[]; +extern const u8 gUnknown_81C5E13[]; +extern const u8 gUnknown_81C5E2E[]; +extern const u8 gUnknown_81C5E91[]; +extern const u8 gUnknown_81C5EB5[]; +extern const u8 gUnknown_81C5EC5[]; +extern const u8 gUnknown_81C5EF4[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/help_system.h b/include/help_system.h index 632788148..0192809fc 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -6,5 +6,6 @@ extern bool8 gUnknown_3005ECC; void sub_812B484(void); +void sub_812B1F0(u8); #endif //GUARD_HELP_SYSTEM_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..3394603c8 100644 --- a/include/menu.h +++ b/include/menu.h @@ -38,5 +38,12 @@ 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 sub_810F558(u8, u8, u8, u8, u16); +void sub_810F650(const u8 *, const u8 *, u8, u32, u8); +void sub_810F5E8(const u8 *, u32, u8); +void sub_810F71C(void); +void sub_810F740(void); +void sub_810F7D8(u8, u8, u8, u8, u8, u8, u8); +void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8); #endif // GUARD_MENU_H diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index e22f89f44..0157896cb 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -24,5 +24,10 @@ 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 sub_80F6C6C(void); +void sub_80F6C98(void); +void sub_80F77CC(u16); +void * malloc_and_decompress(const void * src, u32 * size); +u16 sub_80F796C(void); #endif // GUARD_NEW_MENU_HELPERS_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/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..c08f37b5f 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -673,5 +673,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..f6226f40d 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 sub_8044AF0(u8, u8); +void sub_8044D80(void); +void * sub_8044E00(u8 buffId); #endif // GUARD_POKEMON_3_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/text.h b/include/text.h index e127f103a..c8835fbde 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 sub_8006300(u8 sheetId, u16 x, u16 y, u8 priority, u8 subpriority); +void sub_8006398(u8 spriteId); #endif // GUARD_TEXT_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/ld_script.txt b/ld_script.txt index b342f0b8a..d5ed81e21 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -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); @@ -228,7 +228,7 @@ SECTIONS { src/quest_log_battle.o(.text); src/fame_checker.o(.text); asm/menu2.o(.text); - asm/oak_speech.o(.text); + src/oak_speech.o(.text); asm/tm_case.o(.text); asm/menu_indicators.o(.text); asm/pokedex_area_markers.o(.text); @@ -382,6 +382,7 @@ SECTIONS { src/quest_log.o(.rodata); data/data_83FECCC.o(.rodata.8456C74); src/fame_checker.o(.rodata); + src/oak_speech.o(.rodata); data/data_845FD54.o(.rodata); src/mevent.o(.rodata); src/mevent_server_helpers.o(.rodata); diff --git a/src/fame_checker.c b/src/fame_checker.c index bbbe02c58..855e9d157 100644 --- a/src/fame_checker.c +++ b/src/fame_checker.c @@ -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/oak_speech.c b/src/oak_speech.c new file mode 100644 index 000000000..f400c6dbb --- /dev/null +++ b/src/oak_speech.c @@ -0,0 +1,2393 @@ +#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 "constants/species.h" +#include "constants/songs.h" + +struct OakSpeechResources +{ + void * unk_0000; + void * unk_0004; + void * unk_0008; + u8 filler_000C[4]; + u16 unk_0010; + u16 unk_0012; + u16 unk_0014[4]; + u8 unk_001C[3]; + u8 unk_001F; + u8 filler_0020[0x1800]; + u8 bg2TilemapBuffer[0x400]; + u8 bg1TilemapBuffer[0x800]; +}; //size=0x2420 + +EWRAM_DATA struct OakSpeechResources * sOakSpeechResources = NULL; + +void sub_812E9F8(u8 taskId); +void sub_812EB58(u8 taskId); +void sub_812EEB0(void); +void sub_812F0B0(u8 taskId); +void sub_812F180(u8 taskId); +void sub_812F274(u8 taskId); +void sub_812F33C(u8 taskId); +void sub_812F4A8(u8 taskId); +void sub_812F72C(u8 taskId); +void sub_812F7C0(u8 taskId); +void sub_812F880(u8 taskId); +void sub_812F880(u8 taskId); +void sub_812F944(u8 taskId); +void sub_812F9EC(u8 taskId); +void sub_812FA78(u8 taskId); +void sub_812FB4C(u8 taskId); +void sub_812FBF0(u8 taskId); +void sub_812FC68(u8 taskId); +void sub_812FD78(u8 taskId); +void sub_812FDC0(u8 taskId); +void sub_812FE88(u8 taskId); +void sub_812FFA4(u8 taskId); +void sub_812FFF0(u8 taskId); +void sub_8130050(u8 taskId); +void sub_81300A0(u8 taskId); +void sub_8130160(u8 taskId); +void sub_8130324(u8 taskId); +void sub_81303B4(u8 taskId); +void sub_8130464(u8 taskId); +void sub_8130554(u8 taskId); +void sub_8130650(u8 taskId); +void sub_8130694(u8 taskId); +void sub_81306D4(u8 taskId); +void sub_813071C(u8 taskId); +void sub_81307D0(u8 taskId); +void sub_8130858(u8 taskId); +void sub_81308D0(u8 taskId); +void sub_8130914(u8 taskId); +void sub_8130940(u8 taskId); +void sub_8130980(u8 taskId); +void sub_8130A38(u8 taskId); +void sub_8130A80(u8 taskId); +void sub_8130ADC(u8 taskId); +void sub_8130B10(u8 taskId); +void sub_8130BA8(u8 taskId); +void sub_8130BF0(u8 taskId); +void sub_8130C20(u8 taskId); + +static void CB2_ReturnFromNamingScreen(void); +static void CreateNidoranFSprite(u8 taskId); +void sub_8130FD4(u8 taskId, u8 state); +void sub_8131168(u8 taskId, u8 state); +void sub_81311F4(u16 whichPic, u16 tileOffset); +void sub_8131310(void); +void sub_813144C(u8 taskId, u8 state); +void sub_81315CC(u8 taskId, u8 state); +void sub_8131660(u8 taskId, u8 state); +void sub_8131754(u8 arg0, u8 namePick); + +extern const u8 gUnknown_8415D2C[]; +extern const u8 gUnknown_8415D48[]; +extern const u8 gUnknown_8415D50[]; +extern const u8 gUnknown_8415D93[]; +extern const u8 gUnknown_8415D97[]; + +extern const struct CompressedSpriteSheet gUnknown_8235194[]; +extern const struct CompressedSpritePalette gUnknown_82373F4; + +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} +}; + +ALIGNED(4) const u16 gUnknown_8460568[] = INCBIN_U16("data/oak_speech/unk_8460568.gbapal"); +const u32 gUnknown_84605E8[] = INCBIN_U32("data/oak_speech/unk_84605E8.4bpp.lz"); +const u32 gUnknown_8460BA8[] = INCBIN_U32("data/oak_speech/unk_8460BA8.bin.lz"); +const u32 gUnknown_8460CA4[] = INCBIN_U32("data/oak_speech/unk_8460CA4.4bpp.lz"); +const u32 gUnknown_8460CE8[] = INCBIN_U32("data/oak_speech/unk_8460CE8.bin.lz"); +const u16 gUnknown_8460D94[] = INCBIN_U16("data/oak_speech/unk_8460D94.bin"); +const u16 gUnknown_8460E34[] = INCBIN_U16("data/oak_speech/unk_8460E34.bin"); +const u16 gUnknown_8460ED4[] = INCBIN_U16("data/oak_speech/unk_8460ED4.gbapal"); +const u32 gUnknown_8460F14[] = INCBIN_U32("data/oak_speech/unk_8460F14.8bpp.lz"); +const u16 gUnknown_84615FC[] = INCBIN_U16("data/oak_speech/unk_84615FC.gbapal"); +const u32 gUnknown_846163C[] = INCBIN_U32("data/oak_speech/unk_846163C.8bpp.lz"); +const u16 gUnknown_8461CD4[] = INCBIN_U16("data/oak_speech/unk_8461CD4.gbapal"); +const u32 gUnknown_8461D14[] = INCBIN_U32("data/oak_speech/unk_8461D14.8bpp.lz"); +const u16 gUnknown_84623AC[] = INCBIN_U16("data/oak_speech/unk_84623AC.gbapal"); +const u32 gUnknown_84623EC[] = INCBIN_U32("data/oak_speech/unk_84623EC.8bpp.lz"); +const u16 gUnknown_84629D0[] = INCBIN_U16("data/oak_speech/unk_84629D0.gbapal"); +const u16 gUnknown_84629F0[] = INCBIN_U16("data/oak_speech/unk_84629F0.gbapal"); +const u32 gUnknown_8462A10[] = INCBIN_U32("data/oak_speech/unk_8462A10.4bpp.lz"); +const u32 gUnknown_8462B74[] = INCBIN_U32("data/oak_speech/unk_8462B74.4bpp.lz"); +const u32 gUnknown_8462D34[] = INCBIN_U32("data/oak_speech/unk_8462D34.4bpp.lz"); +const u32 gUnknown_8462E18[] = INCBIN_U32("data/oak_speech/unk_8462E18.4bpp.lz"); + +const struct BgTemplate gUnknown_8462E58[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 + } +}; + +const struct WindowTemplate gUnknown_8462E64[] = { + { + .priority = 0x00, + .tilemapLeft = 0x00, + .tilemapTop = 0x07, + .width = 0x1e, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x0001 + }, DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_8462E74[] = { + { + .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 +}; + +const struct WindowTemplate gUnknown_8462E94[] = { + { + .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 +}; + +const struct WindowTemplate *const gUnknown_8462EB4[3] = { + gUnknown_8462E64, + gUnknown_8462E74, + gUnknown_8462E94 +}; + +const struct WindowTemplate gUnknown_8462EC0[] = { + { + .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 gUnknown_8462EE8 = { + 0x00, 0x01, 0x02 +}; + +ALIGNED(4) const struct TextColor gUnknown_8462EEC = { + 0x00, 0x02, 0x03 +}; + +const u8 *const gUnknown_8462EF0[] = { + gUnknown_81C5A04, + gUnknown_81C5AEB, + gUnknown_81C5BB9 +}; + +const struct CompressedSpriteSheet gUnknown_8462EFC[3] = { + { (const void *)gUnknown_8462B74, 0x0400, 0x1001 }, + { (const void *)gUnknown_8462D34, 0x0200, 0x1002 }, + { (const void *)gUnknown_8462E18, 0x0080, 0x1003 }, +}; + +const struct CompressedSpriteSheet gUnknown_8462F14 = { + (const void *)gUnknown_8462A10, 0x0600, 0x1000 +}; + +const struct SpritePalette gUnknown_8462F1C = { + (const void *)gUnknown_84629F0, 0x1001 +}; +const struct SpritePalette gUnknown_8462F24 = { + (const void *)gUnknown_84629D0, 0x1000 +}; + +const union AnimCmd gUnknown_8462F2C[] = { + ANIMCMD_FRAME( 0, 0), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_8462F34[] = { + ANIMCMD_FRAME(16, 0), + ANIMCMD_END +}; + +const union AnimCmd gUnknown_8462F3C[] = { + ANIMCMD_FRAME(32, 0), + ANIMCMD_END +}; + +const union AnimCmd *const gUnknown_8462F44[] = { + gUnknown_8462F2C +}; +const union AnimCmd *const gUnknown_8462F48[] = { + gUnknown_8462F34 +}; +const union AnimCmd *const gUnknown_8462F4C[] = { + gUnknown_8462F3C +}; + +extern const struct OamData gUnknown_83ACAF8; + +const struct SpriteTemplate gUnknown_8462F50[3] = { + { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1000, 0x1000, &gUnknown_83ACAF8, gUnknown_8462F4C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, +}; + +const union AnimCmd gUnknown_8462F98[] = { + ANIMCMD_FRAME( 0, 30), + ANIMCMD_FRAME(16, 30), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gUnknown_8462FA4[] = { + 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) +}; + +const union AnimCmd gUnknown_8462FE4[] = { + 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) +}; + +const union AnimCmd *const gUnknown_8463020[] = { + gUnknown_8462F98 +}; +const union AnimCmd *const gUnknown_8463024[] = { + gUnknown_8462FA4 +}; +const union AnimCmd *const gUnknown_8463028[] = { + gUnknown_8462FE4 +}; + +extern const struct OamData gUnknown_83AC9D8; +extern const struct OamData gUnknown_83AC9F8; +extern const struct OamData gUnknown_83AC9E8; + +const struct SpriteTemplate gUnknown_846302C[3] = { + { 0x1001, 0x1001, &gUnknown_83AC9D8, gUnknown_8463020, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1002, 0x1001, &gUnknown_83AC9F8, gUnknown_8463024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }, + { 0x1003, 0x1001, &gUnknown_83AC9E8, gUnknown_8463028, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy } +}; + +const u8 *const gUnknown_8463074[] = { + gUnknown_81C5875, + gUnknown_81C58BA, + gUnknown_81C58F9, + gUnknown_81C592B, + gUnknown_81C594F, + gUnknown_81C5981 +}; + +const u8 *const gUnknown_846308C[] = { + gUnknown_81C575E, + gUnknown_81C5767, + gUnknown_81C577A, + gUnknown_81C577E, + gUnknown_81C5783, + gUnknown_81C5788, + gUnknown_81C578C, + gUnknown_81C5792, + gUnknown_81C5797, + gUnknown_81C579D, + gUnknown_81C57A2, + gUnknown_81C57A9, + gUnknown_81C57AF, + gUnknown_81C57B4, + gUnknown_81C57B8, + gUnknown_81C57BC, + gUnknown_81C57C2, + gUnknown_81C57C6, + gUnknown_81C57CB +}; + +const u8 *const gUnknown_84630D8[] = { + gUnknown_81C575E, + gUnknown_81C5767, + gUnknown_81C57D0, + gUnknown_81C57D4, + gUnknown_81C57D9, + gUnknown_81C57E0, + gUnknown_81C57E8, + gUnknown_81C57EE, + gUnknown_81C57F4, + gUnknown_81C57FA, + gUnknown_81C57FF, + gUnknown_81C5806, + gUnknown_81C580A, + gUnknown_81C580F, + gUnknown_81C5814, + gUnknown_81C5819, + gUnknown_81C581F, + gUnknown_81C5823, + gUnknown_81C5828 +}; + +const u8 *const gUnknown_8463124[] = { + gUnknown_81C5758, + gUnknown_81C576C, + gUnknown_81C5771, + gUnknown_81C5775 +}; + + +void sub_812E944(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) +{ + u8 taskId = CreateTask(sub_812E9F8, a5); + gTasks[taskId].data[0] = a0 << 8; + gTasks[taskId].data[1] = a1 << 8; + gTasks[taskId].data[2] = a2; + gTasks[taskId].data[3] = a3; + gTasks[taskId].data[4] = (a2 - a0) * 256 / a4; + gTasks[taskId].data[5] = (a3 - a1) * 256 / a4; + gTasks[taskId].data[8] = a4; + SetGpuReg(REG_OFFSET_BLDALPHA, (a1 << 8) | a0); +} + +bool8 sub_812E9E4(void) +{ + return FuncIsActiveTask(sub_812E9F8); +} + +void sub_812E9F8(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[8] != 0) + { + if (data[6] == 0) + { + data[0] += data[4]; + data[6] = 1; + } + else + { + if (--data[8] != 0) + { + data[1] += data[5]; + } + else + { + data[0] = data[2] << 8; + data[1] = data[3] << 8; + } + data[6] = 0; + } + SetGpuReg(REG_OFFSET_BLDALPHA, (data[1] & ~0xFF) | ((u16)data[0] >> 8)); + if (data[8] == 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; +} + +void sub_812EAFC(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_812EB10(void) +{ + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_812EB2C(void) +{ + gPlttBufferUnfaded[0] = RGB_BLACK; + gPlttBufferFaded[0] = RGB_BLACK; + CreateTask(sub_812EB58, 0); + SetMainCallback2(sub_812EB10); +} + +void sub_812EB58(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(); + sub_812B1F0(2); + break; + case 1: + sOakSpeechResources = AllocZeroed(sizeof(*sOakSpeechResources)); + sub_8044AF0(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, gUnknown_8462E58, NELEMS(gUnknown_8462E58)); + 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; + sub_80F6C6C(); + sub_80F6C98(); + sub_80F77CC(0xD0); + LoadPalette(gUnknown_8460568, 0x000, 0x080); + LoadPalette(stdpal_get(2) + 15, 0x000, 0x002); + break; + case 5: + sOakSpeechResources->unk_001F = sub_80F78A8(); + gTextFlags.flag_0 = TRUE; + decompress_and_copy_tile_data_to_vram(1, gUnknown_84605E8, 0, 0, 0); + break; + case 6: + if (free_temp_tile_data_buffers_if_possible()) + return; + sub_80F6F54(0, 1); + FillBgTilemapBufferRect_Palette0(1, 0x0000, 0, 0, 32, 32); + CopyBgTilemapBufferToVram(1); + break; + case 7: + sub_810F558(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); + sub_812EEB0(); + gPaletteFade.bufferTransferDisabled = FALSE; + gTasks[taskId].data[5] = sub_8006300(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(sub_812EAFC); + PlayBGM(323); + gTasks[taskId].func = sub_812F0B0; + gMain.state = 0; + return; + } + + gMain.state++; +} + +void sub_812EEB0(void) +{ + sub_810F650(gUnknown_8415D2C, gUnknown_8415D48, 0, 0, 1); + sOakSpeechResources->unk_0014[0] = AddWindow(gUnknown_8462EB4[sOakSpeechResources->unk_0012]); + PutWindowTilemap(sOakSpeechResources->unk_0014[0]); + FillWindowPixelBuffer(sOakSpeechResources->unk_0014[0], 0x00); + AddTextPrinterParametrized2(sOakSpeechResources->unk_0014[0], 2, 2, 0, 1, 1, &gUnknown_8462EE8, 0, gUnknown_81C582D); + CopyWindowToVram(sOakSpeechResources->unk_0014[0], 3); + FillBgTilemapBufferRect_Palette0(1, 0x3000, 1, 3, 5, 16); + CopyBgTilemapBufferToVram(1); +} + +void sub_812EF50(u8 taskId) +{ + u8 i = 0; + u8 r7 = sOakSpeechResources->unk_0012 - 1; + if (sOakSpeechResources->unk_0012 == 0) + { + sub_812EEB0(); + } + else + { + sub_810F5E8(gUnknown_8415D50, 0, 1); + for (i = 0; i < 3; i++) + { + sOakSpeechResources->unk_0014[i] = AddWindow(&gUnknown_8462EB4[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, &gUnknown_8462EE8, 0, gUnknown_8463074[i + r7 * 3]); + CopyWindowToVram(sOakSpeechResources->unk_0014[i], 3); + } + + if (sOakSpeechResources->unk_0012 == 1) + { + CopyToBgTilemapBufferRect(1, gUnknown_8460D94, 1, 3, 5, 16); + } + else + { + CopyToBgTilemapBufferRect(1, gUnknown_8460E34, 1, 3, 5, 16); + } + CopyBgTilemapBufferToVram(1); + } + BeginNormalPaletteFade(0xFFFFDFFF, -1, 16, 0, stdpal_get(2)[15]); + gTasks[taskId].func = sub_812F0B0; +} + +void sub_812F0B0(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 = sub_812F180; +} + +void sub_812F180(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 = sub_812EF50; + } + else + { + BeginNormalPaletteFade(0xFFFFFFFF, 2, 0, 16, 0); + gTasks[taskId].func = sub_812F274; + } + } +} + +void sub_812F274(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 = sub_812F33C; + } +} + +void sub_812F33C(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u32 sp14 = 0; + + if (data[3] != 0) + data[3]--; + else + { + PlayBGM(324); + sub_810F71C(); + sub_810F5E8(gUnknown_8415D48, 0, 1); + sOakSpeechResources->unk_0008 = malloc_and_decompress(gUnknown_8460BA8, &sp14); + CopyToBgTilemapBufferRect(1, sOakSpeechResources->unk_0008, 0, 2, 30, 19); + CopyBgTilemapBufferToVram(1); + Free(sOakSpeechResources->unk_0008); + sOakSpeechResources->unk_0008 = NULL; + data[14] = AddWindow(&gUnknown_8462EC0[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, &gUnknown_8462EEC, 0, gUnknown_8462EF0[0]); + data[5] = sub_8006300(0, 0xe2, 0x91, 0, 0); + gSprites[data[5]].oam.objMode = ST_OAM_OBJ_BLEND; + gSprites[data[5]].oam.priority = 0; + sub_8130FD4(taskId, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 2, 16, 0, 0); + gTasks[taskId].func = sub_812F4A8; + } +} + +void sub_812F4A8(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, &gUnknown_8462EEC, 0, gUnknown_8462EF0[sOakSpeechResources->unk_0012]); + if (sOakSpeechResources->unk_0012 == 0) + { + sub_810F71C(); + sub_810F5E8(gUnknown_8415D48, 0, 1); + } + else + { + sub_810F71C(); + sub_810F5E8(gUnknown_8415D50, 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(325); + 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 = sub_812F72C; + } + break; + } +} + +void sub_812F72C(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); + sub_8131168(taskId, 0); + data[3] = 80; + gTasks[taskId].func = sub_812F7C0; + } +} + +void sub_812F7C0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + u32 size = 0; + + if (data[3] != 0) + data[3]--; + else + { + sOakSpeechResources->unk_0000 = malloc_and_decompress(gUnknown_8460CA4, &size); + LoadBgTiles(1, sOakSpeechResources->unk_0000, size, 0); + CopyToBgTilemapBuffer(1, gUnknown_8460CE8, 0, 0); + CopyBgTilemapBufferToVram(1); + CreateNidoranFSprite(taskId); + sub_81311F4(3, 0); + sub_8130FD4(taskId, 1); + PlayBGM(292); + BeginNormalPaletteFade(0xFFFFFFFF, 5, 16, 0, RGB_BLACK); + data[3] = 80; + ShowBg(2); + gTasks[taskId].func = sub_812F880; + } +} + +#define OaksSpeechPrintMessage(str, speed) ({ \ + sub_80F6EE4(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); \ +}) + +void sub_812F880(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (data[3] != 0) + data[3]--; + else + { + OaksSpeechPrintMessage(gUnknown_81C5C78, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_812F944; + } + } +} + +void sub_812F944(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + OaksSpeechPrintMessage(gUnknown_81C5D06, sOakSpeechResources->unk_001F); + gTasks[taskId].data[3] = 30; + gTasks[taskId].func = sub_812F9EC; + } +} + +void sub_812F9EC(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 = sub_812FA78; + gTasks[taskId].data[3] = 0; + // } + } +} + +void sub_812FA78(u8 taskId) +{ + if (IsCryFinished()) + { + if (gTasks[taskId].data[3] >= 96) + gTasks[taskId].func = sub_812FB4C; + } + if (gTasks[taskId].data[3] < 0x4000) + { + gTasks[taskId].data[3]++; + if (gTasks[taskId].data[3] == 32) + { + OaksSpeechPrintMessage(gUnknown_81C5D12, sOakSpeechResources->unk_001F); + PlayCry1(SPECIES_NIDORAN_F, 0); + } + } +} + +void sub_812FB4C(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + OaksSpeechPrintMessage(gUnknown_81C5D4B, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_812FBF0; + } +} + +void sub_812FBF0(u8 taskId) +{ + u8 spriteId; + + if (!IsTextPrinterActive(0)) + { + sub_80F6F54(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 = sub_812FC68; + } +} + +void sub_812FC68(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(gUnknown_81C5DBD, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_812FD78; + } + } +} + +void sub_812FD78(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!IsTextPrinterActive(0)) + { + sub_80F6F54(0, 1); + sub_813144C(taskId, 2); + data[3] = 48; + gTasks[taskId].func = sub_812FDC0; + } +} + +void sub_812FDC0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + if (data[3] != 0) + data[3]--; + else + { + data[1] = -60; + sub_8131310(); + OaksSpeechPrintMessage(gUnknown_81C59D5, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_812FE88; + } + } +} + +void sub_812FE88(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + gTasks[taskId].data[13] = AddWindow(&gUnknown_8462EC0[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, gUnknown_8415D93); + 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, gUnknown_8415D97); + sub_810F7D8(gTasks[taskId].data[13], 2, 0, 1, GetFontAttribute(2, 1) + 2, 2, 0); + CopyWindowToVram(gTasks[taskId].data[13], 3); + gTasks[taskId].func = sub_812FFA4; + } +} + +void sub_812FFA4(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 = sub_812FFF0; + +} + +void sub_812FFF0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + sub_810F4D8(data[13], 1); + RemoveWindow(data[13]); + data[13] = 0; + sub_80F6F54(0, 1); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); + gTasks[taskId].func = sub_8130050; +} + +void sub_8130050(u8 taskId) +{ + if (gSaveBlock2Ptr->playerGender == MALE) + sub_81311F4(MALE, 0); + else + sub_81311F4(FEMALE, 0); + sub_81315CC(taskId, 2); + gTasks[taskId].data[3] = 32; + gTasks[taskId].func = sub_81300A0; +} + +void sub_81300A0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + if (data[3] != 0) + data[3]--; + else + { + data[1] = 0; + OaksSpeechPrintMessage(gUnknown_81C5DEA, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_8130160; + } + } +} + +void sub_8130160(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sOakSpeechResources->unk_0010 = 0; + gTasks[taskId].func = sub_81303B4; + } +} +void sub_81301B0(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; + sub_8131660(taskId, sOakSpeechResources->unk_0010); + gTasks[taskId].func = sub_8130324; + } + } +} + +void sub_8130228(u8 taskId) +{ + sub_8131660(taskId, sOakSpeechResources->unk_0010); + if (sOakSpeechResources->unk_0010 == 0) + { + OaksSpeechPrintMessage(gUnknown_81C5DEA, 0); + } + else + { + OaksSpeechPrintMessage(gUnknown_81C5E91, 0); + } + gTasks[taskId].func = sub_8130324; +} + +void sub_8130324(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]); + sub_8131754(sOakSpeechResources->unk_0010, input - 1); + data[15] = 1; + gTasks[taskId].func = sub_8130464; + break; + case 0: + PlaySE(SE_SELECT); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); + gTasks[taskId].func = sub_81303B4; + break; + case -1: + break; + } +} + +void sub_81303B4(u8 taskId) +{ + if (!gPaletteFade.active) + { + sub_8131754(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); + } + sub_8131168(taskId, 1); + FreeAllWindowBuffers(); + } +} + +void sub_8130464(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + if (data[15] == 1) + { + if (sOakSpeechResources->unk_0010 == 0) + { + StringExpandPlaceholders(gStringVar4, gUnknown_81C5E13); + } + else + { + StringExpandPlaceholders(gStringVar4, gUnknown_81C5EB5); + } + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); + data[15] = 0; + data[3] = 25; + } + else if (!IsTextPrinterActive(0)) + { + if (data[3] != 0) + data[3]--; + else + { + sub_810FF60(&gUnknown_8462EC0[2], 2, 0, 2, sub_80F796C(), 14, 0); + gTasks[taskId].func = sub_8130554; + } + } + } +} + +void sub_8130554(u8 taskId) +{ + s8 input = ProcessMenuInputNoWrap_(); + switch (input) + { + case 0: + PlaySE(SE_SELECT); + gTasks[taskId].data[3] = 40; + if (sOakSpeechResources->unk_0010 == 0) + { + sub_80F6F54(0, 1); + sub_813144C(taskId, 2); + gTasks[taskId].func = sub_8130650; + } + else + { + StringExpandPlaceholders(gStringVar4, gUnknown_81C5EC5); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); + gTasks[taskId].func = sub_8130694; + } + break; + case 1: + case -1: + PlaySE(SE_SELECT); + if (sOakSpeechResources->unk_0010 == 0) + gTasks[taskId].func = sub_8130160; + else + gTasks[taskId].func = sub_8130228; + break; + } +} + +void sub_8130650(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + sub_8131310(); + if (data[3] != 0) + data[3]--; + else + gTasks[taskId].func = sub_81306D4; + } +} + +void sub_8130694(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + sub_80F6F54(0, 1); + sub_813144C(taskId, 2); + gTasks[taskId].func = sub_81307D0; + } +} + +void sub_81306D4(u8 taskId) +{ + ChangeBgX(2, 0, 0); + gTasks[taskId].data[1] = 0; + gSpriteCoordOffsetX = 0; + sub_81311F4(2, 0); + sub_81315CC(taskId, 2); + gTasks[taskId].func = sub_813071C; +} + +void sub_813071C(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + OaksSpeechPrintMessage(gUnknown_81C5E2E, sOakSpeechResources->unk_001F); + sOakSpeechResources->unk_0010 = 1; + gTasks[taskId].func = sub_81301B0; + } +} + +void sub_81307D0(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + + if (data[2] != 0) + { + sub_8131310(); + if (data[3] != 0) + data[3]--; + else + { + if (gSaveBlock2Ptr->playerGender == MALE) + sub_81311F4(MALE, 0); + else + sub_81311F4(FEMALE, 0); + gTasks[taskId].data[1] = 0; + gSpriteCoordOffsetX = 0; + ChangeBgX(2, 0, 0); + sub_81315CC(taskId, 2); + gTasks[taskId].func = sub_8130858; + } + } +} + +void sub_8130858(u8 taskId) +{ + if (gTasks[taskId].data[2] != 0) + { + StringExpandPlaceholders(gStringVar4, gUnknown_81C5EF4); + OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F); + gTasks[taskId].data[3] = 30; + gTasks[taskId].func = sub_81308D0; + } +} + +void sub_81308D0(u8 taskId) +{ + if (!IsTextPrinterActive(0)) + { + if (gTasks[taskId].data[3] != 0) + gTasks[taskId].data[3]--; + else + { + FadeOutBGM(4); + gTasks[taskId].func = sub_8130914; + } + } +} + +void sub_8130914(u8 taskId) +{ + sOakSpeechResources->unk_0012 = 0; + sub_8130A38(taskId); + sub_8130ADC(taskId); + sub_8130940(taskId); +} + +void sub_8130940(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 = sub_8130980; +} + +void sub_8130980(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 = sub_8130BA8; + } + } +} + +void sub_8130A38(u8 taskId) +{ + u8 taskId2 = CreateTask(sub_8130A80, 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); +} + +void sub_8130A80(u8 taskId) +{ + s16 * data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + if (data[1] != 0) + { + DestroyTask(taskId); + sub_8131168(taskId, 1); + } + else + { + data[1]++; + BeginNormalPaletteFade(0x0000F000, 0, 0, 16, RGB_BLACK); + } + } +} + +void sub_8130ADC(u8 taskId) +{ + u8 taskId2 = CreateTask(sub_8130B10, 2); + s16 * data = gTasks[taskId2].data; + data[0] = 8; + data[1] = 0; + data[2] = 8; + data[14] = 0; + data[15] = 0; +} + +void sub_8130B10(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); + } + } +} + +void sub_8130BA8(u8 taskId) +{ + if (gTasks[taskId].data[0] != 0) + gTasks[taskId].data[0]--; + else + { + BeginNormalPaletteFade(0x00000030, 2, 0, 16, RGB_BLACK); + gTasks[taskId].func = sub_8130BF0; + } +} + +void sub_8130BF0(u8 taskId) +{ + if (!gPaletteFade.active) + { + gTasks[taskId].func = sub_8130C20; + } +} + +void sub_8130C20(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, gUnknown_8462E58, NELEMS(gUnknown_8462E58)); + 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(); + sub_80F6C6C(); + sub_80F6C98(); + LoadPalette(gUnknown_8460568, 0, 0xe0); + break; + case 4: + decompress_and_copy_tile_data_to_vram(1, gUnknown_8460CA4, 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, gUnknown_8460CE8, 0, 0); + FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(2); + break; + case 6: + taskId = CreateTask(sub_8130464, 0); + if (sOakSpeechResources->unk_0010 == 0) + { + if (gSaveBlock2Ptr->playerGender == MALE) + sub_81311F4(MALE, 0); + else + sub_81311F4(FEMALE, 0); + } + else + sub_81311F4(2, 0); + gTasks[taskId].data[1] = -60; + gSpriteCoordOffsetX += 60; + ChangeBgX(2, -0x3C00, 0); + sub_8130FD4(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(sub_812EAFC); + gTextFlags.flag_0 = TRUE; + SetMainCallback2(sub_812EB10); + 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; +} + +void sub_8130FB8(struct Sprite * sprite) +{ + sprite->pos2.y = gSprites[sprite->data[0]].animCmdIndex; +} + +void sub_8130FD4(u8 taskId, u8 state) +{ + u8 spriteId; + u8 i = 0; + + switch (state) + { + case 0: + LoadCompressedObjectPic(&gUnknown_8462EFC[0]); + LoadCompressedObjectPic(&gUnknown_8462EFC[1]); + LoadCompressedObjectPic(&gUnknown_8462EFC[2]); + LoadSpritePalette(&gUnknown_8462F1C); + spriteId = CreateSprite(&gUnknown_846302C[0], 0x10, 0x11, 2); + gSprites[spriteId].oam.priority = 0; + gTasks[taskId].data[7] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[1], 0x10, 0x09, 3); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[8] = spriteId; + spriteId = CreateSprite(&gUnknown_846302C[2], 0x18, 0x0D, 1); + gSprites[spriteId].oam.priority = 0; + gSprites[spriteId].data[0] = gTasks[taskId].data[7]; + gSprites[spriteId].callback = sub_8130FB8; + gTasks[taskId].data[9] = spriteId; + break; + case 1: + LoadCompressedObjectPic(&gUnknown_8462F14); + LoadSpritePalette(&gUnknown_8462F24); + for (i = 0; i < 3; i++) + { + spriteId = CreateSprite(&gUnknown_8462F50[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; + } +} + +void sub_8131168(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; + } +} + +void sub_81311F4(u16 whichPic, u16 tileOffset) +{ + u32 i; + + switch (whichPic) + { + case 0: // FIRE + LoadPalette(gUnknown_84615FC, 0x40, 0x40); + LZ77UnCompVram(gUnknown_846163C, (void *)0x06000600 + tileOffset); + break; + case 1: // LEAF + LoadPalette(gUnknown_8460ED4, 0x40, 0x40); + LZ77UnCompVram(gUnknown_8460F14, (void *)0x06000600 + tileOffset); + break; + case 2: // BLUE + LoadPalette(gUnknown_84623AC, 0x60, 0x40); + LZ77UnCompVram(gUnknown_84623EC, (void *)0x06000600 + tileOffset); + break; + case 3: // OAK + LoadPalette(gUnknown_8461CD4, 0x60, 0x40); + LZ77UnCompVram(gUnknown_8461D14, (void *)0x06000600 + tileOffset); + break; + default: + return; + } + + sOakSpeechResources->unk_0004 = AllocZeroed(0x60); + for (i = 0; i < 0x60; i++) + ((u8 *)sOakSpeechResources->unk_0004)[i] = i; + FillBgTilemapBufferRect(2, 0x000, 0, 0, 32, 32, 0x10); + CopyRectToBgTilemapBufferRect(2, sOakSpeechResources->unk_0004, 0, 0, 8, 12, 11, 2, 8, 12, 0x10, (tileOffset / 64) + 0x18, 0x00); + CopyBgTilemapBufferToVram(2); + Free(sOakSpeechResources->unk_0004); + sOakSpeechResources->unk_0004 = 0; +} + +void sub_8131310(void) +{ + FillBgTilemapBufferRect(2, 0x000, 11, 1, 8, 12, 0x10); + CopyBgTilemapBufferToVram(2); +} + +void sub_8131338(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]); + } + } +} + +void sub_813144C(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(sub_8131338, 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]; + } +} + +void sub_81314DC(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]); + } + } +} + +void sub_81315CC(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(sub_81314DC, 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]; + } +} + +void sub_8131660(u8 taskId, u8 state) +{ + s16 * data = gTasks[taskId].data; + const u8 *const * textPtrs; + u8 i; + + data[13] = AddWindow(&gUnknown_8462EC0[3]); + PutWindowTilemap(data[13]); + SetWindowBorderStyle(data[13], 1, sub_80F796C(), 14); + FillWindowPixelBuffer(gTasks[taskId].data[13], 0x11); + AddTextPrinterParameterized(data[13], 2, gUnknown_81C574F, 8, 1, 0, NULL); + if (state == 0) + textPtrs = gSaveBlock2Ptr->playerGender == MALE ? gUnknown_846308C : gUnknown_84630D8; + else + textPtrs = gUnknown_8463124; + for (i = 0; i < 4; i++) + { + AddTextPrinterParameterized(data[13], 2, textPtrs[i], 8, 16 * (i + 1) + 1, 0, NULL); + } + sub_810F7D8(data[13], 2, 0, 1, 16, 5, 0); + CopyWindowToVram(data[13], 3); +} + +void sub_8131754(u8 arg0, u8 namePick) +{ + const u8 * src; + u8 * dest; + u8 i; + + if (arg0 == 0) + { + if (gSaveBlock2Ptr->playerGender == MALE) + src = gUnknown_846308C[Random() % 19]; + else + src = gUnknown_84630D8[Random() % 19]; + dest = gSaveBlock2Ptr->playerName; + } + else + { + src = gUnknown_8463124[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/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/sym_ewram.txt b/sym_ewram.txt index b978e59c4..b18406af2 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 @@ -1531,9 +1510,7 @@ gUnknown_203B0EE: @ 203B0EE .space 0x2 .include "src/fame_checker.o" - -gUnknown_203B108: @ 203B108 - .space 0x4 + .include "src/oak_speech.o" gUnknown_203B10C: @ 203B10C .space 0xA |