summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2019-04-11 13:21:26 -0400
committerGitHub <noreply@github.com>2019-04-11 13:21:26 -0400
commitc17af4853c5c5854170702292ebd573bc14b5b0e (patch)
tree4b10ee7f38e45cf1c0f74eafb1274afe70405155
parent7f920b887f9a060524347b4cc3a5e3f3abdd3b03 (diff)
parent18b20721d91e811595491d70e9512ace654e4f5a (diff)
Merge pull request #46 from PikalaxALT/oak_speech
Oak speech
-rw-r--r--asm/battle_1.s40
-rw-r--r--asm/battle_2.s176
-rw-r--r--asm/battle_anim.s80
-rw-r--r--asm/battle_anim_80A22E8.s736
-rw-r--r--asm/battle_anim_80DE2C0.s186
-rw-r--r--asm/battle_anim_80EEC0C.s12
-rw-r--r--asm/battle_controller_link_opponent.s8
-rw-r--r--asm/battle_controller_link_partner.s8
-rw-r--r--asm/battle_controller_oak.s24
-rw-r--r--asm/battle_controller_opponent.s8
-rw-r--r--asm/battle_controller_player.s72
-rw-r--r--asm/battle_controller_pokedude.s36
-rw-r--r--asm/battle_controller_safari.s16
-rw-r--r--asm/battle_records.s2
-rw-r--r--asm/battle_script_commands.s44
-rw-r--r--asm/battle_transition.s312
-rw-r--r--asm/berry_fix_program.s2
-rw-r--r--asm/berry_pouch.s2
-rw-r--r--asm/diploma.s2
-rw-r--r--asm/egg_hatch.s2
-rw-r--r--asm/evolution_scene.s234
-rw-r--r--asm/field_map_obj.s8
-rw-r--r--asm/field_screen_effect.s24
-rw-r--r--asm/field_weather.s4
-rw-r--r--asm/field_weather_effects.s12
-rw-r--r--asm/hall_of_fame.s6
-rw-r--r--asm/intro.s22
-rw-r--r--asm/item_menu.s2
-rw-r--r--asm/item_pc.s2
-rw-r--r--asm/link.s2
-rw-r--r--asm/macros.inc5
-rw-r--r--asm/mail.s2
-rw-r--r--asm/main_menu.s2
-rw-r--r--asm/menu_indicators.s12
-rw-r--r--asm/mystery_gift_menu.s2
-rw-r--r--asm/oak_speech.s5728
-rw-r--r--asm/option_menu.s2
-rw-r--r--asm/overworld.s10
-rw-r--r--asm/party_menu.s2
-rw-r--r--asm/pokeball.s4
-rw-r--r--asm/pokedex_screen.s2
-rw-r--r--asm/pokemon_special_anim.s8
-rw-r--r--asm/pokemon_storage_system.s12
-rw-r--r--asm/pokemon_summary_screen.s2
-rw-r--r--asm/region_map.s2
-rw-r--r--asm/reshow_battle_screen.s34
-rw-r--r--asm/seagallop.s2
-rw-r--r--asm/shop.s2
-rw-r--r--asm/slot_machine.s8
-rw-r--r--asm/start_menu.s4
-rw-r--r--asm/teachy_tv.s2
-rw-r--r--asm/title_screen.s36
-rw-r--r--asm/tm_case.s2
-rw-r--r--asm/trainer_card.s34
-rw-r--r--asm/trig.s8
-rw-r--r--asm/union_room_chat.s24
-rw-r--r--asm/unk_8147AA8.s4
-rw-r--r--asm/unk_814D5C8.s2
-rw-r--r--asm/unk_815F138.s8
-rw-r--r--asm/unknown_task.s644
-rw-r--r--asm/wild_encounter.s8
-rw-r--r--asm/wireless_communication_status_screen.s2
-rw-r--r--data/data.s2
-rw-r--r--data/data_835B488.s13
-rw-r--r--data/data_83FECCC.s13
-rw-r--r--data/data_845FD54.s110
-rw-r--r--data/event_scripts.s220
-rw-r--r--data/oak_speech/unk_8460568.pal67
-rw-r--r--data/oak_speech/unk_84605E8.pngbin0 -> 1118 bytes
-rw-r--r--data/oak_speech/unk_8460BA8.bin2
-rw-r--r--data/oak_speech/unk_8460CA4.pngbin0 -> 110 bytes
-rw-r--r--data/oak_speech/unk_8460CE8.binbin0 -> 1280 bytes
-rw-r--r--data/oak_speech/unk_8460ED4.pal35
-rw-r--r--data/oak_speech/unk_84615FC.pal35
-rw-r--r--data/oak_speech/unk_8461CD4.pal35
-rw-r--r--data/oak_speech/unk_84623AC.pal35
-rw-r--r--data/oak_speech/unk_84629D0.pal19
-rw-r--r--data/oak_speech/unk_84629F0.pal19
-rw-r--r--data/oak_speech/unk_8462A10.pngbin0 -> 271 bytes
-rw-r--r--data/oak_speech/unk_8462B74.pngbin0 -> 350 bytes
-rw-r--r--data/oak_speech/unk_8462D34.pngbin0 -> 228 bytes
-rw-r--r--data/oak_speech/unk_8462E18.pngbin0 -> 119 bytes
-rw-r--r--include/constants/species.h3
-rw-r--r--include/decompress.h2
-rw-r--r--include/event_scripts.h67
-rw-r--r--include/help_system.h1
-rw-r--r--include/math_util.h6
-rw-r--r--include/menu.h7
-rw-r--r--include/new_menu_helpers.h5
-rw-r--r--include/overworld.h1
-rw-r--r--include/pokeball.h3
-rw-r--r--include/pokemon.h1
-rw-r--r--include/pokemon_3.h3
-rw-r--r--include/scanline_effect.h46
-rw-r--r--include/text.h2
-rw-r--r--include/unknown_task.h24
-rw-r--r--include/wild_encounter.h1
-rw-r--r--ld_script.txt5
-rw-r--r--src/fame_checker.c2
-rw-r--r--src/main.c4
-rw-r--r--src/oak_speech.c2393
-rw-r--r--src/scanline_effect.c262
-rw-r--r--sym_ewram.txt45
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
new file mode 100644
index 000000000..419858b1b
--- /dev/null
+++ b/data/oak_speech/unk_84605E8.png
Binary files differ
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
new file mode 100644
index 000000000..30066cdd8
--- /dev/null
+++ b/data/oak_speech/unk_8460CA4.png
Binary files differ
diff --git a/data/oak_speech/unk_8460CE8.bin b/data/oak_speech/unk_8460CE8.bin
new file mode 100644
index 000000000..64374cd24
--- /dev/null
+++ b/data/oak_speech/unk_8460CE8.bin
Binary files differ
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
new file mode 100644
index 000000000..324529e90
--- /dev/null
+++ b/data/oak_speech/unk_8462A10.png
Binary files differ
diff --git a/data/oak_speech/unk_8462B74.png b/data/oak_speech/unk_8462B74.png
new file mode 100644
index 000000000..674cef46d
--- /dev/null
+++ b/data/oak_speech/unk_8462B74.png
Binary files differ
diff --git a/data/oak_speech/unk_8462D34.png b/data/oak_speech/unk_8462D34.png
new file mode 100644
index 000000000..56715aadb
--- /dev/null
+++ b/data/oak_speech/unk_8462D34.png
Binary files differ
diff --git a/data/oak_speech/unk_8462E18.png b/data/oak_speech/unk_8462E18.png
new file mode 100644
index 000000000..f6796f724
--- /dev/null
+++ b/data/oak_speech/unk_8462E18.png
Binary files differ
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