summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_bg.s1473
-rw-r--r--asm/berry_crush.s580
-rw-r--r--asm/berry_crush_2.s3494
-rw-r--r--asm/berry_crush_3.s3431
-rw-r--r--asm/bike.s4
-rw-r--r--asm/cable_club.s2526
-rw-r--r--asm/clear_save_data_screen.s469
-rw-r--r--asm/dodrio_berry_picking.s11411
-rw-r--r--asm/dodrio_berry_picking_2.s734
-rw-r--r--asm/easy_chat_2.s7654
-rw-r--r--asm/event_object_80688E4.s1503
-rw-r--r--asm/event_object_movement.s1887
-rw-r--r--asm/field_camera.s1299
-rw-r--r--asm/field_control_avatar.s26
-rw-r--r--asm/field_effect.s9666
-rw-r--r--asm/field_effect_helpers.s4308
-rw-r--r--asm/field_ground_effect.s1894
-rw-r--r--asm/field_message_box.s306
-rw-r--r--asm/field_player_avatar.s36
-rw-r--r--asm/field_weather.s20
-rw-r--r--asm/field_weather_effects.s6
-rw-r--r--asm/fldeff_cut.s535
-rw-r--r--asm/fldeff_flash.s964
-rw-r--r--asm/librfu_intr.s697
-rw-r--r--asm/macros.inc1
-rw-r--r--asm/macros/event.inc2
-rw-r--r--asm/macros/map.inc10
-rw-r--r--asm/macros/movement.inc2
-rw-r--r--asm/macros/trainer_tower.inc133
-rw-r--r--asm/naming_screen.s4594
-rw-r--r--asm/overworld.s274
-rw-r--r--asm/pokedex_screen.s2
-rw-r--r--asm/pokemon_jump.s642
-rw-r--r--asm/pokemon_jump_2.s8055
-rw-r--r--asm/pokemon_storage_system.s2030
-rw-r--r--asm/pokemon_summary_screen.s22
-rw-r--r--asm/script_movement.s602
-rw-r--r--asm/trainer_see.s1628
38 files changed, 3241 insertions, 69679 deletions
diff --git a/asm/battle_bg.s b/asm/battle_bg.s
deleted file mode 100644
index 96f33cb3c..000000000
--- a/asm/battle_bg.s
+++ /dev/null
@@ -1,1473 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_800F1E8
-sub_800F1E8: @ 800F1E8
- push {lr}
- bl ResetSpriteData
- ldr r0, _0800F21C @ =gUnknown_824EFF0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0800F220 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _0800F224 @ =sub_800F228
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0800F21C: .4byte gUnknown_824EFF0
-_0800F220: .4byte gSprites
-_0800F224: .4byte sub_800F228
- thumb_func_end sub_800F1E8
-
- thumb_func_start sub_800F228
-sub_800F228: @ 800F228
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_800F228
-
- thumb_func_start sub_800F238
-sub_800F238: @ 800F238
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- ldr r1, _0800F24C @ =gUnknown_824EFC4
-_0800F242:
- ldrb r3, [r1]
- cmp r0, r3
- bne _0800F250
- ldrb r0, [r1, 0x1]
- b _0800F25A
- .align 2, 0
-_0800F24C: .4byte gUnknown_824EFC4
-_0800F250:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bls _0800F242
- movs r0, 0x9
-_0800F25A:
- pop {r1}
- bx r1
- thumb_func_end sub_800F238
-
- thumb_func_start sub_800F260
-sub_800F260: @ 800F260
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bls _0800F26C
- movs r0, 0x9
-_0800F26C:
- ldr r5, _0800F2A0 @ =gUnknown_824EE34
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- ldr r0, [r0]
- ldr r1, _0800F2A4 @ =0x06008000
- bl LZDecompressVram
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, _0800F2A8 @ =0x0600d000
- bl LZDecompressVram
- adds r5, 0x10
- adds r4, r5
- ldr r0, [r4]
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800F2A0: .4byte gUnknown_824EE34
-_0800F2A4: .4byte 0x06008000
-_0800F2A8: .4byte 0x0600d000
- thumb_func_end sub_800F260
-
- thumb_func_start sub_800F2AC
-sub_800F2AC: @ 800F2AC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bls _0800F2B8
- movs r0, 0x9
-_0800F2B8:
- ldr r5, _0800F2E0 @ =gUnknown_824EE34
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 2
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r4, r0
- ldr r0, [r0]
- ldr r1, _0800F2E4 @ =0x06004000
- bl LZDecompressVram
- adds r5, 0xC
- adds r4, r5
- ldr r0, [r4]
- ldr r1, _0800F2E8 @ =0x0600e000
- bl LZDecompressVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800F2E0: .4byte gUnknown_824EE34
-_0800F2E4: .4byte 0x06004000
-_0800F2E8: .4byte 0x0600e000
- thumb_func_end sub_800F2AC
-
- thumb_func_start sub_800F2EC
-sub_800F2EC: @ 800F2EC
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _0800F2FC
- movs r0, 0x9
-_0800F2FC:
- ldr r2, _0800F320 @ =gUnknown_824EE34
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r4]
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [r5]
- adds r2, 0x10
- adds r1, r2
- ldr r0, [r1]
- str r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800F320: .4byte gUnknown_824EE34
- thumb_func_end sub_800F2EC
-
- thumb_func_start sub_800F324
-sub_800F324: @ 800F324
- push {lr}
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0800F344 @ =gBattleBgTemplates
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, _0800F348 @ =gUnknown_8248330
- bl InitWindows
- bl DeactivateAllTextPrinters
- pop {r0}
- bx r0
- .align 2, 0
-_0800F344: .4byte gBattleBgTemplates
-_0800F348: .4byte gUnknown_8248330
- thumb_func_end sub_800F324
-
- thumb_func_start InitBattleBgsVideo
-InitBattleBgsVideo: @ 800F34C
- push {lr}
- movs r0, 0xC5
- bl EnableInterrupts
- bl sub_800F324
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, _0800F37C @ =0x0000b040
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- .align 2, 0
-_0800F37C: .4byte 0x0000b040
- thumb_func_end InitBattleBgsVideo
-
- thumb_func_start LoadBattleMenuWindowGfx
-LoadBattleMenuWindowGfx: @ 800F380
- push {r4,r5,lr}
- movs r0, 0x2
- movs r1, 0x12
- movs r2, 0x10
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0x2
- movs r1, 0x22
- movs r2, 0x10
- bl TextWindow_SetUserSelectedFrame
- ldr r4, _0800F3F0 @ =gPlttBufferUnfaded
- adds r0, r4, 0
- adds r0, 0xB8
- ldr r1, _0800F3F4 @ =0x00002529
- strh r1, [r0]
- adds r2, r4, 0
- adds r2, 0xBA
- strh r1, [r2]
- adds r2, 0x2
- ldr r1, _0800F3F8 @ =0x00007fff
- strh r1, [r2]
- adds r2, 0x2
- ldr r1, _0800F3FC @ =0x0000675a
- strh r1, [r2]
- ldr r5, _0800F400 @ =gPlttBufferFaded + 0xB8
- adds r1, r5, 0
- movs r2, 0x4
- bl CpuSet
- ldr r0, _0800F404 @ =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, _0800F408 @ =0x00010010
- ands r0, r1
- cmp r0, 0
- beq _0800F3EA
- movs r0, 0x70
- bl Menu_LoadStdPalAt
- movs r0, 0
- movs r1, 0x30
- movs r2, 0x70
- bl TextWindow_LoadResourcesStdFrame0
- adds r0, r4, 0
- adds r0, 0xEC
- movs r1, 0
- strh r1, [r0]
- adds r1, r5, 0
- adds r1, 0x34
- movs r2, 0x1
- bl CpuSet
-_0800F3EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0800F3F0: .4byte gPlttBufferUnfaded
-_0800F3F4: .4byte 0x00002529
-_0800F3F8: .4byte 0x00007fff
-_0800F3FC: .4byte 0x0000675a
-_0800F400: .4byte gPlttBufferFaded + 0xB8
-_0800F404: .4byte gBattleTypeFlags
-_0800F408: .4byte 0x00010010
- thumb_func_end LoadBattleMenuWindowGfx
-
- thumb_func_start DrawMainBattleBackground
-DrawMainBattleBackground: @ 800F40C
- push {lr}
- bl sub_800FC2C
- lsls r0, 24
- lsrs r0, 24
- bl sub_800F260
- pop {r0}
- bx r0
- thumb_func_end DrawMainBattleBackground
-
- thumb_func_start LoadBattleTextboxAndBackground
-LoadBattleTextboxAndBackground: @ 800F420
- push {lr}
- ldr r0, _0800F454 @ =gBattleTextboxTiles
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r1, _0800F458 @ =gFile_graphics_interface_menu_map_tilemap
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _0800F45C @ =gBattleTextboxPalette
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- bl LoadBattleMenuWindowGfx
- bl DrawMainBattleBackground
- pop {r0}
- bx r0
- .align 2, 0
-_0800F454: .4byte gBattleTextboxTiles
-_0800F458: .4byte gFile_graphics_interface_menu_map_tilemap
-_0800F45C: .4byte gBattleTextboxPalette
- thumb_func_end LoadBattleTextboxAndBackground
-
- thumb_func_start sub_800F460
-sub_800F460: @ 800F460
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- ldr r4, [sp, 0x34]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r4, 24
- lsrs r4, 24
- mov r9, r4
- movs r4, 0
- ldr r0, _0800F4B8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800F548
- ldr r0, _0800F4BC @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0800F4D2
- cmp r5, 0x1
- beq _0800F4FA
- cmp r5, 0x1
- bgt _0800F4C0
- cmp r5, 0
- beq _0800F4CA
- b _0800F504
- .align 2, 0
-_0800F4B8: .4byte gBattleTypeFlags
-_0800F4BC: .4byte gTasks
-_0800F4C0:
- cmp r5, 0x2
- beq _0800F4CE
- cmp r5, 0x3
- beq _0800F4EE
- b _0800F504
-_0800F4CA:
- ldrh r0, [r1, 0xE]
- b _0800F4F0
-_0800F4CE:
- ldrh r1, [r1, 0xE]
- b _0800F4FC
-_0800F4D2:
- cmp r5, 0x1
- beq _0800F4EE
- cmp r5, 0x1
- bgt _0800F4E0
- cmp r5, 0
- beq _0800F4EA
- b _0800F504
-_0800F4E0:
- cmp r5, 0x2
- beq _0800F4F6
- cmp r5, 0x3
- beq _0800F4FA
- b _0800F504
-_0800F4EA:
- ldrh r0, [r1, 0xE]
- b _0800F4F0
-_0800F4EE:
- ldrh r0, [r1, 0x10]
-_0800F4F0:
- movs r4, 0x3F
- ands r4, r0
- b _0800F504
-_0800F4F6:
- ldrh r1, [r1, 0xE]
- b _0800F4FC
-_0800F4FA:
- ldrh r1, [r1, 0x10]
-_0800F4FC:
- movs r0, 0xFC
- lsls r0, 4
- ands r0, r1
- lsrs r4, r0, 6
-_0800F504:
- movs r2, 0
- movs r6, 0x3
- ldr r0, _0800F544 @ =0x00006001
- adds r5, r0, 0
- add r3, sp, 0xC
-_0800F50E:
- lsls r1, r2, 1
- adds r0, r6, 0
- lsls r0, r1
- ands r0, r4
- asrs r0, r1
- adds r0, r5
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x2
- ble _0800F50E
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r0, r8
- add r1, sp, 0xC
- mov r2, r12
- mov r3, r9
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r0, r8
- bl CopyBgTilemapBufferToVram
- b _0800F5B6
- .align 2, 0
-_0800F544: .4byte 0x00006001
-_0800F548:
- ldr r0, _0800F564 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r0, [r0]
- cmp r5, r0
- bne _0800F56C
- ldr r1, _0800F568 @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0xE]
- b _0800F578
- .align 2, 0
-_0800F564: .4byte gBattleStruct
-_0800F568: .4byte gTasks
-_0800F56C:
- ldr r1, _0800F5C4 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r4, [r0, 0x10]
-_0800F578:
- movs r2, 0
- movs r6, 0x3
- ldr r0, _0800F5C8 @ =0x00006001
- adds r5, r0, 0
- add r3, sp, 0xC
-_0800F582:
- lsls r1, r2, 1
- adds r0, r6, 0
- lsls r0, r1
- ands r0, r4
- asrs r0, r1
- adds r0, r5
- strh r0, [r3]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x5
- ble _0800F582
- movs r0, 0x6
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- mov r0, r8
- add r1, sp, 0xC
- mov r2, r12
- mov r3, r9
- bl CopyToBgTilemapBufferRect_ChangePalette
- mov r0, r8
- bl CopyBgTilemapBufferToVram
-_0800F5B6:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800F5C4: .4byte gTasks
-_0800F5C8: .4byte 0x00006001
- thumb_func_end sub_800F460
-
- thumb_func_start sub_800F5CC
-sub_800F5CC: @ 800F5CC
- push {lr}
- ldr r0, _0800F5E0 @ =gBattleOutcome
- ldrb r2, [r0]
- cmp r2, 0x3
- bne _0800F5E8
- ldr r0, _0800F5E4 @ =gUnknown_83FE883
- movs r1, 0x15
- bl BattlePutTextOnWindow
- b _0800F6F0
- .align 2, 0
-_0800F5E0: .4byte gBattleOutcome
-_0800F5E4: .4byte gUnknown_83FE883
-_0800F5E8:
- ldr r0, _0800F61C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800F666
- cmp r2, 0x1
- bne _0800F632
- ldr r2, _0800F620 @ =gLinkPlayers
- ldr r0, _0800F624 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _0800F682
- cmp r0, 0x1
- bgt _0800F628
- cmp r0, 0
- beq _0800F6BC
- b _0800F6F0
- .align 2, 0
-_0800F61C: .4byte gBattleTypeFlags
-_0800F620: .4byte gLinkPlayers
-_0800F624: .4byte gBattleStruct
-_0800F628:
- cmp r0, 0x2
- beq _0800F6BC
- cmp r0, 0x3
- bne _0800F6F0
- b _0800F682
-_0800F632:
- ldr r2, _0800F654 @ =gLinkPlayers
- ldr r0, _0800F658 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0x1
- beq _0800F6BC
- cmp r0, 0x1
- bgt _0800F65C
- cmp r0, 0
- beq _0800F682
- b _0800F6F0
- .align 2, 0
-_0800F654: .4byte gLinkPlayers
-_0800F658: .4byte gBattleStruct
-_0800F65C:
- cmp r0, 0x2
- beq _0800F682
- cmp r0, 0x3
- bne _0800F6F0
- b _0800F6BC
-_0800F666:
- cmp r2, 0x1
- bne _0800F6A4
- ldr r2, _0800F694 @ =gLinkPlayers
- ldr r0, _0800F698 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _0800F6BC
-_0800F682:
- ldr r0, _0800F69C @ =gUnknown_83FE874
- movs r1, 0x17
- bl BattlePutTextOnWindow
- ldr r0, _0800F6A0 @ =gUnknown_83FE87B
- movs r1, 0x16
- bl BattlePutTextOnWindow
- b _0800F6F0
- .align 2, 0
-_0800F694: .4byte gLinkPlayers
-_0800F698: .4byte gBattleStruct
-_0800F69C: .4byte gUnknown_83FE874
-_0800F6A0: .4byte gUnknown_83FE87B
-_0800F6A4:
- ldr r2, _0800F6D0 @ =gLinkPlayers
- ldr r0, _0800F6D4 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _0800F6E0
-_0800F6BC:
- ldr r0, _0800F6D8 @ =gUnknown_83FE874
- movs r1, 0x16
- bl BattlePutTextOnWindow
- ldr r0, _0800F6DC @ =gUnknown_83FE87B
- movs r1, 0x17
- bl BattlePutTextOnWindow
- b _0800F6F0
- .align 2, 0
-_0800F6D0: .4byte gLinkPlayers
-_0800F6D4: .4byte gBattleStruct
-_0800F6D8: .4byte gUnknown_83FE874
-_0800F6DC: .4byte gUnknown_83FE87B
-_0800F6E0:
- ldr r0, _0800F6F4 @ =gUnknown_83FE874
- movs r1, 0x17
- bl BattlePutTextOnWindow
- ldr r0, _0800F6F8 @ =gUnknown_83FE87B
- movs r1, 0x16
- bl BattlePutTextOnWindow
-_0800F6F0:
- pop {r0}
- bx r0
- .align 2, 0
-_0800F6F4: .4byte gUnknown_83FE874
-_0800F6F8: .4byte gUnknown_83FE87B
- thumb_func_end sub_800F5CC
-
- thumb_func_start sub_800F6FC
-sub_800F6FC: @ 800F6FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _0800F728 @ =gTasks
- lsls r0, r7, 2
- mov r8, r0
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0800F71E
- b _0800F850
-_0800F71E:
- cmp r0, 0x1
- bgt _0800F72C
- cmp r0, 0
- beq _0800F734
- b _0800FAC4
- .align 2, 0
-_0800F728: .4byte gTasks
-_0800F72C:
- cmp r0, 0x2
- bne _0800F732
- b _0800F8F0
-_0800F732:
- b _0800FAC4
-_0800F734:
- ldr r0, _0800F75C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0800F7CC
- movs r5, 0
- movs r6, 0x3
-_0800F744:
- ldr r0, _0800F760 @ =gLinkPlayers + 8
- adds r1, r5, r0
- subs r0, 0x8
- adds r4, r5, r0
- ldrh r0, [r4, 0x18]
- cmp r0, 0x1
- beq _0800F77C
- cmp r0, 0x1
- bgt _0800F764
- cmp r0, 0
- beq _0800F76E
- b _0800F7C2
- .align 2, 0
-_0800F75C: .4byte gBattleTypeFlags
-_0800F760: .4byte gLinkPlayers + 8
-_0800F764:
- cmp r0, 0x2
- beq _0800F790
- cmp r0, 0x3
- beq _0800F7AA
- b _0800F7C2
-_0800F76E:
- adds r0, r1, 0
- movs r1, 0x11
- bl BattlePutTextOnWindow
- ldrb r1, [r4, 0x18]
- movs r0, 0x4
- b _0800F79C
-_0800F77C:
- adds r0, r1, 0
- movs r1, 0x12
- bl BattlePutTextOnWindow
- ldrb r1, [r4, 0x18]
- movs r0, 0x4
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x2
- b _0800F7A2
-_0800F790:
- adds r0, r1, 0
- movs r1, 0x13
- bl BattlePutTextOnWindow
- ldrb r1, [r4, 0x18]
- movs r0, 0x8
-_0800F79C:
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x1
-_0800F7A2:
- movs r3, 0x2
- bl sub_800F460
- b _0800F7C2
-_0800F7AA:
- adds r0, r1, 0
- movs r1, 0x14
- bl BattlePutTextOnWindow
- ldrb r1, [r4, 0x18]
- movs r0, 0x8
- str r0, [sp]
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_800F460
-_0800F7C2:
- adds r5, 0x1C
- subs r6, 0x1
- cmp r6, 0
- bge _0800F744
- b _0800F830
-_0800F7CC:
- ldr r0, _0800F844 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r5, [r0]
- movs r0, 0x1
- adds r6, r5, 0
- eors r6, r0
- adds r1, r6, 0
- ldr r4, _0800F848 @ =gLinkPlayers
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x18]
- cmp r0, 0
- beq _0800F7F0
- adds r6, r5, 0
- adds r5, r1, 0
-_0800F7F0:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r4, 0x8
- adds r1, r0, r4
- adds r0, r1, 0
- movs r1, 0xF
- bl BattlePutTextOnWindow
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r1, r0, r4
- adds r0, r1, 0
- movs r1, 0x10
- bl BattlePutTextOnWindow
- movs r4, 0x7
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800F460
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_800F460
-_0800F830:
- ldr r0, _0800F84C @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0800FAC4
- .align 2, 0
-_0800F844: .4byte gBattleStruct
-_0800F848: .4byte gLinkPlayers
-_0800F84C: .4byte gTasks
-_0800F850:
- ldr r0, _0800F8CC @ =0x00002710
- bl AllocSpritePalette
- lsls r0, 24
- ldr r2, _0800F8D0 @ =gPlttBufferUnfaded
- lsrs r0, 19
- ldr r3, _0800F8D4 @ =0x0000021e
- adds r0, r3
- adds r2, r0, r2
- ldr r1, _0800F8D8 @ =gPlttBufferFaded
- adds r0, r1
- ldr r1, _0800F8DC @ =0x00007fff
- strh r1, [r0]
- strh r1, [r2]
- ldr r0, _0800F8E0 @ =gUnknown_82482E8
- movs r1, 0x6C
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r4, _0800F8E4 @ =gBattleStruct
- ldr r1, [r4]
- adds r1, 0x7D
- strb r0, [r1]
- ldr r0, _0800F8E8 @ =gUnknown_8248300
- movs r1, 0x84
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, 0x7E
- strb r0, [r1]
- ldr r3, _0800F8EC @ =gSprites
- ldr r0, [r4]
- adds r0, 0x7D
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _0800FAC4
- .align 2, 0
-_0800F8CC: .4byte 0x00002710
-_0800F8D0: .4byte gPlttBufferUnfaded
-_0800F8D4: .4byte 0x0000021e
-_0800F8D8: .4byte gPlttBufferFaded
-_0800F8DC: .4byte 0x00007fff
-_0800F8E0: .4byte gUnknown_82482E8
-_0800F8E4: .4byte gBattleStruct
-_0800F8E8: .4byte gUnknown_8248300
-_0800F8EC: .4byte gSprites
-_0800F8F0:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0800F958
- ldr r4, _0800F944 @ =gBattle_BG1_X
- ldrh r0, [r5, 0xA]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F90A
- adds r0, 0x1F
-_0800F90A:
- asrs r1, r0, 5
- movs r2, 0x14
- negs r2, r2
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, _0800F948 @ =gBattle_BG2_X
- ldrh r0, [r5, 0xC]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F928
- adds r0, 0x1F
-_0800F928:
- asrs r1, r0, 5
- movs r3, 0x8C
- negs r3, r3
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r4]
- ldr r0, _0800F94C @ =gBattle_BG1_Y
- ldr r2, _0800F950 @ =0x0000ffdc
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0800F954 @ =gBattle_BG2_Y
- strh r1, [r0]
- b _0800F9C4
- .align 2, 0
-_0800F944: .4byte gBattle_BG1_X
-_0800F948: .4byte gBattle_BG2_X
-_0800F94C: .4byte gBattle_BG1_Y
-_0800F950: .4byte 0x0000ffdc
-_0800F954: .4byte gBattle_BG2_Y
-_0800F958:
- ldr r4, _0800F9E8 @ =gBattle_BG1_X
- ldrh r0, [r5, 0xA]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F96A
- adds r0, 0x1F
-_0800F96A:
- asrs r1, r0, 5
- movs r3, 0x14
- negs r3, r3
- adds r0, r3, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, _0800F9EC @ =gBattle_BG1_Y
- ldrh r0, [r5, 0xA]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F988
- adds r0, 0x1F
-_0800F988:
- asrs r0, 5
- subs r0, 0xA4
- strh r0, [r4]
- ldr r4, _0800F9F0 @ =gBattle_BG2_X
- ldrh r0, [r5, 0xC]
- bl Sin2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F9A0
- adds r0, 0x1F
-_0800F9A0:
- asrs r1, r0, 5
- movs r2, 0x8C
- negs r2, r2
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4]
- ldr r4, _0800F9F4 @ =gBattle_BG2_Y
- ldrh r0, [r5, 0xC]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0800F9BE
- adds r0, 0x1F
-_0800F9BE:
- asrs r0, 5
- subs r0, 0xA4
- strh r0, [r4]
-_0800F9C4:
- ldr r1, _0800F9F8 @ =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xC]
- movs r2, 0xC
- ldrsh r3, [r1, r2]
- mov r8, r3
- cmp r3, 0
- beq _0800F9FC
- subs r0, 0x2
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0xA]
- adds r0, 0x2
- strh r0, [r1, 0xA]
- b _0800FAC4
- .align 2, 0
-_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
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0800FA08
- bl sub_800F5CC
-_0800FA08:
- movs r0, 0x71
- bl PlaySE
- adds r0, r7, 0
- bl DestroyTask
- ldr r4, _0800FAD0 @ =gSprites
- ldr r5, _0800FAD4 @ =gBattleStruct
- ldr r0, [r5]
- adds r0, 0x7D
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, 0x7E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r5, [r5]
- adds r6, r5, 0
- adds r6, 0x7E
- ldrb r0, [r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrh r3, [r2, 0x4]
- lsls r1, r3, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r7, _0800FAD8 @ =0x000003ff
- adds r0, r7, 0
- ands r1, r0
- ldr r0, _0800FADC @ =0xfffffc00
- ands r0, r3
- orrs r0, r1
- strh r0, [r2, 0x4]
- adds r5, 0x7D
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x30]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x30]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r2, r8
- strh r2, [r0, 0x32]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x32]
-_0800FAC4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800FAD0: .4byte gSprites
-_0800FAD4: .4byte gBattleStruct
-_0800FAD8: .4byte 0x000003ff
-_0800FADC: .4byte 0xfffffc00
- thumb_func_end sub_800F6FC
-
- thumb_func_start DrawBattleEntryBackground
-DrawBattleEntryBackground: @ 800FAE0
- push {r4,lr}
- ldr r0, _0800FB64 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0800FB94
- ldr r0, _0800FB68 @ =gFile_graphics_battle_transitions_vs_frame_sheet
- ldr r1, _0800FB6C @ =0x06004000
- bl LZDecompressVram
- ldr r0, _0800FB70 @ =gFile_graphics_battle_transitions_vs_sheet
- ldr r1, _0800FB74 @ =0x06010000
- bl LZDecompressVram
- ldr r0, _0800FB78 @ =gFile_graphics_battle_transitions_vs_frame_palette
- movs r1, 0x60
- movs r2, 0x20
- bl LoadCompressedPalette
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0x1
- bl SetBgAttribute
- ldr r1, _0800FB7C @ =0x00005c04
- movs r0, 0xA
- bl SetGpuReg
- ldr r4, _0800FB80 @ =gFile_graphics_battle_transitions_vs_frame_tilemap
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x48
- movs r1, 0x36
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x36
- bl SetGpuReg
- ldr r0, _0800FB84 @ =gBattle_BG1_Y
- ldr r2, _0800FB88 @ =0x0000ff5c
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0800FB8C @ =gBattle_BG2_Y
- strh r1, [r0]
- ldr r0, _0800FB90 @ =gUnknown_8248318
- bl LoadCompressedSpriteSheetUsingHeap
- b _0800FC26
- .align 2, 0
-_0800FB64: .4byte gBattleTypeFlags
-_0800FB68: .4byte gFile_graphics_battle_transitions_vs_frame_sheet
-_0800FB6C: .4byte 0x06004000
-_0800FB70: .4byte gFile_graphics_battle_transitions_vs_sheet
-_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 gBattle_BG1_Y
-_0800FB88: .4byte 0x0000ff5c
-_0800FB8C: .4byte gBattle_BG2_Y
-_0800FB90: .4byte gUnknown_8248318
-_0800FB94:
- movs r0, 0x80
- lsls r0, 9
- ands r0, r1
- cmp r0, 0
- beq _0800FBA6
- movs r0, 0
- bl sub_800F2AC
- b _0800FC26
-_0800FBA6:
- ldr r0, _0800FBC8 @ =0x00080902
- ands r0, r1
- cmp r0, 0
- bne _0800FBF8
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _0800FBD8
- ldr r0, _0800FBCC @ =gGameVersion
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0800FBD0
- movs r0, 0x7
- bl sub_800F2AC
- b _0800FC26
- .align 2, 0
-_0800FBC8: .4byte 0x00080902
-_0800FBCC: .4byte gGameVersion
-_0800FBD0:
- movs r0, 0x4
- bl sub_800F2AC
- b _0800FC26
-_0800FBD8:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _0800FC08
- ldr r2, _0800FC00 @ =gTrainers
- ldr r0, _0800FC04 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x54
- beq _0800FBF8
- cmp r0, 0x5A
- bne _0800FC08
-_0800FBF8:
- movs r0, 0x8
- bl sub_800F2AC
- b _0800FC26
- .align 2, 0
-_0800FC00: .4byte gTrainers
-_0800FC04: .4byte gTrainerBattleOpponent_A
-_0800FC08:
- bl sav1_map_get_battletype
- lsls r0, 24
- cmp r0, 0
- bne _0800FC20
- ldr r0, _0800FC1C @ =gBattleTerrain
- ldrb r0, [r0]
- bl sub_800F2AC
- b _0800FC26
- .align 2, 0
-_0800FC1C: .4byte gBattleTerrain
-_0800FC20:
- movs r0, 0x8
- bl sub_800F2AC
-_0800FC26:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end DrawBattleEntryBackground
-
- thumb_func_start sub_800FC2C
-sub_800FC2C: @ 800FC2C
- push {lr}
- ldr r0, _0800FC40 @ =gBattleTypeFlags
- ldr r1, [r0]
- ldr r2, _0800FC44 @ =0x00080902
- ands r2, r1
- cmp r2, 0
- beq _0800FC48
- movs r0, 0xA
- b _0800FCAA
- .align 2, 0
-_0800FC40: .4byte gBattleTypeFlags
-_0800FC44: .4byte 0x00080902
-_0800FC48:
- movs r0, 0x80
- lsls r0, 9
- ands r0, r1
- cmp r0, 0
- beq _0800FC60
- ldr r0, _0800FC5C @ =gBattleTerrain
- strb r2, [r0]
- movs r0, 0
- b _0800FCAA
- .align 2, 0
-_0800FC5C: .4byte gBattleTerrain
-_0800FC60:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _0800FC90
- ldr r2, _0800FC80 @ =gTrainers
- ldr r0, _0800FC84 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x54
- bne _0800FC88
- movs r0, 0xC
- b _0800FCAA
- .align 2, 0
-_0800FC80: .4byte gTrainers
-_0800FC84: .4byte gTrainerBattleOpponent_A
-_0800FC88:
- cmp r0, 0x5A
- bne _0800FC90
- movs r0, 0x13
- b _0800FCAA
-_0800FC90:
- bl sav1_map_get_battletype
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0800FCA6
- bl sub_800F238
- lsls r0, 24
- lsrs r0, 24
- b _0800FCAA
-_0800FCA6:
- ldr r0, _0800FCB0 @ =gBattleTerrain
- ldrb r0, [r0]
-_0800FCAA:
- pop {r1}
- bx r1
- .align 2, 0
-_0800FCB0: .4byte gBattleTerrain
- thumb_func_end sub_800FC2C
-
- thumb_func_start sub_800FCB4
-sub_800FCB4: @ 800FCB4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- cmp r0, 0x6
- bhi _0800FD92
- lsls r0, 2
- ldr r1, _0800FCCC @ =_0800FCD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0800FCCC: .4byte _0800FCD0
- .align 2, 0
-_0800FCD0:
- .4byte _0800FCEC
- .4byte _0800FCFC
- .4byte _0800FD14
- .4byte _0800FD24
- .4byte _0800FD3E
- .4byte _0800FD68
- .4byte _0800FD8C
-_0800FCEC:
- ldr r0, _0800FCF8 @ =gBattleTextboxTiles
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _0800FD94
- .align 2, 0
-_0800FCF8: .4byte gBattleTextboxTiles
-_0800FCFC:
- ldr r1, _0800FD10 @ =gFile_graphics_interface_menu_map_tilemap
- movs r0, 0
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _0800FD94
- .align 2, 0
-_0800FD10: .4byte gFile_graphics_interface_menu_map_tilemap
-_0800FD14:
- ldr r0, _0800FD20 @ =gBattleTextboxPalette
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _0800FD94
- .align 2, 0
-_0800FD20: .4byte gBattleTextboxPalette
-_0800FD24:
- bl sub_800FC2C
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0800FD5C @ =gUnknown_824EE34
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _0800FD60 @ =0x06008000
- bl LZDecompressVram
-_0800FD3E:
- bl sub_800FC2C
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0800FD5C @ =gUnknown_824EE34
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _0800FD64 @ =0x0600d000
- bl LZDecompressVram
- b _0800FD94
- .align 2, 0
-_0800FD5C: .4byte gUnknown_824EE34
-_0800FD60: .4byte 0x06008000
-_0800FD64: .4byte 0x0600d000
-_0800FD68:
- bl sub_800FC2C
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0800FD88 @ =gUnknown_824EE34
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 2
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x20
- movs r2, 0x60
- bl LoadCompressedPalette
- b _0800FD94
- .align 2, 0
-_0800FD88: .4byte gUnknown_824EE34
-_0800FD8C:
- bl LoadBattleMenuWindowGfx
- b _0800FD94
-_0800FD92:
- movs r4, 0x1
-_0800FD94:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800FCB4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_crush.s b/asm/berry_crush.s
deleted file mode 100644
index 6502fc916..000000000
--- a/asm/berry_crush.s
+++ /dev/null
@@ -1,580 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_814B6F0
-sub_814B6F0: @ 814B6F0
- ldr r0, _0814B6F8 @ =gUnknown_203F3DC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0814B6F8: .4byte gUnknown_203F3DC
- thumb_func_end sub_814B6F0
-
- thumb_func_start sub_814B6FC
-sub_814B6FC: @ 814B6FC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _0814B70C @ =gUnknown_203F3DC
- ldr r0, [r5]
- cmp r0, 0
- bne _0814B710
- movs r0, 0x2
- b _0814B740
- .align 2, 0
-_0814B70C: .4byte gUnknown_203F3DC
-_0814B710:
- cmp r4, 0
- bne _0814B716
- ldr r4, [r0]
-_0814B716:
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, _0814B748 @ =CB2_ReturnToField
- cmp r4, r0
- bne _0814B73E
- ldr r0, _0814B74C @ =0x0000012f
- bl PlayNewMapMusic
- ldr r0, _0814B750 @ =sub_8056534
- bl sub_80565E0
-_0814B73E:
- movs r0, 0
-_0814B740:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0814B748: .4byte CB2_ReturnToField
-_0814B74C: .4byte 0x0000012f
-_0814B750: .4byte sub_8056534
- thumb_func_end sub_814B6FC
-
- thumb_func_start sub_814B754
-sub_814B754: @ 814B754
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- ldr r0, _0814B784 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0814B772
- ldr r0, _0814B788 @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _0814B790
-_0814B772:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, _0814B78C @ =Rfu
- mov r1, r8
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _0814B7DC
- .align 2, 0
-_0814B784: .4byte gReceivedRemoteLinkPlayers
-_0814B788: .4byte gWirelessCommType
-_0814B78C: .4byte Rfu
-_0814B790:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0x1
- bls _0814B7AC
- cmp r7, r8
- bcc _0814B7C0
-_0814B7AC:
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, _0814B7BC @ =Rfu
- movs r1, 0
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x12]
- b _0814B7DC
- .align 2, 0
-_0814B7BC: .4byte Rfu
-_0814B7C0:
- ldr r6, _0814B7E8 @ =gUnknown_203F3DC
- ldr r0, _0814B7EC @ =0x000041c0
- bl AllocZeroed
- adds r5, r0, 0
- str r5, [r6]
- cmp r5, 0
- bne _0814B7F4
- adds r0, r4, 0
- bl SetMainCallback2
- ldr r0, _0814B7F0 @ =Rfu
- strh r5, [r0, 0x10]
- strh r5, [r0, 0x12]
-_0814B7DC:
- adds r0, 0xEE
- ldrb r1, [r0]
- movs r1, 0x1
- strb r1, [r0]
- b _0814B84C
- .align 2, 0
-_0814B7E8: .4byte gUnknown_203F3DC
-_0814B7EC: .4byte 0x000041c0
-_0814B7F0: .4byte Rfu
-_0814B7F4:
- str r4, [r5]
- movs r4, 0
- strb r7, [r5, 0x8]
- ldr r0, [r6]
- mov r1, r8
- strb r1, [r0, 0x9]
- ldr r0, [r6]
- bl sub_814BABC
- ldr r1, [r6]
- movs r2, 0x1
- movs r0, 0x1
- strh r0, [r1, 0x12]
- strb r2, [r1, 0xE]
- ldr r1, [r6]
- movs r0, 0x6
- strb r0, [r1, 0xF]
- ldr r0, [r6]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_814D564
- ldr r2, [r6]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_814BB4C
- ldr r0, _0814B858 @ =sub_814BA80
- bl SetMainCallback2
- ldr r0, _0814B85C @ =sub_814BA98
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r6]
- strb r0, [r1, 0xA]
-_0814B84C:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B858: .4byte sub_814BA80
-_0814B85C: .4byte sub_814BA98
- thumb_func_end sub_814B754
-
- thumb_func_start sub_814B860
-sub_814B860: @ 814B860
- push {r4,lr}
- sub sp, 0xC
- ldr r1, _0814B878 @ =gSpecialVar_ItemId
- ldrh r0, [r1]
- subs r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _0814B87C
- movs r0, 0x85
- strh r0, [r1]
- b _0814B884
- .align 2, 0
-_0814B878: .4byte gSpecialVar_ItemId
-_0814B87C:
- ldrh r0, [r1]
- movs r1, 0x1
- bl RemoveBagItem
-_0814B884:
- ldr r4, _0814B8E0 @ =gUnknown_203F3DC
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- lsls r0, 5
- adds r0, r2, r0
- ldr r1, _0814B8E4 @ =gSpecialVar_ItemId
- ldrh r1, [r1]
- subs r1, 0x85
- adds r0, 0xA4
- movs r3, 0
- strh r1, [r0]
- movs r0, 0x1
- strb r0, [r2, 0xE]
- ldr r1, [r4]
- movs r0, 0x9
- strb r0, [r1, 0xF]
- ldr r0, [r4]
- adds r0, 0x36
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x10
- str r1, [sp]
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0
- bl sub_814D564
- ldr r2, [r4]
- adds r2, 0x36
- movs r0, 0x4
- movs r1, 0x1
- bl sub_814BB4C
- ldr r0, _0814B8E8 @ =sub_814BA98
- movs r1, 0x8
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0xA]
- ldr r0, _0814B8EC @ =sub_814BA80
- bl SetMainCallback2
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B8E0: .4byte gUnknown_203F3DC
-_0814B8E4: .4byte gSpecialVar_ItemId
-_0814B8E8: .4byte sub_814BA98
-_0814B8EC: .4byte sub_814BA80
- thumb_func_end sub_814B860
-
- thumb_func_start sub_814B8F0
-sub_814B8F0: @ 814B8F0
- push {lr}
- ldr r0, _0814B90C @ =gUnknown_203F3DC
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl DestroyTask
- ldr r1, _0814B910 @ =sub_814B860
- movs r0, 0x5
- movs r2, 0
- bl InitBerryPouch
- pop {r0}
- bx r0
- .align 2, 0
-_0814B90C: .4byte gUnknown_203F3DC
-_0814B910: .4byte sub_814B860
- thumb_func_end sub_814B8F0
-
- thumb_func_start sub_814B914
-sub_814B914: @ 814B914
- push {lr}
- ldr r0, _0814B920 @ =sub_814BA6C
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .align 2, 0
-_0814B920: .4byte sub_814BA6C
- thumb_func_end sub_814B914
-
- thumb_func_start sub_814B924
-sub_814B924: @ 814B924
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_814B924
-
- thumb_func_start sub_814B930
-sub_814B930: @ 814B930
- push {r4,r5,lr}
- ldr r4, _0814B974 @ =gUnknown_203F3DC
- ldr r0, [r4]
- adds r0, 0x6C
- ldrh r2, [r0]
- lsls r2, 8
- movs r1, 0xF0
- lsls r1, 6
- adds r0, r2, 0
- bl sub_80D8B68
- adds r2, r0, 0
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r3, [r0]
- lsls r3, 8
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_80D8B68
- adds r3, r0, 0
- ldr r0, _0814B978 @ =0x0000ffff
- ands r3, r0
- ldr r2, [r4]
- strh r3, [r2, 0x16]
- ldrb r0, [r2, 0x9]
- cmp r0, 0x3
- beq _0814B9B4
- cmp r0, 0x3
- bgt _0814B97C
- cmp r0, 0x2
- beq _0814B986
- b _0814BA3C
- .align 2, 0
-_0814B974: .4byte gUnknown_203F3DC
-_0814B978: .4byte 0x0000ffff
-_0814B97C:
- cmp r0, 0x4
- beq _0814B9E4
- cmp r0, 0x5
- beq _0814BA14
- b _0814BA3C
-_0814B986:
- ldr r5, _0814B9B0 @ =gSaveBlock2Ptr
- ldr r1, [r5]
- movs r0, 0xAF
- lsls r0, 4
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _0814BA3C
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- movs r2, 0xAF
- lsls r2, 4
- b _0814BA38
- .align 2, 0
-_0814B9B0: .4byte gSaveBlock2Ptr
-_0814B9B4:
- ldr r5, _0814B9DC @ =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r0, _0814B9E0 @ =0x00000af2
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _0814BA3C
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- ldr r2, _0814B9E0 @ =0x00000af2
- b _0814BA38
- .align 2, 0
-_0814B9DC: .4byte gSaveBlock2Ptr
-_0814B9E0: .4byte 0x00000af2
-_0814B9E4:
- ldr r5, _0814BA0C @ =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r0, _0814BA10 @ =0x00000af4
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _0814BA3C
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- ldr r2, _0814BA10 @ =0x00000af4
- b _0814BA38
- .align 2, 0
-_0814BA0C: .4byte gSaveBlock2Ptr
-_0814BA10: .4byte 0x00000af4
-_0814BA14:
- ldr r5, _0814BA60 @ =gSaveBlock2Ptr
- ldr r1, [r5]
- ldr r0, _0814BA64 @ =0x00000af6
- adds r1, r0
- lsls r0, r3, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bls _0814BA3C
- adds r2, 0x25
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r1, [r4]
- ldrh r1, [r1, 0x16]
- ldr r2, _0814BA64 @ =0x00000af6
-_0814BA38:
- adds r0, r2
- strh r1, [r0]
-_0814BA3C:
- ldr r4, _0814BA68 @ =gUnknown_203F3DC
- ldr r1, [r4]
- ldr r0, [r1, 0x68]
- str r0, [r1, 0x1C]
- bl GiveBerryPowder
- lsls r0, 24
- cmp r0, 0
- bne _0814BA5A
- ldr r0, [r4]
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
-_0814BA5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814BA60: .4byte gSaveBlock2Ptr
-_0814BA64: .4byte 0x00000af6
-_0814BA68: .4byte gUnknown_203F3DC
- thumb_func_end sub_814B930
-
- thumb_func_start sub_814BA6C
-sub_814BA6C: @ 814BA6C
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_814BA6C
-
- thumb_func_start sub_814BA80
-sub_814BA80: @ 814BA80
- push {lr}
- bl RunTasks
- bl RunTextPrinters
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_814BA80
-
- thumb_func_start sub_814BA98
-sub_814BA98: @ 814BA98
- push {r4,lr}
- ldr r4, _0814BAB8 @ =gUnknown_203F3DC
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- cmp r2, 0
- beq _0814BAAC
- adds r1, r0, 0
- adds r1, 0x36
- bl _call_via_r2
-_0814BAAC:
- ldr r0, [r4]
- bl sub_814D9CC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814BAB8: .4byte gUnknown_203F3DC
- thumb_func_end sub_814BA98
-
- thumb_func_start sub_814BABC
-sub_814BABC: @ 814BABC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- b _0814BAE8
-_0814BAC4:
- lsls r4, r5, 5
- adds r0, r4, 0
- adds r0, 0x98
- adds r0, r6, r0
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- ldr r2, _0814BB2C @ =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r4, r6, r4
- adds r4, 0x9F
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0814BAE8:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _0814BAC4
- cmp r5, 0x4
- bhi _0814BB14
-_0814BAF2:
- lsls r4, r5, 5
- adds r0, r4, 0
- adds r0, 0x98
- adds r0, r6, r0
- movs r1, 0x1
- movs r2, 0x7
- bl memset
- adds r4, r6, r4
- adds r4, 0x9F
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0814BAF2
-_0814BB14:
- ldr r0, _0814BB30 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsls r0, 29
- lsrs r0, 29
- cmp r0, 0x1
- beq _0814BB3E
- cmp r0, 0x1
- bgt _0814BB34
- cmp r0, 0
- beq _0814BB3A
- b _0814BB46
- .align 2, 0
-_0814BB2C: .4byte gLinkPlayers + 8
-_0814BB30: .4byte gSaveBlock2Ptr
-_0814BB34:
- cmp r0, 0x2
- beq _0814BB42
- b _0814BB46
-_0814BB3A:
- movs r0, 0x8
- b _0814BB44
-_0814BB3E:
- movs r0, 0x4
- b _0814BB44
-_0814BB42:
- movs r0, 0x1
-_0814BB44:
- strb r0, [r6, 0xB]
-_0814BB46:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814BABC
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_crush_2.s b/asm/berry_crush_2.s
deleted file mode 100644
index 7495c8519..000000000
--- a/asm/berry_crush_2.s
+++ /dev/null
@@ -1,3494 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_814BB4C
-sub_814BB4C: @ 814BB4C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- mov r8, r4
- bl sub_814B6F0
- adds r6, r0, 0
- cmp r5, 0x19
- bls _0814BB6A
- movs r5, 0
-_0814BB6A:
- cmp r4, 0
- beq _0814BB74
- cmp r4, 0x1
- beq _0814BBA0
- b _0814BBAA
-_0814BB74:
- cmp r5, 0
- beq _0814BB88
- ldr r0, _0814BB9C @ =gUnknown_846E34C
- lsls r1, r5, 2
- adds r1, r0
- ldr r2, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_0814BB88:
- ldrb r0, [r6, 0xE]
- cmp r0, 0x19
- bls _0814BB92
- mov r0, r8
- strb r0, [r6, 0xE]
-_0814BB92:
- ldr r0, _0814BB9C @ =gUnknown_846E34C
- ldrb r1, [r6, 0xE]
- lsls r1, 2
- b _0814BBA4
- .align 2, 0
-_0814BB9C: .4byte gUnknown_846E34C
-_0814BBA0:
- ldr r0, _0814BBB4 @ =gUnknown_846E34C
- lsls r1, r5, 2
-_0814BBA4:
- adds r1, r0
- ldr r0, [r1]
- str r0, [r6, 0x4]
-_0814BBAA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814BBB4: .4byte gUnknown_846E34C
- thumb_func_end sub_814BB4C
-
- thumb_func_start sub_814BBB8
-sub_814BBB8: @ 814BBB8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- lsls r3, 8
- orrs r2, r3
- ldrb r3, [r1, 0x2]
- lsls r3, 16
- orrs r2, r3
- ldrb r3, [r1, 0x3]
- lsls r3, 24
- adds r0, r2, 0
- orrs r0, r3
- ldrb r2, [r1, 0x9]
- strb r2, [r1]
- ldrb r4, [r1, 0x8]
- lsls r4, 8
- ldrb r2, [r1, 0x7]
- orrs r4, r2
- ldr r5, _0814BC0C @ =gPaletteFade
- ldrb r3, [r5, 0x8]
- movs r2, 0x7F
- ands r2, r3
- strb r2, [r5, 0x8]
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r2, [r1, 0x5]
- ldrb r3, [r1, 0x6]
- str r4, [sp]
- adds r1, r5, 0
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- movs r0, 0x2
- strb r0, [r6, 0xE]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0814BC0C: .4byte gPaletteFade
- thumb_func_end sub_814BBB8
-
- thumb_func_start sub_814BC10
-sub_814BC10: @ 814BC10
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0814BC44
- cmp r0, 0x1
- bgt _0814BC26
- cmp r0, 0
- beq _0814BC30
- b _0814BC66
-_0814BC26:
- cmp r0, 0x2
- beq _0814BC4A
- cmp r0, 0x3
- beq _0814BC56
- b _0814BC66
-_0814BC30:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0814BC6C
- ldrb r0, [r5]
- cmp r0, 0
- bne _0814BC66
- movs r0, 0x3
- b _0814BC6A
-_0814BC44:
- bl sub_80FA42C
- b _0814BC66
-_0814BC4A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _0814BC66
- b _0814BC6C
-_0814BC56:
- ldrb r0, [r4, 0xF]
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0
- strb r0, [r4, 0xC]
- b _0814BC6E
-_0814BC66:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_0814BC6A:
- strb r0, [r4, 0xC]
-_0814BC6C:
- movs r0, 0
-_0814BC6E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814BC10
-
- thumb_func_start sub_814BC74
-sub_814BC74: @ 814BC74
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r7, r0, 0
- adds r5, r1, 0
- ldrb r4, [r5, 0x3]
- lsls r4, 8
- ldrb r0, [r5, 0x2]
- orrs r4, r0
- ldrb r6, [r7, 0xC]
- cmp r6, 0x1
- beq _0814BD20
- cmp r6, 0x1
- bgt _0814BC98
- cmp r6, 0
- beq _0814BCA2
- b _0814BD68
-_0814BC98:
- cmp r6, 0x2
- beq _0814BD38
- cmp r6, 0x3
- beq _0814BD48
- b _0814BD68
-_0814BCA2:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- mov r8, r0
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0814BCF0
- ldr r4, _0814BCE8 @ =gStringVar4
- ldr r1, _0814BCEC @ =gUnknown_846E328
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldrb r3, [r7, 0xB]
- str r6, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- b _0814BD12
- .align 2, 0
-_0814BCE8: .4byte gStringVar4
-_0814BCEC: .4byte gUnknown_846E328
-_0814BCF0:
- ldr r1, _0814BD1C @ =gUnknown_846E328
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrb r3, [r7, 0xB]
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0
- movs r1, 0x2
- bl AddTextPrinterParameterized2
-_0814BD12:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _0814BD68
- .align 2, 0
-_0814BD1C: .4byte gUnknown_846E328
-_0814BD20:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0814BD6E
- cmp r4, 0
- bne _0814BD68
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
- strb r0, [r7, 0xC]
- b _0814BD68
-_0814BD38:
- ldr r0, _0814BD44 @ =gMain
- ldrh r0, [r0, 0x2E]
- ands r4, r0
- cmp r4, 0
- bne _0814BD68
- b _0814BD6E
- .align 2, 0
-_0814BD44: .4byte gMain
-_0814BD48:
- ldrb r1, [r5, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814BD5A
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
-_0814BD5A:
- ldrb r0, [r7, 0xE]
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- ldrb r0, [r5, 0x4]
- b _0814BD6C
-_0814BD68:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_0814BD6C:
- strb r0, [r7, 0xC]
-_0814BD6E:
- movs r0, 0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814BC74
-
- thumb_func_start sub_814BD7C
-sub_814BD7C: @ 814BD7C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_814D5C8
- cmp r0, 0
- beq _0814BD94
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_814BB4C
-_0814BD94:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814BD7C
-
- thumb_func_start sub_814BD9C
-sub_814BD9C: @ 814BD9C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_814D888
- cmp r0, 0
- beq _0814BDB4
- ldrb r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x36
- movs r1, 0
- bl sub_814BB4C
-_0814BDB4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814BD9C
-
- thumb_func_start sub_814BDBC
-sub_814BDBC: @ 814BDBC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _0814BDCC
- cmp r0, 0x1
- beq _0814BDD2
- b _0814BDFC
-_0814BDCC:
- bl sub_80FA42C
- b _0814BDFC
-_0814BDD2:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814BE02
- ldr r0, _0814BDF8 @ =0x00000111
- bl PlayNewMapMusic
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0x3
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _0814BE02
- .align 2, 0
-_0814BDF8: .4byte 0x00000111
-_0814BDFC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_0814BE02:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814BDBC
-
- thumb_func_start sub_814BE0C
-sub_814BE0C: @ 814BE0C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- beq _0814BE22
- cmp r0, 0x1
- beq _0814BE48
- adds r0, 0x1
- b _0814BE58
-_0814BE22:
- adds r0, r4, 0
- bl sub_814D4D8
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x7
- strb r0, [r4, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814BE5A
-_0814BE48:
- movs r0, 0x8
- strb r0, [r4, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0x2
-_0814BE58:
- strb r0, [r4, 0xC]
-_0814BE5A:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814BE0C
-
- thumb_func_start sub_814BE64
-sub_814BE64: @ 814BE64
- push {lr}
- movs r1, 0
- str r1, [r0, 0x4]
- ldr r0, _0814BE78 @ =sub_814B8F0
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0814BE78: .4byte sub_814B8F0
- thumb_func_end sub_814BE64
-
- thumb_func_start sub_814BE7C
-sub_814BE7C: @ 814BE7C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r2, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x5
- bls _0814BE8C
- b _0814BFC0
-_0814BE8C:
- lsls r0, 2
- ldr r1, _0814BE98 @ =_0814BE9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814BE98: .4byte _0814BE9C
- .align 2, 0
-_0814BE9C:
- .4byte _0814BEB4
- .4byte _0814BED4
- .4byte _0814BEDA
- .4byte _0814BF0A
- .4byte _0814BF1A
- .4byte _0814BFA4
-_0814BEB4:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x9
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814BFC6
-_0814BED4:
- bl sub_80FA42C
- b _0814BFC0
-_0814BEDA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814BFC6
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r0, 0xA4
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _0814BFC0
-_0814BF0A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814BFC6
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0814BFC0
-_0814BF1A:
- bl GetBlockReceivedStatus
- ldr r2, _0814BF98 @ =gUnknown_846E3C8
- ldrb r4, [r5, 0x9]
- subs r1, r4, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0814BFC6
- movs r3, 0
- cmp r3, r4
- bcs _0814BF7E
- ldr r7, _0814BF9C @ =gBlockRecvBuffer
- movs r6, 0
- ldr r4, _0814BFA0 @ =gUnknown_83DFC9C
-_0814BF3C:
- lsls r0, r3, 5
- adds r0, r5, r0
- lsls r1, r3, 8
- adds r1, r7
- ldrh r1, [r1]
- adds r2, r0, 0
- adds r2, 0xA4
- strh r1, [r2]
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0xB0
- bls _0814BF56
- strh r6, [r2]
-_0814BF56:
- ldrh r1, [r2]
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r5, 0x18]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldrh r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- ldr r0, [r5, 0x1C]
- adds r0, r1
- str r0, [r5, 0x1C]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r3, r0
- bcc _0814BF3C
-_0814BF7E:
- movs r0, 0
- strh r0, [r5, 0x10]
- bl ResetBlockReceivedFlags
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x80
- lsls r1, 6
- bl sub_80D8B68
- str r0, [r5, 0x20]
- b _0814BFC0
- .align 2, 0
-_0814BF98: .4byte gUnknown_846E3C8
-_0814BF9C: .4byte gBlockRecvBuffer
-_0814BFA0: .4byte gUnknown_83DFC9C
-_0814BFA4:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0x4
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0814BFC6
-_0814BFC0:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814BFC6:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814BE7C
-
- thumb_func_start sub_814BFD0
-sub_814BFD0: @ 814BFD0
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x6
- bls _0814BFDC
- b _0814C108
-_0814BFDC:
- lsls r0, 2
- ldr r1, _0814BFE8 @ =_0814BFEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814BFE8: .4byte _0814BFEC
- .align 2, 0
-_0814BFEC:
- .4byte _0814C008
- .4byte _0814C01A
- .4byte _0814C048
- .4byte _0814C080
- .4byte _0814C0B0
- .4byte _0814C0D2
- .4byte _0814C0E4
-_0814C008:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_814DA24
- bl sub_80FA42C
- b _0814C108
-_0814C01A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C10E
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r3, _0814C044 @ =0x00000139
- adds r1, r4, r3
- strb r0, [r1]
- adds r2, 0x2
- adds r1, r4, r2
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r4, r3
- strb r0, [r1]
- b _0814C108
- .align 2, 0
-_0814C044: .4byte 0x00000139
-_0814C048:
- movs r0, 0x9C
- lsls r0, 1
- adds r3, r4, r0
- ldrb r0, [r3]
- lsls r0, 2
- movs r2, 0xB8
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r1, r0
- ldr r2, [r0]
- ldr r0, _0814C07C @ =sub_814DB84
- str r0, [r2, 0x1C]
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r0
- ldr r1, [r1]
- adds r1, 0x2C
- ldrb r2, [r1]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1]
- movs r0, 0x36
- bl PlaySE
- b _0814C108
- .align 2, 0
-_0814C07C: .4byte sub_814DB84
-_0814C080:
- movs r3, 0x9C
- lsls r3, 1
- adds r2, r4, r3
- ldrb r0, [r2]
- lsls r0, 2
- adds r3, 0x38
- adds r1, r4, r3
- adds r3, r1, r0
- ldr r0, [r3]
- ldr r1, [r0, 0x1C]
- ldr r0, _0814C0AC @ =sub_814DB84
- cmp r1, r0
- beq _0814C10E
- movs r0, 0
- str r0, [r3]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- bl sub_80FA42C
- b _0814C108
- .align 2, 0
-_0814C0AC: .4byte sub_814DB84
-_0814C0B0:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C10E
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- ldrb r0, [r1]
- ldrb r2, [r4, 0x9]
- cmp r0, r2
- bcs _0814C0CC
- movs r0, 0x2
- b _0814C10C
-_0814C0CC:
- movs r0, 0
- strb r0, [r1]
- b _0814C108
-_0814C0D2:
- movs r3, 0x9C
- lsls r3, 1
- adds r1, r4, r3
- adds r0, r4, 0
- bl sub_814DC24
- bl sub_80FA42C
- b _0814C108
-_0814C0E4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C10E
- movs r0, 0x25
- bl PlaySE
- movs r0, 0xB
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0x5
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _0814C10E
-_0814C108:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
-_0814C10C:
- strb r0, [r4, 0xC]
-_0814C10E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814BFD0
-
- thumb_func_start sub_814C118
-sub_814C118: @ 814C118
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0xC]
- cmp r1, 0x1
- beq _0814C17C
- cmp r1, 0x1
- bgt _0814C12C
- cmp r1, 0
- beq _0814C136
- b _0814C23C
-_0814C12C:
- cmp r1, 0x2
- beq _0814C1FC
- cmp r1, 0x3
- beq _0814C21E
- b _0814C23C
-_0814C136:
- ldrh r0, [r4, 0x2A]
- adds r0, 0x4
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- bge _0814C144
- b _0814C242
-_0814C144:
- strh r1, [r4, 0x2A]
- ldr r0, _0814C174 @ =0x00000139
- adds r3, r4, r0
- movs r0, 0x4
- strb r0, [r3]
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
- ldr r2, _0814C178 @ =gUnknown_846E2F0
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- movs r0, 0xCF
- bl PlaySE
- b _0814C23C
- .align 2, 0
-_0814C174: .4byte 0x00000139
-_0814C178: .4byte gUnknown_846E2F0
-_0814C17C:
- ldr r7, _0814C1F4 @ =gUnknown_846E2F0
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, _0814C1F8 @ =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _0814C242
- ldrb r0, [r5]
- cmp r0, 0
- beq _0814C23C
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _0814C242
- .align 2, 0
-_0814C1F4: .4byte gUnknown_846E2F0
-_0814C1F8: .4byte 0x00000139
-_0814C1FC:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- bl sub_80FA42C
- b _0814C23C
-_0814C21E:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C242
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0x6
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _0814C242
-_0814C23C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_0814C242:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814C118
-
- thumb_func_start sub_814C24C
-sub_814C24C: @ 814C24C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0814C26C
- cmp r0, 0x1
- bgt _0814C262
- cmp r0, 0
- beq _0814C292
- b _0814C2EC
-_0814C262:
- cmp r0, 0x2
- beq _0814C28A
- cmp r0, 0x3
- beq _0814C298
- b _0814C2EC
-_0814C26C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C2F2
- movs r1, 0x80
- lsls r1, 5
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x78
- movs r3, 0x50
- bl sub_815F138
- b _0814C2EC
-_0814C28A:
- bl sub_815F198
- cmp r0, 0
- bne _0814C2F2
-_0814C292:
- bl sub_80FA42C
- b _0814C2EC
-_0814C298:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814C2F2
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r2, _0814C2D4 @ =0x00000139
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _0814C2D8
- movs r0, 0xD
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814C2E2
- .align 2, 0
-_0814C2D4: .4byte 0x00000139
-_0814C2D8:
- movs r0, 0xE
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
-_0814C2E2:
- movs r1, 0
- movs r0, 0x7
- strh r0, [r4, 0x12]
- strb r1, [r4, 0xC]
- b _0814C2F2
-_0814C2EC:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_0814C2F2:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814C24C
-
- thumb_func_start sub_814C2FC
-sub_814C2FC: @ 814C2FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- movs r0, 0
- mov r8, r0
- movs r2, 0
- adds r7, r2, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _0814C40A
- movs r2, 0x5E
- adds r2, r4
- mov r9, r2
- ldr r3, _0814C3C0 @ =gUnknown_846E2E0
- mov r10, r3
-_0814C320:
- lsls r0, r7, 4
- ldr r1, _0814C3C4 @ =gRecvCmds
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r3, 0xBC
- lsls r3, 6
- cmp r0, r3
- bne _0814C3FE
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- bne _0814C3FE
- ldrb r1, [r2, 0x4]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0814C3F6
- mov r0, r9
- ldrb r2, [r0]
- lsrs r1, r2, 3
- mov r3, r10
- adds r0, r7, r3
- ldrb r0, [r0]
- orrs r1, r0
- lsls r1, 3
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- mov r1, r9
- strb r0, [r1]
- lsls r2, r7, 5
- adds r3, r4, r2
- mov r12, r3
- mov r1, r12
- adds r1, 0xB5
- movs r0, 0x1
- strb r0, [r1]
- subs r1, 0x7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- subs r1, 0x8
- ldrh r0, [r4, 0x28]
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r5, r12
- adds r5, 0xAA
- ldrh r1, [r5]
- subs r0, r1, 0x1
- adds r6, r2, 0
- cmp r3, r0
- blt _0814C3C8
- adds r0, r1, 0x1
- cmp r3, r0
- bgt _0814C3C8
- mov r1, r12
- adds r1, 0xA8
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- strh r3, [r5]
- mov r0, r12
- adds r0, 0xAC
- ldrh r1, [r1]
- ldrh r2, [r0]
- cmp r1, r2
- bls _0814C3D6
- strh r1, [r0]
- b _0814C3D6
- .align 2, 0
-_0814C3C0: .4byte gUnknown_846E2E0
-_0814C3C4: .4byte gRecvCmds
-_0814C3C8:
- adds r0, r4, r6
- adds r2, r0, 0
- adds r2, 0xA8
- movs r1, 0
- strh r1, [r2]
- adds r0, 0xAA
- strh r3, [r0]
-_0814C3D6:
- adds r1, r4, r6
- ldrh r0, [r4, 0x28]
- adds r3, r1, 0
- adds r3, 0xA6
- movs r2, 0
- strh r0, [r3]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0814C3FE
- strb r2, [r1]
- b _0814C3FE
-_0814C3F6:
- lsls r0, r7, 5
- adds r0, r4, r0
- adds r0, 0xB5
- strb r1, [r0]
-_0814C3FE:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r3, [r4, 0x9]
- cmp r7, r3
- bcc _0814C320
-_0814C40A:
- mov r0, r8
- cmp r0, 0x1
- bls _0814C440
- movs r7, 0
- ldrb r1, [r4, 0x9]
- cmp r7, r1
- bcs _0814C440
- movs r3, 0x2
-_0814C41A:
- lsls r0, r7, 5
- adds r1, r4, r0
- adds r2, r1, 0
- adds r2, 0xB5
- ldrb r0, [r2]
- cmp r0, 0
- beq _0814C434
- orrs r0, r3
- strb r0, [r2]
- adds r1, 0xB0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0814C434:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r2, [r4, 0x9]
- cmp r7, r2
- bcc _0814C41A
-_0814C440:
- mov r3, r8
- cmp r3, 0
- beq _0814C4A8
- ldrh r0, [r4, 0x2E]
- add r0, r8
- strh r0, [r4, 0x2E]
- ldr r1, _0814C490 @ =gUnknown_846E2E8
- mov r0, r8
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- add r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r4, 0x34]
- add r0, r8
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x1A]
- add r0, r8
- strh r0, [r4, 0x1A]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- movs r3, 0x1A
- ldrsh r2, [r4, r3]
- subs r0, r2
- cmp r0, 0
- ble _0814C494
- lsls r2, 8
- ldr r1, [r4, 0x20]
- adds r0, r2, 0
- bl sub_80D8B68
- adds r2, r0, 0
- asrs r2, 8
- adds r0, r4, 0
- adds r0, 0x24
- strb r2, [r0]
- b _0814C4A8
- .align 2, 0
-_0814C490: .4byte gUnknown_846E2E8
-_0814C494:
- adds r1, r4, 0
- adds r1, 0x24
- movs r0, 0x20
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_0814C4A8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814C2FC
-
- thumb_func_start sub_814C4B8
-sub_814C4B8: @ 814C4B8
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r6, 0
- movs r1, 0
- adds r4, r1, 0
- ldrb r0, [r3, 0x9]
- cmp r4, r0
- bcs _0814C510
- adds r5, r3, 0
- adds r5, 0x64
-_0814C4CC:
- lsls r0, r4, 5
- adds r1, r3, r0
- adds r0, r1, 0
- adds r0, 0xB5
- ldrb r2, [r0]
- cmp r2, 0
- beq _0814C504
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r1, 0
- adds r0, 0xB4
- ldrb r0, [r0]
- adds r1, r0, 0x1
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0814C4F4
- movs r0, 0x4
- orrs r1, r0
-_0814C4F4:
- lsls r0, r4, 1
- adds r0, r4
- lsls r1, r0
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldrh r0, [r5]
- orrs r1, r0
- strh r1, [r5]
-_0814C504:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r3, 0x9]
- cmp r4, r1
- bcc _0814C4CC
-_0814C510:
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, 0x3C
- strh r1, [r0]
- cmp r6, 0
- bne _0814C534
- ldr r2, _0814C530 @ =0x0000013b
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0814C600
- movs r4, 0x9C
- lsls r4, 1
- adds r1, r3, r4
- b _0814C572
- .align 2, 0
-_0814C530: .4byte 0x0000013b
-_0814C534:
- ldr r5, _0814C560 @ =0x0000013b
- adds r2, r3, r5
- ldrb r0, [r2]
- cmp r0, 0
- beq _0814C57A
- ldr r0, _0814C564 @ =0x00000139
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r6, r2
- beq _0814C56C
- subs r0, r6, 0x1
- strb r0, [r1]
- ldr r1, _0814C568 @ =gUnknown_846E314
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x9D
- lsls r4, 1
- adds r1, r3, r4
- strb r0, [r1]
- b _0814C5A0
- .align 2, 0
-_0814C560: .4byte 0x0000013b
-_0814C564: .4byte 0x00000139
-_0814C568: .4byte gUnknown_846E314
-_0814C56C:
- movs r5, 0x9C
- lsls r5, 1
- adds r1, r3, r5
-_0814C572:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0814C5A0
-_0814C57A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- subs r0, r6, 0x1
- ldr r4, _0814C5D0 @ =0x00000139
- adds r1, r3, r4
- strb r0, [r1]
- ldr r1, _0814C5D4 @ =gUnknown_846E314
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x9D
- lsls r5, 1
- adds r1, r3, r5
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r2]
-_0814C5A0:
- ldr r0, _0814C5D8 @ =0x0000013b
- adds r4, r3, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _0814C600
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- movs r5, 0x9D
- lsls r5, 1
- adds r2, r3, r5
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bcc _0814C5DC
- movs r0, 0
- strb r0, [r1]
- ldr r5, _0814C5D0 @ =0x00000139
- adds r1, r3, r5
- strb r0, [r1]
- strb r0, [r2]
- strb r0, [r4]
- movs r1, 0
- b _0814C5F0
- .align 2, 0
-_0814C5D0: .4byte 0x00000139
-_0814C5D4: .4byte gUnknown_846E314
-_0814C5D8: .4byte 0x0000013b
-_0814C5DC:
- ldr r2, _0814C5F8 @ =gUnknown_846E314
- ldrb r1, [r1]
- ldr r4, _0814C5FC @ =0x00000139
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, 0x1
- adds r1, r0
- adds r1, r2
- ldrb r1, [r1]
-_0814C5F0:
- adds r0, r3, 0
- adds r0, 0x5F
- strb r1, [r0]
- b _0814C608
- .align 2, 0
-_0814C5F8: .4byte gUnknown_846E314
-_0814C5FC: .4byte 0x00000139
-_0814C600:
- adds r1, r3, 0
- adds r1, 0x5F
- movs r0, 0
- strb r0, [r1]
-_0814C608:
- ldrh r1, [r3, 0x26]
- adds r0, r3, 0
- adds r0, 0x62
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814C4B8
-
- thumb_func_start sub_814C618
-sub_814C618: @ 814C618
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r3, _0814C6AC @ =gMain
- ldrh r1, [r3, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0814C63A
- adds r2, r5, 0
- adds r2, 0x5E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0814C63A:
- ldrh r1, [r3, 0x2C]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0814C65A
- ldrb r0, [r5, 0x8]
- lsls r0, 5
- adds r0, r5, r0
- adds r1, r0, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r5, 0x28]
- cmp r0, r2
- bcs _0814C65A
- adds r0, 0x1
- strh r0, [r1]
-_0814C65A:
- ldrb r0, [r5, 0x8]
- adds r7, r5, 0
- adds r7, 0x5E
- cmp r0, 0
- beq _0814C670
- ldrb r1, [r7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0814C670
- b _0814C7AC
-_0814C670:
- adds r4, r5, 0
- adds r4, 0x5C
- movs r0, 0x2
- strh r0, [r4]
- ldrh r0, [r5, 0x28]
- movs r1, 0x1E
- bl __umodsi3
- lsls r0, 16
- mov r8, r4
- adds r6, r5, 0
- adds r6, 0x25
- cmp r0, 0
- bne _0814C6C8
- movs r0, 0x2E
- ldrsh r2, [r5, r0]
- ldr r1, _0814C6B0 @ =gUnknown_846E3C4
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- ble _0814C6B4
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- ldrb r0, [r6]
- movs r1, 0x10
- orrs r0, r1
- b _0814C6BC
- .align 2, 0
-_0814C6AC: .4byte gMain
-_0814C6B0: .4byte gUnknown_846E3C4
-_0814C6B4:
- ldrb r1, [r6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_0814C6BC:
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
-_0814C6C8:
- ldrh r0, [r5, 0x28]
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _0814C73E
- movs r0, 0x34
- ldrsh r2, [r5, r0]
- ldr r3, _0814C6F4 @ =gUnknown_846E3B4
- ldrb r0, [r5, 0x9]
- subs r0, 0x2
- lsls r1, r0, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bge _0814C6F8
- ldrb r1, [r6]
- movs r0, 0x1F
- ands r0, r1
- strb r0, [r6]
- b _0814C738
- .align 2, 0
-_0814C6F4: .4byte gUnknown_846E3B4
-_0814C6F8:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _0814C70C
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x20
- b _0814C734
-_0814C70C:
- adds r0, r3, 0x2
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _0814C71C
- movs r0, 0x2
- strh r0, [r5, 0x34]
- b _0814C738
-_0814C71C:
- adds r0, r3, 0x3
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r2, r0
- bge _0814C72C
- movs r0, 0x3
- strh r0, [r5, 0x34]
- b _0814C738
-_0814C72C:
- ldrb r0, [r6]
- movs r1, 0x1F
- ands r1, r0
- movs r0, 0x80
-_0814C734:
- orrs r1, r0
- strb r1, [r6]
-_0814C738:
- movs r0, 0
- strh r0, [r5, 0x34]
- b _0814C76A
-_0814C73E:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3C
- bls _0814C76A
- cmp r0, 0x46
- bls _0814C75A
- bl sub_80FBA44
- movs r0, 0
- strh r0, [r5, 0x10]
- b _0814C76A
-_0814C75A:
- ldrb r0, [r7]
- movs r4, 0xF8
- ands r4, r0
- cmp r4, 0
- bne _0814C76A
- bl sub_80FBA44
- strh r4, [r5, 0x10]
-_0814C76A:
- ldrh r1, [r5, 0x28]
- ldr r0, _0814C7B8 @ =0x00008c9f
- cmp r1, r0
- bls _0814C77A
- ldrb r0, [r7]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r7]
-_0814C77A:
- ldrb r1, [r6]
- lsls r1, 27
- lsrs r1, 31
- lsls r1, 1
- ldrb r2, [r7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7]
- ldrb r0, [r6]
- lsrs r0, 5
- adds r2, r5, 0
- adds r2, 0x66
- strh r0, [r2]
- adds r4, r5, 0
- adds r4, 0x42
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0xC
- bl memcpy
- adds r0, r4, 0
- bl sub_80F9E2C
-_0814C7AC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814C7B8: .4byte 0x00008c9f
- thumb_func_end sub_814C618
-
- thumb_func_start sub_814C7BC
-sub_814C7BC: @ 814C7BC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
- ldr r3, _0814C808 @ =gRecvCmds
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcs _0814C7E0
- movs r1, 0
-_0814C7CC:
- lsls r0, r4, 5
- adds r0, r5, r0
- adds r0, 0xB5
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _0814C7CC
-_0814C7E0:
- adds r2, r3, 0
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0814C7F8
- ldrh r0, [r2, 0x2]
- cmp r0, 0x2
- beq _0814C80C
-_0814C7F8:
- adds r2, r5, 0
- adds r2, 0x25
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _0814C84A
- .align 2, 0
-_0814C808: .4byte gRecvCmds
-_0814C80C:
- adds r4, r5, 0
- adds r4, 0x4E
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0xE
- bl memcpy
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2A]
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- strh r0, [r5, 0x2C]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x28]
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_814DC5C
- ldrb r1, [r4, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814C84A
- adds r0, r5, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_0814C84A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814C7BC
-
- thumb_func_start sub_814C850
-sub_814C850: @ 814C850
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_814C7BC
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0814C8D8
- ldrh r1, [r4, 0x28]
- ldr r0, _0814C8C0 @ =0x00008c9f
- cmp r1, r0
- bls _0814C8C4
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814C8CE
- .align 2, 0
-_0814C8C0: .4byte 0x00008c9f
-_0814C8C4:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
-_0814C8CE:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _0814C8F2
-_0814C8D8:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_814C2FC
- adds r0, r4, 0
- bl sub_814C4B8
- adds r0, r4, 0
- bl sub_814C618
- movs r0, 0
-_0814C8F2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814C850
-
- thumb_func_start sub_814C8F8
-sub_814C8F8: @ 814C8F8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0xC
- bl memset
- adds r0, r4, 0
- adds r0, 0x4E
- movs r1, 0
- movs r2, 0xE
- bl memset
- adds r0, r4, 0
- bl sub_814C7BC
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0814C980
- ldrh r1, [r4, 0x28]
- ldr r0, _0814C968 @ =0x00008c9f
- cmp r1, r0
- bls _0814C96C
- adds r0, 0x1
- strh r0, [r4, 0x28]
- movs r0, 0x10
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814C976
- .align 2, 0
-_0814C968: .4byte 0x00008c9f
-_0814C96C:
- movs r0, 0xF
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
-_0814C976:
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _0814C988
-_0814C980:
- adds r0, r4, 0
- bl sub_814C618
- movs r0, 0
-_0814C988:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814C8F8
-
- thumb_func_start sub_814C990
-sub_814C990: @ 814C990
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x5
- bls _0814C99C
- b _0814CB12
-_0814C99C:
- lsls r0, 2
- ldr r1, _0814C9A8 @ =_0814C9AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814C9A8: .4byte _0814C9AC
- .align 2, 0
-_0814C9AC:
- .4byte _0814C9C4
- .4byte _0814C9EC
- .4byte _0814CA3C
- .4byte _0814CABC
- .4byte _0814CADA
- .4byte _0814CAF4
-_0814C9C4:
- movs r0, 0x8
- strh r0, [r4, 0x12]
- movs r0, 0xCF
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- ldr r2, _0814C9E8 @ =0x000003ff
- movs r1, 0x8
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- b _0814CB12
- .align 2, 0
-_0814C9E8: .4byte 0x000003ff
-_0814C9EC:
- movs r1, 0x9C
- lsls r1, 1
- adds r5, r4, r1
- ldrb r0, [r5]
- subs r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0814CA02
- b _0814CB18
-_0814CA02:
- movs r0, 0x1
- negs r0, r0
- ldr r2, _0814CA30 @ =0x000003ff
- movs r1, 0
- bl BlendPalettes
- ldr r2, _0814CA34 @ =0x00000139
- adds r1, r4, r2
- movs r0, 0x4
- strb r0, [r1]
- movs r0, 0
- strb r0, [r5]
- ldr r2, _0814CA38 @ =gUnknown_846E2F0
- ldrb r1, [r1]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r2, 0x9D
- lsls r2, 1
- adds r1, r4, r2
- strb r0, [r1]
- b _0814CB12
- .align 2, 0
-_0814CA30: .4byte 0x000003ff
-_0814CA34: .4byte 0x00000139
-_0814CA38: .4byte gUnknown_846E2F0
-_0814CA3C:
- ldr r7, _0814CAB4 @ =gUnknown_846E2F0
- movs r0, 0x9C
- lsls r0, 1
- adds r6, r4, r0
- ldr r1, _0814CAB8 @ =0x00000139
- adds r5, r4, r1
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- ldrb r2, [r6]
- adds r0, r2
- adds r0, r7
- movs r1, 0
- ldrsb r1, [r0, r1]
- strh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x12
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1A
- bl SetGpuReg
- ldrh r1, [r4, 0x2C]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl SetGpuReg
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- movs r1, 0x9D
- lsls r1, 1
- adds r2, r4, r1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2]
- cmp r0, r1
- bcc _0814CB18
- ldrb r0, [r5]
- cmp r0, 0
- beq _0814CB12
- subs r0, 0x1
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0
- strb r0, [r6]
- b _0814CB18
- .align 2, 0
-_0814CAB4: .4byte gUnknown_846E2F0
-_0814CAB8: .4byte 0x00000139
-_0814CABC:
- movs r0, 0
- strh r0, [r4, 0x2C]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _0814CB12
-_0814CADA:
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r4, r2
- adds r0, r4, 0
- bl sub_814DE50
- cmp r0, 0
- beq _0814CB18
- bl sub_80FA42C
- movs r0, 0
- strh r0, [r4, 0x10]
- b _0814CB12
-_0814CAF4:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814CB18
- movs r0, 0x11
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _0814CB1A
-_0814CB12:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_0814CB18:
- movs r0, 0
-_0814CB1A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814C990
-
- thumb_func_start sub_814CB20
-sub_814CB20: @ 814CB20
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _0814CB64
- cmp r0, 0x1
- bgt _0814CB38
- cmp r0, 0
- beq _0814CB42
- b _0814CBFC
-_0814CB38:
- cmp r0, 0x2
- beq _0814CB8A
- cmp r0, 0x3
- beq _0814CBBC
- b _0814CBFC
-_0814CB42:
- movs r0, 0x9
- strh r0, [r5, 0x12]
- movs r0, 0x1A
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x8
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- strb r0, [r1]
- b _0814CBFC
-_0814CB64:
- movs r0, 0x9C
- lsls r0, 1
- adds r4, r5, r0
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0814CC02
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- movs r2, 0x1F
- bl BlendPalettes
- movs r0, 0
- strb r0, [r4]
- b _0814CBFC
-_0814CB8A:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_814DE50
- cmp r0, 0
- beq _0814CC02
- bl sub_80FA42C
- movs r0, 0
- strh r0, [r5, 0x10]
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1E
- movs r1, 0
- bl SetGpuReg
- b _0814CBFC
-_0814CBBC:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814CC02
- ldr r0, _0814CBF8 @ =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0
- strh r4, [r5, 0x10]
- b _0814CC00
- .align 2, 0
-_0814CBF8: .4byte gStringVar1
-_0814CBFC:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_0814CC00:
- strb r0, [r5, 0xC]
-_0814CC02:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814CB20
-
- thumb_func_start sub_814CC0C
-sub_814CC0C: @ 814CC0C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r0, 0
- ldrb r0, [r7, 0xC]
- cmp r0, 0x7
- bls _0814CC22
- b _0814CF8E
-_0814CC22:
- lsls r0, 2
- ldr r1, _0814CC2C @ =_0814CC30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814CC2C: .4byte _0814CC30
- .align 2, 0
-_0814CC30:
- .4byte _0814CC50
- .4byte _0814CC8A
- .4byte _0814CC98
- .4byte _0814CD00
- .4byte _0814CE80
- .4byte _0814CF30
- .4byte _0814CF3C
- .4byte _0814CF70
-_0814CC50:
- adds r4, r7, 0
- adds r4, 0x42
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl memset
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r2, r0, 0
- adds r2, 0xB2
- ldrh r1, [r7, 0x28]
- ldrh r0, [r2]
- cmp r0, r1
- bls _0814CC72
- strh r1, [r2]
-_0814CC72:
- ldrb r0, [r7, 0x8]
- lsls r0, 5
- adds r0, r7, r0
- adds r0, 0xB2
- ldrh r0, [r0]
- strh r0, [r4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl SendBlock
- b _0814CF8E
-_0814CC8A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- bne _0814CC96
- b _0814CF94
-_0814CC96:
- b _0814CF64
-_0814CC98:
- bl GetBlockReceivedStatus
- ldr r2, _0814CCF4 @ =gUnknown_846E3C8
- ldrb r3, [r7, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- beq _0814CCB0
- b _0814CF94
-_0814CCB0:
- movs r0, 0
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x42
- cmp r8, r3
- bcs _0814CCDE
- ldr r2, _0814CCF8 @ =gBlockRecvBuffer
-_0814CCBE:
- mov r3, r8
- lsls r1, r3, 5
- adds r1, r7, r1
- lsls r0, r3, 8
- adds r0, r2
- ldrh r0, [r0]
- adds r1, 0xB2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r6, [r7, 0x9]
- cmp r8, r6
- bcc _0814CCBE
-_0814CCDE:
- movs r0, 0
- strh r0, [r7, 0x10]
- strh r0, [r4]
- bl ResetBlockReceivedFlags
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _0814CCFC
- movs r0, 0x3
- b _0814CF92
- .align 2, 0
-_0814CCF4: .4byte gUnknown_846E3C8
-_0814CCF8: .4byte gBlockRecvBuffer
-_0814CCFC:
- movs r0, 0x6
- b _0814CF92
-_0814CD00:
- adds r0, r7, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldrh r1, [r7, 0x28]
- adds r0, r7, 0
- adds r0, 0x6C
- strh r1, [r0]
- movs r0, 0x18
- ldrsh r4, [r7, r0]
- ldrh r0, [r7, 0x28]
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl __divsi3
- adds r1, r7, 0
- adds r1, 0x6E
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r7, r1]
- lsls r0, 8
- movs r4, 0xC8
- lsls r4, 6
- adds r1, r4, 0
- bl sub_80D8AE0
- adds r2, r0, 0
- movs r3, 0x32
- ldrsh r1, [r7, r3]
- lsls r1, 8
- bl sub_80D8B68
- adds r2, r0, r4
- asrs r2, 8
- movs r1, 0x7F
- adds r0, r2, 0
- ands r0, r1
- adds r1, r7, 0
- adds r1, 0x70
- strh r0, [r1]
- lsls r2, 8
- movs r1, 0xC8
- lsls r1, 7
- adds r0, r2, 0
- bl sub_80D8B68
- adds r2, r0, 0
- ldrb r1, [r7, 0x9]
- ldr r0, [r7, 0x1C]
- muls r0, r1
- lsls r4, r0, 8
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80D8AE0
- adds r4, r0, 0
- asrs r0, r4, 8
- str r0, [r7, 0x68]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r1, r7, 0
- adds r1, 0x8F
- strb r0, [r1]
- movs r6, 0
- mov r8, r6
- mov r9, r1
- ldrb r0, [r7, 0x9]
- cmp r8, r0
- bcc _0814CDA4
- b _0814CF8E
-_0814CDA4:
- adds r0, r7, 0
- adds r0, 0x88
- add r0, r8
- mov r1, r8
- strb r1, [r0]
- adds r0, r7, 0
- adds r0, 0x90
- add r0, r8
- strb r1, [r0]
- mov r3, r8
- lsls r2, r3, 1
- adds r1, r7, 0
- adds r1, 0x74
- adds r1, r2
- lsls r0, r3, 5
- adds r3, r7, r0
- adds r5, r3, 0
- adds r5, 0xAE
- ldrh r0, [r5]
- strh r0, [r1]
- adds r1, r7, 0
- adds r1, 0x72
- ldrh r6, [r1]
- adds r0, r6
- strh r0, [r1]
- mov r1, r9
- ldrb r0, [r1]
- adds r6, r2, 0
- cmp r0, 0x1
- beq _0814CE0E
- cmp r0, 0x1
- bgt _0814CDEA
- cmp r0, 0
- beq _0814CDF0
- b _0814CE64
-_0814CDEA:
- cmp r0, 0x2
- beq _0814CE2C
- b _0814CE64
-_0814CDF0:
- ldrh r0, [r5]
- cmp r0, 0
- beq _0814CE32
- adds r0, r3, 0
- adds r0, 0xAC
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_80D8AE0
- adds r2, r0, 0
- ldrh r4, [r5]
- b _0814CE5A
-_0814CE0E:
- ldrh r0, [r5]
- cmp r0, 0
- beq _0814CE32
- adds r0, r3, 0
- adds r0, 0xB0
- ldrh r2, [r0]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_80D8AE0
- adds r2, r0, 0
- ldrh r4, [r5]
- b _0814CE5A
-_0814CE2C:
- ldrh r0, [r5]
- cmp r0, 0
- bne _0814CE36
-_0814CE32:
- movs r4, 0
- b _0814CE64
-_0814CE36:
- adds r1, r3, 0
- adds r1, 0xB2
- ldrh r0, [r1]
- ldrh r2, [r7, 0x28]
- cmp r0, r2
- bcc _0814CE48
- movs r4, 0xC8
- lsls r4, 7
- b _0814CE64
-_0814CE48:
- ldrh r2, [r1]
- lsls r2, 8
- adds r0, r2, 0
- movs r1, 0xC8
- lsls r1, 7
- bl sub_80D8AE0
- adds r2, r0, 0
- ldrh r4, [r7, 0x28]
-_0814CE5A:
- lsls r4, 8
- adds r1, r4, 0
- bl sub_80D8B68
- adds r4, r0, 0
-_0814CE64:
- asrs r4, 4
- adds r0, r7, 0
- adds r0, 0x7E
- adds r0, r6
- strh r4, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r3, [r7, 0x9]
- cmp r8, r3
- bcc _0814CDA4
- b _0814CF8E
-_0814CE80:
- movs r6, 0
- mov r8, r6
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- adds r1, r7, 0
- adds r1, 0x68
- str r1, [sp, 0xC]
- cmp r8, r0
- bge _0814CF24
-_0814CE92:
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r8
- adds r2, 0x1
- str r2, [sp, 0x8]
- cmp r4, r8
- bls _0814CF14
- adds r3, r7, 0
- adds r3, 0x74
- str r3, [sp]
- adds r6, r7, 0
- adds r6, 0x88
- str r6, [sp, 0x4]
- movs r0, 0x90
- adds r0, r7
- mov r10, r0
- movs r1, 0x7E
- adds r1, r7
- mov r9, r1
-_0814CEBC:
- subs r2, r4, 0x1
- mov r12, r2
- lsls r6, r2, 1
- ldr r0, [sp]
- adds r3, r0, r6
- lsls r5, r4, 1
- adds r1, r0, r5
- ldrh r2, [r3]
- ldrh r0, [r1]
- cmp r2, r0
- bcs _0814CEE6
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- ldr r1, [sp, 0x4]
- adds r2, r1, r4
- ldrb r3, [r2]
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_0814CEE6:
- mov r2, r9
- adds r3, r2, r6
- adds r1, r2, r5
- ldrh r2, [r3]
- ldrh r6, [r1]
- cmp r2, r6
- bcs _0814CF0A
- ldrh r0, [r1]
- strh r2, [r1]
- strh r0, [r3]
- mov r0, r10
- adds r2, r0, r4
- ldrb r3, [r2]
- mov r1, r10
- add r1, r12
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
-_0814CF0A:
- mov r1, r12
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bhi _0814CEBC
-_0814CF14:
- ldr r2, [sp, 0x8]
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r7, 0x9]
- subs r0, 0x1
- cmp r8, r0
- blt _0814CE92
-_0814CF24:
- movs r0, 0
- ldr r1, [sp, 0xC]
- movs r2, 0x30
- bl SendBlock
- b _0814CF8E
-_0814CF30:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814CF94
- b _0814CF64
-_0814CF3C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0814CF94
- adds r4, r7, 0
- adds r4, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x30
- bl memset
- ldr r1, _0814CF6C @ =gBlockRecvBuffer
- adds r0, r4, 0
- movs r2, 0x30
- bl memcpy
- bl ResetBlockReceivedFlags
-_0814CF64:
- movs r0, 0
- strh r0, [r7, 0x10]
- b _0814CF8E
- .align 2, 0
-_0814CF6C: .4byte gBlockRecvBuffer
-_0814CF70:
- bl sub_814B930
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0
- movs r1, 0xB
- strh r1, [r7, 0x12]
- strb r0, [r7, 0xC]
- adds r1, r7, 0
- adds r1, 0x24
- strb r0, [r1]
- b _0814CF94
-_0814CF8E:
- ldrb r0, [r7, 0xC]
- adds r0, 0x1
-_0814CF92:
- strb r0, [r7, 0xC]
-_0814CF94:
- movs r0, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814CC0C
-
- thumb_func_start sub_814CFA8
-sub_814CFA8: @ 814CFA8
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _0814D084
- lsls r0, 2
- ldr r1, _0814CFC0 @ =_0814CFC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814CFC0: .4byte _0814CFC4
- .align 2, 0
-_0814CFC4:
- .4byte _0814CFD8
- .4byte _0814CFEA
- .4byte _0814CFFC
- .4byte _0814D02C
- .4byte _0814D03C
-_0814CFD8:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- adds r0, r5, 0
- bl sub_814E644
- cmp r0, 0
- bne _0814D084
- b _0814D08A
-_0814CFEA:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1E
- strb r0, [r1]
- b _0814D084
-_0814CFFC:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0814D00E
- subs r0, 0x1
- strb r0, [r1]
- b _0814D08A
-_0814D00E:
- ldr r0, _0814D028 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814D08A
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_814E80C
- b _0814D084
- .align 2, 0
-_0814D028: .4byte gMain
-_0814D02C:
- ldrh r0, [r5, 0x12]
- cmp r0, 0xC
- bhi _0814D084
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0814D08A
-_0814D03C:
- ldr r0, _0814D07C @ =gStringVar1
- ldr r1, [r5, 0x1C]
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, _0814D080 @ =gStringVar2
- bl GetBerryPowder
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x3
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- strb r4, [r5, 0xC]
- b _0814D08A
- .align 2, 0
-_0814D07C: .4byte gStringVar1
-_0814D080: .4byte gStringVar2
-_0814D084:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D08A:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814CFA8
-
- thumb_func_start sub_814D094
-sub_814D094: @ 814D094
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x4
- bhi _0814D178
- lsls r0, 2
- ldr r1, _0814D0AC @ =_0814D0B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814D0AC: .4byte _0814D0B0
- .align 2, 0
-_0814D0B0:
- .4byte _0814D0C4
- .4byte _0814D100
- .4byte _0814D106
- .4byte _0814D150
- .4byte _0814D164
-_0814D0C4:
- ldrh r1, [r5, 0x28]
- ldr r0, _0814D0FC @ =0x00008c9f
- cmp r1, r0
- bls _0814D0D6
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_814EB04
-_0814D0D6:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_814D5A4
- movs r4, 0
- movs r0, 0x13
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- strb r4, [r5, 0xC]
- b _0814D17E
- .align 2, 0
-_0814D0FC: .4byte 0x00008c9f
-_0814D100:
- bl sub_80FA42C
- b _0814D178
-_0814D106:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814D17E
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, _0814D148 @ =gText_SavingDontTurnOffThePower2
- 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, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, _0814D14C @ =sub_80DA634
- movs r1, 0
- bl CreateTask
- b _0814D178
- .align 2, 0
-_0814D148: .4byte gText_SavingDontTurnOffThePower2
-_0814D14C: .4byte sub_80DA634
-_0814D150:
- ldr r0, _0814D160 @ =sub_80DA634
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _0814D178
- b _0814D17E
- .align 2, 0
-_0814D160: .4byte sub_80DA634
-_0814D164:
- movs r0, 0x14
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r1, 0
- movs r0, 0xF
- strh r0, [r5, 0x12]
- strb r1, [r5, 0xC]
- b _0814D17E
-_0814D178:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D17E:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D094
-
- thumb_func_start sub_814D188
-sub_814D188: @ 814D188
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r0, [r5, 0xC]
- cmp r0, 0x1
- beq _0814D1CA
- cmp r0, 0x1
- bgt _0814D1A0
- cmp r0, 0
- beq _0814D1A6
- b _0814D230
-_0814D1A0:
- cmp r0, 0x2
- beq _0814D1D0
- b _0814D230
-_0814D1A6:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x14
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0
- strb r0, [r5, 0xC]
- b _0814D238
-_0814D1CA:
- bl DisplayYesNoMenuDefaultYes
- b _0814D230
-_0814D1D0:
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _0814D236
- adds r0, r5, 0
- adds r0, 0x42
- movs r1, 0
- movs r2, 0xC
- bl memset
- cmp r4, 0
- bne _0814D202
- bl CheckHasAtLeastOneBerry
- lsls r0, 24
- cmp r0, 0
- beq _0814D1FE
- strh r4, [r5, 0x14]
- b _0814D206
-_0814D1FE:
- movs r0, 0x3
- b _0814D204
-_0814D202:
- movs r0, 0x1
-_0814D204:
- strh r0, [r5, 0x14]
-_0814D206:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_814D5A4
- movs r0, 0x15
- strb r0, [r5, 0xE]
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- strb r4, [r5, 0xC]
- b _0814D236
-_0814D230:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D236:
- movs r0, 0
-_0814D238:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814D188
-
- thumb_func_start sub_814D240
-sub_814D240: @ 814D240
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- beq _0814D266
- cmp r0, 0x1
- bgt _0814D256
- cmp r0, 0
- beq _0814D260
- b _0814D30C
-_0814D256:
- cmp r0, 0x2
- beq _0814D288
- cmp r0, 0x3
- beq _0814D296
- b _0814D30C
-_0814D260:
- bl sub_80FA42C
- b _0814D30C
-_0814D266:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814D312
- ldrh r0, [r4, 0x14]
- adds r1, r4, 0
- adds r1, 0x42
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4E
- strh r5, [r0]
- movs r0, 0
- movs r2, 0x2
- bl SendBlock
- b _0814D30C
-_0814D288:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814D312
- strh r5, [r4, 0x10]
- b _0814D30C
-_0814D296:
- bl GetBlockReceivedStatus
- ldr r2, _0814D2E8 @ =gUnknown_846E3C8
- ldrb r3, [r4, 0x9]
- subs r1, r3, 0x2
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0814D312
- adds r7, r4, 0
- adds r7, 0x42
- adds r6, r4, 0
- adds r6, 0x4E
- cmp r5, r3
- bcs _0814D2D4
- adds r1, r6, 0
- ldr r2, _0814D2EC @ =gBlockRecvBuffer
-_0814D2BC:
- lsls r0, r5, 8
- adds r0, r2
- ldrh r0, [r0]
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4, 0x9]
- cmp r5, r0
- bcc _0814D2BC
-_0814D2D4:
- ldrh r0, [r6]
- cmp r0, 0
- beq _0814D2F0
- movs r0, 0x17
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- b _0814D2FA
- .align 2, 0
-_0814D2E8: .4byte gUnknown_846E3C8
-_0814D2EC: .4byte gBlockRecvBuffer
-_0814D2F0:
- movs r0, 0x16
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
-_0814D2FA:
- bl ResetBlockReceivedFlags
- movs r1, 0
- movs r0, 0
- strh r0, [r7]
- strh r0, [r6]
- strh r0, [r4, 0x10]
- strb r1, [r4, 0xC]
- b _0814D314
-_0814D30C:
- ldrb r0, [r4, 0xC]
- adds r0, 0x1
- strb r0, [r4, 0xC]
-_0814D312:
- movs r0, 0
-_0814D314:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814D240
-
- thumb_func_start sub_814D31C
-sub_814D31C: @ 814D31C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _0814D34A
- cmp r4, 0x1
- bgt _0814D332
- cmp r4, 0
- beq _0814D33C
- b _0814D394
-_0814D332:
- cmp r4, 0x2
- beq _0814D356
- cmp r4, 0x3
- beq _0814D37A
- b _0814D394
-_0814D33C:
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- b _0814D370
-_0814D34A:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0814D394
- b _0814D39A
-_0814D356:
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- adds r0, r5, 0
- bl sub_814DA04
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
-_0814D370:
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0814D394
-_0814D37A:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _0814D39A
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- movs r0, 0
- strh r4, [r5, 0x12]
- b _0814D398
-_0814D394:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
-_0814D398:
- strb r0, [r5, 0xC]
-_0814D39A:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D31C
-
- thumb_func_start sub_814D3A4
-sub_814D3A4: @ 814D3A4
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _0814D41C
- cmp r4, 0x1
- bgt _0814D3BA
- cmp r4, 0
- beq _0814D3C0
- b _0814D456
-_0814D3BA:
- cmp r4, 0x2
- beq _0814D434
- b _0814D456
-_0814D3C0:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldrh r1, [r5, 0x14]
- cmp r1, 0x3
- bne _0814D3F0
- ldr r0, _0814D3EC @ =gUnknown_846E328
- ldr r2, [r0, 0x14]
- ldrb r3, [r5, 0xB]
- str r4, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r0, 0
- movs r1, 0x2
- bl AddTextPrinterParameterized2
- b _0814D40C
- .align 2, 0
-_0814D3EC: .4byte gUnknown_846E328
-_0814D3F0:
- ldr r0, _0814D418 @ =gUnknown_846E328
- ldr r2, [r0, 0x18]
- ldrb r3, [r5, 0xB]
- 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, 0x2
- bl AddTextPrinterParameterized2
-_0814D40C:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- b _0814D456
- .align 2, 0
-_0814D418: .4byte gUnknown_846E328
-_0814D41C:
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0814D45C
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x78
- strb r0, [r1]
- b _0814D456
-_0814D434:
- movs r0, 0x9C
- lsls r0, 1
- adds r1, r5, r0
- ldrb r0, [r1]
- adds r4, r0, 0
- cmp r4, 0
- beq _0814D448
- subs r0, 0x1
- strb r0, [r1]
- b _0814D45C
-_0814D448:
- movs r0, 0x18
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- strb r4, [r5, 0xC]
- b _0814D45C
-_0814D456:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D45C:
- movs r0, 0
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D3A4
-
- thumb_func_start sub_814D468
-sub_814D468: @ 814D468
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r4, [r5, 0xC]
- cmp r4, 0x1
- beq _0814D488
- cmp r4, 0x1
- bgt _0814D47C
- cmp r4, 0
- beq _0814D482
- b _0814D4B8
-_0814D47C:
- cmp r4, 0x2
- beq _0814D498
- b _0814D4B8
-_0814D482:
- bl sub_80FA42C
- b _0814D4B8
-_0814D488:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814D4BE
- bl sub_800AAC0
- b _0814D4B8
-_0814D498:
- ldr r0, _0814D4B4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _0814D4BE
- movs r0, 0x19
- strb r0, [r5, 0xE]
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_814BB4C
- strb r4, [r5, 0xC]
- b _0814D4BE
- .align 2, 0
-_0814D4B4: .4byte gReceivedRemoteLinkPlayers
-_0814D4B8:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D4BE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D468
-
- thumb_func_start sub_814D4C8
-sub_814D4C8: @ 814D4C8
- push {lr}
- movs r0, 0
- bl sub_814B6FC
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_814D4C8
-
- thumb_func_start sub_814D4D8
-sub_814D4D8: @ 814D4D8
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r0, 0x33
- bl IncrementGameStat
- strb r5, [r4, 0xD]
- movs r1, 0
- strh r5, [r4, 0x10]
- movs r0, 0x2
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- str r5, [r4, 0x1C]
- strh r5, [r4, 0x18]
- strh r5, [r4, 0x1A]
- str r5, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x24
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x25
- movs r0, 0
- strb r0, [r1]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x28]
- strh r5, [r4, 0x2E]
- ldr r0, _0814D560 @ =0x0000ffff
- strh r0, [r4, 0x32]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x34]
- movs r6, 0
- movs r3, 0
-_0814D518:
- lsls r0, r5, 5
- adds r2, r4, r0
- adds r1, r2, 0
- adds r1, 0xA4
- ldr r0, _0814D560 @ =0x0000ffff
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA6
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r1, 0x6
- movs r0, 0x1
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0xAC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0814D518
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814D560: .4byte 0x0000ffff
- thumb_func_end sub_814D4D8
-
- thumb_func_start sub_814D564
-sub_814D564: @ 814D564
- push {r4-r6,lr}
- sub sp, 0x8
- str r2, [sp, 0x4]
- ldr r5, [sp, 0x18]
- ldr r6, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- mov r2, sp
- strh r4, [r2]
- add r4, sp, 0x4
- ldrb r2, [r4]
- strb r2, [r0]
- ldrb r2, [r4, 0x1]
- strb r2, [r0, 0x1]
- ldrb r2, [r4, 0x2]
- strb r2, [r0, 0x2]
- ldrb r2, [r4, 0x3]
- strb r2, [r0, 0x3]
- strb r3, [r0, 0x4]
- strb r5, [r0, 0x5]
- strb r6, [r0, 0x6]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r0, 0x7]
- mov r2, sp
- ldrb r2, [r2, 0x1]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814D564
-
- thumb_func_start sub_814D5A4
-sub_814D5A4: @ 814D5A4
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- mov r4, sp
- strh r3, [r4]
- strb r1, [r0]
- strb r2, [r0, 0x1]
- mov r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x2]
- mov r1, sp
- ldrb r1, [r1, 0x1]
- strb r1, [r0, 0x3]
- strb r5, [r0, 0x4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814D5A4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_crush_3.s b/asm/berry_crush_3.s
deleted file mode 100644
index 9e3334a7f..000000000
--- a/asm/berry_crush_3.s
+++ /dev/null
@@ -1,3431 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_814D5C8
-sub_814D5C8: @ 814D5C8
- push {r4,r5,lr}
- sub sp, 0xC
- bl sub_814B6F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0814D5DC
- movs r0, 0x1
- negs r0, r0
- b _0814D880
-_0814D5DC:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x9
- bls _0814D5E4
- b _0814D878
-_0814D5E4:
- lsls r0, 2
- ldr r1, _0814D5F0 @ =_0814D5F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814D5F0: .4byte _0814D5F4
- .align 2, 0
-_0814D5F4:
- .4byte _0814D61C
- .4byte _0814D63A
- .4byte _0814D660
- .4byte _0814D66E
- .4byte _0814D6F4
- .4byte _0814D73A
- .4byte _0814D768
- .4byte _0814D798
- .4byte _0814D7F4
- .4byte _0814D830
-_0814D61C:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- bl ScanlineEffect_Stop
- bl ResetTempTileDataBuffers
- b _0814D878
-_0814D63A:
- add r0, sp, 0x8
- movs r4, 0
- strh r4, [r0]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, _0814D658 @ =0x01000200
- bl CpuSet
- ldr r0, _0814D65C @ =gReservedSpritePaletteCount
- strb r4, [r0]
- movs r0, 0x3
- bl sub_815C980
- b _0814D878
- .align 2, 0
-_0814D658: .4byte 0x01000200
-_0814D65C: .4byte gReservedSpritePaletteCount
-_0814D660:
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _0814D878
-_0814D66E:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0814D6F0 @ =gUnknown_846E3CC
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- movs r0, 0x87
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- movs r0, 0xC7
- lsls r0, 6
- adds r1, r5, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- 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
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- b _0814D878
- .align 2, 0
-_0814D6F0: .4byte gUnknown_846E3CC
-_0814D6F4:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- movs r0, 0x40
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- b _0814D878
-_0814D73A:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r1, _0814D764 @ =gUnknown_8EAFFC0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- b _0814D878
- .align 2, 0
-_0814D764: .4byte gUnknown_8EAFFC0
-_0814D768:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- beq _0814D774
- b _0814D87E
-_0814D774:
- bl InitStandardTextBoxWindows
- bl ResetBg0
- adds r0, r5, 0
- bl sub_814EB38
- adds r0, r5, 0
- bl sub_814EBB0
- ldr r0, _0814D794 @ =gPaletteFade
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- b _0814D878
- .align 2, 0
-_0814D794: .4byte gPaletteFade
-_0814D798:
- ldr r0, _0814D7E4 @ =gUnknown_8EAFEA0
- movs r2, 0xC0
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- ldr r1, _0814D7E8 @ =gUnknown_846ED90
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, _0814D7EC @ =gUnknown_846EEC0
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, _0814D7F0 @ =gUnknown_846F058
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- adds r0, r5, 0
- bl sub_814EC80
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0814D878
- .align 2, 0
-_0814D7E4: .4byte gUnknown_8EAFEA0
-_0814D7E8: .4byte gUnknown_846ED90
-_0814D7EC: .4byte gUnknown_846EEC0
-_0814D7F0: .4byte gUnknown_846F058
-_0814D7F4:
- bl LoadWirelessStatusIndicatorSpriteGfx
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- adds r0, r5, 0
- bl sub_814ECE0
- ldr r0, _0814D82C @ =gSpriteCoordOffsetY
- ldrh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _0814D878
- .align 2, 0
-_0814D82C: .4byte gSpriteCoordOffsetY
-_0814D830:
- ldr r2, _0814D874 @ =gPaletteFade
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuRegBits
- bl sub_814B914
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _0814D880
- .align 2, 0
-_0814D874: .4byte gPaletteFade
-_0814D878:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D87E:
- movs r0, 0
-_0814D880:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D5C8
-
- thumb_func_start sub_814D888
-sub_814D888: @ 814D888
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_814B6F0
- adds r5, r0, 0
- cmp r5, 0
- bne _0814D89C
- movs r0, 0x1
- negs r0, r0
- b _0814D9C2
-_0814D89C:
- ldrb r0, [r5, 0xC]
- cmp r0, 0x7
- bls _0814D8A4
- b _0814D9BA
-_0814D8A4:
- lsls r0, 2
- ldr r1, _0814D8B0 @ =_0814D8B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814D8B0: .4byte _0814D8B4
- .align 2, 0
-_0814D8B4:
- .4byte _0814D8D4
- .4byte _0814D8DA
- .4byte _0814D8E4
- .4byte _0814D8FA
- .4byte _0814D906
- .4byte _0814D962
- .4byte _0814D9A2
- .4byte _0814D9B2
-_0814D8D4:
- bl sub_80FA42C
- b _0814D9BA
-_0814D8DA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0814D9C0
-_0814D8E4:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl UpdatePaletteFade
- b _0814D9BA
-_0814D8FA:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- beq _0814D9BA
- b _0814D9C0
-_0814D906:
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _0814D9BA
-_0814D962:
- bl FreeAllWindowBuffers
- movs r0, 0
- bl HideBg
- movs r0, 0
- bl UnsetBgTilemapBuffer
- movs r0, 0x1
- bl HideBg
- movs r0, 0x1
- bl UnsetBgTilemapBuffer
- movs r0, 0x2
- bl HideBg
- movs r0, 0x2
- bl UnsetBgTilemapBuffer
- movs r0, 0x3
- bl HideBg
- movs r0, 0x3
- bl UnsetBgTilemapBuffer
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl ClearGpuRegBits
- b _0814D9BA
-_0814D9A2:
- bl DestroyWirelessStatusIndicatorSprite
- adds r0, r5, 0
- bl sub_814EF10
- bl sub_815C9F4
- b _0814D9BA
-_0814D9B2:
- movs r0, 0
- strb r0, [r5, 0xC]
- movs r0, 0x1
- b _0814D9C2
-_0814D9BA:
- ldrb r0, [r5, 0xC]
- adds r0, 0x1
- strb r0, [r5, 0xC]
-_0814D9C0:
- movs r0, 0
-_0814D9C2:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814D888
-
- thumb_func_start sub_814D9CC
-sub_814D9CC: @ 814D9CC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0814DA00 @ =gSpriteCoordOffsetY
- ldrh r1, [r4, 0x2C]
- ldrh r2, [r4, 0x2A]
- adds r1, r2
- strh r1, [r0]
- negs r1, r1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x16
- bl SetGpuReg
- ldrh r0, [r4, 0x12]
- cmp r0, 0x7
- bne _0814D9F8
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r4, r1
- ldrh r1, [r4, 0x28]
- bl sub_814EAD4
-_0814D9F8:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0814DA00: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_814D9CC
-
- thumb_func_start sub_814DA04
-sub_814DA04: @ 814DA04
- movs r1, 0
- ldr r2, _0814DA18 @ =0x0000ff98
- strh r2, [r0, 0x2A]
- strh r1, [r0, 0x2C]
- ldr r0, _0814DA1C @ =gSpriteCoordOffsetX
- strh r1, [r0]
- ldr r0, _0814DA20 @ =gSpriteCoordOffsetY
- strh r2, [r0]
- bx lr
- .align 2, 0
-_0814DA18: .4byte 0x0000ff98
-_0814DA1C: .4byte gSpriteCoordOffsetX
-_0814DA20: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_814DA04
-
- thumb_func_start sub_814DA24
-sub_814DA24: @ 814DA24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- str r1, [sp]
- movs r0, 0
- mov r9, r0
- mov r1, r10
- ldrb r1, [r1, 0x9]
- cmp r9, r1
- bcc _0814DA42
- b _0814DB60
-_0814DA42:
- ldr r1, _0814DB70 @ =gUnknown_846F2EC
- mov r2, r9
- lsls r0, r2, 1
- adds r0, r1
- ldrh r2, [r0]
- mov r1, r9
- lsls r0, r1, 5
- add r0, r10
- adds r0, 0xA4
- ldrh r3, [r0]
- adds r3, 0x85
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _0814DB74 @ =gUnknown_846F470
- adds r1, r2, 0
- bl AddItemIconObjectWithCustomObjectTemplate
- lsls r0, 24
- lsrs r0, 24
- mov r2, r9
- lsls r3, r2, 2
- ldr r1, [sp]
- adds r1, 0x38
- adds r6, r1, r3
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0814DB78 @ =gSprites
- adds r1, r0
- str r1, [r6]
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r2, [r6]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r6]
- ldr r0, [sp]
- adds r0, 0xC
- adds r0, r3
- mov r8, r0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- adds r0, 0x78
- strh r0, [r1, 0x20]
- ldr r1, [r6]
- ldr r0, _0814DB7C @ =0x0000fff0
- strh r0, [r1, 0x22]
- ldr r3, [r6]
- adds r5, r3, 0
- adds r5, 0x2E
- movs r0, 0x80
- lsls r0, 2
- strh r0, [r5, 0x2]
- movs r0, 0x20
- strh r0, [r5, 0x4]
- movs r0, 0x70
- strh r0, [r5, 0xE]
- mov r2, r8
- ldr r1, [r2]
- ldrh r0, [r1, 0xA]
- ldrh r1, [r1, 0x8]
- subs r0, r1
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _0814DAD4
- adds r0, r1, 0x3
-_0814DAD4:
- asrs r0, 2
- strh r0, [r5, 0xC]
- lsls r0, r1, 23
- lsrs r7, r0, 16
- movs r2, 0x80
- lsls r2, 2
- adds r2, 0x20
- lsrs r2, 1
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- str r3, [sp, 0x4]
- bl sub_80D8B40
- adds r4, r0, 0
- ldr r0, [r6]
- ldrh r0, [r0, 0x20]
- lsls r0, 7
- ldr r3, [sp, 0x4]
- strh r0, [r3, 0x2E]
- lsls r1, r7, 16
- asrs r1, 16
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x7
- adds r2, r4, 0
- bl sub_80D8B40
- strh r0, [r5, 0x6]
- movs r0, 0x7
- adds r1, r4, 0
- movs r2, 0x55
- bl sub_80D8ABC
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r5, 0x8]
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- movs r1, 0xFE
- lsls r1, 6
- bl sub_80D8B40
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0xE]
- ldr r2, _0814DB80 @ =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r5, 0xE]
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _0814DB4C
- ldr r0, [r6]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_0814DB4C:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r10
- ldrb r0, [r0, 0x9]
- cmp r9, r0
- bcs _0814DB60
- b _0814DA42
-_0814DB60:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814DB70: .4byte gUnknown_846F2EC
-_0814DB74: .4byte gUnknown_846F470
-_0814DB78: .4byte gSprites
-_0814DB7C: .4byte 0x0000fff0
-_0814DB80: .4byte 0xffff8000
- thumb_func_end sub_814DA24
-
- thumb_func_start sub_814DB84
-sub_814DB84: @ 814DB84
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _0814DBEA
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _0814DBEA
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _0814DBEA
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, _0814DC1C @ =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_0814DBEA:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, _0814DC1C @ =0x00007fff
- ands r0, r2
- cmp r1, r0
- blt _0814DC16
- ldr r0, _0814DC20 @ =SpriteCallbackDummy
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- bl FreeSpriteOamMatrix
- adds r0, r5, 0
- bl DestroySprite
-_0814DC16:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814DC1C: .4byte 0x00007fff
-_0814DC20: .4byte SpriteCallbackDummy
- thumb_func_end sub_814DB84
-
- thumb_func_start sub_814DC24
-sub_814DC24: @ 814DC24
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcs _0814DC50
- ldr r7, _0814DC58 @ =gUnknown_846F2EC
-_0814DC32:
- lsls r0, r5, 1
- adds r0, r7
- ldrh r4, [r0]
- adds r0, r4, 0
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl FreeSpriteTilesByTag
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _0814DC32
-_0814DC50:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814DC58: .4byte gUnknown_846F2EC
- thumb_func_end sub_814DC24
-
- thumb_func_start sub_814DC5C
-sub_814DC5C: @ 814DC5C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- str r1, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0x4E
- adds r1, r6
- mov r10, r1
- mov r9, r0
- ldrb r2, [r6, 0x9]
- cmp r0, r2
- bcs _0814DD2A
- ldr r7, _0814DCC0 @ =gUnknown_846F2D0
-_0814DC80:
- mov r3, r10
- ldrh r0, [r3, 0xA]
- mov r4, r9
- lsls r1, r4, 1
- add r1, r9
- asrs r0, r1
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- mov r8, r1
- cmp r1, 0
- beq _0814DD1A
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0814DCC4
- lsls r4, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0814DCD6
- .align 2, 0
-_0814DCC0: .4byte gUnknown_846F2D0
-_0814DCC4:
- mov r0, r9
- lsls r4, r0, 2
- ldr r5, [sp]
- adds r5, 0x24
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0814DCD6:
- adds r3, r5, r4
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r4, 0x5
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- subs r4, 0x3C
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- mov r8, r1
- subs r1, 0x1
- lsls r1, 1
- adds r0, r1, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r2, 0x24]
- ldr r2, [r3]
- ldr r3, _0814DD38 @ =gUnknown_846F2D0 + 1
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- strh r0, [r2, 0x26]
-_0814DD1A:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r4, [r6, 0x9]
- cmp r9, r4
- bcc _0814DC80
-_0814DD2A:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0814DD3C
- adds r2, r6, 0
- adds r2, 0x25
- ldrb r1, [r2]
- b _0814DE18
- .align 2, 0
-_0814DD38: .4byte gUnknown_846F2D0 + 1
-_0814DD3C:
- ldrh r0, [r6, 0x28]
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, r8
- str r1, [sp, 0x8]
- movs r2, 0
- mov r9, r2
- mov r3, r10
- ldrh r1, [r3, 0xC]
- lsls r0, r1, 1
- adds r0, 0x3
- adds r6, 0x25
- str r6, [sp, 0xC]
- adds r3, r1, 0
- cmp r9, r0
- bge _0814DE0C
-_0814DD64:
- mov r4, r9
- lsls r1, r4, 2
- ldr r0, [sp]
- adds r0, 0x4C
- adds r7, r0, r1
- ldr r2, [r7]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0814DDFA
- ldr r0, _0814DDD0 @ =sub_814F0D8
- str r0, [r2, 0x1C]
- lsls r1, r4, 1
- ldr r3, _0814DDD4 @ =gUnknown_846F2D6
- adds r0, r1, r3
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r4, 0
- adds r0, 0x78
- strh r0, [r2, 0x20]
- ldr r2, [r7]
- ldr r0, _0814DDD8 @ =gUnknown_846F2D6 + 1
- adds r1, r0
- movs r6, 0
- ldrsb r6, [r1, r6]
- mov r1, r8
- lsls r0, r1, 2
- subs r0, 0x88
- subs r0, r6, r0
- strh r0, [r2, 0x22]
- ldr r5, [r7]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 2
- adds r0, r4, 0
- bl __divsi3
- adds r4, r0
- strh r4, [r5, 0x24]
- ldr r0, [r7]
- strh r6, [r0, 0x26]
- mov r3, r10
- ldrb r1, [r3, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0814DDDC
- ldr r0, [r7]
- movs r1, 0x1
- bl StartSpriteAnim
- b _0814DDE4
- .align 2, 0
-_0814DDD0: .4byte sub_814F0D8
-_0814DDD4: .4byte gUnknown_846F2D6
-_0814DDD8: .4byte gUnknown_846F2D6 + 1
-_0814DDDC:
- ldr r0, [r7]
- movs r1, 0
- bl StartSpriteAnim
-_0814DDE4:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r4, r10
- ldrh r3, [r4, 0xC]
- cmp r0, 0x3
- bls _0814DDFA
- movs r0, 0
- mov r8, r0
-_0814DDFA:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r0, r3, 1
- adds r0, 0x3
- cmp r9, r0
- blt _0814DD64
-_0814DE0C:
- ldr r2, [sp, 0xC]
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0814DE22
-_0814DE18:
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _0814DE40
-_0814DE22:
- ldr r3, [sp, 0x4]
- cmp r3, 0x1
- bne _0814DE30
- movs r0, 0x47
- bl PlaySE
- b _0814DE36
-_0814DE30:
- movs r0, 0x46
- bl PlaySE
-_0814DE36:
- ldr r4, [sp, 0xC]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_0814DE40:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814DC5C
-
- thumb_func_start sub_814DE50
-sub_814DE50: @ 814DE50
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- movs r2, 0
- ldrb r0, [r5, 0x9]
- cmp r2, r0
- bcs _0814DE82
- adds r4, r6, 0
- adds r4, 0x24
- movs r7, 0x4
- adds r3, r0, 0
-_0814DE66:
- lsls r0, r2, 2
- adds r0, r4, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0814DE9C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _0814DE66
-_0814DE82:
- movs r2, 0
- adds r3, r6, 0
- adds r3, 0x4C
- movs r4, 0x4
-_0814DE8A:
- lsls r0, r2, 2
- adds r0, r3, r0
- ldr r0, [r0]
- adds r0, 0x3E
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _0814DEA0
-_0814DE9C:
- movs r0, 0
- b _0814DEB8
-_0814DEA0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _0814DE8A
- movs r1, 0x2C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _0814DEB6
- movs r0, 0
- strh r0, [r5, 0x2C]
-_0814DEB6:
- movs r0, 0x1
-_0814DEB8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_814DE50
-
- thumb_func_start sub_814DEC0
-sub_814DEC0: @ 814DEC0
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- movs r7, 0
- movs r5, 0xE1
- lsls r5, 4
- adds r0, r4, 0
- adds r1, r5, 0
- bl __udivsi3
- strh r0, [r6, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3C
- bl __udivsi3
- strh r0, [r6, 0x6]
- adds r0, r4, 0
- movs r1, 0x3C
- bl __umodsi3
- lsls r0, 24
- asrs r0, 16
- movs r1, 0x4
- bl sub_80D8AA0
- adds r2, r7, 0
- lsls r0, 16
- asrs r3, r0, 16
- movs r0, 0x7
- mov r12, r0
- ldr r5, _0814DF3C @ =gUnknown_846E450
- movs r4, 0x1
-_0814DF0C:
- mov r0, r12
- subs r1, r0, r2
- adds r0, r3, 0
- asrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _0814DF22
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- adds r7, r0
-_0814DF22:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _0814DF0C
- ldr r1, _0814DF40 @ =1000000
- adds r0, r7, 0
- bl __udivsi3
- strh r0, [r6, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814DF3C: .4byte gUnknown_846E450
-_0814DF40: .4byte 1000000
- thumb_func_end sub_814DEC0
-
- thumb_func_start sub_814DF44
-sub_814DF44: @ 814DF44
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x2
- mov r1, r8
- bl GetStringWidth
- lsls r4, 2
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r5, 1
- adds r0, r5
- ldr r1, _0814DFA0 @ =gUnknown_846E3DC
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814DFA0: .4byte gUnknown_846E3DC
- thumb_func_end sub_814DF44
-
- thumb_func_start sub_814DFA4
-sub_814DFA4: @ 814DFA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r0, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x10]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x18]
- movs r0, 0
- mov r8, r0
- movs r1, 0
- str r1, [sp, 0x1C]
- movs r2, 0
- str r2, [sp, 0x20]
- ldr r4, [sp, 0xC]
- adds r4, 0x68
- str r4, [sp, 0x24]
- ldr r0, [sp, 0xC]
- ldrb r0, [r0, 0x9]
- cmp r8, r0
- bcc _0814DFE0
- b _0814E30C
-_0814DFE0:
- ldr r1, [sp, 0x10]
- lsls r1, 2
- str r1, [sp, 0x28]
- movs r4, 0xDD
- lsls r4, 1
- ldr r2, [sp, 0xC]
- adds r4, r2, r4
- str r4, [sp, 0x2C]
-_0814DFF0:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- beq _0814E0E4
- cmp r0, 0x1
- bgt _0814E00A
- cmp r0, 0
- beq _0814E01A
- mov r1, r8
- lsls r1, 3
- mov r9, r1
- b _0814E0C8
-_0814E00A:
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _0814E012
- b _0814E200
-_0814E012:
- mov r1, r8
- lsls r1, 3
- mov r9, r1
- b _0814E0C8
-_0814E01A:
- ldr r0, [sp, 0x24]
- adds r0, 0x20
- add r0, r8
- ldrb r0, [r0]
- str r0, [sp, 0x1C]
- mov r0, r8
- lsls r3, r0, 1
- ldr r2, [sp, 0x24]
- adds r2, 0xC
- cmp r0, 0
- beq _0814E048
- adds r0, r2, r3
- mov r1, r8
- subs r1, 0x1
- lsls r1, 1
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _0814E048
- mov r4, r8
- adds r1, r4, 0
- str r1, [sp, 0x20]
-_0814E048:
- ldr r1, [sp, 0x28]
- ldr r4, [sp, 0x10]
- adds r0, r1, r4
- lsls r0, 1
- adds r0, r3, r0
- adds r0, r2, r0
- ldrh r1, [r0]
- ldr r0, _0814E0D8 @ =gStringVar1
- movs r2, 0x1
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, _0814E0DC @ =gUnknown_846F4B8
- ldr r1, [sp, 0x28]
- adds r0, r1, r0
- ldr r5, [r0]
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- ldr r2, [sp, 0x14]
- subs r0, r2, r0
- subs r0, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, [sp, 0x2C]
- ldrb r0, [r4]
- mov r1, r8
- lsls r6, r1, 3
- subs r4, r6, r1
- lsls r4, 1
- ldr r2, [sp, 0x18]
- adds r4, r2, r4
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0814E0E0 @ =gUnknown_846E3DC
- str r1, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r7, 0
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- ldr r1, [sp, 0x2C]
- ldrb r0, [r1]
- adds r2, r7, 0
- subs r2, 0x18
- lsls r2, 24
- lsrs r2, 24
- ldr r1, _0814E0E0 @ =gUnknown_846E3DC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, _0814E0D8 @ =gStringVar1
- str r1, [sp, 0x8]
- movs r1, 0x2
- adds r3, r4, 0
- bl AddTextPrinterParameterized3
- mov r9, r6
-_0814E0C8:
- ldr r6, [sp, 0x20]
- adds r6, 0xA2
- ldr r2, [sp, 0x1C]
- lsls r5, r2, 5
- movs r4, 0x1
- add r4, r8
- mov r10, r4
- b _0814E27E
- .align 2, 0
-_0814E0D8: .4byte gStringVar1
-_0814E0DC: .4byte gUnknown_846F4B8
-_0814E0E0: .4byte gUnknown_846E3DC
-_0814E0E4:
- ldr r0, [sp, 0x24]
- add r0, r8
- adds r0, 0x28
- ldrb r0, [r0]
- str r0, [sp, 0x1C]
- mov r0, r8
- lsls r3, r0, 1
- ldr r2, [sp, 0x24]
- adds r2, 0xC
- cmp r0, 0
- beq _0814E116
- adds r0, r3, 0
- adds r0, 0xA
- adds r0, r2, r0
- mov r4, r8
- lsls r1, r4, 1
- adds r1, 0x8
- adds r1, r2, r1
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- beq _0814E116
- mov r1, r8
- adds r0, r1, 0
- str r0, [sp, 0x20]
-_0814E116:
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x10]
- adds r4, r0, r1
- lsls r4, 1
- adds r4, r3, r4
- adds r4, r2, r4
- ldrh r1, [r4]
- lsrs r1, 4
- ldr r0, _0814E1E4 @ =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r3, 0
- ldrb r0, [r4]
- movs r7, 0xF
- ands r7, r0
- movs r2, 0
- ldr r4, [sp, 0x10]
- lsls r4, 2
- str r4, [sp, 0x34]
- mov r0, r8
- lsls r0, 3
- mov r9, r0
- ldr r1, [sp, 0x14]
- subs r1, 0x4
- str r1, [sp, 0x30]
- ldr r6, [sp, 0x20]
- adds r6, 0xA2
- ldr r4, [sp, 0x1C]
- lsls r5, r4, 5
- movs r0, 0x1
- add r0, r8
- mov r10, r0
- movs r1, 0x1
- mov r12, r1
- ldr r4, _0814E1E8 @ =gUnknown_846E450
-_0814E160:
- movs r0, 0x3
- subs r1, r0, r2
- adds r0, r7, 0
- asrs r0, r1
- mov r1, r12
- ands r0, r1
- cmp r0, 0
- beq _0814E178
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- adds r3, r0
-_0814E178:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0814E160
- adds r0, r3, 0
- ldr r1, _0814E1EC @ =1000000
- bl __udivsi3
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0814E1F0 @ =gStringVar2
- adds r1, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _0814E1F4 @ =gUnknown_846F4B8
- ldr r2, [sp, 0x34]
- adds r0, r2, r0
- ldr r1, [r0]
- ldr r0, _0814E1F8 @ =gStringVar4
- bl StringExpandPlaceholders
- movs r0, 0x2
- ldr r1, _0814E1F8 @ =gStringVar4
- movs r2, 0
- bl GetStringWidth
- adds r2, r0, 0
- ldr r4, [sp, 0x30]
- subs r2, r4, r2
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x2C]
- ldrb r0, [r1]
- mov r4, r9
- mov r1, r8
- subs r3, r4, r1
- lsls r3, 1
- ldr r4, [sp, 0x18]
- adds r3, r4, r3
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _0814E1FC @ =gUnknown_846E3DC
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, _0814E1F8 @ =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized3
- b _0814E27E
- .align 2, 0
-_0814E1E4: .4byte gStringVar1
-_0814E1E8: .4byte gUnknown_846E450
-_0814E1EC: .4byte 1000000
-_0814E1F0: .4byte gStringVar2
-_0814E1F4: .4byte gUnknown_846F4B8
-_0814E1F8: .4byte gStringVar4
-_0814E1FC: .4byte gUnknown_846E3DC
-_0814E200:
- mov r2, r8
- str r2, [sp, 0x1C]
- mov r0, r8
- adds r4, r0, 0
- str r4, [sp, 0x20]
- lsls r5, r0, 5
- ldr r1, [sp, 0xC]
- adds r0, r1, r5
- adds r0, 0xA4
- ldrb r2, [r0]
- cmp r2, 0x2B
- bls _0814E21A
- movs r2, 0
-_0814E21A:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _0814E294 @ =gBerries
- adds r1, r0
- ldr r0, _0814E298 @ =gStringVar1
- bl StringCopy
- ldr r0, _0814E29C @ =gUnknown_846F4B8
- ldr r1, [r0, 0x8]
- ldr r0, _0814E2A0 @ =gStringVar4
- bl StringExpandPlaceholders
- movs r0, 0x2
- ldr r1, _0814E2A0 @ =gStringVar4
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r2, r0, 0
- ldr r4, [sp, 0x14]
- subs r2, r4, r2
- subs r2, 0x4
- lsls r2, 24
- lsrs r2, 24
- ldr r1, [sp, 0x2C]
- ldrb r0, [r1]
- mov r1, r8
- lsls r4, r1, 3
- subs r3, r4, r1
- lsls r3, 1
- ldr r1, [sp, 0x18]
- adds r3, r1, r3
- lsls r3, 24
- lsrs r3, 24
- ldr r1, _0814E2A4 @ =gUnknown_846E3DC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, _0814E2A0 @ =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized3
- mov r9, r4
- mov r6, r8
- adds r6, 0xA2
- movs r2, 0x1
- add r2, r8
- mov r10, r2
-_0814E27E:
- ldr r0, [sp, 0x1C]
- ldr r4, [sp, 0xC]
- ldrb r4, [r4, 0x8]
- cmp r0, r4
- bne _0814E2B0
- ldr r0, _0814E2A8 @ =gStringVar3
- ldr r1, _0814E2AC @ =gUnknown_841D020
- bl StringCopy
- b _0814E2B8
- .align 2, 0
-_0814E294: .4byte gBerries
-_0814E298: .4byte gStringVar1
-_0814E29C: .4byte gUnknown_846F4B8
-_0814E2A0: .4byte gStringVar4
-_0814E2A4: .4byte gUnknown_846E3DC
-_0814E2A8: .4byte gStringVar3
-_0814E2AC: .4byte gUnknown_841D020
-_0814E2B0:
- ldr r0, _0814E31C @ =gStringVar3
- ldr r1, _0814E320 @ =gUnknown_841D02C
- bl StringCopy
-_0814E2B8:
- ldr r4, _0814E31C @ =gStringVar3
- strb r6, [r4]
- adds r1, r5, 0
- adds r1, 0x98
- ldr r0, [sp, 0xC]
- adds r1, r0, r1
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, _0814E324 @ =gStringVar4
- adds r1, r4, 0
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r1, [sp, 0x2C]
- ldrb r0, [r1]
- mov r2, r9
- mov r4, r8
- subs r3, r2, r4
- lsls r3, 1
- ldr r1, [sp, 0x18]
- adds r3, r1, r3
- lsls r3, 24
- lsrs r3, 24
- ldr r2, _0814E328 @ =gUnknown_846E3DC
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, _0814E324 @ =gStringVar4
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- bl AddTextPrinterParameterized3
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, [sp, 0xC]
- ldrb r4, [r4, 0x9]
- cmp r8, r4
- bcs _0814E30C
- b _0814DFF0
-_0814E30C:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814E31C: .4byte gStringVar3
-_0814E320: .4byte gUnknown_841D02C
-_0814E324: .4byte gStringVar4
-_0814E328: .4byte gUnknown_846E3DC
- thumb_func_end sub_814DFA4
-
- thumb_func_start sub_814E32C
-sub_814E32C: @ 814E32C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r8, r0
- movs r0, 0
- mov r10, r0
- movs r6, 0
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- adds r2, 0x68
- str r2, [sp, 0x10]
- movs r4, 0xDD
- lsls r4, 1
- add r4, r8
- mov r9, r4
- ldrb r0, [r4]
- movs r1, 0x4
- bl GetWindowAttribute
- lsls r0, 27
- movs r1, 0xD6
- lsls r1, 24
- adds r0, r1
- lsrs r7, r0, 24
- movs r0, 0x9C
- lsls r0, 1
- add r0, r8
- ldr r2, [sp, 0x10]
- ldrh r1, [r2, 0x4]
- bl sub_814DEC0
- ldrb r0, [r4]
- ldr r4, _0814E560 @ =gUnknown_846E3DC
- str r4, [sp]
- str r6, [sp, 0x4]
- ldr r1, _0814E564 @ =gUnknown_841D050
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x2
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, _0814E568 @ =gUnknown_841D088
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xBE
- subs r0, r1, r0
- lsls r0, 24
- lsrs r6, r0, 24
- mov r2, r9
- ldrb r0, [r2]
- ldr r1, _0814E560 @ =gUnknown_846E3DC
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r6, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x9F
- lsls r0, 1
- add r0, r8
- movs r4, 0
- ldrsh r1, [r0, r4]
- ldr r0, _0814E56C @ =gStringVar1
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _0814E570 @ =gStringVar2
- movs r1, 0xA0
- lsls r1, 1
- add r1, r8
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r5, _0814E574 @ =gStringVar4
- ldr r1, _0814E578 @ =gUnknown_841D080
- adds r0, r5, 0
- bl StringExpandPlaceholders
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, _0814E560 @ =gUnknown_846E3DC
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, _0814E57C @ =gUnknown_841D078
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- subs r1, r6, 0x3
- subs r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, _0814E560 @ =gUnknown_846E3DC
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r6, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, _0814E56C @ =gStringVar1
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r1, _0814E580 @ =gUnknown_841D074
- adds r0, r5, 0
- bl StringExpandPlaceholders
- mov r4, r9
- ldrb r0, [r4]
- ldr r1, _0814E560 @ =gUnknown_846E3DC
- str r1, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- ldr r4, _0814E560 @ =gUnknown_846E3DC
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r1, _0814E584 @ =gUnknown_841D058
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x2
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r4, _0814E588 @ =gUnknown_841D098
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r2, 0xBE
- subs r0, r2, r0
- lsls r0, 24
- str r0, [sp, 0x18]
- lsrs r6, r0, 24
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, _0814E560 @ =gUnknown_846E3DC
- str r2, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x3
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- mov r4, r8
- ldrb r2, [r4, 0x16]
- ldrh r0, [r4, 0x16]
- mov r12, r0
- movs r1, 0x7
- mov r9, r1
- movs r5, 0x1
- ldr r3, _0814E58C @ =gUnknown_846E450
-_0814E4CC:
- mov r4, r9
- mov r0, r10
- subs r1, r4, r0
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _0814E4EA
- mov r1, r10
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- ldr r4, [sp, 0xC]
- adds r4, r0
- str r4, [sp, 0xC]
-_0814E4EA:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0x7
- bls _0814E4CC
- ldr r0, _0814E56C @ =gStringVar1
- mov r2, r12
- lsrs r1, r2, 8
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, _0814E570 @ =gStringVar2
- ldr r1, _0814E590 @ =1000000
- ldr r0, [sp, 0xC]
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r4, _0814E574 @ =gStringVar4
- ldr r1, _0814E594 @ =gUnknown_841D090
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r6, 0
- subs r0, 0x26
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r0, 0x25
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0814E59C
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, _0814E598 @ =gUnknown_846E3EB
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- b _0814E5B6
- .align 2, 0
-_0814E560: .4byte gUnknown_846E3DC
-_0814E564: .4byte gUnknown_841D050
-_0814E568: .4byte gUnknown_841D088
-_0814E56C: .4byte gStringVar1
-_0814E570: .4byte gStringVar2
-_0814E574: .4byte gStringVar4
-_0814E578: .4byte gUnknown_841D080
-_0814E57C: .4byte gUnknown_841D078
-_0814E580: .4byte gUnknown_841D074
-_0814E584: .4byte gUnknown_841D058
-_0814E588: .4byte gUnknown_841D098
-_0814E58C: .4byte gUnknown_846E450
-_0814E590: .4byte 1000000
-_0814E594: .4byte gUnknown_841D090
-_0814E598: .4byte gUnknown_846E3EB
-_0814E59C:
- movs r0, 0xDD
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- ldr r1, _0814E630 @ =gUnknown_846E3DC
- str r1, [sp]
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
-_0814E5B6:
- adds r0, r7, 0
- adds r0, 0xE
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0xDD
- lsls r4, 1
- add r8, r4
- mov r1, r8
- ldrb r0, [r1]
- ldr r2, _0814E630 @ =gUnknown_846E3DC
- mov r9, r2
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- ldr r1, _0814E634 @ =gUnknown_841D068
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x2
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- ldr r0, _0814E638 @ =gStringVar1
- ldr r4, [sp, 0x10]
- ldrh r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r4, _0814E63C @ =gStringVar4
- ldr r1, _0814E640 @ =gUnknown_841D0A4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xBE
- subs r1, r0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r1, r8
- ldrb r0, [r1]
- mov r2, r9
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- adds r2, r6, 0
- adds r3, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814E630: .4byte gUnknown_846E3DC
-_0814E634: .4byte gUnknown_841D068
-_0814E638: .4byte gStringVar1
-_0814E63C: .4byte gStringVar4
-_0814E640: .4byte gUnknown_841D0A4
- thumb_func_end sub_814E32C
-
- thumb_func_start sub_814E644
-sub_814E644: @ 814E644
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0x5
- bls _0814E658
- b _0814E7F8
-_0814E658:
- lsls r0, 2
- ldr r1, _0814E664 @ =_0814E668
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0814E664: .4byte _0814E668
- .align 2, 0
-_0814E668:
- .4byte _0814E680
- .4byte _0814E6CC
- .4byte _0814E6E0
- .4byte _0814E704
- .4byte _0814E7D8
- .4byte _0814E7E0
-_0814E680:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- bl sub_814EB04
- ldrh r0, [r4, 0x12]
- lsls r0, 3
- ldr r2, _0814E6A8 @ =gUnknown_846E3CC + 4
- mov r1, sp
- adds r0, r2
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldrh r0, [r4, 0x12]
- cmp r0, 0xD
- bne _0814E6B0
- ldr r0, _0814E6AC @ =gUnknown_846E448
- adds r0, 0x4
- b _0814E6B2
- .align 2, 0
-_0814E6A8: .4byte gUnknown_846E3CC + 4
-_0814E6AC: .4byte gUnknown_846E448
-_0814E6B0:
- ldr r0, _0814E6C8 @ =gUnknown_846E448
-_0814E6B2:
- adds r0, r5, r0
- ldrb r1, [r0]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r0, sp
- bl AddWindow
- adds r1, r6, 0
- adds r1, 0x82
- strb r0, [r1]
- b _0814E7F8
- .align 2, 0
-_0814E6C8: .4byte gUnknown_846E448
-_0814E6CC:
- adds r4, r6, 0
- adds r4, 0x82
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- b _0814E7F8
-_0814E6E0:
- adds r5, r6, 0
- adds r5, 0x82
- ldrb r0, [r5]
- ldr r4, _0814E700 @ =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- ldrb r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _0814E7F8
- .align 2, 0
-_0814E700: .4byte 0x0000021d
-_0814E704:
- ldrb r0, [r4, 0x9]
- subs r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x12]
- cmp r0, 0xC
- beq _0814E764
- cmp r0, 0xC
- bgt _0814E71C
- cmp r0, 0xB
- beq _0814E722
- b _0814E7F8
-_0814E71C:
- cmp r0, 0xD
- beq _0814E7B4
- b _0814E7F8
-_0814E722:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, _0814E75C @ =gUnknown_841D0A8
- movs r1, 0x16
- movs r2, 0x3
- bl sub_814DF44
- ldr r0, _0814E760 @ =gUnknown_846E448
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 3
- ldrb r1, [r4, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xB0
- bl sub_814DFA4
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _0814E800
- .align 2, 0
-_0814E75C: .4byte gUnknown_841D0A8
-_0814E760: .4byte gUnknown_846E448
-_0814E764:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r2, _0814E7AC @ =gUnknown_846F4B8
- adds r1, r4, 0
- adds r1, 0x8F
- ldrb r1, [r1]
- adds r1, 0x3
- lsls r1, 2
- adds r1, r2
- ldr r3, [r1]
- movs r1, 0x16
- movs r2, 0x4
- bl sub_814DF44
- ldr r0, _0814E7B0 @ =gUnknown_846E448
- adds r0, r5, r0
- ldrb r3, [r0]
- lsls r3, 3
- ldrb r1, [r4, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xB0
- bl sub_814DFA4
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0x5
- b _0814E800
- .align 2, 0
-_0814E7AC: .4byte gUnknown_846F4B8
-_0814E7B0: .4byte gUnknown_846E448
-_0814E7B4:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- ldr r3, _0814E7D4 @ =gUnknown_841D0C0
- movs r1, 0x18
- movs r2, 0x3
- bl sub_814DF44
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xC0
- movs r3, 0x10
- bl sub_814DFA4
- b _0814E7F8
- .align 2, 0
-_0814E7D4: .4byte gUnknown_841D0C0
-_0814E7D8:
- adds r0, r4, 0
- bl sub_814E32C
- b _0814E7F8
-_0814E7E0:
- adds r0, r6, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r1, r6, 0
- adds r1, 0x80
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _0814E804
-_0814E7F8:
- adds r1, r6, 0
- adds r1, 0x80
- ldrb r0, [r1]
- adds r0, 0x1
-_0814E800:
- strb r0, [r1]
- movs r0, 0
-_0814E804:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_814E644
-
- thumb_func_start sub_814E80C
-sub_814E80C: @ 814E80C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0xDD
- lsls r0, 1
- adds r5, r4, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r5]
- bl RemoveWindow
- adds r0, r4, 0
- bl sub_814EBB0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814E80C
-
- thumb_func_start sub_814E830
-sub_814E830: @ 814E830
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r9, r0
- mov r10, r0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0814E864 @ =gTasks+0x8
- adds r7, r0, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _0814E8B0
- cmp r0, 0x1
- bgt _0814E868
- cmp r0, 0
- beq _0814E876
- b _0814EA66
- .align 2, 0
-_0814E864: .4byte gTasks+0x8
-_0814E868:
- cmp r0, 0x2
- bne _0814E86E
- b _0814EA2C
-_0814E86E:
- cmp r0, 0x3
- bne _0814E874
- b _0814EA40
-_0814E874:
- b _0814EA66
-_0814E876:
- ldr r0, _0814E8A8 @ =gUnknown_846E3F0
- bl AddWindow
- strh r0, [r7, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- ldrb r0, [r7, 0x2]
- movs r1, 0
- bl FillWindowPixelBuffer
- ldrb r0, [r7, 0x2]
- ldr r4, _0814E8AC @ =0x0000021d
- adds r1, r4, 0
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- ldrb r0, [r7, 0x2]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0xD
- bl DrawStdFrameWithCustomTileAndPalette
- b _0814EA66
- .align 2, 0
-_0814E8A8: .4byte gUnknown_846E3F0
-_0814E8AC: .4byte 0x0000021d
-_0814E8B0:
- ldr r5, _0814E9FC @ =gUnknown_841D118
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r0, 0x2
- adds r1, r5, 0
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- movs r4, 0x60
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r7, 0x2]
- ldr r6, _0814EA00 @ =gUnknown_846E3E5
- str r6, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- ldr r5, _0814EA04 @ =gUnknown_841D124
- movs r0, 0x2
- adds r1, r5, 0
- mov r2, r8
- bl GetStringWidth
- lsrs r0, 1
- subs r4, r0
- lsls r4, 24
- lsrs r2, r4, 24
- ldrb r0, [r7, 0x2]
- str r6, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x12
- bl AddTextPrinterParameterized3
- movs r0, 0x2A
- str r0, [sp, 0xC]
- ldr r1, _0814EA08 @ =gStringVar4
- mov r8, r1
-_0814E90E:
- mov r1, r9
- adds r1, 0x2
- ldr r0, _0814EA0C @ =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- mov r0, r8
- ldr r1, _0814EA10 @ =gUnknown_841D13C
- bl StringExpandPlaceholders
- ldrb r0, [r7, 0x2]
- ldr r1, _0814EA14 @ =gUnknown_846E3DC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x4
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized3
- movs r3, 0
- mov r0, r9
- lsls r4, r0, 1
- ldr r1, [sp, 0xC]
- adds r1, 0xE
- str r1, [sp, 0x10]
- movs r0, 0x1
- add r9, r0
- adds r0, r4, r7
- ldrh r0, [r0, 0x4]
- movs r2, 0xFF
- ands r2, r0
- movs r6, 0x1
- ldr r5, _0814EA18 @ =gUnknown_846E450
-_0814E958:
- movs r0, 0x7
- subs r1, r0, r3
- adds r0, r2, 0
- asrs r0, r1
- ands r0, r6
- cmp r0, 0
- beq _0814E96E
- lsls r0, r3, 2
- adds r0, r5
- ldr r0, [r0]
- add r10, r0
-_0814E96E:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _0814E958
- adds r0, r4, r7
- ldrh r1, [r0, 0x4]
- lsrs r1, 8
- ldr r0, _0814EA0C @ =gStringVar1
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, r10
- ldr r1, _0814EA1C @ =1000000
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, _0814EA20 @ =gStringVar2
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, r8
- ldr r1, _0814EA24 @ =gUnknown_841D090
- bl StringExpandPlaceholders
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, _0814EA28 @ =gUnknown_841D098
- bl StringCopy
- movs r0, 0x3
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xC0
- subs r1, r0
- lsls r1, 24
- lsrs r2, r1, 24
- ldrb r0, [r7, 0x2]
- ldr r1, _0814EA14 @ =gUnknown_846E3DC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0x3
- ldr r3, [sp, 0xC]
- bl AddTextPrinterParameterized3
- ldr r1, [sp, 0x10]
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- movs r0, 0
- mov r10, r0
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- cmp r0, 0x3
- bls _0814E90E
- ldrb r0, [r7, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- b _0814EA66
- .align 2, 0
-_0814E9FC: .4byte gUnknown_841D118
-_0814EA00: .4byte gUnknown_846E3E5
-_0814EA04: .4byte gUnknown_841D124
-_0814EA08: .4byte gStringVar4
-_0814EA0C: .4byte gStringVar1
-_0814EA10: .4byte gUnknown_841D13C
-_0814EA14: .4byte gUnknown_846E3DC
-_0814EA18: .4byte gUnknown_846E450
-_0814EA1C: .4byte 1000000
-_0814EA20: .4byte gStringVar2
-_0814EA24: .4byte gUnknown_841D090
-_0814EA28: .4byte gUnknown_841D098
-_0814EA2C:
- ldr r0, _0814EA3C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0814EA66
- b _0814EA6C
- .align 2, 0
-_0814EA3C: .4byte gMain
-_0814EA40:
- ldrb r0, [r7, 0x2]
- movs r1, 0x1
- bl ClearStdWindowAndFrameToTransparent
- ldrb r0, [r7, 0x2]
- bl ClearWindowTilemap
- ldrb r0, [r7, 0x2]
- bl RemoveWindow
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- bl ScriptContext2_Disable
- mov r0, r9
- b _0814EA6A
-_0814EA66:
- ldrh r0, [r7]
- adds r0, 0x1
-_0814EA6A:
- strh r0, [r7]
-_0814EA6C:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814E830
-
- thumb_func_start ShowBerryCrushRankings
-ShowBerryCrushRankings: @ 814EA7C
- push {lr}
- bl ScriptContext2_Enable
- ldr r0, _0814EAC4 @ =sub_814E830
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0814EAC8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0814EACC @ =gSaveBlock2Ptr
- ldr r2, [r0]
- movs r3, 0xAF
- lsls r3, 4
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xC]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x10]
- ldr r0, _0814EAD0 @ =0x00000af6
- adds r2, r0
- ldrh r0, [r2]
- strh r0, [r1, 0x12]
- pop {r0}
- bx r0
- .align 2, 0
-_0814EAC4: .4byte sub_814E830
-_0814EAC8: .4byte gTasks
-_0814EACC: .4byte gSaveBlock2Ptr
-_0814EAD0: .4byte 0x00000af6
- thumb_func_end ShowBerryCrushRankings
-
- thumb_func_start sub_814EAD4
-sub_814EAD4: @ 814EAD4
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- bl sub_814DEC0
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl sub_815CD70
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- bl sub_815CD70
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- bl sub_815CD70
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_814EAD4
-
- thumb_func_start sub_814EB04
-sub_814EB04: @ 814EB04
- push {lr}
- ldr r2, [r0, 0x78]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2]
- ldr r1, [r0, 0x7C]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_815D1A8
- movs r0, 0x1
- movs r1, 0x1
- bl sub_815D1A8
- movs r0, 0
- movs r1, 0x1
- bl sub_815D1A8
- pop {r0}
- bx r0
- thumb_func_end sub_814EB04
-
- thumb_func_start sub_814EB38
-sub_814EB38: @ 814EB38
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r6, 0
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcs _0814EB98
- ldr r7, _0814EBA0 @ =gUnknown_846F280
-_0814EB46:
- lsls r0, r6, 2
- movs r1, 0xA2
- lsls r1, 1
- adds r2, r5, r1
- adds r2, r0
- ldrb r1, [r5, 0x9]
- subs r1, 0x2
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r6, r0
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0814EBA4 @ =gUnknown_846F294
- adds r0, r1
- str r0, [r2]
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _0814EBA8 @ =gUnknown_846E3F8
- adds r0, r1
- bl AddWindow
- ldr r1, _0814EBAC @ =0x000001bb
- adds r4, r5, r1
- adds r4, r6
- strb r0, [r4]
- ldrb r0, [r4]
- bl PutWindowTilemap
- ldrb r0, [r4]
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r6, r0
- bcc _0814EB46
-_0814EB98:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814EBA0: .4byte gUnknown_846F280
-_0814EBA4: .4byte gUnknown_846F294
-_0814EBA8: .4byte gUnknown_846E3F8
-_0814EBAC: .4byte 0x000001bb
- thumb_func_end sub_814EB38
-
- thumb_func_start sub_814EBB0
-sub_814EBB0: @ 814EBB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- movs r7, 0
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcs _0814EC66
- movs r1, 0
- mov r8, r1
-_0814EBC6:
- ldr r1, _0814EC10 @ =0x000001bb
- adds r0, r6, r1
- adds r5, r0, r7
- ldrb r0, [r5]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x8]
- cmp r7, r0
- bne _0814EC18
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, _0814EC14 @ =gUnknown_846E3DF
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
- b _0814EC4C
- .align 2, 0
-_0814EC10: .4byte 0x000001bb
-_0814EC14: .4byte gUnknown_846E3DF
-_0814EC18:
- lsls r4, r7, 5
- adds r4, 0x98
- adds r4, r6, r4
- movs r0, 0x2
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- lsrs r0, 1
- movs r2, 0x24
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r0, [r5]
- mov r1, r8
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r1, _0814EC78 @ =gUnknown_846E3E2
- str r1, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized4
-_0814EC4C:
- ldr r1, _0814EC7C @ =0x000001bb
- adds r0, r6, r1
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r7, r0
- bcc _0814EBC6
-_0814EC66:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814EC78: .4byte gUnknown_846E3E2
-_0814EC7C: .4byte 0x000001bb
- thumb_func_end sub_814EBB0
-
- thumb_func_start sub_814EC80
-sub_814EC80: @ 814EC80
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0
- ldr r0, _0814EC94 @ =gUnknown_8EB0ADC
- ldr r4, _0814EC98 @ =gDecompressionBuffer
- adds r1, r4, 0
- bl LZ77UnCompWram
- b _0814ECCA
- .align 2, 0
-_0814EC94: .4byte gUnknown_8EB0ADC
-_0814EC98: .4byte gDecompressionBuffer
-_0814EC9C:
- lsls r1, r5, 2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- adds r0, r1
- ldr r3, [r0]
- ldrb r0, [r3]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4, r1
- ldrb r2, [r3, 0x1]
- ldrb r3, [r3, 0x2]
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x3
- bl CopyToBgTilemapBufferRect
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0814ECCA:
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _0814EC9C
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814EC80
-
- thumb_func_start sub_814ECE0
-sub_814ECE0: @ 814ECE0
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, _0814EEE0 @ =0x0000ff98
- strh r0, [r6, 0x2A]
- strh r5, [r6, 0x2C]
- ldr r1, _0814EEE4 @ =gSpriteCoordOffsetX
- strh r5, [r1]
- ldr r1, _0814EEE8 @ =gSpriteCoordOffsetY
- strh r0, [r1]
- ldr r4, _0814EEEC @ =gUnknown_846F2F8
-_0814ECF6:
- lsls r0, r5, 3
- adds r0, r4
- bl LoadCompressedSpriteSheet
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _0814ECF6
- ldr r0, _0814EEF0 @ =gUnknown_846F320
- bl LoadSpritePalettes
- ldr r0, _0814EEF4 @ =gUnknown_846F410
- movs r1, 0x78
- movs r2, 0x58
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAC
- lsls r0, 1
- adds r3, r6, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, _0814EEF8 @ =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r3]
- adds r1, 0x2C
- ldrb r0, [r1]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1]
- movs r5, 0
- ldrb r1, [r6, 0x9]
- cmp r5, r1
- bcs _0814EDD2
- movs r7, 0x4
-_0814ED5A:
- lsls r4, r5, 2
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r6, r3
- adds r0, r4
- ldr r0, [r0]
- ldrh r1, [r0, 0x4]
- adds r1, 0x78
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x6]
- adds r2, 0x20
- lsls r2, 16
- asrs r2, 16
- ldr r0, _0814EEFC @ =gUnknown_846F428
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xAE
- lsls r0, 1
- adds r3, r6, r0
- adds r3, r4
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, _0814EEF8 @ =gSprites
- adds r1, r0
- str r1, [r3]
- ldrb r0, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r0, r2
- orrs r0, r7
- strb r0, [r1, 0x5]
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6, 0x9]
- cmp r5, r0
- bcc _0814ED5A
-_0814EDD2:
- movs r5, 0
- ldr r4, _0814EF00 @ =gUnknown_846F2D6
- adds r7, r4, 0x1
-_0814EDD8:
- lsls r2, r5, 1
- adds r0, r2, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r1, 0x78
- adds r2, r7
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, 0x88
- ldr r0, _0814EF04 @ =gUnknown_846F440
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r1, 0xC2
- lsls r1, 1
- adds r3, r6, r1
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, _0814EEF8 @ =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _0814EDD8
- movs r5, 0
-_0814EE3E:
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 19
- movs r3, 0xB0
- lsls r3, 16
- adds r1, r3
- asrs r1, 16
- ldr r0, _0814EF08 @ =gUnknown_846F458
- movs r2, 0x8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r5, 2
- movs r4, 0xD8
- lsls r4, 1
- adds r3, r6, r4
- adds r3, r0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, _0814EEF8 @ =gSprites
- adds r0, r1
- str r0, [r3]
- ldrb r1, [r0, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r2, r4, 0
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r2, [r3]
- adds r2, 0x3E
- ldrb r0, [r2]
- adds r4, 0x8
- adds r1, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldr r2, [r3]
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r3, 0x41
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0814EE3E
- ldr r4, _0814EF0C @ =gUnknown_846F488
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_815CA40
- adds r2, r4, 0
- adds r2, 0x10
- movs r0, 0x1
- movs r1, 0
- bl sub_815CA40
- adds r4, 0x20
- movs r0, 0x2
- movs r1, 0
- adds r2, r4, 0
- bl sub_815CA40
- ldrh r0, [r6, 0x12]
- cmp r0, 0x1
- bne _0814EED8
- movs r4, 0x9C
- lsls r4, 1
- adds r0, r6, r4
- bl sub_814EB04
-_0814EED8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814EEE0: .4byte 0x0000ff98
-_0814EEE4: .4byte gSpriteCoordOffsetX
-_0814EEE8: .4byte gSpriteCoordOffsetY
-_0814EEEC: .4byte gUnknown_846F2F8
-_0814EEF0: .4byte gUnknown_846F320
-_0814EEF4: .4byte gUnknown_846F410
-_0814EEF8: .4byte gSprites
-_0814EEFC: .4byte gUnknown_846F428
-_0814EF00: .4byte gUnknown_846F2D6
-_0814EF04: .4byte gUnknown_846F440
-_0814EF08: .4byte gUnknown_846F458
-_0814EF0C: .4byte gUnknown_846F488
- thumb_func_end sub_814ECE0
-
- thumb_func_start sub_814EF10
-sub_814EF10: @ 814EF10
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- movs r0, 0x3
- bl FreeSpriteTilesByTag
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r0, 0x4
- bl FreeSpritePaletteByTag
- movs r0, 0x2
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0xD8
- lsls r0, 1
- adds r6, r5, r0
-_0814EF46:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0814EF46
- movs r0, 0x2
- bl sub_815D108
- movs r0, 0x1
- bl sub_815D108
- movs r0, 0
- bl sub_815D108
- movs r4, 0
- movs r1, 0xC2
- lsls r1, 1
- adds r6, r5, r1
-_0814EF74:
- lsls r0, r4, 2
- adds r0, r6, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _0814EF74
- movs r4, 0
- ldrb r2, [r5, 0x9]
- cmp r4, r2
- bcs _0814EFAC
-_0814EF90:
- lsls r1, r4, 2
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r5, r2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5, 0x9]
- cmp r4, r0
- bcc _0814EF90
-_0814EFAC:
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814EFC8
- adds r0, r2, 0
- bl DestroySprite
-_0814EFC8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814EF10
-
- thumb_func_start sub_814EFD0
-sub_814EFD0: @ 814EFD0
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0814EFF6
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
-_0814EFF6:
- pop {r0}
- bx r0
- thumb_func_end sub_814EFD0
-
- thumb_func_start sub_814EFFC
-sub_814EFFC: @ 814EFFC
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- ldr r5, _0814F040 @ =SpriteCallbackDummy
- adds r2, r3, 0
- adds r2, 0x2E
- movs r4, 0
-_0814F00A:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _0814F00A
- movs r0, 0
- strh r0, [r3, 0x24]
- strh r0, [r3, 0x26]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- str r5, [r3, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814F040: .4byte SpriteCallbackDummy
- thumb_func_end sub_814EFFC
-
- thumb_func_start sub_814F044
-sub_814F044: @ 814F044
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x2E
- ldrh r0, [r4, 0x4]
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r5, 0x26]
- adds r0, r2
- strh r0, [r5, 0x26]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r6, 0x80
- lsls r6, 8
- ands r0, r6
- cmp r0, 0
- beq _0814F0AA
- ldrh r0, [r4, 0x6]
- ldrh r2, [r5, 0x2E]
- adds r0, r2
- strh r0, [r5, 0x2E]
- ldrh r0, [r4, 0xA]
- ldrh r1, [r4, 0x8]
- adds r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r5, 0x24]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ands r0, r6
- cmp r0, 0
- beq _0814F0AA
- ldrh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 23
- cmp r0, 0x7E
- ble _0814F0AA
- movs r0, 0
- strh r0, [r5, 0x24]
- ldrh r1, [r4, 0xE]
- ldr r0, _0814F0D0 @ =0x00007fff
- ands r0, r1
- strh r0, [r4, 0xE]
-_0814F0AA:
- ldrh r0, [r4]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r5, 0x20]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- ldrh r2, [r4, 0xE]
- ldr r0, _0814F0D0 @ =0x00007fff
- ands r0, r2
- cmp r1, r0
- ble _0814F0CA
- ldr r0, _0814F0D4 @ =sub_814EFFC
- str r0, [r5, 0x1C]
-_0814F0CA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814F0D0: .4byte 0x00007fff
-_0814F0D4: .4byte sub_814EFFC
- thumb_func_end sub_814F044
-
- thumb_func_start sub_814F0D8
-sub_814F0D8: @ 814F0D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x2E
- movs r0, 0
- mov r8, r0
- movs r2, 0xA0
- lsls r2, 2
- strh r2, [r7, 0x2]
- movs r0, 0x20
- strh r0, [r7, 0x4]
- movs r1, 0xA8
- strh r1, [r7, 0xE]
- movs r0, 0x24
- ldrsh r4, [r6, r0]
- lsls r4, 23
- lsrs r4, 16
- ldrh r0, [r6, 0x22]
- subs r1, r0
- lsls r1, 23
- asrs r1, 16
- adds r2, 0x20
- asrs r2, 1
- movs r0, 0x7
- bl sub_80D8B40
- adds r5, r0, 0
- ldrh r0, [r6, 0x20]
- lsls r0, 7
- strh r0, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- movs r0, 0x7
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80D8B40
- strh r0, [r7, 0x6]
- movs r0, 0x7
- adds r1, r5, 0
- movs r2, 0x55
- bl sub_80D8ABC
- adds r2, r0, 0
- mov r1, r8
- strh r1, [r7, 0x8]
- movs r1, 0xFE
- lsls r1, 6
- lsls r2, 16
- asrs r2, 16
- movs r0, 0x7
- bl sub_80D8B40
- strh r0, [r7, 0xA]
- movs r2, 0x24
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _0814F156
- adds r0, 0x3
-_0814F156:
- asrs r0, 2
- strh r0, [r7, 0xC]
- ldrh r0, [r7, 0xE]
- ldr r2, _0814F194 @ =0xffff8000
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r7, 0xE]
- mov r0, r8
- strh r0, [r6, 0x26]
- strh r0, [r6, 0x24]
- ldr r0, _0814F198 @ =sub_814F044
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814F194: .4byte 0xffff8000
-_0814F198: .4byte sub_814F044
- thumb_func_end sub_814F0D8
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/bike.s b/asm/bike.s
index f714c067f..e73e906bc 100644
--- a/asm/bike.s
+++ b/asm/bike.s
@@ -718,7 +718,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8
push {r4,lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r1, _080BD5F0 @ =gUnknown_2036E2C
+ ldr r1, _080BD5F0 @ =gUnusedBikeCameraAheadPanback
movs r0, 0
strb r0, [r1]
ldr r0, _080BD5F4 @ =gPlayerAvatar
@@ -733,7 +733,7 @@ StartTransitionToFlipBikeState: @ 80BD5C8
bl Overworld_PlaySpecialMapMusic
b _080BD618
.align 2, 0
-_080BD5F0: .4byte gUnknown_2036E2C
+_080BD5F0: .4byte gUnusedBikeCameraAheadPanback
_080BD5F4: .4byte gPlayerAvatar
_080BD5F8:
adds r0, r2, 0
diff --git a/asm/cable_club.s b/asm/cable_club.s
deleted file mode 100644
index 27a3d93f4..000000000
--- a/asm/cable_club.s
+++ /dev/null
@@ -1,2526 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8080748
-sub_8080748: @ 8080748
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _08080784 @ =sub_80809F8
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0808077C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08080788 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r6, [r1, 0xA]
- strh r5, [r1, 0xC]
-_0808077C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08080784: .4byte sub_80809F8
-_08080788: .4byte gTasks
- thumb_func_end sub_8080748
-
- thumb_func_start sub_808078C
-sub_808078C: @ 808078C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _080807DC @ =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStdWindowBorderStyle
- ldr r5, _080807E0 @ =gStringVar4
- ldr r1, _080807E4 @ =gUnknown_841DF82
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl AddTextPrinterParameterized
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080807DC: .4byte gStringVar1
-_080807E0: .4byte gStringVar4
-_080807E4: .4byte gUnknown_841DF82
- thumb_func_end sub_808078C
-
- thumb_func_start sub_80807E8
-sub_80807E8: @ 80807E8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl ClearStdWindowAndFrame
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80807E8
-
- thumb_func_start sub_8080808
-sub_8080808: @ 8080808
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08080830 @ =gTasks+0x8
- adds r4, r1, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r5, r0
- beq _0808083E
- cmp r5, 0x1
- bhi _08080834
- ldrh r0, [r4, 0xA]
- bl sub_80807E8
- b _0808083C
- .align 2, 0
-_08080830: .4byte gTasks+0x8
-_08080834:
- ldrh r0, [r4, 0xA]
- adds r1, r5, 0
- bl sub_808078C
-_0808083C:
- strh r5, [r4, 0x6]
-_0808083E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8080808
-
- thumb_func_start sub_8080844
-sub_8080844: @ 8080844
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetLinkPlayerDataExchangeStatusTimed
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x5
- bhi _080808B4
- lsls r0, 2
- ldr r1, _08080868 @ =_0808086C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080868: .4byte _0808086C
- .align 2, 0
-_0808086C:
- .4byte _08080884
- .4byte _080808B4
- .4byte _08080888
- .4byte _0808088C
- .4byte _08080890
- .4byte _08080894
-_08080884:
- movs r0, 0x1
- b _080808B6
-_08080888:
- movs r0, 0x3
- b _080808B6
-_0808088C:
- movs r0, 0x7
- b _080808B6
-_08080890:
- movs r0, 0x9
- b _080808B6
-_08080894:
- ldr r4, _080808B0 @ =gStringVar1
- bl GetLinkPlayerCount_2
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- b _080808B6
- .align 2, 0
-_080808B0: .4byte gStringVar1
-_080808B4:
- movs r0, 0
-_080808B6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8080844
-
- thumb_func_start sub_80808BC
-sub_80808BC: @ 80808BC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl HasLinkErrorOccurred
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080808D2
- movs r0, 0
- b _080808E2
-_080808D2:
- ldr r0, _080808E8 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080808EC @ =sub_8080FF0
- str r0, [r1]
- movs r0, 0x1
-_080808E2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080808E8: .4byte gTasks
-_080808EC: .4byte sub_8080FF0
- thumb_func_end sub_80808BC
-
- thumb_func_start sub_80808F0
-sub_80808F0: @ 80808F0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08080924 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08080934
- bl IsLinkConnectionEstablished
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08080934
- ldr r0, _08080928 @ =gLinkType
- strh r1, [r0]
- ldr r1, _0808092C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080930 @ =sub_8080FB4
- str r1, [r0]
- movs r0, 0x1
- b _08080936
- .align 2, 0
-_08080924: .4byte gMain
-_08080928: .4byte gLinkType
-_0808092C: .4byte gTasks
-_08080930: .4byte sub_8080FB4
-_08080934:
- movs r0, 0
-_08080936:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80808F0
-
- thumb_func_start sub_808093C
-sub_808093C: @ 808093C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _08080952
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
-_08080952:
- ldr r0, _08080964 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08080968
- movs r0, 0
- b _0808097E
- .align 2, 0
-_08080964: .4byte gMain
-_08080968:
- ldr r1, _08080984 @ =gLinkType
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08080988 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808098C @ =sub_8080FB4
- str r1, [r0]
- movs r0, 0x1
-_0808097E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08080984: .4byte gLinkType
-_08080988: .4byte gTasks
-_0808098C: .4byte sub_8080FB4
- thumb_func_end sub_808093C
-
- thumb_func_start sub_8080990
-sub_8080990: @ 8080990
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetSioMultiSI
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080809A6
- movs r0, 0
- b _080809B6
-_080809A6:
- ldr r0, _080809BC @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080809C0 @ =sub_8080FF0
- str r0, [r1]
- movs r0, 0x1
-_080809B6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080809BC: .4byte gTasks
-_080809C0: .4byte sub_8080FF0
- thumb_func_end sub_8080990
-
- thumb_func_start sub_80809C4
-sub_80809C4: @ 80809C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080809F4 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080809EE
- movs r0, 0x2
- bl sub_800A474
- adds r0, r4, 0
- bl DestroyTask
-_080809EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080809F4: .4byte gTasks
- thumb_func_end sub_80809C4
-
- thumb_func_start sub_80809F8
-sub_80809F8: @ 80809F8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08080A28 @ =gTasks+0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _08080A30
- bl OpenLinkTimed
- bl sub_800AA24
- bl ResetLinkPlayers
- ldr r0, _08080A2C @ =gUnknown_83C6AB0
- bl AddWindow
- strh r0, [r4, 0xA]
- b _08080A3C
- .align 2, 0
-_08080A28: .4byte gTasks+0x8
-_08080A2C: .4byte gUnknown_83C6AB0
-_08080A30:
- cmp r2, 0x9
- ble _08080A3C
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, _08080A48 @ =sub_8080A4C
- str r1, [r0]
-_08080A3C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080A48: .4byte sub_8080A4C
- thumb_func_end sub_80809F8
-
- thumb_func_start sub_8080A4C
-sub_8080A4C: @ 8080A4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080AC0
- adds r0, r4, 0
- bl sub_808093C
- cmp r0, 0x1
- beq _08080AC0
- cmp r5, 0x1
- bls _08080AC0
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- ldr r1, _08080AA4 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0xE]
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08080AB0
- movs r0, 0x15
- bl PlaySE
- ldr r0, _08080AA8 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- ldr r0, _08080AAC @ =sub_8080AD0
- b _08080ABE
- .align 2, 0
-_08080AA4: .4byte gTasks
-_08080AA8: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
-_08080AAC: .4byte sub_8080AD0
-_08080AB0:
- movs r0, 0x16
- bl PlaySE
- ldr r0, _08080AC8 @ =CableClub_Text_AwaitingLinkupBCancel
- bl ShowFieldAutoScrollMessage
- ldr r0, _08080ACC @ =sub_8080CDC
-_08080ABE:
- str r0, [r4]
-_08080AC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080AC8: .4byte CableClub_Text_AwaitingLinkupBCancel
-_08080ACC: .4byte sub_8080CDC
- thumb_func_end sub_8080A4C
-
- thumb_func_start sub_8080AD0
-sub_8080AD0: @ 8080AD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080B10
- adds r0, r4, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080B10
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080B10
- bl textbox_any_visible
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08080B10
- ldr r0, _08080B18 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xE]
- ldr r0, _08080B1C @ =sub_8080B20
- str r0, [r1]
-_08080B10:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080B18: .4byte gTasks
-_08080B1C: .4byte sub_8080B20
- thumb_func_end sub_8080AD0
-
- thumb_func_start sub_8080B20
-sub_8080B20: @ 8080B20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r8, r0
- ldr r0, _08080BB4 @ =gTasks+0x8
- mov r9, r0
- mov r7, r8
- add r7, r9
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080BA8
- adds r0, r4, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080BA8
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080BA8
- adds r6, r5, 0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8080808
- ldr r0, _08080BB8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080BA8
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r5, r0
- blt _08080BA8
- adds r0, r6, 0
- bl sub_800A900
- ldrh r0, [r7, 0xA]
- bl sub_80807E8
- ldr r0, _08080BBC @ =gStringVar1
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, _08080BC0 @ =CableClub_Text_StartLinkWithXPlayersAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- mov r0, r9
- subs r0, 0x8
- add r0, r8
- ldr r1, _08080BC4 @ =sub_8080BC8
- str r1, [r0]
-_08080BA8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080BB4: .4byte gTasks+0x8
-_08080BB8: .4byte gMain
-_08080BBC: .4byte gStringVar1
-_08080BC0: .4byte CableClub_Text_StartLinkWithXPlayersAConfirmBCancel
-_08080BC4: .4byte sub_8080BC8
- thumb_func_end sub_8080B20
-
- thumb_func_start sub_8080BC8
-sub_8080BC8: @ 8080BC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r5, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080C5C
- adds r0, r5, 0
- bl sub_8080990
- cmp r0, 0x1
- beq _08080C5C
- adds r0, r5, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080C5C
- bl textbox_any_visible
- lsls r0, 24
- cmp r0, 0
- bne _08080C5C
- bl GetSavedPlayerCount
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08080C16
- ldr r0, _08080C2C @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08080C3C
-_08080C16:
- ldr r0, _08080C30 @ =CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
- bl ShowFieldAutoScrollMessage
- ldr r1, _08080C34 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080C38 @ =sub_8080AD0
- str r1, [r0]
- b _08080C5C
- .align 2, 0
-_08080C2C: .4byte gMain
-_08080C30: .4byte CableClub_Text_WhenAllPlayersReadyAConfirmBCancel
-_08080C34: .4byte gTasks
-_08080C38: .4byte sub_8080AD0
-_08080C3C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080C5C
- movs r0, 0x5
- bl PlaySE
- bl CheckShouldAdvanceLinkState
- ldr r0, _08080C64 @ =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080C68 @ =sub_8080C6C
- str r0, [r1]
-_08080C5C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08080C64: .4byte gTasks
-_08080C68: .4byte sub_8080C6C
- thumb_func_end sub_8080BC8
-
- thumb_func_start sub_8080C6C
-sub_8080C6C: @ 8080C6C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08080CB0 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r7, [r5, 0xA]
- ldrb r6, [r5, 0xC]
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080CCE
- adds r0, r4, 0
- bl sub_808102C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08080CCE
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl GetSavedPlayerCount
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08080CB8
- ldr r0, _08080CB4 @ =sub_8080FF0
- b _08080CCC
- .align 2, 0
-_08080CB0: .4byte gTasks
-_08080CB4: .4byte sub_8080FF0
-_08080CB8:
- ldr r4, _08080CD4 @ =gSpecialVar_Result
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8080844
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _08080CCE
- ldr r0, _08080CD8 @ =sub_8080DC0
-_08080CCC:
- str r0, [r5]
-_08080CCE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080CD4: .4byte gSpecialVar_Result
-_08080CD8: .4byte sub_8080DC0
- thumb_func_end sub_8080C6C
-
- thumb_func_start sub_8080CDC
-sub_8080CDC: @ 8080CDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08080D30 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r7, [r5, 0xA]
- ldrb r6, [r5, 0xC]
- adds r0, r4, 0
- bl sub_80808F0
- cmp r0, 0x1
- beq _08080D74
- adds r0, r4, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080D74
- ldr r4, _08080D34 @ =gSpecialVar_Result
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8080844
- adds r1, r0, 0
- strh r1, [r4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08080D74
- subs r0, r1, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08080D3C
- bl sub_800AAC0
- bl HideFieldMessageBox
- ldr r0, _08080D38 @ =sub_8080F78
- b _08080D72
- .align 2, 0
-_08080D30: .4byte gTasks
-_08080D34: .4byte gSpecialVar_Result
-_08080D38: .4byte sub_8080F78
-_08080D3C:
- cmp r2, 0x7
- beq _08080D44
- cmp r2, 0x9
- bne _08080D54
-_08080D44:
- bl CloseLink
- bl HideFieldMessageBox
- ldr r0, _08080D50 @ =sub_8080F78
- b _08080D72
- .align 2, 0
-_08080D50: .4byte sub_8080F78
-_08080D54:
- bl GetLinkPlayerCount_2
- ldr r4, _08080D7C @ =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, _08080D80 @ =gLocalLinkPlayerId
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800A900
- ldr r0, _08080D84 @ =gBlockSendBuffer
- bl TrainerCard_GenerateCardForLinkPlayer
- ldr r0, _08080D88 @ =sub_8080E6C
-_08080D72:
- str r0, [r5]
-_08080D74:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080D7C: .4byte gFieldLinkPlayerCount
-_08080D80: .4byte gLocalLinkPlayerId
-_08080D84: .4byte gBlockSendBuffer
-_08080D88: .4byte sub_8080E6C
- thumb_func_end sub_8080CDC
-
- thumb_func_start sub_8080D8C
-sub_8080D8C: @ 8080D8C
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08080D94 @ =gLinkPlayers
- b _08080DAC
- .align 2, 0
-_08080D94: .4byte gLinkPlayers
-_08080D98:
- ldrb r0, [r4]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08080DA8
- movs r0, 0x1
- b _08080DBA
-_08080DA8:
- adds r4, 0x1C
- adds r5, 0x1
-_08080DAC:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _08080D98
- movs r0, 0
-_08080DBA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8080D8C
-
- thumb_func_start sub_8080DC0
-sub_8080DC0: @ 8080DC0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080E50
- ldr r0, _08080DE8 @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x4
- bne _08080DEC
- bl sub_8080D8C
- cmp r0, 0x1
- beq _08080DFE
- bl sub_800AAC0
- b _08080E02
- .align 2, 0
-_08080DE8: .4byte gSpecialVar_Result
-_08080DEC:
- cmp r0, 0x3
- bne _08080DF6
- bl sub_800AAC0
- b _08080E02
-_08080DF6:
- cmp r0, 0x7
- beq _08080DFE
- cmp r0, 0x9
- bne _08080E20
-_08080DFE:
- bl CloseLink
-_08080E02:
- bl HideFieldMessageBox
- ldr r0, _08080E18 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080E1C @ =sub_8080F78
- str r0, [r1]
- b _08080E50
- .align 2, 0
-_08080E18: .4byte gTasks
-_08080E1C: .4byte sub_8080F78
-_08080E20:
- bl GetLinkPlayerCount_2
- ldr r4, _08080E58 @ =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, _08080E5C @ =gLocalLinkPlayerId
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800A900
- ldr r0, _08080E60 @ =gBlockSendBuffer
- bl TrainerCard_GenerateCardForLinkPlayer
- ldr r1, _08080E64 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08080E68 @ =sub_8080E6C
- str r1, [r0]
- movs r0, 0x2
- bl sub_800A474
-_08080E50:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080E58: .4byte gFieldLinkPlayerCount
-_08080E5C: .4byte gLocalLinkPlayerId
-_08080E60: .4byte gBlockSendBuffer
-_08080E64: .4byte gTasks
-_08080E68: .4byte sub_8080E6C
- thumb_func_end sub_8080DC0
-
- thumb_func_start sub_8080E6C
-sub_8080E6C: @ 8080E6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl sub_80808BC
- cmp r0, 0x1
- beq _08080F66
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A8A4
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _08080F66
- movs r5, 0
- lsls r0, r7, 2
- mov r8, r0
- b _08080EF8
-_08080E9A:
- ldr r1, _08080ED0 @ =gLinkPlayers
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r6, r0, r1
- ldrb r0, [r6]
- subs r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08080EDC
- lsls r1, r5, 8
- ldr r0, _08080ED4 @ =gBlockRecvBuffer
- adds r1, r0
- ldr r0, _08080ED8 @ =gTrainerCards
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 5
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0x38
- bl memcpy
- ldrh r0, [r6]
- adds r4, 0x38
- strb r0, [r4]
- b _08080EF2
- .align 2, 0
-_08080ED0: .4byte gLinkPlayers
-_08080ED4: .4byte gBlockRecvBuffer
-_08080ED8: .4byte gTrainerCards
-_08080EDC:
- lsls r1, r5, 8
- ldr r0, _08080F3C @ =gBlockRecvBuffer
- adds r1, r0
- ldr r2, _08080F40 @ =gTrainerCards
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 5
- adds r0, r2
- movs r2, 0x60
- bl memcpy
-_08080EF2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08080EF8:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcc _08080E9A
- movs r0, 0
- bl SetSuppressLinkErrorMessage
- bl ResetBlockReceivedFlags
- bl HideFieldMessageBox
- ldr r0, _08080F44 @ =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _08080F54
- ldr r0, _08080F48 @ =gLinkType
- ldrh r1, [r0]
- ldr r0, _08080F4C @ =0x00004411
- ldr r0, _08080F50 @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x12]
- bl sub_80807E8
- bl EnableBothScriptContexts
- adds r0, r7, 0
- bl DestroyTask
- b _08080F66
- .align 2, 0
-_08080F3C: .4byte gBlockRecvBuffer
-_08080F40: .4byte gTrainerCards
-_08080F44: .4byte gSpecialVar_Result
-_08080F48: .4byte gLinkType
-_08080F4C: .4byte 0x00004411
-_08080F50: .4byte gTasks
-_08080F54:
- bl sub_800AAC0
- ldr r0, _08080F70 @ =gTasks
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _08080F74 @ =sub_8080F78
- str r0, [r1]
-_08080F66:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080F70: .4byte gTasks
-_08080F74: .4byte sub_8080F78
- thumb_func_end sub_8080E6C
-
- thumb_func_start sub_8080F78
-sub_8080F78: @ 8080F78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _08080FAC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08080FA6
- ldr r0, _08080FB0 @ =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x12]
- bl sub_80807E8
- bl EnableBothScriptContexts
- ldrb r0, [r4, 0x12]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
-_08080FA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080FAC: .4byte gReceivedRemoteLinkPlayers
-_08080FB0: .4byte gTasks
- thumb_func_end sub_8080F78
-
- thumb_func_start sub_8080FB4
-sub_8080FB4: @ 8080FB4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08080FE8 @ =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, _08080FEC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl sub_80807E8
- bl HideFieldMessageBox
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080FE8: .4byte gSpecialVar_Result
-_08080FEC: .4byte gTasks
- thumb_func_end sub_8080FB4
-
- thumb_func_start sub_8080FF0
-sub_8080FF0: @ 8080FF0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08081024 @ =gSpecialVar_Result
- movs r0, 0x6
- strh r0, [r1]
- ldr r1, _08081028 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl sub_80807E8
- bl HideFieldMessageBox
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081024: .4byte gSpecialVar_Result
-_08081028: .4byte gTasks
- thumb_func_end sub_8080FF0
-
- thumb_func_start sub_808102C
-sub_808102C: @ 808102C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08081050 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 18
- cmp r0, r1
- bgt _08081054
- movs r0, 0
- b _0808105A
- .align 2, 0
-_08081050: .4byte gTasks
-_08081054:
- ldr r0, _08081060 @ =sub_8080FF0
- str r0, [r2]
- movs r0, 0x1
-_0808105A:
- pop {r1}
- bx r1
- .align 2, 0
-_08081060: .4byte sub_8080FF0
- thumb_func_end sub_808102C
-
- thumb_func_start TryBattleLinkup
-TryBattleLinkup: @ 8081064
- push {r4,lr}
- movs r3, 0x2
- movs r2, 0x2
- ldr r0, _0808107C @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _08081098
- cmp r0, 0x2
- bgt _08081080
- cmp r0, 0x1
- beq _08081086
- b _080810B4
- .align 2, 0
-_0808107C: .4byte gSpecialVar_0x8004
-_08081080:
- cmp r0, 0x5
- beq _080810A8
- b _080810B4
-_08081086:
- movs r3, 0x2
- ldr r1, _08081090 @ =gLinkType
- ldr r4, _08081094 @ =0x00002233
- b _080810B0
- .align 2, 0
-_08081090: .4byte gLinkType
-_08081094: .4byte 0x00002233
-_08081098:
- movs r3, 0x2
- ldr r1, _080810A0 @ =gLinkType
- ldr r4, _080810A4 @ =0x00002244
- b _080810B0
- .align 2, 0
-_080810A0: .4byte gLinkType
-_080810A4: .4byte 0x00002244
-_080810A8:
- movs r3, 0x4
- movs r2, 0x4
- ldr r1, _080810C4 @ =gLinkType
- ldr r4, _080810C8 @ =0x00002255
-_080810B0:
- adds r0, r4, 0
- strh r0, [r1]
-_080810B4:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8080748
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080810C4: .4byte gLinkType
-_080810C8: .4byte 0x00002255
- thumb_func_end TryBattleLinkup
-
- thumb_func_start TryTradeLinkup
-TryTradeLinkup: @ 80810CC
- push {lr}
- ldr r1, _080810E8 @ =gLinkType
- ldr r2, _080810EC @ =0x00001133
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080810F0 @ =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x2
- bl sub_8080748
- pop {r0}
- bx r0
- .align 2, 0
-_080810E8: .4byte gLinkType
-_080810EC: .4byte 0x00001133
-_080810F0: .4byte gBattleTypeFlags
- thumb_func_end TryTradeLinkup
-
- thumb_func_start sub_80810F4
-sub_80810F4: @ 80810F4
- push {lr}
- ldr r1, _08081118 @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0808111C @ =gLinkType
- ldr r2, _08081120 @ =0x00003311
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08081124 @ =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_8080748
- pop {r0}
- bx r0
- .align 2, 0
-_08081118: .4byte gSpecialVar_Result
-_0808111C: .4byte gLinkType
-_08081120: .4byte 0x00003311
-_08081124: .4byte gBattleTypeFlags
- thumb_func_end sub_80810F4
-
- thumb_func_start sub_8081128
-sub_8081128: @ 8081128
- push {lr}
- ldr r1, _08081144 @ =gLinkType
- ldr r2, _08081148 @ =0x00006601
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0808114C @ =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x4
- movs r1, 0x4
- bl sub_8080748
- pop {r0}
- bx r0
- .align 2, 0
-_08081144: .4byte gLinkType
-_08081148: .4byte 0x00006601
-_0808114C: .4byte gBattleTypeFlags
- thumb_func_end sub_8081128
-
- thumb_func_start sub_8081150
-sub_8081150: @ 8081150
- push {lr}
- ldr r0, _08081164 @ =sub_80811FC
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08081168
- movs r0, 0xFF
- b _080811EC
- .align 2, 0
-_08081164: .4byte sub_80811FC
-_08081168:
- ldr r0, _0808117C @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bhi _080811E0
- lsls r0, 2
- ldr r1, _08081180 @ =_08081184
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808117C: .4byte gSpecialVar_0x8004
-_08081180: .4byte _08081184
- .align 2, 0
-_08081184:
- .4byte _08081198
- .4byte _080811A8
- .4byte _080811C8
- .4byte _080811D8
- .4byte _080811B8
-_08081198:
- ldr r1, _080811A0 @ =gLinkType
- ldr r2, _080811A4 @ =0x00002233
- b _080811DC
- .align 2, 0
-_080811A0: .4byte gLinkType
-_080811A4: .4byte 0x00002233
-_080811A8:
- ldr r1, _080811B0 @ =gLinkType
- ldr r2, _080811B4 @ =0x00002244
- b _080811DC
- .align 2, 0
-_080811B0: .4byte gLinkType
-_080811B4: .4byte 0x00002244
-_080811B8:
- ldr r1, _080811C0 @ =gLinkType
- ldr r2, _080811C4 @ =0x00002255
- b _080811DC
- .align 2, 0
-_080811C0: .4byte gLinkType
-_080811C4: .4byte 0x00002255
-_080811C8:
- ldr r1, _080811D0 @ =gLinkType
- ldr r2, _080811D4 @ =0x00001111
- b _080811DC
- .align 2, 0
-_080811D0: .4byte gLinkType
-_080811D4: .4byte 0x00001111
-_080811D8:
- ldr r1, _080811F0 @ =gLinkType
- ldr r2, _080811F4 @ =0x00003322
-_080811DC:
- adds r0, r2, 0
- strh r0, [r1]
-_080811E0:
- ldr r0, _080811F8 @ =sub_80811FC
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
-_080811EC:
- pop {r1}
- bx r1
- .align 2, 0
-_080811F0: .4byte gLinkType
-_080811F4: .4byte 0x00003322
-_080811F8: .4byte sub_80811FC
- thumb_func_end sub_8081150
-
- thumb_func_start sub_80811FC
-sub_80811FC: @ 80811FC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08081228 @ =gTasks+0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _08081230
- bl OpenLink
- bl ResetLinkPlayers
- ldr r0, _0808122C @ =sub_8081A90
- movs r1, 0x50
- bl CreateTask
- b _0808123C
- .align 2, 0
-_08081228: .4byte gTasks+0x8
-_0808122C: .4byte sub_8081A90
-_08081230:
- cmp r2, 0x9
- ble _0808123C
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, _08081248 @ =sub_808124C
- str r1, [r0]
-_0808123C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081248: .4byte sub_808124C
- thumb_func_end sub_80811FC
-
- thumb_func_start sub_808124C
-sub_808124C: @ 808124C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08081292
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081284
- ldr r0, _0808127C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08081280 @ =sub_80812A0
- b _08081290
- .align 2, 0
-_0808127C: .4byte gTasks
-_08081280: .4byte sub_80812A0
-_08081284:
- ldr r0, _08081298 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808129C @ =sub_80812D8
-_08081290:
- str r0, [r1]
-_08081292:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081298: .4byte gTasks
-_0808129C: .4byte sub_80812D8
- thumb_func_end sub_808124C
-
- thumb_func_start sub_80812A0
-sub_80812A0: @ 80812A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl GetSavedPlayerCount
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080812CA
- bl CheckShouldAdvanceLinkState
- ldr r0, _080812D0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080812D4 @ =sub_80812D8
- str r0, [r1]
-_080812CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080812D0: .4byte gTasks
-_080812D4: .4byte sub_80812D8
- thumb_func_end sub_80812A0
-
- thumb_func_start sub_80812D8
-sub_80812D8: @ 80812D8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08081308 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08081300
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081300
- bl sub_800A9A4
- bl sub_8009FE8
- adds r0, r4, 0
- bl DestroyTask
-_08081300:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081308: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80812D8
-
- thumb_func_start sub_808130C
-sub_808130C: @ 808130C
- push {lr}
- bl Field_AskSaveTheGame
- pop {r0}
- bx r0
- thumb_func_end sub_808130C
-
- thumb_func_start sub_8081318
-sub_8081318: @ 8081318
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0808133C @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _08081332
- b _0808143A
-_08081332:
- lsls r0, 2
- ldr r1, _08081340 @ =_08081344
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808133C: .4byte gTasks
-_08081340: .4byte _08081344
- .align 2, 0
-_08081344:
- .4byte _0808135C
- .4byte _0808137C
- .4byte _0808138C
- .4byte _0808139C
- .4byte _080813A2
- .4byte _080813B8
-_0808135C:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r1, _08081374 @ =gLinkType
- ldr r2, _08081378 @ =0x00002211
- adds r0, r2, 0
- strh r0, [r1]
- bl ClearLinkCallback_2
- b _080813AA
- .align 2, 0
-_08081374: .4byte gLinkType
-_08081378: .4byte 0x00002211
-_0808137C:
- ldr r0, _08081388 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- b _080813A6
- .align 2, 0
-_08081388: .4byte gPaletteFade
-_0808138C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0808143A
- b _080813AA
-_0808139C:
- bl sub_800AAC0
- b _080813AA
-_080813A2:
- ldr r0, _080813B4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
-_080813A6:
- cmp r0, 0
- bne _0808143A
-_080813AA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _0808143A
- .align 2, 0
-_080813B4: .4byte gReceivedRemoteLinkPlayers
-_080813B8:
- ldr r0, _080813CC @ =gLinkPlayers
- ldr r0, [r0, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080813D4
- ldr r0, _080813D0 @ =0x00000109
- bl PlayMapChosenOrBattleBGM
- b _080813DC
- .align 2, 0
-_080813CC: .4byte gLinkPlayers
-_080813D0: .4byte 0x00000109
-_080813D4:
- movs r0, 0x85
- lsls r0, 1
- bl PlayMapChosenOrBattleBGM
-_080813DC:
- ldr r0, _080813F0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _08081404
- cmp r0, 0x2
- bgt _080813F4
- cmp r0, 0x1
- beq _080813FA
- b _0808141A
- .align 2, 0
-_080813F0: .4byte gSpecialVar_0x8004
-_080813F4:
- cmp r0, 0x5
- beq _08081410
- b _0808141A
-_080813FA:
- ldr r1, _08081400 @ =gBattleTypeFlags
- movs r0, 0xA
- b _08081418
- .align 2, 0
-_08081400: .4byte gBattleTypeFlags
-_08081404:
- ldr r1, _0808140C @ =gBattleTypeFlags
- movs r0, 0xB
- b _08081418
- .align 2, 0
-_0808140C: .4byte gBattleTypeFlags
-_08081410:
- bl ReducePlayerPartyToThree
- ldr r1, _08081440 @ =gBattleTypeFlags
- movs r0, 0x4B
-_08081418:
- str r0, [r1]
-_0808141A:
- bl CleanupOverworldWindowsAndTilemaps
- ldr r1, _08081444 @ =gTrainerBattleOpponent_A
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08081448 @ =CB2_InitBattle
- bl SetMainCallback2
- ldr r1, _0808144C @ =gMain
- ldr r0, _08081450 @ =sub_8081668
- str r0, [r1, 0x8]
- adds r0, r5, 0
- bl DestroyTask
-_0808143A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081440: .4byte gBattleTypeFlags
-_08081444: .4byte gTrainerBattleOpponent_A
-_08081448: .4byte CB2_InitBattle
-_0808144C: .4byte gMain
-_08081450: .4byte sub_8081668
- thumb_func_end sub_8081318
-
- thumb_func_start sub_8081454
-sub_8081454: @ 8081454
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08081478 @ =gTasks+0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x7
- bls _0808146E
- b _0808160A
-_0808146E:
- lsls r0, 2
- ldr r1, _0808147C @ =_08081480
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08081478: .4byte gTasks+0x8
-_0808147C: .4byte _08081480
- .align 2, 0
-_08081480:
- .4byte _080814A0
- .4byte _080814C4
- .4byte _080814DC
- .4byte _080814F0
- .4byte _0808154C
- .4byte _08081560
- .4byte _0808156A
- .4byte _0808157A
-_080814A0:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, _080814BC @ =gLinkType
- ldr r2, _080814C0 @ =0x00002211
- adds r1, r2, 0
- strh r1, [r0]
- bl ClearLinkCallback_2
- movs r0, 0x1
- strh r0, [r6]
- b _0808160A
- .align 2, 0
-_080814BC: .4byte gLinkType
-_080814C0: .4byte 0x00002211
-_080814C4:
- ldr r0, _080814D8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080814D2
- b _0808160A
-_080814D2:
- movs r0, 0x2
- strh r0, [r6]
- b _0808160A
- .align 2, 0
-_080814D8: .4byte gPaletteFade
-_080814DC:
- ldr r1, _080814EC @ =gLocalLinkPlayer
- movs r0, 0
- movs r2, 0x1C
- bl SendBlock
- movs r0, 0x3
- strh r0, [r6]
- b _0808160A
- .align 2, 0
-_080814EC: .4byte gLocalLinkPlayer
-_080814F0:
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A8D4
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08081504
- b _0808160A
-_08081504:
- movs r4, 0
- ldr r5, _0808150C @ =gLinkPlayers
- b _08081536
- .align 2, 0
-_0808150C: .4byte gLinkPlayers
-_08081510:
- lsls r1, r4, 8
- ldr r2, _08081548 @ =gBlockRecvBuffer
- adds r0, r5, 0
- adds r1, r2
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r5, 0
- bl sub_800B284
- lsls r0, r4, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- adds r5, 0x1C
- adds r4, 0x1
-_08081536:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _08081510
- movs r0, 0x4
- strh r0, [r6]
- b _0808160A
- .align 2, 0
-_08081548: .4byte gBlockRecvBuffer
-_0808154C:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0808160A
- movs r0, 0x5
- strh r0, [r6]
- b _0808160A
-_08081560:
- bl sub_800AB9C
- movs r0, 0x6
- strh r0, [r6]
- b _0808160A
-_0808156A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808160A
- movs r0, 0x7
- strh r0, [r6]
- b _0808160A
-_0808157A:
- ldr r0, _08081590 @ =gLinkPlayers
- ldr r0, [r0, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08081598
- ldr r0, _08081594 @ =0x00000109
- bl PlayMapChosenOrBattleBGM
- b _080815A0
- .align 2, 0
-_08081590: .4byte gLinkPlayers
-_08081594: .4byte 0x00000109
-_08081598:
- movs r0, 0x85
- lsls r0, 1
- bl PlayMapChosenOrBattleBGM
-_080815A0:
- ldr r0, _080815B8 @ =gLinkPlayers
- ldr r1, _080815BC @ =0x00002211
- str r1, [r0, 0x14]
- ldr r0, _080815C0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _080815D4
- cmp r0, 0x2
- bgt _080815C4
- cmp r0, 0x1
- beq _080815CA
- b _080815EA
- .align 2, 0
-_080815B8: .4byte gLinkPlayers
-_080815BC: .4byte 0x00002211
-_080815C0: .4byte gSpecialVar_0x8004
-_080815C4:
- cmp r0, 0x5
- beq _080815E0
- b _080815EA
-_080815CA:
- ldr r1, _080815D0 @ =gBattleTypeFlags
- movs r0, 0xA
- b _080815E8
- .align 2, 0
-_080815D0: .4byte gBattleTypeFlags
-_080815D4:
- ldr r1, _080815DC @ =gBattleTypeFlags
- movs r0, 0xB
- b _080815E8
- .align 2, 0
-_080815DC: .4byte gBattleTypeFlags
-_080815E0:
- bl ReducePlayerPartyToThree
- ldr r1, _08081610 @ =gBattleTypeFlags
- movs r0, 0x4B
-_080815E8:
- str r0, [r1]
-_080815EA:
- bl CleanupOverworldWindowsAndTilemaps
- ldr r1, _08081614 @ =gTrainerBattleOpponent_A
- movs r3, 0x80
- lsls r3, 4
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _08081618 @ =CB2_InitBattle
- bl SetMainCallback2
- ldr r1, _0808161C @ =gMain
- ldr r0, _08081620 @ =sub_8081668
- str r0, [r1, 0x8]
- adds r0, r4, 0
- bl DestroyTask
-_0808160A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081610: .4byte gBattleTypeFlags
-_08081614: .4byte gTrainerBattleOpponent_A
-_08081618: .4byte CB2_InitBattle
-_0808161C: .4byte gMain
-_08081620: .4byte sub_8081668
- thumb_func_end sub_8081454
-
- thumb_func_start sub_8081624
-sub_8081624: @ 8081624
- push {r4,lr}
- ldr r0, _0808163C @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _08081640
- cmp r0, 0x1
- beq _0808164C
- b _0808165C
- .align 2, 0
-_0808163C: .4byte gMain
-_08081640:
- bl sub_800AAC0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0808165C
-_0808164C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808165C
- ldr r0, _08081664 @ =CB2_ReturnToField
- bl SetMainCallback2
-_0808165C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081664: .4byte CB2_ReturnToField
- thumb_func_end sub_8081624
-
- thumb_func_start sub_8081668
-sub_8081668: @ 8081668
- push {r4,r5,lr}
- ldr r2, _080816B0 @ =gBattleTypeFlags
- ldr r0, [r2]
- ldr r1, _080816B4 @ =0x0000ffdf
- ands r0, r1
- str r0, [r2]
- bl sub_8055DB8
- bl LoadPlayerParty
- bl SavePlayerBag
- bl Special_UpdateTrainerFansAfterLinkBattle
- ldr r0, _080816B8 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x5
- beq _0808170A
- ldr r0, _080816BC @ =gLocalLinkPlayerId
- ldrb r0, [r0]
- movs r5, 0x1
- eors r0, r5
- bl TryRecordLinkBattleOutcome
- ldr r0, _080816C0 @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808170A
- ldr r0, _080816C4 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080816C8
- cmp r0, 0x2
- beq _080816EC
- b _0808170A
- .align 2, 0
-_080816B0: .4byte gBattleTypeFlags
-_080816B4: .4byte 0x0000ffdf
-_080816B8: .4byte gSpecialVar_0x8004
-_080816BC: .4byte gLocalLinkPlayerId
-_080816C0: .4byte gWirelessCommType
-_080816C4: .4byte gBattleOutcome
-_080816C8:
- ldr r4, _080816E8 @ =gLinkPlayers
- bl GetMultiplayerId
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0
- bl sub_8144714
- b _0808170A
- .align 2, 0
-_080816E8: .4byte gLinkPlayers
-_080816EC:
- ldr r4, _08081718 @ =gLinkPlayers
- bl GetMultiplayerId
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0x1
- bl sub_8144714
-_0808170A:
- bl InUnionRoom
- cmp r0, 0x1
- bne _08081724
- ldr r1, _0808171C @ =gMain
- ldr r0, _08081720 @ =sub_8081624
- b _08081728
- .align 2, 0
-_08081718: .4byte gLinkPlayers
-_0808171C: .4byte gMain
-_08081720: .4byte sub_8081624
-_08081724:
- ldr r1, _08081738 @ =gMain
- ldr r0, _0808173C @ =c2_8056854
-_08081728:
- str r0, [r1, 0x8]
- ldr r0, _08081740 @ =CB2_SetUpSaveAfterLinkBattle
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081738: .4byte gMain
-_0808173C: .4byte c2_8056854
-_08081740: .4byte CB2_SetUpSaveAfterLinkBattle
- thumb_func_end sub_8081668
-
- thumb_func_start CleanupLinkRoomState
-CleanupLinkRoomState: @ 8081744
- push {lr}
- ldr r0, _0808176C @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08081758
- cmp r1, 0x5
- bne _08081760
-_08081758:
- bl LoadPlayerParty
- bl SavePlayerBag
-_08081760:
- movs r0, 0x7F
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- pop {r0}
- bx r0
- .align 2, 0
-_0808176C: .4byte gSpecialVar_0x8004
- thumb_func_end CleanupLinkRoomState
-
- thumb_func_start sub_8081770
-sub_8081770: @ 8081770
- push {lr}
- bl sub_8057F5C
- pop {r0}
- bx r0
- thumb_func_end sub_8081770
-
- thumb_func_start sub_808177C
-sub_808177C: @ 808177C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080817A0 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080817C0
- cmp r0, 0x1
- bgt _080817A4
- cmp r0, 0
- beq _080817AE
- b _08081820
- .align 2, 0
-_080817A0: .4byte gTasks
-_080817A4:
- cmp r0, 0x2
- beq _080817E0
- cmp r0, 0x3
- beq _0808180C
- b _08081820
-_080817AE:
- ldr r0, _080817BC @ =CableClub_Text_PleaseWaitBCancel
- bl ShowFieldMessage
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _08081820
- .align 2, 0
-_080817BC: .4byte CableClub_Text_PleaseWaitBCancel
-_080817C0:
- bl IsFieldMessageBoxHidden
- lsls r0, 24
- cmp r0, 0
- beq _08081820
- bl sub_8057F34
- ldr r0, _080817DC @ =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl SetLocalLinkPlayerId
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _08081820
- .align 2, 0
-_080817DC: .4byte gSpecialVar_0x8005
-_080817E0:
- bl sub_8057EC0
- cmp r0, 0x1
- beq _080817F2
- cmp r0, 0x1
- bcc _08081820
- cmp r0, 0x2
- beq _08081806
- b _08081820
-_080817F2:
- bl HideFieldMessageBox
- movs r0, 0
- strh r0, [r5, 0x8]
- bl sub_8057F70
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
- b _08081820
-_08081806:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _08081820
-_0808180C:
- bl sub_8057F48
- movs r0, 0x1
- bl sub_80F771C
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_08081820:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808177C
-
- thumb_func_start sub_8081828
-sub_8081828: @ 8081828
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0808184C @ =sub_808177C
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetTaskFuncWithFollowupFunc
- bl ScriptContext1_Stop
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808184C: .4byte sub_808177C
- thumb_func_end sub_8081828
-
- thumb_func_start sub_8081850
-sub_8081850: @ 8081850
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08081874 @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08081894
- cmp r0, 0x1
- bgt _08081878
- cmp r0, 0
- beq _08081882
- b _080818D8
- .align 2, 0
-_08081874: .4byte gTasks
-_08081878:
- cmp r0, 0x2
- beq _080818A8
- cmp r0, 0x3
- beq _080818C4
- b _080818D8
-_08081882:
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- bl ClearLinkCallback_2
- b _080818B8
-_08081894:
- ldr r0, _080818A4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080818D8
- b _080818B8
- .align 2, 0
-_080818A4: .4byte gPaletteFade
-_080818A8:
- ldr r1, _080818C0 @ =gSelectedTradeMonPositions
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bl m4aMPlayAllStop
- bl sub_800AAC0
-_080818B8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080818D8
- .align 2, 0
-_080818C0: .4byte gSelectedTradeMonPositions
-_080818C4:
- ldr r0, _080818E0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080818D8
- ldr r0, _080818E4 @ =CB2_ReturnFromLinkTrade
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080818D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080818E0: .4byte gReceivedRemoteLinkPlayers
-_080818E4: .4byte CB2_ReturnFromLinkTrade
- thumb_func_end sub_8081850
-
- thumb_func_start sub_80818E8
-sub_80818E8: @ 80818E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0808190C @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0808192C
- cmp r0, 0x1
- bgt _08081910
- cmp r0, 0
- beq _0808191A
- b _08081970
- .align 2, 0
-_0808190C: .4byte gTasks+0x8
-_08081910:
- cmp r0, 0x2
- beq _08081940
- cmp r0, 0x3
- beq _0808195C
- b _08081970
-_0808191A:
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- bl Rfu_set_zero
- b _08081950
-_0808192C:
- ldr r0, _0808193C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08081970
- b _08081950
- .align 2, 0
-_0808193C: .4byte gPaletteFade
-_08081940:
- ldr r1, _08081958 @ =gSelectedTradeMonPositions
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bl m4aMPlayAllStop
- bl sub_800AB9C
-_08081950:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _08081970
- .align 2, 0
-_08081958: .4byte gSelectedTradeMonPositions
-_0808195C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08081970
- bl sub_8117118
- adds r0, r5, 0
- bl DestroyTask
-_08081970:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80818E8
-
- thumb_func_start EnterTradeSeat
-EnterTradeSeat: @ 8081978
- push {lr}
- ldr r0, _0808198C @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _08081994
- ldr r0, _08081990 @ =sub_80818E8
- bl sub_8081828
- b _0808199A
- .align 2, 0
-_0808198C: .4byte gWirelessCommType
-_08081990: .4byte sub_80818E8
-_08081994:
- ldr r0, _080819A0 @ =sub_8081850
- bl sub_8081828
-_0808199A:
- pop {r0}
- bx r0
- .align 2, 0
-_080819A0: .4byte sub_8081850
- thumb_func_end EnterTradeSeat
-
- thumb_func_start sub_80819A4
-sub_80819A4: @ 80819A4
- push {lr}
- ldr r0, _080819B4 @ =sub_8081850
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080819B4: .4byte sub_8081850
- thumb_func_end sub_80819A4
-
- thumb_func_start sub_80819B8
-sub_80819B8: @ 80819B8
- push {lr}
- bl sub_80819A4
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- thumb_func_end sub_80819B8
-
- thumb_func_start EnterColosseumPlayerSpot
-EnterColosseumPlayerSpot: @ 80819C8
- push {lr}
- ldr r1, _080819E4 @ =gLinkType
- ldr r2, _080819E8 @ =0x00002211
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080819EC @ =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080819F4
- ldr r0, _080819F0 @ =sub_8081454
- bl sub_8081828
- b _080819FA
- .align 2, 0
-_080819E4: .4byte gLinkType
-_080819E8: .4byte 0x00002211
-_080819EC: .4byte gWirelessCommType
-_080819F0: .4byte sub_8081454
-_080819F4:
- ldr r0, _08081A00 @ =sub_8081318
- bl sub_8081828
-_080819FA:
- pop {r0}
- bx r0
- .align 2, 0
-_08081A00: .4byte sub_8081318
- thumb_func_end EnterColosseumPlayerSpot
-
- thumb_func_start sub_8081A04
-sub_8081A04: @ 8081A04
- push {lr}
- ldr r0, _08081A18 @ =sub_808177C
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .align 2, 0
-_08081A18: .4byte sub_808177C
- thumb_func_end sub_8081A04
-
- thumb_func_start Script_ShowLinkTrainerCard
-Script_ShowLinkTrainerCard: @ 8081A1C
- push {lr}
- ldr r0, _08081A2C @ =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, _08081A30 @ =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl ShowTrainerCardInLink
- pop {r0}
- bx r0
- .align 2, 0
-_08081A2C: .4byte gSpecialVar_0x8006
-_08081A30: .4byte CB2_ReturnToFieldContinueScriptPlayMapMusic
- thumb_func_end Script_ShowLinkTrainerCard
-
- thumb_func_start sub_8081A34
-sub_8081A34: @ 8081A34
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08081A74 @ =gSpecialVar_0x8006
- strh r4, [r0]
- ldr r0, _08081A78 @ =gStringVar1
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, _08081A7C @ =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r4, 0
- bl GetTrainerCardStars
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08081A88
- ldr r0, _08081A80 @ =gStringVar2
- ldr r2, _08081A84 @ =gUnknown_83C6AB8
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x1
- b _08081A8A
- .align 2, 0
-_08081A74: .4byte gSpecialVar_0x8006
-_08081A78: .4byte gStringVar1
-_08081A7C: .4byte gLinkPlayers + 8
-_08081A80: .4byte gStringVar2
-_08081A84: .4byte gUnknown_83C6AB8
-_08081A88:
- movs r0, 0
-_08081A8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8081A34
-
- thumb_func_start sub_8081A90
-sub_8081A90: @ 8081A90
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08081AD8 @ =gTasks
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- movs r0, 0x96
- lsls r0, 17
- cmp r1, r0
- ble _08081AC2
- bl CloseLink
- ldr r0, _08081ADC @ =CB2_LinkError
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08081AC2:
- ldr r0, _08081AE0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08081AD0
- adds r0, r5, 0
- bl DestroyTask
-_08081AD0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081AD8: .4byte gTasks
-_08081ADC: .4byte CB2_LinkError
-_08081AE0: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8081A90
-
- thumb_func_start sub_8081AE4
-sub_8081AE4: @ 8081AE4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08081B04 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08081AFC
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_08081AFC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081B04: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8081AE4
-
- thumb_func_start sub_8081B08
-sub_8081B08: @ 8081B08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800AAC0
- ldr r1, _08081B28 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08081B2C @ =sub_8081AE4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081B28: .4byte gTasks
-_08081B2C: .4byte sub_8081AE4
- thumb_func_end sub_8081B08
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/clear_save_data_screen.s b/asm/clear_save_data_screen.s
deleted file mode 100644
index 367f12814..000000000
--- a/asm/clear_save_data_screen.s
+++ /dev/null
@@ -1,469 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F5574
-sub_80F5574: @ 80F5574
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80F5574
-
- thumb_func_start sub_80F558C
-sub_80F558C: @ 80F558C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80F558C
-
- thumb_func_start CB2_SaveClearScreen_Init
-CB2_SaveClearScreen_Init: @ 80F55A0
- push {r4,lr}
- ldr r4, _080F55D0 @ =gUnknown_203AB54
- movs r0, 0x4
- bl AllocZeroed
- str r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x1]
- ldr r0, [r4]
- strb r1, [r0]
- ldr r0, [r4]
- strb r1, [r0, 0x2]
- bl sub_80F580C
- ldr r0, _080F55D4 @ =sub_80F55DC
- movs r1, 0
- bl CreateTask
- ldr r0, _080F55D8 @ =sub_80F5574
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F55D0: .4byte gUnknown_203AB54
-_080F55D4: .4byte sub_80F55DC
-_080F55D8: .4byte sub_80F5574
- thumb_func_end CB2_SaveClearScreen_Init
-
- thumb_func_start sub_80F55DC
-sub_80F55DC: @ 80F55DC
- push {r4,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F55F8 @ =gUnknown_203AB54
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x5
- bhi _080F56C0
- lsls r0, 2
- ldr r1, _080F55FC @ =_080F5600
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F55F8: .4byte gUnknown_203AB54
-_080F55FC: .4byte _080F5600
- .align 2, 0
-_080F5600:
- .4byte _080F5618
- .4byte _080F562A
- .4byte _080F5644
- .4byte _080F564A
- .4byte _080F5660
- .4byte _080F569C
-_080F5618:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080F56E2
-_080F562A:
- ldr r0, _080F5640 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080F56EC
- movs r0, 0
- bl SetVBlankCallback
- b _080F56E2
- .align 2, 0
-_080F5640: .4byte gPaletteFade
-_080F5644:
- bl sub_80F5820
- b _080F56E2
-_080F564A:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xF0
- bl TextWindow_SetStdFrame0_WithPal
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xF0
- bl TextWindow_SetStdFrame0_WithPal
- b _080F56E2
-_080F5660:
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xF
- bl DrawStdFrameWithCustomTileAndPalette
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, _080F5694 @ =gUnknown_841EE80
- str r0, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080F5698 @ =gUnknown_841B69E
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x3
- bl AddTextPrinterParameterized4
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
- b _080F56E2
- .align 2, 0
-_080F5694: .4byte gUnknown_841EE80
-_080F5698: .4byte gUnknown_841B69E
-_080F569C:
- ldr r0, _080F56BC @ =gUnknown_841EE68
- movs r2, 0x1
- str r2, [sp]
- movs r1, 0xF
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- b _080F56E2
- .align 2, 0
-_080F56BC: .4byte gUnknown_841EE68
-_080F56C0:
- ldr r0, _080F56F4 @ =0x0000ffff
- str r0, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080F56F8 @ =sub_80F558C
- bl SetVBlankCallback
- ldr r1, _080F56FC @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080F5700 @ =sub_80F5708
- str r1, [r0]
-_080F56E2:
- ldr r0, _080F5704 @ =gUnknown_203AB54
- ldr r1, [r0]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
-_080F56EC:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F56F4: .4byte 0x0000ffff
-_080F56F8: .4byte sub_80F558C
-_080F56FC: .4byte gTasks
-_080F5700: .4byte sub_80F5708
-_080F5704: .4byte gUnknown_203AB54
- thumb_func_end sub_80F55DC
-
- thumb_func_start sub_80F5708
-sub_80F5708: @ 80F5708
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r5, _080F5740 @ =gUnknown_203AB54
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F578C
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080F5736
- cmp r4, r0
- ble _080F5792
- cmp r4, 0
- beq _080F5744
- cmp r4, 0x1
- bne _080F5792
-_080F5736:
- movs r0, 0x5
- bl PlaySE
- b _080F577A
- .align 2, 0
-_080F5740: .4byte gUnknown_203AB54
-_080F5744:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- ldr r0, _080F5784 @ =gUnknown_841EE80
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r0, _080F5788 @ =gUnknown_841B6B9
- str r0, [sp, 0x10]
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x3
- bl AddTextPrinterParameterized4
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- bl ClearSaveData
-_080F577A:
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F5792
- .align 2, 0
-_080F5784: .4byte gUnknown_841EE80
-_080F5788: .4byte gUnknown_841B6B9
-_080F578C:
- adds r0, r1, 0
- bl sub_80F579C
-_080F5792:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F5708
-
- thumb_func_start sub_80F579C
-sub_80F579C: @ 80F579C
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080F57B4 @ =gUnknown_203AB54
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080F57B8
- cmp r0, 0x1
- beq _080F57D4
- b _080F57FE
- .align 2, 0
-_080F57B4: .4byte gUnknown_203AB54
-_080F57B8:
- ldr r0, _080F57D0 @ =0x0000ffff
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- b _080F57FE
- .align 2, 0
-_080F57D0: .4byte 0x0000ffff
-_080F57D4:
- ldr r0, _080F5808 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080F57FE
- bl DestroyYesNoMenu
- adds r0, r6, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, [r5]
- bl Free
- str r4, [r5]
- bl DoSoftReset
-_080F57FE:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5808: .4byte gPaletteFade
- thumb_func_end sub_80F579C
-
- thumb_func_start sub_80F580C
-sub_80F580C: @ 80F580C
- push {lr}
- bl ResetSpriteData
- bl ResetPaletteFade
- bl ResetTasks
- pop {r0}
- bx r0
- thumb_func_end sub_80F580C
-
- thumb_func_start sub_80F5820
-sub_80F5820: @ 80F5820
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _080F593C @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080F5940 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080F5846:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080F5846
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _080F593C @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _080F5944 @ =gUnknown_841EE64
- movs r0, 0
- movs r2, 0x1
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, _080F5948 @ =gUnknown_841EE68
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F593C: .4byte 0x040000d4
-_080F5940: .4byte 0x81000800
-_080F5944: .4byte gUnknown_841EE64
-_080F5948: .4byte gUnknown_841EE68
- thumb_func_end sub_80F5820
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
deleted file mode 100644
index 3e9c18491..000000000
--- a/asm/dodrio_berry_picking.s
+++ /dev/null
@@ -1,11411 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81507FC
-sub_81507FC: @ 81507FC
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _081508A4 @ =gUnknown_3002044
- movs r0, 0
- str r0, [r1]
- ldr r0, _081508A8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _081508CC
- ldr r4, _081508AC @ =gUnknown_203F3E0
- ldr r0, _081508B0 @ =0x00003330
- bl AllocZeroed
- str r0, [r4]
- cmp r0, 0
- beq _081508CC
- bl sub_81508D8
- ldr r0, [r4]
- bl sub_81508EC
- ldr r0, [r4]
- str r5, [r0]
- bl GetMultiplayerId
- ldr r1, [r4]
- adds r1, 0x28
- strb r0, [r1]
- ldr r1, [r4]
- ldr r2, _081508B4 @ =0x000032cc
- adds r0, r1, r2
- adds r2, r1, 0
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r3, 4
- subs r2, r3
- lsls r2, 2
- adds r1, r2
- ldr r2, _081508B8 @ =0x000031a0
- adds r1, r2
- movs r2, 0x3C
- bl memcpy
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- ldrb r1, [r1]
- lsls r1, 2
- ldr r2, _081508BC @ =0x0000318c
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r6
- ldr r2, _081508C0 @ =gPlayerParty
- adds r1, r2
- bl sub_8152048
- ldr r0, _081508C4 @ =sub_8150A84
- movs r1, 0x1
- bl CreateTask
- ldr r0, _081508C8 @ =sub_815201C
- bl SetMainCallback2
- bl sub_8153150
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- adds r1, r2, 0
- adds r1, 0x44
- adds r2, 0x48
- bl sub_81529A4
- bl StopMapMusic
- movs r0, 0xA5
- lsls r0, 1
- bl PlayNewMapMusic
- b _081508D2
- .align 2, 0
-_081508A4: .4byte gUnknown_3002044
-_081508A8: .4byte gReceivedRemoteLinkPlayers
-_081508AC: .4byte gUnknown_203F3E0
-_081508B0: .4byte 0x00003330
-_081508B4: .4byte 0x000032cc
-_081508B8: .4byte 0x000031a0
-_081508BC: .4byte 0x0000318c
-_081508C0: .4byte gPlayerParty
-_081508C4: .4byte sub_8150A84
-_081508C8: .4byte sub_815201C
-_081508CC:
- adds r0, r5, 0
- bl SetMainCallback2
-_081508D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81507FC
-
- thumb_func_start sub_81508D8
-sub_81508D8: @ 81508D8
- push {lr}
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- pop {r0}
- bx r0
- thumb_func_end sub_81508D8
-
- thumb_func_start sub_81508EC
-sub_81508EC: @ 81508EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2, 0xC]
- strb r0, [r2, 0x10]
- strb r0, [r2, 0x14]
- strb r0, [r2, 0x18]
- strb r0, [r2, 0x1C]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- str r0, [r1]
- adds r1, r2, 0
- adds r1, 0x30
- strb r0, [r1]
- adds r1, 0x10
- strb r0, [r1]
- subs r1, 0x4
- strb r0, [r1]
- adds r3, 0x10
- adds r1, r2, r3
- str r0, [r1]
- movs r5, 0
- adds r1, r2, 0
- adds r1, 0x98
- movs r3, 0
-_08150932:
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08150932
- movs r5, 0
- adds r7, r2, 0
- adds r7, 0xA8
- str r7, [sp]
- adds r0, r2, 0
- adds r0, 0xB0
- str r0, [sp, 0xC]
- movs r1, 0x4A
- adds r1, r2
- mov r10, r1
- movs r3, 0x4C
- adds r3, r2
- mov r9, r3
- movs r7, 0x4E
- adds r7, r2
- mov r12, r7
- subs r0, 0x60
- str r0, [sp, 0x24]
- adds r6, r2, 0
- adds r6, 0x54
- adds r1, r2, 0
- adds r1, 0xD0
- str r1, [sp, 0x1C]
- adds r3, r2, 0
- adds r3, 0xDC
- str r3, [sp, 0x20]
- adds r7, r2, 0
- adds r7, 0xC4
- str r7, [sp, 0x14]
- adds r0, 0xA4
- str r0, [sp, 0x4]
- adds r1, 0x25
- str r1, [sp, 0x8]
- subs r3, 0xBC
- str r3, [sp, 0x10]
- movs r7, 0x24
- adds r7, r2
- mov r8, r7
- subs r0, 0xC0
- str r0, [sp, 0x18]
- movs r3, 0
- movs r1, 0x86
- lsls r1, 1
- adds r4, r2, r1
- movs r7, 0x98
- lsls r7, 1
- adds r2, r7
-_0815099E:
- ldr r1, [sp]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0xC]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- mov r7, r10
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r9
- adds r1, r7, r0
- strh r3, [r1]
- mov r7, r12
- adds r1, r7, r0
- strh r3, [r1]
- ldr r7, [sp, 0x24]
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r6, r0
- strh r3, [r0]
- adds r0, r4, r5
- strb r3, [r0]
- lsls r0, r5, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0815099E
- movs r5, 0
- movs r3, 0
- movs r4, 0xFF
- ldr r6, [sp, 0x1C]
-_081509E8:
- adds r0, r6, r5
- strb r3, [r0]
- ldr r1, [sp, 0x20]
- adds r0, r1, r5
- strb r3, [r0]
- ldr r7, [sp, 0x14]
- adds r0, r7, r5
- strb r3, [r0]
- lsls r1, r5, 1
- ldr r0, [sp, 0x4]
- adds r2, r0, r1
- ldrb r0, [r2]
- orrs r0, r4
- strb r0, [r2]
- ldr r7, [sp, 0x8]
- adds r1, r7, r1
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _081509E8
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08150A26
- movs r1, 0x1
-_08150A26:
- ldr r0, [sp, 0x10]
- strb r1, [r0]
- bl GetLinkPlayerCount
- mov r1, r8
- strb r0, [r1]
- bl GetMultiplayerId
- ldr r3, [sp, 0x18]
- strb r0, [r3]
- movs r5, 0x1
- mov r7, r8
- ldrb r7, [r7]
- cmp r5, r7
- bcs _08150A72
- ldr r7, [sp, 0x18]
- mov r6, r8
-_08150A48:
- adds r4, r7, r5
- subs r0, r5, 0x1
- adds r0, r7, r0
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r4]
- ldrb r2, [r4]
- ldrb r1, [r6]
- subs r0, r1, 0x1
- cmp r2, r0
- ble _08150A66
- adds r0, r2, 0
- bl __umodsi3
- strb r0, [r4]
-_08150A66:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- cmp r5, r0
- bcc _08150A48
-_08150A72:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81508EC
-
- thumb_func_start sub_8150A84
-sub_8150A84: @ 8150A84
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08150AA4 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bls _08150A98
- b _08150BF0
-_08150A98:
- lsls r0, 2
- ldr r1, _08150AA8 @ =_08150AAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08150AA4: .4byte gUnknown_203F3E0
-_08150AA8: .4byte _08150AAC
- .align 2, 0
-_08150AAC:
- .4byte _08150ACC
- .4byte _08150AE0
- .4byte _08150B08
- .4byte _08150B16
- .4byte _08150B3C
- .4byte _08150B90
- .4byte _08150BA2
- .4byte _08150BCC
-_08150ACC:
- movs r0, 0
- bl SetVBlankCallback
- ldr r0, _08150ADC @ =sub_8151750
- movs r1, 0x4
- bl sub_815205C
- b _08150BDC
- .align 2, 0
-_08150ADC: .4byte sub_8151750
-_08150AE0:
- ldr r0, _08150B00 @ =sub_8151750
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _08150AEE
- b _08150BFC
-_08150AEE:
- ldr r4, _08150B04 @ =gUnknown_203F3E0
- ldr r0, [r4]
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r1
- bl sub_8154968
- ldr r1, [r4]
- b _08150BE0
- .align 2, 0
-_08150B00: .4byte sub_8151750
-_08150B04: .4byte gUnknown_203F3E0
-_08150B08:
- bl sub_8155E68
- cmp r0, 0
- bne _08150BFC
- bl sub_80FA42C
- b _08150BDC
-_08150B16:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150BFC
- ldr r0, _08150B38 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08150BDC
- bl LoadWirelessStatusIndicatorSpriteGfx
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- b _08150BDC
- .align 2, 0
-_08150B38: .4byte gReceivedRemoteLinkPlayers
-_08150B3C:
- ldr r0, _08150B88 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_8153A9C
- movs r4, 0
- cmp r4, r5
- bcs _08150B76
-_08150B4E:
- ldr r0, _08150B88 @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x34
- adds r0, r4
- ldrb r2, [r0]
- lsls r0, r2, 2
- ldr r3, _08150B8C @ =0x0000318c
- adds r0, r3
- adds r0, r1, r0
- adds r1, 0x24
- ldrb r3, [r1]
- adds r1, r4, 0
- bl sub_8153AFC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08150B4E
-_08150B76:
- ldr r4, _08150B88 @ =gUnknown_203F3E0
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r1, [r0]
- movs r0, 0
- bl sub_8153D80
- ldr r1, [r4]
- b _08150BE0
- .align 2, 0
-_08150B88: .4byte gUnknown_203F3E0
-_08150B8C: .4byte 0x0000318c
-_08150B90:
- bl sub_8154128
- bl sub_815417C
- bl sub_8154438
- bl sub_8153E28
- b _08150BDC
-_08150BA2:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08150BC8 @ =sub_8152034
- bl SetVBlankCallback
- b _08150BDC
- .align 2, 0
-_08150BC8: .4byte sub_8152034
-_08150BCC:
- bl UpdatePaletteFade
- ldr r0, _08150BE8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08150BFC
-_08150BDC:
- ldr r0, _08150BEC @ =gUnknown_203F3E0
- ldr r1, [r0]
-_08150BE0:
- ldrb r0, [r1, 0xC]
- adds r0, 0x1
- strb r0, [r1, 0xC]
- b _08150BFC
- .align 2, 0
-_08150BE8: .4byte gPaletteFade
-_08150BEC: .4byte gUnknown_203F3E0
-_08150BF0:
- adds r0, r1, 0
- bl DestroyTask
- ldr r0, _08150C04 @ =sub_81516DC
- bl sub_815206C
-_08150BFC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08150C04: .4byte sub_81516DC
- thumb_func_end sub_8150A84
-
- thumb_func_start sub_8150C08
-sub_8150C08: @ 8150C08
- push {lr}
- bl sub_8151B54
- ldr r1, _08150C34 @ =sUnknown_8475578
- ldr r0, _08150C38 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08150C3C @ =gUnknown_3002044
- ldr r0, [r0]
- cmp r0, 0
- bne _08150C2C
- bl sub_815293C
-_08150C2C:
- bl sub_8151BA0
- pop {r0}
- bx r0
- .align 2, 0
-_08150C34: .4byte sUnknown_8475578
-_08150C38: .4byte gUnknown_203F3E0
-_08150C3C: .4byte gUnknown_3002044
- thumb_func_end sub_8150C08
-
- thumb_func_start sub_8150C40
-sub_8150C40: @ 8150C40
- push {lr}
- bl sub_8151C5C
- ldr r1, _08150C6C @ =sUnknown_84755A8
- ldr r0, _08150C70 @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x18]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _08150C74 @ =gUnknown_3002044
- ldr r0, [r0]
- cmp r0, 0
- bne _08150C64
- bl sub_8152970
-_08150C64:
- bl sub_8151D28
- pop {r0}
- bx r0
- .align 2, 0
-_08150C6C: .4byte sUnknown_84755A8
-_08150C70: .4byte gUnknown_203F3E0
-_08150C74: .4byte gUnknown_3002044
- thumb_func_end sub_8150C40
-
- thumb_func_start sub_8150C78
-sub_8150C78: @ 8150C78
- push {r4,lr}
- ldr r4, _08150C8C @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08150C90
- cmp r0, 0x1
- beq _08150CA6
- b _08150CB4
- .align 2, 0
-_08150C8C: .4byte gUnknown_203F3E0
-_08150C90:
- movs r0, 0x1
- bl sub_8153BF8
- movs r0, 0x1
- bl sub_81549D4
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150CB4
-_08150CA6:
- bl sub_8155E68
- cmp r0, 0
- bne _08150CB4
- movs r0, 0x1
- bl sub_8152090
-_08150CB4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150C78
-
- thumb_func_start sub_8150CBC
-sub_8150CBC: @ 8150CBC
- push {r4,lr}
- ldr r4, _08150CD8 @ =gUnknown_203F3E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08150CDC
- bl sub_8152110
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150CEC
- .align 2, 0
-_08150CD8: .4byte gUnknown_203F3E0
-_08150CDC:
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x2
- bl sub_8152090
-_08150CEC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150CBC
-
- thumb_func_start sub_8150CF4
-sub_8150CF4: @ 8150CF4
- push {lr}
- sub sp, 0x4
- ldr r0, _08150D0C @ =gUnknown_203F3E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x4
- bhi _08150D74
- lsls r0, 2
- ldr r1, _08150D10 @ =_08150D14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08150D0C: .4byte gUnknown_203F3E0
-_08150D10: .4byte _08150D14
- .align 2, 0
-_08150D14:
- .4byte _08150D28
- .4byte _08150D4E
- .4byte _08150D3A
- .4byte _08150D46
- .4byte _08150D64
-_08150D28:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x78
- movs r3, 0x50
- bl sub_815F138
- b _08150D52
-_08150D3A:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150D74
- b _08150D52
-_08150D46:
- bl sub_815F198
- cmp r0, 0
- bne _08150D74
-_08150D4E:
- bl sub_80FA42C
-_08150D52:
- ldr r0, _08150D60 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08150D74
- .align 2, 0
-_08150D60: .4byte gUnknown_203F3E0
-_08150D64:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08150D74
- movs r0, 0x3
- bl sub_8152090
-_08150D74:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8150CF4
-
- thumb_func_start sub_8150D7C
-sub_8150D7C: @ 8150D7C
- push {lr}
- ldr r0, _08150DA0 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- bne _08150D9A
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08150D9A
- movs r0, 0x4
- bl sub_8152090
-_08150D9A:
- pop {r0}
- bx r0
- .align 2, 0
-_08150DA0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8150D7C
-
- thumb_func_start sub_8150DA4
-sub_8150DA4: @ 8150DA4
- push {r4,lr}
- ldr r4, _08150DE4 @ =gUnknown_203F3E0
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _08150E62
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08150E54
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150E5A
- ldr r0, _08150DE8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08150DF4
- ldr r1, _08150DEC @ =0x000031cc
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- ldr r3, _08150DF0 @ =0x000031d0
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x2
- b _08150E2E
- .align 2, 0
-_08150DE4: .4byte gUnknown_203F3E0
-_08150DE8: .4byte gMain
-_08150DEC: .4byte 0x000031cc
-_08150DF0: .4byte 0x000031d0
-_08150DF4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08150E14
- ldr r3, _08150E10 @ =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x1
- b _08150E2E
- .align 2, 0
-_08150E10: .4byte 0x000031cc
-_08150E14:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08150E40
- ldr r3, _08150E3C @ =0x000031cc
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- bne _08150E5A
- adds r3, 0x4
- adds r0, r2, r3
- strb r1, [r0]
- movs r0, 0x3
-_08150E2E:
- bl sub_815327C
- ldr r1, [r4]
- ldr r2, _08150E3C @ =0x000031cc
- adds r1, r2
- strb r0, [r1]
- b _08150E5A
- .align 2, 0
-_08150E3C: .4byte 0x000031cc
-_08150E40:
- movs r0, 0
- bl sub_815327C
- ldr r1, [r4]
- ldr r3, _08150E50 @ =0x000031cc
- adds r1, r3
- strb r0, [r1]
- b _08150E5A
- .align 2, 0
-_08150E50: .4byte 0x000031cc
-_08150E54:
- movs r0, 0xB
- bl sub_8152090
-_08150E5A:
- bl sub_815256C
- bl sub_8151D98
-_08150E62:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8150DA4
-
- thumb_func_start sub_8150E68
-sub_8150E68: @ 8150E68
- push {lr}
- ldr r0, _08150EA8 @ =gUnknown_203F3E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _08150F30
- ldr r0, _08150EAC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08150EB8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150EB0 @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150EB4 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x2
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150EA8: .4byte gUnknown_203F3E0
-_08150EAC: .4byte gMain
-_08150EB0: .4byte 0x000031cc
-_08150EB4: .4byte 0x000032f8
-_08150EB8:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08150EEC
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150EE4 @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150EE8 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x1
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150EE4: .4byte 0x000031cc
-_08150EE8: .4byte 0x000032f8
-_08150EEC:
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _08150F24
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r2, r0
- ldr r1, _08150F1C @ =0x000031cc
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08150F36
- ldr r3, _08150F20 @ =0x000032f8
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
- b _08150F36
- .align 2, 0
-_08150F1C: .4byte 0x000031cc
-_08150F20: .4byte 0x000032f8
-_08150F24:
- ldr r3, _08150F2C @ =0x000032f8
- adds r0, r2, r3
- strb r1, [r0]
- b _08150F36
- .align 2, 0
-_08150F2C: .4byte 0x000032f8
-_08150F30:
- movs r0, 0xB
- bl sub_8152090
-_08150F36:
- bl sub_8151E94
- pop {r0}
- bx r0
- thumb_func_end sub_8150E68
-
- thumb_func_start sub_8150F40
-sub_8150F40: @ 8150F40
- push {r4,r5,lr}
- bl sub_815256C
- bl sub_8151D98
- bl sub_8152A98
- cmp r0, 0x1
- bne _08150F5E
- bl sub_8153004
- movs r0, 0x5
- bl sub_8152090
- b _08150FBC
-_08150F5E:
- ldr r0, _08150F8C @ =gUnknown_203F3E0
- ldr r2, [r0]
- movs r1, 0x96
- lsls r1, 1
- adds r4, r2, r1
- movs r1, 0x1
- str r1, [r4]
- movs r3, 0x1
- adds r1, r2, 0
- adds r1, 0x24
- adds r5, r0, 0
- ldrb r1, [r1]
- cmp r3, r1
- bcs _08150FBC
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08150F90
- movs r0, 0
- str r0, [r4]
- b _08150FBC
- .align 2, 0
-_08150F8C: .4byte gUnknown_203F3E0
-_08150F90:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _08150FBC
- lsls r0, r3, 2
- movs r4, 0x98
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0x1
- beq _08150F90
- movs r0, 0x96
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
-_08150FBC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8150F40
-
- thumb_func_start sub_8150FC4
-sub_8150FC4: @ 8150FC4
- push {lr}
- bl sub_8151E94
- bl sub_8152AD8
- cmp r0, 0x1
- bne _08150FD8
- movs r0, 0x5
- bl sub_8152090
-_08150FD8:
- pop {r0}
- bx r0
- thumb_func_end sub_8150FC4
-
- thumb_func_start sub_8150FDC
-sub_8150FDC: @ 8150FDC
- push {r4-r6,lr}
- ldr r6, _08150FF4 @ =gUnknown_203F3E0
- ldr r1, [r6]
- ldrb r4, [r1, 0x10]
- cmp r4, 0x1
- beq _08151010
- cmp r4, 0x1
- bgt _08150FF8
- cmp r4, 0
- beq _08150FFE
- b _08151078
- .align 2, 0
-_08150FF4: .4byte gUnknown_203F3E0
-_08150FF8:
- cmp r4, 0x2
- beq _0815101E
- b _08151078
-_08150FFE:
- adds r1, 0x4A
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- ldr r1, [r6]
- b _0815106A
-_08151010:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151092
- ldr r1, [r6]
- b _0815106A
-_0815101E:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _08151048
-_0815102A:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151040
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151040:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_08151048:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0815102A
- ldr r3, _08151074 @ =gUnknown_203F3E0
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08151092
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_0815106A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151092
- .align 2, 0
-_08151074: .4byte gUnknown_203F3E0
-_08151078:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _08151092
- movs r0, 0x6
- bl sub_8152090
- ldr r0, _08151098 @ =0x00000137
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_08151092:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151098: .4byte 0x00000137
- thumb_func_end sub_8150FDC
-
- thumb_func_start sub_815109C
-sub_815109C: @ 815109C
- push {r4-r6,lr}
- ldr r6, _081510B4 @ =gUnknown_203F3E0
- ldr r2, [r6]
- ldrb r4, [r2, 0x10]
- cmp r4, 0x1
- beq _081510DA
- cmp r4, 0x1
- bgt _081510B8
- cmp r4, 0
- beq _081510BE
- b _08151150
- .align 2, 0
-_081510B4: .4byte gUnknown_203F3E0
-_081510B8:
- cmp r4, 0x2
- beq _081510E8
- b _08151150
-_081510BE:
- ldrb r0, [r2, 0x14]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, 0x4A
- adds r1, r2, r1
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- ldr r1, [r6]
- b _08151140
-_081510DA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0815118A
- ldr r1, [r6]
- b _08151140
-_081510E8:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0815111E
-_081510F4:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151116
- ldr r0, [r6]
- adds r0, 0x4A
- ldr r1, _08151148 @ =gBlockRecvBuffer
- movs r2, 0x3C
- bl memcpy
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151116:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0815111E:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081510F4
- ldr r3, _0815114C @ =gUnknown_203F3E0
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0815118A
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_08151140:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0815118A
- .align 2, 0
-_08151148: .4byte gBlockRecvBuffer
-_0815114C: .4byte gUnknown_203F3E0
-_08151150:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _0815118A
- ldr r0, _08151190 @ =gUnknown_203F3E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0x8A
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x6
- bl sub_8152090
- ldr r0, _08151194 @ =0x00000137
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_0815118A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151190: .4byte gUnknown_203F3E0
-_08151194: .4byte 0x00000137
- thumb_func_end sub_815109C
-
- thumb_func_start sub_8151198
-sub_8151198: @ 8151198
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _081511B0 @ =gUnknown_203F3E0
- ldr r0, [r6]
- ldrb r4, [r0, 0x10]
- cmp r4, 0x1
- beq _081511DC
- cmp r4, 0x1
- bgt _081511B4
- cmp r4, 0
- beq _081511BE
- b _0815129C
- .align 2, 0
-_081511B0: .4byte gUnknown_203F3E0
-_081511B4:
- cmp r4, 0x2
- beq _08151202
- cmp r4, 0x3
- beq _0815121C
- b _0815129C
-_081511BE:
- bl sub_81531FC
- movs r0, 0x1
- bl sub_81540DC
- bl sub_81544F0
- movs r0, 0x1
- bl sub_81545BC
- movs r0, 0x2
- bl sub_81549D4
- ldr r1, [r6]
- b _0815128A
-_081511DC:
- bl sub_8155E68
- cmp r0, 0
- bne _081512AA
- mov r0, sp
- strb r4, [r0]
- movs r0, 0x5
- bl sub_81549D4
- bl sub_8155E8C
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r1, [r6]
- b _0815128A
-_08151202:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081512AA
- ldr r1, [r6]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r6]
- strb r2, [r0, 0x8]
- b _081512AA
-_0815121C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0815125A
-_08151228:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151252
- ldr r2, [r6]
- adds r2, r4, r2
- movs r0, 0x86
- lsls r0, 1
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151294 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151252:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0815125A:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08151228
- ldr r4, _08151298 @ =gUnknown_203F3E0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _081512AA
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _081512AA
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
-_0815128A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081512AA
- .align 2, 0
-_08151294: .4byte gBlockRecvBuffer
-_08151298: .4byte gUnknown_203F3E0
-_0815129C:
- bl sub_8155E68
- cmp r0, 0
- bne _081512AA
- movs r0, 0x7
- bl sub_8152090
-_081512AA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8151198
-
- thumb_func_start sub_81512B4
-sub_81512B4: @ 81512B4
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r5, _081512D0 @ =gUnknown_203F3E0
- ldr r0, [r5]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x6
- bls _081512C4
- b _0815144A
-_081512C4:
- lsls r0, 2
- ldr r1, _081512D4 @ =_081512D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081512D0: .4byte gUnknown_203F3E0
-_081512D4: .4byte _081512D8
- .align 2, 0
-_081512D8:
- .4byte _081512F4
- .4byte _08151314
- .4byte _08151330
- .4byte _08151344
- .4byte _08151360
- .4byte _0815138C
- .4byte _081513AC
-_081512F4:
- bl sub_81534AC
- ldr r1, _0815130C @ =0x00000bb7
- cmp r0, r1
- bls _08151304
- movs r0, 0x4
- bl sub_81549D4
-_08151304:
- ldr r0, _08151310 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815130C: .4byte 0x00000bb7
-_08151310: .4byte gUnknown_203F3E0
-_08151314:
- bl sub_8155E68
- cmp r0, 0
- beq _0815131E
- b _08151480
-_0815131E:
- movs r0, 0x3
- bl sub_81549D4
- ldr r0, _0815132C @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815132C: .4byte gUnknown_203F3E0
-_08151330:
- bl sub_81546C0
- bl sub_8153048
- ldr r0, _08151340 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_08151340: .4byte gUnknown_203F3E0
-_08151344:
- bl sub_8155E8C
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _08151356
- b _08151480
-_08151356:
- ldr r0, _0815135C @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815135C: .4byte gUnknown_203F3E0
-_08151360:
- bl sub_8155E68
- cmp r0, 0
- beq _0815136A
- b _08151480
-_0815136A:
- movs r0, 0x5
- bl sub_81549D4
- bl sub_8155E8C
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r0, _08151388 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_08151388: .4byte gUnknown_203F3E0
-_0815138C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151480
- ldr r3, _081513A8 @ =gUnknown_203F3E0
- ldr r1, [r3]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r3]
- strb r2, [r0, 0x8]
- b _08151480
- .align 2, 0
-_081513A8: .4byte gUnknown_203F3E0
-_081513AC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r7, _08151434 @ =gUnknown_203F3E0
- ldr r0, [r7]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08151400
- adds r6, r7, 0
-_081513C4:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _081513EE
- ldr r2, [r6]
- adds r2, r4, r2
- movs r0, 0x86
- lsls r0, 1
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151438 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_081513EE:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r7]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081513C4
-_08151400:
- ldr r4, _08151434 @ =gUnknown_203F3E0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0815143C
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08151480
- bl sub_815336C
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
-_0815142A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151480
- .align 2, 0
-_08151434: .4byte gUnknown_203F3E0
-_08151438: .4byte gBlockRecvBuffer
-_0815143C:
- bl sub_81532B8
- b _08151480
-_08151442:
- movs r0, 0x8
- bl sub_8152090
- b _08151480
-_0815144A:
- bl sub_8155E68
- cmp r0, 0
- bne _08151480
- movs r4, 0
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0815147A
- movs r3, 0x86
- lsls r3, 1
- adds r2, r1, r3
- adds r1, r0, 0
-_08151468:
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08151442
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r1
- bcc _08151468
-_0815147A:
- movs r0, 0xA
- bl sub_8152090
-_08151480:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81512B4
-
- thumb_func_start sub_8151488
-sub_8151488: @ 8151488
- push {r4,lr}
- ldr r4, _081514A0 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- beq _081514B6
- cmp r0, 0x1
- bgt _081514A4
- cmp r0, 0
- beq _081514AA
- b _081514D6
- .align 2, 0
-_081514A0: .4byte gUnknown_203F3E0
-_081514A4:
- cmp r0, 0x2
- beq _081514C0
- b _081514D6
-_081514AA:
- bl sub_800AAC0
- movs r0, 0x7
- bl sub_81549D4
- b _081514CC
-_081514B6:
- bl sub_8155E68
- cmp r0, 0
- bne _081514E4
- b _081514CC
-_081514C0:
- bl sub_8155E8C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _081514E4
-_081514CC:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081514E4
-_081514D6:
- ldr r0, _081514EC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081514E4
- movs r0, 0x9
- bl sub_8152090
-_081514E4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081514EC: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8151488
-
- thumb_func_start sub_81514F0
-sub_81514F0: @ 81514F0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08151508 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- cmp r1, 0x1
- beq _08151524
- cmp r1, 0x1
- bgt _0815150C
- cmp r1, 0
- beq _08151512
- b _0815156C
- .align 2, 0
-_08151508: .4byte gUnknown_203F3E0
-_0815150C:
- cmp r1, 0x2
- beq _0815153C
- b _0815156C
-_08151512:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0815155E
-_08151524:
- bl UpdatePaletteFade
- ldr r0, _08151538 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08151590
- b _0815155E
- .align 2, 0
-_08151538: .4byte gPaletteFade
-_0815153C:
- bl sub_8154274
- bl sub_8153ED8
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r0, [r0]
- bl sub_8153D08
- bl sub_8154578
- ldr r1, _08151568 @ =gUnknown_3002044
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x8
- bl sub_81549D4
-_0815155E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151590
- .align 2, 0
-_08151568: .4byte gUnknown_3002044
-_0815156C:
- bl sub_8155E68
- cmp r0, 0
- bne _08151590
- ldr r4, _08151598 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- bl FreeAllWindowBuffers
-_08151590:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08151598: .4byte gUnknown_203F3E0
- thumb_func_end sub_81514F0
-
- thumb_func_start sub_815159C
-sub_815159C: @ 815159C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _081515B4 @ =gUnknown_203F3E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x6
- bhi _0815169C
- lsls r0, 2
- ldr r1, _081515B8 @ =_081515BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081515B4: .4byte gUnknown_203F3E0
-_081515B8: .4byte _081515BC
- .align 2, 0
-_081515BC:
- .4byte _081515D8
- .4byte _08151676
- .4byte _081515F0
- .4byte _08151642
- .4byte _08151648
- .4byte _08151656
- .4byte _08151676
-_081515D8:
- movs r0, 0x9
- bl sub_81549D4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08151686
-_081515F0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _08151686
-_08151642:
- bl StopMapMusic
- b _08151686
-_08151648:
- movs r0, 0xA5
- lsls r0, 1
- bl PlayNewMapMusic
- bl sub_8154540
- b _08151686
-_08151656:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08151686
-_08151676:
- bl UpdatePaletteFade
- ldr r0, _08151694 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081516CC
-_08151686:
- ldr r0, _08151698 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081516CC
- .align 2, 0
-_08151694: .4byte gPaletteFade
-_08151698: .4byte gUnknown_203F3E0
-_0815169C:
- ldrb r0, [r1, 0x4]
- bl DestroyTask
- ldr r0, _081516D4 @ =sub_81516DC
- bl sub_815206C
- bl sub_8154730
- ldr r0, [r4]
- bl sub_81508EC
- ldr r0, _081516D8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081516C2
- ldr r0, [r4]
- adds r0, 0x24
- movs r1, 0x1
- strb r1, [r0]
-_081516C2:
- bl sub_8153150
- movs r0, 0
- bl sub_81545BC
-_081516CC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081516D4: .4byte sub_81516DC
-_081516D8: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_815159C
-
- thumb_func_start sub_81516DC
-sub_81516DC: @ 81516DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _081516F8 @ =gUnknown_203F3E0
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _08151708
- cmp r0, 0x1
- bgt _081516FC
- cmp r0, 0
- beq _08151702
- b _08151720
- .align 2, 0
-_081516F8: .4byte gUnknown_203F3E0
-_081516FC:
- cmp r0, 0x2
- beq _0815170E
- b _08151720
-_08151702:
- bl sub_81520B4
- b _08151712
-_08151708:
- bl sub_8153DD8
- b _08151716
-_0815170E:
- bl sub_8153F1C
-_08151712:
- cmp r0, 0x1
- bne _08151744
-_08151716:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151744
-_08151720:
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08151738
- ldr r0, _08151734 @ =sub_8150C08
- bl sub_815206C
- b _0815173E
- .align 2, 0
-_08151734: .4byte sub_8150C08
-_08151738:
- ldr r0, _0815174C @ =sub_8150C40
- bl sub_815206C
-_0815173E:
- adds r0, r5, 0
- bl DestroyTask
-_08151744:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0815174C: .4byte sub_8150C40
- thumb_func_end sub_81516DC
-
- thumb_func_start sub_8151750
-sub_8151750: @ 8151750
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08151774 @ =gTasks+0x8
- adds r6, r0, r1
- movs r0, 0
- ldrsh r5, [r6, r0]
- cmp r5, 0x1
- beq _081517A8
- cmp r5, 0x1
- bgt _08151778
- cmp r5, 0
- beq _0815177E
- b _08151836
- .align 2, 0
-_08151774: .4byte gTasks+0x8
-_08151778:
- cmp r5, 0x2
- beq _081517BA
- b _08151836
-_0815177E:
- ldr r4, _081517A0 @ =gUnknown_203F3E0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- ldr r2, _081517A4 @ =0x0000318c
- adds r0, r2
- adds r1, r0
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r0, [r4]
- strb r5, [r0, 0x8]
- b _081517B2
- .align 2, 0
-_081517A0: .4byte gUnknown_203F3E0
-_081517A4: .4byte 0x0000318c
-_081517A8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151836
-_081517B2:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _08151836
-_081517BA:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r3, _08151840 @ =gUnknown_203F3E0
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08151812
- adds r6, r3, 0
-_081517D2:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151800
- ldr r0, [r6]
- lsls r2, r4, 2
- adds r2, r0
- ldr r0, _08151844 @ =0x0000318c
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151848 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- str r3, [sp]
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
- ldr r3, [sp]
-_08151800:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081517D2
-_08151812:
- ldr r4, _08151840 @ =gUnknown_203F3E0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08151836
- adds r0, r7, 0
- bl DestroyTask
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_08151836:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08151840: .4byte gUnknown_203F3E0
-_08151844: .4byte 0x0000318c
-_08151848: .4byte gBlockRecvBuffer
- thumb_func_end sub_8151750
-
- thumb_func_start sub_815184C
-sub_815184C: @ 815184C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r6, _08151928 @ =gUnknown_203F3E0
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r7, [r1]
- ldr r2, _0815192C @ =0x000031a0
- adds r1, r0, r2
- ldr r3, _08151930 @ =0x000031cc
- adds r2, r0, r3
- ldr r4, _08151934 @ =0x00003208
- adds r3, r0, r4
- ldr r5, _08151938 @ =0x00003244
- adds r4, r0, r5
- str r4, [sp]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x4]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r5, 0x90
- lsls r5, 1
- adds r4, r0, r5
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_815A950
- ldr r1, [r6]
- ldr r5, _0815193C @ =0x000031b0
- adds r2, r1, r5
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x1
- cmp r5, r7
- bcs _081518F4
-_081518B0:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _081518EA
- lsls r0, r5, 4
- subs r0, r5
- lsls r4, r0, 2
- adds r1, r4, r1
- ldr r2, _08151930 @ =0x000031cc
- adds r1, r2
- adds r0, r5, 0
- bl sub_815AB04
- adds r1, r0, 0
- cmp r1, 0
- bne _081518EA
- ldr r0, [r6]
- adds r0, r4
- ldr r3, _08151930 @ =0x000031cc
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- movs r4, 0x94
- lsls r4, 1
- adds r0, r4
- strb r1, [r0]
-_081518EA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _081518B0
-_081518F4:
- ldr r5, _08151928 @ =gUnknown_203F3E0
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08151952
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08151940
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08151952
- .align 2, 0
-_08151928: .4byte gUnknown_203F3E0
-_0815192C: .4byte 0x000031a0
-_08151930: .4byte 0x000031cc
-_08151934: .4byte 0x00003208
-_08151938: .4byte 0x00003244
-_0815193C: .4byte 0x000031b0
-_08151940:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08151952
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08151952:
- movs r5, 0
- cmp r5, r7
- bcs _08151A46
- ldr r3, _0815199C @ =0x000031cc
- mov r12, r3
- ldr r4, _081519A0 @ =gUnknown_203F3E0
- mov r8, r4
-_08151960:
- mov r6, r8
- ldr r2, [r6]
- lsls r0, r5, 4
- subs r1, r0, r5
- lsls r1, 2
- adds r1, r2, r1
- add r1, r12
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _08151986
- adds r0, r2, 0
- adds r0, 0xA8
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _08151986
- movs r0, 0x1
- strb r0, [r1]
-_08151986:
- adds r3, r4, 0
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bgt _081519A4
- cmp r0, 0x1
- bge _081519AA
- b _08151A3C
- .align 2, 0
-_0815199C: .4byte 0x000031cc
-_081519A0: .4byte gUnknown_203F3E0
-_081519A4:
- cmp r0, 0x4
- beq _081519F8
- b _08151A3C
-_081519AA:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08151A3C
- ldr r0, [r3]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r6, _081519F0 @ =0x000031d0
- adds r0, r6
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r1, _081519F4 @ =0x000031d4
- adds r0, r1
- b _08151A3A
- .align 2, 0
-_081519F0: .4byte 0x000031d0
-_081519F4: .4byte 0x000031d4
-_081519F8:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- bls _08151A3C
- ldr r0, [r4]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r3, _08151A54 @ =0x000031d0
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r6, _08151A58 @ =0x000031d4
- adds r0, r6
-_08151A3A:
- strb r2, [r0]
-_08151A3C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08151960
-_08151A46:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08151A54: .4byte 0x000031d0
-_08151A58: .4byte 0x000031d4
- thumb_func_end sub_815184C
-
- thumb_func_start sub_8151A5C
-sub_8151A5C: @ 8151A5C
- push {r4-r7,lr}
- sub sp, 0x18
- ldr r5, _08151B20 @ =gUnknown_203F3E0
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r6, [r1]
- ldr r2, _08151B24 @ =0x000031a0
- adds r1, r0, r2
- ldr r3, _08151B28 @ =0x000031cc
- adds r2, r0, r3
- ldr r4, _08151B2C @ =0x00003208
- adds r3, r0, r4
- ldr r7, _08151B30 @ =0x00003244
- adds r4, r0, r7
- str r4, [sp]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x4]
- adds r7, 0x3C
- adds r4, r0, r7
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r7, 0x90
- lsls r7, 1
- adds r4, r0, r7
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_815A950
- ldr r1, [r5]
- ldr r7, _08151B34 @ =0x000031b0
- adds r2, r1, r7
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
- cmp r4, r6
- bcs _08151AEC
-_08151ABC:
- adds r0, r4, 0
- bl sub_815AB60
- cmp r0, 0
- beq _08151AE2
- ldr r0, _08151B20 @ =gUnknown_203F3E0
- ldr r2, [r0]
- lsls r1, r4, 2
- movs r3, 0x98
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- movs r7, 0x94
- lsls r7, 1
- adds r1, r2, r7
- movs r0, 0
- strb r0, [r1]
-_08151AE2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08151ABC
-_08151AEC:
- ldr r5, _08151B20 @ =gUnknown_203F3E0
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08151B4A
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08151B38
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08151B4A
- .align 2, 0
-_08151B20: .4byte gUnknown_203F3E0
-_08151B24: .4byte 0x000031a0
-_08151B28: .4byte 0x000031cc
-_08151B2C: .4byte 0x00003208
-_08151B30: .4byte 0x00003244
-_08151B34: .4byte 0x000031b0
-_08151B38:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08151B4A
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08151B4A:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151A5C
-
- thumb_func_start sub_8151B54
-sub_8151B54: @ 8151B54
- push {r4,r5,lr}
- ldr r5, _08151B6C @ =gUnknown_203F3E0
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0x4
- beq _08151B90
- cmp r0, 0x4
- bgt _08151B70
- cmp r0, 0x3
- beq _08151B76
- b _08151B9A
- .align 2, 0
-_08151B6C: .4byte gUnknown_203F3E0
-_08151B70:
- cmp r0, 0xB
- beq _08151B96
- b _08151B9A
-_08151B76:
- bl sub_8152A00
- adds r4, r0, 0
- cmp r4, 0x1
- bne _08151B9A
- bl sub_8152A70
- ldr r0, [r5]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- str r4, [r0]
- b _08151B9A
-_08151B90:
- bl sub_815184C
- b _08151B9A
-_08151B96:
- bl sub_8151A5C
-_08151B9A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8151B54
-
- thumb_func_start sub_8151BA0
-sub_8151BA0: @ 8151BA0
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _08151BB4 @ =gUnknown_203F3E0
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08151BB8
- cmp r0, 0xB
- beq _08151C08
- b _08151C44
- .align 2, 0
-_08151BB4: .4byte gUnknown_203F3E0
-_08151BB8:
- ldr r1, _08151BF8 @ =0x000032cc
- adds r0, r5, r1
- ldr r2, _08151BFC @ =0x000031cc
- adds r1, r5, r2
- ldr r3, _08151C00 @ =0x00003208
- adds r2, r5, r3
- ldr r4, _08151C04 @ =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_815A61C
- b _08151C44
- .align 2, 0
-_08151BF8: .4byte 0x000032cc
-_08151BFC: .4byte 0x000031cc
-_08151C00: .4byte 0x00003208
-_08151C04: .4byte 0x00003244
-_08151C08:
- ldr r1, _08151C4C @ =0x000032cc
- adds r0, r5, r1
- ldr r2, _08151C50 @ =0x000031cc
- adds r1, r5, r2
- ldr r3, _08151C54 @ =0x00003208
- adds r2, r5, r3
- ldr r4, _08151C58 @ =0x00003244
- adds r3, r5, r4
- movs r6, 0xCA
- lsls r6, 6
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r4, r5, 0
- adds r4, 0x40
- ldrb r4, [r4]
- str r4, [sp, 0x8]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0xC]
- adds r6, 0xC
- adds r4, r5, r6
- ldr r4, [r4]
- str r4, [sp, 0x10]
- bl sub_815A61C
-_08151C44:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151C4C: .4byte 0x000032cc
-_08151C50: .4byte 0x000031cc
-_08151C54: .4byte 0x00003208
-_08151C58: .4byte 0x00003244
- thumb_func_end sub_8151BA0
-
- thumb_func_start sub_8151C5C
-sub_8151C5C: @ 8151C5C
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r0, _08151C70 @ =gUnknown_203F3E0
- ldr r5, [r0]
- ldrb r0, [r5, 0x18]
- cmp r0, 0x4
- beq _08151C74
- cmp r0, 0xB
- beq _08151CCC
- b _08151D10
- .align 2, 0
-_08151C70: .4byte gUnknown_203F3E0
-_08151C74:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, _08151CBC @ =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, _08151CC0 @ =0x000031cc
- adds r2, r5, r3
- ldr r4, _08151CC4 @ =0x00003208
- adds r3, r5, r4
- ldr r6, _08151CC8 @ =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_815A950
- b _08151D10
- .align 2, 0
-_08151CBC: .4byte 0x000031a0
-_08151CC0: .4byte 0x000031cc
-_08151CC4: .4byte 0x00003208
-_08151CC8: .4byte 0x00003244
-_08151CCC:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 2
- ldr r2, _08151D18 @ =0x000031a0
- adds r1, r2
- adds r1, r5, r1
- ldr r3, _08151D1C @ =0x000031cc
- adds r2, r5, r3
- ldr r4, _08151D20 @ =0x00003208
- adds r3, r5, r4
- ldr r6, _08151D24 @ =0x00003244
- adds r4, r5, r6
- str r4, [sp]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x4]
- adds r6, 0x3C
- adds r4, r5, r6
- str r4, [sp, 0x8]
- adds r4, r5, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r6, 0x90
- lsls r6, 1
- adds r4, r5, r6
- str r4, [sp, 0x10]
- adds r6, 0xC
- adds r4, r5, r6
- str r4, [sp, 0x14]
- bl sub_815A950
-_08151D10:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151D18: .4byte 0x000031a0
-_08151D1C: .4byte 0x000031cc
-_08151D20: .4byte 0x00003208
-_08151D24: .4byte 0x00003244
- thumb_func_end sub_8151C5C
-
- thumb_func_start sub_8151D28
-sub_8151D28: @ 8151D28
- push {r4,lr}
- ldr r4, _08151D40 @ =gUnknown_203F3E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0x4
- beq _08151D5E
- cmp r0, 0x4
- bgt _08151D44
- cmp r0, 0x3
- beq _08151D4A
- b _08151D90
- .align 2, 0
-_08151D40: .4byte gUnknown_203F3E0
-_08151D44:
- cmp r0, 0xB
- beq _08151D74
- b _08151D90
-_08151D4A:
- movs r0, 0x1
- bl sub_815A5BC
- ldr r0, [r4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _08151D90
-_08151D5E:
- ldr r2, _08151D70 @ =0x000032f8
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08151D90
- bl sub_815AAD8
- b _08151D90
- .align 2, 0
-_08151D70: .4byte 0x000032f8
-_08151D74:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08151D90
- adds r2, 0xC
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08151D90
- movs r0, 0x1
- bl sub_815AB3C
-_08151D90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8151D28
-
- thumb_func_start sub_8151D98
-sub_8151D98: @ 8151D98
- push {r4-r6,lr}
- ldr r6, _08151DD0 @ =gUnknown_203F3E0
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, _08151DD4 @ =0x000031cc
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151DD8
- bl IsSEPlaying
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08151E3A
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- b _08151E3A
- .align 2, 0
-_08151DD0: .4byte gUnknown_203F3E0
-_08151DD4: .4byte 0x000031cc
-_08151DD8:
- ldr r3, _08151E04 @ =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08151E08
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151E3A
- movs r0, 0x19
- bl m4aSongNumStop
- movs r0, 0x19
- bl PlaySE
- ldr r0, [r6]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- b _08151E38
- .align 2, 0
-_08151E04: .4byte 0x000031d0
-_08151E08:
- ldr r3, _08151E64 @ =0x000031d4
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08151E3A
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151E3A
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08151E3A
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_8153BC0
- ldr r0, [r6]
- adds r0, r5
-_08151E38:
- strb r4, [r0]
-_08151E3A:
- ldr r0, _08151E68 @ =gUnknown_203F3E0
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _08151E6C
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08151E6C
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _08151E8A
- .align 2, 0
-_08151E64: .4byte 0x000031d4
-_08151E68: .4byte gUnknown_203F3E0
-_08151E6C:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08151E8C
- movs r0, 0xA
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- movs r1, 0x2
-_08151E8A:
- strb r1, [r0]
-_08151E8C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8151D98
-
- thumb_func_start sub_8151E94
-sub_8151E94: @ 8151E94
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _08151EE0 @ =gUnknown_203F3E0
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x44
- ldrb r0, [r0]
- mov r8, r0
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r7, [r0]
- subs r0, 0x20
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r1, r2, r0
- ldr r3, _08151EE4 @ =0x000031cc
- adds r0, r1, r3
- ldrb r3, [r0]
- cmp r3, 0
- bne _08151EEC
- ldr r4, _08151EE8 @ =0x000031d0
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08151F4E
- adds r4, 0x4
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08151F4E
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- strb r3, [r0]
- b _08151F4E
- .align 2, 0
-_08151EE0: .4byte gUnknown_203F3E0
-_08151EE4: .4byte 0x000031cc
-_08151EE8: .4byte 0x000031d0
-_08151EEC:
- ldr r3, _08151F18 @ =0x000031d0
- adds r0, r1, r3
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08151F1C
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151F4E
- movs r0, 0x19
- bl m4aSongNumStop
- movs r0, 0x19
- bl PlaySE
- ldr r0, [r6]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r3
- b _08151F4C
- .align 2, 0
-_08151F18: .4byte 0x000031d0
-_08151F1C:
- ldr r4, _08151FA0 @ =0x000031d4
- adds r0, r1, r4
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _08151F4E
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151F4E
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _08151F4E
- movs r0, 0x16
- bl PlaySE
- movs r0, 0x1
- bl sub_8153BC0
- ldr r0, [r6]
- adds r0, r5
-_08151F4C:
- strb r4, [r0]
-_08151F4E:
- mov r4, r8
- cmp r4, r7
- bcs _08151FC2
- ldr r5, _08151FA4 @ =gUnknown_203F3E0
-_08151F56:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r1, _08151FA8 @ =0x000031a0
- adds r0, r1
- adds r0, r2, r0
- adds r1, r0, 0
- adds r1, 0x14
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08151FAC
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08151FB8
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r0, 0x43
- bl PlaySE
- ldr r0, [r5]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- movs r1, 0x1
- b _08151FB6
- .align 2, 0
-_08151FA0: .4byte 0x000031d4
-_08151FA4: .4byte gUnknown_203F3E0
-_08151FA8: .4byte 0x000031a0
-_08151FAC:
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r4
- movs r1, 0
-_08151FB6:
- strb r1, [r0]
-_08151FB8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r7
- bcc _08151F56
-_08151FC2:
- ldr r0, _08151FEC @ =gUnknown_203F3E0
- ldr r2, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r2, r5
- ldrb r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- bne _08151FF0
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08151FF0
- bl StopMapMusic
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- b _0815200E
- .align 2, 0
-_08151FEC: .4byte gUnknown_203F3E0
-_08151FF0:
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08152010
- movs r0, 0xA
- bl PlayFanfareByFanfareNum
- ldr r0, [r4]
- movs r3, 0xAA
- lsls r3, 1
- adds r0, r3
- movs r1, 0x2
-_0815200E:
- strb r1, [r0]
-_08152010:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8151E94
-
- thumb_func_start sub_815201C
-sub_815201C: @ 815201C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_815201C
-
- thumb_func_start sub_8152034
-sub_8152034: @ 8152034
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_8152034
-
- thumb_func_start sub_8152048
-sub_8152048: @ 8152048
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl IsMonShiny
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8152048
-
- thumb_func_start sub_815205C
-sub_815205C: @ 815205C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- pop {r0}
- bx r0
- thumb_func_end sub_815205C
-
- thumb_func_start sub_815206C
-sub_815206C: @ 815206C
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r1, _0815208C @ =gUnknown_203F3E0
- ldr r3, [r1]
- movs r2, 0
- strb r0, [r3, 0x4]
- ldr r0, [r1]
- strb r2, [r0, 0x10]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- ldr r0, [r1]
- strb r2, [r0, 0x14]
- pop {r0}
- bx r0
- .align 2, 0
-_0815208C: .4byte gUnknown_203F3E0
- thumb_func_end sub_815206C
-
- thumb_func_start sub_8152090
-sub_8152090: @ 8152090
- push {r4,lr}
- ldr r2, _081520B0 @ =gUnknown_203F3E0
- ldr r1, [r2]
- ldrb r3, [r1, 0x18]
- movs r4, 0
- strb r3, [r1, 0x1C]
- ldr r1, [r2]
- strb r0, [r1, 0x18]
- ldr r0, [r2]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- strb r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081520B0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152090
-
- thumb_func_start sub_81520B4
-sub_81520B4: @ 81520B4
- push {r4,lr}
- ldr r3, _081520E8 @ =gUnknown_203F3E0
- ldr r1, [r3]
- ldrb r0, [r1, 0x14]
- lsrs r2, r0, 2
- adds r0, 0x1
- strb r0, [r1, 0x14]
- cmp r2, 0
- beq _08152108
- ldr r3, [r3]
- ldrb r0, [r3, 0x14]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08152108
- ldr r1, _081520EC @ =sUnknown_8475548
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r2, r0
- bcc _081520F0
- movs r0, 0x1
- b _0815210A
- .align 2, 0
-_081520E8: .4byte gUnknown_203F3E0
-_081520EC: .4byte sUnknown_8475548
-_081520F0:
- lsls r4, r2, 3
- adds r1, r4, 0
- movs r0, 0x14
- bl SetGpuReg
- negs r4, r4
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x18
- adds r1, r4, 0
- bl SetGpuReg
-_08152108:
- movs r0, 0
-_0815210A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81520B4
-
- thumb_func_start sub_8152110
-sub_8152110: @ 8152110
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r2, _08152168 @ =gUnknown_203F3E0
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r5, [r0]
- ldrb r1, [r1]
- cmp r1, r5
- bcs _0815215C
- mov r8, r2
- ldr r0, _0815216C @ =0x000032e0
- mov r12, r0
- movs r7, 0
- movs r6, 0x1
-_08152132:
- mov r2, r8
- ldr r0, [r2]
- mov r2, r12
- adds r4, r0, r2
- ldr r2, _08152170 @ =0x000032eb
- adds r0, r2
- adds r2, r0, r1
- movs r3, 0
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- bne _0815214C
- movs r3, 0x1
-_0815214C:
- strb r3, [r2]
- adds r0, r4, r1
- strb r7, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _08152132
-_0815215C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08152168: .4byte gUnknown_203F3E0
-_0815216C: .4byte 0x000032e0
-_08152170: .4byte 0x000032eb
- thumb_func_end sub_8152110
-
- thumb_func_start sub_8152174
-sub_8152174: @ 8152174
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, _08152248 @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _081521A8
- b _08152464
-_081521A8:
- movs r6, 0
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bcs _08152290
-_081521B0:
- ldr r3, _08152248 @ =gUnknown_203F3E0
- lsls r0, r6, 4
- subs r1, r0, r6
- lsls r1, 2
- ldr r2, [r3]
- adds r1, r2
- ldr r4, _0815224C @ =0x000031cc
- adds r4, r1
- mov r8, r4
- ldrb r1, [r4]
- mov r9, r0
- adds r0, r6, 0x1
- str r0, [sp, 0xC]
- cmp r1, 0
- beq _08152284
- adds r0, r2, 0
- adds r0, 0xA8
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08152284
- ldr r1, [sp]
- mov r10, r1
- ldr r2, [sp, 0x4]
- cmp r10, r2
- bcs _08152284
- adds r7, r3, 0
-_081521E6:
- ldr r0, _08152250 @ =sUnknown_8471F50
- add r0, r10
- ldrb r5, [r0]
- ldr r1, [r7]
- lsls r4, r5, 1
- adds r0, r1, 0
- adds r0, 0xF4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08152284
- adds r0, r1, 0
- adds r0, 0xF5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r6
- beq _08152284
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r5, 0
- bl sub_8152484
- cmp r0, 0x1
- bne _08152260
- movs r2, 0
- ldr r3, _08152248 @ =gUnknown_203F3E0
- mov r8, r4
-_0815221E:
- ldr r0, [r3]
- mov r4, r8
- adds r1, r2, r4
- adds r0, 0xF4
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08152254
- strb r6, [r1]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r6
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- b _08152284
- .align 2, 0
-_08152248: .4byte gUnknown_203F3E0
-_0815224C: .4byte 0x000031cc
-_08152250: .4byte sUnknown_8471F50
-_08152254:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _0815221E
- b _08152284
-_08152260:
- ldr r0, [r7]
- mov r2, r9
- subs r1, r2, r6
- lsls r1, 2
- adds r0, r1
- ldr r4, _08152354 @ =0x000031d4
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08152284
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _081521E6
-_08152284:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x8]
- cmp r6, r2
- bcc _081521B0
-_08152290:
- ldr r4, [sp]
- mov r10, r4
- ldr r0, [sp, 0x4]
- cmp r10, r0
- bcc _0815229C
- b _08152464
-_0815229C:
- ldr r1, _08152358 @ =gUnknown_203F3E0
- mov r9, r1
-_081522A0:
- movs r6, 0xFF
- ldr r0, _0815235C @ =sUnknown_8471F50
- add r0, r10
- ldrb r5, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _081522B8
- b _08152452
-_081522B8:
- adds r0, r5, 0
- bl sub_8152BD4
- mov r1, r9
- ldr r4, [r1]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _081522DE
- movs r3, 0x2
-_081522DE:
- ldr r2, _08152360 @ =sUnknown_847553C
- ldr r0, _08152364 @ =0x000031b4
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0xD0
- adds r0, r5
- ldrb r0, [r0]
- subs r2, r1, r0
- cmp r2, 0x5
- bgt _0815230C
- adds r1, r4, 0
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, r2
- strb r0, [r1]
-_0815230C:
- mov r2, r9
- ldr r1, [r2]
- adds r1, 0x9C
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- movs r4, 0xFF
- ands r0, r4
- cmp r0, 0x5
- bhi _08152326
- b _08152452
-_08152326:
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x9C
- adds r0, r5
- strb r2, [r0]
- ldr r3, [r1]
- lsls r1, r5, 1
- adds r0, r3, 0
- adds r0, 0xF4
- adds r2, r0, r1
- ldrb r0, [r2]
- mov r8, r1
- cmp r0, 0xFF
- bne _08152368
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08152350
- b _08152452
-_08152350:
- b _08152378
- .align 2, 0
-_08152354: .4byte 0x000031d4
-_08152358: .4byte gUnknown_203F3E0
-_0815235C: .4byte sUnknown_8471F50
-_08152360: .4byte sUnknown_847553C
-_08152364: .4byte 0x000031b4
-_08152368:
- adds r0, r3, 0
- adds r0, 0xF5
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08152378
- ldrb r4, [r2]
- b _0815239E
-_08152378:
- mov r2, r9
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xF4
- add r0, r8
- ldrb r7, [r0]
- adds r1, 0xF5
- add r1, r8
- ldrb r6, [r1]
- bl Random
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0815239A
- adds r4, r7, 0
- b _0815239E
-_0815239A:
- adds r4, r6, 0
- adds r6, r7, 0
-_0815239E:
- mov r1, r9
- ldr r0, [r1]
- ldr r2, _08152474 @ =0x000032eb
- adds r0, r2
- adds r0, r5
- movs r1, 0x7
- strb r1, [r0]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x2
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xB8
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r2]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r2, _08152478 @ =0x000031d0
- adds r1, r2
- movs r0, 0x1
- strb r0, [r1]
- mov r2, r9
- ldr r1, [r2]
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815247C @ =0x000031d4
- adds r1, r0
- movs r2, 0x1
- strb r2, [r1]
- mov r0, r9
- ldr r1, [r0]
- lsls r0, r4, 1
- adds r1, 0x86
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8152D34
- movs r0, 0x1
- bl sub_8152F94
- adds r0, r4, 0
- bl sub_8152B64
- mov r1, r9
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0xE8
- adds r1, r5
- ldr r2, _08152480 @ =0x000032e0
- adds r0, r2
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- mov r4, r9
- ldr r0, [r4]
- adds r0, r2
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF4
- add r1, r8
- ldrb r0, [r1]
- movs r2, 0xFF
- orrs r0, r2
- strb r0, [r1]
- ldr r1, [r4]
- adds r1, 0xF5
- add r1, r8
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
-_08152452:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, [sp, 0x4]
- cmp r10, r4
- bcs _08152464
- b _081522A0
-_08152464:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08152474: .4byte 0x000032eb
-_08152478: .4byte 0x000031d0
-_0815247C: .4byte 0x000031d4
-_08152480: .4byte 0x000032e0
- thumb_func_end sub_8152174
-
- thumb_func_start sub_8152484
-sub_8152484: @ 8152484
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- ldr r2, _081524B8 @ =gUnknown_203F3E0
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _081524BC @ =0x000032e0
- adds r1, r0
- mov r12, r2
- cmp r3, 0x2
- beq _081524C0
- cmp r3, 0x2
- bgt _081524C6
- cmp r3, 0x1
- beq _081524C4
- b _081524C6
- .align 2, 0
-_081524B8: .4byte gUnknown_203F3E0
-_081524BC: .4byte 0x000032e0
-_081524C0:
- movs r7, 0x1
- b _081524C6
-_081524C4:
- movs r7, 0x2
-_081524C6:
- adds r0, r1, 0
- adds r0, 0xB
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x6
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08152524
- ldr r0, _08152518 @ =sUnknown_8472063
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0815255A
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- adds r0, r6
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08152520
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r0, r1, r0
- ldr r1, _0815251C @ =0x000031d4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0815255A
- .align 2, 0
-_08152518: .4byte sUnknown_8472063
-_0815251C: .4byte 0x000031d4
-_08152520:
- movs r0, 0x1
- b _0815255C
-_08152524:
- ldr r0, _08152564 @ =sUnknown_8472063
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r7, r1
- lsls r2, r5, 4
- subs r2, r5
- adds r1, r2
- adds r1, r0
- ldrb r1, [r1]
- cmp r6, r1
- bne _0815255A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xA8
- adds r0, r4
- movs r1, 0x4
- strb r1, [r0]
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- adds r1, r0
- ldr r0, _08152568 @ =0x000031d4
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_0815255A:
- movs r0, 0
-_0815255C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08152564: .4byte sUnknown_8472063
-_08152568: .4byte 0x000031d4
- thumb_func_end sub_8152484
-
- thumb_func_start sub_815256C
-sub_815256C: @ 815256C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, _08152640 @ =gUnknown_203F3E0
- ldr r4, [r2]
- adds r0, r4, 0
- adds r0, 0x44
- ldrb r1, [r0]
- adds r0, 0x4
- ldrb r0, [r0]
- mov r9, r0
- movs r3, 0
- mov r10, r3
- movs r5, 0x90
- lsls r5, 1
- adds r0, r4, r5
- str r3, [r0]
- adds r5, r1, 0
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- blt _0815259E
- b _081527BC
-_0815259E:
- mov r8, r2
-_081525A0:
- mov r0, r8
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0xC4
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _081525B2
- b _081526BC
-_081525B2:
- movs r1, 0x90
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0x1
- str r2, [r0]
- ldr r1, _08152644 @ =0x000032eb
- adds r0, r4, r1
- adds r6, r0, r5
- ldrb r0, [r6]
- cmp r0, 0x9
- bls _0815264C
- movs r7, 0
- movs r0, 0xA
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- movs r1, 0x3
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _081525FC
- strb r2, [r1]
- ldr r2, _08152648 @ =0x000032e0
- adds r0, r4, r2
- adds r0, r5
- ldrb r0, [r0]
- adds r0, 0x43
- bl PlaySE
-_081525FC:
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08152612
- mov r2, r10
- cmp r2, 0x1
- beq _08152612
- b _081527AC
-_08152612:
- movs r0, 0x1
- mov r10, r0
- adds r0, r1, r6
- adds r0, r5
- strb r7, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x40
- ldrb r0, [r1]
- cmp r0, 0x9
- bhi _0815262E
- adds r0, 0x1
- strb r0, [r1]
-_0815262E:
- movs r0, 0x3
- adds r1, r5, 0
- movs r2, 0
- bl sub_8152D34
- movs r0, 0
- bl sub_8152F94
- b _081527AC
- .align 2, 0
-_08152640: .4byte gUnknown_203F3E0
-_08152644: .4byte 0x000032eb
-_08152648: .4byte 0x000032e0
-_0815264C:
- adds r0, r5, 0
- bl sub_8152BD4
- mov r2, r8
- ldr r7, [r2]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r1, 0x90
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08152672
- movs r3, 0x2
-_08152672:
- ldr r2, _081526B4 @ =sUnknown_847553C
- ldr r0, _081526B8 @ =0x000032e0
- adds r1, r4, r0
- adds r1, r5
- lsls r0, r3, 1
- adds r0, r3
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
- adds r1, r7, 0
- adds r1, 0xD0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- bcc _081526AC
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
-_081526AC:
- bl sub_8152174
- b _081527AC
- .align 2, 0
-_081526B4: .4byte sUnknown_847553C
-_081526B8: .4byte 0x000032e0
-_081526BC:
- cmp r0, 0x2
- bne _0815273C
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _081527AC
- mov r0, r8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xB8
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, r0
- ldr r1, _08152730 @ =0x000031d0
- adds r2, r1
- strb r3, [r2]
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xDC
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xD0
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0xC4
- adds r0, r5
- strb r3, [r0]
- ldr r1, _08152734 @ =0x000032eb
- adds r0, r4, r1
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r5, 0
- bl sub_8152BD4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8152BF8
- ldr r2, _08152738 @ =0x000032e0
- adds r1, r4, r2
- adds r1, r5
- strb r0, [r1]
- b _081527AC
- .align 2, 0
-_08152730: .4byte 0x000031d0
-_08152734: .4byte 0x000032eb
-_08152738: .4byte 0x000032e0
-_0815273C:
- cmp r0, 0x3
- bne _081527AC
- adds r1, r4, 0
- adds r1, 0xDC
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _081527AC
- mov r0, r8
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _081527AC
- adds r0, r1, 0
- adds r0, 0xDC
- adds r0, r5
- strb r2, [r0]
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xD0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r1]
- adds r0, 0xC4
- adds r0, r5
- strb r2, [r0]
- ldr r2, _081527CC @ =0x000032eb
- adds r0, r4, r2
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0xE8
- adds r1, r5
- subs r2, 0xB
- adds r4, r2
- adds r4, r5
- ldrb r0, [r4]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8152BD4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- bl sub_8152BF8
- strb r0, [r4]
-_081527AC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r9
- subs r0, 0x1
- cmp r5, r0
- bge _081527BC
- b _081525A0
-_081527BC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081527CC: .4byte 0x000032eb
- thumb_func_end sub_815256C
-
- thumb_func_start sub_81527D0
-sub_81527D0: @ 81527D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08152838 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x44
- adds r0, 0x48
- ldrb r0, [r0]
- mov r8, r0
- ldrb r6, [r1]
- cmp r6, r8
- bcs _081528C2
- ldr r0, _0815283C @ =sUnknown_8471F50
- mov r9, r0
-_081527F0:
- ldr r0, _08152838 @ =gUnknown_203F3E0
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r2, _08152840 @ =0x000031a0
- adds r0, r2
- adds r7, r3, r0
- movs r0, 0xB
- adds r2, r1, 0
- muls r2, r0
- adds r2, r6, r2
- adds r3, 0x24
- ldrb r1, [r3]
- subs r1, 0x1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- subs r0, r1
- adds r2, r0
- add r2, r9
- ldrb r4, [r2]
- adds r0, r7, 0
- adds r0, 0x1F
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08152844
- adds r0, r6, 0
- movs r1, 0
- bl sub_81542EC
- b _0815284C
- .align 2, 0
-_08152838: .4byte gUnknown_203F3E0
-_0815283C: .4byte sUnknown_8471F50
-_08152840: .4byte 0x000031a0
-_08152844:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_81542EC
-_0815284C:
- adds r0, r7, 0
- adds r0, 0x1F
- adds r5, r0, r4
- ldrb r0, [r5]
- cmp r0, 0x9
- bls _08152878
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r4
- ldrb r1, [r0]
- adds r1, 0x3
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8154398
- ldrb r1, [r5]
- lsls r1, 25
- movs r0, 0xFF
- lsls r0, 24
- adds r1, r0
- b _0815289A
-_08152878:
- adds r0, r7, 0
- adds r0, 0x14
- adds r3, r0, r4
- ldrb r0, [r3]
- cmp r0, 0x3
- bne _081528A4
- movs r0, 0x7
- strb r0, [r5]
- adds r0, r6, 0
- movs r1, 0x6
- bl sub_8154398
- ldrb r1, [r5]
- lsls r1, 25
- movs r2, 0xFF
- lsls r2, 24
- adds r1, r2
-_0815289A:
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8154370
- b _081528B8
-_081528A4:
- ldrb r1, [r3]
- adds r0, r6, 0
- bl sub_8154398
- ldrb r1, [r5]
- lsls r1, 25
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8154370
-_081528B8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r8
- bcc _081527F0
-_081528C2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81527D0
-
- thumb_func_start sub_81528D0
-sub_81528D0: @ 81528D0
- push {r4-r6,lr}
- ldr r1, _08152908 @ =gUnknown_203F3E0
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08152902
- adds r6, r1, 0
-_081528E2:
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 2
- ldr r1, [r6]
- adds r0, r1
- ldr r1, _0815290C @ =0x000031cc
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8153DA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081528E2
-_08152902:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08152908: .4byte gUnknown_203F3E0
-_0815290C: .4byte 0x000031cc
- thumb_func_end sub_81528D0
-
- thumb_func_start sub_8152910
-sub_8152910: @ 8152910
- push {r4,r5,lr}
- ldr r0, _08152938 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08152932
-_08152920:
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8153DA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08152920
-_08152932:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08152938: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152910
-
- thumb_func_start sub_815293C
-sub_815293C: @ 815293C
- push {lr}
- bl sub_81527D0
- ldr r0, _08152954 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08152958
- bl sub_8152910
- b _0815295C
- .align 2, 0
-_08152954: .4byte gUnknown_203F3E0
-_08152958:
- bl sub_81528D0
-_0815295C:
- ldr r0, _0815296C @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_8153FC8
- pop {r0}
- bx r0
- .align 2, 0
-_0815296C: .4byte gUnknown_203F3E0
- thumb_func_end sub_815293C
-
- thumb_func_start sub_8152970
-sub_8152970: @ 8152970
- push {lr}
- bl sub_81527D0
- ldr r0, _08152988 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _0815298C
- bl sub_8152910
- b _08152990
- .align 2, 0
-_08152988: .4byte gUnknown_203F3E0
-_0815298C:
- bl sub_81528D0
-_08152990:
- ldr r0, _081529A0 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x40
- ldrb r0, [r0]
- bl sub_8153FC8
- pop {r0}
- bx r0
- .align 2, 0
-_081529A0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152970
-
- thumb_func_start sub_81529A4
-sub_81529A4: @ 81529A4
- push {lr}
- adds r3, r1, 0
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x4
- bhi _081529FC
- lsls r0, 2
- ldr r1, _081529BC @ =_081529C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081529BC: .4byte _081529C0
- .align 2, 0
-_081529C0:
- .4byte _081529D4
- .4byte _081529DC
- .4byte _081529E4
- .4byte _081529EC
- .4byte _081529F4
-_081529D4:
- movs r0, 0x4
- strb r0, [r3]
- movs r0, 0x7
- b _081529FA
-_081529DC:
- movs r0, 0x3
- strb r0, [r3]
- movs r0, 0x8
- b _081529FA
-_081529E4:
- movs r0, 0x2
- strb r0, [r3]
- movs r0, 0x9
- b _081529FA
-_081529EC:
- movs r0, 0x1
- strb r0, [r3]
- movs r0, 0xA
- b _081529FA
-_081529F4:
- movs r0, 0
- strb r0, [r3]
- movs r0, 0xB
-_081529FA:
- strb r0, [r2]
-_081529FC:
- pop {r0}
- bx r0
- thumb_func_end sub_81529A4
-
- thumb_func_start sub_8152A00
-sub_8152A00: @ 8152A00
- push {r4-r6,lr}
- ldr r1, _08152A58 @ =gUnknown_203F3E0
- ldr r0, [r1]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0x1
- cmp r4, r5
- bcs _08152A66
- adds r6, r1, 0
-_08152A12:
- ldr r0, [r6]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08152A34
- adds r0, r4, 0
- bl sub_815A5E8
- ldr r1, [r6]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
-_08152A34:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08152A12
- cmp r4, r5
- bcs _08152A66
- ldr r0, _08152A58 @ =gUnknown_203F3E0
- ldr r0, [r0]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r0, r2
-_08152A4C:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08152A5C
- movs r0, 0
- b _08152A68
- .align 2, 0
-_08152A58: .4byte gUnknown_203F3E0
-_08152A5C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08152A4C
-_08152A66:
- movs r0, 0x1
-_08152A68:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8152A00
-
- thumb_func_start sub_8152A70
-sub_8152A70: @ 8152A70
- push {r4,lr}
- movs r1, 0
- ldr r4, _08152A94 @ =gUnknown_203F3E0
- movs r3, 0xAC
- lsls r3, 1
- movs r2, 0
-_08152A7C:
- ldr r0, [r4]
- adds r0, r3
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _08152A7C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08152A94: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152A70
-
- thumb_func_start sub_8152A98
-sub_8152A98: @ 8152A98
- push {r4,lr}
- ldr r3, _08152ACC @ =gUnknown_203F3E0
- ldr r1, [r3]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08152AD0
- movs r4, 0x90
- lsls r4, 1
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _08152AD0
- movs r0, 0xA
- strb r0, [r2]
- ldr r0, [r3]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08152AD0
- movs r0, 0x1
- b _08152AD2
- .align 2, 0
-_08152ACC: .4byte gUnknown_203F3E0
-_08152AD0:
- movs r0, 0
-_08152AD2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8152A98
-
- thumb_func_start sub_8152AD8
-sub_8152AD8: @ 8152AD8
- push {r4-r6,lr}
- ldr r4, _08152B50 @ =gUnknown_203F3E0
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- ldrb r0, [r2]
- cmp r0, 0x9
- bls _08152B5C
- adds r0, r1, 0
- adds r0, 0x44
- ldrb r3, [r0]
- adds r0, 0x4
- ldrb r5, [r0]
- movs r0, 0xA
- strb r0, [r2]
- ldr r4, [r4]
- mov r12, r4
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- beq _08152B5C
- adds r4, r3, 0
- cmp r4, r5
- bcs _08152B4C
- mov r0, r12
- adds r0, 0x28
- ldrb r3, [r0]
- lsls r1, r3, 4
- subs r1, r3
- lsls r1, 2
- ldr r6, _08152B54 @ =sUnknown_8471F50
- subs r0, 0x4
- ldrb r2, [r0]
- subs r2, 0x1
- add r1, r12
- movs r0, 0xB
- muls r3, r0
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 3
- subs r2, r0, r2
- ldr r0, _08152B58 @ =0x000031bf
- adds r1, r0
-_08152B32:
- adds r0, r4, r3
- adds r0, r2
- adds r0, r6
- ldrb r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08152B5C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08152B32
-_08152B4C:
- movs r0, 0x1
- b _08152B5E
- .align 2, 0
-_08152B50: .4byte gUnknown_203F3E0
-_08152B54: .4byte sUnknown_8471F50
-_08152B58: .4byte 0x000031bf
-_08152B5C:
- movs r0, 0
-_08152B5E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8152AD8
-
- thumb_func_start sub_8152B64
-sub_8152B64: @ 8152B64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08152BCC @ =sUnknown_8475550
- mov r8, r0
- ldr r0, _08152BD0 @ =gUnknown_203F3E0
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x90
- adds r0, r5
- mov r9, r0
- ldrb r7, [r0]
- adds r0, r7, 0
- movs r1, 0x7
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- add r4, r8
- adds r0, r7, 0
- movs r1, 0x7
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldrb r4, [r4]
- adds r0, r4
- lsls r0, 24
- lsls r5, 1
- adds r6, 0x86
- adds r6, r5
- ldrh r1, [r6]
- lsrs r0, 24
- cmp r1, r0
- bcc _08152BBE
- adds r0, r7, 0x1
- mov r1, r9
- strb r0, [r1]
-_08152BBE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08152BCC: .4byte sUnknown_8475550
-_08152BD0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152B64
-
- thumb_func_start sub_8152BD4
-sub_8152BD4: @ 8152BD4
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08152BF0 @ =sUnknown_84720FC
- ldr r1, _08152BF4 @ =gUnknown_203F3E0
- ldr r1, [r1]
- adds r1, 0x24
- ldrb r1, [r1]
- subs r1, 0x1
- movs r2, 0xB
- muls r1, r2
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08152BF0: .4byte sUnknown_84720FC
-_08152BF4: .4byte gUnknown_203F3E0
- thumb_func_end sub_8152BD4
-
- thumb_func_start sub_8152BF8
-sub_8152BF8: @ 8152BF8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _08152C78 @ =gUnknown_203F3E0
- ldr r1, [r4]
- adds r1, 0x24
- ldrb r2, [r1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _08152C7C @ =sUnknown_84720AE
- lsls r1, r0, 1
- adds r1, r0
- lsls r0, r2, 4
- subs r0, r2
- adds r1, r0
- adds r0, r1, r3
- ldrb r0, [r0]
- mov r12, r0
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r3, 0x2
- adds r1, r3
- ldrb r1, [r1]
- mov r8, r1
- movs r3, 0
- ldr r1, _08152C80 @ =sUnknown_8472133
- lsls r0, r2, 2
- adds r2, r0, r2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08152C60
- adds r6, r1, 0
-_08152C46:
- adds r0, r3, r2
- adds r0, r6
- ldrb r0, [r0]
- cmp r5, r0
- beq _08152C84
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08152C46
-_08152C60:
- ldr r0, [r4]
- adds r0, 0x90
- mov r1, r12
- adds r2, r0, r1
- adds r1, r0, r7
- ldrb r0, [r2]
- ldrb r3, [r1]
- cmp r0, r3
- bls _08152C8E
- adds r1, r0, 0
- b _08152C90
- .align 2, 0
-_08152C78: .4byte gUnknown_203F3E0
-_08152C7C: .4byte sUnknown_84720AE
-_08152C80: .4byte sUnknown_8472133
-_08152C84:
- ldr r0, [r4]
- adds r0, 0x90
- adds r0, r7
- ldrb r0, [r0]
- b _08152CA2
-_08152C8E:
- ldrb r1, [r1]
-_08152C90:
- ldr r0, [r4]
- adds r0, 0x90
- mov r2, r8
- adds r4, r0, r2
- ldrb r0, [r4]
- cmp r0, r1
- bls _08152CA0
- adds r1, r0, 0
-_08152CA0:
- adds r0, r1, 0
-_08152CA2:
- adds r1, r5, 0
- bl sub_8152CB8
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8152BF8
-
- thumb_func_start sub_8152CB8
-sub_8152CB8: @ 8152CB8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08152CE4 @ =gUnknown_203F3E0
- ldr r2, [r2]
- adds r2, 0xE8
- adds r2, r1
- ldrb r4, [r2]
- movs r1, 0x7
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bhi _08152D26
- lsls r0, 2
- ldr r1, _08152CE8 @ =_08152CEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08152CE4: .4byte gUnknown_203F3E0
-_08152CE8: .4byte _08152CEC
- .align 2, 0
-_08152CEC:
- .4byte _08152D26
- .4byte _08152D1E
- .4byte _08152D2A
- .4byte _08152D08
- .4byte _08152D0E
- .4byte _08152D14
- .4byte _08152D1A
-_08152D08:
- cmp r4, 0
- beq _08152D1E
- b _08152D26
-_08152D0E:
- cmp r4, 0
- beq _08152D2A
- b _08152D26
-_08152D14:
- cmp r4, 0x2
- beq _08152D1E
- b _08152D2A
-_08152D1A:
- cmp r4, 0
- bne _08152D22
-_08152D1E:
- movs r0, 0x1
- b _08152D2C
-_08152D22:
- cmp r4, 0x1
- beq _08152D2A
-_08152D26:
- movs r0, 0
- b _08152D2C
-_08152D2A:
- movs r0, 0x2
-_08152D2C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8152CB8
-
- thumb_func_start sub_8152D34
-sub_8152D34: @ 8152D34
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r1, _08152D60 @ =gUnknown_203F3E0
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x24
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r4, 0
- bge _08152D54
- b _08152F8E
-_08152D54:
- cmp r4, 0x2
- ble _08152D64
- cmp r4, 0x3
- beq _08152D94
- b _08152F8E
- .align 2, 0
-_08152D60: .4byte gUnknown_203F3E0
-_08152D64:
- ldr r1, _08152D8C @ =0x000031b4
- adds r0, r2, r1
- adds r0, r3
- ldrb r4, [r0]
- lsls r4, 1
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r4, r0
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r4
- ldrh r0, [r0]
- ldr r1, _08152D90 @ =0x00004e20
- bl sub_815378C
- ldr r1, [r5]
- adds r1, 0x4A
- adds r1, r4
- b _08152F8C
- .align 2, 0
-_08152D8C: .4byte 0x000031b4
-_08152D90: .4byte 0x00004e20
-_08152D94:
- cmp r0, 0x3
- bne _08152D9A
- b _08152EE0
-_08152D9A:
- cmp r0, 0x3
- bgt _08152DA6
- cmp r0, 0x2
- bne _08152DA4
- b _08152F4A
-_08152DA4:
- b _08152F8E
-_08152DA6:
- cmp r0, 0x4
- beq _08152E56
- cmp r0, 0x5
- beq _08152DB0
- b _08152F8E
-_08152DB0:
- cmp r3, 0x9
- bls _08152DB6
- b _08152F8E
-_08152DB6:
- lsls r0, r3, 2
- ldr r1, _08152DC0 @ =_08152DC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08152DC0: .4byte _08152DC4
- .align 2, 0
-_08152DC4:
- .4byte _08152DEC
- .4byte _08152DFC
- .4byte _08152E02
- .4byte _08152E12
- .4byte _08152E18
- .4byte _08152E28
- .4byte _08152E2E
- .4byte _08152E3C
- .4byte _08152E40
- .4byte _08152E50
-_08152DEC:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08152F88
-_08152DFC:
- ldr r1, [r5]
- adds r1, 0x74
- b _08152F88
-_08152E02:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x80
- b _08152F88
-_08152E12:
- ldr r1, [r5]
- adds r1, 0x80
- b _08152F88
-_08152E18:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x80
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08152F88
-_08152E28:
- ldr r1, [r5]
- adds r1, 0x50
- b _08152F88
-_08152E2E:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08152F86
-_08152E3C:
- ldr r1, [r5]
- b _08152F86
-_08152E40:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08152F88
-_08152E50:
- ldr r1, [r5]
- adds r1, 0x68
- b _08152F88
-_08152E56:
- subs r0, r3, 0x1
- cmp r0, 0x7
- bls _08152E5E
- b _08152F8E
-_08152E5E:
- lsls r0, 2
- ldr r1, _08152E68 @ =_08152E6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08152E68: .4byte _08152E6C
- .align 2, 0
-_08152E6C:
- .4byte _08152E8C
- .4byte _08152E9C
- .4byte _08152EA2
- .4byte _08152EB2
- .4byte _08152EB8
- .4byte _08152EC6
- .4byte _08152ECA
- .4byte _08152EDA
-_08152E8C:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x74
- b _08152F88
-_08152E9C:
- ldr r1, [r5]
- adds r1, 0x74
- b _08152F88
-_08152EA2:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x74
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08152F88
-_08152EB2:
- ldr r1, [r5]
- adds r1, 0x50
- b _08152F88
-_08152EB8:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08152F86
-_08152EC6:
- ldr r1, [r5]
- b _08152F86
-_08152ECA:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08152F88
-_08152EDA:
- ldr r1, [r5]
- adds r1, 0x68
- b _08152F88
-_08152EE0:
- subs r0, r3, 0x2
- cmp r0, 0x5
- bhi _08152F8E
- lsls r0, 2
- ldr r1, _08152EF0 @ =_08152EF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08152EF0: .4byte _08152EF4
- .align 2, 0
-_08152EF4:
- .4byte _08152F0C
- .4byte _08152F1C
- .4byte _08152F22
- .4byte _08152F32
- .4byte _08152F38
- .4byte _08152F46
-_08152F0C:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x5C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x68
- b _08152F88
-_08152F1C:
- ldr r1, [r5]
- adds r1, 0x68
- b _08152F88
-_08152F22:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x68
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- adds r1, 0x50
- b _08152F88
-_08152F32:
- ldr r1, [r5]
- adds r1, 0x50
- b _08152F88
-_08152F38:
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0x50
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- b _08152F86
-_08152F46:
- ldr r1, [r5]
- b _08152F86
-_08152F4A:
- cmp r3, 0x4
- beq _08152F70
- cmp r3, 0x4
- bgt _08152F58
- cmp r3, 0x3
- beq _08152F62
- b _08152F8E
-_08152F58:
- cmp r3, 0x5
- beq _08152F76
- cmp r3, 0x6
- beq _08152F84
- b _08152F8E
-_08152F62:
- adds r1, r2, 0
- adds r1, 0x50
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0xC
- b _08152F88
-_08152F70:
- adds r1, r2, 0
- adds r1, 0x50
- b _08152F88
-_08152F76:
- adds r1, r2, 0
- adds r1, 0x50
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0xC
- b _08152F88
-_08152F84:
- adds r1, r2, 0
-_08152F86:
- adds r1, 0x5C
-_08152F88:
- ldrh r0, [r1]
- adds r0, 0x1
-_08152F8C:
- strh r0, [r1]
-_08152F8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8152D34
-
- thumb_func_start sub_8152F94
-sub_8152F94: @ 8152F94
- push {r4,r5,lr}
- adds r1, r0, 0
- ldr r4, _08152FD8 @ =gUnknown_203F3E0
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08152FFE
- cmp r1, 0x1
- bne _08152FE0
- movs r5, 0x89
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r1]
- adds r2, r0, 0x1
- strh r2, [r1]
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- ldrh r3, [r1]
- cmp r0, r3
- bls _08152FC8
- strh r2, [r1]
-_08152FC8:
- ldr r0, [r4]
- adds r2, r0, r5
- ldrh r0, [r2]
- ldr r1, _08152FDC @ =0x0000270f
- cmp r0, r1
- bls _08152FFE
- strh r1, [r2]
- b _08152FFE
- .align 2, 0
-_08152FD8: .4byte gUnknown_203F3E0
-_08152FDC: .4byte 0x0000270f
-_08152FE0:
- movs r2, 0x89
- lsls r2, 1
- adds r0, r3, r2
- movs r5, 0x8A
- lsls r5, 1
- adds r1, r3, r5
- ldrh r0, [r0]
- ldrh r3, [r1]
- cmp r0, r3
- bls _08152FF6
- strh r0, [r1]
-_08152FF6:
- ldr r0, [r4]
- adds r0, r2
- movs r1, 0
- strh r1, [r0]
-_08152FFE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8152F94
-
- thumb_func_start sub_8153004
-sub_8153004: @ 8153004
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, _08153044 @ =gUnknown_203F3E0
- ldr r0, [r2]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r3, r0
- bcs _0815303C
- adds r5, r2, 0
- movs r4, 0x8A
- lsls r4, 1
-_0815301A:
- ldr r2, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x54
- adds r1, r0
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r3, r2
- bcc _0815301A
-_0815303C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08153044: .4byte gUnknown_203F3E0
- thumb_func_end sub_8153004
-
- thumb_func_start sub_8153048
-sub_8153048: @ 8153048
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r7, _08153138 @ =gUnknown_203F3E0
- movs r4, 0
- ldr r0, _0815313C @ =0x000031bf
- mov r10, r0
-_0815305C:
- movs r2, 0
- lsls r6, r5, 4
- lsls r1, r5, 1
- mov r8, r1
- lsls r0, r5, 3
- mov r12, r0
- adds r1, r5, 0x1
- mov r9, r1
- subs r0, r6, r5
- lsls r3, r0, 2
-_08153070:
- ldr r0, [r7]
- adds r1, r2, r3
- add r0, r10
- adds r0, r1
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _08153070
- ldr r0, [r7]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- ldr r2, _08153140 @ =0x000031cc
- adds r0, r2
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, r1
- ldr r1, _08153144 @ =0x000031d0
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r7]
- adds r0, 0x90
- adds r0, r5
- strb r4, [r0]
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x86
- add r0, r8
- strh r4, [r0]
- add r1, r12
- ldr r2, _08153148 @ =0x00003308
- adds r1, r2
- strb r4, [r1]
- ldr r2, [r7]
- ldr r1, _0815314C @ =0x0000330c
- adds r0, r2, r1
- add r0, r12
- str r4, [r0]
- mov r0, r8
- adds r1, r0, r5
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x52
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- strh r4, [r0]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _0815305C
- ldr r2, _08153138 @ =gUnknown_203F3E0
- ldr r0, [r2]
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, _08153138 @ =gUnknown_203F3E0
- ldr r0, [r1]
- movs r1, 0x89
- lsls r1, 1
- adds r3, r0, r1
- movs r1, 0
- strh r2, [r3]
- adds r0, 0x40
- strb r1, [r0]
- bl sub_81528D0
- bl sub_81527D0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08153138: .4byte gUnknown_203F3E0
-_0815313C: .4byte 0x000031bf
-_08153140: .4byte 0x000031cc
-_08153144: .4byte 0x000031d0
-_08153148: .4byte 0x00003308
-_0815314C: .4byte 0x0000330c
- thumb_func_end sub_8153048
-
- thumb_func_start sub_8153150
-sub_8153150: @ 8153150
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _08153168 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0815316C
- cmp r0, 0x5
- beq _08153170
- b _08153172
- .align 2, 0
-_08153168: .4byte gUnknown_203F3E0
-_0815316C:
- movs r4, 0x1
- b _08153172
-_08153170:
- movs r4, 0x2
-_08153172:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- lsls r1, r4, 2
- ldr r5, _081531B4 @ =gUnknown_203F3E0
- ldr r2, _081531B8 @ =sUnknown_8475558
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r2
- ldrb r2, [r0]
-_08153196:
- ldr r1, [r5]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- strh r2, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _08153196
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081531B4: .4byte gUnknown_203F3E0
-_081531B8: .4byte sUnknown_8475558
- thumb_func_end sub_8153150
-
- thumb_func_start sub_81531BC
-sub_81531BC: @ 81531BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081531F4 @ =gUnknown_203F3E0
- ldr r2, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x4A
- adds r0, r1
- ldrh r3, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1
- ldrh r0, [r0]
- adds r2, 0x4E
- adds r2, r1
- adds r3, r0
- ldrh r2, [r2]
- adds r0, r3, r2
- ldr r1, _081531F8 @ =0x0000270f
- cmp r0, r1
- bls _081531EE
- adds r0, r1, 0
-_081531EE:
- pop {r1}
- bx r1
- .align 2, 0
-_081531F4: .4byte gUnknown_203F3E0
-_081531F8: .4byte 0x0000270f
- thumb_func_end sub_81531BC
-
- thumb_func_start sub_81531FC
-sub_81531FC: @ 81531FC
- push {r4-r6,lr}
- ldr r5, _08153264 @ =gUnknown_203F3E0
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_81531BC
- ldr r1, _08153268 @ =0x0000270f
- bl sub_815379C
- adds r4, r0, 0
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_8153424
- ldr r1, _0815326C @ =0x000f4236
- bl sub_815379C
- adds r2, r0, 0
- ldr r3, _08153270 @ =gSaveBlock2Ptr
- ldr r0, [r3]
- movs r6, 0xB1
- lsls r6, 4
- adds r1, r0, r6
- ldr r0, [r1]
- cmp r0, r2
- bcs _08153236
- str r2, [r1]
-_08153236:
- ldr r0, [r3]
- ldr r2, _08153274 @ =0x00000b14
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, r4
- bcs _08153244
- strh r4, [r1]
-_08153244:
- ldr r0, [r3]
- ldr r6, _08153278 @ =0x00000b16
- adds r2, r0, r6
- ldr r0, [r5]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- ldrh r1, [r0]
- ldrh r0, [r2]
- cmp r0, r1
- bcs _0815325C
- strh r1, [r2]
-_0815325C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08153264: .4byte gUnknown_203F3E0
-_08153268: .4byte 0x0000270f
-_0815326C: .4byte 0x000f4236
-_08153270: .4byte gSaveBlock2Ptr
-_08153274: .4byte 0x00000b14
-_08153278: .4byte 0x00000b16
- thumb_func_end sub_81531FC
-
- thumb_func_start sub_815327C
-sub_815327C: @ 815327C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _081532B4 @ =gUnknown_203F3E0
- ldr r0, [r1]
- adds r0, 0x9B
- ldrb r6, [r0]
- movs r3, 0x3
- adds r5, r1, 0
- adds r4, r5, 0
-_08153290:
- ldr r0, [r4]
- adds r0, 0x98
- adds r2, r0, r3
- subs r1, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r3, 0
- bne _08153290
- ldr r0, [r5]
- adds r0, 0x98
- strb r7, [r0]
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081532B4: .4byte gUnknown_203F3E0
- thumb_func_end sub_815327C
-
- thumb_func_start sub_81532B8
-sub_81532B8: @ 81532B8
- push {r4,lr}
- ldr r4, _081532EC @ =gUnknown_203F3E0
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, 0x88
- adds r2, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- bne _08153360
- ldr r0, _081532F0 @ =gMain
- ldrh r2, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _081532F8
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _081532F4 @ =0x000031cc
- adds r0, r1
- movs r1, 0x2
- b _0815332E
- .align 2, 0
-_081532EC: .4byte gUnknown_203F3E0
-_081532F0: .4byte gMain
-_081532F4: .4byte 0x000031cc
-_081532F8:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08153314
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _08153310 @ =0x000031cc
- adds r0, r1
- movs r1, 0x3
- b _0815332E
- .align 2, 0
-_08153310: .4byte 0x000031cc
-_08153314:
- movs r0, 0x10
- ands r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0815334C
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _08153348 @ =0x000031cc
- adds r0, r1
- movs r1, 0x1
-_0815332E:
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x28
- adds r0, 0xB0
- ldrb r1, [r1]
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0xCD
- bl PlaySE
- b _08153364
- .align 2, 0
-_08153348: .4byte 0x000031cc
-_0815334C:
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _0815335C @ =0x000031cc
- adds r0, r1
- strb r2, [r0]
- b _08153364
- .align 2, 0
-_0815335C: .4byte 0x000031cc
-_08153360:
- subs r0, 0x1
- strb r0, [r2]
-_08153364:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81532B8
-
- thumb_func_start sub_815336C
-sub_815336C: @ 815336C
- ldr r0, _08153388 @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 2
- adds r1, r0
- ldr r0, _0815338C @ =0x000031cc
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08153388: .4byte gUnknown_203F3E0
-_0815338C: .4byte 0x000031cc
- thumb_func_end sub_815336C
-
- thumb_func_start sub_8153390
-sub_8153390: @ 8153390
- ldr r0, _081533B0 @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, 0x52
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_081533B0: .4byte gUnknown_203F3E0
- thumb_func_end sub_8153390
-
- thumb_func_start sub_81533B4
-sub_81533B4: @ 81533B4
- ldr r0, _081533C0 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_081533C0: .4byte gUnknown_203F3E0
- thumb_func_end sub_81533B4
-
- thumb_func_start sub_81533C4
-sub_81533C4: @ 81533C4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081533E4 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081533F0
- ldr r0, _081533E8 @ =gUnknown_203F3E0
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 2
- ldr r2, _081533EC @ =0x000031a0
- adds r1, r2
- ldr r0, [r0]
- b _081533F8
- .align 2, 0
-_081533E4: .4byte gReceivedRemoteLinkPlayers
-_081533E8: .4byte gUnknown_203F3E0
-_081533EC: .4byte 0x000031a0
-_081533F0:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, _08153400 @ =gLinkPlayers + 8
-_081533F8:
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_08153400: .4byte gLinkPlayers + 8
- thumb_func_end sub_81533C4
-
- thumb_func_start sub_8153404
-sub_8153404: @ 8153404
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, _08153420 @ =gUnknown_203F3E0
- ldr r3, [r2]
- lsrs r1, 23
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r3, 0x4A
- adds r3, r1
- ldrh r0, [r3]
- bx lr
- .align 2, 0
-_08153420: .4byte gUnknown_203F3E0
- thumb_func_end sub_8153404
-
- thumb_func_start sub_8153424
-sub_8153424: @ 8153424
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r3, 0
- ldr r0, _08153490 @ =gUnknown_203F3E0
- mov r9, r0
- ldr r2, _08153494 @ =sUnknown_84755D8
- mov r10, r2
- ldr r2, [r0]
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- str r0, [sp]
- adds r6, r2, 0
- adds r6, 0x4A
- mov r12, r1
- mov r8, r10
-_08153452:
- lsls r1, r3, 1
- ldr r7, [sp]
- adds r0, r1, r7
- adds r0, r6, r0
- ldrh r2, [r0]
- add r1, r8
- movs r7, 0
- ldrsh r0, [r1, r7]
- muls r0, r2
- adds r5, r0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08153452
- mov r0, r9
- ldr r1, [r0]
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 2
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- mov r3, r10
- movs r7, 0x6
- ldrsh r0, [r3, r7]
- muls r0, r1
- cmp r5, r0
- bls _08153498
- subs r0, r5, r0
- b _0815349A
- .align 2, 0
-_08153490: .4byte gUnknown_203F3E0
-_08153494: .4byte sUnknown_84755D8
-_08153498:
- movs r0, 0
-_0815349A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8153424
-
- thumb_func_start sub_81534AC
-sub_81534AC: @ 81534AC
- push {r4-r6,lr}
- ldr r0, _081534E8 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r6, [r0]
- movs r0, 0
- bl sub_8153424
- adds r5, r0, 0
- movs r4, 0x1
- cmp r4, r6
- bcs _081534DA
-_081534C4:
- adds r0, r4, 0
- bl sub_8153424
- cmp r0, r5
- bls _081534D0
- adds r5, r0, 0
-_081534D0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _081534C4
-_081534DA:
- ldr r1, _081534EC @ =0x000f4236
- adds r0, r5, 0
- bl sub_815379C
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081534E8: .4byte gUnknown_203F3E0
-_081534EC: .4byte 0x000f4236
- thumb_func_end sub_81534AC
-
- thumb_func_start sub_81534F0
-sub_81534F0: @ 81534F0
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, _08153530 @ =gUnknown_203F3E0
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r5, [r1]
- lsrs r4, r0, 23
- adds r2, 0x4A
- adds r0, r2, r4
- ldrh r3, [r0]
- movs r1, 0
- cmp r1, r5
- bcs _08153528
-_0815350C:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r2, r0
- ldrh r0, [r0]
- cmp r0, r3
- bls _0815351E
- adds r3, r0, 0
-_0815351E:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r5
- bcc _0815350C
-_08153528:
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08153530: .4byte gUnknown_203F3E0
- thumb_func_end sub_81534F0
-
- thumb_func_start sub_8153534
-sub_8153534: @ 8153534
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0x1
- ldr r0, _081535AC @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- movs r4, 0
- cmp r4, r5
- bcs _08153562
-_0815354C:
- adds r0, r4, 0
- bl sub_8153424
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0815354C
-_08153562:
- lsls r7, 2
- mov r12, r7
- cmp r6, 0
- beq _0815359C
- subs r7, r5, 0x1
-_0815356C:
- movs r6, 0
- movs r4, 0
- cmp r6, r7
- bge _08153598
- adds r5, r7, 0
-_08153576:
- lsls r0, r4, 2
- mov r2, sp
- adds r1, r2, r0
- adds r4, 0x1
- lsls r0, r4, 2
- adds r3, r2, r0
- ldr r0, [r1]
- ldr r2, [r3]
- cmp r0, r2
- bcs _08153590
- str r2, [r1]
- str r0, [r3]
- movs r6, 0x1
-_08153590:
- lsls r0, r4, 24
- lsrs r4, r0, 24
- cmp r4, r5
- blt _08153576
-_08153598:
- cmp r6, 0
- bne _0815356C
-_0815359C:
- mov r0, sp
- add r0, r12
- ldr r0, [r0]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081535AC: .4byte gUnknown_203F3E0
- thumb_func_end sub_8153534
-
- thumb_func_start sub_81535B0
-sub_81535B0: @ 81535B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r10, r0
- mov r8, r0
- mov r9, r0
- ldr r6, _08153690 @ =gUnknown_203F3E0
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r5, [r0]
- bl sub_81534AC
- bl sub_81534AC
- cmp r0, 0
- bne _08153604
- movs r4, 0
- cmp r9, r5
- bcs _08153604
- adds r2, r6, 0
- ldr r1, _08153694 @ =0x00003308
- mov r12, r1
- movs r7, 0
- movs r6, 0x4
- ldr r3, _08153698 @ =0x0000330c
-_081535E8:
- ldr r0, [r2]
- lsls r1, r4, 3
- adds r0, r1
- add r0, r12
- strb r6, [r0]
- ldr r0, [r2]
- adds r0, r3
- adds r0, r1
- str r7, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081535E8
-_08153604:
- movs r4, 0
- cmp r4, r5
- bcs _0815362E
-_0815360A:
- adds r0, r4, 0
- bl sub_8153424
- ldr r1, _0815369C @ =0x000f4236
- bl sub_815379C
- ldr r1, _08153690 @ =gUnknown_203F3E0
- ldr r1, [r1]
- lsls r2, r4, 3
- ldr r3, _08153698 @ =0x0000330c
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _0815360A
-_0815362E:
- mov r0, r10
- bl sub_8153534
- adds r6, r0, 0
- mov r3, r8
- movs r4, 0
- cmp r4, r5
- bcs _0815367A
- ldr r7, _08153690 @ =gUnknown_203F3E0
- mov r10, r7
-_08153642:
- mov r0, r10
- ldr r2, [r0]
- lsls r1, r4, 3
- ldr r7, _08153698 @ =0x0000330c
- adds r0, r2, r7
- adds r0, r1
- ldr r0, [r0]
- cmp r6, r0
- bne _08153670
- adds r0, r2, r1
- ldr r1, _08153694 @ =0x00003308
- adds r0, r1
- strb r3, [r0]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_08153670:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08153642
-_0815367A:
- mov r10, r8
- cmp r9, r5
- bcc _0815362E
- movs r0, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08153690: .4byte gUnknown_203F3E0
-_08153694: .4byte 0x00003308
-_08153698: .4byte 0x0000330c
-_0815369C: .4byte 0x000f4236
- thumb_func_end sub_81535B0
-
- thumb_func_start sub_81536A0
-sub_81536A0: @ 81536A0
- lsls r1, 24
- ldr r2, _081536B8 @ =gUnknown_203F3E0
- ldr r2, [r2]
- lsrs r1, 21
- ldr r3, _081536BC @ =0x00003308
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .align 2, 0
-_081536B8: .4byte gUnknown_203F3E0
-_081536BC: .4byte 0x00003308
- thumb_func_end sub_81536A0
-
- thumb_func_start sub_81536C0
-sub_81536C0: @ 81536C0
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- movs r7, 0
- ldr r0, _08153728 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r5, [r0]
- mov r0, sp
- movs r1, 0
- movs r2, 0x14
- bl memset
- movs r4, 0
- cmp r7, r5
- bcs _081536F8
-_081536E2:
- adds r0, r4, 0
- bl sub_8153424
- lsls r1, r4, 2
- add r1, sp
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _081536E2
-_081536F8:
- lsls r0, r6, 2
- add r0, sp
- ldr r1, [r0]
- movs r4, 0
-_08153700:
- cmp r4, r6
- beq _08153714
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r1, r0
- bcs _08153714
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_08153714:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08153700
- adds r0, r7, 0
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08153728: .4byte gUnknown_203F3E0
- thumb_func_end sub_81536C0
-
- thumb_func_start sub_815372C
-sub_815372C: @ 815372C
- push {r4-r6,lr}
- ldr r0, _08153754 @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x28
- ldrb r4, [r0]
- bl sub_8153390
- lsls r0, 16
- lsrs r5, r0, 16
- adds r6, r5, 0
- adds r0, r4, 0
- bl sub_8153424
- adds r4, r0, 0
- bl sub_81534AC
- cmp r4, r0
- beq _08153758
- movs r0, 0x3
- b _08153786
- .align 2, 0
-_08153754: .4byte gUnknown_203F3E0
-_08153758:
- adds r0, r5, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _0815376A
- movs r0, 0x2
- b _08153786
-_0815376A:
- adds r0, r6, 0
- movs r1, 0x1
- bl AddBagItem
- adds r0, r6, 0
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _08153784
- movs r0, 0
- b _08153786
-_08153784:
- movs r0, 0x1
-_08153786:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_815372C
-
- thumb_func_start sub_815378C
-sub_815378C: @ 815378C
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _08153798
- adds r0, r2, 0x1
-_08153798:
- pop {r1}
- bx r1
- thumb_func_end sub_815378C
-
- thumb_func_start sub_815379C
-sub_815379C: @ 815379C
- push {lr}
- adds r2, r0, 0
- adds r0, r1, 0
- cmp r2, r0
- bcs _081537A8
- adds r0, r2, 0
-_081537A8:
- pop {r1}
- bx r1
- thumb_func_end sub_815379C
-
- thumb_func_start sub_81537AC
-sub_81537AC: @ 81537AC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081537BC @ =gUnknown_203F3E0
- ldr r1, [r1]
- adds r1, 0x34
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_081537BC: .4byte gUnknown_203F3E0
- thumb_func_end sub_81537AC
-
- thumb_func_start IsDodrioInParty
-IsDodrioInParty: @ 81537C0
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _081537F0 @ =gSpecialVar_Result
-_081537C6:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _081537F4 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _081537F8
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0x55
- bne _081537F8
- movs r0, 0x1
- strh r0, [r6]
- b _08153804
- .align 2, 0
-_081537F0: .4byte gSpecialVar_Result
-_081537F4: .4byte gPlayerParty
-_081537F8:
- adds r5, 0x1
- cmp r5, 0x5
- ble _081537C6
- ldr r1, _0815380C @ =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
-_08153804:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0815380C: .4byte gSpecialVar_Result
- thumb_func_end IsDodrioInParty
-
- thumb_func_start ShowDodrioBerryPickingRecords
-ShowDodrioBerryPickingRecords: @ 8153810
- push {r4,lr}
- ldr r4, _0815382C @ =sub_8153830
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0815382C: .4byte sub_8153830
- thumb_func_end ShowDodrioBerryPickingRecords
-
- thumb_func_start sub_8153830
-sub_8153830: @ 8153830
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08153854 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0815387C
- cmp r0, 0x1
- bgt _08153858
- cmp r0, 0
- beq _08153862
- b _081538CA
- .align 2, 0
-_08153854: .4byte gTasks+0x8
-_08153858:
- cmp r0, 0x2
- beq _08153888
- cmp r0, 0x3
- beq _081538B0
- b _081538CA
-_08153862:
- ldr r0, _08153878 @ =sUnknown_84755E0
- bl AddWindow
- strh r0, [r4, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_81538D0
- ldrb r0, [r4, 0x2]
- movs r1, 0x3
- b _0815389E
- .align 2, 0
-_08153878: .4byte sUnknown_84755E0
-_0815387C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081538CA
- b _081538A2
-_08153888:
- ldr r0, _081538AC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081538CA
- ldrb r0, [r4, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r4, 0x2]
- movs r1, 0x1
-_0815389E:
- bl CopyWindowToVram
-_081538A2:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _081538CA
- .align 2, 0
-_081538AC: .4byte gMain
-_081538B0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081538CA
- ldrb r0, [r4, 0x2]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_081538CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8153830
-
- thumb_func_start sub_81538D0
-sub_81538D0: @ 81538D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _081539CC @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldr r2, _081539D0 @ =0x00000b14
- adds r0, r1, r2
- ldrh r0, [r0]
- str r0, [sp, 0xC]
- subs r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [sp, 0x10]
- ldr r0, _081539D4 @ =0x00000b16
- adds r1, r0
- ldrh r0, [r1]
- str r0, [sp, 0x14]
- ldr r4, _081539D8 @ =0x0000021d
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD
- bl DrawTextBorderOuter
- adds r0, r7, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, _081539DC @ =sUnknown_84755E8
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized
- movs r4, 0
- add r2, sp, 0x18
- mov r8, r2
- movs r0, 0xFF
- mov r10, r0
- mov r9, r4
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x2C]
-_08153946:
- ldr r0, [sp, 0x2C]
- ldm r0!, {r1}
- str r0, [sp, 0x2C]
- ldr r0, _081539E0 @ =sUnknown_84755F8
- adds r0, r4, r0
- ldrb r3, [r0]
- mov r0, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- movs r0, 0x2
- mov r1, r8
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- ldr r1, _081539DC @ =sUnknown_84755E8
- adds r6, r4, 0x1
- lsls r0, r6, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r0, _081539E4 @ =sUnknown_84755FC
- lsls r4, 1
- adds r0, r4, r0
- ldrb r0, [r0]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x2
- movs r3, 0x1
- bl AddTextPrinterParameterized
- movs r3, 0xE0
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _081539E8 @ =sUnknown_8475602
- adds r4, r0
- ldrb r0, [r4]
- str r0, [sp]
- mov r2, r10
- str r2, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- adds r0, r7, 0
- movs r1, 0x2
- mov r2, r8
- bl AddTextPrinterParameterized
- adds r4, r6, 0
- cmp r4, 0x2
- ble _08153946
- adds r0, r7, 0
- bl PutWindowTilemap
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081539CC: .4byte gSaveBlock2Ptr
-_081539D0: .4byte 0x00000b14
-_081539D4: .4byte 0x00000b16
-_081539D8: .4byte 0x0000021d
-_081539DC: .4byte sUnknown_84755E8
-_081539E0: .4byte sUnknown_84755F8
-_081539E4: .4byte sUnknown_84755FC
-_081539E8: .4byte sUnknown_8475602
- thumb_func_end sub_81538D0
-
- thumb_func_start sub_81539EC
-sub_81539EC: @ 81539EC
- push {lr}
- bl GetLinkPlayerCount
- ldr r1, _08153A00 @ =gUnknown_203F3E0
- ldr r1, [r1]
- adds r1, 0x24
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08153A00: .4byte gUnknown_203F3E0
- thumb_func_end sub_81539EC
-
- thumb_func_start sub_8153A04
-sub_8153A04: @ 8153A04
- push {r4-r7,lr}
- ldr r0, _08153A8C @ =gUnknown_203F3E0
- ldr r0, [r0]
- adds r0, 0x24
- ldrb r4, [r0]
- cmp r4, 0x4
- bhi _08153A32
- ldr r5, _08153A90 @ =sUnknown_8475648
-_08153A14:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _08153A94 @ =gLinkPlayers + 8
- adds r0, r1
- lsls r1, r4, 2
- adds r1, r5
- ldr r1, [r1]
- bl StringCopy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08153A14
-_08153A32:
- ldr r0, _08153A8C @ =gUnknown_203F3E0
- ldr r1, [r0]
- adds r1, 0x24
- movs r2, 0x5
- strb r2, [r1]
- movs r1, 0
- mov r12, r0
-_08153A40:
- movs r4, 0
- mov r2, r12
- ldr r0, [r2]
- adds r0, 0x24
- adds r5, r1, 0x1
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08153A7E
- ldr r7, _08153A8C @ =gUnknown_203F3E0
- lsls r3, r1, 1
- ldr r6, _08153A98 @ =sUnknown_8475608
-_08153A56:
- ldr r2, [r7]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r3, r0
- adds r1, r2, 0
- adds r1, 0x4A
- adds r1, r0
- lsls r0, r4, 3
- adds r0, r3, r0
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, 0x24
- ldrb r2, [r2]
- cmp r4, r2
- bcc _08153A56
-_08153A7E:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _08153A40
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08153A8C: .4byte gUnknown_203F3E0
-_08153A90: .4byte sUnknown_8475648
-_08153A94: .4byte gLinkPlayers + 8
-_08153A98: .4byte sUnknown_8475608
- thumb_func_end sub_8153A04
-
- thumb_func_start sub_8153A9C
-sub_8153A9C: @ 8153A9C
- push {r4,r5,lr}
- sub sp, 0x18
- movs r5, 0xC0
- lsls r5, 6
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, _08153AF0 @ =gUnknown_8478D90
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, _08153AF4 @ =gUnknown_8478D98
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, _08153AF8 @ =sDodrioBerryPkmnGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _08153ADC
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl Free
-_08153ADC:
- add r0, sp, 0x8
- bl LoadSpritePalette
- add r0, sp, 0x10
- bl LoadSpritePalette
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08153AF0: .4byte gUnknown_8478D90
-_08153AF4: .4byte gUnknown_8478D98
-_08153AF8: .4byte sDodrioBerryPkmnGfx
- thumb_func_end sub_8153A9C
-
- thumb_func_start sub_8153AFC
-sub_8153AFC: @ 8153AFC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x30
- adds r6, r1, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r6, 24
- lsrs r6, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r5, 24
- lsrs r5, 24
- add r1, sp, 0x18
- movs r3, 0
- strh r3, [r1]
- ldrb r2, [r0]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- ldr r0, _08153B88 @ =sOamData_8478C98
- str r0, [sp, 0x1C]
- ldr r0, _08153B8C @ =sSpriteAnimTable_8478CE0
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, _08153B90 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x28]
- ldr r0, _08153B94 @ =sub_8153B9C
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, _08153B98 @ =gUnknown_203F3E4
- mov r2, r8
- lsls r4, r2, 2
- adds r4, r1
- str r0, [r4]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8154608
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x88
- movs r3, 0x3
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- movs r0, 0x1
- mov r1, r8
- bl sub_8153D48
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08153B88: .4byte sOamData_8478C98
-_08153B8C: .4byte sSpriteAnimTable_8478CE0
-_08153B90: .4byte gDummySpriteAffineAnimTable
-_08153B94: .4byte sub_8153B9C
-_08153B98: .4byte gUnknown_203F3E4
- thumb_func_end sub_8153AFC
-
- thumb_func_start sub_8153B9C
-sub_8153B9C: @ 8153B9C
- push {lr}
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _08153BB0
- cmp r1, 0x1
- ble _08153BBA
- cmp r1, 0x2
- beq _08153BB6
- b _08153BBA
-_08153BB0:
- bl sub_8153C30
- b _08153BBA
-_08153BB6:
- bl sub_8153CA0
-_08153BBA:
- pop {r0}
- bx r0
- thumb_func_end sub_8153B9C
-
- thumb_func_start sub_8153BC0
-sub_8153BC0: @ 8153BC0
- push {lr}
- bl GetMultiplayerId
- ldr r1, _08153BF0 @ =gUnknown_203F3E4
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08153BF4 @ =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .align 2, 0
-_08153BF0: .4byte gUnknown_203F3E4
-_08153BF4: .4byte gSprites
- thumb_func_end sub_8153BC0
-
- thumb_func_start sub_8153BF8
-sub_8153BF8: @ 8153BF8
- push {lr}
- bl GetMultiplayerId
- ldr r1, _08153C28 @ =gUnknown_203F3E4
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08153C2C @ =gSprites
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- pop {r0}
- bx r0
- .align 2, 0
-_08153C28: .4byte gUnknown_203F3E4
-_08153C2C: .4byte gSprites
- thumb_func_end sub_8153BF8
-
- thumb_func_start sub_8153C30
-sub_8153C30: @ 8153C30
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- lsrs r0, 31
- adds r0, r2, r0
- asrs r1, r0, 1
- adds r0, r1, 0
- cmp r1, 0
- bge _08153C4C
- adds r0, r1, 0x3
-_08153C4C:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r2, 0x2
- ble _08153C96
- cmp r0, 0x2
- bgt _08153C62
- cmp r0, 0x1
- bge _08153C66
-_08153C62:
- movs r0, 0x1
- b _08153C68
-_08153C66:
- movs r0, 0xFF
-_08153C68:
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _08153C96
- movs r0, 0
- strh r0, [r4, 0x2E]
- bl sub_81533B4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_8154608
- strh r0, [r4, 0x20]
-_08153C96:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8153C30
-
- thumb_func_start sub_8153CA0
-sub_8153CA0: @ 8153CA0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xD
- bl __divsi3
- lsls r0, 16
- asrs r1, r0, 16
- adds r0, r1, 0
- cmp r1, 0
- bge _08153CC0
- adds r0, r1, 0x3
-_08153CC0:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r1, 0xD
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _08153CE4
- cmp r4, 0
- beq _08153CE4
- movs r0, 0xCD
- bl PlaySE
-_08153CE4:
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x67
- ble _08153CF2
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r4, 0
-_08153CF2:
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_8153DA8
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8153CA0
-
- thumb_func_start sub_8153D08
-sub_8153D08: @ 8153D08
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r4, r5
- bcs _08153D3A
- ldr r6, _08153D40 @ =gUnknown_203F3E4
-_08153D16:
- lsls r0, r4, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08153D44 @ =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08153D30
- bl DestroySpriteAndFreeResources
-_08153D30:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08153D16
-_08153D3A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08153D40: .4byte gUnknown_203F3E4
-_08153D44: .4byte gSprites
- thumb_func_end sub_8153D08
-
- thumb_func_start sub_8153D48
-sub_8153D48: @ 8153D48
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _08153D78 @ =gSprites
- ldr r2, _08153D7C @ =gUnknown_203F3E4
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- ldrh r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r3, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r3
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .align 2, 0
-_08153D78: .4byte gSprites
-_08153D7C: .4byte gUnknown_203F3E4
- thumb_func_end sub_8153D48
-
- thumb_func_start sub_8153D80
-sub_8153D80: @ 8153D80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0
- cmp r4, r5
- bcs _08153DA2
-_08153D90:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8153D48
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r5
- bcc _08153D90
-_08153DA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8153D80
-
- thumb_func_start sub_8153DA8
-sub_8153DA8: @ 8153DA8
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08153DCC @ =gUnknown_203F3E4
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, _08153DD0 @ =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_08153DCC: .4byte gUnknown_203F3E4
-_08153DD0: .4byte gSprites
- thumb_func_end sub_8153DA8
-
- thumb_func_start nullsub_97
-nullsub_97: @ 8153DD4
- bx lr
- thumb_func_end nullsub_97
-
- thumb_func_start sub_8153DD8
-sub_8153DD8: @ 8153DD8
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _08153E20 @ =gSprites
- mov r12, r0
- movs r6, 0
- ldr r5, _08153E24 @ =gUnknown_203F43C
-_08153DE4:
- ldr r3, [r5]
- lsls r1, r4, 1
- adds r0, r3, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- lsls r0, r4, 4
- adds r0, 0x30
- strh r0, [r1, 0x20]
- lsls r2, r4, 3
- movs r7, 0x8
- negs r7, r7
- adds r0, r7, 0
- subs r0, r2
- strh r0, [r1, 0x22]
- adds r3, 0xC
- adds r3, r4
- strb r6, [r3]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _08153DE4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08153E20: .4byte gSprites
-_08153E24: .4byte gUnknown_203F43C
- thumb_func_end sub_8153DD8
-
- thumb_func_start sub_8153E28
-sub_8153E28: @ 8153E28
- push {r4-r6,lr}
- sub sp, 0x28
- movs r4, 0xC0
- lsls r4, 1
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, _08153EC8 @ =gUnknown_8478DA0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, _08153ECC @ =sDodrioBerryStatusGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _08153EB8
- str r6, [sp, 0x18]
- add r5, sp, 0x18
- movs r0, 0x80
- lsls r0, 9
- orrs r0, r4
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, _08153ED0 @ =gUnknown_8478DA8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, _08153ED4 @ =gUnknown_203F43C
- movs r0, 0x40
- bl AllocZeroed
- str r0, [r4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r4, 0
-_08153E7E:
- lsls r1, r4, 20
- movs r0, 0xC0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r0, r4, 3
- movs r3, 0x8
- negs r3, r3
- adds r2, r3, 0
- subs r2, r0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- movs r3, 0
- bl CreateSprite
- ldr r1, _08153ED4 @ =gUnknown_203F43C
- ldr r1, [r1]
- lsls r2, r4, 1
- adds r1, 0x2A
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _08153E7E
-_08153EB8:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08153EC8: .4byte gUnknown_8478DA0
-_08153ECC: .4byte sDodrioBerryStatusGfx
-_08153ED0: .4byte gUnknown_8478DA8
-_08153ED4: .4byte gUnknown_203F43C
- thumb_func_end sub_8153E28
-
- thumb_func_start sub_8153ED8
-sub_8153ED8: @ 8153ED8
- push {r4,r5,lr}
- movs r4, 0
-_08153EDC:
- ldr r5, _08153F14 @ =gUnknown_203F43C
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08153F18 @ =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08153EFA
- bl DestroySpriteAndFreeResources
-_08153EFA:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _08153EDC
- ldr r0, [r5]
- bl Free
- movs r0, 0
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08153F14: .4byte gUnknown_203F43C
-_08153F18: .4byte gSprites
- thumb_func_end sub_8153ED8
-
- thumb_func_start sub_8153F1C
-sub_8153F1C: @ 8153F1C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r3, 0
- movs r6, 0
- ldr r0, _08153FAC @ =gUnknown_203F43C
- mov r9, r0
-_08153F2E:
- mov r7, r9
- ldr r2, [r7]
- lsls r5, r6, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r5
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08153FB0 @ =gSprites
- adds r4, r0, r1
- adds r0, r2, 0
- adds r0, 0x16
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- adds r0, 0xC
- adds r2, r0, r6
- ldrb r1, [r2]
- cmp r1, 0
- beq _08153F64
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- beq _08153F9A
-_08153F64:
- movs r3, 0x1
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r0, 0x8
- bne _08153F8A
- cmp r1, 0
- bne _08153F9A
- strb r3, [r2]
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0x16
- adds r0, r5
- ldr r1, _08153FB4 @ =0x0000fff0
- strh r1, [r0]
- movs r0, 0x1E
- str r3, [sp]
- bl PlaySE
- ldr r3, [sp]
-_08153F8A:
- mov r7, r9
- ldr r0, [r7]
- adds r0, 0x16
- adds r0, r5
- ldrh r0, [r0]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_08153F9A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x9
- bls _08153F2E
- cmp r3, 0
- bne _08153FB8
- movs r0, 0x1
- b _08153FBA
- .align 2, 0
-_08153FAC: .4byte gUnknown_203F43C
-_08153FB0: .4byte gSprites
-_08153FB4: .4byte 0x0000fff0
-_08153FB8:
- movs r0, 0
-_08153FBA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8153F1C
-
- thumb_func_start sub_8153FC8
-sub_8153FC8: @ 8153FC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _08154004
- movs r4, 0
-_08153FD4:
- ldr r0, _08153FFC @ =gUnknown_203F43C
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08154000 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _08153FD4
- b _081540CE
- .align 2, 0
-_08153FFC: .4byte gUnknown_203F43C
-_08154000: .4byte gSprites
-_08154004:
- movs r4, 0
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- bge _081540CA
- ldr r6, _08154034 @ =gSprites
-_08154010:
- cmp r5, 0x6
- bls _08154078
- ldr r0, _08154038 @ =gUnknown_203F43C
- ldr r2, [r0]
- ldr r1, _0815403C @ =0x0000fffa
- adds r0, r1, 0
- ldrh r1, [r2, 0x3E]
- adds r0, r1
- adds r0, r5
- movs r1, 0
- strh r0, [r2, 0x3E]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bls _08154040
- strh r1, [r2, 0x3E]
- b _08154092
- .align 2, 0
-_08154034: .4byte gSprites
-_08154038: .4byte gUnknown_203F43C
-_0815403C: .4byte 0x0000fffa
-_08154040:
- cmp r0, 0xA
- bls _0815405E
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
- b _08154092
-_0815405E:
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
- b _08154092
-_08154078:
- ldr r0, _081540A4 @ =gUnknown_203F43C
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
-_08154092:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xA
- subs r0, r5
- cmp r4, r0
- blt _08154010
- b _081540CA
- .align 2, 0
-_081540A4: .4byte gUnknown_203F43C
-_081540A8:
- ldr r0, _081540D4 @ =gUnknown_203F43C
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081540D8 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_081540CA:
- cmp r4, 0x9
- bls _081540A8
-_081540CE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081540D4: .4byte gUnknown_203F43C
-_081540D8: .4byte gSprites
- thumb_func_end sub_8153FC8
-
- thumb_func_start sub_81540DC
-sub_81540DC: @ 81540DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, _08154120 @ =gSprites
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r6, 0x5
- negs r6, r6
- ldr r5, _08154124 @ =gUnknown_203F43C
-_081540F2:
- ldr r0, [r5]
- lsls r1, r3, 1
- adds r0, 0x2A
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x9
- bls _081540F2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154120: .4byte gSprites
-_08154124: .4byte gUnknown_203F43C
- thumb_func_end sub_81540DC
-
- thumb_func_start sub_8154128
-sub_8154128: @ 8154128
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0x90
- lsls r5, 3
- adds r0, r5, 0
- bl AllocZeroed
- adds r4, r0, 0
- ldr r0, _08154174 @ =gUnknown_8478DCC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r0, _08154178 @ =sDodrioBerrySpritesGfx
- adds r1, r4, 0
- bl LZ77UnCompWram
- cmp r4, 0
- beq _0815415E
- str r4, [sp]
- movs r0, 0x80
- lsls r0, 10
- orrs r0, r5
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
-_0815415E:
- add r0, sp, 0x8
- bl LoadSpritePalette
- adds r0, r4, 0
- bl Free
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08154174: .4byte gUnknown_8478DCC
-_08154178: .4byte sDodrioBerrySpritesGfx
- thumb_func_end sub_8154128
-
- thumb_func_start sub_815417C
-sub_815417C: @ 815417C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- mov r1, sp
- ldr r0, _0815420C @ =gUnknown_8478DDC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r2, sp, 0x18
- adds r1, r2, 0
- ldr r0, _08154210 @ =gUnknown_8478DF4
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- movs r5, 0
- mov r9, r2
-_081541A4:
- movs r0, 0x4
- bl AllocZeroed
- ldr r1, _08154214 @ =gUnknown_203F400
- lsls r4, r5, 2
- adds r4, r1
- str r0, [r4]
- lsls r0, r5, 3
- lsls r1, r5, 4
- adds r1, r0
- mov r0, sp
- movs r2, 0x8
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_81542EC
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _081541A4
- movs r5, 0
- ldr r7, _08154218 @ =gUnknown_203F42C
- ldr r4, _0815421C @ =sUnknown_8478DD4
- mov r8, r4
-_081541E4:
- movs r0, 0x4
- bl AllocZeroed
- lsls r1, r5, 2
- adds r4, r1, r7
- str r0, [r4]
- adds r6, r1, 0
- cmp r5, 0x3
- bne _08154220
- mov r0, r8
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- mov r0, r9
- movs r2, 0x39
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7, 0xC]
- b _08154234
- .align 2, 0
-_0815420C: .4byte gUnknown_8478DDC
-_08154210: .4byte gUnknown_8478DF4
-_08154214: .4byte gUnknown_203F400
-_08154218: .4byte gUnknown_203F42C
-_0815421C: .4byte sUnknown_8478DD4
-_08154220:
- lsls r0, r5, 1
- add r0, r8
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r0, r9
- movs r2, 0x3C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
-_08154234:
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r6, r7
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08154270 @ =gSprites
- adds r0, r1
- adds r1, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081541E4
- movs r0, 0x1
- bl sub_8154324
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154270: .4byte gSprites
- thumb_func_end sub_815417C
-
- thumb_func_start sub_8154274
-sub_8154274: @ 8154274
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _081542E0 @ =gUnknown_203F400
-_0815427A:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081542E4 @ =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08154294
- bl DestroySprite
-_08154294:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xA
- bls _0815427A
- movs r5, 0
- ldr r6, _081542E8 @ =gUnknown_203F42C
-_081542AC:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081542E4 @ =gSprites
- adds r0, r1
- cmp r0, 0
- beq _081542C6
- bl DestroySprite
-_081542C6:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _081542AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081542E0: .4byte gUnknown_203F400
-_081542E4: .4byte gSprites
-_081542E8: .4byte gUnknown_203F42C
- thumb_func_end sub_8154274
-
- thumb_func_start sub_81542EC
-sub_81542EC: @ 81542EC
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0815431C @ =gSprites
- ldr r2, _08154320 @ =gUnknown_203F400
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .align 2, 0
-_0815431C: .4byte gSprites
-_08154320: .4byte gUnknown_203F400
- thumb_func_end sub_81542EC
-
- thumb_func_start sub_8154324
-sub_8154324: @ 8154324
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, _08154368 @ =gSprites
- ldr r6, _0815436C @ =gUnknown_203F42C
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_0815433A:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0815433A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154368: .4byte gSprites
-_0815436C: .4byte gUnknown_203F42C
- thumb_func_end sub_8154324
-
- thumb_func_start sub_8154370
-sub_8154370: @ 8154370
- lsls r0, 24
- lsls r1, 24
- ldr r3, _08154390 @ =gSprites
- ldr r2, _08154394 @ =gUnknown_203F400
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsrs r1, 21
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08154390: .4byte gSprites
-_08154394: .4byte gUnknown_203F400
- thumb_func_end sub_8154370
-
- thumb_func_start sub_8154398
-sub_8154398: @ 8154398
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _081543BC @ =gUnknown_203F400
- lsrs r0, 14
- adds r0, r2
- ldr r0, [r0]
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, _081543C0 @ =gSprites
- adds r0, r2
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_081543BC: .4byte gUnknown_203F400
-_081543C0: .4byte gSprites
- thumb_func_end sub_8154398
-
- thumb_func_start sub_81543C4
-sub_81543C4: @ 81543C4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081543E4 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0x32
- strh r1, [r2, 0x20]
- movs r0, 0x32
- strh r0, [r2, 0x22]
- bx lr
- .align 2, 0
-_081543E4: .4byte gSprites
- thumb_func_end sub_81543C4
-
- thumb_func_start sub_81543E8
-sub_81543E8: @ 81543E8
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r0, 0x42
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _0815442A
- movs r3, 0
- ldr r7, _08154430 @ =gUnknown_8478E0C
- ldr r6, _08154434 @ =gUnknown_203F3F8
- movs r5, 0
-_081543FE:
- lsls r0, r3, 2
- adds r2, r0, r6
- ldr r1, [r2]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
- adds r1, r3, r7
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1]
- cmp r0, r1
- bls _08154420
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- strh r0, [r4, 0x20]
- ldr r0, [r2]
- strh r5, [r0, 0x2]
-_08154420:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _081543FE
-_0815442A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154430: .4byte gUnknown_8478E0C
-_08154434: .4byte gUnknown_203F3F8
- thumb_func_end sub_81543E8
-
- thumb_func_start sub_8154438
-sub_8154438: @ 8154438
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x28
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4, 0
- bl AllocZeroed
- adds r6, r0, 0
- ldr r0, _081544DC @ =gUnknown_8478E18
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, _081544E0 @ =sDodrioBerryPlatformGfx
- adds r1, r6, 0
- bl LZ77UnCompWram
- cmp r6, 0
- beq _081544C6
- str r6, [sp, 0x18]
- add r0, sp, 0x18
- movs r1, 0xA0
- lsls r1, 11
- orrs r1, r4
- str r1, [r0, 0x4]
- mov r2, sp
- ldr r1, _081544E4 @ =gUnknown_8478E20
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- bl LoadSpriteSheet
- add r0, sp, 0x20
- bl LoadSpritePalette
- movs r5, 0
- ldr r7, _081544E8 @ =gUnknown_8478E0E
- adds r0, r7, 0x2
- mov r9, r0
- ldr r1, _081544EC @ =gUnknown_203F3F8
- mov r8, r1
-_08154492:
- movs r0, 0x4
- bl AllocZeroed
- lsls r2, r5, 2
- mov r3, r8
- adds r4, r2, r3
- str r0, [r4]
- adds r0, r2, r7
- movs r3, 0
- ldrsh r1, [r0, r3]
- add r2, r9
- movs r0, 0
- ldrsh r2, [r2, r0]
- mov r0, sp
- movs r3, 0x4
- bl CreateSprite
- ldr r1, [r4]
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _08154492
-_081544C6:
- adds r0, r6, 0
- bl Free
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081544DC: .4byte gUnknown_8478E18
-_081544E0: .4byte sDodrioBerryPlatformGfx
-_081544E4: .4byte gUnknown_8478E20
-_081544E8: .4byte gUnknown_8478E0E
-_081544EC: .4byte gUnknown_203F3F8
- thumb_func_end sub_8154438
-
- thumb_func_start sub_81544F0
-sub_81544F0: @ 81544F0
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, _08154534 @ =gUnknown_203F3F8
- mov r12, r0
- ldr r4, _08154538 @ =gUnknown_8478E0E
- adds r7, r4, 0x2
- ldr r6, _0815453C @ =gSprites
- movs r5, 0x1
-_08154500:
- lsls r2, r3, 2
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r1, 0
- adds r0, 0x42
- strh r5, [r0]
- adds r0, r2, r4
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- adds r2, r7
- ldrh r0, [r2]
- strh r0, [r1, 0x22]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _08154500
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154534: .4byte gUnknown_203F3F8
-_08154538: .4byte gUnknown_8478E0E
-_0815453C: .4byte gSprites
- thumb_func_end sub_81544F0
-
- thumb_func_start sub_8154540
-sub_8154540: @ 8154540
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _08154570 @ =gUnknown_203F3F8
- ldr r4, _08154574 @ =gSprites
- movs r3, 0
-_0815454A:
- lsls r0, r2, 2
- adds r0, r5
- ldr r0, [r0]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x42
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _0815454A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08154570: .4byte gUnknown_203F3F8
-_08154574: .4byte gSprites
- thumb_func_end sub_8154540
-
- thumb_func_start sub_8154578
-sub_8154578: @ 8154578
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _081545B4 @ =gUnknown_203F3F8
-_0815457E:
- lsls r0, r5, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081545B8 @ =gSprites
- adds r0, r1
- cmp r0, 0
- beq _08154598
- bl DestroySprite
-_08154598:
- ldr r0, [r4]
- bl Free
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _0815457E
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081545B4: .4byte gUnknown_203F3F8
-_081545B8: .4byte gSprites
- thumb_func_end sub_8154578
-
- thumb_func_start sub_81545BC
-sub_81545BC: @ 81545BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldr r7, _08154600 @ =gSprites
- ldr r6, _08154604 @ =gUnknown_203F3F8
- movs r1, 0x1
- ands r0, r1
- lsls r4, r0, 2
- movs r5, 0x5
- negs r5, r5
-_081545D2:
- lsls r0, r3, 2
- adds r0, r6
- ldr r0, [r0]
- ldrh r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r4
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- bls _081545D2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154600: .4byte gSprites
-_08154604: .4byte gUnknown_203F3F8
- thumb_func_end sub_81545BC
-
- thumb_func_start sub_8154608
-sub_8154608: @ 8154608
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0
- subs r0, r1, 0x1
- cmp r0, 0x4
- bhi _081546BA
- lsls r0, 2
- ldr r1, _08154624 @ =_08154628
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08154624: .4byte _08154628
- .align 2, 0
-_08154628:
- .4byte _081546A8
- .4byte _0815463C
- .4byte _08154646
- .4byte _0815465A
- .4byte _08154682
-_0815463C:
- cmp r2, 0
- beq _08154672
- cmp r2, 0x1
- bne _081546BA
- b _08154676
-_08154646:
- cmp r2, 0x1
- beq _081546AC
- cmp r2, 0x1
- bgt _08154654
- cmp r2, 0
- beq _081546A8
- b _081546BA
-_08154654:
- cmp r2, 0x2
- bne _081546BA
- b _081546B8
-_0815465A:
- cmp r2, 0x1
- beq _08154676
- cmp r2, 0x1
- bgt _08154668
- cmp r2, 0
- beq _08154672
- b _081546BA
-_08154668:
- cmp r2, 0x2
- beq _0815467A
- cmp r2, 0x3
- beq _0815467E
- b _081546BA
-_08154672:
- movs r3, 0xC
- b _081546BA
-_08154676:
- movs r3, 0x12
- b _081546BA
-_0815467A:
- movs r3, 0x18
- b _081546BA
-_0815467E:
- movs r3, 0x6
- b _081546BA
-_08154682:
- cmp r2, 0x4
- bhi _081546BA
- lsls r0, r2, 2
- ldr r1, _08154690 @ =_08154694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08154690: .4byte _08154694
- .align 2, 0
-_08154694:
- .4byte _081546A8
- .4byte _081546AC
- .4byte _081546B0
- .4byte _081546B4
- .4byte _081546B8
-_081546A8:
- movs r3, 0xF
- b _081546BA
-_081546AC:
- movs r3, 0x15
- b _081546BA
-_081546B0:
- movs r3, 0x1B
- b _081546BA
-_081546B4:
- movs r3, 0x3
- b _081546BA
-_081546B8:
- movs r3, 0x9
-_081546BA:
- lsls r0, r3, 3
- pop {r1}
- bx r1
- thumb_func_end sub_8154608
-
- thumb_func_start sub_81546C0
-sub_81546C0: @ 81546C0
- push {r4,lr}
- movs r4, 0
-_081546C4:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81542EC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8154370
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _081546C4
- movs r0, 0
- bl sub_81540DC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81546C0
-
- thumb_func_start sub_81546EC
-sub_81546EC: @ 81546EC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl GetUserFrameGraphicsInfo
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r0, 0
- movs r3, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl GetUserFrameGraphicsInfo
- ldr r0, [r0, 0x4]
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81546EC
-
- thumb_func_start sub_8154720
-sub_8154720: @ 8154720
- push {lr}
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xB0
- bl TextWindow_SetStdFrame0_WithPal
- pop {r0}
- bx r0
- thumb_func_end sub_8154720
-
- thumb_func_start sub_8154730
-sub_8154730: @ 8154730
- ldr r3, _08154760 @ =gUnknown_203F440
- ldr r0, [r3]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, _08154764 @ =0x00003014
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x8
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_08154760: .4byte gUnknown_203F440
-_08154764: .4byte 0x00003014
- thumb_func_end sub_8154730
-
- thumb_func_start sub_8154768
-sub_8154768: @ 8154768
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xA
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x1
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x2
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x3
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x4
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x6
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x7
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x8
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x9
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8154768
-
- thumb_func_start sub_8154868
-sub_8154868: @ 8154868
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r6, 0xB
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r5, 0x1
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xA
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xB
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xC
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xD
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x2]
- str r5, [sp]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0xF
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x10
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x1]
- ldrb r3, [r4, 0x4]
- ldrb r0, [r4, 0x2]
- adds r3, r0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x3]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x11
- bl FillBgTilemapBufferRect
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x1]
- adds r2, r0
- lsls r2, 24
- lsrs r2, 24
- ldrb r3, [r4, 0x4]
- ldrb r4, [r4, 0x2]
- adds r3, r4
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- movs r1, 0x12
- bl FillBgTilemapBufferRect
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8154868
-
- thumb_func_start sub_8154968
-sub_8154968: @ 8154968
- push {r4,lr}
- ldr r4, _081549B0 @ =gUnknown_203F440
- str r0, [r4]
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r3, _081549B4 @ =0x00003014
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _081549B8 @ =0x00003018
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r3, 0xC
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0xC
- adds r0, r1
- strb r2, [r0]
- ldr r0, _081549BC @ =sub_8154A08
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- ldr r2, _081549C0 @ =0x00003004
- adds r1, r2
- strb r0, [r1]
- ldr r0, _081549C4 @ =sub_8154A2C
- bl sub_8155E24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081549B0: .4byte gUnknown_203F440
-_081549B4: .4byte 0x00003014
-_081549B8: .4byte 0x00003018
-_081549BC: .4byte sub_8154A08
-_081549C0: .4byte 0x00003004
-_081549C4: .4byte sub_8154A2C
- thumb_func_end sub_8154968
-
- thumb_func_start sub_81549C8
-sub_81549C8: @ 81549C8
- push {lr}
- bl FreeAllWindowBuffers
- pop {r0}
- bx r0
- thumb_func_end sub_81549C8
-
- thumb_func_start sub_81549D4
-sub_81549D4: @ 81549D4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, _08154A04 @ =gUnknown_8478EC4
- adds r7, r5, 0x4
-_081549E0:
- lsls r1, r4, 3
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r6
- bne _081549F2
- adds r0, r1, r7
- ldr r0, [r0]
- bl sub_8155E24
-_081549F2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _081549E0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154A04: .4byte gUnknown_8478EC4
- thumb_func_end sub_81549D4
-
- thumb_func_start sub_8154A08
-sub_8154A08: @ 8154A08
- push {lr}
- ldr r0, _08154A28 @ =gUnknown_203F440
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08154A22
- bl sub_8155E54
- bl _call_via_r0
-_08154A22:
- pop {r0}
- bx r0
- .align 2, 0
-_08154A28: .4byte gUnknown_203F440
- thumb_func_end sub_8154A08
-
- thumb_func_start sub_8154A2C
-sub_8154A2C: @ 8154A2C
- push {lr}
- ldr r0, _08154A48 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r2, _08154A4C @ =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _08154B24
- lsls r0, 2
- ldr r1, _08154A50 @ =_08154A54
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08154A48: .4byte gUnknown_203F440
-_08154A4C: .4byte 0x00003014
-_08154A50: .4byte _08154A54
- .align 2, 0
-_08154A54:
- .4byte _08154A68
- .4byte _08154A6E
- .4byte _08154A88
- .4byte _08154ACC
- .4byte _08154AF8
-_08154A68:
- bl sub_8155EA0
- b _08154B08
-_08154A6E:
- bl sub_8155FE0
- cmp r0, 0x1
- bne _08154B2E
- ldr r0, _08154A80 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r2, _08154A84 @ =0x00003014
- adds r1, r2
- b _08154B10
- .align 2, 0
-_08154A80: .4byte gUnknown_203F440
-_08154A84: .4byte 0x00003014
-_08154A88:
- ldr r1, _08154AC0 @ =sDodrioBerryBgTilemap1
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, _08154AC4 @ =sDodrioBerryBgTilemap2Left
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- ldr r1, _08154AC8 @ =sDodrioBerryBgTilemap2Right
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- b _08154B08
- .align 2, 0
-_08154AC0: .4byte sDodrioBerryBgTilemap1
-_08154AC4: .4byte sDodrioBerryBgTilemap2Left
-_08154AC8: .4byte sDodrioBerryBgTilemap2Right
-_08154ACC:
- movs r0, 0
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- ldr r0, _08154AF0 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r2, _08154AF4 @ =0x00003014
- adds r1, r2
- b _08154B10
- .align 2, 0
-_08154AF0: .4byte gUnknown_203F440
-_08154AF4: .4byte 0x00003014
-_08154AF8:
- ldr r0, _08154B18 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_81546EC
- bl sub_8154720
-_08154B08:
- ldr r0, _08154B1C @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08154B20 @ =0x00003014
- adds r1, r0
-_08154B10:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08154B2E
- .align 2, 0
-_08154B18: .4byte gSaveBlock2Ptr
-_08154B1C: .4byte gUnknown_203F440
-_08154B20: .4byte 0x00003014
-_08154B24:
- movs r2, 0xC0
- lsls r2, 6
- adds r1, r2
- movs r0, 0x1
- str r0, [r1]
-_08154B2E:
- pop {r0}
- bx r0
- thumb_func_end sub_8154A2C
-
- thumb_func_start sub_8154B34
-sub_8154B34: @ 8154B34
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, _08154B74 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r2, _08154B78 @ =0x00003014
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08154B7C
- cmp r0, 0x1
- bne _08154B54
- b _08154CE0
-_08154B54:
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB4
- bhi _08154B62
- b _08154D82
-_08154B62:
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcc _08154B72
- b _08154D5A
-_08154B72:
- b _08154D34
- .align 2, 0
-_08154B74: .4byte gUnknown_203F440
-_08154B78: .4byte 0x00003014
-_08154B7C:
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08154CB8 @ =sUnknown_8478E80
- subs r0, r7, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- ldr r2, _08154CBC @ =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r2
- ldr r1, _08154CC0 @ =0x00ffffff
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 19
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, _08154CC4 @ =0xffff00ff
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _08154CC8 @ =0x0000ffff
- ands r0, r1
- movs r1, 0x98
- lsls r1, 13
- orrs r0, r1
- str r0, [sp, 0x10]
- movs r6, 0
- cmp r6, r7
- bcs _08154CAC
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x18]
- mov r10, r4
- ldr r0, _08154CCC @ =0x00003008
- mov r9, r0
-_08154BD0:
- movs r1, 0
- mov r8, r1
- adds r0, r6, 0
- bl sub_81537AC
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_81533C4
- adds r1, r0, 0
- movs r0, 0
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- movs r1, 0x38
- subs r1, r0
- lsrs r1, 1
- str r1, [sp, 0x14]
- ldrb r0, [r5]
- lsls r0, 8
- ldr r2, _08154CC4 @ =0xffff00ff
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- ldrb r2, [r5, 0x1]
- lsls r2, 16
- ldr r0, _08154CD0 @ =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- add r0, sp, 0xC
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- adds r1, r6
- strb r0, [r1]
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08154C4E
- movs r0, 0x2
- mov r8, r0
-_08154C4E:
- adds r0, r4, 0
- bl sub_81533C4
- adds r4, r0, 0
- mov r1, r10
- ldr r0, [r1]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- ldr r3, [sp, 0x14]
- lsls r2, r3, 24
- lsrs r2, 24
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- ldr r3, _08154CD4 @ =sUnknown_8478E38
- adds r1, r3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0
- movs r3, 0x1
- bl AddTextPrinterParameterized3
- mov r2, r10
- ldr r0, [r2]
- add r0, r9
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r3, [sp, 0x18]
- ldrh r0, [r3, 0x6]
- adds r0, 0xE
- strh r0, [r3, 0x6]
- add r0, sp, 0xC
- bl sub_8154868
- adds r5, 0x4
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154BD0
-_08154CAC:
- ldr r0, _08154CD8 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08154CDC @ =0x00003014
- adds r1, r0
- b _08154D1E
- .align 2, 0
-_08154CB8: .4byte sUnknown_8478E80
-_08154CBC: .4byte 0xffffff00
-_08154CC0: .4byte 0x00ffffff
-_08154CC4: .4byte 0xffff00ff
-_08154CC8: .4byte 0x0000ffff
-_08154CCC: .4byte 0x00003008
-_08154CD0: .4byte 0xff00ffff
-_08154CD4: .4byte sUnknown_8478E38
-_08154CD8: .4byte gUnknown_203F440
-_08154CDC: .4byte 0x00003014
-_08154CE0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08154D82
- bl sub_81533B4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- cmp r6, r7
- bcs _08154D10
-_08154CF8:
- ldr r0, [r4]
- ldr r1, _08154D28 @ =0x00003008
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154CF8
-_08154D10:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08154D2C @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r2, _08154D30 @ =0x00003014
- adds r1, r2
-_08154D1E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08154D82
- .align 2, 0
-_08154D28: .4byte 0x00003008
-_08154D2C: .4byte gUnknown_203F440
-_08154D30: .4byte 0x00003014
-_08154D34:
- ldr r5, _08154D94 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r4, _08154D98 @ =0x00003008
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- adds r0, r6
- ldrb r0, [r0]
- bl RemoveWindow
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r7
- bcc _08154D34
-_08154D5A:
- 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
- ldr r0, _08154D94 @ =gUnknown_203F440
- ldr r0, [r0]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_08154D82:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154D94: .4byte gUnknown_203F440
-_08154D98: .4byte 0x00003008
- thumb_func_end sub_8154B34
-
- thumb_func_start sub_8154D9C
-sub_8154D9C: @ 8154D9C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- lsls r0, 24
- movs r1, 0
- mov r8, r1
- movs r6, 0
- lsrs r7, r0, 24
- add r4, sp, 0x2C
- ldr r1, _08154F64 @ =gUnknown_8478F14
- adds r0, r4, 0
- movs r2, 0x5
- bl memcpy
- movs r5, 0
- cmp r5, r7
- bcs _08154DEC
- add r4, sp, 0x34
-_08154DC6:
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- strb r5, [r0]
- add r0, sp, 0x5C
- adds r1, r5, 0
- bl sub_81536A0
- lsls r2, r5, 3
- adds r2, r4, r2
- ldr r0, [sp, 0x5C]
- ldr r1, [sp, 0x60]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154DC6
-_08154DEC:
- bl sub_81534AC
- cmp r0, 0
- beq _08154E22
-_08154DF4:
- movs r5, 0
- cmp r5, r7
- bcs _08154E1C
- add r2, sp, 0x34
- add r1, sp, 0x2C
-_08154DFE:
- lsls r0, r5, 3
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, r8
- bne _08154E12
- adds r0, r1, r6
- strb r5, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08154E12:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154DFE
-_08154E1C:
- mov r8, r6
- cmp r6, r7
- bcc _08154DF4
-_08154E22:
- movs r5, 0
- ldr r4, _08154F68 @ =gText_SpacePoints
- cmp r5, r7
- bcs _08154E48
- add r1, sp, 0x34
- add r6, sp, 0x38
- subs r3, r7, 0x1
-_08154E30:
- lsls r2, r5, 3
- adds r0, r6, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08154E3E
- adds r0, r1, r2
- strb r3, [r0]
-_08154E3E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154E30
-_08154E48:
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- movs r1, 0xD8
- subs r1, r0
- str r1, [sp, 0x64]
- movs r5, 0
- cmp r5, r7
- bcs _08154F52
- mov r2, sp
- adds r2, 0x34
- str r2, [sp, 0x68]
- ldr r3, _08154F6C @ =0x00003009
- mov r10, r3
- adds r0, r1, 0
- subs r0, 0x23
- lsls r0, 24
- str r0, [sp, 0x6C]
-_08154E70:
- movs r4, 0
- mov r8, r4
- mov r0, sp
- adds r0, r5
- adds r0, 0x2C
- ldrb r0, [r0]
- adds r4, r0, 0
- lsls r1, r4, 3
- add r0, sp, 0x38
- adds r0, r1
- ldr r0, [r0]
- mov r9, r0
- ldr r2, _08154F70 @ =gUnknown_203F440
- ldr r0, [r2]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, _08154F74 @ =sUnknown_8478E94
- ldr r3, [sp, 0x68]
- adds r1, r3, r1
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r3, _08154F78 @ =sUnknown_8478EBA
- lsls r1, r5, 1
- adds r1, r3
- ldrb r6, [r1]
- str r6, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r3, r8
- str r3, [sp, 0x8]
- movs r1, 0
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08154EC8
- movs r0, 0x2
- mov r8, r0
-_08154EC8:
- adds r0, r4, 0
- bl sub_81533C4
- adds r3, r0, 0
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r8
- lsls r1, r2, 1
- add r1, r8
- ldr r2, _08154F7C @ =sUnknown_8478E38
- adds r1, r2
- str r1, [sp]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0
- movs r2, 0x1C
- adds r3, r6, 0
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- mov r1, r9
- movs r2, 0x1
- movs r3, 0x7
- bl ConvertIntToDecimalStringN
- movs r0, 0
- add r1, sp, 0xC
- adds r2, r4, 0
- bl GetStringWidth
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- str r6, [sp]
- movs r2, 0xFF
- str r2, [sp, 0x4]
- movs r3, 0
- str r3, [sp, 0x8]
- movs r1, 0
- add r2, sp, 0xC
- ldr r4, [sp, 0x6C]
- lsrs r3, r4, 24
- bl AddTextPrinterParameterized
- ldr r1, _08154F70 @ =gUnknown_203F440
- ldr r0, [r1]
- add r0, r10
- ldrb r0, [r0]
- ldr r2, [sp, 0x64]
- lsls r3, r2, 24
- str r6, [sp]
- movs r4, 0xFF
- str r4, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r2, _08154F68 @ =gText_SpacePoints
- lsrs r3, 24
- bl AddTextPrinterParameterized
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08154E70
-_08154F52:
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08154F64: .4byte gUnknown_8478F14
-_08154F68: .4byte gText_SpacePoints
-_08154F6C: .4byte 0x00003009
-_08154F70: .4byte gUnknown_203F440
-_08154F74: .4byte sUnknown_8478E94
-_08154F78: .4byte sUnknown_8478EBA
-_08154F7C: .4byte sUnknown_8478E38
- thumb_func_end sub_8154D9C
-
- thumb_func_start sub_8154F80
-sub_8154F80: @ 8154F80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8C
- bl sub_81533B4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x84]
- ldr r6, _08154FB0 @ =gUnknown_203F440
- ldr r1, [r6]
- ldr r2, _08154FB4 @ =0x00003014
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bls _08154FA6
- b _08155678
-_08154FA6:
- lsls r0, 2
- ldr r1, _08154FB8 @ =_08154FBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08154FB0: .4byte gUnknown_203F440
-_08154FB4: .4byte 0x00003014
-_08154FB8: .4byte _08154FBC
- .align 2, 0
-_08154FBC:
- .4byte _08154FEC
- .4byte _08155008
- .4byte _08155060
- .4byte _0815524C
- .4byte _08155298
- .4byte _081552DC
- .4byte _08155340
- .4byte _0815537C
- .4byte _081553C0
- .4byte _08155480
- .4byte _081555D8
- .4byte _0815562C
-_08154FEC:
- bl sub_81535B0
- ldr r0, _08155000 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155004 @ =0x0000301c
- adds r2, r1, r0
- movs r0, 0
- strh r0, [r2]
- b _0815565A
- .align 2, 0
-_08155000: .4byte gUnknown_203F440
-_08155004: .4byte 0x0000301c
-_08155008:
- ldr r6, _08155050 @ =sUnknown_8475674
- adds r0, r6, 0
- bl AddWindow
- ldr r4, _08155054 @ =gUnknown_203F440
- ldr r1, [r4]
- ldr r2, _08155058 @ =0x00003008
- mov r8, r2
- add r1, r8
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r6
- mov r9, r0
- bl AddWindow
- ldr r1, [r4]
- ldr r5, _0815505C @ =0x00003009
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- add r0, r8
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8154868
- mov r0, r9
- bl sub_8154868
- b _08155658
- .align 2, 0
-_08155050: .4byte sUnknown_8475674
-_08155054: .4byte gUnknown_203F440
-_08155058: .4byte 0x00003008
-_0815505C: .4byte 0x00003009
-_08155060:
- ldr r4, _081551A8 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r5, _081551AC @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _081551B0 @ =0x00003009
- mov r9, r1
- add r0, r9
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _081551B4 @ =gText_BerryPickingResults
- mov r8, r2
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- mov r1, r8
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x2
- str r1, [sp]
- movs r6, 0xFF
- str r6, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0
- mov r2, r8
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- add r0, r9
- ldrb r0, [r0]
- ldr r2, _081551B8 @ =gText_10P30P50P50P
- movs r1, 0x10
- str r1, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0
- movs r3, 0x44
- bl AddTextPrinterParameterized
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x84]
- cmp r9, r1
- bcc _081550DA
- b _08155214
-_081550DA:
- movs r5, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- cmp r9, r0
- bne _081550EA
- movs r5, 0x2
-_081550EA:
- mov r0, r9
- bl sub_81533C4
- adds r6, r0, 0
- ldr r0, _081551A8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081551B0 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- ldr r1, _081551BC @ =sUnknown_8478EB0
- mov r2, r9
- lsls r4, r2, 1
- adds r4, r1
- ldrb r3, [r4]
- lsls r1, r5, 1
- adds r1, r5
- ldr r2, _081551C0 @ =sUnknown_8478E38
- adds r1, r2
- str r1, [sp]
- movs r5, 0x1
- negs r5, r5
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0
- movs r2, 0x2
- bl AddTextPrinterParameterized3
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x88]
- mov r8, r4
- ldr r1, _081551C4 @ =sUnknown_8478EA8
- mov r10, r1
-_0815512E:
- mov r0, r9
- adds r1, r7, 0
- bl sub_8153404
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _081551C8 @ =0x0000270f
- bl sub_815379C
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- bl sub_81534F0
- ldr r1, _081551C8 @ =0x0000270f
- bl sub_815379C
- lsls r0, 16
- lsrs r6, r0, 16
- add r0, sp, 0xC
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- movs r0, 0
- add r1, sp, 0xC
- movs r2, 0x1
- negs r2, r2
- bl GetStringWidth
- adds r5, r0, 0
- cmp r6, r4
- bne _081551D0
- cmp r6, 0
- beq _081551D0
- ldr r0, _081551A8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081551B0 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- add r1, r10
- ldrb r2, [r1]
- subs r2, r5
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- ldrb r3, [r1]
- ldr r1, _081551CC @ =sUnknown_8478E38+0x3
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0
- bl AddTextPrinterParameterized3
- b _081551FA
- .align 2, 0
-_081551A8: .4byte gUnknown_203F440
-_081551AC: .4byte 0x00003008
-_081551B0: .4byte 0x00003009
-_081551B4: .4byte gText_BerryPickingResults
-_081551B8: .4byte gText_10P30P50P50P
-_081551BC: .4byte sUnknown_8478EB0
-_081551C0: .4byte sUnknown_8478E38
-_081551C4: .4byte sUnknown_8478EA8
-_081551C8: .4byte 0x0000270f
-_081551CC: .4byte sUnknown_8478E38+0x3
-_081551D0:
- ldr r0, _0815523C @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _08155240 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- lsls r1, r7, 1
- add r1, r10
- ldrb r3, [r1]
- subs r3, r5
- lsls r3, 24
- lsrs r3, 24
- mov r2, r8
- ldrb r1, [r2]
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
-_081551FA:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _0815512E
- ldr r1, [sp, 0x88]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, [sp, 0x84]
- cmp r9, r2
- bcs _08155214
- b _081550DA
-_08155214:
- ldr r4, _0815523C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155244 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08155240 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _08155248 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_0815523C: .4byte gUnknown_203F440
-_08155240: .4byte 0x00003009
-_08155244: .4byte 0x00003008
-_08155248: .4byte 0x00003014
-_0815524C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08155270
- ldr r4, _08155288 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815528C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _08155290 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08155270:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0
- bl sub_8154324
- ldr r0, _08155288 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155294 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_08155288: .4byte gUnknown_203F440
-_0815528C: .4byte 0x00003008
-_08155290: .4byte 0x00003009
-_08155294: .4byte 0x00003014
-_08155298:
- ldr r4, _081552D0 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081552D4 @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081552B0
- b _081556C8
-_081552B0:
- ldr r0, _081552D8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081552BE
- b _081556C8
-_081552BE:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_8154324
- b _08155658
- .align 2, 0
-_081552D0: .4byte gUnknown_203F440
-_081552D4: .4byte 0x0000301c
-_081552D8: .4byte gMain
-_081552DC:
- ldr r4, _08155330 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r5, _08155334 @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _08155338 @ =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r6, _0815533C @ =gText_AnnouncingRankings
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- adds r1, r6, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- b _08155658
- .align 2, 0
-_08155330: .4byte gUnknown_203F440
-_08155334: .4byte 0x00003008
-_08155338: .4byte 0x00003009
-_0815533C: .4byte gText_AnnouncingRankings
-_08155340:
- ldr r0, [sp, 0x84]
- bl sub_8154D9C
- ldr r4, _0815536C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155370 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _08155374 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _08155378 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_0815536C: .4byte gUnknown_203F440
-_08155370: .4byte 0x00003008
-_08155374: .4byte 0x00003009
-_08155378: .4byte 0x00003014
-_0815537C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081553A0
- ldr r4, _081553B0 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081553B4 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _081553B8 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_081553A0:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _081553B0 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _081553BC @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_081553B0: .4byte gUnknown_203F440
-_081553B4: .4byte 0x00003008
-_081553B8: .4byte 0x00003009
-_081553BC: .4byte 0x00003014
-_081553C0:
- ldr r4, _08155408 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815540C @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bhi _081553D8
- b _081556C8
-_081553D8:
- ldr r0, _08155410 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081553E6
- b _081556C8
-_081553E6:
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
- bl sub_81534AC
- ldr r1, _08155414 @ =0x00000bb7
- cmp r0, r1
- bhi _0815541C
- ldr r0, [r4]
- ldr r2, _08155418 @ =0x00003014
- adds r0, r2
- movs r1, 0x7F
- strb r1, [r0]
- b _0815542C
- .align 2, 0
-_08155408: .4byte gUnknown_203F440
-_0815540C: .4byte 0x0000301c
-_08155410: .4byte gMain
-_08155414: .4byte 0x00000bb7
-_08155418: .4byte 0x00003014
-_0815541C:
- bl StopMapMusic
- ldr r1, [r4]
- ldr r0, _08155470 @ =0x00003014
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0815542C:
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl FillBgTilemapBufferRect_Palette0
- ldr r5, _08155474 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r4, _08155478 @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r6, _0815547C @ =sUnknown_8475684
- adds r0, r6, 0
- bl AddWindow
- ldr r1, [r5]
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r6, 0
- bl sub_8154868
- b _081556C8
- .align 2, 0
-_08155470: .4byte 0x00003014
-_08155474: .4byte gUnknown_203F440
-_08155478: .4byte 0x00003009
-_0815547C: .4byte sUnknown_8475684
-_08155480:
- ldr r0, _08155558 @ =0x00000101
- bl PlayNewMapMusic
- ldr r4, _0815555C @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r6, _08155560 @ =0x00003008
- adds r0, r6
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r4]
- ldr r1, _08155564 @ =0x00003009
- mov r10, r1
- add r0, r10
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r5, _08155568 @ =gText_AnnouncingPrizes
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- adds r1, r5, 0
- bl GetStringWidth
- adds r1, r0, 0
- movs r0, 0xE0
- subs r0, r1
- lsrs r3, r0, 1
- ldr r0, [r4]
- adds r0, r6
- ldrb r0, [r0]
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0x2
- mov r9, r2
- str r2, [sp]
- movs r1, 0xFF
- mov r8, r1
- str r1, [sp, 0x4]
- movs r6, 0
- str r6, [sp, 0x8]
- movs r1, 0
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_8153390
- lsls r0, 16
- lsrs r0, 16
- add r5, sp, 0x70
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, _0815556C @ =gText_FirstPlacePrize
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- ldr r0, [r4]
- add r0, r10
- ldrb r0, [r0]
- mov r2, r9
- str r2, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r1, 0
- add r2, sp, 0xC
- movs r3, 0x8
- bl AddTextPrinterParameterized
- bl sub_815372C
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- cmp r4, 0
- beq _0815559E
- cmp r4, 0x3
- beq _0815559E
- bl DynamicPlaceholderTextUtil_Reset
- bl sub_8153390
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl CopyItemName
- movs r0, 0
- adds r1, r5, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- cmp r4, 0x2
- bne _08155574
- ldr r1, _08155570 @ =gText_CantHoldAnyMore
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- b _08155580
- .align 2, 0
-_08155558: .4byte 0x00000101
-_0815555C: .4byte gUnknown_203F440
-_08155560: .4byte 0x00003008
-_08155564: .4byte 0x00003009
-_08155568: .4byte gText_AnnouncingPrizes
-_0815556C: .4byte gText_FirstPlacePrize
-_08155570: .4byte gText_CantHoldAnyMore
-_08155574:
- cmp r6, 0x1
- bne _08155580
- ldr r1, _081555C4 @ =gText_FilledStorageSpace
- add r0, sp, 0xC
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
-_08155580:
- ldr r0, _081555C8 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _081555CC @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x28
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- add r2, sp, 0xC
- movs r3, 0x8
- bl AddTextPrinterParameterized
-_0815559E:
- ldr r4, _081555C8 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _081555D0 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- ldr r2, _081555CC @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _081555D4 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_081555C4: .4byte gText_FilledStorageSpace
-_081555C8: .4byte gUnknown_203F440
-_081555CC: .4byte 0x00003009
-_081555D0: .4byte 0x00003008
-_081555D4: .4byte 0x00003014
-_081555D8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081555FC
- ldr r4, _08155618 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815561C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldr r2, _08155620 @ =0x00003009
- adds r0, r2
- ldrb r0, [r0]
- bl PutWindowTilemap
-_081555FC:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _08155624 @ =0x00000137
- movs r1, 0x14
- movs r2, 0xA
- bl FadeOutAndFadeInNewMapMusic
- ldr r0, _08155618 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _08155628 @ =0x00003014
- adds r1, r0
- b _0815565E
- .align 2, 0
-_08155618: .4byte gUnknown_203F440
-_0815561C: .4byte 0x00003008
-_08155620: .4byte 0x00003009
-_08155624: .4byte 0x00000137
-_08155628: .4byte 0x00003014
-_0815562C:
- ldr r4, _08155668 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _0815566C @ =0x0000301c
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bls _081556C8
- ldr r0, _08155670 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081556C8
- movs r0, 0
- strh r0, [r2]
- movs r0, 0x5
- bl PlaySE
-_08155658:
- ldr r1, [r4]
-_0815565A:
- ldr r2, _08155674 @ =0x00003014
- adds r1, r2
-_0815565E:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081556C8
- .align 2, 0
-_08155668: .4byte gUnknown_203F440
-_0815566C: .4byte 0x0000301c
-_08155670: .4byte gMain
-_08155674: .4byte 0x00003014
-_08155678:
- ldr r5, _081556D8 @ =0x00003008
- adds r0, r1, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- ldr r4, _081556DC @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- 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
- ldr r0, [r6]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_081556C8:
- add sp, 0x8C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081556D8: .4byte 0x00003008
-_081556DC: .4byte 0x00003009
- thumb_func_end sub_8154F80
-
- thumb_func_start sub_81556E0
-sub_81556E0: @ 81556E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r1, _08155708 @ =gUnknown_203F440
- ldr r2, [r1]
- ldr r0, _0815570C @ =0x00003014
- mov r9, r0
- adds r0, r2, r0
- ldrb r7, [r0]
- mov r10, r1
- cmp r7, 0x1
- beq _0815579C
- cmp r7, 0x1
- bgt _08155710
- cmp r7, 0
- beq _0815571E
- b _081559EC
- .align 2, 0
-_08155708: .4byte gUnknown_203F440
-_0815570C: .4byte 0x00003014
-_08155710:
- cmp r7, 0x2
- bne _08155716
- b _08155868
-_08155716:
- cmp r7, 0x3
- bne _0815571C
- b _081558A4
-_0815571C:
- b _081559EC
-_0815571E:
- ldr r5, _08155788 @ =sUnknown_847568C
- adds r0, r5, 0
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- ldr r3, _0815578C @ =0x00003008
- adds r1, r3
- strb r0, [r1]
- movs r0, 0x8
- adds r0, r5
- mov r8, r0
- bl AddWindow
- mov r2, r10
- ldr r1, [r2]
- ldr r4, _08155790 @ =0x00003009
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r2]
- ldr r3, _0815578C @ =0x00003008
- adds r0, r3
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r5, 0
- bl sub_8154868
- mov r0, r8
- bl sub_8154768
- mov r2, r10
- ldr r1, [r2]
- add r1, r9
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- ldr r3, _08155794 @ =0x00003020
- adds r0, r3
- strb r7, [r0]
- ldr r0, [r2]
- ldr r1, _08155798 @ =0x00003024
- adds r0, r1
- strb r7, [r0]
- b _08155A58
- .align 2, 0
-_08155788: .4byte sUnknown_847568C
-_0815578C: .4byte 0x00003008
-_08155790: .4byte 0x00003009
-_08155794: .4byte 0x00003020
-_08155798: .4byte 0x00003024
-_0815579C:
- ldr r3, _0815584C @ =0x00003008
- mov r8, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r1, r10
- ldr r0, [r1]
- ldr r7, _08155850 @ =0x00003009
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r2, r10
- ldr r0, [r2]
- add r0, r8
- ldrb r0, [r0]
- ldr r2, _08155854 @ =gText_WantToPlayAgain
- movs r1, 0x6
- str r1, [sp]
- movs r5, 0xFF
- str r5, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _08155858 @ =gText_Yes
- movs r1, 0x2
- mov r9, r1
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _0815585C @ =gText_No
- movs r1, 0x10
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- ldr r2, _08155860 @ =gFameCheckerText_ListMenuCursor
- mov r1, r9
- str r1, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- mov r0, r10
- ldr r1, [r0]
- ldr r2, _08155864 @ =0x00003014
- adds r1, r2
- b _081559DA
- .align 2, 0
-_0815584C: .4byte 0x00003008
-_08155850: .4byte 0x00003009
-_08155854: .4byte gText_WantToPlayAgain
-_08155858: .4byte gText_Yes
-_0815585C: .4byte gText_No
-_08155860: .4byte gFameCheckerText_ListMenuCursor
-_08155864: .4byte 0x00003014
-_08155868:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0815588E
- mov r3, r10
- ldr r0, [r3]
- ldr r1, _0815589C @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- mov r2, r10
- ldr r0, [r2]
- ldr r3, _081558A0 @ =0x00003009
- adds r0, r3
- ldrb r0, [r0]
- bl PutWindowTilemap
-_0815588E:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r0, r10
- ldr r1, [r0]
- add r1, r9
- b _081559DA
- .align 2, 0
-_0815589C: .4byte 0x00003008
-_081558A0: .4byte 0x00003009
-_081558A4:
- ldr r1, _0815590C @ =0x00003020
- adds r0, r2, r1
- ldrb r7, [r0]
- cmp r7, 0
- bne _081558B0
- movs r7, 0x1
-_081558B0:
- ldr r4, _08155910 @ =0x00003009
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- mov r2, r10
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155914 @ =gText_Yes
- movs r3, 0x2
- mov r8, r3
- str r3, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r5, 0
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r2, r10
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155918 @ =gText_No
- movs r6, 0x10
- str r6, [sp]
- movs r3, 0xFF
- str r3, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0x8
- bl AddTextPrinterParameterized
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r1, [r0]
- ldr r2, _0815591C @ =gFameCheckerText_ListMenuCursor
- cmp r7, 0x1
- bne _08155920
- mov r3, r8
- str r3, [sp]
- b _08155922
- .align 2, 0
-_0815590C: .4byte 0x00003020
-_08155910: .4byte 0x00003009
-_08155914: .4byte gText_Yes
-_08155918: .4byte gText_No
-_0815591C: .4byte gFameCheckerText_ListMenuCursor
-_08155920:
- str r6, [sp]
-_08155922:
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r1, 0
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r4, _08155970 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155974 @ =0x00003009
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r0, _08155978 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08155984
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _0815597C @ =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08155966
- strb r5, [r1]
-_08155966:
- ldr r1, [r4]
- ldr r3, _08155980 @ =0x00003014
- adds r1, r3
- b _081559DA
- .align 2, 0
-_08155970: .4byte gUnknown_203F440
-_08155974: .4byte 0x00003009
-_08155978: .4byte gMain
-_0815597C: .4byte 0x00003020
-_08155980: .4byte 0x00003014
-_08155984:
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _081559BC
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r2, _081559A8 @ =0x00003020
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _081559B2
- cmp r0, 0x1
- bgt _081559AC
- cmp r0, 0
- beq _081559B2
- b _08155A58
- .align 2, 0
-_081559A8: .4byte 0x00003020
-_081559AC:
- cmp r0, 0x2
- beq _081559B8
- b _08155A58
-_081559B2:
- movs r0, 0x2
- strb r0, [r1]
- b _08155A58
-_081559B8:
- strb r5, [r1]
- b _08155A58
-_081559BC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08155A58
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- ldr r3, _081559E4 @ =0x00003020
- adds r0, r3
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, [r4]
- ldr r0, _081559E8 @ =0x00003014
- adds r1, r0
-_081559DA:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08155A58
- .align 2, 0
-_081559E4: .4byte 0x00003020
-_081559E8: .4byte 0x00003014
-_081559EC:
- mov r1, r10
- ldr r0, [r1]
- ldr r2, _08155A68 @ =0x00003020
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r3, _08155A6C @ =0x00003024
- adds r0, r3
- strb r1, [r0]
- mov r1, r10
- ldr r0, [r1]
- ldr r5, _08155A70 @ =0x00003008
- adds r0, r5
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r2, r10
- ldr r0, [r2]
- ldr r4, _08155A74 @ =0x00003009
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- mov r3, r10
- ldr r0, [r3]
- adds r0, r5
- ldrb r0, [r0]
- bl RemoveWindow
- mov r1, r10
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- 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
- mov r2, r10
- ldr r0, [r2]
- movs r3, 0xC0
- lsls r3, 6
- adds r0, r3
- movs r1, 0x1
- str r1, [r0]
-_08155A58:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08155A68: .4byte 0x00003020
-_08155A6C: .4byte 0x00003024
-_08155A70: .4byte 0x00003008
-_08155A74: .4byte 0x00003009
- thumb_func_end sub_81556E0
-
- thumb_func_start sub_8155A78
-sub_8155A78: @ 8155A78
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r5, _08155A94 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r6, _08155A98 @ =0x00003014
- adds r0, r6
- ldrb r4, [r0]
- cmp r4, 0x1
- beq _08155AD0
- cmp r4, 0x1
- bgt _08155A9C
- cmp r4, 0
- beq _08155AA6
- b _08155B18
- .align 2, 0
-_08155A94: .4byte gUnknown_203F440
-_08155A98: .4byte 0x00003014
-_08155A9C:
- cmp r4, 0x2
- beq _08155AE4
- cmp r4, 0x3
- beq _08155AFC
- b _08155B18
-_08155AA6:
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, _08155ACC @ =gText_SavingDontTurnOffThePower2
- 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, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized2
- b _08155B08
- .align 2, 0
-_08155ACC: .4byte gText_SavingDontTurnOffThePower2
-_08155AD0:
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, _08155AE0 @ =0x00003014
- adds r1, r0
- b _08155B0C
- .align 2, 0
-_08155AE0: .4byte 0x00003014
-_08155AE4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08155B40
- ldr r0, _08155AF8 @ =sub_80DA634
- movs r1, 0
- bl CreateTask
- b _08155B08
- .align 2, 0
-_08155AF8: .4byte sub_80DA634
-_08155AFC:
- ldr r0, _08155B14 @ =sub_80DA634
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08155B40
-_08155B08:
- ldr r1, [r5]
- adds r1, r6
-_08155B0C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08155B40
- .align 2, 0
-_08155B14: .4byte sub_80DA634
-_08155B18:
- 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
- ldr r0, _08155B48 @ =gUnknown_203F440
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_08155B40:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08155B48: .4byte gUnknown_203F440
- thumb_func_end sub_8155A78
-
- thumb_func_start sub_8155B4C
-sub_8155B4C: @ 8155B4C
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r1, _08155B6C @ =gUnknown_203F440
- ldr r2, [r1]
- ldr r6, _08155B70 @ =0x00003014
- adds r0, r2, r6
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x1
- beq _08155BA4
- cmp r0, 0x1
- bgt _08155B74
- cmp r0, 0
- beq _08155B7A
- b _08155C18
- .align 2, 0
-_08155B6C: .4byte gUnknown_203F440
-_08155B70: .4byte 0x00003014
-_08155B74:
- cmp r0, 0x2
- beq _08155BEC
- b _08155C18
-_08155B7A:
- ldr r4, _08155B9C @ =sUnknown_84756A4
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r5]
- ldr r2, _08155BA0 @ =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8154868
- b _08155C08
- .align 2, 0
-_08155B9C: .4byte sUnknown_84756A4
-_08155BA0: .4byte 0x00003008
-_08155BA4:
- ldr r4, _08155BE0 @ =0x00003008
- adds r0, r2, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155BE4 @ =gText_CommunicationStandby3
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r5]
- ldr r0, _08155BE8 @ =0x00003014
- adds r1, r0
- b _08155C0C
- .align 2, 0
-_08155BE0: .4byte 0x00003008
-_08155BE4: .4byte gText_CommunicationStandby3
-_08155BE8: .4byte 0x00003014
-_08155BEC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08155C02
- ldr r0, [r5]
- ldr r1, _08155C14 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08155C02:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_08155C08:
- ldr r1, [r5]
- adds r1, r6
-_08155C0C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08155C24
- .align 2, 0
-_08155C14: .4byte 0x00003008
-_08155C18:
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
-_08155C24:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8155B4C
-
- thumb_func_start sub_8155C2C
-sub_8155C2C: @ 8155C2C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, _08155C78 @ =gUnknown_203F440
- ldr r0, [r5]
- ldr r4, _08155C7C @ =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- 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
- ldr r0, [r5]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08155C78: .4byte gUnknown_203F440
-_08155C7C: .4byte 0x00003008
- thumb_func_end sub_8155C2C
-
- thumb_func_start sub_8155C80
-sub_8155C80: @ 8155C80
- push {r4-r7,lr}
- sub sp, 0xC
- ldr r0, _08155CA0 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r7, _08155CA4 @ =0x00003014
- adds r2, r1, r7
- ldrb r5, [r2]
- adds r6, r0, 0
- cmp r5, 0x1
- beq _08155D08
- cmp r5, 0x1
- bgt _08155CA8
- cmp r5, 0
- beq _08155CB2
- b _08155D9C
- .align 2, 0
-_08155CA0: .4byte gUnknown_203F440
-_08155CA4: .4byte 0x00003014
-_08155CA8:
- cmp r5, 0x2
- beq _08155D50
- cmp r5, 0x3
- beq _08155D7C
- b _08155D9C
-_08155CB2:
- ldr r4, _08155CF8 @ =sUnknown_847569C
- adds r0, r4, 0
- bl AddWindow
- ldr r1, [r6]
- ldr r2, _08155CFC @ =0x00003008
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r2
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r0, r4, 0
- bl sub_8154868
- ldr r1, [r6]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r2, _08155D00 @ =0x0000301c
- adds r1, r0, r2
- movs r2, 0
- strh r5, [r1]
- ldr r1, _08155D04 @ =0x00003020
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- adds r1, 0x4
- adds r0, r1
- strb r2, [r0]
- b _08155DE2
- .align 2, 0
-_08155CF8: .4byte sUnknown_847569C
-_08155CFC: .4byte 0x00003008
-_08155D00: .4byte 0x0000301c
-_08155D04: .4byte 0x00003020
-_08155D08:
- ldr r4, _08155D44 @ =0x00003008
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- ldr r2, _08155D48 @ =gText_SomeoneDroppedOut
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r6]
- ldr r2, _08155D4C @ =0x00003014
- adds r1, r2
- b _08155D70
- .align 2, 0
-_08155D44: .4byte 0x00003008
-_08155D48: .4byte gText_SomeoneDroppedOut
-_08155D4C: .4byte 0x00003014
-_08155D50:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08155D66
- ldr r0, [r6]
- ldr r1, _08155D78 @ =0x00003008
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
-_08155D66:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r6]
- adds r1, r7
-_08155D70:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08155DE2
- .align 2, 0
-_08155D78: .4byte 0x00003008
-_08155D7C:
- ldr r0, _08155D98 @ =0x0000301c
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x77
- bls _08155DE2
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _08155DE2
- .align 2, 0
-_08155D98: .4byte 0x0000301c
-_08155D9C:
- ldr r0, [r6]
- ldr r1, _08155DEC @ =0x00003024
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r0, [r6]
- ldr r4, _08155DF0 @ =0x00003008
- adds r0, r4
- ldrb r0, [r0]
- bl ClearWindowTilemap
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl RemoveWindow
- 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
- ldr r0, [r6]
- movs r2, 0xC0
- lsls r2, 6
- adds r0, r2
- movs r1, 0x1
- str r1, [r0]
-_08155DE2:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08155DEC: .4byte 0x00003024
-_08155DF0: .4byte 0x00003008
- thumb_func_end sub_8155C80
-
- thumb_func_start unused_0
-unused_0: @ 8155DF4
- push {r4,lr}
- ldr r4, _08155E18 @ =gUnknown_203F440
- ldr r0, [r4]
- ldr r1, _08155E1C @ =0x00003004
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08155E18: .4byte gUnknown_203F440
-_08155E1C: .4byte 0x00003004
- thumb_func_end unused_0
-
- thumb_func_start nullsub_98
-nullsub_98: @ 8155E20
- bx lr
- thumb_func_end nullsub_98
-
- thumb_func_start sub_8155E24
-sub_8155E24: @ 8155E24
- push {r4,lr}
- ldr r2, _08155E48 @ =gUnknown_203F440
- ldr r1, [r2]
- ldr r3, _08155E4C @ =0x00003014
- adds r1, r3
- movs r3, 0
- strb r3, [r1]
- ldr r1, [r2]
- movs r4, 0xC0
- lsls r4, 6
- adds r2, r1, r4
- str r3, [r2]
- ldr r2, _08155E50 @ =0x00003028
- adds r1, r2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08155E48: .4byte gUnknown_203F440
-_08155E4C: .4byte 0x00003014
-_08155E50: .4byte 0x00003028
- thumb_func_end sub_8155E24
-
- thumb_func_start sub_8155E54
-sub_8155E54: @ 8155E54
- ldr r0, _08155E60 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r1, _08155E64 @ =0x00003028
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08155E60: .4byte gUnknown_203F440
-_08155E64: .4byte 0x00003028
- thumb_func_end sub_8155E54
-
- thumb_func_start sub_8155E68
-sub_8155E68: @ 8155E68
- push {lr}
- ldr r0, _08155E80 @ =gUnknown_203F440
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08155E84
- movs r0, 0x1
- b _08155E86
- .align 2, 0
-_08155E80: .4byte gUnknown_203F440
-_08155E84:
- movs r0, 0
-_08155E86:
- pop {r1}
- bx r1
- thumb_func_end sub_8155E68
-
- thumb_func_start sub_8155E8C
-sub_8155E8C: @ 8155E8C
- ldr r0, _08155E98 @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r1, _08155E9C @ =0x00003024
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08155E98: .4byte gUnknown_203F440
-_08155E9C: .4byte 0x00003024
- thumb_func_end sub_8155E8C
-
- thumb_func_start sub_8155EA0
-sub_8155EA0: @ 8155EA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _08155FD0 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _08155FD4 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08155EC6:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _08155EC6
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _08155FD0 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _08155FD8 @ =sUnknown_847565C
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl InitStandardTextBoxWindows
- bl ResetBg0
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r4, _08155FDC @ =gUnknown_203F440
- ldr r1, [r4]
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 6
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08155FD0: .4byte 0x040000d4
-_08155FD4: .4byte 0x81000800
-_08155FD8: .4byte sUnknown_847565C
-_08155FDC: .4byte gUnknown_203F440
- thumb_func_end sub_8155EA0
-
- thumb_func_start sub_8155FE0
-sub_8155FE0: @ 8155FE0
- push {lr}
- sub sp, 0x4
- ldr r0, _08155FFC @ =gUnknown_203F440
- ldr r0, [r0]
- ldr r2, _08156000 @ =0x00003018
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x5
- bhi _0815607A
- lsls r0, 2
- ldr r1, _08156004 @ =_08156008
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08155FFC: .4byte gUnknown_203F440
-_08156000: .4byte 0x00003018
-_08156004: .4byte _08156008
- .align 2, 0
-_08156008:
- .4byte _08156020
- .4byte _08156030
- .4byte _08156036
- .4byte _08156044
- .4byte _0815605C
- .4byte _0815606A
-_08156020:
- ldr r0, _0815602C @ =sDodrioBerryBgPal1
- movs r1, 0
- movs r2, 0x40
- bl LoadPalette
- b _08156082
- .align 2, 0
-_0815602C: .4byte sDodrioBerryBgPal1
-_08156030:
- bl ResetTempTileDataBuffers
- b _08156082
-_08156036:
- ldr r1, _08156040 @ =sDodrioBerryBgGfx1
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- b _0815604C
- .align 2, 0
-_08156040: .4byte sDodrioBerryBgGfx1
-_08156044:
- ldr r1, _08156058 @ =sDodrioBerryBgGfx2
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
-_0815604C:
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- b _08156082
- .align 2, 0
-_08156058: .4byte sDodrioBerryBgGfx2
-_0815605C:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08156082
- b _08156090
-_0815606A:
- movs r0, 0x3
- bl stdpal_get
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _08156082
-_0815607A:
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08156092
-_08156082:
- ldr r0, _08156098 @ =gUnknown_203F440
- ldr r1, [r0]
- ldr r0, _0815609C @ =0x00003018
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08156090:
- movs r0, 0
-_08156092:
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_08156098: .4byte gUnknown_203F440
-_0815609C: .4byte 0x00003018
- thumb_func_end sub_8155FE0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/dodrio_berry_picking_2.s b/asm/dodrio_berry_picking_2.s
deleted file mode 100644
index 792dc4b0f..000000000
--- a/asm/dodrio_berry_picking_2.s
+++ /dev/null
@@ -1,734 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_815A61C
-sub_815A61C: @ 815A61C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r4, [sp, 0x48]
- lsls r4, 24
- str r4, [sp, 0x1C]
- movs r4, 0x14
- adds r4, r0
- mov r9, r4
- mov r5, sp
- movs r4, 0x2
- strb r4, [r5]
- mov r10, sp
- mov r5, r9
- ldrb r4, [r5, 0xB]
- movs r7, 0xF
- adds r5, r7, 0
- ands r5, r4
- mov r6, r10
- ldrb r6, [r6, 0x1]
- mov r8, r6
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x1]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xC]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x1]
- ldrb r5, [r6, 0xD]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x2]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x2]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0xE]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x2]
- ldrb r5, [r6, 0xF]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x3]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x3]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x10]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x3]
- ldrb r5, [r6, 0x11]
- movs r6, 0xF
- ands r5, r6
- mov r4, r10
- ldrb r4, [r4, 0x4]
- mov r8, r4
- movs r4, 0x10
- negs r4, r4
- mov r6, r8
- ands r4, r6
- orrs r4, r5
- mov r5, r10
- strb r4, [r5, 0x4]
- mov r8, sp
- mov r6, r9
- ldrb r5, [r6, 0x12]
- lsls r5, 4
- ands r4, r7
- orrs r4, r5
- mov r5, r8
- strb r4, [r5, 0x4]
- ldrb r4, [r6, 0x13]
- movs r6, 0xF
- ands r4, r6
- mov r6, r8
- ldrb r5, [r6, 0x5]
- movs r6, 0x10
- negs r6, r6
- ands r6, r5
- orrs r6, r4
- str r6, [sp, 0xC]
- mov r4, r8
- strb r6, [r4, 0x5]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x14]
- lsls r4, 4
- ldr r6, [sp, 0xC]
- ands r6, r7
- orrs r6, r4
- strb r6, [r5, 0x5]
- mov r7, sp
- movs r4, 0x3
- mov r8, r4
- ldrb r0, [r0, 0x14]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x6]
- movs r6, 0x4
- negs r6, r6
- mov r10, r6
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x6]
- mov r5, r9
- ldrb r0, [r5, 0x1]
- mov r6, r8
- ands r0, r6
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x6]
- mov r0, r9
- ldrb r4, [r0, 0x2]
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x6]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x3]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x6]
- mov r4, r9
- ldrb r0, [r4, 0x4]
- mov r5, r8
- ands r0, r5
- ldrb r5, [r7, 0x7]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- strb r4, [r7, 0x7]
- mov r6, r9
- ldrb r0, [r6, 0x5]
- mov r5, r8
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- strb r5, [r7, 0x7]
- ldrb r4, [r6, 0x6]
- mov r6, r8
- ands r4, r6
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- strb r0, [r7, 0x7]
- mov r5, sp
- mov r6, r9
- ldrb r4, [r6, 0x7]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x7]
- mov r8, sp
- mov r0, r9
- ldrb r4, [r0, 0x8]
- movs r7, 0x3
- adds r0, r7, 0
- ands r0, r4
- mov r4, r8
- ldrb r5, [r4, 0x8]
- mov r4, r10
- ands r4, r5
- orrs r4, r0
- mov r5, r8
- strb r4, [r5, 0x8]
- mov r6, r9
- ldrb r5, [r6, 0x9]
- adds r0, r7, 0
- ands r0, r5
- lsls r0, 2
- movs r5, 0xD
- negs r5, r5
- ands r5, r4
- orrs r5, r0
- mov r0, r8
- strb r5, [r0, 0x8]
- ldrb r0, [r1]
- adds r4, r7, 0
- ands r4, r0
- lsls r4, 4
- movs r0, 0x31
- negs r0, r0
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x8]
- mov r5, sp
- ldrb r4, [r2]
- lsls r4, 6
- movs r6, 0x3F
- ands r0, r6
- orrs r0, r4
- strb r0, [r5, 0x8]
- ldrb r4, [r3]
- adds r0, r7, 0
- ands r0, r4
- ldrb r4, [r5, 0x9]
- mov r6, r10
- ands r6, r4
- orrs r6, r0
- mov r10, r6
- strb r6, [r5, 0x9]
- ldr r0, [sp, 0x40]
- ldrb r4, [r0]
- adds r0, r7, 0
- ands r0, r4
- lsls r0, 2
- movs r4, 0xD
- negs r4, r4
- ands r6, r4
- orrs r6, r0
- str r6, [sp, 0x10]
- strb r6, [r5, 0x9]
- mov r4, sp
- ldr r5, [sp, 0x44]
- ldrb r0, [r5]
- adds r6, r7, 0
- ands r6, r0
- lsls r0, r6, 4
- subs r7, 0x34
- ldr r5, [sp, 0x10]
- ands r7, r5
- orrs r7, r0
- strb r7, [r4, 0x9]
- mov r5, sp
- ldrb r0, [r1, 0x4]
- movs r6, 0x1
- mov r12, r6
- mov r4, r12
- ands r4, r0
- lsls r4, 6
- movs r0, 0x41
- negs r0, r0
- mov r10, r0
- ands r0, r7
- orrs r0, r4
- strb r0, [r5, 0x9]
- ldrb r4, [r2, 0x4]
- lsls r4, 7
- movs r5, 0x7F
- ands r0, r5
- orrs r0, r4
- mov r4, r8
- strb r0, [r4, 0x9]
- ldrb r4, [r3, 0x4]
- mov r0, r12
- ands r0, r4
- mov r5, r8
- ldrb r4, [r5, 0xA]
- movs r7, 0x2
- negs r7, r7
- adds r5, r7, 0
- ands r5, r4
- orrs r5, r0
- mov r6, r8
- strb r5, [r6, 0xA]
- mov r9, sp
- ldr r4, [sp, 0x40]
- ldrb r0, [r4, 0x4]
- mov r4, r12
- ands r4, r0
- lsls r4, 1
- movs r6, 0x3
- negs r6, r6
- mov r8, r6
- mov r0, r8
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- ldr r6, [sp, 0x44]
- ldrb r5, [r6, 0x4]
- mov r4, r12
- ands r4, r5
- lsls r4, 2
- movs r5, 0x5
- negs r5, r5
- ands r0, r5
- orrs r0, r4
- mov r4, r9
- strb r0, [r4, 0xA]
- mov r4, sp
- ldrb r1, [r1, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r4, 0xB]
- ands r5, r1
- orrs r5, r0
- strb r5, [r4, 0xB]
- ldrb r1, [r2, 0x8]
- mov r0, r12
- ands r0, r1
- lsls r0, 3
- movs r1, 0x9
- negs r1, r1
- ands r1, r5
- orrs r1, r0
- strb r1, [r4, 0xB]
- ldrb r2, [r3, 0x8]
- mov r0, r12
- ands r0, r2
- lsls r0, 4
- movs r2, 0x11
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- mov r3, sp
- ldr r5, [sp, 0x40]
- ldrb r0, [r5, 0x8]
- mov r1, r12
- ands r1, r0
- lsls r1, 5
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0xB]
- mov r2, sp
- ldrb r1, [r6, 0x8]
- mov r6, r12
- ands r6, r1
- lsls r1, r6, 6
- mov r3, r10
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0xB]
- ldr r4, [sp, 0x1C]
- lsrs r3, r4, 21
- ldrb r1, [r2, 0xA]
- movs r0, 0x7
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0xA]
- mov r1, sp
- ldr r5, [sp, 0x4C]
- movs r6, 0x1
- ands r5, r6
- lsls r2, r5, 1
- ldrb r0, [r1, 0xB]
- mov r3, r8
- ands r3, r0
- orrs r3, r2
- mov r8, r3
- strb r3, [r1, 0xB]
- mov r0, sp
- ldr r4, [sp, 0x50]
- ands r4, r6
- mov r5, r8
- ands r5, r7
- orrs r5, r4
- strb r5, [r0, 0xB]
- bl sub_80F9E2C
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_815A61C
-
- thumb_func_start sub_815A950
-sub_815A950: @ 815A950
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x1C]
- mov r12, r0
- ldr r1, [sp, 0x20]
- mov r8, r1
- ldr r0, [sp, 0x24]
- mov r9, r0
- adds r2, r7, 0
- adds r2, 0x14
- ldr r4, _0815A98C @ =gRecvCmds
- ldrh r0, [r4]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0815A988
- adds r3, r4, 0x2
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _0815A990
-_0815A988:
- movs r0, 0
- b _0815AACA
- .align 2, 0
-_0815A98C: .4byte gRecvCmds
-_0815A990:
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xB]
- ldrb r0, [r3, 0x1]
- lsrs r0, 4
- strb r0, [r2, 0xC]
- ldrb r0, [r3, 0x2]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xD]
- ldrb r0, [r3, 0x2]
- lsrs r0, 4
- strb r0, [r2, 0xE]
- ldrb r0, [r3, 0x3]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0xF]
- ldrb r0, [r3, 0x3]
- lsrs r0, 4
- strb r0, [r2, 0x10]
- ldrb r0, [r3, 0x4]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x11]
- ldrb r0, [r3, 0x4]
- lsrs r0, 4
- strb r0, [r2, 0x12]
- ldrb r0, [r3, 0x5]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x13]
- ldrb r0, [r3, 0x5]
- lsrs r0, 4
- strb r0, [r2, 0x14]
- ldrb r0, [r3, 0x1]
- lsls r0, 28
- lsrs r0, 28
- strb r0, [r2, 0x15]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r7, 0x14]
- ldrb r0, [r3, 0x6]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x1]
- ldrb r0, [r3, 0x6]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x2]
- ldrb r0, [r3, 0x6]
- lsrs r0, 6
- strb r0, [r2, 0x3]
- ldrb r0, [r3, 0x7]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x4]
- ldrb r0, [r3, 0x7]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x5]
- ldrb r0, [r3, 0x7]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r2, 0x6]
- ldrb r0, [r3, 0x7]
- lsrs r0, 6
- strb r0, [r2, 0x7]
- ldrb r0, [r3, 0x8]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0x8]
- ldrb r0, [r3, 0x8]
- lsls r0, 28
- lsrs r0, 30
- strb r0, [r2, 0x9]
- ldrb r0, [r3, 0x6]
- lsls r0, 30
- lsrs r0, 30
- strb r0, [r2, 0xA]
- ldrb r0, [r3, 0x8]
- lsls r0, 26
- lsrs r0, 30
- strb r0, [r5]
- ldrb r0, [r3, 0x9]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r5, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r5, 0x8]
- ldrb r0, [r3, 0x8]
- lsrs r0, 6
- strb r0, [r6]
- ldrb r0, [r3, 0x9]
- lsrs r0, 7
- strb r0, [r6, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 28
- lsrs r0, 31
- strb r0, [r6, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 30
- lsrs r0, 30
- mov r1, r12
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 31
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 27
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 28
- lsrs r0, 30
- mov r1, r8
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 30
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 26
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0x9]
- lsls r0, 26
- lsrs r0, 30
- mov r1, r9
- strb r0, [r1]
- ldrb r0, [r3, 0xA]
- lsls r0, 29
- lsrs r0, 31
- strb r0, [r1, 0x4]
- ldrb r0, [r3, 0xB]
- lsls r0, 25
- lsrs r0, 31
- strb r0, [r1, 0x8]
- ldrb r0, [r3, 0xA]
- lsrs r0, 3
- ldr r1, [sp, 0x28]
- strb r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 30
- lsrs r0, 31
- ldr r1, [sp, 0x2C]
- str r0, [r1]
- ldrb r0, [r3, 0xB]
- lsls r0, 31
- lsrs r0, 31
- ldr r1, [sp, 0x30]
- str r0, [r1]
- movs r0, 0x1
-_0815AACA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_815A950
-
- thumb_func_start sub_815AAD8
-sub_815AAD8: @ 815AAD8
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0815AB00 @ =0xffffff00
- ldr r1, [sp]
- ands r1, r3
- movs r2, 0x3
- orrs r1, r2
- str r1, [sp]
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r0, sp
- bl sub_80F9E2C
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0815AB00: .4byte 0xffffff00
- thumb_func_end sub_815AAD8
-
- thumb_func_start sub_815AB04
-sub_815AB04: @ 815AB04
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldr r3, _0815AB2C @ =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0815AB28
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _0815AB30
-_0815AB28:
- movs r0, 0
- b _0815AB36
- .align 2, 0
-_0815AB2C: .4byte gRecvCmds
-_0815AB30:
- ldrb r0, [r1, 0x4]
- strb r0, [r4]
- movs r0, 0x1
-_0815AB36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_815AB04
-
- thumb_func_start sub_815AB3C
-sub_815AB3C: @ 815AB3C
- push {lr}
- sub sp, 0x8
- ldr r2, _0815AB5C @ =0xffffff00
- ldr r1, [sp]
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- str r1, [sp]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_80F9E2C
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0815AB5C: .4byte 0xffffff00
- thumb_func_end sub_815AB3C
-
- thumb_func_start sub_815AB60
-sub_815AB60: @ 815AB60
- push {lr}
- adds r2, r0, 0
- ldr r3, _0815AB88 @ =gRecvCmds
- ldrh r0, [r3]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _0815AB82
- lsls r0, r2, 4
- adds r1, r3, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0815AB8C
-_0815AB82:
- movs r0, 0
- b _0815AB8E
- .align 2, 0
-_0815AB88: .4byte gRecvCmds
-_0815AB8C:
- ldr r0, [r1, 0x4]
-_0815AB8E:
- pop {r1}
- bx r1
- thumb_func_end sub_815AB60
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/easy_chat_2.s b/asm/easy_chat_2.s
deleted file mode 100644
index c88c5deeb..000000000
--- a/asm/easy_chat_2.s
+++ /dev/null
@@ -1,7654 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start DoEasyChatScreen
-DoEasyChatScreen: @ 80FEBAC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- bl ResetTasks
- ldr r0, _080FEC00 @ =sub_80FEC54
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FEC04 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r6, 0
- bl SetWordTaskArg
- adds r0, r4, 0
- movs r1, 0x4
- mov r2, r8
- bl SetWordTaskArg
- ldr r0, _080FEC08 @ =sub_80FEC0C
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC00: .4byte sub_80FEC54
-_080FEC04: .4byte gTasks
-_080FEC08: .4byte sub_80FEC0C
- thumb_func_end DoEasyChatScreen
-
- thumb_func_start sub_80FEC0C
-sub_80FEC0C: @ 80FEC0C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC0C
-
- thumb_func_start sub_80FEC24
-sub_80FEC24: @ 80FEC24
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC24
-
- thumb_func_start sub_80FEC38
-sub_80FEC38: @ 80FEC38
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FEC50 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- str r1, [r2]
- movs r0, 0
- strh r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080FEC50: .4byte gTasks
- thumb_func_end sub_80FEC38
-
- thumb_func_start sub_80FEC54
-sub_80FEC54: @ 80FEC54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsUpdateLinkStateCBActive
- cmp r0, 0
- bne _080FEC70
-_080FEC62:
- adds r0, r4, 0
- bl sub_80FED80
- lsls r0, 24
- cmp r0, 0
- bne _080FEC62
- b _080FEC7E
-_080FEC70:
- adds r0, r4, 0
- bl sub_80FED80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FEC86
-_080FEC7E:
- ldr r1, _080FEC8C @ =sub_80FEC90
- adds r0, r4, 0
- bl sub_80FEC38
-_080FEC86:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC8C: .4byte sub_80FEC90
- thumb_func_end sub_80FEC54
-
- thumb_func_start sub_80FEC90
-sub_80FEC90: @ 80FEC90
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080FECB4 @ =gTasks+0x8
- adds r6, r0, r1
- movs r0, 0
- ldrsh r5, [r6, r0]
- cmp r5, 0x1
- beq _080FECEC
- cmp r5, 0x1
- bgt _080FECB8
- cmp r5, 0
- beq _080FECC2
- b _080FED6E
- .align 2, 0
-_080FECB4: .4byte gTasks+0x8
-_080FECB8:
- cmp r5, 0x2
- beq _080FED28
- cmp r5, 0x3
- beq _080FED38
- b _080FED6E
-_080FECC2:
- ldr r0, _080FECE8 @ =sub_80FEC24
- bl SetVBlankCallback
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080FED20
- .align 2, 0
-_080FECE8: .4byte sub_80FEC24
-_080FECEC:
- bl sub_80FF028
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x17
- bne _080FED10
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x3
- strh r0, [r6]
- b _080FED6E
-_080FED10:
- cmp r4, 0
- beq _080FED6E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_8100134
-_080FED20:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _080FED6E
-_080FED28:
- bl sub_810014C
- lsls r0, 24
- cmp r0, 0
- bne _080FED6E
- movs r0, 0x1
- strh r0, [r6]
- b _080FED6E
-_080FED38:
- ldr r0, _080FED78 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FED6E
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0xE
- bne _080FED50
- bl sub_80FEF4C
-_080FED50:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080FED62
- ldr r0, _080FED7C @ =0x0000082d
- bl FlagSet
- bl sub_80FEF2C
-_080FED62:
- adds r0, r4, 0
- movs r1, 0x4
- bl GetWordTaskArg
- bl sub_80FEE24
-_080FED6E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FED78: .4byte gPaletteFade
-_080FED7C: .4byte 0x0000082d
- thumb_func_end sub_80FEC90
-
- thumb_func_start sub_80FED80
-sub_80FED80: @ 80FED80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080FEDA4 @ =gTasks+0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _080FEE12
- lsls r0, 2
- ldr r1, _080FEDA8 @ =_080FEDAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FEDA4: .4byte gTasks+0x8
-_080FEDA8: .4byte _080FEDAC
- .align 2, 0
-_080FEDAC:
- .4byte _080FEDC0
- .4byte _080FEDD4
- .4byte _080FEDDA
- .4byte _080FEDEE
- .4byte _080FEE06
-_080FEDC0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- b _080FEE16
-_080FEDD4:
- bl InitEasyChatSelection
- b _080FEDF2
-_080FEDDA:
- ldrb r4, [r6, 0x2]
- adds r0, r5, 0
- movs r1, 0x2
- bl GetWordTaskArg
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80FEF6C
- b _080FEDF2
-_080FEDEE:
- bl sub_80FFF80
-_080FEDF2:
- lsls r0, 24
- cmp r0, 0
- bne _080FEE16
- adds r0, r5, 0
- movs r1, 0x4
- bl GetWordTaskArg
- bl sub_80FEE24
- b _080FEE16
-_080FEE06:
- bl sub_80FFF98
- lsls r0, 24
- cmp r0, 0
- beq _080FEE16
- b _080FEE1C
-_080FEE12:
- movs r0, 0
- b _080FEE1E
-_080FEE16:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_080FEE1C:
- movs r0, 0x1
-_080FEE1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FED80
-
- thumb_func_start sub_80FEE24
-sub_80FEE24: @ 80FEE24
- push {r4,lr}
- adds r4, r0, 0
- bl DestroyEasyChatSelectionData
- bl sub_80FF010
- bl sub_810011C
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEE24
-
- thumb_func_start sub_80FEE44
-sub_80FEE44: @ 80FEE44
- push {lr}
- ldr r0, _080FEE58 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0xE
- bhi _080FEF12
- lsls r0, 2
- ldr r1, _080FEE5C @ =_080FEE60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FEE58: .4byte gSpecialVar_0x8004
-_080FEE5C: .4byte _080FEE60
- .align 2, 0
-_080FEE60:
- .4byte _080FEE9C
- .4byte _080FEEB0
- .4byte _080FEEC4
- .4byte _080FEED8
- .4byte _080FEEF4
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEEEC
-_080FEE9C:
- ldr r0, _080FEEA8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEAC @ =0x00002ca0
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEA8: .4byte gSaveBlock1Ptr
-_080FEEAC: .4byte 0x00002ca0
-_080FEEB0:
- ldr r0, _080FEEBC @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEC0 @ =0x00002cac
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEBC: .4byte gSaveBlock1Ptr
-_080FEEC0: .4byte 0x00002cac
-_080FEEC4:
- ldr r0, _080FEED0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEED4 @ =0x00002cb8
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEED0: .4byte gSaveBlock1Ptr
-_080FEED4: .4byte 0x00002cb8
-_080FEED8:
- ldr r0, _080FEEE4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEE8 @ =0x00002cc4
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEE4: .4byte gSaveBlock1Ptr
-_080FEEE8: .4byte 0x00002cc4
-_080FEEEC:
- bl GetMEventProfileECWordsMaybe
- adds r1, r0, 0
- b _080FEF08
-_080FEEF4:
- ldr r2, _080FEF18 @ =gSaveBlock1Ptr
- ldr r0, _080FEF1C @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080FEF20 @ =0x00002cd0
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
-_080FEF08:
- ldr r0, _080FEF24 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r2, _080FEF28 @ =sub_80568C4
- bl DoEasyChatScreen
-_080FEF12:
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF18: .4byte gSaveBlock1Ptr
-_080FEF1C: .4byte gSpecialVar_0x8005
-_080FEF20: .4byte 0x00002cd0
-_080FEF24: .4byte gSpecialVar_0x8004
-_080FEF28: .4byte sub_80568C4
- thumb_func_end sub_80FEE44
-
- thumb_func_start sub_80FEF2C
-sub_80FEF2C: @ 80FEF2C
- push {r4,lr}
- ldr r4, _080FEF44 @ =gSpecialVar_0x8004
- ldr r0, _080FEF48 @ =gUnknown_843F29C
- movs r1, 0x4
- bl sub_80FFEDC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF44: .4byte gSpecialVar_0x8004
-_080FEF48: .4byte gUnknown_843F29C
- thumb_func_end sub_80FEF2C
-
- thumb_func_start sub_80FEF4C
-sub_80FEF4C: @ 80FEF4C
- push {r4,lr}
- ldr r4, _080FEF64 @ =gSpecialVar_0x8004
- ldr r0, _080FEF68 @ =gUnknown_843F2A4
- movs r1, 0x4
- bl sub_80FFEDC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF64: .4byte gSpecialVar_0x8004
-_080FEF68: .4byte gUnknown_843F2A4
- thumb_func_end sub_80FEF4C
-
- thumb_func_start sub_80FEF6C
-sub_80FEF6C: @ 80FEF6C
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080FEF88 @ =gUnknown_203ACE8
- movs r0, 0x2C
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080FEF8C
- movs r0, 0
- b _080FF006
- .align 2, 0
-_080FEF88: .4byte gUnknown_203ACE8
-_080FEF8C:
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- str r6, [r0, 0x14]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- strb r1, [r0, 0x6]
- ldr r0, [r4]
- strb r1, [r0, 0x9]
- adds r0, r5, 0
- bl sub_80FFF1C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldr r2, _080FF00C @ =gUnknown_843F2AC
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r2, [r1, 0x1]
- strb r2, [r3, 0x2]
- ldr r2, [r4]
- ldrb r1, [r1, 0x2]
- strb r1, [r2, 0x3]
- ldr r1, [r4]
- ldrb r3, [r1, 0x2]
- ldrb r2, [r1, 0x3]
- adds r5, r3, 0
- muls r5, r2
- adds r2, r5, 0
- strb r2, [r1, 0x7]
- ldr r1, [r4]
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- ldrb r0, [r1, 0x7]
- cmp r0, 0x9
- bls _080FEFE0
- movs r0, 0x9
- strb r0, [r1, 0x7]
-_080FEFE0:
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x18
- ldrb r2, [r0, 0x7]
- adds r0, r6, 0
- bl CpuSet
- bl GetNumDisplayableGroups
- ldr r2, [r4]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0x1
- strb r0, [r2, 0xD]
- movs r0, 0x1
-_080FF006:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF00C: .4byte gUnknown_843F2AC
- thumb_func_end sub_80FEF6C
-
- thumb_func_start sub_80FF010
-sub_80FF010: @ 80FF010
- push {lr}
- ldr r0, _080FF024 @ =gUnknown_203ACE8
- ldr r0, [r0]
- cmp r0, 0
- beq _080FF01E
- bl Free
-_080FF01E:
- pop {r0}
- bx r0
- .align 2, 0
-_080FF024: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF010
-
- thumb_func_start sub_80FF028
-sub_80FF028: @ 80FF028
- push {lr}
- ldr r0, _080FF040 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bhi _080FF092
- lsls r0, 2
- ldr r1, _080FF044 @ =_080FF048
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF040: .4byte gUnknown_203ACE8
-_080FF044: .4byte _080FF048
- .align 2, 0
-_080FF048:
- .4byte _080FF064
- .4byte _080FF06A
- .4byte _080FF070
- .4byte _080FF076
- .4byte _080FF07C
- .4byte _080FF082
- .4byte _080FF088
-_080FF064:
- bl sub_80FF098
- b _080FF08C
-_080FF06A:
- bl sub_80FF20C
- b _080FF08C
-_080FF070:
- bl sub_80FF360
- b _080FF08C
-_080FF076:
- bl sub_80FF41C
- b _080FF08C
-_080FF07C:
- bl sub_80FF4A8
- b _080FF08C
-_080FF082:
- bl sub_80FF544
- b _080FF08C
-_080FF088:
- bl sub_80FF4F0
-_080FF08C:
- lsls r0, 16
- lsrs r0, 16
- b _080FF094
-_080FF092:
- movs r0, 0
-_080FF094:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF028
-
- thumb_func_start sub_80FF098
-sub_80FF098: @ 80FF098
- push {r4-r7,lr}
- ldr r0, _080FF0C0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF0E4
- ldr r1, _080FF0C4 @ =gUnknown_203ACE8
- ldr r3, [r1]
- movs r2, 0
- movs r0, 0x2
- strb r0, [r3, 0x4]
- ldr r0, [r1]
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- movs r0, 0x9
- b _080FF1FC
- .align 2, 0
-_080FF0C0: .4byte gMain
-_080FF0C4: .4byte gUnknown_203ACE8
-_080FF0C8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080FF194
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FF184
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF174
- movs r0, 0
- b _080FF1FC
-_080FF0E4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080FF1A4
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080FF1AA
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF0C8
- ldr r2, _080FF16C @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- subs r0, 0x1
-_080FF104:
- strb r0, [r1, 0x6]
-_080FF106:
- adds r7, r2, 0
- adds r4, r7, 0
- ldr r2, [r4]
- movs r0, 0x6
- ldrsb r0, [r2, r0]
- ldr r6, _080FF170 @ =gUnknown_843F2AC
- cmp r0, 0
- bge _080FF124
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x6]
-_080FF124:
- ldr r3, [r4]
- movs r2, 0x6
- ldrsb r2, [r3, r2]
- adds r5, r6, 0
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- ldrb r0, [r0, 0x2]
- cmp r2, r0
- ble _080FF140
- movs r0, 0
- strb r0, [r3, 0x6]
-_080FF140:
- ldr r3, [r4]
- movs r2, 0x6
- ldrsb r2, [r3, r2]
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- cmp r2, r0
- bne _080FF1B4
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- cmp r0, 0x2
- ble _080FF162
- movs r0, 0x2
- strb r0, [r3, 0x5]
-_080FF162:
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x3
- b _080FF1FC
- .align 2, 0
-_080FF16C: .4byte gUnknown_203ACE8
-_080FF170: .4byte gUnknown_843F2AC
-_080FF174:
- ldr r2, _080FF180 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF106
- .align 2, 0
-_080FF180: .4byte gUnknown_203ACE8
-_080FF184:
- ldr r2, _080FF190 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- adds r0, 0x1
- b _080FF104
- .align 2, 0
-_080FF190: .4byte gUnknown_203ACE8
-_080FF194:
- ldr r2, _080FF1A0 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF106
- .align 2, 0
-_080FF1A0: .4byte gUnknown_203ACE8
-_080FF1A4:
- bl sub_80FF590
- b _080FF1AE
-_080FF1AA:
- bl sub_80FF5C0
-_080FF1AE:
- lsls r0, 16
- lsrs r0, 16
- b _080FF1FC
-_080FF1B4:
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- cmp r0, 0
- bge _080FF1C2
- ldrb r0, [r1, 0x1]
- subs r0, 0x1
- strb r0, [r3, 0x5]
-_080FF1C2:
- ldr r3, [r4]
- movs r2, 0x5
- ldrsb r2, [r3, r2]
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r2, r0
- blt _080FF1DC
- movs r0, 0
- strb r0, [r3, 0x5]
-_080FF1DC:
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FF1FA
- ldr r2, [r7]
- ldr r0, [r2, 0x4]
- ldr r1, _080FF204 @ =0x00ffff00
- ands r0, r1
- ldr r1, _080FF208 @ =0x00040100
- cmp r0, r1
- bne _080FF1FA
- movs r0, 0
- strb r0, [r2, 0x5]
-_080FF1FA:
- movs r0, 0x2
-_080FF1FC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF204: .4byte 0x00ffff00
-_080FF208: .4byte 0x00040100
- thumb_func_end sub_80FF098
-
- thumb_func_start sub_80FF20C
-sub_80FF20C: @ 80FF20C
- push {r4-r6,lr}
- ldr r2, _080FF22C @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF270
- ldr r0, _080FF230 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080FF26A
- b _080FF254
- .align 2, 0
-_080FF22C: .4byte gMain
-_080FF230: .4byte gUnknown_203ACE8
-_080FF234:
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080FF2F8
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- bne _080FF2E8
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _080FF2D8
- movs r0, 0
- b _080FF34E
-_080FF254:
- cmp r0, 0x1
- bgt _080FF25E
- cmp r0, 0
- beq _080FF264
- b _080FF270
-_080FF25E:
- cmp r0, 0x2
- beq _080FF30E
- b _080FF270
-_080FF264:
- bl sub_80FF5A8
- b _080FF312
-_080FF26A:
- bl sub_80FF590
- b _080FF312
-_080FF270:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _080FF308
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080FF30E
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _080FF234
- ldr r2, _080FF2D0 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- subs r0, 0x1
- strb r0, [r1, 0x6]
-_080FF294:
- adds r6, r2, 0
-_080FF296:
- adds r5, r6, 0
- ldr r4, [r5]
- movs r3, 0x6
- ldrsb r3, [r4, r3]
- ldr r2, _080FF2D4 @ =gUnknown_843F2AC
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- ldrb r0, [r1, 0x2]
- cmp r3, r0
- bne _080FF318
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bge _080FF2BC
- movs r0, 0x2
- strb r0, [r4, 0x5]
-_080FF2BC:
- ldr r1, [r5]
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- ble _080FF2CA
- movs r0, 0
- strb r0, [r1, 0x5]
-_080FF2CA:
- movs r0, 0x3
- b _080FF34E
- .align 2, 0
-_080FF2D0: .4byte gUnknown_203ACE8
-_080FF2D4: .4byte gUnknown_843F2AC
-_080FF2D8:
- ldr r2, _080FF2E4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF294
- .align 2, 0
-_080FF2E4: .4byte gUnknown_203ACE8
-_080FF2E8:
- ldr r1, _080FF2F4 @ =gUnknown_203ACE8
- ldr r0, [r1]
- strb r3, [r0, 0x6]
- adds r6, r1, 0
- b _080FF296
- .align 2, 0
-_080FF2F4: .4byte gUnknown_203ACE8
-_080FF2F8:
- ldr r2, _080FF304 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF294
- .align 2, 0
-_080FF304: .4byte gUnknown_203ACE8
-_080FF308:
- bl sub_80FF590
- b _080FF312
-_080FF30E:
- bl sub_80FF5C0
-_080FF312:
- lsls r0, 16
- lsrs r0, 16
- b _080FF34E
-_080FF318:
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- ldrb r1, [r1, 0x1]
- cmp r0, r1
- blt _080FF326
- subs r0, r1, 0x1
- strb r0, [r4, 0x5]
-_080FF326:
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FF344
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- ldr r1, _080FF354 @ =0x00ffff00
- ands r0, r1
- ldr r1, _080FF358 @ =0x00040100
- cmp r0, r1
- bne _080FF344
- movs r0, 0
- strb r0, [r2, 0x5]
-_080FF344:
- ldr r0, _080FF35C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0x2
-_080FF34E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF354: .4byte 0x00ffff00
-_080FF358: .4byte 0x00040100
-_080FF35C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF20C
-
- thumb_func_start sub_80FF360
-sub_80FF360: @ 80FF360
- push {lr}
- ldr r1, _080FF378 @ =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r2
- adds r3, r1, 0
- cmp r0, 0
- beq _080FF37C
- bl sub_80FF678
- b _080FF412
- .align 2, 0
-_080FF378: .4byte gMain
-_080FF37C:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080FF3CA
- ldr r0, _080FF39C @ =gUnknown_203ACE8
- ldr r2, [r0]
- movs r1, 0xA
- ldrsb r1, [r2, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF3A0
- bl sub_80FF5FC
- b _080FF412
- .align 2, 0
-_080FF39C: .4byte gUnknown_203ACE8
-_080FF3A0:
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0x1
- beq _080FF3BE
- cmp r0, 0x1
- bgt _080FF3B2
- cmp r0, 0
- beq _080FF3B8
- b _080FF3CA
-_080FF3B2:
- cmp r0, 0x2
- beq _080FF3C4
- b _080FF3CA
-_080FF3B8:
- bl sub_80FF688
- b _080FF412
-_080FF3BE:
- bl sub_80FF6B4
- b _080FF412
-_080FF3C4:
- bl sub_80FF678
- b _080FF412
-_080FF3CA:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080FF3DA
- bl sub_80FF688
- b _080FF412
-_080FF3DA:
- ldrh r1, [r3, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF3E8
- movs r0, 0x2
- b _080FF40E
-_080FF3E8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FF3F4
- movs r0, 0x3
- b _080FF40E
-_080FF3F4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF400
- movs r0, 0x1
- b _080FF40E
-_080FF400:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF40C
- movs r0, 0
- b _080FF416
-_080FF40C:
- movs r0, 0
-_080FF40E:
- bl sub_80FF7CC
-_080FF412:
- lsls r0, 16
- lsrs r0, 16
-_080FF416:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF360
-
- thumb_func_start sub_80FF41C
-sub_80FF41C: @ 80FF41C
- push {lr}
- ldr r2, _080FF438 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FF440
- ldr r0, _080FF43C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- movs r0, 0xD
- b _080FF4A2
- .align 2, 0
-_080FF438: .4byte gMain
-_080FF43C: .4byte gUnknown_203ACE8
-_080FF440:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF44E
- bl sub_80FF6C8
- b _080FF49E
-_080FF44E:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080FF45A
- movs r0, 0x4
- b _080FF49A
-_080FF45A:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080FF466
- movs r0, 0x5
- b _080FF49A
-_080FF466:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF474
- movs r0, 0x2
- b _080FF49A
-_080FF474:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FF480
- movs r0, 0x3
- b _080FF49A
-_080FF480:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF48C
- movs r0, 0x1
- b _080FF49A
-_080FF48C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF498
- movs r0, 0
- b _080FF4A2
-_080FF498:
- movs r0, 0
-_080FF49A:
- bl sub_80FFA38
-_080FF49E:
- lsls r0, 16
- lsrs r0, 16
-_080FF4A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF41C
-
- thumb_func_start sub_80FF4A8
-sub_80FF4A8: @ 80FF4A8
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF4DC
- cmp r1, 0
- bgt _080FF4C4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF4C8
- b _080FF4E8
-_080FF4C4:
- cmp r1, 0x1
- bne _080FF4E8
-_080FF4C8:
- bl sub_80FF5F0
- ldr r1, _080FF4D8 @ =gUnknown_203ACE8
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF4EA
- .align 2, 0
-_080FF4D8: .4byte gUnknown_203ACE8
-_080FF4DC:
- ldr r0, _080FF4E4 @ =gSpecialVar_Result
- strh r1, [r0]
- movs r0, 0x17
- b _080FF4EA
- .align 2, 0
-_080FF4E4: .4byte gSpecialVar_Result
-_080FF4E8:
- movs r0, 0
-_080FF4EA:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF4A8
-
- thumb_func_start sub_80FF4F0
-sub_80FF4F0: @ 80FF4F0
- push {r4,lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF524
- cmp r1, 0
- bgt _080FF50C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF510
- b _080FF53C
-_080FF50C:
- cmp r1, 0x1
- bne _080FF53C
-_080FF510:
- bl sub_80FF5F0
- ldr r1, _080FF520 @ =gUnknown_203ACE8
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF53E
- .align 2, 0
-_080FF520: .4byte gUnknown_203ACE8
-_080FF524:
- ldr r4, _080FF538 @ =gSpecialVar_Result
- bl sub_80FF78C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- bl sub_80FF6F0
- movs r0, 0x17
- b _080FF53E
- .align 2, 0
-_080FF538: .4byte gSpecialVar_Result
-_080FF53C:
- movs r0, 0
-_080FF53E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF4F0
-
- thumb_func_start sub_80FF544
-sub_80FF544: @ 80FF544
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF574
- cmp r1, 0
- bgt _080FF560
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF564
- b _080FF588
-_080FF560:
- cmp r1, 0x1
- bne _080FF588
-_080FF564:
- ldr r0, _080FF570 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF58A
- .align 2, 0
-_080FF570: .4byte gUnknown_203ACE8
-_080FF574:
- bl sub_80FF728
- ldr r0, _080FF584 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x8
- b _080FF58A
- .align 2, 0
-_080FF584: .4byte gUnknown_203ACE8
-_080FF588:
- movs r0, 0
-_080FF58A:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF544
-
- thumb_func_start sub_80FF590
-sub_80FF590: @ 80FF590
- ldr r2, _080FF5A4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- movs r0, 0x4
- strb r0, [r1, 0x4]
- movs r0, 0x5
- bx lr
- .align 2, 0
-_080FF5A4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF590
-
- thumb_func_start sub_80FF5A8
-sub_80FF5A8: @ 80FF5A8
- ldr r2, _080FF5BC @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bx lr
- .align 2, 0
-_080FF5BC: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF5A8
-
- thumb_func_start sub_80FF5C0
-sub_80FF5C0: @ 80FF5C0
- push {r4,lr}
- ldr r4, _080FF5DC @ =gUnknown_203ACE8
- ldr r0, [r4]
- ldrb r1, [r0, 0x4]
- strb r1, [r0, 0x8]
- bl sub_80FFF48
- cmp r0, 0
- bne _080FF5E0
- ldr r1, [r4]
- movs r0, 0x6
- strb r0, [r1, 0x4]
- b _080FF5E8
- .align 2, 0
-_080FF5DC: .4byte gUnknown_203ACE8
-_080FF5E0:
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x4]
- movs r0, 0x5
-_080FF5E8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF5C0
-
- thumb_func_start sub_80FF5F0
-sub_80FF5F0: @ 80FF5F0
- ldr r0, _080FF5F8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_080FF5F8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF5F0
-
- thumb_func_start sub_80FF5FC
-sub_80FF5FC: @ 80FF5FC
- push {lr}
- ldr r0, _080FF624 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _080FF628
- bl sub_80FFB8C
- lsls r0, 24
- lsrs r0, 24
- bl GetSelectedGroupByIndex
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl GetUnlockedECWords
- b _080FF638
- .align 2, 0
-_080FF624: .4byte gUnknown_203ACE8
-_080FF628:
- bl sub_80FFBAC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1
- bl GetUnlockedECWords
-_080FF638:
- bl GetNumDisplayedWords
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080FF670
- ldr r2, _080FF66C @ =gUnknown_203ACE8
- ldr r3, [r2]
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- strb r0, [r3, 0xF]
- ldr r0, [r2]
- strb r1, [r0, 0xE]
- ldr r0, [r2]
- strb r1, [r0, 0x10]
- ldr r0, [r2]
- strb r1, [r0, 0x11]
- ldr r1, [r2]
- movs r0, 0x3
- strb r0, [r1, 0x4]
- movs r0, 0xB
- b _080FF672
- .align 2, 0
-_080FF66C: .4byte gUnknown_203ACE8
-_080FF670:
- movs r0, 0
-_080FF672:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF5FC
-
- thumb_func_start sub_80FF678
-sub_80FF678: @ 80FF678
- ldr r0, _080FF684 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0xA
- bx lr
- .align 2, 0
-_080FF684: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF678
-
- thumb_func_start sub_80FF688
-sub_80FF688: @ 80FF688
- push {lr}
- ldr r1, _080FF6A8 @ =gUnknown_203ACE8
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- ldr r1, [r1]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FF6AC
- movs r0, 0x1
- strb r0, [r1, 0x9]
- b _080FF6AE
- .align 2, 0
-_080FF6A8: .4byte gUnknown_203ACE8
-_080FF6AC:
- strb r2, [r1, 0x9]
-_080FF6AE:
- movs r0, 0x16
- pop {r1}
- bx r1
- thumb_func_end sub_80FF688
-
- thumb_func_start sub_80FF6B4
-sub_80FF6B4: @ 80FF6B4
- push {lr}
- ldr r0, _080FF6C4 @ =0x0000ffff
- bl sub_80FF768
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080FF6C4: .4byte 0x0000ffff
- thumb_func_end sub_80FF6B4
-
- thumb_func_start sub_80FF6C8
-sub_80FF6C8: @ 80FF6C8
- push {lr}
- bl sub_80FFBE4
- lsls r0, 16
- lsrs r0, 16
- bl GetDisplayedWordByIndex
- lsls r0, 16
- lsrs r0, 16
- bl sub_80FF768
- ldr r0, _080FF6EC @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0xC
- pop {r1}
- bx r1
- .align 2, 0
-_080FF6EC: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF6C8
-
- thumb_func_start sub_80FF6F0
-sub_80FF6F0: @ 80FF6F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, _080FF724 @ =gUnknown_203ACE8
- ldr r0, [r3]
- ldrb r0, [r0, 0x7]
- cmp r4, r0
- bcs _080FF71E
- adds r5, r3, 0
-_080FF700:
- ldr r3, [r5]
- ldr r1, [r3, 0x14]
- lsls r2, r4, 1
- adds r1, r2, r1
- adds r0, r3, 0
- adds r0, 0x18
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r3, [r3, 0x7]
- cmp r4, r3
- bcc _080FF700
-_080FF71E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF724: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF6F0
-
- thumb_func_start sub_80FF728
-sub_80FF728: @ 80FF728
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, _080FF760 @ =gUnknown_203ACE8
- ldr r0, [r2]
- ldrb r0, [r0, 0x7]
- cmp r3, r0
- bcs _080FF758
- adds r5, r2, 0
- ldr r0, _080FF764 @ =0x0000ffff
- adds r4, r0, 0
-_080FF73C:
- ldr r2, [r5]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x18
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r2, [r2, 0x7]
- cmp r3, r2
- bcc _080FF73C
-_080FF758:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF760: .4byte gUnknown_203ACE8
-_080FF764: .4byte 0x0000ffff
- thumb_func_end sub_80FF728
-
- thumb_func_start sub_80FF768
-sub_80FF768: @ 80FF768
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80FFB6C
- lsls r0, 16
- ldr r1, _080FF788 @ =gUnknown_203ACE8
- ldr r1, [r1]
- lsrs r0, 15
- adds r1, 0x18
- adds r1, r0
- strh r4, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF788: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF768
-
- thumb_func_start sub_80FF78C
-sub_80FF78C: @ 80FF78C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _080FF7B4 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- cmp r2, r1
- bcs _080FF7C2
- adds r5, r1, 0
- adds r4, r0, 0
- adds r4, 0x18
- ldr r3, [r0, 0x14]
-_080FF7A2:
- lsls r0, r2, 1
- adds r1, r4, r0
- adds r0, r3
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- beq _080FF7B8
- movs r0, 0x1
- b _080FF7C4
- .align 2, 0
-_080FF7B4: .4byte gUnknown_203ACE8
-_080FF7B8:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r5
- bcc _080FF7A2
-_080FF7C2:
- movs r0, 0
-_080FF7C4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF78C
-
- thumb_func_start sub_80FF7CC
-sub_80FF7CC: @ 80FF7CC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FF7F0 @ =gUnknown_203ACE8
- ldr r3, [r0]
- movs r1, 0xA
- ldrsb r1, [r3, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF7FC
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- bne _080FF7F4
- adds r0, r2, 0
- bl sub_80FF80C
- b _080FF802
- .align 2, 0
-_080FF7F0: .4byte gUnknown_203ACE8
-_080FF7F4:
- adds r0, r2, 0
- bl sub_80FF8D8
- b _080FF802
-_080FF7FC:
- adds r0, r2, 0
- bl sub_80FF968
-_080FF802:
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FF7CC
-
- thumb_func_start sub_80FF80C
-sub_80FF80C: @ 80FF80C
- push {r4,lr}
- cmp r0, 0x1
- beq _080FF882
- cmp r0, 0x1
- bcc _080FF8A2
- cmp r0, 0x2
- beq _080FF820
- cmp r0, 0x3
- beq _080FF848
- b _080FF8CE
-_080FF820:
- ldr r0, _080FF83C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xC]
- cmn r0, r3
- beq _080FF8CE
- ldrb r2, [r1, 0xB]
- cmp r0, 0
- beq _080FF840
- subs r0, r2, 0x1
- strb r0, [r1, 0xB]
-_080FF838:
- movs r0, 0xE
- b _080FF8D0
- .align 2, 0
-_080FF83C: .4byte gUnknown_203ACE8
-_080FF840:
- subs r0, r3, 0x1
- strb r0, [r1, 0xC]
- movs r0, 0x10
- b _080FF8D0
-_080FF848:
- ldr r0, _080FF870 @ =gUnknown_203ACE8
- ldr r2, [r0]
- movs r1, 0xB
- ldrsb r1, [r2, r1]
- ldrb r3, [r2, 0xC]
- adds r1, r3
- ldrb r0, [r2, 0xD]
- subs r0, 0x1
- cmp r1, r0
- bge _080FF8CE
- ldrb r1, [r2, 0xB]
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0x2
- bgt _080FF874
- adds r0, r1, 0x1
- strb r0, [r2, 0xB]
- movs r4, 0xE
- b _080FF87A
- .align 2, 0
-_080FF870: .4byte gUnknown_203ACE8
-_080FF874:
- adds r0, r3, 0x1
- strb r0, [r2, 0xC]
- movs r4, 0xF
-_080FF87A:
- bl sub_80FFC1C
- adds r0, r4, 0
- b _080FF8D0
-_080FF882:
- ldr r0, _080FF898 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FF89C
- subs r0, r2, 0x1
- strb r0, [r1, 0xA]
- b _080FF838
- .align 2, 0
-_080FF898: .4byte gUnknown_203ACE8
-_080FF89C:
- bl sub_80FF9E8
- b _080FF838
-_080FF8A2:
- ldr r0, _080FF8C4 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bgt _080FF8C8
- adds r0, r2, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- beq _080FF838
- bl sub_80FF9E8
- b _080FF838
- .align 2, 0
-_080FF8C4: .4byte gUnknown_203ACE8
-_080FF8C8:
- bl sub_80FF9E8
- b _080FF838
-_080FF8CE:
- movs r0, 0
-_080FF8D0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF80C
-
- thumb_func_start sub_80FF8D8
-sub_80FF8D8: @ 80FF8D8
- push {lr}
- cmp r0, 0x1
- beq _080FF944
- cmp r0, 0x1
- bcc _080FF928
- cmp r0, 0x2
- beq _080FF8EE
- cmp r0, 0x3
- beq _080FF90E
- movs r0, 0
- b _080FF960
-_080FF8EE:
- ldr r0, _080FF900 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FF904
- subs r0, r2, 0x1
- b _080FF906
- .align 2, 0
-_080FF900: .4byte gUnknown_203ACE8
-_080FF904:
- movs r0, 0x3
-_080FF906:
- strb r0, [r1, 0xB]
- bl sub_80FFC1C
- b _080FF95E
-_080FF90E:
- ldr r0, _080FF920 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bgt _080FF924
- adds r0, r2, 0x1
- b _080FF906
- .align 2, 0
-_080FF920: .4byte gUnknown_203ACE8
-_080FF924:
- movs r0, 0
- b _080FF906
-_080FF928:
- ldr r0, _080FF940 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- beq _080FF95E
- b _080FF95A
- .align 2, 0
-_080FF940: .4byte gUnknown_203ACE8
-_080FF944:
- ldr r2, _080FF964 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0xA]
- subs r0, 0x1
- strb r0, [r1, 0xA]
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FF95E
-_080FF95A:
- bl sub_80FF9E8
-_080FF95E:
- movs r0, 0xE
-_080FF960:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF964: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF8D8
-
- thumb_func_start sub_80FF968
-sub_80FF968: @ 80FF968
- push {lr}
- adds r2, r0, 0
- cmp r2, 0x1
- beq _080FF9B8
- cmp r2, 0x1
- bcc _080FF9CC
- cmp r2, 0x2
- beq _080FF980
- cmp r2, 0x3
- beq _080FF99C
- movs r0, 0
- b _080FF9DE
-_080FF980:
- ldr r0, _080FF994 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r3, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FF998
- subs r0, r3, 0x1
- b _080FF9DA
- .align 2, 0
-_080FF994: .4byte gUnknown_203ACE8
-_080FF998:
- strb r2, [r1, 0xB]
- b _080FF9DC
-_080FF99C:
- ldr r0, _080FF9B0 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bgt _080FF9B4
- adds r0, r2, 0x1
- b _080FF9DA
- .align 2, 0
-_080FF9B0: .4byte gUnknown_203ACE8
-_080FF9B4:
- movs r0, 0
- b _080FF9DA
-_080FF9B8:
- ldr r0, _080FF9C8 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
- strb r0, [r1, 0xB]
- bl sub_80FFA0C
- b _080FF9DC
- .align 2, 0
-_080FF9C8: .4byte gUnknown_203ACE8
-_080FF9CC:
- ldr r2, _080FF9E4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0xA]
- ldr r1, [r2]
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
-_080FF9DA:
- strb r0, [r1, 0xB]
-_080FF9DC:
- movs r0, 0xE
-_080FF9DE:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF9E4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF968
-
- thumb_func_start sub_80FF9E8
-sub_80FF9E8: @ 80FF9E8
- push {lr}
- ldr r2, _080FFA08 @ =gUnknown_203ACE8
- ldr r1, [r2]
- movs r0, 0xFF
- strb r0, [r1, 0xA]
- ldr r2, [r2]
- ldrb r1, [r2, 0xB]
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080FFA02
- subs r0, r1, 0x1
- strb r0, [r2, 0xB]
-_080FFA02:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFA08: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF9E8
-
- thumb_func_start sub_80FFA0C
-sub_80FFA0C: @ 80FFA0C
- push {r4,lr}
- ldr r4, _080FFA24 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFA28
- movs r0, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC1C
- b _080FFA32
- .align 2, 0
-_080FFA24: .4byte gUnknown_203ACE8
-_080FFA28:
- ldrb r0, [r1, 0xB]
- bl sub_80FFC04
- ldr r1, [r4]
- strb r0, [r1, 0xA]
-_080FFA32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFA0C
-
- thumb_func_start sub_80FFA38
-sub_80FFA38: @ 80FFA38
- push {r4,lr}
- cmp r0, 0x5
- bls _080FFA40
- b _080FFB64
-_080FFA40:
- lsls r0, 2
- ldr r1, _080FFA4C @ =_080FFA50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFA4C: .4byte _080FFA50
- .align 2, 0
-_080FFA50:
- .4byte _080FFAEC
- .4byte _080FFACA
- .4byte _080FFA68
- .4byte _080FFA94
- .4byte _080FFB14
- .4byte _080FFB34
-_080FFA68:
- ldr r0, _080FFA88 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xE]
- adds r0, r3
- cmp r0, 0
- bgt _080FFA7A
- b _080FFB64
-_080FFA7A:
- ldrb r2, [r1, 0x11]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FFA8C
- subs r0, r2, 0x1
- b _080FFAB2
- .align 2, 0
-_080FFA88: .4byte gUnknown_203ACE8
-_080FFA8C:
- subs r0, r3, 0x1
- strb r0, [r1, 0xE]
- movs r4, 0x12
- b _080FFAC2
-_080FFA94:
- ldr r0, _080FFAB8 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xE]
- adds r0, r3
- ldrb r2, [r1, 0xF]
- cmp r0, r2
- bge _080FFB64
- ldrb r2, [r1, 0x11]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bgt _080FFABC
- adds r0, r2, 0x1
-_080FFAB2:
- strb r0, [r1, 0x11]
- movs r4, 0x11
- b _080FFAC2
- .align 2, 0
-_080FFAB8: .4byte gUnknown_203ACE8
-_080FFABC:
- adds r0, r3, 0x1
- strb r0, [r1, 0xE]
- movs r4, 0x13
-_080FFAC2:
- bl sub_80FFC44
- adds r0, r4, 0
- b _080FFB66
-_080FFACA:
- ldr r0, _080FFADC @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FFAE0
- subs r0, r2, 0x1
- b _080FFAE2
- .align 2, 0
-_080FFADC: .4byte gUnknown_203ACE8
-_080FFAE0:
- movs r0, 0x1
-_080FFAE2:
- strb r0, [r1, 0x10]
- bl sub_80FFC44
-_080FFAE8:
- movs r0, 0x11
- b _080FFB66
-_080FFAEC:
- ldr r4, _080FFB10 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bgt _080FFB0A
- adds r0, r2, 0x1
- strb r0, [r1, 0x10]
- bl sub_80FFCC0
- lsls r0, 24
- cmp r0, 0
- beq _080FFAE8
- ldr r1, [r4]
-_080FFB0A:
- movs r0, 0
- strb r0, [r1, 0x10]
- b _080FFAE8
- .align 2, 0
-_080FFB10: .4byte gUnknown_203ACE8
-_080FFB14:
- ldr r0, _080FFB28 @ =gUnknown_203ACE8
- ldr r2, [r0]
- ldrb r0, [r2, 0xE]
- adds r1, r0, 0
- cmp r1, 0
- beq _080FFB64
- cmp r1, 0x3
- bls _080FFB2C
- subs r0, 0x4
- b _080FFB2E
- .align 2, 0
-_080FFB28: .4byte gUnknown_203ACE8
-_080FFB2C:
- movs r0, 0
-_080FFB2E:
- strb r0, [r2, 0xE]
- movs r0, 0x14
- b _080FFB66
-_080FFB34:
- ldr r3, _080FFB60 @ =gUnknown_203ACE8
- ldr r1, [r3]
- ldrb r2, [r1, 0xE]
- ldrb r0, [r1, 0xF]
- subs r0, 0x4
- cmp r2, r0
- bgt _080FFB64
- adds r0, r2, 0x4
- strb r0, [r1, 0xE]
- ldr r2, [r3]
- ldrb r1, [r2, 0xE]
- ldrb r3, [r2, 0xF]
- subs r0, r3, 0x3
- cmp r1, r0
- ble _080FFB58
- adds r0, r3, 0
- adds r0, 0xFD
- strb r0, [r2, 0xE]
-_080FFB58:
- bl sub_80FFC44
- movs r0, 0x15
- b _080FFB66
- .align 2, 0
-_080FFB60: .4byte gUnknown_203ACE8
-_080FFB64:
- movs r0, 0
-_080FFB66:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFA38
-
- thumb_func_start sub_80FFB6C
-sub_80FFB6C: @ 80FFB6C
- ldr r0, _080FFB88 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r2, 0x6
- ldrsb r2, [r0, r2]
- ldrb r1, [r0, 0x2]
- muls r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFB88: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFB6C
-
- thumb_func_start sub_80FFB8C
-sub_80FFB8C: @ 80FFB8C
- ldr r0, _080FFBA8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r1, 0xB
- ldrsb r1, [r0, r1]
- ldrb r2, [r0, 0xC]
- adds r1, r2
- lsls r1, 1
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFBA8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFB8C
-
- thumb_func_start sub_80FFBAC
-sub_80FFBAC: @ 80FFBAC
- push {lr}
- ldr r0, _080FFBDC @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- movs r3, 0
- cmp r0, 0x6
- bhi _080FFBBE
- movs r3, 0xA
- ldrsb r3, [r1, r3]
-_080FFBBE:
- ldrb r0, [r1, 0xB]
- movs r2, 0
- cmp r0, 0x3
- bhi _080FFBCA
- movs r2, 0xB
- ldrsb r2, [r1, r2]
-_080FFBCA:
- ldr r0, _080FFBE0 @ =gUnknown_843F39C
- lsls r1, r2, 3
- subs r1, r2
- adds r1, r3, r1
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_080FFBDC: .4byte gUnknown_203ACE8
-_080FFBE0: .4byte gUnknown_843F39C
- thumb_func_end sub_80FFBAC
-
- thumb_func_start sub_80FFBE4
-sub_80FFBE4: @ 80FFBE4
- ldr r0, _080FFC00 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r1, 0x11
- ldrsb r1, [r0, r1]
- ldrb r2, [r0, 0xE]
- adds r1, r2
- lsls r1, 1
- ldrb r0, [r0, 0x10]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFC00: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFBE4
-
- thumb_func_start sub_80FFC04
-sub_80FFC04: @ 80FFC04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080FFC12
- cmp r0, 0x1
- beq _080FFC16
-_080FFC12:
- movs r0, 0x6
- b _080FFC18
-_080FFC16:
- movs r0, 0x5
-_080FFC18:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC04
-
- thumb_func_start sub_80FFC1C
-sub_80FFC1C: @ 80FFC1C
- push {lr}
- b _080FFC32
-_080FFC20:
- ldr r0, _080FFC40 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FFC3C
- subs r0, r2, 0x1
- strb r0, [r1, 0xA]
-_080FFC32:
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- bne _080FFC20
-_080FFC3C:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFC40: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFC1C
-
- thumb_func_start sub_80FFC44
-sub_80FFC44: @ 80FFC44
- push {lr}
- b _080FFC5A
-_080FFC48:
- ldr r0, _080FFC68 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FFC64
- subs r0, r2, 0x1
- strb r0, [r1, 0x10]
-_080FFC5A:
- bl sub_80FFCC0
- lsls r0, 24
- cmp r0, 0
- bne _080FFC48
-_080FFC64:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFC68: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFC44
-
- thumb_func_start sub_80FFC6C
-sub_80FFC6C: @ 80FFC6C
- push {r4,lr}
- ldr r4, _080FFC98 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFC9C
- bl sub_80FFB8C
- adds r4, r0, 0
- bl GetNumDisplayableGroups
- movs r1, 0
- lsls r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsrs r0, 24
- cmp r4, r0
- bcc _080FFC92
- movs r1, 0x1
-_080FFC92:
- adds r0, r1, 0
- b _080FFCB8
- .align 2, 0
-_080FFC98: .4byte gUnknown_203ACE8
-_080FFC9C:
- ldrb r0, [r1, 0xB]
- bl sub_80FFC04
- movs r2, 0
- ldr r1, [r4]
- ldrb r1, [r1, 0xA]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- ble _080FFCB6
- movs r2, 0x1
-_080FFCB6:
- adds r0, r2, 0
-_080FFCB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC6C
-
- thumb_func_start sub_80FFCC0
-sub_80FFCC0: @ 80FFCC0
- push {r4,lr}
- bl sub_80FFBE4
- adds r4, r0, 0
- bl GetNumDisplayedWords
- movs r1, 0
- lsls r4, 16
- lsls r0, 16
- cmp r4, r0
- bcc _080FFCD8
- movs r1, 0x1
-_080FFCD8:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFCC0
-
- thumb_func_start sub_80FFCE0
-sub_80FFCE0: @ 80FFCE0
- ldr r2, _080FFCF4 @ =gUnknown_843F2AC
- ldr r0, _080FFCF8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
- bx lr
- .align 2, 0
-_080FFCF4: .4byte gUnknown_843F2AC
-_080FFCF8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFCE0
-
- thumb_func_start sub_80FFCFC
-sub_80FFCFC: @ 80FFCFC
- ldr r2, _080FFD14 @ =gUnknown_843F2AC
- ldr r0, _080FFD18 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080FFD14: .4byte gUnknown_843F2AC
-_080FFD18: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFCFC
-
- thumb_func_start sub_80FFD1C
-sub_80FFD1C: @ 80FFD1C
- ldr r0, _080FFD24 @ =gUnknown_203ACE8
- ldr r0, [r0]
- adds r0, 0x18
- bx lr
- .align 2, 0
-_080FFD24: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD1C
-
- thumb_func_start sub_80FFD28
-sub_80FFD28: @ 80FFD28
- ldr r0, _080FFD30 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bx lr
- .align 2, 0
-_080FFD30: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD28
-
- thumb_func_start sub_80FFD34
-sub_80FFD34: @ 80FFD34
- ldr r0, _080FFD3C @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_080FFD3C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD34
-
- thumb_func_start sub_80FFD40
-sub_80FFD40: @ 80FFD40
- ldr r0, _080FFD48 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- bx lr
- .align 2, 0
-_080FFD48: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD40
-
- thumb_func_start sub_80FFD4C
-sub_80FFD4C: @ 80FFD4C
- ldr r0, _080FFD54 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_080FFD54: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD4C
-
- thumb_func_start sub_80FFD58
-sub_80FFD58: @ 80FFD58
- push {r4,r5,lr}
- ldr r4, _080FFD88 @ =gUnknown_843F2AC
- ldr r2, _080FFD8C @ =gUnknown_203ACE8
- ldr r5, [r2]
- ldrb r3, [r5, 0x1]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 3
- adds r3, r4, 0
- adds r3, 0x8
- adds r2, r3
- ldr r2, [r2]
- str r2, [r0]
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r4, 0xC
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFD88: .4byte gUnknown_843F2AC
-_080FFD8C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD58
-
- thumb_func_start sub_80FFD90
-sub_80FFD90: @ 80FFD90
- push {r4,r5,lr}
- ldr r4, _080FFDC0 @ =gUnknown_843F2AC
- ldr r2, _080FFDC4 @ =gUnknown_203ACE8
- ldr r5, [r2]
- ldrb r3, [r5, 0x1]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 3
- adds r3, r4, 0
- adds r3, 0x10
- adds r2, r3
- ldr r2, [r2]
- str r2, [r0]
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFDC0: .4byte gUnknown_843F2AC
-_080FFDC4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD90
-
- thumb_func_start sub_80FFDC8
-sub_80FFDC8: @ 80FFDC8
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FFDDC @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080FFDE4
- ldr r0, _080FFDE0 @ =gUnknown_84189EE
- b _080FFDE6
- .align 2, 0
-_080FFDDC: .4byte gUnknown_203ACE8
-_080FFDE0: .4byte gUnknown_84189EE
-_080FFDE4:
- ldr r0, _080FFDF0 @ =gUnknown_84189E0
-_080FFDE6:
- str r0, [r2]
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080FFDF0: .4byte gUnknown_84189E0
- thumb_func_end sub_80FFDC8
-
- thumb_func_start sub_80FFDF4
-sub_80FFDF4: @ 80FFDF4
- ldr r2, _080FFE00 @ =gUnknown_8418937
- str r2, [r0]
- ldr r0, _080FFE04 @ =gUnknown_8418956
- str r0, [r1]
- bx lr
- .align 2, 0
-_080FFE00: .4byte gUnknown_8418937
-_080FFE04: .4byte gUnknown_8418956
- thumb_func_end sub_80FFDF4
-
- thumb_func_start sub_80FFE08
-sub_80FFE08: @ 80FFE08
- ldr r2, _080FFE18 @ =gUnknown_203ACE8
- ldr r3, [r2]
- ldrb r2, [r3, 0xA]
- strb r2, [r0]
- ldrb r0, [r3, 0xB]
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080FFE18: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE08
-
- thumb_func_start sub_80FFE1C
-sub_80FFE1C: @ 80FFE1C
- ldr r0, _080FFE24 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_080FFE24: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE1C
-
- thumb_func_start sub_80FFE28
-sub_80FFE28: @ 80FFE28
- ldr r0, _080FFE30 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_080FFE30: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE28
-
- thumb_func_start sub_80FFE34
-sub_80FFE34: @ 80FFE34
- ldr r2, _080FFE44 @ =gUnknown_203ACE8
- ldr r3, [r2]
- ldrb r2, [r3, 0x10]
- strb r2, [r0]
- ldrb r0, [r3, 0x11]
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080FFE44: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE34
-
- thumb_func_start sub_80FFE48
-sub_80FFE48: @ 80FFE48
- ldr r0, _080FFE50 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_080FFE50: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE48
-
- thumb_func_start sub_80FFE54
-sub_80FFE54: @ 80FFE54
- ldr r0, _080FFE5C @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xF]
- bx lr
- .align 2, 0
-_080FFE5C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE54
-
- thumb_func_start sub_80FFE60
-sub_80FFE60: @ 80FFE60
- movs r0, 0
- bx lr
- thumb_func_end sub_80FFE60
-
- thumb_func_start sub_80FFE64
-sub_80FFE64: @ 80FFE64
- push {lr}
- ldr r0, _080FFE78 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080FFE7C
- cmp r0, 0x3
- beq _080FFE86
- b _080FFE90
- .align 2, 0
-_080FFE78: .4byte gUnknown_203ACE8
-_080FFE7C:
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFE90
- ldrb r0, [r1, 0xC]
- b _080FFE88
-_080FFE86:
- ldrb r0, [r1, 0xE]
-_080FFE88:
- cmp r0, 0
- beq _080FFE90
- movs r0, 0x1
- b _080FFE92
-_080FFE90:
- movs r0, 0
-_080FFE92:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFE64
-
- thumb_func_start sub_80FFE98
-sub_80FFE98: @ 80FFE98
- push {lr}
- ldr r0, _080FFEAC @ =gUnknown_203ACE8
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- cmp r0, 0x2
- beq _080FFEB0
- cmp r0, 0x3
- beq _080FFEC6
- b _080FFED4
- .align 2, 0
-_080FFEAC: .4byte gUnknown_203ACE8
-_080FFEB0:
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- bne _080FFED4
- ldrb r1, [r2, 0xC]
- adds r1, 0x4
- ldrb r0, [r2, 0xD]
- subs r0, 0x1
- cmp r1, r0
- bgt _080FFED4
- movs r0, 0x1
- b _080FFED6
-_080FFEC6:
- ldrb r0, [r2, 0xE]
- adds r0, 0x4
- ldrb r2, [r2, 0xF]
- cmp r0, r2
- bgt _080FFED4
- movs r0, 0x1
- b _080FFED6
-_080FFED4:
- movs r0, 0
-_080FFED6:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFE98
-
- thumb_func_start sub_80FFEDC
-sub_80FFEDC: @ 80FFEDC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- movs r2, 0
- cmp r2, r3
- bcs _080FFF12
- ldr r0, _080FFF04 @ =gUnknown_203ACE8
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x18
-_080FFEF2:
- lsls r0, r2, 1
- adds r1, r0, r5
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- beq _080FFF08
- movs r0, 0x1
- b _080FFF14
- .align 2, 0
-_080FFF04: .4byte gUnknown_203ACE8
-_080FFF08:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080FFEF2
-_080FFF12:
- movs r0, 0
-_080FFF14:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFEDC
-
- thumb_func_start sub_80FFF1C
-sub_80FFF1C: @ 80FFF1C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r2, _080FFF34 @ =gUnknown_843F2AC
-_080FFF26:
- ldrb r0, [r2]
- cmp r0, r3
- bne _080FFF38
- lsls r0, r1, 24
- lsrs r0, 24
- b _080FFF42
- .align 2, 0
-_080FFF34: .4byte gUnknown_843F2AC
-_080FFF38:
- adds r2, 0x18
- adds r1, 0x1
- cmp r1, 0x9
- bls _080FFF26
- movs r0, 0
-_080FFF42:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF1C
-
- thumb_func_start sub_80FFF48
-sub_80FFF48: @ 80FFF48
- push {r4,lr}
- movs r2, 0
- ldr r0, _080FFF68 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- cmp r2, r1
- bge _080FFF78
- ldr r4, _080FFF6C @ =0x0000ffff
- adds r3, r1, 0
- adds r1, r0, 0
- adds r1, 0x18
-_080FFF5E:
- ldrh r0, [r1]
- cmp r0, r4
- beq _080FFF70
- movs r0, 0
- b _080FFF7A
- .align 2, 0
-_080FFF68: .4byte gUnknown_203ACE8
-_080FFF6C: .4byte 0x0000ffff
-_080FFF70:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _080FFF5E
-_080FFF78:
- movs r0, 0x1
-_080FFF7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF48
-
- thumb_func_start sub_80FFF80
-sub_80FFF80: @ 80FFF80
- push {lr}
- bl sub_8100BF4
- lsls r0, 24
- cmp r0, 0
- beq _080FFF90
- movs r0, 0x1
- b _080FFF92
-_080FFF90:
- movs r0, 0
-_080FFF92:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF80
-
- thumb_func_start sub_80FFF98
-sub_80FFF98: @ 80FFF98
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080FFFB4 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bls _080FFFA8
- b _08100100
-_080FFFA8:
- lsls r0, 2
- ldr r1, _080FFFB8 @ =_080FFFBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFFB4: .4byte gUnknown_203ACEC
-_080FFFB8: .4byte _080FFFBC
- .align 2, 0
-_080FFFBC:
- .4byte _080FFFD4
- .4byte _08100038
- .4byte _0810006C
- .4byte _0810009C
- .4byte _081000AE
- .4byte _081000B8
-_080FFFD4:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _08100028 @ =gUnknown_843F8A0
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, _0810002C @ =gUnknown_203ACEC
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 4
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, _08100030 @ =gUnknown_843F8B0
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl sub_8100CBC
- bl sub_8100C5C
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, _08100034 @ =0x01000100
- add r0, sp, 0x4
- bl CpuFastSet
- b _08100104
- .align 2, 0
-_08100028: .4byte gUnknown_843F8A0
-_0810002C: .4byte gUnknown_203ACEC
-_08100030: .4byte gUnknown_843F8B0
-_08100034: .4byte 0x01000100
-_08100038:
- ldr r1, _08100064 @ =gUnknown_8E99DAC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, _08100068 @ =gUnknown_8E99E74
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- bl sub_8100F44
- bl sub_8102428
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _08100104
- .align 2, 0
-_08100064: .4byte gUnknown_8E99DAC
-_08100068: .4byte gUnknown_8E99E74
-_0810006C:
- ldr r0, _08100094 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- bl sub_8101100
- ldr r1, _08100098 @ =gUnknown_843F7AC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08100104
- .align 2, 0
-_08100094: .4byte gUnknown_203ACEC
-_08100098: .4byte gUnknown_843F7AC
-_0810009C:
- bl sub_8100D24
- bl sub_8100E34
- bl sub_8100FDC
- bl sub_81012CC
- b _08100104
-_081000AE:
- bl sub_8101A90
- bl sub_8101AC4
- b _08100104
-_081000B8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0810010E
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8101A5C
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3B
- bl SetGpuReg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0
- bl ShowBg
- bl sub_81021D4
- bl sub_8102320
- b _08100104
-_08100100:
- movs r0, 0
- b _08100110
-_08100104:
- ldr r0, _08100118 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810010E:
- movs r0, 0x1
-_08100110:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08100118: .4byte gUnknown_203ACEC
- thumb_func_end sub_80FFF98
-
- thumb_func_start sub_810011C
-sub_810011C: @ 810011C
- push {lr}
- ldr r0, _08100130 @ =gUnknown_203ACEC
- ldr r0, [r0]
- cmp r0, 0
- beq _0810012A
- bl Free
-_0810012A:
- pop {r0}
- bx r0
- .align 2, 0
-_08100130: .4byte gUnknown_203ACEC
- thumb_func_end sub_810011C
-
- thumb_func_start sub_8100134
-sub_8100134: @ 8100134
- push {lr}
- ldr r1, _08100148 @ =gUnknown_203ACEC
- ldr r1, [r1]
- movs r2, 0
- strh r0, [r1, 0x4]
- strh r2, [r1]
- bl sub_810014C
- pop {r0}
- bx r0
- .align 2, 0
-_08100148: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100134
-
- thumb_func_start sub_810014C
-sub_810014C: @ 810014C
- push {lr}
- ldr r0, _08100164 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x16
- bhi _08100250
- lsls r0, 2
- ldr r1, _08100168 @ =_0810016C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100164: .4byte gUnknown_203ACEC
-_08100168: .4byte _0810016C
- .align 2, 0
-_0810016C:
- .4byte _08100250
- .4byte _081001C8
- .4byte _081001CE
- .4byte _081001D4
- .4byte _081001DA
- .4byte _081001E0
- .4byte _081001E6
- .4byte _081001EC
- .4byte _081001F2
- .4byte _081001F8
- .4byte _081001FE
- .4byte _08100204
- .4byte _0810020A
- .4byte _08100210
- .4byte _08100216
- .4byte _0810021C
- .4byte _08100222
- .4byte _08100228
- .4byte _0810022E
- .4byte _08100234
- .4byte _0810023A
- .4byte _08100240
- .4byte _08100246
-_081001C8:
- bl sub_8100258
- b _0810024A
-_081001CE:
- bl sub_8100290
- b _0810024A
-_081001D4:
- bl sub_8100374
- b _0810024A
-_081001DA:
- bl sub_8100430
- b _0810024A
-_081001E0:
- bl sub_81003A8
- b _0810024A
-_081001E6:
- bl sub_81003EC
- b _0810024A
-_081001EC:
- bl sub_8100474
- b _0810024A
-_081001F2:
- bl sub_81004B8
- b _0810024A
-_081001F8:
- bl sub_81004F4
- b _0810024A
-_081001FE:
- bl sub_81005C0
- b _0810024A
-_08100204:
- bl sub_81007D0
- b _0810024A
-_0810020A:
- bl sub_8100890
- b _0810024A
-_08100210:
- bl sub_810093C
- b _0810024A
-_08100216:
- bl sub_8100720
- b _0810024A
-_0810021C:
- bl sub_810072C
- b _0810024A
-_08100222:
- bl sub_8100774
- b _0810024A
-_08100228:
- bl sub_81009F8
- b _0810024A
-_0810022E:
- bl sub_8100A78
- b _0810024A
-_08100234:
- bl sub_8100A04
- b _0810024A
-_0810023A:
- bl sub_8100B70
- b _0810024A
-_08100240:
- bl sub_8100AE8
- b _0810024A
-_08100246:
- bl sub_8100660
-_0810024A:
- lsls r0, 24
- lsrs r0, 24
- b _08100252
-_08100250:
- movs r0, 0
-_08100252:
- pop {r1}
- bx r1
- thumb_func_end sub_810014C
-
- thumb_func_start sub_8100258
-sub_8100258: @ 8100258
- push {r4,lr}
- ldr r4, _0810026C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100270
- cmp r0, 0x1
- beq _0810027E
- b _08100288
- .align 2, 0
-_0810026C: .4byte gUnknown_203ACEC
-_08100270:
- bl sub_8100FDC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100288
-_0810027E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810028A
-_08100288:
- movs r0, 0x1
-_0810028A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100258
-
- thumb_func_start sub_8100290
-sub_8100290: @ 8100290
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- bl sub_80FFD1C
- adds r4, r0, 0
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_80FFD40
- lsls r0, 24
- lsrs r7, r0, 24
- bl sub_80FFD4C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl sub_80FFD34
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- lsls r0, 1
- adds r4, r0
- ldr r1, _08100304 @ =gUnknown_843F888
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 19
- movs r1, 0xD0
- lsls r1, 12
- adds r0, r1
- lsrs r6, r0, 16
- movs r5, 0
- cmp r5, r7
- bcs _0810033A
- ldr r2, _08100308 @ =0x0000ffff
- mov r10, r2
-_081002EE:
- ldrh r0, [r4]
- cmp r0, r10
- bne _08100310
- movs r0, 0x1
- ldr r1, _0810030C @ =gUnknown_843F8D8
- movs r2, 0
- bl GetStringWidth
- lsls r1, r0, 3
- subs r0, r1, r0
- b _08100322
- .align 2, 0
-_08100304: .4byte gUnknown_843F888
-_08100308: .4byte 0x0000ffff
-_0810030C: .4byte gUnknown_843F8D8
-_08100310:
- ldrh r1, [r4]
- mov r0, sp
- bl CopyEasyChatWord
- movs r0, 0x1
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
-_08100322:
- adds r0, 0x11
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- adds r4, 0x2
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _081002EE
-_0810033A:
- ldr r1, _08100370 @ =gUnknown_843F888
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- mov r2, r8
- lsls r1, r2, 1
- ldrb r0, [r0, 0x1]
- adds r1, r0
- adds r1, 0x1
- lsls r1, 3
- adds r1, 0x1
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_8101B58
- movs r0, 0
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08100370: .4byte gUnknown_843F888
- thumb_func_end sub_8100290
-
- thumb_func_start sub_8100374
-sub_8100374: @ 8100374
- push {lr}
- bl sub_80FFD40
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08100396
- cmp r0, 0x1
- bgt _0810038C
- cmp r0, 0
- beq _08100392
- b _081003A2
-_0810038C:
- cmp r0, 0x2
- beq _0810039A
- b _081003A2
-_08100392:
- movs r0, 0x1C
- b _0810039C
-_08100396:
- movs r0, 0x73
- b _0810039C
-_0810039A:
- movs r0, 0xBF
-_0810039C:
- movs r1, 0x61
- bl sub_8101B58
-_081003A2:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8100374
-
- thumb_func_start sub_81003A8
-sub_81003A8: @ 81003A8
- push {r4,lr}
- ldr r4, _081003BC @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _081003C0
- cmp r0, 0x1
- beq _081003DA
- b _081003E4
- .align 2, 0
-_081003BC: .4byte gUnknown_203ACEC
-_081003C0:
- bl sub_8101B88
- movs r0, 0x2
- bl sub_8100E7C
- movs r0, 0x1
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081003E4
-_081003DA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _081003E6
-_081003E4:
- movs r0, 0x1
-_081003E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81003A8
-
- thumb_func_start sub_81003EC
-sub_81003EC: @ 81003EC
- push {r4,lr}
- ldr r4, _08100400 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100404
- cmp r0, 0x1
- beq _0810041E
- b _08100428
- .align 2, 0
-_08100400: .4byte gUnknown_203ACEC
-_08100404:
- bl sub_8101B88
- movs r0, 0x3
- bl sub_8100E7C
- movs r0, 0
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100428
-_0810041E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810042A
-_08100428:
- movs r0, 0x1
-_0810042A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81003EC
-
- thumb_func_start sub_8100430
-sub_8100430: @ 8100430
- push {r4,lr}
- ldr r4, _08100444 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100448
- cmp r0, 0x1
- beq _08100462
- b _0810046C
- .align 2, 0
-_08100444: .4byte gUnknown_203ACEC
-_08100448:
- bl sub_8101B88
- movs r0, 0x1
- bl sub_8100E7C
- movs r0, 0x1
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0810046C
-_08100462:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810046E
-_0810046C:
- movs r0, 0x1
-_0810046E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100430
-
- thumb_func_start sub_8100474
-sub_8100474: @ 8100474
- push {r4,lr}
- ldr r4, _08100488 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0810048C
- cmp r0, 0x1
- beq _081004A6
- b _081004B0
- .align 2, 0
-_08100488: .4byte gUnknown_203ACEC
-_0810048C:
- bl sub_8101BA8
- movs r0, 0
- bl sub_8100E7C
- movs r0, 0
- bl ShowBg
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081004B0
-_081004A6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _081004B2
-_081004B0:
- movs r0, 0x1
-_081004B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100474
-
- thumb_func_start sub_81004B8
-sub_81004B8: @ 81004B8
- push {r4,lr}
- ldr r4, _081004CC @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _081004D0
- cmp r0, 0x1
- beq _081004E6
- movs r0, 0x1
- b _081004EE
- .align 2, 0
-_081004CC: .4byte gUnknown_203ACEC
-_081004D0:
- bl sub_8101BA8
- movs r0, 0
- bl sub_8100E7C
- bl sub_8100FDC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081004E6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
-_081004EE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81004B8
-
- thumb_func_start sub_81004F4
-sub_81004F4: @ 81004F4
- push {lr}
- ldr r0, _0810050C @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081005AE
- lsls r0, 2
- ldr r1, _08100510 @ =_08100514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810050C: .4byte gUnknown_203ACEC
-_08100510: .4byte _08100514
- .align 2, 0
-_08100514:
- .4byte _08100528
- .4byte _08100544
- .4byte _08100556
- .4byte _0810056C
- .4byte _0810058C
-_08100528:
- bl sub_8101B88
- movs r0, 0
- bl HideBg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8101A5C
- bl sub_810131C
- b _0810057A
-_08100544:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- movs r0, 0
- bl sub_81015D4
- b _0810057A
-_08100556:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- b _0810057A
-_0810056C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_8101FAC
-_0810057A:
- ldr r0, _08100588 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081005B8
- .align 2, 0
-_08100588: .4byte gUnknown_203ACEC
-_0810058C:
- bl sub_8102018
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_8101BC0
- movs r0, 0
- bl sub_81022E0
- bl sub_810224C
- ldr r0, _081005B4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081005AE:
- movs r0, 0
- b _081005BA
- .align 2, 0
-_081005B4: .4byte gUnknown_203ACEC
-_081005B8:
- movs r0, 0x1
-_081005BA:
- pop {r1}
- bx r1
- thumb_func_end sub_81004F4
-
- thumb_func_start sub_81005C0
-sub_81005C0: @ 81005C0
- push {lr}
- ldr r0, _081005D8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _08100658
- lsls r0, 2
- ldr r1, _081005DC @ =_081005E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081005D8: .4byte gUnknown_203ACEC
-_081005DC: .4byte _081005E0
- .align 2, 0
-_081005E0:
- .4byte _081005F4
- .4byte _08100602
- .4byte _0810061E
- .4byte _08100630
- .4byte _08100654
-_081005F4:
- bl sub_8101C48
- bl sub_81020AC
- bl sub_81022B0
- b _08100644
-_08100602:
- bl sub_81020D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08100658
- movs r0, 0x1
- bl sub_81015D4
- ldr r0, _0810062C @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810061E:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100658
- b _08100644
- .align 2, 0
-_0810062C: .4byte gUnknown_203ACEC
-_08100630:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100658
- bl sub_8101BA8
- movs r0, 0
- bl ShowBg
-_08100644:
- ldr r0, _08100650 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100658
- .align 2, 0
-_08100650: .4byte gUnknown_203ACEC
-_08100654:
- movs r0, 0
- b _0810065A
-_08100658:
- movs r0, 0x1
-_0810065A:
- pop {r1}
- bx r1
- thumb_func_end sub_81005C0
-
- thumb_func_start sub_8100660
-sub_8100660: @ 8100660
- push {lr}
- ldr r0, _08100678 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _08100718
- lsls r0, 2
- ldr r1, _0810067C @ =_08100680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100678: .4byte gUnknown_203ACEC
-_0810067C: .4byte _08100680
- .align 2, 0
-_08100680:
- .4byte _08100694
- .4byte _081006A8
- .4byte _081006C2
- .4byte _081006E8
- .4byte _0810070E
-_08100694:
- bl sub_8101C48
- bl sub_81022B0
- bl sub_810215C
- movs r0, 0x5
- bl sub_81015D4
- b _081006D6
-_081006A8:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_81021B8
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_810131C
- b _081006D6
-_081006C2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- movs r0, 0x6
- bl sub_81015D4
- bl sub_8102178
-_081006D6:
- ldr r0, _081006E4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100718
- .align 2, 0
-_081006E4: .4byte gUnknown_203ACEC
-_081006E8:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_81021B8
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_810224C
- bl sub_8101BC0
- ldr r0, _08100714 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810070E:
- movs r0, 0
- b _0810071A
- .align 2, 0
-_08100714: .4byte gUnknown_203ACEC
-_08100718:
- movs r0, 0x1
-_0810071A:
- pop {r1}
- bx r1
- thumb_func_end sub_8100660
-
- thumb_func_start sub_8100720
-sub_8100720: @ 8100720
- push {lr}
- bl sub_8101C80
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8100720
-
- thumb_func_start sub_810072C
-sub_810072C: @ 810072C
- push {r4,lr}
- ldr r4, _08100740 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100744
- cmp r0, 0x1
- beq _08100754
- b _0810076A
- .align 2, 0
-_08100740: .4byte gUnknown_203ACEC
-_08100744:
- movs r0, 0x1
- movs r1, 0x2
- bl sub_81019B0
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100754:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _0810076A
- bl sub_8101C80
- bl sub_810224C
- movs r0, 0
- b _0810076C
-_0810076A:
- movs r0, 0x1
-_0810076C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810072C
-
- thumb_func_start sub_8100774
-sub_8100774: @ 8100774
- push {r4,lr}
- ldr r4, _0810078C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081007A8
- cmp r0, 0x1
- bgt _08100790
- cmp r0, 0
- beq _08100796
- b _081007C8
- .align 2, 0
-_0810078C: .4byte gUnknown_203ACEC
-_08100790:
- cmp r0, 0x2
- beq _081007C0
- b _081007C8
-_08100796:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- bl sub_81019B0
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081007A8:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _081007C8
- bl sub_810224C
- ldr r0, _081007C4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081007C0:
- movs r0, 0
- b _081007CA
- .align 2, 0
-_081007C4: .4byte gUnknown_203ACEC
-_081007C8:
- movs r0, 0x1
-_081007CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100774
-
- thumb_func_start sub_81007D0
-sub_81007D0: @ 81007D0
- push {lr}
- ldr r0, _081007E8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _08100888
- lsls r0, 2
- ldr r1, _081007EC @ =_081007F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081007E8: .4byte gUnknown_203ACEC
-_081007EC: .4byte _081007F0
- .align 2, 0
-_081007F0:
- .4byte _08100808
- .4byte _08100816
- .4byte _08100826
- .4byte _08100838
- .4byte _08100858
- .4byte _0810087E
-_08100808:
- bl sub_8101C48
- bl sub_81020AC
- bl sub_81022B0
- b _08100848
-_08100816:
- bl sub_81020D0
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- bl sub_81015BC
- b _08100848
-_08100826:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- movs r0, 0x2
- bl sub_81015D4
- b _08100848
-_08100838:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- movs r0, 0x2
- bl sub_81012E0
-_08100848:
- ldr r0, _08100854 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100888
- .align 2, 0
-_08100854: .4byte gUnknown_203ACEC
-_08100858:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- bl sub_8101E80
- movs r0, 0x1
- bl sub_81022E0
- bl sub_810224C
- bl sub_8102394
- ldr r0, _08100884 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810087E:
- movs r0, 0
- b _0810088A
- .align 2, 0
-_08100884: .4byte gUnknown_203ACEC
-_08100888:
- movs r0, 0x1
-_0810088A:
- pop {r1}
- bx r1
- thumb_func_end sub_81007D0
-
- thumb_func_start sub_8100890
-sub_8100890: @ 8100890
- push {lr}
- ldr r0, _081008A8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _08100934
- lsls r0, 2
- ldr r1, _081008AC @ =_081008B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081008A8: .4byte gUnknown_203ACEC
-_081008AC: .4byte _081008B0
- .align 2, 0
-_081008B0:
- .4byte _081008C8
- .4byte _081008CE
- .4byte _081008E0
- .4byte _081008F2
- .4byte _08100914
- .4byte _0810092C
-_081008C8:
- bl sub_8100FDC
- b _08100902
-_081008CE:
- bl sub_8101F80
- bl sub_81022B0
- bl sub_81023F8
- bl sub_81015BC
- b _08100902
-_081008E0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- movs r0, 0x3
- bl sub_81015D4
- b _08100902
-_081008F2:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- movs r0, 0
- bl ShowBg
-_08100902:
- ldr r0, _08100910 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100934
- .align 2, 0
-_08100910: .4byte gUnknown_203ACEC
-_08100914:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- bl sub_8101BA8
- ldr r0, _08100930 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810092C:
- movs r0, 0
- b _08100936
- .align 2, 0
-_08100930: .4byte gUnknown_203ACEC
-_08100934:
- movs r0, 0x1
-_08100936:
- pop {r1}
- bx r1
- thumb_func_end sub_8100890
-
- thumb_func_start sub_810093C
-sub_810093C: @ 810093C
- push {lr}
- ldr r0, _08100954 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081009F0
- lsls r0, 2
- ldr r1, _08100958 @ =_0810095C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100954: .4byte gUnknown_203ACEC
-_08100958: .4byte _0810095C
- .align 2, 0
-_0810095C:
- .4byte _08100970
- .4byte _08100982
- .4byte _08100994
- .4byte _081009A4
- .4byte _081009C4
-_08100970:
- bl sub_8101F80
- bl sub_81022B0
- bl sub_81023F8
- bl sub_81015BC
- b _081009B2
-_08100982:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- movs r0, 0x4
- bl sub_81015D4
- b _081009B2
-_08100994:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_810131C
- b _081009B2
-_081009A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_8101FAC
-_081009B2:
- ldr r0, _081009C0 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081009F0
- .align 2, 0
-_081009C0: .4byte gUnknown_203ACEC
-_081009C4:
- bl sub_8102018
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_8101BC0
- movs r0, 0
- bl sub_81022E0
- bl sub_810224C
- ldr r0, _081009EC @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _081009F2
- .align 2, 0
-_081009EC: .4byte gUnknown_203ACEC
-_081009F0:
- movs r0, 0x1
-_081009F2:
- pop {r1}
- bx r1
- thumb_func_end sub_810093C
-
- thumb_func_start sub_81009F8
-sub_81009F8: @ 81009F8
- push {lr}
- bl sub_8101F04
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81009F8
-
- thumb_func_start sub_8100A04
-sub_8100A04: @ 8100A04
- push {r4,lr}
- ldr r4, _08100A1C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100A30
- cmp r0, 0x1
- bgt _08100A20
- cmp r0, 0
- beq _08100A2A
- b _08100A6E
- .align 2, 0
-_08100A1C: .4byte gUnknown_203ACEC
-_08100A20:
- cmp r0, 0x2
- beq _08100A4C
- cmp r0, 0x3
- beq _08100A6A
- b _08100A6E
-_08100A2A:
- bl sub_81013EC
- b _08100A42
-_08100A30:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100A6E
- movs r0, 0x1
- movs r1, 0x2
- bl sub_81019B0
-_08100A42:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100A6E
-_08100A4C:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100A6E
- bl sub_8101F04
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100A6A:
- movs r0, 0
- b _08100A70
-_08100A6E:
- movs r0, 0x1
-_08100A70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100A04
-
- thumb_func_start sub_8100A78
-sub_8100A78: @ 8100A78
- push {r4,lr}
- ldr r4, _08100A90 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100AA4
- cmp r0, 0x1
- bgt _08100A94
- cmp r0, 0
- beq _08100A9E
- b _08100AE0
- .align 2, 0
-_08100A90: .4byte gUnknown_203ACEC
-_08100A94:
- cmp r0, 0x2
- beq _08100AC2
- cmp r0, 0x3
- beq _08100ADC
- b _08100AE0
-_08100A9E:
- bl sub_8101410
- b _08100AB8
-_08100AA4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100AE0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- bl sub_81019B0
-_08100AB8:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100AE0
-_08100AC2:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100AE0
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100ADC:
- movs r0, 0
- b _08100AE2
-_08100AE0:
- movs r0, 0x1
-_08100AE2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100A78
-
- thumb_func_start sub_8100AE8
-sub_8100AE8: @ 8100AE8
- push {r4,r5,lr}
- ldr r5, _08100B00 @ =gUnknown_203ACEC
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100B14
- cmp r0, 0x1
- bgt _08100B04
- cmp r0, 0
- beq _08100B0E
- b _08100B66
- .align 2, 0
-_08100B00: .4byte gUnknown_203ACEC
-_08100B04:
- cmp r0, 0x2
- beq _08100B44
- cmp r0, 0x3
- beq _08100B62
- b _08100B66
-_08100B0E:
- bl sub_8101434
- b _08100B3A
-_08100B14:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100B66
- bl sub_80FFE48
- adds r4, r0, 0
- bl sub_8101A48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_81019B0
-_08100B3A:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100B66
-_08100B44:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100B66
- bl sub_8101F04
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100B62:
- movs r0, 0
- b _08100B68
-_08100B66:
- movs r0, 0x1
-_08100B68:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100AE8
-
- thumb_func_start sub_8100B70
-sub_8100B70: @ 8100B70
- push {r4,r5,lr}
- ldr r5, _08100B88 @ =gUnknown_203ACEC
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100B9C
- cmp r0, 0x1
- bgt _08100B8C
- cmp r0, 0
- beq _08100B96
- b _08100BEA
- .align 2, 0
-_08100B88: .4byte gUnknown_203ACEC
-_08100B8C:
- cmp r0, 0x2
- beq _08100BCC
- cmp r0, 0x3
- beq _08100BE6
- b _08100BEA
-_08100B96:
- bl sub_8101478
- b _08100BC2
-_08100B9C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100BEA
- bl sub_80FFE48
- adds r4, r0, 0
- bl sub_8101A48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_81019B0
-_08100BC2:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100BEA
-_08100BCC:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100BEA
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100BE6:
- movs r0, 0
- b _08100BEC
-_08100BEA:
- movs r0, 0x1
-_08100BEC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100B70
-
- thumb_func_start sub_8100BF4
-sub_8100BF4: @ 8100BF4
- push {r4,lr}
- ldr r4, _08100C50 @ =gUnknown_203ACEC
- movs r0, 0x98
- lsls r0, 5
- bl Alloc
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- beq _08100C54
- movs r1, 0
- strh r1, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- movs r0, 0x1
- b _08100C56
- .align 2, 0
-_08100C50: .4byte gUnknown_203ACEC
-_08100C54:
- movs r0, 0
-_08100C56:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100BF4
-
- thumb_func_start sub_8100C5C
-sub_8100C5C: @ 8100C5C
- push {lr}
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_8100C5C
-
- thumb_func_start sub_8100CBC
-sub_8100CBC: @ 8100CBC
- push {r4,lr}
- bl ResetPaletteFade
- ldr r0, _08100D10 @ =gUnknown_8E99D8C
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D14 @ =gUnknown_843F76C
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D18 @ =gUnknown_843F78C
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D1C @ =gUnknown_843F874
- movs r1, 0xA0
- movs r2, 0x8
- bl LoadPalette
- ldr r4, _08100D20 @ =gUnknown_843F87C
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0xA
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0xA
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100D10: .4byte gUnknown_8E99D8C
-_08100D14: .4byte gUnknown_843F76C
-_08100D18: .4byte gUnknown_843F78C
-_08100D1C: .4byte gUnknown_843F874
-_08100D20: .4byte gUnknown_843F87C
- thumb_func_end sub_8100CBC
-
- thumb_func_start sub_8100D24
-sub_8100D24: @ 8100D24
- push {r4,r5,lr}
- sub sp, 0x14
- bl sub_80FFCFC
- adds r5, r0, 0
- cmp r5, 0
- beq _08100D7A
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- movs r4, 0x80
- subs r4, r0
- lsrs r4, 1
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x3
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8100DC4
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08100D7A:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100D24
-
- thumb_func_start sub_8100D84
-sub_8100D84: @ 8100D84
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r2, 0
- ldr r2, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r0, r2, 24
- lsls r4, 24
- lsrs r4, 24
- cmp r1, 0x1
- bne _08100DAC
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
-_08100DAC:
- str r0, [sp]
- str r4, [sp, 0x4]
- ldr r0, [sp, 0x24]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8100D84
-
- thumb_func_start sub_8100DC4
-sub_8100DC4: @ 8100DC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r9, r2
- ldr r2, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- ldr r7, [sp, 0x3C]
- mov r8, r7
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r2, 24
- lsrs r3, r2, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, 0x1
- bne _08100E0A
- adds r0, r3, 0x2
- lsls r0, 24
- lsrs r3, r0, 24
-_08100E0A:
- add r0, sp, 0xC
- strb r5, [r0]
- strb r6, [r0, 0x1]
- strb r2, [r0, 0x2]
- str r0, [sp]
- lsls r0, r4, 24
- asrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- mov r0, r12
- adds r2, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8100DC4
-
- thumb_func_start sub_8100E34
-sub_8100E34: @ 8100E34
- push {lr}
- sub sp, 0xC
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl sub_8100E7C
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8100E34
-
- thumb_func_start sub_8100E7C
-sub_8100E7C: @ 8100E7C
- push {lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- movs r0, 0
- str r0, [sp, 0x10]
- str r0, [sp, 0xC]
- cmp r1, 0x1
- beq _08100EC2
- cmp r1, 0x1
- bgt _08100E9A
- cmp r1, 0
- beq _08100EA4
- b _08100ECA
-_08100E9A:
- cmp r2, 0x2
- beq _08100EAE
- cmp r2, 0x3
- beq _08100EB8
- b _08100ECA
-_08100EA4:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFD58
- b _08100ECA
-_08100EAE:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFDC8
- b _08100ECA
-_08100EB8:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFD90
- b _08100ECA
-_08100EC2:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFDF4
-_08100ECA:
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _08100EEC
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
-_08100EEC:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- beq _08100F08
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
-_08100F08:
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r0}
- bx r0
- thumb_func_end sub_8100E7C
-
- thumb_func_start sub_8100F18
-sub_8100F18: @ 8100F18
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08100F40 @ =gUnknown_843F8D0
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_08100F40: .4byte gUnknown_843F8D0
- thumb_func_end sub_8100F18
-
- thumb_func_start sub_8100F44
-sub_8100F44: @ 8100F44
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_80FFCE0
- lsls r0, 24
- ldr r5, _08100FC0 @ =0xffffff00
- ldr r3, [sp]
- ands r3, r5
- movs r1, 0x3
- orrs r3, r1
- str r3, [sp]
- ldr r1, _08100FC4 @ =gUnknown_843F888
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- lsls r2, 8
- ldr r4, _08100FC8 @ =0xffff00ff
- adds r1, r4, 0
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r2, [r0, 0x1]
- lsls r2, 16
- ldr r3, _08100FCC @ =0xff00ffff
- ands r3, r1
- orrs r3, r2
- str r3, [sp]
- ldrb r2, [r0, 0x2]
- lsls r2, 24
- ldr r1, _08100FD0 @ =0x00ffffff
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r1, [r0, 0x3]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r1
- ands r0, r4
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _08100FD4 @ =0x0000ffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- ldr r1, _08100FD8 @ =gUnknown_203ACEC
- ldr r1, [r1]
- strh r0, [r1, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100FC0: .4byte 0xffffff00
-_08100FC4: .4byte gUnknown_843F888
-_08100FC8: .4byte 0xffff00ff
-_08100FCC: .4byte 0xff00ffff
-_08100FD0: .4byte 0x00ffffff
-_08100FD4: .4byte 0x0000ffff
-_08100FD8: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100F44
-
- thumb_func_start sub_8100FDC
-sub_8100FDC: @ 8100FDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- bl sub_80FFD1C
- adds r4, r0, 0
- bl sub_80FFD34
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl sub_80FFD28
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- ldr r0, _0810101C @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r6, 0
- b _081010D6
- .align 2, 0
-_0810101C: .4byte gUnknown_203ACEC
-_08101020:
- ldr r0, _0810105C @ =gUnknown_203ACEC
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xA
- movs r0, 0xFF
- strb r0, [r1, 0xA]
- adds r0, r2, 0
- ldr r1, _08101060 @ =gUnknown_843F8DB
- bl StringAppend
- adds r2, r0, 0
- movs r5, 0
- lsls r7, r6, 28
- adds r0, r6, 0x1
- mov r9, r0
- cmp r5, r8
- bge _081010B4
- ldr r0, _08101064 @ =0x0000ffff
- mov r10, r0
-_08101046:
- ldrh r0, [r4]
- cmp r0, r10
- beq _08101068
- adds r1, r0, 0
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r4, 0x2
- b _08101096
- .align 2, 0
-_0810105C: .4byte gUnknown_203ACEC
-_08101060: .4byte gUnknown_843F8DB
-_08101064: .4byte 0x0000ffff
-_08101068:
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x4
- bl WriteColorChangeControlCode
- adds r2, r0, 0
- adds r4, 0x2
- movs r3, 0xF9
- movs r1, 0x9
- movs r0, 0x6
-_0810107C:
- strb r3, [r2]
- adds r2, 0x1
- strb r1, [r2]
- adds r2, 0x1
- subs r0, 0x1
- cmp r0, 0
- bge _0810107C
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x2
- bl WriteColorChangeControlCode
- adds r2, r0, 0
-_08101096:
- adds r0, r2, 0
- ldr r1, _081010F8 @ =gUnknown_843F8DB
- bl StringAppend
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _081010AE
- cmp r5, 0
- bne _081010AE
- cmp r6, 0x4
- beq _081010B4
-_081010AE:
- adds r5, 0x1
- cmp r5, r8
- blt _08101046
-_081010B4:
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _081010FC @ =gUnknown_203ACEC
- ldr r2, [r0]
- ldrb r0, [r2, 0x2]
- adds r2, 0xA
- lsrs r1, r7, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
- mov r6, r9
-_081010D6:
- ldr r0, [sp, 0xC]
- cmp r6, r0
- blt _08101020
- ldr r0, _081010FC @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- 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
-_081010F8: .4byte gUnknown_843F8DB
-_081010FC: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100FDC
-
- thumb_func_start sub_8101100
-sub_8101100: @ 8101100
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- str r0, [sp]
- ldr r2, _08101194 @ =0x01000200
- mov r0, sp
- mov r1, r8
- bl CpuFastSet
- cmp r5, 0x2
- bne _081011A4
- ldr r0, _08101198 @ =gUnknown_843F888
- adds r1, r0, 0
- adds r1, 0x8
- ldrb r5, [r0, 0x8]
- ldrb r0, [r1, 0x2]
- adds r4, r5, r0
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- adds r0, r2
- mov r12, r0
- adds r7, r2, 0
- cmp r7, r12
- blt _08101144
- b _08101296
-_08101144:
- adds r3, r5, 0
- lsls r0, r3, 1
- mov r9, r0
-_0810114A:
- subs r6, r3, 0x1
- lsls r0, r7, 5
- adds r1, r0, r6
- lsls r1, 1
- add r1, r8
- ldr r5, _0810119C @ =0x00001005
- adds r2, r5, 0
- strh r2, [r1]
- adds r6, r3, 0
- adds r5, r0, 0
- adds r2, r7, 0x1
- cmp r6, r4
- bge _0810117E
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- lsls r0, r7, 6
- add r0, r8
- add r0, r9
- subs r6, r4, r6
-_08101172:
- strh r1, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _08101172
- adds r6, r4, 0
-_0810117E:
- adds r0, r5, r6
- lsls r0, 1
- add r0, r8
- ldr r5, _081011A0 @ =0x00001007
- adds r1, r5, 0
- strh r1, [r0]
- adds r7, r2, 0
- cmp r7, r12
- blt _0810114A
- b _08101296
- .align 2, 0
-_08101194: .4byte 0x01000200
-_08101198: .4byte gUnknown_843F888
-_0810119C: .4byte 0x00001005
-_081011A0: .4byte 0x00001007
-_081011A4:
- ldr r6, _081012A8 @ =gUnknown_843F888
- mov r9, r6
- lsls r5, 2
- adds r1, r5, r6
- ldrb r3, [r1, 0x1]
- subs r7, r3, 0x1
- ldrb r2, [r1]
- subs r6, r2, 0x1
- ldrb r0, [r1, 0x2]
- adds r4, r2, r0
- ldrb r0, [r1, 0x3]
- adds r3, r0
- mov r12, r3
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r3, _081012AC @ =0x00001001
- adds r1, r3, 0
- strh r1, [r0]
- adds r6, r2, 0
- mov r10, r9
- mov r9, r5
- cmp r6, r4
- bge _081011F0
- ldr r5, _081012B0 @ =0x00001002
- adds r2, r5, 0
- lsls r1, r6, 1
- lsls r0, r7, 6
- add r0, r8
- adds r1, r0
- subs r6, r4, r6
-_081011E4:
- strh r2, [r1]
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _081011E4
- adds r6, r4, 0
-_081011F0:
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r6, _081012B4 @ =0x00001003
- adds r1, r6, 0
- strh r1, [r0]
- adds r7, 0x1
- cmp r7, r12
- bge _08101252
- ldr r0, _081012A8 @ =gUnknown_843F888
- add r0, r9
- ldrb r3, [r0]
- lsls r5, r3, 1
-_0810120C:
- subs r6, r3, 0x1
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r2, _081012B8 @ =0x00001005
- adds r1, r2, 0
- strh r1, [r0]
- adds r6, r3, 0
- adds r2, r7, 0x1
- cmp r6, r4
- bge _0810123E
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- lsls r0, r7, 6
- add r0, r8
- adds r0, r5, r0
- subs r6, r4, r6
-_08101232:
- strh r1, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _08101232
- adds r6, r4, 0
-_0810123E:
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r6, _081012BC @ =0x00001007
- adds r1, r6, 0
- strh r1, [r0]
- adds r7, r2, 0
- cmp r7, r12
- blt _0810120C
-_08101252:
- mov r0, r9
- add r0, r10
- ldrb r3, [r0]
- subs r6, r3, 0x1
- lsls r2, r7, 5
- adds r0, r2, r6
- lsls r0, 1
- add r0, r8
- ldr r5, _081012C0 @ =0x00001009
- adds r1, r5, 0
- strh r1, [r0]
- adds r6, r3, 0
- adds r5, r2, 0
- cmp r6, r4
- bge _0810128A
- ldr r0, _081012C4 @ =0x0000100a
- adds r2, r0, 0
- lsls r1, r6, 1
- lsls r0, r7, 6
- add r0, r8
- adds r0, r1, r0
- subs r6, r4, r6
-_0810127E:
- strh r2, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _0810127E
- adds r6, r4, 0
-_0810128A:
- adds r0, r5, r6
- lsls r0, 1
- add r0, r8
- ldr r2, _081012C8 @ =0x0000100b
- adds r1, r2, 0
- strh r1, [r0]
-_08101296:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081012A8: .4byte gUnknown_843F888
-_081012AC: .4byte 0x00001001
-_081012B0: .4byte 0x00001002
-_081012B4: .4byte 0x00001003
-_081012B8: .4byte 0x00001005
-_081012BC: .4byte 0x00001007
-_081012C0: .4byte 0x00001009
-_081012C4: .4byte 0x0000100a
-_081012C8: .4byte 0x0000100b
- thumb_func_end sub_8101100
-
- thumb_func_start sub_81012CC
-sub_81012CC: @ 81012CC
- push {lr}
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- pop {r0}
- bx r0
- thumb_func_end sub_81012CC
-
- thumb_func_start sub_81012E0
-sub_81012E0: @ 81012E0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_810198C
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r4, 0x1
- beq _08101304
- cmp r4, 0x1
- bcc _081012FE
- cmp r4, 0x2
- beq _0810130A
- b _0810130E
-_081012FE:
- bl sub_810133C
- b _0810130E
-_08101304:
- bl sub_81013A0
- b _0810130E
-_0810130A:
- bl sub_81013DC
-_0810130E:
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81012E0
-
- thumb_func_start sub_810131C
-sub_810131C: @ 810131C
- push {lr}
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08101330
- movs r0, 0
- bl sub_81012E0
- b _08101336
-_08101330:
- movs r0, 0x1
- bl sub_81012E0
-_08101336:
- pop {r0}
- bx r0
- thumb_func_end sub_810131C
-
- thumb_func_start sub_810133C
-sub_810133C: @ 810133C
- push {r4-r7,lr}
- sub sp, 0xC
- movs r5, 0
- movs r7, 0x60
-_08101344:
- movs r4, 0
- lsls r0, r7, 24
- lsrs r6, r0, 24
-_0810134A:
- lsls r0, r5, 24
- lsrs r0, 24
- adds r5, 0x1
- bl GetSelectedGroupByIndex
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _0810138A
- bl GetEasyChatWordGroupName
- adds r2, r0, 0
- movs r0, 0x54
- adds r3, r4, 0
- muls r3, r0
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8100D84
- adds r4, 0x1
- cmp r4, 0x1
- ble _0810134A
- adds r7, 0x10
- b _08101344
-_0810138A:
- bl sub_80FFE28
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_81019B0
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810133C
-
- thumb_func_start sub_81013A0
-sub_81013A0: @ 81013A0
- push {r4-r6,lr}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0xC0
- lsls r4, 23
- ldr r6, _081013D8 @ =gUnknown_843F8E0
-_081013AC:
- ldm r6!, {r2}
- lsrs r0, r4, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0xA
- bl sub_8100D84
- movs r0, 0x80
- lsls r0, 21
- adds r4, r0
- adds r5, 0x1
- cmp r5, 0x3
- bls _081013AC
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081013D8: .4byte gUnknown_843F8E0
- thumb_func_end sub_81013A0
-
- thumb_func_start sub_81013DC
-sub_81013DC: @ 81013DC
- push {lr}
- movs r0, 0
- movs r1, 0x4
- bl sub_81014AC
- pop {r0}
- bx r0
- thumb_func_end sub_81013DC
-
- thumb_func_start sub_81013EC
-sub_81013EC: @ 81013EC
- push {r4,lr}
- bl sub_80FFE48
- adds r4, r0, 0
- adds r4, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8101558
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81014AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81013EC
-
- thumb_func_start sub_8101410
-sub_8101410: @ 8101410
- push {r4,lr}
- bl sub_80FFE48
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8101558
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81014AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101410
-
- thumb_func_start sub_8101434
-sub_8101434: @ 8101434
- push {r4,r5,lr}
- bl sub_80FFE48
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r5, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80FFE54
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bls _08101456
- adds r4, r0, 0
-_08101456:
- cmp r5, r4
- bcs _08101470
- subs r4, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8101558
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81014AC
-_08101470:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101434
-
- thumb_func_start sub_8101478
-sub_8101478: @ 8101478
- push {r4,r5,lr}
- bl sub_80FFE48
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8101A48
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _081014A4
- subs r4, r0, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8101558
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81014AC
-_081014A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101478
-
- thumb_func_start sub_81014AC
-sub_81014AC: @ 81014AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r4, r0, 1
- lsls r0, 4
- adds r1, r0, 0
- adds r1, 0x60
- movs r0, 0xFF
- ands r1, r0
- movs r0, 0
- cmp r0, r10
- bge _08101538
- ldr r2, _08101550 @ =gUnknown_203ACEC
- mov r9, r2
-_081014D8:
- movs r5, 0
- movs r2, 0x10
- adds r2, r1
- mov r8, r2
- adds r7, r0, 0x1
- lsls r0, r1, 24
- lsrs r6, r0, 24
-_081014E6:
- lsls r0, r4, 16
- lsrs r0, 16
- adds r4, 0x1
- bl GetDisplayedWordByIndex
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _08101554 @ =0x0000ffff
- cmp r1, r0
- beq _0810152A
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xCB
- movs r2, 0
- bl CopyEasyChatWordPadded
- mov r0, r9
- ldr r2, [r0]
- adds r2, 0xCB
- movs r0, 0xD
- adds r3, r5, 0
- muls r3, r0
- adds r3, 0x3
- lsls r3, 27
- lsrs r3, 24
- str r6, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8100D84
-_0810152A:
- adds r5, 0x1
- cmp r5, 0x1
- ble _081014E6
- mov r1, r8
- adds r0, r7, 0
- cmp r0, r10
- blt _081014D8
-_08101538:
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101550: .4byte gUnknown_203ACEC
-_08101554: .4byte 0x0000ffff
- thumb_func_end sub_81014AC
-
- thumb_func_start sub_8101558
-sub_8101558: @ 8101558
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r0, 20
- adds r3, r0, 0
- adds r3, 0x60
- movs r0, 0xFF
- ands r3, r0
- lsrs r0, r1, 20
- adds r1, r3, r0
- cmp r1, 0xFF
- ble _08101584
- ldr r0, _08101580 @ =0xffffff00
- adds r4, r1, r0
- movs r0, 0x80
- lsls r0, 1
- subs r0, r3
- b _08101586
- .align 2, 0
-_08101580: .4byte 0xffffff00
-_08101584:
- movs r4, 0
-_08101586:
- movs r5, 0xE0
- str r5, [sp]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- bl FillWindowPixelRect
- cmp r4, 0
- beq _081015B2
- str r5, [sp]
- lsls r0, r4, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
-_081015B2:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101558
-
- thumb_func_start sub_81015BC
-sub_81015BC: @ 81015BC
- push {lr}
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_81015BC
-
- thumb_func_start sub_81015D4
-sub_81015D4: @ 81015D4
- push {lr}
- ldr r1, _081015E8 @ =gUnknown_203ACEC
- cmp r0, 0x6
- bhi _0810168E
- lsls r0, 2
- ldr r1, _081015EC @ =_081015F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081015E8: .4byte gUnknown_203ACEC
-_081015EC: .4byte _081015F0
- .align 2, 0
-_081015F0:
- .4byte _0810160C
- .4byte _08101620
- .4byte _08101630
- .4byte _08101644
- .4byte _08101658
- .4byte _0810166C
- .4byte _08101680
-_0810160C:
- ldr r1, _0810161C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0810168C
- .align 2, 0
-_0810161C: .4byte gUnknown_203ACEC
-_08101620:
- ldr r1, _0810162C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x9
- b _0810164C
- .align 2, 0
-_0810162C: .4byte gUnknown_203ACEC
-_08101630:
- ldr r1, _08101640 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0xB
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x11
- b _0810168C
- .align 2, 0
-_08101640: .4byte gUnknown_203ACEC
-_08101644:
- ldr r1, _08101654 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x11
-_0810164C:
- strb r0, [r2, 0x6]
- ldr r0, [r1]
- strb r3, [r0, 0x7]
- b _0810168E
- .align 2, 0
-_08101654: .4byte gUnknown_203ACEC
-_08101658:
- ldr r1, _08101668 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x11
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0810168C
- .align 2, 0
-_08101668: .4byte gUnknown_203ACEC
-_0810166C:
- ldr r1, _0810167C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x12
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x16
- b _0810168C
- .align 2, 0
-_0810167C: .4byte gUnknown_203ACEC
-_08101680:
- ldr r1, _081016A8 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x16
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x12
-_0810168C:
- strb r0, [r2, 0x7]
-_0810168E:
- ldr r1, [r1]
- ldrb r0, [r1, 0x6]
- movs r3, 0x1
- negs r3, r3
- adds r2, r3, 0
- ldrb r3, [r1, 0x7]
- cmp r0, r3
- bcs _081016A0
- movs r2, 0x1
-_081016A0:
- strb r2, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_081016A8: .4byte gUnknown_203ACEC
- thumb_func_end sub_81015D4
-
- thumb_func_start sub_81016AC
-sub_81016AC: @ 81016AC
- push {r4,lr}
- ldr r4, _081016D8 @ =gUnknown_203ACEC
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- cmp r2, r0
- beq _081016DC
- ldrb r0, [r1, 0x8]
- adds r0, r2, r0
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_81016E4
- ldr r0, [r4]
- ldrb r1, [r0, 0x6]
- ldrb r0, [r0, 0x7]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _081016DE
- .align 2, 0
-_081016D8: .4byte gUnknown_203ACEC
-_081016DC:
- movs r0, 0
-_081016DE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81016AC
-
- thumb_func_start sub_81016E4
-sub_81016E4: @ 81016E4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- cmp r4, 0x16
- bls _08101706
- b _08101822
-_08101706:
- lsls r0, r4, 2
- ldr r1, _08101710 @ =_08101714
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08101710: .4byte _08101714
- .align 2, 0
-_08101714:
- .4byte _08101822
- .4byte _08101770
- .4byte _08101778
- .4byte _08101780
- .4byte _08101788
- .4byte _08101790
- .4byte _08101798
- .4byte _08101808
- .4byte _081017FA
- .4byte _081017EC
- .4byte _081017DE
- .4byte _081017A6
- .4byte _081017AE
- .4byte _081017B6
- .4byte _081017BE
- .4byte _081017C6
- .4byte _081017CE
- .4byte _081017D6
- .4byte _081017DE
- .4byte _081017EC
- .4byte _081017FA
- .4byte _08101808
- .4byte _08101816
-_08101770:
- movs r0, 0xB
- movs r1, 0xE
- movs r2, 0x3
- b _0810179E
-_08101778:
- movs r0, 0x9
- movs r1, 0xE
- movs r2, 0x7
- b _0810179E
-_08101780:
- movs r0, 0x7
- movs r1, 0xE
- movs r2, 0xB
- b _0810179E
-_08101788:
- movs r0, 0x5
- movs r1, 0xE
- movs r2, 0xF
- b _0810179E
-_08101790:
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x13
- b _0810179E
-_08101798:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
-_0810179E:
- movs r3, 0x2
- bl sub_8101830
- b _08101822
-_081017A6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x18
- b _081017E4
-_081017AE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x19
- b _081017E4
-_081017B6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1A
- b _081017E4
-_081017BE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1B
- b _081017E4
-_081017C6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- b _081017E4
-_081017CE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1D
- b _081017E4
-_081017D6:
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x1E
- b _081017E4
-_081017DE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x17
-_081017E4:
- movs r3, 0xA
- bl sub_8101830
- b _08101822
-_081017EC:
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0x17
- movs r3, 0x8
- bl sub_8101830
- b _08101822
-_081017FA:
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x17
- movs r3, 0x6
- bl sub_8101830
- b _08101822
-_08101808:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0x17
- movs r3, 0x4
- bl sub_8101830
- b _08101822
-_08101816:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x2
- bl sub_8101830
-_08101822:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81016E4
-
- thumb_func_start sub_8101830
-sub_8101830: @ 8101830
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r0
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- ldr r0, _08101968 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r6, r0, r1
- mov r0, r12
- add r0, r9
- subs r5, r0, 0x1
- adds r0, r7, r3
- subs r0, 0x1
- mov r8, r0
- mov r2, r12
- adds r3, r7, 0
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r4, _0810196C @ =0x00004001
- adds r1, r4, 0
- strh r1, [r0]
- adds r2, 0x1
- cmp r2, r5
- bge _0810188C
- ldr r0, _08101970 @ =0x00004002
- adds r4, r0, 0
- lsls r1, r2, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r1, r0
- subs r2, r5, r2
-_08101880:
- strh r4, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08101880
- adds r2, r5, 0
-_0810188C:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101974 @ =0x00004003
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, 0x1
- mov r4, r12
- adds r4, 0x1
- adds r0, r7, 0x1
- str r0, [sp, 0x4]
- mov r1, r9
- subs r1, 0x2
- str r1, [sp]
- movs r2, 0x2
- negs r2, r2
- add r10, r2
- cmp r3, r8
- bge _081018FC
- lsls r7, r4, 1
- mov r9, r7
-_081018B8:
- lsls r0, r3, 5
- add r0, r12
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101978 @ =0x00004005
- adds r1, r2, 0
- strh r1, [r0]
- adds r2, r4, 0
- adds r7, r3, 0x1
- cmp r4, r5
- bge _081018E8
- movs r0, 0x80
- lsls r0, 7
- adds r1, r0, 0
- lsls r0, r3, 6
- adds r0, r6
- add r0, r9
- subs r2, r5, r4
-_081018DC:
- strh r1, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _081018DC
- adds r2, r5, 0
-_081018E8:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _0810197C @ =0x00004007
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, r7, 0
- cmp r3, r8
- blt _081018B8
-_081018FC:
- lsls r0, r3, 5
- mov r7, r12
- adds r1, r0, r7
- lsls r1, 1
- adds r1, r6
- ldr r7, _08101980 @ =0x00004009
- adds r2, r7, 0
- strh r2, [r1]
- adds r2, r4, 0
- mov r12, r0
- cmp r4, r5
- bge _0810192E
- ldr r0, _08101984 @ =0x0000400a
- adds r7, r0, 0
- lsls r1, r4, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r0, r1, r0
- subs r2, r5, r4
-_08101922:
- strh r7, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08101922
- adds r2, r5, 0
-_0810192E:
- mov r1, r12
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101988 @ =0x0000400b
- adds r1, r2, 0
- strh r1, [r0]
- lsls r0, r4, 27
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- lsls r1, r3, 27
- lsrs r1, 24
- ldr r4, [sp]
- lsls r2, r4, 27
- lsrs r2, 24
- mov r7, r10
- lsls r3, r7, 27
- lsrs r3, 24
- bl sub_8101A5C
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101968: .4byte gUnknown_203ACEC
-_0810196C: .4byte 0x00004001
-_08101970: .4byte 0x00004002
-_08101974: .4byte 0x00004003
-_08101978: .4byte 0x00004005
-_0810197C: .4byte 0x00004007
-_08101980: .4byte 0x00004009
-_08101984: .4byte 0x0000400a
-_08101988: .4byte 0x0000400b
- thumb_func_end sub_8101830
-
- thumb_func_start sub_810198C
-sub_810198C: @ 810198C
- push {lr}
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- ldr r0, _081019AC @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_081019AC: .4byte gUnknown_203ACEC
- thumb_func_end sub_810198C
-
- thumb_func_start sub_81019B0
-sub_81019B0: @ 81019B0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x2
- bl GetBgY
- adds r2, r0, 0
- ldr r0, _081019FC @ =gUnknown_203ACEC
- ldr r3, [r0]
- movs r0, 0xB3
- lsls r0, 2
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, r4
- strh r0, [r1]
- lsls r4, 20
- asrs r4, 16
- lsls r0, r4, 8
- adds r2, r0
- cmp r5, 0
- beq _08101A00
- movs r1, 0xB4
- lsls r1, 2
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB5
- lsls r0, 2
- adds r1, r3, r0
- lsls r0, r5, 8
- str r0, [r1]
- cmp r4, 0
- bge _08101A0A
- negs r0, r0
- str r0, [r1]
- b _08101A0A
- .align 2, 0
-_081019FC: .4byte gUnknown_203ACEC
-_08101A00:
- movs r0, 0x2
- adds r1, r2, 0
- movs r2, 0
- bl ChangeBgY
-_08101A0A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81019B0
-
- thumb_func_start sub_8101A10
-sub_8101A10: @ 8101A10
- push {lr}
- movs r0, 0x2
- bl GetBgY
- ldr r1, _08101A3C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0xB4
- lsls r3, 2
- adds r1, r2, r3
- ldr r1, [r1]
- cmp r0, r1
- beq _08101A40
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- b _08101A42
- .align 2, 0
-_08101A3C: .4byte gUnknown_203ACEC
-_08101A40:
- movs r0, 0
-_08101A42:
- pop {r1}
- bx r1
- thumb_func_end sub_8101A10
-
- thumb_func_start sub_8101A48
-sub_8101A48: @ 8101A48
- ldr r0, _08101A58 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08101A58: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101A48
-
- thumb_func_start sub_8101A5C
-sub_8101A5C: @ 8101A5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, r0, 8
- adds r0, r2
- orrs r4, r0
- lsls r5, r1, 8
- adds r1, r3
- orrs r5, r1
- movs r0, 0x40
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101A5C
-
- thumb_func_start sub_8101A90
-sub_8101A90: @ 8101A90
- push {r4,r5,lr}
- ldr r0, _08101AB8 @ =gUnknown_843F8F0
- bl LoadSpriteSheets
- ldr r0, _08101ABC @ =gUnknown_843F910
- bl LoadSpritePalettes
- movs r5, 0
- ldr r4, _08101AC0 @ =gUnknown_843F938
-_08101AA2:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bls _08101AA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08101AB8: .4byte gUnknown_843F8F0
-_08101ABC: .4byte gUnknown_843F910
-_08101AC0: .4byte gUnknown_843F938
- thumb_func_end sub_8101A90
-
- thumb_func_start sub_8101AC4
-sub_8101AC4: @ 8101AC4
- push {lr}
- bl sub_80FFCE0
- lsls r0, 24
- ldr r1, _08101B10 @ =gUnknown_843F888
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 19
- ldrb r2, [r0, 0x1]
- adds r2, 0x1
- lsls r2, 3
- adds r2, 0x1
- ldr r0, _08101B14 @ =gUnknown_843F968
- movs r3, 0xD0
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08101B18 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r1, 0xB6
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08101B1C @ =gSprites
- adds r1, r0
- str r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- pop {r0}
- bx r0
- .align 2, 0
-_08101B10: .4byte gUnknown_843F888
-_08101B14: .4byte gUnknown_843F968
-_08101B18: .4byte gUnknown_203ACEC
-_08101B1C: .4byte gSprites
- thumb_func_end sub_8101AC4
-
- thumb_func_start sub_8101B20
-sub_8101B20: @ 8101B20
- push {lr}
- adds r1, r0, 0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08101B4E
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101B4E
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _08101B4E
- ldr r0, _08101B54 @ =0x0000fffa
- strh r0, [r1, 0x24]
-_08101B4E:
- pop {r0}
- bx r0
- .align 2, 0
-_08101B54: .4byte 0x0000fffa
- thumb_func_end sub_8101B20
-
- thumb_func_start sub_8101B58
-sub_8101B58: @ 8101B58
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08101B84 @ =gUnknown_203ACEC
- ldr r2, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r2, r3
- ldr r3, [r2]
- movs r4, 0
- strh r0, [r3, 0x20]
- ldr r0, [r2]
- strh r1, [r0, 0x22]
- ldr r0, [r2]
- strh r4, [r0, 0x24]
- ldr r0, [r2]
- strh r4, [r0, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101B84: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101B58
-
- thumb_func_start sub_8101B88
-sub_8101B88: @ 8101B88
- ldr r0, _08101BA4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- movs r0, 0xB6
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0, 0x2E]
- ldr r0, [r1]
- strh r2, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- bx lr
- .align 2, 0
-_08101BA4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101B88
-
- thumb_func_start sub_8101BA8
-sub_8101BA8: @ 8101BA8
- ldr r0, _08101BBC @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB6
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- bx lr
- .align 2, 0
-_08101BBC: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101BA8
-
- thumb_func_start sub_8101BC0
-sub_8101BC0: @ 8101BC0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r6, _08101C38 @ =gUnknown_843F9B8
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08101C3C @ =gUnknown_203ACEC
- ldr r2, [r5]
- movs r1, 0xB7
- lsls r1, 2
- mov r8, r1
- add r2, r8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _08101C40 @ =gSprites
- adds r1, r4
- str r1, [r2]
- movs r0, 0x20
- strh r0, [r1, 0x24]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xB8
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- ldr r0, _08101C44 @ =0x0000ffe0
- strh r0, [r1, 0x24]
- add r2, r8
- ldr r1, [r2]
- adds r1, 0x3F
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- bl sub_8101C80
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C38: .4byte gUnknown_843F9B8
-_08101C3C: .4byte gUnknown_203ACEC
-_08101C40: .4byte gSprites
-_08101C44: .4byte 0x0000ffe0
- thumb_func_end sub_8101BC0
-
- thumb_func_start sub_8101C48
-sub_8101C48: @ 8101C48
- push {r4-r6,lr}
- ldr r5, _08101C7C @ =gUnknown_203ACEC
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r4, r0, r4
- movs r6, 0
- str r6, [r4]
- movs r4, 0xB8
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r0, r4
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101C48
-
- thumb_func_start sub_8101C80
-sub_8101C80: @ 8101C80
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08101CC8 @ =gUnknown_203ACEC
- ldr r1, [r0]
- movs r2, 0xB7
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08101CDC
- adds r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08101CDC
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FFE08
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08101CCC
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_8101CE4
- b _08101CDC
- .align 2, 0
-_08101CC8: .4byte gUnknown_203ACEC
-_08101CCC:
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_8101D9C
-_08101CDC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101C80
-
- thumb_func_start sub_8101CE4
-sub_8101CE4: @ 8101CE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08101D48
- ldr r0, _08101D44 @ =gUnknown_203ACEC
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r2, [r4]
- movs r0, 0x54
- muls r5, r0
- adds r5, 0x3A
- strh r5, [r2, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x60
- strh r4, [r0, 0x22]
- movs r6, 0xB8
- lsls r6, 2
- adds r1, r6
- ldr r0, [r1]
- movs r1, 0
- bl StartSpriteAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldr r1, [r0]
- strh r5, [r1, 0x20]
- b _08101D8A
- .align 2, 0
-_08101D44: .4byte gUnknown_203ACEC
-_08101D48:
- ldr r6, _08101D98 @ =gUnknown_203ACEC
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
-_08101D8A:
- ldr r0, [r0]
- strh r4, [r0, 0x22]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101D98: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101CE4
-
- thumb_func_start sub_8101D9C
-sub_8101D9C: @ 8101D9C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsrs r4, r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08101E2C
- lsls r0, r5, 24
- asrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, 0x60
- mov r8, r0
- movs r7, 0x20
- cmp r2, 0x6
- bne _08101DCE
- cmp r1, 0
- bne _08101DCE
- movs r7, 0x9D
- movs r6, 0x2
- b _08101DE4
-_08101DCE:
- ldr r3, _08101E24 @ =gUnknown_843F958
- lsls r1, r4, 24
- lsrs r0, r1, 24
- movs r2, 0
- cmp r0, 0x6
- bhi _08101DDC
- asrs r2, r1, 24
-_08101DDC:
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r7, r0
- movs r6, 0x3
-_08101DE4:
- ldr r5, _08101E28 @ =gUnknown_203ACEC
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- strh r7, [r0, 0x20]
- ldr r0, [r4]
- mov r2, r8
- strh r2, [r0, 0x22]
- movs r4, 0xB8
- lsls r4, 2
- adds r1, r4
- ldr r0, [r1]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- strh r7, [r1, 0x20]
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x22]
- b _08101E72
- .align 2, 0
-_08101E24: .4byte gUnknown_843F958
-_08101E28: .4byte gUnknown_203ACEC
-_08101E2C:
- ldr r6, _08101E7C @ =gUnknown_203ACEC
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r5, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
- ldr r0, [r0]
- strh r4, [r0, 0x22]
-_08101E72:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101E7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101D9C
-
- thumb_func_start sub_8101E80
-sub_8101E80: @ 8101E80
- push {lr}
- ldr r0, _08101EC4 @ =gUnknown_843F968
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08101EC8 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08101ECC @ =gSprites
- adds r1, r0
- str r1, [r2]
- ldr r0, _08101ED0 @ =sub_8101ED4
- str r0, [r1, 0x1C]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- bl sub_8101F04
- pop {r0}
- bx r0
- .align 2, 0
-_08101EC4: .4byte gUnknown_843F968
-_08101EC8: .4byte gUnknown_203ACEC
-_08101ECC: .4byte gSprites
-_08101ED0: .4byte sub_8101ED4
- thumb_func_end sub_8101E80
-
- thumb_func_start sub_8101ED4
-sub_8101ED4: @ 8101ED4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101EFA
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _08101EFA
- ldr r0, _08101F00 @ =0x0000fffa
- strh r0, [r1, 0x24]
-_08101EFA:
- pop {r0}
- bx r0
- .align 2, 0
-_08101F00: .4byte 0x0000fffa
- thumb_func_end sub_8101ED4
-
- thumb_func_start sub_8101F04
-sub_8101F04: @ 8101F04
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FFE34
- mov r0, sp
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD
- muls r0, r1
- adds r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 25
- movs r2, 0xB0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_8101F40
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101F04
-
- thumb_func_start sub_8101F40
-sub_8101F40: @ 8101F40
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _08101F7C @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB9
- lsls r1, 2
- adds r3, r0, r1
- ldr r1, [r3]
- cmp r1, 0
- beq _08101F74
- lsls r0, r2, 3
- adds r0, 0x4
- movs r2, 0
- strh r0, [r1, 0x20]
- ldr r1, [r3]
- adds r0, r4, 0x1
- lsls r0, 3
- adds r0, 0x1
- strh r0, [r1, 0x22]
- ldr r0, [r3]
- strh r2, [r0, 0x24]
- ldr r0, [r3]
- strh r2, [r0, 0x2E]
-_08101F74:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101F7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101F40
-
- thumb_func_start sub_8101F80
-sub_8101F80: @ 8101F80
- push {r4,lr}
- ldr r4, _08101FA8 @ =gUnknown_203ACEC
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08101FA2
- bl DestroySprite
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08101FA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101FA8: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101F80
-
- thumb_func_start sub_8101FAC
-sub_8101FAC: @ 8101FAC
- push {r4-r6,lr}
- ldr r0, _08102004 @ =gUnknown_843FA40
- movs r1, 0xD0
- movs r2, 0x80
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08102008 @ =gUnknown_203ACEC
- ldr r2, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _0810200C @ =gSprites
- adds r1, r4
- str r1, [r2]
- movs r6, 0
- ldr r0, _08102010 @ =0x0000ffc0
- strh r0, [r1, 0x24]
- ldr r0, _08102014 @ =gUnknown_843FA20
- movs r1, 0xD0
- movs r2, 0x50
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xBB
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- strb r6, [r2, 0x9]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08102004: .4byte gUnknown_843FA40
-_08102008: .4byte gUnknown_203ACEC
-_0810200C: .4byte gSprites
-_08102010: .4byte 0x0000ffc0
-_08102014: .4byte gUnknown_843FA20
- thumb_func_end sub_8101FAC
-
- thumb_func_start sub_8102018
-sub_8102018: @ 8102018
- push {r4,lr}
- ldr r4, _0810202C @ =gUnknown_203ACEC
- ldr r2, [r4]
- ldrb r3, [r2, 0x9]
- cmp r3, 0
- beq _08102030
- cmp r3, 0x1
- beq _08102088
- movs r0, 0
- b _081020A6
- .align 2, 0
-_0810202C: .4byte gUnknown_203ACEC
-_08102030:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- adds r0, 0x8
- strh r0, [r1, 0x24]
- ldr r2, [r2]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- blt _081020A4
- strh r3, [r2, 0x24]
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08102066
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08102076
-_08102066:
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_08102076:
- ldr r0, _08102084 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- b _081020A4
- .align 2, 0
-_08102084: .4byte gUnknown_203ACEC
-_08102088:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081020A4
- movs r0, 0x2
- strb r0, [r2, 0x9]
- movs r0, 0
- b _081020A6
-_081020A4:
- movs r0, 0x1
-_081020A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8102018
-
- thumb_func_start sub_81020AC
-sub_81020AC: @ 81020AC
- push {lr}
- ldr r2, _081020CC @ =gUnknown_203ACEC
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x9]
- ldr r0, [r2]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_081020CC: .4byte gUnknown_203ACEC
- thumb_func_end sub_81020AC
-
- thumb_func_start sub_81020D0
-sub_81020D0: @ 81020D0
- push {r4-r6,lr}
- ldr r5, _081020E4 @ =gUnknown_203ACEC
- ldr r3, [r5]
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _081020E8
- cmp r0, 0x1
- beq _08102102
- movs r0, 0
- b _08102154
- .align 2, 0
-_081020E4: .4byte gUnknown_203ACEC
-_081020E8:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r3, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08102152
- movs r0, 0x1
- strb r0, [r3, 0x9]
- b _08102152
-_08102102:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r3, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- subs r0, 0x8
- movs r6, 0
- strh r0, [r1, 0x24]
- ldr r0, [r2]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bgt _08102152
- movs r4, 0xBB
- lsls r4, 2
- adds r0, r3, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- ldr r1, [r5]
- adds r4, r1, r4
- str r6, [r4]
- movs r2, 0xBA
- lsls r2, 2
- adds r0, r1, r2
- str r6, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0
- b _08102154
-_08102152:
- movs r0, 0x1
-_08102154:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81020D0
-
- thumb_func_start sub_810215C
-sub_810215C: @ 810215C
- push {lr}
- ldr r0, _08102174 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_08102174: .4byte gUnknown_203ACEC
- thumb_func_end sub_810215C
-
- thumb_func_start sub_8102178
-sub_8102178: @ 8102178
- push {lr}
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _0810219C
- ldr r0, _08102198 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _081021AE
- .align 2, 0
-_08102198: .4byte gUnknown_203ACEC
-_0810219C:
- ldr r0, _081021B4 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_081021AE:
- pop {r0}
- bx r0
- .align 2, 0
-_081021B4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8102178
-
- thumb_func_start sub_81021B8
-sub_81021B8: @ 81021B8
- ldr r0, _081021D0 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsrs r1, 4
- movs r0, 0x1
- bics r0, r1
- bx lr
- .align 2, 0
-_081021D0: .4byte gUnknown_203ACEC
- thumb_func_end sub_81021B8
-
- thumb_func_start sub_81021D4
-sub_81021D4: @ 81021D4
- push {r4,lr}
- ldr r4, _08102240 @ =gUnknown_843FA98
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08102202
- ldr r0, _08102244 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBC
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102248 @ =gSprites
- adds r0, r1
- str r0, [r2]
-_08102202:
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08102236
- ldr r0, _08102244 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBD
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102248 @ =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_08102236:
- bl sub_81022B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102240: .4byte gUnknown_843FA98
-_08102244: .4byte gUnknown_203ACEC
-_08102248: .4byte gSprites
- thumb_func_end sub_81021D4
-
- thumb_func_start sub_810224C
-sub_810224C: @ 810224C
- push {r4-r6,lr}
- bl sub_80FFE64
- ldr r6, _081022AC @ =gUnknown_203ACEC
- ldr r1, [r6]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _08102266
- movs r2, 0x1
-_08102266:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_80FFE98
- ldr r1, [r6]
- movs r2, 0xBD
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _08102292
- movs r2, 0x1
-_08102292:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081022AC: .4byte gUnknown_203ACEC
- thumb_func_end sub_810224C
-
- thumb_func_start sub_81022B0
-sub_81022B0: @ 81022B0
- ldr r3, _081022DC @ =gUnknown_203ACEC
- ldr r0, [r3]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBD
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_081022DC: .4byte gUnknown_203ACEC
- thumb_func_end sub_81022B0
-
- thumb_func_start sub_81022E0
-sub_81022E0: @ 81022E0
- push {lr}
- cmp r0, 0
- bne _081022FC
- ldr r0, _081022F8 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x60
- b _0810230A
- .align 2, 0
-_081022F8: .4byte gUnknown_203ACEC
-_081022FC:
- ldr r0, _0810231C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x78
-_0810230A:
- strh r1, [r0, 0x20]
- movs r3, 0xBD
- lsls r3, 2
- adds r0, r2, r3
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- pop {r0}
- bx r0
- .align 2, 0
-_0810231C: .4byte gUnknown_203ACEC
- thumb_func_end sub_81022E0
-
- thumb_func_start sub_8102320
-sub_8102320: @ 8102320
- push {r4,lr}
- ldr r4, _08102388 @ =gUnknown_843FA80
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810234E
- ldr r0, _0810238C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBE
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102390 @ =gSprites
- adds r0, r1
- str r0, [r2]
-_0810234E:
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x9C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810237E
- ldr r0, _0810238C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBF
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102390 @ =gSprites
- adds r0, r1
- str r0, [r2]
- movs r1, 0x1
- bl StartSpriteAnim
-_0810237E:
- bl sub_81023F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102388: .4byte gUnknown_843FA80
-_0810238C: .4byte gUnknown_203ACEC
-_08102390: .4byte gSprites
- thumb_func_end sub_8102320
-
- thumb_func_start sub_8102394
-sub_8102394: @ 8102394
- push {r4-r6,lr}
- bl sub_80FFE64
- ldr r6, _081023F4 @ =gUnknown_203ACEC
- ldr r1, [r6]
- movs r2, 0xBE
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _081023AE
- movs r2, 0x1
-_081023AE:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_80FFE98
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _081023DA
- movs r2, 0x1
-_081023DA:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081023F4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8102394
-
- thumb_func_start sub_81023F8
-sub_81023F8: @ 81023F8
- ldr r3, _08102424 @ =gUnknown_203ACEC
- ldr r0, [r3]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBF
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08102424: .4byte gUnknown_203ACEC
- thumb_func_end sub_81023F8
-
- thumb_func_start sub_8102428
-sub_8102428: @ 8102428
- push {r4,lr}
- sub sp, 0x14
- ldr r3, _081024A8 @ =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r3
- movs r1, 0x3
- orrs r0, r1
- ldr r2, _081024AC @ =0xffff00ff
- ands r0, r2
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- ldr r1, _081024B0 @ =0xff00ffff
- ands r0, r1
- movs r1, 0xB0
- lsls r1, 12
- orrs r0, r1
- ldr r1, _081024B4 @ =0x00ffffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 21
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r3
- movs r1, 0x2
- orrs r0, r1
- ands r0, r2
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _081024B8 @ =0x0000ffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _081024BC @ =gUnknown_841EE2B
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
- adds r0, r4, 0
- bl PutWindowTilemap
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081024A8: .4byte 0xffffff00
-_081024AC: .4byte 0xffff00ff
-_081024B0: .4byte 0xff00ffff
-_081024B4: .4byte 0x00ffffff
-_081024B8: .4byte 0x0000ffff
-_081024BC: .4byte gUnknown_841EE2B
- thumb_func_end sub_8102428
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/event_object_80688E4.s b/asm/event_object_80688E4.s
deleted file mode 100644
index e850e2200..000000000
--- a/asm/event_object_80688E4.s
+++ /dev/null
@@ -1,1503 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FreezeObjectEvent
-FreezeObjectEvent: @ 80688E4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0xA0
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0806896C
- ldrb r0, [r5, 0x1]
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r5, 0x1]
- ldr r3, _08068968 @ =gSprites
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 31
- lsls r1, 7
- ldrb r2, [r5, 0x2]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x2]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- lsrs r1, 7
- ands r1, r4
- ldrb r2, [r5, 0x3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0
- b _0806896E
- .align 2, 0
-_08068968: .4byte gSprites
-_0806896C:
- movs r0, 0x1
-_0806896E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FreezeObjectEvent
-
- thumb_func_start FreezeObjectEvents
-FreezeObjectEvents: @ 8068974
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080689A8 @ =gObjectEvents
-_0806897A:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08068998
- ldr r0, _080689AC @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _08068998
- adds r0, r1, 0
- bl FreezeObjectEvent
-_08068998:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _0806897A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080689A8: .4byte gObjectEvents
-_080689AC: .4byte gPlayerAvatar
- thumb_func_end FreezeObjectEvents
-
- thumb_func_start FreezeObjectEventsExceptOne
-FreezeObjectEventsExceptOne: @ 80689B0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _080689EC @ =gObjectEvents
-_080689BA:
- cmp r4, r5
- beq _080689DC
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r6
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _080689DC
- ldr r0, _080689F0 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- beq _080689DC
- adds r0, r1, 0
- bl FreezeObjectEvent
-_080689DC:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080689BA
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080689EC: .4byte gObjectEvents
-_080689F0: .4byte gPlayerAvatar
- thumb_func_end FreezeObjectEventsExceptOne
-
- thumb_func_start UnfreezeObjectEvent
-UnfreezeObjectEvent: @ 80689F4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r2, [r5]
- ldr r1, _08068A54 @ =0x00000101
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- bne _08068A4C
- ldrb r1, [r5, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- ldr r4, _08068A58 @ =gSprites
- ldrb r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r5, 0x2]
- adds r1, 0x2C
- lsrs r2, 7
- lsls r2, 6
- ldrb r3, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- ldrb r1, [r5, 0x3]
- lsls r1, 31
- lsrs r1, 31
- adds r2, 0x2C
- lsls r1, 7
- ldrb r3, [r2]
- movs r0, 0x7F
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
-_08068A4C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068A54: .4byte 0x00000101
-_08068A58: .4byte gSprites
- thumb_func_end UnfreezeObjectEvent
-
- thumb_func_start UnfreezeObjectEvents
-UnfreezeObjectEvents: @ 8068A5C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _08068A88 @ =gObjectEvents
-_08068A62:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08068A78
- adds r0, r1, 0
- bl UnfreezeObjectEvent
-_08068A78:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08068A62
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068A88: .4byte gObjectEvents
- thumb_func_end UnfreezeObjectEvents
-
- thumb_func_start little_step
-little_step: @ 8068A8C
- lsls r1, 24
- ldr r2, _08068AA8 @ =sDirectionToVectors
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08068AA8: .4byte sDirectionToVectors
- thumb_func_end little_step
-
- thumb_func_start double_little_steps
-double_little_steps: @ 8068AAC
- lsls r1, 24
- ldr r2, _08068ACC @ =sDirectionToVectors
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 1
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 1
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08068ACC: .4byte sDirectionToVectors
- thumb_func_end double_little_steps
-
- thumb_func_start triple_little_steps
-triple_little_steps: @ 8068AD0
- lsls r1, 24
- ldr r2, _08068AF4 @ =sDirectionToVectors
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r3, r2, 1
- adds r2, r3
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r2, r1, 1
- adds r1, r2
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08068AF4: .4byte sDirectionToVectors
- thumb_func_end triple_little_steps
-
- thumb_func_start quad_little_steps
-quad_little_steps: @ 8068AF8
- lsls r1, 24
- ldr r2, _08068B18 @ =sDirectionToVectors
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 2
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 2
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08068B18: .4byte sDirectionToVectors
- thumb_func_end quad_little_steps
-
- thumb_func_start oct_little_steps
-oct_little_steps: @ 8068B1C
- lsls r1, 24
- ldr r2, _08068B3C @ =sDirectionToVectors
- lsrs r1, 22
- adds r1, r2
- ldrh r2, [r1]
- lsls r2, 3
- ldrh r3, [r0, 0x20]
- adds r2, r3
- strh r2, [r0, 0x20]
- ldrh r1, [r1, 0x2]
- lsls r1, 3
- ldrh r2, [r0, 0x22]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_08068B3C: .4byte sDirectionToVectors
- thumb_func_end oct_little_steps
-
- thumb_func_start oamt_npc_ministep_reset
-oamt_npc_ministep_reset: @ 8068B40
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r3, [r0, 0x38]
- bx lr
- thumb_func_end oamt_npc_ministep_reset
-
- thumb_func_start obj_npc_ministep
-obj_npc_ministep: @ 8068B54
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08068BAC @ =gUnknown_83A71B0
- movs r0, 0x36
- ldrsh r2, [r4, r0]
- lsls r0, r2, 1
- adds r0, r5
- movs r3, 0x38
- ldrsh r1, [r4, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _08068BB4
- ldr r1, _08068BB0 @ =gUnknown_83A719C
- lsls r0, r2, 2
- adds r0, r1
- movs r1, 0x38
- ldrsh r2, [r4, r1]
- ldr r0, [r0]
- lsls r2, 2
- adds r2, r0
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r5
- lsls r0, 16
- asrs r0, 16
- movs r3, 0
- ldrsh r1, [r1, r3]
- cmp r0, r1
- blt _08068BB4
- movs r0, 0x1
- b _08068BB6
- .align 2, 0
-_08068BAC: .4byte gUnknown_83A71B0
-_08068BB0: .4byte gUnknown_83A719C
-_08068BB4:
- movs r0, 0
-_08068BB6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end obj_npc_ministep
-
- thumb_func_start sub_8068BBC
-sub_8068BBC: @ 8068BBC
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8068BBC
-
- thumb_func_start sub_8068BCC
-sub_8068BCC: @ 8068BCC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x36]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08068BEC
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_08068BEC:
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bgt _08068BFE
- movs r0, 0
- b _08068C00
-_08068BFE:
- movs r0, 0x1
-_08068C00:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8068BCC
-
- thumb_func_start sub_8068C08
-sub_8068C08: @ 8068C08
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8068C08
-
- thumb_func_start sub_8068C18
-sub_8068C18: @ 8068C18
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bgt _08068C3E
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _08068C42
-_08068C3E:
- movs r0, 0
- strh r0, [r4, 0x36]
-_08068C42:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bgt _08068C4E
- movs r0, 0
- b _08068C50
-_08068C4E:
- movs r0, 0x1
-_08068C50:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8068C18
-
- thumb_func_start sub_8068C58
-sub_8068C58: @ 8068C58
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8068C58
-
- thumb_func_start sub_8068C68
-sub_8068C68: @ 8068C68
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _08068C90
- movs r0, 0
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
-_08068C90:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bgt _08068C9C
- movs r0, 0
- b _08068C9E
-_08068C9C:
- movs r0, 0x1
-_08068C9E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8068C68
-
- thumb_func_start sub_8068CA4
-sub_8068CA4: @ 8068CA4
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_8068CA4
-
- thumb_func_start sub_8068CB4
-sub_8068CB4: @ 8068CB4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068CD8
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- b _08068CE8
-_08068CD8:
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl double_little_steps
- ldrh r0, [r4, 0x38]
- adds r0, 0x2
-_08068CE8:
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bgt _08068CF6
- movs r0, 0
- b _08068CF8
-_08068CF6:
- movs r0, 0x1
-_08068CF8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8068CB4
-
- thumb_func_start sub_8068D00
-sub_8068D00: @ 8068D00
- lsls r1, 24
- ldr r2, _08068D18 @ =gUnknown_83A71EC
- lsrs r1, 22
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- bx lr
- .align 2, 0
-_08068D18: .4byte gUnknown_83A71EC
- thumb_func_end sub_8068D00
-
- thumb_func_start sub_8068D1C
-sub_8068D1C: @ 8068D1C
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0
- strh r1, [r0, 0x34]
- strh r2, [r0, 0x36]
- strh r3, [r0, 0x38]
- strh r4, [r0, 0x3A]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8068D1C
-
- thumb_func_start sub_8068D3C
-sub_8068D3C: @ 8068D3C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, _08068DBC @ =gUnknown_83A71F8
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r5, sp, 0x8
- ldr r1, _08068DC0 @ =gUnknown_83A71FE
- adds r0, r5, 0
- movs r2, 0x3
- bl memcpy
- movs r6, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08068D6E
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl little_step
-_08068D6E:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- adds r1, r5, r1
- ldrb r1, [r1]
- asrs r0, r1
- ldrh r1, [r4, 0x38]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8068D00
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x3A]
- adds r1, 0x1
- strh r1, [r4, 0x3A]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 17
- cmp r1, r0
- bne _08068DA8
- movs r6, 0x1
-_08068DA8:
- cmp r1, r2
- blt _08068DB2
- movs r0, 0
- strh r0, [r4, 0x26]
- movs r6, 0xFF
-_08068DB2:
- adds r0, r6, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08068DBC: .4byte gUnknown_83A71F8
-_08068DC0: .4byte gUnknown_83A71FE
- thumb_func_end sub_8068D3C
-
- thumb_func_start sub_8068DC4
-sub_8068DC4: @ 8068DC4
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r1, _08068E50 @ =gUnknown_83A7202
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x8
- ldr r1, _08068E54 @ =gUnknown_83A7208
- adds r0, r4, 0
- movs r2, 0x3
- bl memcpy
- movs r6, 0
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08068E00
- ldrh r1, [r5, 0x3A]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08068E00
- ldrh r1, [r5, 0x34]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl little_step
-_08068E00:
- movs r2, 0x3A
- ldrsh r0, [r5, r2]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- adds r1, r4, r1
- ldrb r1, [r1]
- asrs r0, r1
- ldrh r1, [r5, 0x38]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8068D00
- strh r0, [r5, 0x26]
- ldrh r1, [r5, 0x3A]
- adds r1, 0x1
- strh r1, [r5, 0x3A]
- movs r2, 0x36
- ldrsh r0, [r5, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 17
- cmp r1, r0
- bne _08068E3A
- movs r6, 0x1
-_08068E3A:
- cmp r1, r2
- blt _08068E44
- movs r0, 0
- strh r0, [r5, 0x26]
- movs r6, 0xFF
-_08068E44:
- adds r0, r6, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08068E50: .4byte gUnknown_83A7202
-_08068E54: .4byte gUnknown_83A7208
- thumb_func_end sub_8068DC4
-
- thumb_func_start SetMovementDelay
-SetMovementDelay: @ 8068E58
- strh r1, [r0, 0x34]
- bx lr
- thumb_func_end SetMovementDelay
-
- thumb_func_start WaitForMovementDelay
-WaitForMovementDelay: @ 8068E5C
- push {lr}
- ldrh r1, [r0, 0x34]
- subs r1, 0x1
- strh r1, [r0, 0x34]
- lsls r1, 16
- cmp r1, 0
- beq _08068E6E
- movs r0, 0
- b _08068E70
-_08068E6E:
- movs r0, 0x1
-_08068E70:
- pop {r1}
- bx r1
- thumb_func_end WaitForMovementDelay
-
- thumb_func_start SetAndStartSpriteAnim
-SetAndStartSpriteAnim: @ 8068E74
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- adds r3, r0, 0
- adds r3, 0x2A
- strb r1, [r3]
- adds r4, r0, 0
- adds r4, 0x2C
- ldrb r3, [r4]
- movs r1, 0x41
- negs r1, r1
- ands r1, r3
- strb r1, [r4]
- adds r1, r2, 0
- bl SeekSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SetAndStartSpriteAnim
-
- thumb_func_start SpriteAnimEnded
-SpriteAnimEnded: @ 8068E9C
- push {lr}
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08068EAE
- movs r0, 0
- b _08068EB0
-_08068EAE:
- movs r0, 0x1
-_08068EB0:
- pop {r1}
- bx r1
- thumb_func_end SpriteAnimEnded
-
- thumb_func_start sub_8068EB4
-sub_8068EB4: @ 8068EB4
- push {r4-r6,lr}
- mov r12, r0
- lsls r1, 24
- lsrs r1, 24
- mov r3, r12
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08068F1C
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- mov r4, r12
- adds r4, 0x28
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r2, _08068F14 @ =gSpriteCoordOffsetX
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r12
- ldrh r1, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- subs r3, 0x15
- movs r0, 0
- ldrsb r0, [r3, r0]
- ldr r2, _08068F18 @ =gSpriteCoordOffsetY
- adds r0, r1
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r2, r3, 0
- b _08068F4A
- .align 2, 0
-_08068F14: .4byte gSpriteCoordOffsetX
-_08068F18: .4byte gSpriteCoordOffsetY
-_08068F1C:
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- mov r3, r12
- adds r3, 0x28
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r12
- ldrh r1, [r0, 0x26]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- mov r2, r12
- adds r2, 0x29
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, r3, 0
-_08068F4A:
- ldrb r0, [r4]
- lsls r0, 24
- asrs r0, 25
- subs r0, r6, r0
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r2]
- lsls r0, 24
- asrs r0, 25
- subs r0, r5, r0
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _08068F76
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08068F82
-_08068F76:
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
-_08068F82:
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _08068F96
- lsls r0, r2, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _08068FA2
-_08068F96:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08068FA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8068EB4
-
- thumb_func_start UpdateObjectEventSpriteSubpriorityAndVisibility
-UpdateObjectEventSpriteSubpriorityAndVisibility: @ 8068FA8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8069248
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
- ldrh r1, [r4, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8068EB4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end UpdateObjectEventSpriteSubpriorityAndVisibility
-
- thumb_func_start sub_8068FD0
-sub_8068FD0: @ 8068FD0
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0x3F
-_08068FD6:
- ldr r0, _08069004 @ =gSprites
- adds r2, r5, r0
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068FF6
- ldr r1, [r2, 0x1C]
- ldr r0, _08069008 @ =UpdateObjectEventSpriteSubpriorityAndVisibility
- cmp r1, r0
- bne _08068FF6
- adds r0, r2, 0
- bl DestroySprite
-_08068FF6:
- adds r5, 0x44
- subs r4, 0x1
- cmp r4, 0
- bge _08068FD6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08069004: .4byte gSprites
-_08069008: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility
- thumb_func_end sub_8068FD0
-
- thumb_func_start sub_806900C
-sub_806900C: @ 806900C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r6, _08069040 @ =gSprites
- movs r4, 0
-_08069018:
- adds r2, r4, r6
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08069048
- ldr r1, [r2, 0x1C]
- ldr r0, _08069044 @ =UpdateObjectEventSpriteSubpriorityAndVisibility
- cmp r1, r0
- bne _08069048
- ldrh r0, [r2, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r5
- bne _08069048
- adds r0, r3, 0
- b _08069052
- .align 2, 0
-_08069040: .4byte gSprites
-_08069044: .4byte UpdateObjectEventSpriteSubpriorityAndVisibility
-_08069048:
- adds r4, 0x44
- adds r3, 0x1
- cmp r3, 0x3F
- ble _08069018
- movs r0, 0x40
-_08069052:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_806900C
-
- thumb_func_start sub_8069058
-sub_8069058: @ 8069058
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_806900C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0806908A
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08069090 @ =gSprites
- adds r4, r0
- adds r0, r5, 0
- bl GetFaceDirectionAnimNum
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_0806908A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08069090: .4byte gSprites
- thumb_func_end sub_8069058
-
- thumb_func_start sub_8069094
-sub_8069094: @ 8069094
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_806900C
- adds r1, r0, 0
- cmp r1, 0x40
- beq _0806911E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080690F8 @ =gSprites
- adds r4, r0, r1
- adds r0, r5, 0
- bl GetObjectEventGraphicsInfo
- ldrh r3, [r4, 0x4]
- lsls r3, 22
- ldr r1, [r0, 0x10]
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r4]
- str r2, [r4, 0x4]
- lsrs r3, 22
- ldrh r2, [r4, 0x4]
- ldr r1, _080690FC @ =0xfffffc00
- ands r1, r2
- orrs r1, r3
- strh r1, [r4, 0x4]
- ldrb r2, [r0, 0xC]
- lsls r2, 28
- lsrs r2, 24
- ldrb r3, [r4, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r2
- strb r1, [r4, 0x5]
- ldr r1, [r0, 0x1C]
- str r1, [r4, 0xC]
- ldr r1, [r0, 0x14]
- cmp r1, 0
- bne _08069100
- str r1, [r4, 0x18]
- adds r0, r4, 0
- adds r0, 0x42
- strb r1, [r0]
- b _08069116
- .align 2, 0
-_080690F8: .4byte gSprites
-_080690FC: .4byte 0xfffffc00
-_08069100:
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r2, r4, 0
- adds r2, 0x42
- ldrb r0, [r2]
- movs r1, 0x3F
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2]
-_08069116:
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_0806911E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8069094
-
- thumb_func_start sub_8069124
-sub_8069124: @ 8069124
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- bl sub_806900C
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- cmp r2, 0x40
- beq _08069160
- cmp r4, 0
- beq _08069154
- ldr r0, _08069150 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x32]
- b _08069160
- .align 2, 0
-_08069150: .4byte gSprites
-_08069154:
- ldr r1, _08069168 @ =gSprites
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- strh r4, [r0, 0x32]
-_08069160:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08069168: .4byte gSprites
- thumb_func_end sub_8069124
-
- thumb_func_start sub_806916C
-sub_806916C: @ 806916C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_806900C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- bne _08069182
- movs r0, 0
- b _0806919A
-_08069182:
- movs r3, 0
- ldr r0, _080691A0 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _08069198
- movs r3, 0x1
-_08069198:
- adds r0, r3, 0
-_0806919A:
- pop {r1}
- bx r1
- .align 2, 0
-_080691A0: .4byte gSprites
- thumb_func_end sub_806916C
-
- thumb_func_start sub_80691A4
-sub_80691A4: @ 80691A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806900C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080691CA
- ldr r0, _080691D0 @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0
- strh r4, [r1, 0x34]
- strh r0, [r1, 0x36]
-_080691CA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080691D0: .4byte gSprites
- thumb_func_end sub_80691A4
-
- thumb_func_start sub_80691D4
-sub_80691D4: @ 80691D4
- push {lr}
- adds r2, r0, 0
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080691E6
- cmp r0, 0x1
- beq _080691EE
- b _0806920C
-_080691E6:
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x36]
- adds r0, 0x1
- strh r0, [r2, 0x36]
-_080691EE:
- ldrh r0, [r2, 0x26]
- subs r0, 0x8
- movs r3, 0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA0
- negs r1, r1
- cmp r0, r1
- bne _0806920C
- strh r3, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r2, 0x32]
- strh r3, [r2, 0x34]
- strh r3, [r2, 0x36]
-_0806920C:
- pop {r0}
- bx r0
- thumb_func_end sub_80691D4
-
- thumb_func_start sub_8069210
-sub_8069210: @ 8069210
- push {lr}
- adds r1, r0, 0
- movs r2, 0x36
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08069222
- cmp r0, 0x1
- beq _0806922C
- b _0806923E
-_08069222:
- ldr r0, _08069244 @ =0x0000ff60
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
-_0806922C:
- ldrh r0, [r1, 0x26]
- adds r0, 0x8
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0806923E
- strh r0, [r1, 0x34]
- strh r0, [r1, 0x36]
-_0806923E:
- pop {r0}
- bx r0
- .align 2, 0
-_08069244: .4byte 0x0000ff60
- thumb_func_end sub_8069210
-
- thumb_func_start sub_8069248
-sub_8069248: @ 8069248
- push {lr}
- adds r1, r0, 0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _08069264
- cmp r0, 0x1
- bgt _0806925E
- cmp r0, 0
- beq _08069284
- b _08069274
-_0806925E:
- cmp r0, 0x2
- beq _0806926C
- b _08069274
-_08069264:
- adds r0, r1, 0
- bl sub_8069210
- b _08069284
-_0806926C:
- adds r0, r1, 0
- bl sub_80691D4
- b _08069284
-_08069274:
- movs r0, 0
- strh r0, [r1, 0x34]
- ldr r0, _08069288 @ =gUnknown_83A720C "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c"
- ldr r1, _0806928C @ =0x00003413
- ldr r2, _08069290 @ =gUnknown_83A7240 "0"
- movs r3, 0x1
- bl AGBAssert
-_08069284:
- pop {r0}
- bx r0
- .align 2, 0
-_08069288: .4byte gUnknown_83A720C
-_0806928C: .4byte 0x00003413
-_08069290: .4byte gUnknown_83A7240
- thumb_func_end sub_8069248
-
- thumb_func_start sub_8069294
-sub_8069294: @ 8069294
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_806900C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080692B8
- ldr r0, _080692BC @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080692C0
-_080692B8:
- movs r0, 0
- b _080692C2
- .align 2, 0
-_080692BC: .4byte gSprites
-_080692C0:
- movs r0, 0x1
-_080692C2:
- pop {r1}
- bx r1
- thumb_func_end sub_8069294
-
- thumb_func_start oe_exec_and_other_stuff
-oe_exec_and_other_stuff: @ 80692C8
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080692EC @ =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- bl ObjectEventGetLocalIdAndMap
- adds r0, r4, 0
- bl FieldEffectStart
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080692EC: .4byte gFieldEffectArguments
- thumb_func_end oe_exec_and_other_stuff
-
- thumb_func_start DoShadowFieldEffect
-DoShadowFieldEffect: @ 80692F0
- push {lr}
- adds r1, r0, 0
- ldrb r2, [r1, 0x2]
- lsls r0, r2, 25
- cmp r0, 0
- blt _08069308
- movs r0, 0x40
- orrs r0, r2
- strb r0, [r1, 0x2]
- movs r0, 0x3
- bl oe_exec_and_other_stuff
-_08069308:
- pop {r0}
- bx r0
- thumb_func_end DoShadowFieldEffect
-
- thumb_func_start DoRippleFieldEffect
-DoRippleFieldEffect: @ 806930C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x5]
- bl GetObjectEventGraphicsInfo
- ldr r2, _08069344 @ =gFieldEffectArguments
- movs r3, 0x20
- ldrsh r1, [r4, r3]
- str r1, [r2]
- movs r3, 0x22
- ldrsh r1, [r4, r3]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- adds r1, r0
- subs r1, 0x2
- str r1, [r2, 0x4]
- movs r0, 0x97
- str r0, [r2, 0x8]
- movs r0, 0x3
- str r0, [r2, 0xC]
- movs r0, 0x5
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08069344: .4byte gFieldEffectArguments
- thumb_func_end DoRippleFieldEffect
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s
index 06e977258..0b3eb41af 100644
--- a/asm/event_object_movement.s
+++ b/asm/event_object_movement.s
@@ -4,4 +4,1891 @@
.syntax unified
.text
+
+ thumb_func_start GetAllGroundEffectFlags_OnSpawn
+GetAllGroundEffectFlags_OnSpawn: @ 8067B34
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Reflection
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_TallGrassOnSpawn
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_LongGrassOnSpawn
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_SandHeap
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShallowFlowingWater
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShortGrass
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_HotSprings
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetAllGroundEffectFlags_OnSpawn
+
+ thumb_func_start GetAllGroundEffectFlags_OnBeginStep
+GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Reflection
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_TallGrassOnBeginStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_LongGrassOnBeginStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Tracks
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_SandHeap
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShallowFlowingWater
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Puddle
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShortGrass
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_HotSprings
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetAllGroundEffectFlags_OnBeginStep
+
+ thumb_func_start GetAllGroundEffectFlags_OnFinishStep
+GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ bl ObjectEventUpdateMetatileBehaviors
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShallowFlowingWater
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_SandHeap
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Puddle
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Ripple
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_ShortGrass
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_HotSprings
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_Seaweed
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl GetGroundEffectFlags_JumpLanding
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetAllGroundEffectFlags_OnFinishStep
+
+ thumb_func_start ObjectEventUpdateMetatileBehaviors
+ObjectEventUpdateMetatileBehaviors: @ 8067C24
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ movs r2, 0x16
+ ldrsh r1, [r4, r2]
+ bl MapGridGetMetatileBehaviorAt
+ strb r0, [r4, 0x1F]
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ bl MapGridGetMetatileBehaviorAt
+ strb r0, [r4, 0x1E]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventUpdateMetatileBehaviors
+
+ thumb_func_start GetGroundEffectFlags_Reflection
+GetGroundEffectFlags_Reflection: @ 8067C4C
+ push {r4,r5,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldr r0, _08067C90 @ =gUnknown_83A7024
+ ldr r1, [r0, 0x4]
+ ldr r0, [r0]
+ str r0, [sp]
+ str r1, [sp, 0x4]
+ adds r0, r4, 0
+ bl sub_8067F88
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0
+ beq _08067C94
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 30
+ cmp r0, 0
+ blt _08067C9E
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r4, 0x2]
+ subs r0, r2, 0x1
+ lsls r0, 2
+ add r0, sp
+ ldr r1, [r5]
+ ldr r0, [r0]
+ orrs r1, r0
+ str r1, [r5]
+ b _08067C9E
+ .align 2, 0
+_08067C90: .4byte gUnknown_83A7024
+_08067C94:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067C9E:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Reflection
+
+ thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
+GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsTallGrass_2
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067CC0
+ ldr r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ str r0, [r4]
+_08067CC0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
+
+ thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
+GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsTallGrass_2
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067CE0
+ ldr r0, [r4]
+ movs r1, 0x2
+ orrs r0, r1
+ str r0, [r4]
+_08067CE0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
+
+ thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
+GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D00
+ ldr r0, [r4]
+ movs r1, 0x4
+ orrs r0, r1
+ str r0, [r4]
+_08067D00:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
+
+ thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
+GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D20
+ ldr r0, [r4]
+ movs r1, 0x8
+ orrs r0, r1
+ str r0, [r4]
+_08067D20:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
+
+ thumb_func_start GetGroundEffectFlags_Tracks
+GetGroundEffectFlags_Tracks: @ 8067D28
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D42
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 1
+ b _08067D5E
+_08067D42:
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsMB21OrSand
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067D5A
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_5
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067D62
+_08067D5A:
+ ldr r0, [r5]
+ movs r1, 0x80
+_08067D5E:
+ orrs r0, r1
+ str r0, [r5]
+_08067D62:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Tracks
+
+ thumb_func_start GetGroundEffectFlags_SandHeap
+GetGroundEffectFlags_SandHeap: @ 8067D68
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DA6
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DA6
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 27
+ cmp r0, 0
+ blt _08067DB0
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x10
+ orrs r0, r1
+ strb r0, [r4, 0x2]
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 4
+ orrs r0, r1
+ str r0, [r5]
+ b _08067DB0
+_08067DA6:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067DB0:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_SandHeap
+
+ thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
+GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_IsWaterfallBottom
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067DD6
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsWaterfallBottom
+ lsls r0, 24
+ cmp r0, 0
+ bne _08067DEE
+_08067DD6:
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse_10
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E0C
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_10
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E0C
+_08067DEE:
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 28
+ cmp r0, 0
+ blt _08067E16
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x8
+ orrs r0, r1
+ strb r0, [r4, 0x2]
+ ldr r0, [r5]
+ movs r1, 0x40
+ orrs r0, r1
+ str r0, [r5]
+ b _08067E16
+_08067E0C:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067E16:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
+
+ thumb_func_start GetGroundEffectFlags_Puddle
+GetGroundEffectFlags_Puddle: @ 8067E1C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_IsPuddle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E44
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsPuddle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E44
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 3
+ orrs r0, r1
+ str r0, [r5]
+_08067E44:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Puddle
+
+ thumb_func_start GetGroundEffectFlags_Ripple
+GetGroundEffectFlags_Ripple: @ 8067E4C
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsPondWaterOrPuddle
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067E66
+ ldr r0, [r4]
+ movs r1, 0x80
+ lsls r1, 2
+ orrs r0, r1
+ str r0, [r4]
+_08067E66:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Ripple
+
+ thumb_func_start GetGroundEffectFlags_ShortGrass
+GetGroundEffectFlags_ShortGrass: @ 8067E6C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_ReturnFalse_8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EAA
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_ReturnFalse_8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EAA
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 29
+ cmp r0, 0
+ blt _08067EB4
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4, 0x2]
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 10
+ orrs r0, r1
+ str r0, [r5]
+ b _08067EB4
+_08067EAA:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067EB4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_ShortGrass
+
+ thumb_func_start GetGroundEffectFlags_HotSprings
+GetGroundEffectFlags_HotSprings: @ 8067EBC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x1E]
+ bl MetatileBehavior_IsHotSprings
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EFA
+ ldrb r0, [r4, 0x1F]
+ bl MetatileBehavior_IsHotSprings
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067EFA
+ ldrb r1, [r4, 0x2]
+ lsls r0, r1, 26
+ cmp r0, 0
+ blt _08067F04
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x20
+ orrs r0, r1
+ strb r0, [r4, 0x2]
+ ldr r0, [r5]
+ movs r1, 0x80
+ lsls r1, 11
+ orrs r0, r1
+ str r0, [r5]
+ b _08067F04
+_08067EFA:
+ ldrb r1, [r4, 0x2]
+ movs r0, 0x21
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r4, 0x2]
+_08067F04:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_HotSprings
+
+ thumb_func_start GetGroundEffectFlags_Seaweed
+GetGroundEffectFlags_Seaweed: @ 8067F0C
+ push {r4,lr}
+ adds r4, r1, 0
+ ldrb r0, [r0, 0x1E]
+ bl MetatileBehavior_IsMB22
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067F26
+ ldr r0, [r4]
+ movs r1, 0x80
+ lsls r1, 12
+ orrs r0, r1
+ str r0, [r4]
+_08067F26:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_Seaweed
+
+ thumb_func_start GetGroundEffectFlags_JumpLanding
+GetGroundEffectFlags_JumpLanding: @ 8067F2C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ adds r6, r1, 0
+ ldr r0, [r7]
+ ldr r1, _08067F68 @ =0x02000020
+ ands r0, r1
+ cmp r0, 0x20
+ bne _08067F7E
+ movs r5, 0
+ ldr r0, _08067F6C @ =gUnknown_83A702C
+ mov r8, r0
+_08067F46:
+ lsls r4, r5, 2
+ mov r0, r8
+ adds r1, r4, r0
+ ldrb r0, [r7, 0x1E]
+ ldr r1, [r1]
+ bl _call_via_r1
+ lsls r0, 24
+ cmp r0, 0
+ beq _08067F74
+ ldr r0, _08067F70 @ =gUnknown_83A7044
+ adds r0, r4, r0
+ ldr r1, [r6]
+ ldr r0, [r0]
+ orrs r1, r0
+ str r1, [r6]
+ b _08067F7E
+ .align 2, 0
+_08067F68: .4byte 0x02000020
+_08067F6C: .4byte gUnknown_83A702C
+_08067F70: .4byte gUnknown_83A7044
+_08067F74:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _08067F46
+_08067F7E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end GetGroundEffectFlags_JumpLanding
+
+ thumb_func_start sub_8067F88
+sub_8067F88: @ 8067F88
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ ldrb r0, [r5, 0x5]
+ bl GetObjectEventGraphicsInfo
+ movs r4, 0
+ movs r0, 0x1
+ mov r10, r0
+_08067FA0:
+ movs r1, 0x10
+ ldrsh r0, [r5, r1]
+ ldrh r1, [r5, 0x12]
+ add r1, r10
+ lsls r4, 16
+ asrs r6, r4, 16
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r4
+ cmp r0, 0
+ bne _080680BA
+ movs r3, 0x14
+ ldrsh r0, [r5, r3]
+ ldrh r1, [r5, 0x16]
+ add r1, r10
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ movs r2, 0x1
+ lsls r0, r2, 16
+ asrs r1, r0, 16
+ mov r8, r0
+ cmp r2, r1
+ bge _080680A8
+ movs r0, 0x80
+ lsls r0, 9
+ asrs r7, r0, 16
+_08067FFC:
+ ldrh r0, [r5, 0x10]
+ lsls r1, r2, 16
+ asrs r4, r1, 16
+ adds r0, r4, r0
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x12]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x10]
+ subs r0, r4
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x12]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x14]
+ adds r0, r4, r0
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x16]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ ldrh r0, [r5, 0x14]
+ subs r0, r4
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r5, 0x16]
+ adds r1, r7, r1
+ adds r1, r6, r1
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetReflectionTypeByMetatileBehavior
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080680BA
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ asrs r0, 16
+ mov r3, r8
+ asrs r1, r3, 16
+ cmp r0, r1
+ blt _08067FFC
+_080680A8:
+ movs r0, 0x80
+ lsls r0, 9
+ add r0, r9
+ lsrs r4, r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ bge _080680B8
+ b _08067FA0
+_080680B8:
+ movs r0, 0
+_080680BA:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8067F88
+
+ thumb_func_start GetReflectionTypeByMetatileBehavior
+GetReflectionTypeByMetatileBehavior: @ 80680C8
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl MetatileBehavior_IsIce
+ lsls r0, 24
+ cmp r0, 0
+ beq _080680DE
+ movs r0, 0x1
+ b _080680F0
+_080680DE:
+ adds r0, r4, 0
+ bl MetatileBehavior_IsReflective
+ lsls r0, 24
+ cmp r0, 0
+ bne _080680EE
+ movs r0, 0
+ b _080680F0
+_080680EE:
+ movs r0, 0x2
+_080680F0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetReflectionTypeByMetatileBehavior
+
+ thumb_func_start GetLedgeJumpDirection
+GetLedgeJumpDirection: @ 80680F8
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r3, r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ lsls r2, 24
+ lsrs r4, r2, 24
+ cmp r4, 0
+ beq _0806813E
+ cmp r4, 0x4
+ bls _08068114
+ subs r0, r4, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08068114:
+ subs r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r3, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetMetatileBehaviorAt
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08068144 @ =gUnknown_83A705C
+ lsls r1, r4, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl _call_via_r1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08068148
+_0806813E:
+ movs r0, 0
+ b _0806814E
+ .align 2, 0
+_08068144: .4byte gUnknown_83A705C
+_08068148:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+_0806814E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end GetLedgeJumpDirection
+
+ thumb_func_start ObjectEventSetSpriteOamTableForLongGrass
+ObjectEventSetSpriteOamTableForLongGrass: @ 8068154
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldrb r0, [r5]
+ lsls r0, 27
+ cmp r0, 0
+ blt _080681A8
+ ldrb r0, [r5, 0x1E]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _080681A8
+ ldrb r0, [r5, 0x1F]
+ bl MetatileBehavior_IsLongGrass
+ lsls r0, 24
+ cmp r0, 0
+ beq _080681A8
+ adds r4, 0x42
+ ldrb r1, [r4]
+ movs r6, 0x40
+ negs r6, r6
+ adds r0, r6, 0
+ ands r0, r1
+ movs r1, 0x4
+ orrs r0, r1
+ strb r0, [r4]
+ ldrb r0, [r5, 0xB]
+ lsrs r0, 4
+ bl ZCoordToPriority
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080681A8
+ ldrb r0, [r4]
+ adds r1, r6, 0
+ ands r1, r0
+ movs r0, 0x5
+ orrs r1, r0
+ strb r1, [r4]
+_080681A8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventSetSpriteOamTableForLongGrass
+
+ thumb_func_start IsZCoordMismatchAt
+IsZCoordMismatchAt: @ 80681B0
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 16
+ lsrs r0, r1, 16
+ lsls r2, 16
+ lsrs r1, r2, 16
+ cmp r4, 0
+ beq _080681DE
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 16
+ asrs r1, 16
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080681DE
+ cmp r0, 0xF
+ beq _080681DE
+ cmp r0, r4
+ bne _080681E2
+_080681DE:
+ movs r0, 0
+ b _080681E4
+_080681E2:
+ movs r0, 0x1
+_080681E4:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end IsZCoordMismatchAt
+
+ thumb_func_start ObjectEventUpdateZCoordAndPriority
+ObjectEventUpdateZCoordAndPriority: @ 80681EC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x3]
+ lsls r0, 29
+ cmp r0, 0
+ blt _0806823A
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoord
+ ldr r1, _08068240 @ =gUnknown_83A708C
+ ldrb r2, [r4, 0xB]
+ lsls r2, 24
+ lsrs r0, r2, 28
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r4, r5, 0
+ adds r4, 0x42
+ movs r1, 0x3F
+ ands r1, r0
+ ldrb r3, [r4]
+ movs r0, 0x40
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r4]
+ ldr r0, _08068244 @ =gUnknown_83A707C
+ lsrs r2, 28
+ adds r2, r0
+ movs r0, 0x3
+ ldrb r1, [r2]
+ ands r1, r0
+ lsls r1, 2
+ ldrb r2, [r5, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r5, 0x5]
+_0806823A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068240: .4byte gUnknown_83A708C
+_08068244: .4byte gUnknown_83A707C
+ thumb_func_end ObjectEventUpdateZCoordAndPriority
+
+ thumb_func_start InitObjectPriorityByZCoord
+InitObjectPriorityByZCoord: @ 8068248
+ push {r4,lr}
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _0806828C @ =gUnknown_83A708C
+ adds r2, r1, r2
+ ldrb r2, [r2]
+ movs r3, 0x42
+ adds r3, r0
+ mov r12, r3
+ movs r3, 0x3F
+ ands r3, r2
+ mov r2, r12
+ ldrb r4, [r2]
+ movs r2, 0x40
+ negs r2, r2
+ ands r2, r4
+ orrs r2, r3
+ mov r3, r12
+ strb r2, [r3]
+ ldr r2, _08068290 @ =gUnknown_83A707C
+ adds r1, r2
+ movs r3, 0x3
+ ldrb r2, [r1]
+ ands r2, r3
+ lsls r2, 2
+ ldrb r3, [r0, 0x5]
+ movs r1, 0xD
+ negs r1, r1
+ ands r1, r3
+ orrs r1, r2
+ strb r1, [r0, 0x5]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806828C: .4byte gUnknown_83A708C
+_08068290: .4byte gUnknown_83A707C
+ thumb_func_end InitObjectPriorityByZCoord
+
+ thumb_func_start ZCoordToPriority
+ZCoordToPriority: @ 8068294
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080682A0 @ =gUnknown_83A707C
+ adds r0, r1
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080682A0: .4byte gUnknown_83A707C
+ thumb_func_end ZCoordToPriority
+
+ thumb_func_start ObjectEventUpdateZCoord
+ObjectEventUpdateZCoord: @ 80682A4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r1, 0x10
+ ldrsh r0, [r4, r1]
+ movs r2, 0x12
+ ldrsh r1, [r4, r2]
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ movs r2, 0x16
+ ldrsh r1, [r4, r2]
+ bl MapGridGetZCoordAt
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, 0xF
+ beq _080682F2
+ cmp r0, 0xF
+ beq _080682F2
+ movs r3, 0xF
+ adds r0, r5, 0
+ ands r0, r3
+ ldrb r1, [r4, 0xB]
+ movs r2, 0x10
+ negs r2, r2
+ ands r2, r1
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+ cmp r5, 0
+ beq _080682F2
+ cmp r5, 0xF
+ beq _080682F2
+ lsls r0, r5, 4
+ ands r2, r3
+ orrs r2, r0
+ strb r2, [r4, 0xB]
+_080682F2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventUpdateZCoord
+
+ thumb_func_start SetObjectSubpriorityByZCoord
+SetObjectSubpriorityByZCoord: @ 80682F8
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r1, 0
+ adds r3, 0x29
+ movs r5, 0
+ ldrsb r5, [r3, r5]
+ ldrh r4, [r1, 0x22]
+ ldr r3, _08068338 @ =gSpriteCoordOffsetY
+ subs r4, r5
+ ldrh r3, [r3]
+ adds r4, r3
+ adds r4, 0x8
+ movs r3, 0xFF
+ ands r4, r3
+ lsrs r4, 4
+ movs r3, 0x10
+ subs r3, r4
+ lsls r3, 17
+ ldr r4, _0806833C @ =gUnknown_83A706C
+ adds r0, r4
+ lsrs r3, 16
+ ldrb r0, [r0]
+ adds r3, r0
+ adds r2, r3
+ adds r1, 0x43
+ strb r2, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068338: .4byte gSpriteCoordOffsetY
+_0806833C: .4byte gUnknown_83A706C
+ thumb_func_end SetObjectSubpriorityByZCoord
+
+ thumb_func_start ObjectEventUpdateSubpriority
+ObjectEventUpdateSubpriority: @ 8068340
+ push {lr}
+ adds r2, r0, 0
+ ldrb r0, [r2, 0x3]
+ lsls r0, 29
+ cmp r0, 0
+ blt _08068356
+ ldrb r0, [r2, 0xB]
+ lsrs r0, 4
+ movs r2, 0x1
+ bl SetObjectSubpriorityByZCoord
+_08068356:
+ pop {r0}
+ bx r0
+ thumb_func_end ObjectEventUpdateSubpriority
+
+ thumb_func_start AreZCoordsCompatible
+AreZCoordsCompatible: @ 806835C
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ cmp r0, 0
+ beq _08068372
+ cmp r1, 0
+ beq _08068372
+ cmp r0, r1
+ bne _08068376
+_08068372:
+ movs r0, 0x1
+ b _08068378
+_08068376:
+ movs r0, 0
+_08068378:
+ pop {r1}
+ bx r1
+ thumb_func_end AreZCoordsCompatible
+
+ thumb_func_start GroundEffect_SpawnOnTallGrass
+GroundEffect_SpawnOnTallGrass: @ 806837C
+ push {lr}
+ ldr r3, _080683C0 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _080683C4 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0x1
+ str r0, [r3, 0x1C]
+ movs r0, 0x4
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080683C0: .4byte gFieldEffectArguments
+_080683C4: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_SpawnOnTallGrass
+
+ thumb_func_start GroundEffect_StepOnTallGrass
+GroundEffect_StepOnTallGrass: @ 80683C8
+ push {lr}
+ ldr r3, _0806840C @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _08068410 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0
+ str r0, [r3, 0x1C]
+ movs r0, 0x4
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0806840C: .4byte gFieldEffectArguments
+_08068410: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_StepOnTallGrass
+
+ thumb_func_start GroundEffect_SpawnOnLongGrass
+GroundEffect_SpawnOnLongGrass: @ 8068414
+ push {lr}
+ ldr r3, _08068458 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _0806845C @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0x1
+ str r0, [r3, 0x1C]
+ movs r0, 0x11
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068458: .4byte gFieldEffectArguments
+_0806845C: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_SpawnOnLongGrass
+
+ thumb_func_start GroundEffect_StepOnLongGrass
+GroundEffect_StepOnLongGrass: @ 8068460
+ push {lr}
+ ldr r3, _080684A4 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r1, [r0, r2]
+ str r1, [r3]
+ movs r2, 0x12
+ ldrsh r1, [r0, r2]
+ str r1, [r3, 0x4]
+ ldrb r1, [r0, 0xB]
+ lsrs r1, 4
+ str r1, [r3, 0x8]
+ movs r1, 0x2
+ str r1, [r3, 0xC]
+ ldrb r1, [r0, 0x8]
+ lsls r1, 8
+ ldrb r2, [r0, 0x9]
+ orrs r1, r2
+ str r1, [r3, 0x10]
+ ldrb r0, [r0, 0xA]
+ str r0, [r3, 0x14]
+ ldr r0, _080684A8 @ =gSaveBlock1Ptr
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 8
+ ldrb r1, [r1, 0x4]
+ orrs r0, r1
+ str r0, [r3, 0x18]
+ movs r0, 0
+ str r0, [r3, 0x1C]
+ movs r0, 0x11
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080684A4: .4byte gFieldEffectArguments
+_080684A8: .4byte gSaveBlock1Ptr
+ thumb_func_end GroundEffect_StepOnLongGrass
+
+ thumb_func_start GroundEffect_WaterReflection
+GroundEffect_WaterReflection: @ 80684AC
+ push {lr}
+ movs r2, 0
+ bl SetUpReflection
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_WaterReflection
+
+ thumb_func_start GroundEffect_IceReflection
+GroundEffect_IceReflection: @ 80684B8
+ push {lr}
+ movs r2, 0x1
+ bl SetUpReflection
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_IceReflection
+
+ thumb_func_start GroundEffect_FlowingWater
+GroundEffect_FlowingWater: @ 80684C4
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x22
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_FlowingWater
+
+ thumb_func_start GroundEffect_SandTracks
+GroundEffect_SandTracks: @ 80684D4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x5]
+ bl GetObjectEventGraphicsInfo
+ ldr r1, _080684FC @ =gUnknown_83A709C
+ ldrb r0, [r0, 0xD]
+ lsls r0, 2
+ adds r0, r1
+ ldr r3, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0
+ bl _call_via_r3
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080684FC: .4byte gUnknown_83A709C
+ thumb_func_end GroundEffect_SandTracks
+
+ thumb_func_start GroundEffect_DeepSandTracks
+GroundEffect_DeepSandTracks: @ 8068500
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4, 0x5]
+ bl GetObjectEventGraphicsInfo
+ ldr r1, _08068528 @ =gUnknown_83A709C
+ ldrb r0, [r0, 0xD]
+ lsls r0, 2
+ adds r0, r1
+ ldr r3, [r0]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl _call_via_r3
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068528: .4byte gUnknown_83A709C
+ thumb_func_end GroundEffect_DeepSandTracks
+
+ thumb_func_start nullsub_26
+nullsub_26: @ 806852C
+ bx lr
+ thumb_func_end nullsub_26
+
+ thumb_func_start DoTracksGroundEffect_Footprints
+DoTracksGroundEffect_Footprints: @ 8068530
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ lsls r4, r2, 24
+ lsrs r4, 24
+ ldr r1, _08068578 @ =gUnknown_83A70A8
+ mov r0, sp
+ movs r2, 0x4
+ bl memcpy
+ ldr r1, _0806857C @ =gFieldEffectArguments
+ movs r2, 0x14
+ ldrsh r0, [r5, r2]
+ str r0, [r1]
+ movs r2, 0x16
+ ldrsh r0, [r5, r2]
+ str r0, [r1, 0x4]
+ movs r0, 0x95
+ str r0, [r1, 0x8]
+ movs r0, 0x2
+ str r0, [r1, 0xC]
+ ldrb r0, [r5, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ str r0, [r1, 0x10]
+ lsls r4, 1
+ mov r1, sp
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ bl FieldEffectStart
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068578: .4byte gUnknown_83A70A8
+_0806857C: .4byte gFieldEffectArguments
+ thumb_func_end DoTracksGroundEffect_Footprints
+
+ thumb_func_start DoTracksGroundEffect_BikeTireTracks
+DoTracksGroundEffect_BikeTireTracks: @ 8068580
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, [r4, 0x10]
+ ldr r0, [r4, 0x14]
+ cmp r1, r0
+ beq _080685C2
+ ldr r2, _080685C8 @ =gFieldEffectArguments
+ movs r1, 0x14
+ ldrsh r0, [r4, r1]
+ str r0, [r2]
+ movs r1, 0x16
+ ldrsh r0, [r4, r1]
+ str r0, [r2, 0x4]
+ movs r0, 0x95
+ str r0, [r2, 0x8]
+ movs r0, 0x2
+ str r0, [r2, 0xC]
+ ldr r3, _080685CC @ =gUnknown_83A70AC
+ ldrb r1, [r4, 0x18]
+ lsls r1, 28
+ lsrs r1, 28
+ adds r0, r4, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ lsls r0, 2
+ subs r0, 0x5
+ adds r1, r0
+ adds r1, r3
+ ldrb r0, [r1]
+ str r0, [r2, 0x10]
+ movs r0, 0x23
+ bl FieldEffectStart
+_080685C2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080685C8: .4byte gFieldEffectArguments
+_080685CC: .4byte gUnknown_83A70AC
+ thumb_func_end DoTracksGroundEffect_BikeTireTracks
+
+ thumb_func_start GroundEffect_Ripple
+GroundEffect_Ripple: @ 80685D0
+ push {lr}
+ bl DoRippleFieldEffect
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_Ripple
+
+ thumb_func_start GroundEffect_StepOnPuddle
+GroundEffect_StepOnPuddle: @ 80685DC
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0xF
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_StepOnPuddle
+
+ thumb_func_start GroundEffect_SandHeap
+GroundEffect_SandHeap: @ 80685EC
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x27
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_SandHeap
+
+ thumb_func_start GroundEffect_JumpOnTallGrass
+GroundEffect_JumpOnTallGrass: @ 80685FC
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ adds r6, r1, 0
+ ldr r1, _08068650 @ =gFieldEffectArguments
+ movs r2, 0x10
+ ldrsh r0, [r5, r2]
+ str r0, [r1]
+ movs r4, 0x12
+ ldrsh r0, [r5, r4]
+ str r0, [r1, 0x4]
+ ldrb r0, [r5, 0xB]
+ lsrs r0, 4
+ str r0, [r1, 0x8]
+ movs r0, 0x2
+ str r0, [r1, 0xC]
+ movs r0, 0xC
+ bl FieldEffectStart
+ ldrb r0, [r5, 0x8]
+ ldrb r1, [r5, 0x9]
+ ldrb r2, [r5, 0xA]
+ movs r7, 0x10
+ ldrsh r3, [r5, r7]
+ movs r7, 0x12
+ ldrsh r4, [r5, r7]
+ str r4, [sp]
+ bl FindTallGrassFieldEffectSpriteId
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x40
+ bne _08068646
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl GroundEffect_SpawnOnTallGrass
+_08068646:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068650: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnTallGrass
+
+ thumb_func_start GroundEffect_JumpOnLongGrass
+GroundEffect_JumpOnLongGrass: @ 8068654
+ push {lr}
+ ldr r2, _08068678 @ =gFieldEffectArguments
+ movs r3, 0x10
+ ldrsh r1, [r0, r3]
+ str r1, [r2]
+ movs r3, 0x12
+ ldrsh r1, [r0, r3]
+ str r1, [r2, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r2, 0x8]
+ movs r0, 0x2
+ str r0, [r2, 0xC]
+ movs r0, 0x12
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068678: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnLongGrass
+
+ thumb_func_start GroundEffect_JumpOnShallowWater
+GroundEffect_JumpOnShallowWater: @ 806867C
+ push {r4,lr}
+ ldr r3, _080686A8 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0x10
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080686A8: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnShallowWater
+
+ thumb_func_start GroundEffect_JumpOnWater
+GroundEffect_JumpOnWater: @ 80686AC
+ push {r4,lr}
+ ldr r3, _080686D8 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0xE
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080686D8: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpOnWater
+
+ thumb_func_start GroundEffect_JumpLandingDust
+GroundEffect_JumpLandingDust: @ 80686DC
+ push {r4,lr}
+ ldr r3, _08068708 @ =gFieldEffectArguments
+ movs r4, 0x10
+ ldrsh r2, [r0, r4]
+ str r2, [r3]
+ movs r4, 0x12
+ ldrsh r2, [r0, r4]
+ str r2, [r3, 0x4]
+ ldrb r0, [r0, 0xB]
+ lsrs r0, 4
+ str r0, [r3, 0x8]
+ ldrb r0, [r1, 0x5]
+ lsls r0, 28
+ lsrs r0, 30
+ str r0, [r3, 0xC]
+ movs r0, 0xA
+ bl FieldEffectStart
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068708: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_JumpLandingDust
+
+ thumb_func_start GroundEffect_ShortGrass
+GroundEffect_ShortGrass: @ 806870C
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x29
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_ShortGrass
+
+ thumb_func_start GroundEffect_HotSprings
+GroundEffect_HotSprings: @ 806871C
+ push {lr}
+ adds r1, r0, 0
+ movs r0, 0x2A
+ bl oe_exec_and_other_stuff
+ pop {r0}
+ bx r0
+ thumb_func_end GroundEffect_HotSprings
+
+ thumb_func_start GroundEffect_Seaweed
+GroundEffect_Seaweed: @ 806872C
+ push {lr}
+ ldr r2, _08068748 @ =gFieldEffectArguments
+ movs r3, 0x10
+ ldrsh r1, [r0, r3]
+ str r1, [r2]
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ str r0, [r2, 0x4]
+ movs r0, 0x35
+ bl FieldEffectStart
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068748: .4byte gFieldEffectArguments
+ thumb_func_end GroundEffect_Seaweed
+
+ thumb_func_start DoFlaggedGroundEffects
+DoFlaggedGroundEffects: @ 806874C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r1, 0
+ adds r5, r2, 0
+ ldrb r0, [r6, 0x8]
+ cmp r0, 0x7F
+ bne _08068766
+ ldrb r0, [r6, 0x1]
+ lsls r0, 26
+ cmp r0, 0
+ blt _0806878E
+_08068766:
+ movs r4, 0
+ ldr r0, _08068798 @ =gUnknown_83A70BC
+ mov r8, r0
+_0806876C:
+ movs r0, 0x1
+ ands r0, r5
+ cmp r0, 0
+ beq _08068782
+ lsls r0, r4, 2
+ add r0, r8
+ ldr r2, [r0]
+ adds r0, r6, 0
+ adds r1, r7, 0
+ bl _call_via_r2
+_08068782:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsrs r5, 1
+ cmp r4, 0x13
+ bls _0806876C
+_0806878E:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08068798: .4byte gUnknown_83A70BC
+ thumb_func_end DoFlaggedGroundEffects
+
+ thumb_func_start filters_out_some_ground_effects
+filters_out_some_ground_effects: @ 806879C
+ push {lr}
+ adds r2, r0, 0
+ adds r3, r1, 0
+ ldrb r0, [r2]
+ lsls r0, 27
+ cmp r0, 0
+ bge _080687CA
+ ldrb r1, [r2, 0x2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ adds r1, 0x8
+ ands r0, r1
+ subs r1, 0x18
+ ands r0, r1
+ strb r0, [r2, 0x2]
+ ldr r0, [r3]
+ ldr r1, _080687D0 @ =0xfff9f7bd
+ ands r0, r1
+ str r0, [r3]
+_080687CA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080687D0: .4byte 0xfff9f7bd
+ thumb_func_end filters_out_some_ground_effects
+
+ thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
+FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4
+ push {lr}
+ adds r2, r1, 0
+ ldrb r0, [r0]
+ lsls r0, 26
+ cmp r0, 0
+ bge _080687E8
+ ldr r0, [r2]
+ ldr r1, _080687EC @ =0xfffffbff
+ ands r0, r1
+ str r0, [r2]
+_080687E8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080687EC: .4byte 0xfffffbff
+ thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
+
+ thumb_func_start DoGroundEffects_OnSpawn
+DoGroundEffects_OnSpawn: @ 80687F0
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08068834
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnSpawn
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_08068834:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnSpawn
+
+ thumb_func_start DoGroundEffects_OnBeginStep
+DoGroundEffects_OnBeginStep: @ 806883C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08068888
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnBeginStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ adds r0, r4, 0
+ mov r1, sp
+ bl filters_out_some_ground_effects
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x11
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_08068888:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnBeginStep
+
+ thumb_func_start DoGroundEffects_OnFinishStep
+DoGroundEffects_OnFinishStep: @ 8068890
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldrb r0, [r4]
+ lsls r0, 28
+ cmp r0, 0
+ bge _080688DC
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ bl ObjectEventUpdateZCoordAndPriority
+ adds r0, r4, 0
+ mov r1, sp
+ bl GetAllGroundEffectFlags_OnFinishStep
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl ObjectEventSetSpriteOamTableForLongGrass
+ adds r0, r4, 0
+ mov r1, sp
+ bl FilterOutStepOnPuddleGroundEffectIfJumping
+ ldr r2, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl DoFlaggedGroundEffects
+ ldrb r1, [r4]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x21
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+_080688DC:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end DoGroundEffects_OnFinishStep
+
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_camera.s b/asm/field_camera.s
deleted file mode 100644
index 86a1c0e76..000000000
--- a/asm/field_camera.s
+++ /dev/null
@@ -1,1299 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner_
-move_tilemap_camera_to_upper_left_corner_: @ 805A5A8
- movs r1, 0
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- strb r1, [r0]
- strb r1, [r0, 0x1]
- movs r1, 0x1
- strb r1, [r0, 0x4]
- bx lr
- thumb_func_end move_tilemap_camera_to_upper_left_corner_
-
- thumb_func_start tilemap_move_something
-tilemap_move_something: @ 805A5B8
- ldrb r3, [r0, 0x2]
- adds r3, r1
- strb r3, [r0, 0x2]
- ldrb r1, [r0, 0x2]
- movs r3, 0x1F
- ands r1, r3
- strb r1, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- adds r1, r2
- strb r1, [r0, 0x3]
- ldrb r1, [r0, 0x3]
- ands r1, r3
- strb r1, [r0, 0x3]
- bx lr
- thumb_func_end tilemap_move_something
-
- thumb_func_start coords8_add
-coords8_add: @ 805A5D4
- ldrb r3, [r0]
- adds r3, r1
- strb r3, [r0]
- ldrb r1, [r0, 0x1]
- adds r1, r2
- strb r1, [r0, 0x1]
- bx lr
- thumb_func_end coords8_add
-
- thumb_func_start move_tilemap_camera_to_upper_left_corner
-move_tilemap_camera_to_upper_left_corner: @ 805A5E4
- push {lr}
- ldr r0, _0805A5F0 @ =gUnknown_3000E90
- bl move_tilemap_camera_to_upper_left_corner_
- pop {r0}
- bx r0
- .align 2, 0
-_0805A5F0: .4byte gUnknown_3000E90
- thumb_func_end move_tilemap_camera_to_upper_left_corner
-
- thumb_func_start FieldUpdateBgTilemapScroll
-FieldUpdateBgTilemapScroll: @ 805A5F4
- push {r4,r5,lr}
- ldr r1, _0805A64C @ =gUnknown_3000E90
- ldr r0, _0805A650 @ =gUnknown_3000E98
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldrb r0, [r1]
- adds r5, r0
- ldr r0, _0805A654 @ =gUnknown_3000E9A
- movs r2, 0
- ldrsh r4, [r0, r2]
- ldrb r1, [r1, 0x1]
- adds r4, r1
- adds r4, 0x8
- lsls r5, 16
- lsrs r5, 16
- movs r0, 0x14
- adds r1, r5, 0
- bl SetGpuReg
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x16
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x18
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1A
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x1C
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x1E
- adds r1, r4, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A64C: .4byte gUnknown_3000E90
-_0805A650: .4byte gUnknown_3000E98
-_0805A654: .4byte gUnknown_3000E9A
- thumb_func_end FieldUpdateBgTilemapScroll
-
- thumb_func_start sub_805A658
-sub_805A658: @ 805A658
- push {r4,lr}
- ldr r3, _0805A678 @ =gUnknown_3000E90
- ldr r2, _0805A67C @ =gUnknown_3000E98
- ldrh r2, [r2]
- ldrb r4, [r3]
- adds r2, r4
- strh r2, [r0]
- ldr r0, _0805A680 @ =gUnknown_3000E9A
- ldrh r0, [r0]
- ldrb r3, [r3, 0x1]
- adds r0, r3
- adds r0, 0x8
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A678: .4byte gUnknown_3000E90
-_0805A67C: .4byte gUnknown_3000E98
-_0805A680: .4byte gUnknown_3000E9A
- thumb_func_end sub_805A658
-
- thumb_func_start DrawWholeMapView
-DrawWholeMapView: @ 805A684
- push {lr}
- ldr r0, _0805A6A0 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r2, _0805A6A4 @ =gMapHeader
- ldr r2, [r2]
- bl DrawWholeMapViewInternal
- pop {r0}
- bx r0
- .align 2, 0
-_0805A6A0: .4byte gSaveBlock1Ptr
-_0805A6A4: .4byte gMapHeader
- thumb_func_end DrawWholeMapView
-
- thumb_func_start DrawWholeMapViewInternal
-DrawWholeMapViewInternal: @ 805A6A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- mov r9, r1
- mov r8, r2
- movs r1, 0
-_0805A6BC:
- ldr r2, _0805A728 @ =gUnknown_3000E90
- ldrb r0, [r2, 0x3]
- adds r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A6D0
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A6D0:
- lsls r6, r0, 5
- movs r4, 0
- adds r7, r1, 0x2
- str r7, [sp]
- lsrs r5, r1, 1
-_0805A6DA:
- ldr r1, _0805A728 @ =gUnknown_3000E90
- ldrb r0, [r1, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A6EE
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A6EE:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r4, 1
- add r2, r10
- mov r0, r8
- mov r7, r9
- adds r3, r7, r5
- bl sub_805A948
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _0805A6DA
- ldr r1, [sp]
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _0805A6BC
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A728: .4byte gUnknown_3000E90
- thumb_func_end DrawWholeMapViewInternal
-
- thumb_func_start RedrawMapSlicesForCameraUpdate
-RedrawMapSlicesForCameraUpdate: @ 805A72C
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r0, _0805A774 @ =gMapHeader
- ldr r4, [r0]
- cmp r6, 0
- ble _0805A744
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceWest
-_0805A744:
- cmp r6, 0
- bge _0805A750
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceEast
-_0805A750:
- cmp r7, 0
- ble _0805A75C
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceNorth
-_0805A75C:
- cmp r7, 0
- bge _0805A768
- adds r0, r5, 0
- adds r1, r4, 0
- bl RedrawMapSliceSouth
-_0805A768:
- movs r0, 0x1
- strb r0, [r5, 0x4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A774: .4byte gMapHeader
- thumb_func_end RedrawMapSlicesForCameraUpdate
-
- thumb_func_start RedrawMapSliceNorth
-RedrawMapSliceNorth: @ 805A778
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A790
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A790:
- lsls r6, r0, 5
- movs r4, 0
-_0805A794:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A7A6
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A7A6:
- adds r1, r6, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, _0805A7D4 @ =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r3, 0xE
- adds r0, r7, 0
- bl sub_805A948
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _0805A794
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A7D4: .4byte gSaveBlock1Ptr
- thumb_func_end RedrawMapSliceNorth
-
- thumb_func_start RedrawMapSliceSouth
-RedrawMapSliceSouth: @ 805A7D8
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldrb r0, [r5, 0x3]
- lsls r6, r0, 5
- movs r4, 0
-_0805A7E4:
- ldrb r0, [r5, 0x2]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A7F6
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A7F6:
- adds r1, r6, r0
- ldr r0, _0805A820 @ =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r0, 0
- ldrsh r2, [r3, r0]
- lsrs r0, r4, 1
- adds r2, r0
- movs r0, 0x2
- ldrsh r3, [r3, r0]
- adds r0, r7, 0
- bl sub_805A948
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _0805A7E4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A820: .4byte gSaveBlock1Ptr
- thumb_func_end RedrawMapSliceSouth
-
- thumb_func_start RedrawMapSliceEast
-RedrawMapSliceEast: @ 805A824
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- ldrb r6, [r5, 0x2]
- movs r4, 0
-_0805A832:
- ldrb r0, [r5, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A844
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A844:
- lsls r1, r0, 5
- adds r1, r6
- lsls r1, 16
- lsrs r1, 16
- ldr r0, _0805A878 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl sub_805A948
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _0805A832
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A878: .4byte gSaveBlock1Ptr
- thumb_func_end RedrawMapSliceEast
-
- thumb_func_start RedrawMapSliceWest
-RedrawMapSliceWest: @ 805A87C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- ldrb r0, [r6, 0x2]
- adds r0, 0x1C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1F
- bls _0805A89A
- adds r0, r5, 0
- subs r0, 0x20
- lsls r0, 24
- lsrs r5, r0, 24
-_0805A89A:
- movs r4, 0
-_0805A89C:
- ldrb r0, [r6, 0x3]
- adds r0, r4, r0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1F
- bls _0805A8AE
- subs r0, 0x20
- lsls r0, 24
- lsrs r0, 24
-_0805A8AE:
- lsls r1, r0, 5
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r0, _0805A8E4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0xE
- movs r7, 0x2
- ldrsh r3, [r0, r7]
- lsrs r0, r4, 1
- adds r3, r0
- mov r0, r8
- bl sub_805A948
- adds r0, r4, 0x2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1F
- bls _0805A89C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A8E4: .4byte gSaveBlock1Ptr
- thumb_func_end RedrawMapSliceWest
-
- thumb_func_start CurrentMapDrawMetatileAt
-CurrentMapDrawMetatileAt: @ 805A8E8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0805A914 @ =gUnknown_3000E90
- adds r1, r4, 0
- adds r2, r5, 0
- bl MapPosToBgTilemapOffset
- adds r1, r0, 0
- cmp r1, 0
- blt _0805A90E
- ldr r0, _0805A918 @ =gMapHeader
- ldr r0, [r0]
- lsls r1, 16
- lsrs r1, 16
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_805A948
-_0805A90E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A914: .4byte gUnknown_3000E90
-_0805A918: .4byte gMapHeader
- thumb_func_end CurrentMapDrawMetatileAt
-
- thumb_func_start DrawDoorMetatileAt
-DrawDoorMetatileAt: @ 805A91C
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r0, _0805A944 @ =gUnknown_3000E90
- adds r1, r3, 0
- adds r2, r4, 0
- bl MapPosToBgTilemapOffset
- cmp r0, 0
- blt _0805A93E
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0x1
- adds r1, r5, 0
- bl DrawMetatile
-_0805A93E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A944: .4byte gUnknown_3000E90
- thumb_func_end DrawDoorMetatileAt
-
- thumb_func_start sub_805A948
-sub_805A948: @ 805A948
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- adds r0, r6, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x80
- lsls r0, 3
- cmp r4, r0
- bls _0805A970
- movs r4, 0
-_0805A970:
- ldr r0, _0805A97C @ =0x0000027f
- cmp r4, r0
- bhi _0805A980
- ldr r0, [r5, 0x10]
- ldr r5, [r0, 0xC]
- b _0805A98C
- .align 2, 0
-_0805A97C: .4byte 0x0000027f
-_0805A980:
- ldr r0, [r5, 0x14]
- ldr r5, [r0, 0xC]
- ldr r1, _0805A9B0 @ =0xfffffd80
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_0805A98C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- bl MapGridGetMetatileLayerTypeAt
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r4, 4
- adds r1, r5, r1
- mov r2, r8
- bl DrawMetatile
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A9B0: .4byte 0xfffffd80
- thumb_func_end sub_805A948
-
- thumb_func_start DrawMetatile
-DrawMetatile: @ 805A9B4
- push {r4,lr}
- adds r4, r1, 0
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x1
- beq _0805AA0C
- cmp r0, 0x1
- bgt _0805A9CA
- cmp r0, 0
- beq _0805AA6C
- b _0805AABE
-_0805A9CA:
- cmp r0, 0x2
- bne _0805AABE
- ldr r0, _0805AA04 @ =gUnknown_300501C
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, _0805AA08 @ =gUnknown_3005014
- ldr r0, [r0]
- adds r0, r3, r0
- movs r2, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- b _0805AAA2
- .align 2, 0
-_0805AA04: .4byte gUnknown_300501C
-_0805AA08: .4byte gUnknown_3005014
-_0805AA0C:
- ldr r0, _0805AA60 @ =gUnknown_300501C
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
- ldr r0, _0805AA64 @ =gUnknown_3005014
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4, 0x8]
- strh r1, [r0]
- ldrh r1, [r4, 0xA]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0xC]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0xE]
- strh r1, [r0]
- ldr r0, _0805AA68 @ =gUnknown_3005018
- ldr r0, [r0]
- adds r3, r0
- movs r1, 0
- strh r1, [r3]
- strh r1, [r3, 0x2]
- adds r0, r3, 0
- adds r0, 0x40
- strh r1, [r0]
- adds r3, 0x42
- strh r1, [r3]
- b _0805AABE
- .align 2, 0
-_0805AA60: .4byte gUnknown_300501C
-_0805AA64: .4byte gUnknown_3005014
-_0805AA68: .4byte gUnknown_3005018
-_0805AA6C:
- ldr r0, _0805AAD8 @ =gUnknown_300501C
- ldr r0, [r0]
- lsls r3, r2, 1
- adds r0, r3, r0
- ldr r1, _0805AADC @ =0x00003014
- adds r2, r1, 0
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- ldr r0, _0805AAE0 @ =gUnknown_3005014
- ldr r0, [r0]
- adds r0, r3, r0
- ldrh r1, [r4]
- strh r1, [r0]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x2]
- adds r2, r0, 0
- adds r2, 0x40
- ldrh r1, [r4, 0x4]
- strh r1, [r2]
- adds r0, 0x42
- ldrh r1, [r4, 0x6]
- strh r1, [r0]
-_0805AAA2:
- ldr r0, _0805AAE4 @ =gUnknown_3005018
- ldr r0, [r0]
- adds r3, r0
- ldrh r0, [r4, 0x8]
- strh r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r3, 0x2]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r3, 0x42
- ldrh r0, [r4, 0xE]
- strh r0, [r3]
-_0805AABE:
- movs r0, 0x1
- bl ScheduleBgCopyTilemapToVram
- movs r0, 0x2
- bl ScheduleBgCopyTilemapToVram
- movs r0, 0x3
- bl ScheduleBgCopyTilemapToVram
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805AAD8: .4byte gUnknown_300501C
-_0805AADC: .4byte 0x00003014
-_0805AAE0: .4byte gUnknown_3005014
-_0805AAE4: .4byte gUnknown_3005018
- thumb_func_end DrawMetatile
-
- thumb_func_start MapPosToBgTilemapOffset
-MapPosToBgTilemapOffset: @ 805AAE8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _0805AB18 @ =gSaveBlock1Ptr
- ldr r3, [r0]
- movs r5, 0
- ldrsh r0, [r3, r5]
- subs r1, r0
- lsls r1, 1
- cmp r1, 0x1F
- bhi _0805AB12
- ldrb r0, [r4, 0x2]
- adds r1, r0
- cmp r1, 0x1F
- ble _0805AB06
- subs r1, 0x20
-_0805AB06:
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- subs r0, r2, r0
- lsls r2, r0, 1
- cmp r2, 0x1F
- bls _0805AB1C
-_0805AB12:
- movs r0, 0x1
- negs r0, r0
- b _0805AB2A
- .align 2, 0
-_0805AB18: .4byte gSaveBlock1Ptr
-_0805AB1C:
- ldrb r0, [r4, 0x3]
- adds r2, r0
- cmp r2, 0x1F
- ble _0805AB26
- subs r2, 0x20
-_0805AB26:
- lsls r0, r2, 5
- adds r0, r1
-_0805AB2A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end MapPosToBgTilemapOffset
-
- thumb_func_start CameraUpdateCallback
-CameraUpdateCallback: @ 805AB30
- push {lr}
- adds r3, r0, 0
- ldr r2, [r3, 0x4]
- cmp r2, 0
- beq _0805AB50
- ldr r1, _0805AB54 @ =gSprites
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r2, 0x32
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x8]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- str r0, [r3, 0xC]
-_0805AB50:
- pop {r0}
- bx r0
- .align 2, 0
-_0805AB54: .4byte gSprites
- thumb_func_end CameraUpdateCallback
-
- thumb_func_start ResetCameraUpdateInfo
-ResetCameraUpdateInfo: @ 805AB58
- ldr r1, _0805AB6C @ =gFieldCamera
- movs r0, 0
- str r0, [r1, 0x8]
- str r0, [r1, 0xC]
- str r0, [r1, 0x10]
- str r0, [r1, 0x14]
- str r0, [r1, 0x4]
- str r0, [r1]
- bx lr
- .align 2, 0
-_0805AB6C: .4byte gFieldCamera
- thumb_func_end ResetCameraUpdateInfo
-
- thumb_func_start InitCameraUpdateCallback
-InitCameraUpdateCallback: @ 805AB70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0805ABA4 @ =gFieldCamera
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _0805AB8C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0805ABA8 @ =gSprites
- adds r0, r1
- bl DestroySprite
-_0805AB8C:
- adds r0, r5, 0
- bl AddCameraObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, _0805ABAC @ =CameraUpdateCallback
- str r0, [r4]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805ABA4: .4byte gFieldCamera
-_0805ABA8: .4byte gSprites
-_0805ABAC: .4byte CameraUpdateCallback
- thumb_func_end InitCameraUpdateCallback
-
- thumb_func_start CameraUpdate
-CameraUpdate: @ 805ABB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _0805ACA4 @ =gFieldCamera
- ldr r1, [r6]
- cmp r1, 0
- beq _0805ABC4
- adds r0, r6, 0
- bl _call_via_r1
-_0805ABC4:
- ldr r7, [r6, 0x8]
- ldr r0, [r6, 0xC]
- mov r8, r0
- movs r4, 0
- movs r5, 0
- ldr r1, [r6, 0x10]
- ldr r0, [r6, 0x14]
- cmp r1, 0
- bne _0805ABE2
- cmp r7, 0
- beq _0805ABE2
- subs r4, 0x1
- cmp r7, 0
- ble _0805ABE2
- movs r4, 0x1
-_0805ABE2:
- cmp r0, 0
- bne _0805ABF6
- mov r2, r8
- cmp r2, 0
- beq _0805ABF6
- movs r5, 0x1
- negs r5, r5
- cmp r2, 0
- ble _0805ABF6
- movs r5, 0x1
-_0805ABF6:
- cmp r1, 0
- beq _0805AC08
- cmn r1, r7
- bne _0805AC08
- movs r4, 0x1
- negs r4, r4
- cmp r7, 0
- ble _0805AC08
- movs r4, 0x1
-_0805AC08:
- cmp r0, 0
- beq _0805AC1C
- mov r3, r8
- cmn r0, r3
- bne _0805AC1C
- movs r4, 0x1
- negs r4, r4
- cmp r3, 0
- ble _0805AC1C
- movs r4, 0x1
-_0805AC1C:
- ldr r2, _0805ACA4 @ =gFieldCamera
- ldr r0, [r2, 0x10]
- adds r1, r0, r7
- str r1, [r2, 0x10]
- adds r0, r1, 0
- cmp r1, 0
- bge _0805AC2C
- adds r0, 0xF
-_0805AC2C:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- mov r3, r8
- adds r1, r0, r3
- str r1, [r2, 0x14]
- adds r0, r1, 0
- cmp r1, 0
- bge _0805AC44
- adds r0, 0xF
-_0805AC44:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x14]
- cmp r4, 0
- bne _0805AC54
- cmp r5, 0
- beq _0805AC7E
-_0805AC54:
- adds r0, r4, 0
- adds r1, r5, 0
- bl CameraMove
- adds r0, r4, 0
- adds r1, r5, 0
- bl UpdateObjectEventsForCameraUpdate
- ldr r6, _0805ACA8 @ =gUnknown_3000E90
- lsls r4, 1
- lsls r5, 1
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl tilemap_move_something
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl RedrawMapSlicesForCameraUpdate
-_0805AC7E:
- ldr r0, _0805ACA8 @ =gUnknown_3000E90
- adds r1, r7, 0
- mov r2, r8
- bl coords8_add
- ldr r1, _0805ACAC @ =gTotalCameraPixelOffsetX
- ldrh r0, [r1]
- subs r0, r7
- strh r0, [r1]
- ldr r1, _0805ACB0 @ =gTotalCameraPixelOffsetY
- ldrh r0, [r1]
- mov r2, r8
- subs r0, r2
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805ACA4: .4byte gFieldCamera
-_0805ACA8: .4byte gUnknown_3000E90
-_0805ACAC: .4byte gTotalCameraPixelOffsetX
-_0805ACB0: .4byte gTotalCameraPixelOffsetY
- thumb_func_end CameraUpdate
-
- thumb_func_start sub_805ACB4
-sub_805ACB4: @ 805ACB4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl CameraMove
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl UpdateObjectEventsForCameraUpdate
- bl DrawWholeMapView
- ldr r1, _0805ACE8 @ =gTotalCameraPixelOffsetX
- lsls r4, 4
- ldrh r0, [r1]
- subs r0, r4
- strh r0, [r1]
- ldr r1, _0805ACEC @ =gTotalCameraPixelOffsetY
- lsls r5, 4
- ldrh r0, [r1]
- subs r0, r5
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805ACE8: .4byte gTotalCameraPixelOffsetX
-_0805ACEC: .4byte gTotalCameraPixelOffsetY
- thumb_func_end sub_805ACB4
-
- thumb_func_start sub_805ACF0
-sub_805ACF0: @ 805ACF0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0805ADCC @ =gFieldCamera
- ldr r1, [r4]
- cmp r1, 0
- beq _0805AD04
- adds r0, r4, 0
- bl _call_via_r1
-_0805AD04:
- ldr r7, [r4, 0x8]
- ldr r0, [r4, 0xC]
- mov r8, r0
- movs r5, 0
- movs r6, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, 0
- bne _0805AD22
- cmp r7, 0
- beq _0805AD22
- subs r5, 0x1
- cmp r7, 0
- ble _0805AD22
- movs r5, 0x1
-_0805AD22:
- cmp r0, 0
- bne _0805AD36
- mov r2, r8
- cmp r2, 0
- beq _0805AD36
- movs r6, 0x1
- negs r6, r6
- cmp r2, 0
- ble _0805AD36
- movs r6, 0x1
-_0805AD36:
- cmp r1, 0
- beq _0805AD48
- cmn r1, r7
- bne _0805AD48
- movs r5, 0x1
- negs r5, r5
- cmp r7, 0
- ble _0805AD48
- movs r5, 0x1
-_0805AD48:
- cmp r0, 0
- beq _0805AD5C
- mov r3, r8
- cmn r0, r3
- bne _0805AD5C
- movs r5, 0x1
- negs r5, r5
- cmp r3, 0
- ble _0805AD5C
- movs r5, 0x1
-_0805AD5C:
- ldr r2, _0805ADCC @ =gFieldCamera
- ldr r0, [r2, 0x10]
- adds r1, r0, r7
- str r1, [r2, 0x10]
- adds r0, r1, 0
- cmp r1, 0
- bge _0805AD6C
- adds r0, 0xF
-_0805AD6C:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- mov r3, r8
- adds r1, r0, r3
- str r1, [r2, 0x14]
- adds r0, r1, 0
- cmp r1, 0
- bge _0805AD84
- adds r0, 0xF
-_0805AD84:
- asrs r0, 4
- lsls r0, 4
- subs r0, r1, r0
- str r0, [r2, 0x14]
- cmp r5, 0
- bne _0805AD94
- cmp r6, 0
- beq _0805ADB6
-_0805AD94:
- adds r0, r5, 0
- adds r1, r6, 0
- bl CameraMove
- ldr r4, _0805ADD0 @ =gUnknown_3000E90
- lsls r5, 1
- lsls r6, 1
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl tilemap_move_something
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl RedrawMapSlicesForCameraUpdate
-_0805ADB6:
- ldr r0, _0805ADD0 @ =gUnknown_3000E90
- adds r1, r7, 0
- mov r2, r8
- bl coords8_add
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805ADCC: .4byte gFieldCamera
-_0805ADD0: .4byte gUnknown_3000E90
- thumb_func_end sub_805ACF0
-
- thumb_func_start SetCameraPanningCallback
-SetCameraPanningCallback: @ 805ADD4
- ldr r1, _0805ADDC @ =gUnknown_3000EA0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0805ADDC: .4byte gUnknown_3000EA0
- thumb_func_end SetCameraPanningCallback
-
- thumb_func_start SetCameraPanning
-SetCameraPanning: @ 805ADE0
- ldr r2, _0805ADF0 @ =gUnknown_3000E98
- strh r0, [r2]
- ldr r0, _0805ADF4 @ =gUnknown_3000E9A
- lsls r1, 16
- asrs r1, 16
- adds r1, 0x20
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0805ADF0: .4byte gUnknown_3000E98
-_0805ADF4: .4byte gUnknown_3000E9A
- thumb_func_end SetCameraPanning
-
- thumb_func_start InstallCameraPanAheadCallback
-InstallCameraPanAheadCallback: @ 805ADF8
- ldr r1, _0805AE14 @ =gUnknown_3000EA0
- ldr r0, _0805AE18 @ =CameraPanningCB_PanAhead
- str r0, [r1]
- ldr r1, _0805AE1C @ =gUnknown_3000E9C
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0805AE20 @ =gUnknown_3000E98
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0805AE24 @ =gUnknown_3000E9A
- movs r0, 0x20
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0805AE14: .4byte gUnknown_3000EA0
-_0805AE18: .4byte CameraPanningCB_PanAhead
-_0805AE1C: .4byte gUnknown_3000E9C
-_0805AE20: .4byte gUnknown_3000E98
-_0805AE24: .4byte gUnknown_3000E9A
- thumb_func_end InstallCameraPanAheadCallback
-
- thumb_func_start UpdateCameraPanning
-UpdateCameraPanning: @ 805AE28
- push {lr}
- ldr r0, _0805AE58 @ =gUnknown_3000EA0
- ldr r0, [r0]
- cmp r0, 0
- beq _0805AE36
- bl _call_via_r0
-_0805AE36:
- ldr r2, _0805AE5C @ =gSpriteCoordOffsetX
- ldr r0, _0805AE60 @ =gTotalCameraPixelOffsetX
- ldr r1, _0805AE64 @ =gUnknown_3000E98
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2]
- ldr r2, _0805AE68 @ =gSpriteCoordOffsetY
- ldr r0, _0805AE6C @ =gTotalCameraPixelOffsetY
- ldr r1, _0805AE70 @ =gUnknown_3000E9A
- ldrh r0, [r0]
- ldrh r1, [r1]
- subs r0, r1
- subs r0, 0x8
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0805AE58: .4byte gUnknown_3000EA0
-_0805AE5C: .4byte gSpriteCoordOffsetX
-_0805AE60: .4byte gTotalCameraPixelOffsetX
-_0805AE64: .4byte gUnknown_3000E98
-_0805AE68: .4byte gSpriteCoordOffsetY
-_0805AE6C: .4byte gTotalCameraPixelOffsetY
-_0805AE70: .4byte gUnknown_3000E9A
- thumb_func_end UpdateCameraPanning
-
- thumb_func_start CameraPanningCB_PanAhead
-CameraPanningCB_PanAhead: @ 805AE74
- push {lr}
- ldr r0, _0805AE84 @ =gUnknown_2036E2C
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805AE88
- bl InstallCameraPanAheadCallback
- b _0805AF10
- .align 2, 0
-_0805AE84: .4byte gUnknown_2036E2C
-_0805AE88:
- ldr r0, _0805AEA0 @ =gPlayerAvatar
- ldrb r0, [r0, 0x3]
- cmp r0, 0x1
- bne _0805AEA8
- ldr r0, _0805AEA4 @ =gUnknown_3000E9C
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- beq _0805AF10
- b _0805AEAE
- .align 2, 0
-_0805AEA0: .4byte gPlayerAvatar
-_0805AEA4: .4byte gUnknown_3000E9C
-_0805AEA8:
- ldr r1, _0805AED0 @ =gUnknown_3000E9C
- movs r0, 0
- strb r0, [r1]
-_0805AEAE:
- bl GetPlayerMovementDirection
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0805AED8
- ldr r2, _0805AED4 @ =gUnknown_3000E9A
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- ble _0805AF10
- subs r0, r3, 0x2
- b _0805AF0E
- .align 2, 0
-_0805AED0: .4byte gUnknown_3000E9C
-_0805AED4: .4byte gUnknown_3000E9A
-_0805AED8:
- cmp r0, 0x1
- bne _0805AEF4
- ldr r1, _0805AEF0 @ =gUnknown_3000E9A
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x47
- bgt _0805AF10
- adds r0, r2, 0x2
- strh r0, [r1]
- b _0805AF10
- .align 2, 0
-_0805AEF0: .4byte gUnknown_3000E9A
-_0805AEF4:
- ldr r2, _0805AF04 @ =gUnknown_3000E9A
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x1F
- bgt _0805AF08
- adds r0, 0x2
- b _0805AF0E
- .align 2, 0
-_0805AF04: .4byte gUnknown_3000E9A
-_0805AF08:
- cmp r1, 0x20
- ble _0805AF10
- subs r0, 0x2
-_0805AF0E:
- strh r0, [r2]
-_0805AF10:
- pop {r0}
- bx r0
- thumb_func_end CameraPanningCB_PanAhead
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s
index 07b7ea3ed..09c516bd8 100644
--- a/asm/field_control_avatar.s
+++ b/asm/field_control_avatar.s
@@ -332,7 +332,7 @@ sub_806CAC8: @ 806CAC8
movs r2, 0x2
ldrsh r1, [r4, r2]
movs r2, 0xFF
- bl sub_8058F48
+ bl MapGridGetMetatileAttributeAt
mov r8, r0
mov r0, sp
movs r1, 0
@@ -798,7 +798,7 @@ sub_806CEA0: @ 806CEA0
movs r0, 0
b _0806CED2
_0806CEB8:
- ldr r0, _0806CED8 @ =gUnknown_8168CE4
+ ldr r0, _0806CED8 @ =PalletTown_PlayersHouse_2F_EventScript_PC
cmp r4, r0
beq _0806CECA
ldr r0, _0806CEDC @ =EventScript_PC
@@ -815,7 +815,7 @@ _0806CED2:
pop {r1}
bx r1
.align 2, 0
-_0806CED8: .4byte gUnknown_8168CE4
+_0806CED8: .4byte PalletTown_PlayersHouse_2F_EventScript_PC
_0806CEDC: .4byte EventScript_PC
thumb_func_end sub_806CEA0
@@ -1330,10 +1330,10 @@ _0806D2F0:
lsrs r0, 24
cmp r0, 0x1
bne _0806D308
- ldr r0, _0806D304 @ =EventScript_1C549C
+ ldr r0, _0806D304 @ =TrainerTower_EventScript_ShowTime
b _0806D53E
.align 2, 0
-_0806D304: .4byte EventScript_1C549C
+_0806D304: .4byte TrainerTower_EventScript_ShowTime
_0806D308:
adds r0, r4, 0
adds r1, r5, 0
@@ -1530,10 +1530,10 @@ _0806D4A0:
lsrs r0, 24
cmp r0, 0x1
bne _0806D4B8
- ldr r0, _0806D4B4 @ =gUnknown_81A7702
+ ldr r0, _0806D4B4 @ =EventScript_Questionnaire
b _0806D53E
.align 2, 0
-_0806D4B4: .4byte gUnknown_81A7702
+_0806D4B4: .4byte EventScript_Questionnaire
_0806D4B8:
adds r0, r4, 0
adds r1, r5, 0
@@ -1664,16 +1664,16 @@ _0806D5A4:
lsrs r0, 24
cmp r0, 0x1
bne _0806D5D8
- ldr r0, _0806D5D4 @ =EventScript_InteractWithWaterfall
+ ldr r0, _0806D5D4 @ =EventScript_Waterfall
b _0806D5E2
.align 2, 0
_0806D5D0: .4byte 0x00000826
-_0806D5D4: .4byte EventScript_InteractWithWaterfall
+_0806D5D4: .4byte EventScript_Waterfall
_0806D5D8:
- ldr r0, _0806D5DC @ =EventScript_81BE2FF
+ ldr r0, _0806D5DC @ =EventScript_CantUseWaterfall
b _0806D5E2
.align 2, 0
-_0806D5DC: .4byte EventScript_81BE2FF
+_0806D5DC: .4byte EventScript_CantUseWaterfall
_0806D5E0:
movs r0, 0
_0806D5E2:
@@ -1822,11 +1822,11 @@ _0806D6EC:
lsrs r0, 24
cmp r0, 0x1
bne _0806D704
- ldr r0, _0806D700 @ =EventScript_PoisonWhiteOut
+ ldr r0, _0806D700 @ =EventScript_FieldPoison
bl ScriptContext1_SetupScript
b _0806D730
.align 2, 0
-_0806D700: .4byte EventScript_PoisonWhiteOut
+_0806D700: .4byte EventScript_FieldPoison
_0806D704:
bl ShouldEggHatch
lsls r0, 24
diff --git a/asm/field_effect.s b/asm/field_effect.s
deleted file mode 100644
index 4e0fee5c8..000000000
--- a/asm/field_effect.s
+++ /dev/null
@@ -1,9666 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldEffectStart
-FieldEffectStart: @ 8083444
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl FieldEffectActiveListAdd
- ldr r0, _08083484 @ =gUnknown_81D96AC
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- str r0, [sp]
- add r4, sp, 0x4
- ldr r5, _08083488 @ =gUnknown_83CBE30
-_08083462:
- ldr r0, [sp]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- mov r0, sp
- adds r1, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _08083462
- ldr r0, [sp, 0x4]
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08083484: .4byte gUnknown_81D96AC
-_08083488: .4byte gUnknown_83CBE30
- thumb_func_end FieldEffectStart
-
- thumb_func_start FieldEffectCmd_loadtiles
-FieldEffectCmd_loadtiles: @ 808348C
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl FieldEffectScript_LoadTiles
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles
-
- thumb_func_start FieldEffectCmd_loadfadedpal
-FieldEffectCmd_loadfadedpal: @ 80834A0
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl sub_8083614
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal
-
- thumb_func_start FieldEffectCmd_loadpal
-FieldEffectCmd_loadpal: @ 80834B4
- push {lr}
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl sub_808365C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadpal
-
- thumb_func_start FieldEffectCmd_callnative
-FieldEffectCmd_callnative: @ 80834C8
- push {lr}
- ldr r2, [r0]
- adds r2, 0x1
- str r2, [r0]
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_callnative
-
- thumb_func_start sub_80834DC
-sub_80834DC: @ 80834DC
- movs r0, 0
- bx lr
- thumb_func_end sub_80834DC
-
- thumb_func_start FieldEffectCmd_loadgfx_callnative
-FieldEffectCmd_loadgfx_callnative: @ 80834E0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- bl sub_8083614
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadgfx_callnative
-
- thumb_func_start FieldEffectCmd_loadtiles_callnative
-FieldEffectCmd_loadtiles_callnative: @ 8083508
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl FieldEffectScript_LoadTiles
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadtiles_callnative
-
- thumb_func_start FieldEffectCmd_loadfadedpal_callnative
-FieldEffectCmd_loadfadedpal_callnative: @ 808352C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- bl sub_8083614
- adds r0, r4, 0
- adds r1, r5, 0
- bl FieldEffectScript_CallNative
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end FieldEffectCmd_loadfadedpal_callnative
-
- thumb_func_start FieldEffectScript_ReadWord
-FieldEffectScript_ReadWord: @ 8083550
- ldr r2, [r0]
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- lsls r1, 8
- adds r0, r1
- ldrb r1, [r2, 0x2]
- lsls r1, 16
- adds r0, r1
- ldrb r1, [r2, 0x3]
- lsls r1, 24
- adds r0, r1
- bx lr
- thumb_func_end FieldEffectScript_ReadWord
-
- thumb_func_start FieldEffectScript_LoadTiles
-FieldEffectScript_LoadTiles: @ 8083568
- push {r4,r5,lr}
- adds r4, r0, 0
- bl FieldEffectScript_ReadWord
- adds r5, r0, 0
- ldrh r0, [r5, 0x6]
- bl GetSpriteTileStartByTag
- lsls r0, 16
- ldr r1, _08083594 @ =0xffff0000
- cmp r0, r1
- bne _08083586
- adds r0, r5, 0
- bl LoadSpriteSheet
-_08083586:
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083594: .4byte 0xffff0000
- thumb_func_end FieldEffectScript_LoadTiles
-
- thumb_func_start sub_8083598
-sub_8083598: @ 8083598
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080835B4 @ =gUnknown_2036E28
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080835B8
- cmp r0, 0x1
- ble _08083606
- cmp r0, 0x2
- beq _080835CC
- cmp r0, 0x3
- beq _080835E0
- b _08083606
- .align 2, 0
-_080835B4: .4byte gUnknown_2036E28
-_080835B8:
- adds r4, 0x10
- lsls r0, r4, 5
- ldr r1, _080835C8 @ =gPlttBufferUnfaded
- adds r0, r1
- movs r1, 0x10
- bl TintPalette_GrayScale
- b _080835F6
- .align 2, 0
-_080835C8: .4byte gPlttBufferUnfaded
-_080835CC:
- adds r4, 0x10
- lsls r0, r4, 5
- ldr r1, _080835DC @ =gPlttBufferUnfaded
- adds r0, r1
- movs r1, 0x10
- bl TintPalette_SepiaTone
- b _080835F6
- .align 2, 0
-_080835DC: .4byte gPlttBufferUnfaded
-_080835E0:
- adds r4, 0x10
- lsls r0, r4, 4
- movs r1, 0x10
- bl sub_8111F38
- lsls r0, r4, 5
- ldr r1, _0808360C @ =gPlttBufferUnfaded
- adds r0, r1
- movs r1, 0x10
- bl TintPalette_GrayScale
-_080835F6:
- lsls r1, r4, 5
- ldr r0, _0808360C @ =gPlttBufferUnfaded
- adds r0, r1, r0
- ldr r2, _08083610 @ =gPlttBufferFaded
- adds r1, r2
- movs r2, 0x8
- bl CpuFastSet
-_08083606:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808360C: .4byte gPlttBufferUnfaded
-_08083610: .4byte gPlttBufferFaded
- thumb_func_end sub_8083598
-
- thumb_func_start sub_8083614
-sub_8083614: @ 8083614
- push {r4-r6,lr}
- adds r6, r0, 0
- bl FieldEffectScript_ReadWord
- adds r5, r0, 0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl LoadSpritePalette
- cmp r4, 0xFF
- bne _08083642
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl sub_8083598
-_08083642:
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl sub_807AA8C
- ldr r0, [r6]
- adds r0, 0x4
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8083614
-
- thumb_func_start sub_808365C
-sub_808365C: @ 808365C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl FieldEffectScript_ReadWord
- adds r5, r0, 0
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl LoadSpritePalette
- cmp r4, 0xFF
- beq _0808368A
- ldrh r0, [r5, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- bl sub_8083598
-_0808368A:
- ldr r0, [r6]
- adds r0, 0x4
- str r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808365C
-
- thumb_func_start FieldEffectScript_CallNative
-FieldEffectScript_CallNative: @ 8083698
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FieldEffectScript_ReadWord
- bl _call_via_r0
- str r0, [r5]
- ldr r0, [r4]
- adds r0, 0x4
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectScript_CallNative
-
- thumb_func_start FieldEffectFreeGraphicsResources
-FieldEffectFreeGraphicsResources: @ 80836B4
- push {r4,r5,lr}
- adds r1, r0, 0
- adds r1, 0x40
- ldrh r5, [r1]
- ldrb r4, [r0, 0x5]
- lsrs r4, 4
- bl DestroySprite
- adds r0, r5, 0
- bl FieldEffectFreeTilesIfUnused
- adds r0, r4, 0
- bl FieldEffectFreePaletteIfUnused
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectFreeGraphicsResources
-
- thumb_func_start FieldEffectStop
-FieldEffectStop: @ 80836D8
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl FieldEffectFreeGraphicsResources
- adds r0, r4, 0
- bl FieldEffectActiveListRemove
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectStop
-
- thumb_func_start FieldEffectFreeTilesIfUnused
-FieldEffectFreeTilesIfUnused: @ 80836F0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl GetSpriteTileTagByTileStart
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _0808374C @ =0x0000ffff
- cmp r3, r0
- beq _08083744
- movs r2, 0
- ldr r5, _08083750 @ =gSprites
-_0808370A:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r5
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _08083734
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _08083734
- adds r0, r1, 0
- adds r0, 0x40
- ldrh r0, [r0]
- cmp r4, r0
- beq _08083744
-_08083734:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _0808370A
- adds r0, r3, 0
- bl FreeSpriteTilesByTag
-_08083744:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808374C: .4byte 0x0000ffff
-_08083750: .4byte gSprites
- thumb_func_end FieldEffectFreeTilesIfUnused
-
- thumb_func_start FieldEffectFreePaletteIfUnused
-FieldEffectFreePaletteIfUnused: @ 8083754
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080837A4 @ =0x0000ffff
- cmp r5, r0
- beq _0808379C
- movs r2, 0
- ldr r6, _080837A8 @ =gSprites
- adds r3, r4, 0
-_08083770:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0808378C
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- cmp r0, r3
- beq _0808379C
-_0808378C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _08083770
- adds r0, r5, 0
- bl FreeSpritePaletteByTag
-_0808379C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080837A4: .4byte 0x0000ffff
-_080837A8: .4byte gSprites
- thumb_func_end FieldEffectFreePaletteIfUnused
-
- thumb_func_start FieldEffectActiveListClear
-FieldEffectActiveListClear: @ 80837AC
- push {r4,lr}
- movs r2, 0
- ldr r4, _080837CC @ =gUnknown_3000FC8
- movs r3, 0xFF
-_080837B4:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080837B4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080837CC: .4byte gUnknown_3000FC8
- thumb_func_end FieldEffectActiveListClear
-
- thumb_func_start FieldEffectActiveListAdd
-FieldEffectActiveListAdd: @ 80837D0
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, _080837E8 @ =gUnknown_3000FC8
-_080837DA:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080837EC
- strb r3, [r1]
- b _080837F6
- .align 2, 0
-_080837E8: .4byte gUnknown_3000FC8
-_080837EC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080837DA
-_080837F6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListAdd
-
- thumb_func_start FieldEffectActiveListRemove
-FieldEffectActiveListRemove: @ 80837FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r4, _08083818 @ =gUnknown_3000FC8
- movs r5, 0xFF
-_08083808:
- adds r1, r2, r4
- ldrb r0, [r1]
- cmp r0, r3
- bne _0808381C
- orrs r0, r5
- strb r0, [r1]
- b _08083826
- .align 2, 0
-_08083818: .4byte gUnknown_3000FC8
-_0808381C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _08083808
-_08083826:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end FieldEffectActiveListRemove
-
- thumb_func_start FieldEffectActiveListContains
-FieldEffectActiveListContains: @ 808382C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, _08083844 @ =gUnknown_3000FC8
-_08083836:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _08083848
- movs r0, 0x1
- b _08083854
- .align 2, 0
-_08083844: .4byte gUnknown_3000FC8
-_08083848:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1F
- bls _08083836
- movs r0, 0
-_08083854:
- pop {r1}
- bx r1
- thumb_func_end FieldEffectActiveListContains
-
- thumb_func_start CreateTrainerSprite
-CreateTrainerSprite: @ 8083858
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r9, r3
- ldr r7, [sp, 0x34]
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsrs r4, 21
- ldr r3, _080838E0 @ =gTrainerFrontPicPaletteTable
- mov r8, r3
- add r8, r4
- mov r0, r8
- adds r1, r7, 0
- bl LoadCompressedSpritePaletteOverrideBuffer
- ldr r0, _080838E4 @ =gTrainerFrontPicTable
- adds r4, r0
- adds r0, r4, 0
- adds r1, r7, 0
- bl LoadCompressedSpriteSheetOverrideBuffer
- mov r1, sp
- ldrh r0, [r4, 0x6]
- movs r2, 0
- strh r0, [r1]
- mov r3, r8
- ldrh r0, [r3, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, _080838E8 @ =gUnknown_83CBE50
- str r0, [sp, 0x4]
- ldr r0, _080838EC @ =gDummySpriteAnimTable
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080838F0 @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, _080838F4 @ =SpriteCallbackDummy
- str r0, [sp, 0x14]
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080838E0: .4byte gTrainerFrontPicPaletteTable
-_080838E4: .4byte gTrainerFrontPicTable
-_080838E8: .4byte gUnknown_83CBE50
-_080838EC: .4byte gDummySpriteAnimTable
-_080838F0: .4byte gDummySpriteAffineAnimTable
-_080838F4: .4byte SpriteCallbackDummy
- thumb_func_end CreateTrainerSprite
-
- thumb_func_start LoadTrainerGfx_TrainerCard
-LoadTrainerGfx_TrainerCard: @ 80838F8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _08083928 @ =gTrainerFrontPicTable
- lsrs r4, 21
- adds r0, r4, r0
- ldr r0, [r0]
- bl LZDecompressVram
- ldr r0, _0808392C @ =gTrainerFrontPicPaletteTable
- adds r4, r0
- ldr r0, [r4]
- adds r1, r5, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083928: .4byte gTrainerFrontPicTable
-_0808392C: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end LoadTrainerGfx_TrainerCard
-
- thumb_func_start AddNewGameBirchObject
-AddNewGameBirchObject: @ 8083930
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _08083968 @ =gUnknown_83CBE70
- bl LoadSpritePalette
- ldr r0, _0808396C @ =gUnknown_83CBE84
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08083968: .4byte gUnknown_83CBE70
-_0808396C: .4byte gUnknown_83CBE84
- thumb_func_end AddNewGameBirchObject
-
- thumb_func_start sub_8083970
-sub_8083970: @ 8083970
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 8
- lsls r1, 16
- asrs r1, 16
- str r1, [sp]
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r1, _080839C0 @ =gMonPaletteTable
- lsls r4, r0, 3
- adds r4, r1
- ldrh r1, [r4, 0x4]
- str r1, [sp, 0xC]
- movs r1, 0
- adds r2, r3, 0
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_807B084
- ldr r0, _080839C4 @ =0x0000ffff
- cmp r5, r0
- beq _080839C8
- lsls r0, r5, 24
- lsrs r0, 24
- b _080839CA
- .align 2, 0
-_080839C0: .4byte gMonPaletteTable
-_080839C4: .4byte 0x0000ffff
-_080839C8:
- movs r0, 0x40
-_080839CA:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8083970
-
- thumb_func_start sub_80839D4
-sub_80839D4: @ 80839D4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x10
- adds r6, r0, 0
- mov r9, r1
- mov r10, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x2C]
- lsls r6, 16
- lsrs r6, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- bl GetMonSpritePalStructFromOtIdPersonality
- mov r8, r0
- lsls r4, 16
- asrs r4, 16
- str r4, [sp]
- lsls r5, 16
- asrs r5, 16
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x4]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- mov r1, r9
- mov r2, r10
- movs r3, 0x1
- bl CreateMonPicSprite_HandleDeoxys
- lsls r0, 16
- lsrs r4, r0, 16
- mov r1, r8
- ldrh r0, [r1, 0x4]
- bl IndexOfSpritePaletteTag
- adds r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- bl sub_807B084
- ldr r0, _08083A44 @ =0x0000ffff
- cmp r4, r0
- beq _08083A48
- lsls r0, r4, 24
- lsrs r0, 24
- b _08083A4A
- .align 2, 0
-_08083A44: .4byte 0x0000ffff
-_08083A48:
- movs r0, 0x40
-_08083A4A:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80839D4
-
- thumb_func_start sub_8083A5C
-sub_8083A5C: @ 8083A5C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_807B0B4
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _08083A7A
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_08083A7A:
- adds r0, r5, 0
- bl FreeAndDestroyMonPicSprite
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8083A5C
-
- thumb_func_start MultiplyInvertedPaletteRGBComponents
-MultiplyInvertedPaletteRGBComponents: @ 8083A88
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, _08083B0C @ =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r9, r5
- mov r8, r4
- mov r6, r8
- ands r6, r5
- mov r8, r6
- movs r6, 0xF8
- lsls r6, 2
- ands r6, r4
- lsrs r6, 5
- movs r5, 0xF8
- lsls r5, 7
- ands r4, r5
- lsrs r4, 10
- mov r7, r9
- mov r5, r8
- subs r7, r5
- mov r12, r7
- mov r7, r12
- muls r7, r1
- adds r1, r7, 0
- asrs r1, 4
- add r8, r1
- mov r5, r9
- subs r1, r5, r6
- muls r1, r2
- asrs r1, 4
- adds r6, r1
- subs r5, r4
- mov r9, r5
- mov r1, r9
- muls r1, r3
- asrs r1, 4
- adds r4, r1
- mov r7, r8
- lsls r7, 16
- lsls r6, 21
- orrs r6, r7
- lsls r4, 26
- orrs r4, r6
- lsrs r4, 16
- ldr r1, _08083B10 @ =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08083B0C: .4byte gPlttBufferUnfaded
-_08083B10: .4byte gPlttBufferFaded
- thumb_func_end MultiplyInvertedPaletteRGBComponents
-
- thumb_func_start MultiplyPaletteRGBComponents
-MultiplyPaletteRGBComponents: @ 8083B14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r4, _08083B84 @ =gPlttBufferUnfaded
- lsrs r0, 15
- adds r4, r0, r4
- ldrh r4, [r4]
- movs r5, 0x1F
- mov r8, r5
- mov r6, r8
- ands r6, r4
- mov r8, r6
- movs r5, 0xF8
- lsls r5, 2
- ands r5, r4
- lsrs r5, 5
- movs r6, 0xF8
- lsls r6, 7
- ands r4, r6
- lsrs r4, 10
- mov r6, r8
- muls r6, r1
- adds r1, r6, 0
- asrs r1, 4
- mov r6, r8
- subs r6, r1
- adds r1, r5, 0
- muls r1, r2
- asrs r1, 4
- subs r5, r1
- adds r1, r4, 0
- muls r1, r3
- asrs r1, 4
- subs r4, r1
- lsls r6, 16
- lsls r5, 21
- orrs r5, r6
- lsls r4, 26
- orrs r4, r5
- lsrs r4, 16
- ldr r1, _08083B88 @ =gPlttBufferFaded
- adds r0, r1
- strh r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08083B84: .4byte gPlttBufferUnfaded
-_08083B88: .4byte gPlttBufferFaded
- thumb_func_end MultiplyPaletteRGBComponents
-
- thumb_func_start sub_8083B8C
-sub_8083B8C: @ 8083B8C
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08083BC8 @ =sub_8083BD0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08083BCC @ =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x5D
- strh r0, [r1, 0xC]
- movs r0, 0x24
- strh r0, [r1, 0xE]
- movs r0, 0x80
- strh r0, [r1, 0x10]
- movs r0, 0x18
- strh r0, [r1, 0x12]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08083BC8: .4byte sub_8083BD0
-_08083BCC: .4byte gTasks
- thumb_func_end sub_8083B8C
-
- thumb_func_start sub_8083BD0
-sub_8083BD0: @ 8083BD0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08083BF8 @ =gTasks
- adds r1, r0
- ldr r2, _08083BFC @ =gUnknown_83CBFD0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_08083BF8: .4byte gTasks
-_08083BFC: .4byte gUnknown_83CBFD0
- thumb_func_end sub_8083BD0
-
- thumb_func_start PokecenterHealEffect_0
-PokecenterHealEffect_0: @ 8083C00
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0x1
- bl sub_8083E14
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl PokecenterHealEffectHelper
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PokecenterHealEffect_0
-
- thumb_func_start PokecenterHealEffect_1
-PokecenterHealEffect_1: @ 8083C3C
- push {r4,lr}
- adds r2, r0, 0
- ldr r3, _08083C74 @ =gSprites
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r4, 0x2E
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- ble _08083C6E
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08083C6E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083C74: .4byte gSprites
- thumb_func_end PokecenterHealEffect_1
-
- thumb_func_start sub_8083C78
-sub_8083C78: @ 8083C78
- push {lr}
- adds r3, r0, 0
- ldr r2, _08083C9C @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _08083C98
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08083C98:
- pop {r0}
- bx r0
- .align 2, 0
-_08083C9C: .4byte gSprites
- thumb_func_end sub_8083C78
-
- thumb_func_start PokecenterHealEffect_3
-PokecenterHealEffect_3: @ 8083CA0
- push {lr}
- ldr r2, _08083CD8 @ =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _08083CD2
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x19
- bl FieldEffectActiveListRemove
- ldr r0, _08083CDC @ =sub_8083BD0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08083CD2:
- pop {r0}
- bx r0
- .align 2, 0
-_08083CD8: .4byte gSprites
-_08083CDC: .4byte sub_8083BD0
- thumb_func_end PokecenterHealEffect_3
-
- thumb_func_start sub_8083CE0
-sub_8083CE0: @ 8083CE0
- push {r4,lr}
- bl CalculatePlayerPartyCount
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08083D14 @ =sub_8083D1C
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08083D18 @ =gTasks
- adds r1, r0
- strh r4, [r1, 0xA]
- movs r0, 0x75
- strh r0, [r1, 0xC]
- movs r0, 0x3C
- strh r0, [r1, 0xE]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08083D14: .4byte sub_8083D1C
-_08083D18: .4byte gTasks
- thumb_func_end sub_8083CE0
-
- thumb_func_start sub_8083D1C
-sub_8083D1C: @ 8083D1C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08083D44 @ =gTasks
- adds r1, r0
- ldr r2, _08083D48 @ =gUnknown_83CBFE0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_08083D44: .4byte gTasks
-_08083D48: .4byte gUnknown_83CBFE0
- thumb_func_end sub_8083D1C
-
- thumb_func_start HallOfFameRecordEffect_0
-HallOfFameRecordEffect_0: @ 8083D4C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- movs r3, 0xE
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl sub_8083E14
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end HallOfFameRecordEffect_0
-
- thumb_func_start sub_8083D74
-sub_8083D74: @ 8083D74
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _08083DA8 @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- ble _08083DA2
- movs r0, 0x78
- movs r1, 0x19
- bl sub_808428C
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08083DA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083DA8: .4byte gSprites
- thumb_func_end sub_8083D74
-
- thumb_func_start sub_8083DAC
-sub_8083DAC: @ 8083DAC
- push {lr}
- adds r3, r0, 0
- ldr r2, _08083DD0 @ =gSprites
- movs r0, 0x14
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _08083DCC
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08083DCC:
- pop {r0}
- bx r0
- .align 2, 0
-_08083DD0: .4byte gSprites
- thumb_func_end sub_8083DAC
-
- thumb_func_start sub_8083DD4
-sub_8083DD4: @ 8083DD4
- push {lr}
- ldr r2, _08083E0C @ =gSprites
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- ble _08083E06
- adds r0, r1, 0
- bl DestroySprite
- movs r0, 0x3E
- bl FieldEffectActiveListRemove
- ldr r0, _08083E10 @ =sub_8083D1C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08083E06:
- pop {r0}
- bx r0
- .align 2, 0
-_08083E0C: .4byte gSprites
-_08083E10: .4byte sub_8083D1C
- thumb_func_end sub_8083DD4
-
- thumb_func_start sub_8083E14
-sub_8083E14: @ 8083E14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _08083E68 @ =sub_8083E70
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, _08083E6C @ =gSprites
- adds r1, r2
- strh r4, [r1, 0x24]
- strh r5, [r1, 0x26]
- adds r3, r1, 0
- adds r3, 0x43
- movs r2, 0xFF
- strb r2, [r3]
- strh r6, [r1, 0x38]
- mov r2, r8
- strh r2, [r1, 0x3A]
- strh r0, [r1, 0x3C]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08083E68: .4byte sub_8083E70
-_08083E6C: .4byte gSprites
- thumb_func_end sub_8083E14
-
- thumb_func_start sub_8083E70
-sub_8083E70: @ 8083E70
- push {lr}
- ldr r2, _08083E88 @ =gUnknown_83CBFF0
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08083E88: .4byte gUnknown_83CBFF0
- thumb_func_end sub_8083E70
-
- thumb_func_start PokeballGlowEffect_0
-PokeballGlowEffect_0: @ 8083E8C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08083EA4
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08083F00
-_08083EA4:
- movs r0, 0x19
- strh r0, [r4, 0x30]
- ldr r0, _08083F18 @ =gUnknown_83CBF88
- ldr r1, _08083F1C @ =gUnknown_83CC010
- movs r2, 0x32
- ldrsh r3, [r4, r2]
- lsls r3, 2
- adds r3, r1
- ldrh r1, [r4, 0x24]
- ldrh r2, [r3]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r4, 0x26]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08083F20 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldrh r0, [r4, 0x3C]
- strh r0, [r1, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- movs r0, 0x17
- bl PlaySE
-_08083F00:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08083F12
- movs r0, 0x20
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08083F12:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08083F18: .4byte gUnknown_83CBF88
-_08083F1C: .4byte gUnknown_83CC010
-_08083F20: .4byte gSprites
- thumb_func_end PokeballGlowEffect_0
-
- thumb_func_start PokeballGlowEffect_1
-PokeballGlowEffect_1: @ 8083F24
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _08083F54
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- movs r0, 0x8
- strh r0, [r1, 0x30]
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x34]
- movs r2, 0x38
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08083F54
- movs r0, 0x80
- lsls r0, 1
- bl PlayFanfare
-_08083F54:
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_1
-
- thumb_func_start PokeballGlowEffect_2
-PokeballGlowEffect_2: @ 8083F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldrh r0, [r7, 0x30]
- subs r0, 0x1
- strh r0, [r7, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08083F88
- movs r0, 0x8
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r7, 0x32]
- cmp r0, 0
- bne _08083F88
- ldrh r0, [r7, 0x34]
- adds r0, 0x1
- strh r0, [r7, 0x34]
-_08083F88:
- ldrh r4, [r7, 0x32]
- adds r4, 0x3
- movs r0, 0x3
- mov r8, r0
- mov r1, r8
- ands r4, r1
- ldr r3, _08084080 @ =0x00001007
- mov r10, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r6, _08084084 @ =gUnknown_83CC028
- adds r1, r4, r6
- ldrb r1, [r1]
- ldr r5, _08084088 @ =gUnknown_83CC02C
- adds r2, r4, r5
- ldrb r2, [r2]
- ldr r3, _0808408C @ =gUnknown_83CC030
- mov r9, r3
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x2
- mov r0, r8
- ands r4, r0
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- adds r4, 0x1
- mov r3, r8
- ands r4, r3
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r4, r6
- ldrb r1, [r1]
- adds r2, r4, r5
- ldrb r2, [r2]
- add r4, r9
- ldrb r3, [r4]
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r4, [r7, 0x32]
- lsls r4, 24
- lsrs r4, 24
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r3, _08084090 @ =0x01050000
- adds r0, r3
- lsrs r0, 16
- adds r6, r4, r6
- ldrb r6, [r6]
- adds r5, r4, r5
- ldrb r5, [r5]
- add r4, r9
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _08084094 @ =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- movs r3, 0x34
- ldrsh r0, [r7, r3]
- cmp r0, 0x2
- ble _08084072
- ldrh r0, [r7, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r7, 0x2E]
- movs r0, 0x8
- strh r0, [r7, 0x30]
- strh r1, [r7, 0x32]
-_08084072:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08084080: .4byte 0x00001007
-_08084084: .4byte gUnknown_83CC028
-_08084088: .4byte gUnknown_83CC02C
-_0808408C: .4byte gUnknown_83CC030
-_08084090: .4byte 0x01050000
-_08084094: .4byte 0x01030000
- thumb_func_end PokeballGlowEffect_2
-
- thumb_func_start PokeballGlowEffect_3
-PokeballGlowEffect_3: @ 8084098
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080840C8
- movs r0, 0x8
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r2, 0x32]
- cmp r0, 0x3
- bne _080840C8
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r0, 0x1E
- strh r0, [r2, 0x30]
-_080840C8:
- ldrh r4, [r2, 0x32]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08084174 @ =0x00001007
- mov r8, r0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x84
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldr r1, _08084178 @ =gUnknown_83CC028
- adds r1, r4, r1
- ldrb r6, [r1]
- ldr r1, _0808417C @ =gUnknown_83CC02C
- adds r1, r4, r1
- ldrb r5, [r1]
- ldr r1, _08084180 @ =gUnknown_83CC030
- adds r4, r1
- ldrb r4, [r4]
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x83
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- movs r1, 0x81
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _08084184 @ =0x01050000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- mov r0, r8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _08084188 @ =0x01030000
- adds r0, r1
- lsrs r0, 16
- adds r1, r6, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl MultiplyInvertedPaletteRGBComponents
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08084174: .4byte 0x00001007
-_08084178: .4byte gUnknown_83CC028
-_0808417C: .4byte gUnknown_83CC02C
-_08084180: .4byte gUnknown_83CC030
-_08084184: .4byte 0x01050000
-_08084188: .4byte 0x01030000
- thumb_func_end PokeballGlowEffect_3
-
- thumb_func_start PokeballGlowEffect_4
-PokeballGlowEffect_4: @ 808418C
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080841A2
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_080841A2:
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_4
-
- thumb_func_start PokeballGlowEffect_5
-PokeballGlowEffect_5: @ 80841A8
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
- bx lr
- thumb_func_end PokeballGlowEffect_5
-
- thumb_func_start PokeballGlowEffect_6
-PokeballGlowEffect_6: @ 80841B0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080841C6
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _080841CC
-_080841C6:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080841CC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end PokeballGlowEffect_6
-
- thumb_func_start nullsub_50
-nullsub_50: @ 80841D4
- bx lr
- thumb_func_end nullsub_50
-
- thumb_func_start SpriteCB_PokeballGlow
-SpriteCB_PokeballGlow: @ 80841D8
- push {lr}
- adds r3, r0, 0
- ldr r2, _080841FC @ =gSprites
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2E
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- ble _080841F8
- adds r0, r3, 0
- bl FieldEffectFreeGraphicsResources
-_080841F8:
- pop {r0}
- bx r0
- .align 2, 0
-_080841FC: .4byte gSprites
- thumb_func_end SpriteCB_PokeballGlow
-
- thumb_func_start PokecenterHealEffectHelper
-PokecenterHealEffectHelper: @ 8084200
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _08084244 @ =gUnknown_83CBFA0
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _08084248 @ =gSprites
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- movs r3, 0x8
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2]
- pop {r1}
- bx r1
- .align 2, 0
-_08084244: .4byte gUnknown_83CBFA0
-_08084248: .4byte gSprites
- thumb_func_end PokecenterHealEffectHelper
-
- thumb_func_start sub_808424C
-sub_808424C: @ 808424C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08084270
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_08084270:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08084284
- adds r0, r4, 0
- bl FieldEffectFreeGraphicsResources
-_08084284:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808424C
-
- thumb_func_start sub_808428C
-sub_808428C: @ 808428C
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080842A8 @ =gUnknown_83CBFB8
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- pop {r0}
- bx r0
- .align 2, 0
-_080842A8: .4byte gUnknown_83CBFB8
- thumb_func_end sub_808428C
-
- thumb_func_start sub_80842AC
-sub_80842AC: @ 80842AC
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080842C2
- adds r0, r2, 0
- bl FieldEffectFreeGraphicsResources
-_080842C2:
- pop {r0}
- bx r0
- thumb_func_end sub_80842AC
-
- thumb_func_start sub_80842C8
-sub_80842C8: @ 80842C8
- push {lr}
- ldr r0, _080842DC @ =CB2_ReturnToField
- bl SetMainCallback2
- ldr r1, _080842E0 @ =gFieldCallback
- ldr r0, _080842E4 @ =mapldr_080842E8
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080842DC: .4byte CB2_ReturnToField
-_080842E0: .4byte gFieldCallback
-_080842E4: .4byte mapldr_080842E8
- thumb_func_end sub_80842C8
-
- thumb_func_start mapldr_080842E8
-mapldr_080842E8: @ 80842E8
- push {lr}
- bl sub_807DC00
- ldr r0, _08084308 @ =task00_8084310
- movs r1, 0
- bl CreateTask
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r1, _0808430C @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08084308: .4byte task00_8084310
-_0808430C: .4byte gFieldCallback
- thumb_func_end mapldr_080842E8
-
- thumb_func_start task00_8084310
-task00_8084310: @ 8084310
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0808437C @ =gTasks
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r6, [r4, r0]
- cmp r6, 0
- bne _08084350
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _08084376
- bl GetCursorSelectionMonId
- ldr r1, _08084380 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- cmp r0, 0x5
- ble _08084344
- str r6, [r1]
-_08084344:
- movs r0, 0x1F
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084350:
- movs r0, 0x1F
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08084376
- bl sub_8054CA0
- bl WarpIntoMap
- ldr r0, _08084384 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, _08084388 @ =gFieldCallback
- ldr r0, _0808438C @ =mapldr_08084390
- str r0, [r1]
- adds r0, r5, 0
- bl DestroyTask
-_08084376:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808437C: .4byte gTasks
-_08084380: .4byte gFieldEffectArguments
-_08084384: .4byte CB2_LoadMap
-_08084388: .4byte gFieldCallback
-_0808438C: .4byte mapldr_08084390
- thumb_func_end task00_8084310
-
- thumb_func_start mapldr_08084390
-mapldr_08084390: @ 8084390
- push {r4,lr}
- bl Overworld_PlaySpecialMapMusic
- bl sub_807DC00
- ldr r0, _080843E8 @ =c3_080843F8
- movs r1, 0
- bl CreateTask
- ldr r4, _080843EC @ =gObjectEvents
- ldr r3, _080843F0 @ =gPlayerAvatar
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldrb r1, [r3]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080843D2
- ldrb r1, [r3, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x3
- bl ObjectEventTurn
-_080843D2:
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r1, _080843F4 @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080843E8: .4byte c3_080843F8
-_080843EC: .4byte gObjectEvents
-_080843F0: .4byte gPlayerAvatar
-_080843F4: .4byte gFieldCallback
- thumb_func_end mapldr_08084390
-
- thumb_func_start c3_080843F8
-c3_080843F8: @ 80843F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0808444C @ =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808442A
- ldr r0, _08084450 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08084444
- movs r0, 0x20
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808442A:
- movs r0, 0x20
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08084444
- bl ScriptContext2_Disable
- bl UnfreezeObjectEvents
- adds r0, r5, 0
- bl DestroyTask
-_08084444:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808444C: .4byte gTasks
-_08084450: .4byte gPaletteFade
- thumb_func_end c3_080843F8
-
- thumb_func_start sub_8084454
-sub_8084454: @ 8084454
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r0, _0808447C @ =sub_8084484
- movs r1, 0
- bl CreateTask
- ldr r1, _08084480 @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0808447C: .4byte sub_8084484
-_08084480: .4byte gFieldCallback
- thumb_func_end sub_8084454
-
- thumb_func_start sub_8084484
-sub_8084484: @ 8084484
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080844B4 @ =gTasks
- adds r4, r1, r0
- ldr r5, _080844B8 @ =gUnknown_83CC034
-_08084496:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08084496
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080844B4: .4byte gTasks
-_080844B8: .4byte gUnknown_83CC034
- thumb_func_end sub_8084484
-
- thumb_func_start sub_80844BC
-sub_80844BC: @ 80844BC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r9, r0
- ldr r6, _08084558 @ =gPlayerAvatar
- ldrb r0, [r6, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, _0808455C @ =gObjectEvents
- mov r8, r0
- add r5, r8
- ldrb r0, [r6, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084560 @ =gSprites
- adds r4, r0
- bl CameraObjectReset2
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl ObjectEventSetHeldMovement
- adds r3, r4, 0
- adds r3, 0x42
- ldrb r0, [r3]
- lsrs r0, 6
- mov r1, r9
- strh r0, [r1, 0x10]
- ldrb r0, [r5, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r5, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldrb r1, [r3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3]
- mov r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08084558: .4byte gPlayerAvatar
-_0808455C: .4byte gObjectEvents
-_08084560: .4byte gSprites
- thumb_func_end sub_80844BC
-
- thumb_func_start sub_8084564
-sub_8084564: @ 8084564
- push {r4,lr}
- adds r4, r0, 0
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _08084578
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084578:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084564
-
- thumb_func_start sub_8084580
-sub_8084580: @ 8084580
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080845E4 @ =gPlayerAvatar
- ldrb r0, [r6, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080845E8 @ =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, _080845EC @ =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- movs r1, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r5, 0xA]
- strh r1, [r5, 0xC]
- ldr r2, _080845F0 @ =gObjectEvents
- ldrb r0, [r6, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0x25
- bl PlaySE
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080845E4: .4byte gPlayerAvatar
-_080845E8: .4byte gSprites
-_080845EC: .4byte gSpriteCoordOffsetY
-_080845F0: .4byte gObjectEvents
- thumb_func_end sub_8084580
-
- thumb_func_start sub_80845F4
-sub_80845F4: @ 80845F4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r2, _080846A0 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080846A4 @ =gObjectEvents
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080846A8 @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bgt _08084636
- ldrh r1, [r4, 0xC]
- adds r0, r2, r1
- strh r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r0, 0
- beq _08084636
- lsls r0, r2, 1
- strh r0, [r4, 0xA]
-_08084636:
- ldrh r2, [r4, 0xE]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08084674
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _08084674
- adds r0, r2, 0x1
- strh r0, [r4, 0xE]
- ldrb r1, [r6, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x3]
- ldrb r1, [r4, 0x10]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_08084674:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _08084698
- movs r0, 0xCF
- bl PlaySE
- ldrb r0, [r6]
- movs r1, 0x8
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084698:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080846A0: .4byte gPlayerAvatar
-_080846A4: .4byte gObjectEvents
-_080846A8: .4byte gSprites
- thumb_func_end sub_80845F4
-
- thumb_func_start sub_80846AC
-sub_80846AC: @ 80846AC
- push {lr}
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- movs r2, 0
- strh r1, [r0, 0x8]
- movs r1, 0x4
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80846AC
-
- thumb_func_start sub_80846C8
-sub_80846C8: @ 80846C8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080846F0
- lsls r0, r2, 16
- asrs r0, 17
- strh r0, [r4, 0xA]
-_080846F0:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080846FE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080846FE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80846C8
-
- thumb_func_start sub_8084708
-sub_8084708: @ 8084708
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _08084778 @ =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeObjectEvents
- bl InstallCameraPanAheadCallback
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r0, 16
- bl sub_8055B38
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08084760
- ldr r0, _0808477C @ =0x00004001
- movs r1, 0x1
- bl VarSet
- movs r0, 0x8
- bl SetPlayerAvatarTransitionFlags
- movs r0, 0x16
- bl HelpSystem_SetSomeVariable2
-_08084760:
- ldr r0, _08084780 @ =sub_8084484
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084778: .4byte gPlayerAvatar
-_0808477C: .4byte 0x00004001
-_08084780: .4byte sub_8084484
- thumb_func_end sub_8084708
-
- thumb_func_start sub_8084784
-sub_8084784: @ 8084784
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080847B8 @ =sub_80847C0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080847BC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0xA]
- cmp r4, 0x6A
- bne _080847B0
- movs r0, 0x1
- strh r0, [r1, 0xA]
-_080847B0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080847B8: .4byte sub_80847C0
-_080847BC: .4byte gTasks
- thumb_func_end sub_8084784
-
- thumb_func_start sub_80847C0
-sub_80847C0: @ 80847C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080847F0 @ =gTasks
- adds r4, r1, r0
- ldr r5, _080847F4 @ =gUnknown_83CC050
-_080847D2:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080847D2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080847F0: .4byte gTasks
-_080847F4: .4byte gUnknown_83CC050
- thumb_func_end sub_80847C0
-
- thumb_func_start sub_80847F8
-sub_80847F8: @ 80847F8
- push {r4,lr}
- adds r4, r0, 0
- bl FreezeObjectEvents
- bl CameraObjectReset2
- ldrb r0, [r4, 0xA]
- bl sub_809C448
- movs r0, 0x1
- bl sub_81128BC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80847F8
-
- thumb_func_start sub_8084820
-sub_8084820: @ 8084820
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084888 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808488C @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808484A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808487E
-_0808484A:
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _08084878
- movs r0, 0x4
- strh r0, [r5, 0x8]
-_08084878:
- movs r0, 0x49
- bl PlaySE
-_0808487E:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084888: .4byte gPlayerAvatar
-_0808488C: .4byte gObjectEvents
- thumb_func_end sub_8084820
-
- thumb_func_start sub_8084890
-sub_8084890: @ 8084890
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80848F8
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080848AA
- bl sub_8084990
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080848AA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084890
-
- thumb_func_start sub_80848B4
-sub_80848B4: @ 80848B4
- push {lr}
- bl sub_80848F8
- bl sub_80849A0
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80848B4
-
- thumb_func_start sub_80848C4
-sub_80848C4: @ 80848C4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8084944
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080848DE
- bl sub_8084990
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080848DE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80848C4
-
- thumb_func_start sub_80848E8
-sub_80848E8: @ 80848E8
- push {lr}
- bl sub_8084944
- bl sub_80849A0
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80848E8
-
- thumb_func_start sub_80848F8
-sub_80848F8: @ 80848F8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0808493C @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084940 @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084936
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08084936:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808493C: .4byte gPlayerAvatar
-_08084940: .4byte gSprites
- thumb_func_end sub_80848F8
-
- thumb_func_start sub_8084944
-sub_8084944: @ 8084944
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084988 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0808498C @ =gSprites
- adds r4, r0
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084982
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
-_08084982:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084988: .4byte gPlayerAvatar
-_0808498C: .4byte gSprites
- thumb_func_end sub_8084944
-
- thumb_func_start sub_8084990
-sub_8084990: @ 8084990
- push {lr}
- bl sub_8055F88
- bl sub_807DC18
- pop {r0}
- bx r0
- thumb_func_end sub_8084990
-
- thumb_func_start sub_80849A0
-sub_80849A0: @ 80849A0
- push {lr}
- ldr r0, _080849E0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080849DC
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080849DC
- bl sub_809C460
- bl WarpIntoMap
- ldr r1, _080849E4 @ =gFieldCallback
- ldr r0, _080849E8 @ =sub_80849F4
- str r0, [r1]
- ldr r0, _080849EC @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _080849F0 @ =sub_80847C0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080849DC:
- pop {r0}
- bx r0
- .align 2, 0
-_080849E0: .4byte gPaletteFade
-_080849E4: .4byte gFieldCallback
-_080849E8: .4byte sub_80849F4
-_080849EC: .4byte CB2_LoadMap
-_080849F0: .4byte sub_80847C0
- thumb_func_end sub_80849A0
-
- thumb_func_start sub_80849F4
-sub_80849F4: @ 80849F4
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r0, _08084A1C @ =sub_8084A24
- movs r1, 0
- bl CreateTask
- ldr r1, _08084A20 @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08084A1C: .4byte sub_8084A24
-_08084A20: .4byte gFieldCallback
- thumb_func_end sub_80849F4
-
- thumb_func_start sub_8084A24
-sub_8084A24: @ 8084A24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08084A54 @ =gTasks
- adds r4, r1, r0
- ldr r5, _08084A58 @ =gUnknown_83CC068
-_08084A36:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08084A36
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084A54: .4byte gTasks
-_08084A58: .4byte gUnknown_83CC068
- thumb_func_end sub_8084A24
-
- thumb_func_start sub_8084A5C
-sub_8084A5C: @ 8084A5C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl CameraObjectReset2
- ldr r0, _08084ABC @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084AC0 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x4
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xA]
- cmp r1, 0x6B
- bne _08084AC4
- movs r1, 0x1
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _08084AC6
- .align 2, 0
-_08084ABC: .4byte gPlayerAvatar
-_08084AC0: .4byte gObjectEvents
-_08084AC4:
- movs r1, 0
-_08084AC6:
- adds r0, r1, 0
- bl sub_809C448
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084A5C
-
- thumb_func_start sub_8084AD8
-sub_8084AD8: @ 8084AD8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084B10 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084B14 @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084B10: .4byte gPlayerAvatar
-_08084B14: .4byte gSprites
- thumb_func_end sub_8084AD8
-
- thumb_func_start sub_8084B18
-sub_8084B18: @ 8084B18
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08084B70 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084B74 @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x84
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x94
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084B56
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08084B56:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08084B66
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_08084B66:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084B70: .4byte gPlayerAvatar
-_08084B74: .4byte gSprites
- thumb_func_end sub_8084B18
-
- thumb_func_start sub_8084B78
-sub_8084B78: @ 8084B78
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08084BB0 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08084BB4 @ =gSprites
- adds r4, r0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084BB0: .4byte gPlayerAvatar
-_08084BB4: .4byte gSprites
- thumb_func_end sub_8084B78
-
- thumb_func_start sub_8084BB8
-sub_8084BB8: @ 8084BB8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _08084C10 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084C14 @ =gSprites
- adds r5, r0, r1
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x7C
- bl Cos
- strh r0, [r5, 0x24]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x76
- bl Sin
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084BF6
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
-_08084BF6:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08084C08
- strh r0, [r5, 0x24]
- strh r0, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084C08:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084C10: .4byte gPlayerAvatar
-_08084C14: .4byte gSprites
- thumb_func_end sub_8084BB8
-
- thumb_func_start sub_8084C18
-sub_8084C18: @ 8084C18
- push {r4,lr}
- adds r4, r0, 0
- bl sub_809C474
- lsls r0, 24
- cmp r0, 0
- bne _08084C34
- bl sub_809C460
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08084C36
-_08084C34:
- movs r0, 0
-_08084C36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084C18
-
- thumb_func_start sub_8084C3C
-sub_8084C3C: @ 8084C3C
- push {r4,lr}
- ldr r0, _08084C94 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08084C98 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08084C8A
- bl CameraObjectReset1
- bl ScriptContext2_Disable
- bl UnfreezeObjectEvents
- movs r0, 0x4
- bl GetWalkNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldr r0, _08084C9C @ =sub_8084A24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2
- bl sub_81128BC
-_08084C8A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084C94: .4byte gPlayerAvatar
-_08084C98: .4byte gObjectEvents
-_08084C9C: .4byte sub_8084A24
- thumb_func_end sub_8084C3C
-
- thumb_func_start oei_waterfall
-oei_waterfall: @ 8084CA0
- push {r4,lr}
- ldr r4, _08084CCC @ =sub_8084CD8
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08084CD0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _08084CD4 @ =gFieldEffectArguments
- ldr r2, [r2]
- strh r2, [r1, 0xA]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084CCC: .4byte sub_8084CD8
-_08084CD0: .4byte gTasks
-_08084CD4: .4byte gFieldEffectArguments
- thumb_func_end oei_waterfall
-
- thumb_func_start sub_8084CD8
-sub_8084CD8: @ 8084CD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08084D14 @ =gUnknown_83CC084
- ldr r2, _08084D18 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08084CEA:
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- lsls r2, 2
- adds r2, r5
- ldr r0, _08084D1C @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08084D20 @ =gObjectEvents
- adds r1, r0
- ldr r2, [r2]
- adds r0, r4, 0
- bl _call_via_r2
- lsls r0, 24
- cmp r0, 0
- bne _08084CEA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084D14: .4byte gUnknown_83CC084
-_08084D18: .4byte gTasks
-_08084D1C: .4byte gPlayerAvatar
-_08084D20: .4byte gObjectEvents
- thumb_func_end sub_8084CD8
-
- thumb_func_start sub_8084D24
-sub_8084D24: @ 8084D24
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, _08084D40 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084D40: .4byte gPlayerAvatar
- thumb_func_end sub_8084D24
-
- thumb_func_start waterfall_1_do_anim_probably
-waterfall_1_do_anim_probably: @ 8084D44
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ScriptContext2_Enable
- adds r0, r5, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- bne _08084D74
- adds r0, r5, 0
- bl ObjectEventClearHeldMovementIfFinished
- ldr r1, _08084D7C @ =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08084D74:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084D7C: .4byte gFieldEffectArguments
- thumb_func_end waterfall_1_do_anim_probably
-
- thumb_func_start waterfall_2_wait_anim_finish_probably
-waterfall_2_wait_anim_finish_probably: @ 8084D80
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08084D9A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08084D9C
-_08084D9A:
- movs r0, 0
-_08084D9C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end waterfall_2_wait_anim_finish_probably
-
- thumb_func_start sub_8084DA4
-sub_8084DA4: @ 8084DA4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0x2
- bl sub_8063F2C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084DA4
-
- thumb_func_start sub_8084DCC
-sub_8084DCC: @ 8084DCC
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- bne _08084DE2
- movs r0, 0
- b _08084E1E
-_08084DE2:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08084E18
- bl ScriptContext2_Disable
- ldr r0, _08084E10 @ =gPlayerAvatar
- strb r4, [r0, 0x6]
- ldr r0, _08084E14 @ =sub_8084CD8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2B
- bl FieldEffectActiveListRemove
- movs r0, 0
- b _08084E1E
- .align 2, 0
-_08084E10: .4byte gPlayerAvatar
-_08084E14: .4byte sub_8084CD8
-_08084E18:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- movs r0, 0x1
-_08084E1E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8084DCC
-
- thumb_func_start FldEff_UseDive
-FldEff_UseDive: @ 8084E24
- push {r4,lr}
- ldr r4, _08084E54 @ =sub_8084E60
- adds r0, r4, 0
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08084E58 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _08084E5C @ =gFieldEffectArguments
- ldr r2, [r3]
- strh r2, [r1, 0x26]
- ldr r2, [r3, 0x4]
- strh r2, [r1, 0x24]
- bl _call_via_r4
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084E54: .4byte sub_8084E60
-_08084E58: .4byte gTasks
-_08084E5C: .4byte gFieldEffectArguments
- thumb_func_end FldEff_UseDive
-
- thumb_func_start sub_8084E60
-sub_8084E60: @ 8084E60
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08084E90 @ =gUnknown_83CC098
- ldr r2, _08084E94 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08084E72:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08084E72
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084E90: .4byte gUnknown_83CC098
-_08084E94: .4byte gTasks
- thumb_func_end sub_8084E60
-
- thumb_func_start dive_1_lock
-dive_1_lock: @ 8084E98
- ldr r2, _08084EA8 @ =gPlayerAvatar
- movs r1, 0x1
- strb r1, [r2, 0x6]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_08084EA8: .4byte gPlayerAvatar
- thumb_func_end dive_1_lock
-
- thumb_func_start dive_2_unknown
-dive_2_unknown: @ 8084EAC
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- ldr r1, _08084ED0 @ =gFieldEffectArguments
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084ED0: .4byte gFieldEffectArguments
- thumb_func_end dive_2_unknown
-
- thumb_func_start dive_3_unknown
-dive_3_unknown: @ 8084ED4
- push {lr}
- sub sp, 0x8
- mov r1, sp
- adds r1, 0x2
- mov r0, sp
- bl PlayerGetDestCoords
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08084F18
- ldr r2, _08084F20 @ =gObjectEvents
- ldr r0, _08084F24 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1E]
- mov r0, sp
- bl dive_warp
- ldr r0, _08084F28 @ =sub_8084E60
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x2C
- bl FieldEffectActiveListRemove
-_08084F18:
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_08084F20: .4byte gObjectEvents
-_08084F24: .4byte gPlayerAvatar
-_08084F28: .4byte sub_8084E60
- thumb_func_end dive_3_unknown
-
- thumb_func_start sub_8084F2C
-sub_8084F2C: @ 8084F2C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08084F40 @ =sub_8084F44
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08084F40: .4byte sub_8084F44
- thumb_func_end sub_8084F2C
-
- thumb_func_start sub_8084F44
-sub_8084F44: @ 8084F44
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08084F8C @ =gUnknown_83CC0A4
- ldr r2, _08084F90 @ =gTasks
- ldr r5, _08084F94 @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08084F58:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08084F98 @ =gObjectEvents
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08084F9C @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _08084F58
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08084F8C: .4byte gUnknown_83CC0A4
-_08084F90: .4byte gTasks
-_08084F94: .4byte gPlayerAvatar
-_08084F98: .4byte gObjectEvents
-_08084F9C: .4byte gSprites
- thumb_func_end sub_8084F44
-
- thumb_func_start sub_8084FA0
-sub_8084FA0: @ 8084FA0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl FreezeObjectEvents
- bl CameraObjectReset2
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r0, _08084FD4 @ =gPlayerAvatar
- movs r2, 0x1
- strb r2, [r0, 0x6]
- ldrb r0, [r5, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x3]
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08084FD4: .4byte gPlayerAvatar
- thumb_func_end sub_8084FA0
-
- thumb_func_start sub_8084FD8
-sub_8084FD8: @ 8084FD8
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08085004
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08085004:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084FD8
-
- thumb_func_start sub_808500C
-sub_808500C: @ 808500C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- ldr r3, _08085054 @ =gFieldEffectArguments
- movs r5, 0x10
- ldrsh r0, [r1, r5]
- str r0, [r3]
- movs r5, 0x12
- ldrsh r0, [r1, r5]
- str r0, [r3, 0x4]
- adds r0, r2, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r3, 0x8]
- ldrb r0, [r2, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x32
- bl FieldEffectStart
- movs r0, 0xAB
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08085054: .4byte gFieldEffectArguments
- thumb_func_end sub_808500C
-
- thumb_func_start sub_8085058
-sub_8085058: @ 8085058
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
- ldrh r0, [r4, 0xA]
- negs r2, r0
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r1, r0, 0x1
- strh r1, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x11
- bgt _08085092
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080850A4
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bgt _080850A4
- lsls r0, r2, 1
- b _080850A2
-_08085092:
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- bne _080850A4
- lsls r0, r2, 16
- cmp r0, 0
- ble _080850A4
- asrs r0, 17
-_080850A2:
- strh r0, [r4, 0xA]
-_080850A4:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _080850F0
- adds r0, r5, 0
- adds r0, 0x29
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r2, r1, 17
- negs r2, r2
- movs r7, 0x26
- ldrsh r3, [r5, r7]
- movs r7, 0x22
- ldrsh r0, [r5, r7]
- adds r0, r1
- ldr r1, _080850E8 @ =gSpriteCoordOffsetY
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- asrs r2, 16
- adds r0, r2
- cmn r3, r0
- ble _080850EC
- ldrh r0, [r5, 0x26]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x26]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _080850F0
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080850F0
- .align 2, 0
-_080850E8: .4byte gSpriteCoordOffsetY
-_080850EC:
- movs r0, 0x1
- strh r0, [r4, 0x10]
-_080850F0:
- ldrh r2, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808512E
- movs r7, 0x26
- ldrsh r1, [r5, r7]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _0808512E
- adds r0, r2, 0x1
- strh r0, [r4, 0x12]
- ldrb r0, [r6, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r6, 0x3]
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_0808512E:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08085144
- movs r7, 0x10
- ldrsh r0, [r4, r7]
- cmp r0, 0
- beq _08085144
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08085144:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8085058
-
- thumb_func_start sub_808514C
-sub_808514C: @ 808514C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8055F88
- bl sub_807DC18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808514C
-
- thumb_func_start sub_8085168
-sub_8085168: @ 8085168
- push {lr}
- ldr r0, _080851A8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080851A0
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080851A0
- bl WarpIntoMap
- ldr r1, _080851AC @ =gFieldCallback
- ldr r0, _080851B0 @ =mapldr_080851BC
- str r0, [r1]
- ldr r0, _080851B4 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _080851B8 @ =sub_8084F44
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080851A0:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080851A8: .4byte gPaletteFade
-_080851AC: .4byte gFieldCallback
-_080851B0: .4byte mapldr_080851BC
-_080851B4: .4byte CB2_LoadMap
-_080851B8: .4byte sub_8084F44
- thumb_func_end sub_8085168
-
- thumb_func_start mapldr_080851BC
-mapldr_080851BC: @ 80851BC
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- ldr r0, _080851E0 @ =gFieldCallback
- movs r1, 0
- str r1, [r0]
- ldr r0, _080851E4 @ =sub_80851E8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080851E0: .4byte gFieldCallback
-_080851E4: .4byte sub_80851E8
- thumb_func_end mapldr_080851BC
-
- thumb_func_start sub_80851E8
-sub_80851E8: @ 80851E8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _08085230 @ =gUnknown_83CC0BC
- ldr r2, _08085234 @ =gTasks
- ldr r5, _08085238 @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080851FC:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0808523C @ =gObjectEvents
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08085240 @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080851FC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085230: .4byte gUnknown_83CC0BC
-_08085234: .4byte gTasks
-_08085238: .4byte gPlayerAvatar
-_0808523C: .4byte gObjectEvents
-_08085240: .4byte gSprites
- thumb_func_end sub_80851E8
-
- thumb_func_start sub_8085244
-sub_8085244: @ 8085244
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl CameraObjectReset2
- bl FreezeObjectEvents
- ldr r1, _08085270 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08085270: .4byte gPlayerAvatar
- thumb_func_end sub_8085244
-
- thumb_func_start sub_8085274
-sub_8085274: @ 8085274
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _080852B4
- ldr r1, _080852BC @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080852B4:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080852BC: .4byte gFieldEffectArguments
- thumb_func_end sub_8085274
-
- thumb_func_start sub_80852C0
-sub_80852C0: @ 80852C0
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085310 @ =gSprites
- adds r0, r1
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08085308
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- bl CameraObjectReset1
- movs r0, 0xA8
- bl PlaySE
- movs r0, 0x4
- bl GetJumpMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
-_08085308:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08085310: .4byte gSprites
- thumb_func_end sub_80852C0
-
- thumb_func_start sub_8085314
-sub_8085314: @ 8085314
- push {lr}
- adds r0, r1, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808533E
- ldr r1, _08085344 @ =gPlayerAvatar
- movs r0, 0
- strb r0, [r1, 0x6]
- bl ScriptContext2_Disable
- bl UnfreezeObjectEvents
- ldr r0, _08085348 @ =sub_80851E8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808533E:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08085344: .4byte gPlayerAvatar
-_08085348: .4byte sub_80851E8
- thumb_func_end sub_8085314
-
- thumb_func_start FldEff_LavaridgeGymWarp
-FldEff_LavaridgeGymWarp: @ 808534C
- push {r4,lr}
- ldr r4, _080853A4 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080853A8 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x84
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080853AC @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080853A4: .4byte gFieldEffectArguments
-_080853A8: .4byte gFieldEffectObjectTemplatePointers
-_080853AC: .4byte gSprites
- thumb_func_end FldEff_LavaridgeGymWarp
-
- thumb_func_start sub_80853B0
-sub_80853B0: @ 80853B0
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080853C8
- adds r0, r2, 0
- movs r1, 0x32
- bl FieldEffectStop
-_080853C8:
- pop {r0}
- bx r0
- thumb_func_end sub_80853B0
-
- thumb_func_start sub_80853CC
-sub_80853CC: @ 80853CC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080853E0 @ =sub_80853E4
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080853E0: .4byte sub_80853E4
- thumb_func_end sub_80853CC
-
- thumb_func_start sub_80853E4
-sub_80853E4: @ 80853E4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _0808542C @ =gUnknown_83CC0CC
- ldr r2, _08085430 @ =gTasks
- ldr r5, _08085434 @ =gPlayerAvatar
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080853F8:
- movs r0, 0x8
- ldrsh r3, [r4, r0]
- lsls r3, 2
- adds r3, r6
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _08085438 @ =gObjectEvents
- adds r1, r0
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _0808543C @ =gSprites
- adds r2, r0
- ldr r3, [r3]
- adds r0, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _080853F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808542C: .4byte gUnknown_83CC0CC
-_08085430: .4byte gTasks
-_08085434: .4byte gPlayerAvatar
-_08085438: .4byte gObjectEvents
-_0808543C: .4byte gSprites
- thumb_func_end sub_80853E4
-
- thumb_func_start sub_8085440
-sub_8085440: @ 8085440
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl FreezeObjectEvents
- bl CameraObjectReset2
- ldr r1, _0808546C @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrb r0, [r4, 0x3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808546C: .4byte gPlayerAvatar
- thumb_func_end sub_8085440
-
- thumb_func_start sub_8085470
-sub_8085470: @ 8085470
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080854E4
- ldrh r1, [r5, 0xA]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r0, 0x3
- ble _080854C4
- ldr r1, _080854C0 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- str r0, [r1, 0x4]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r1, 0x8]
- ldrb r0, [r6, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r1, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0xA]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080854E4
- .align 2, 0
-_080854C0: .4byte gFieldEffectArguments
-_080854C4:
- adds r0, r1, 0x1
- strh r0, [r5, 0xA]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetWalkInPlaceFastMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- movs r0, 0x21
- bl PlaySE
-_080854E4:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8085470
-
- thumb_func_start sub_80854EC
-sub_80854EC: @ 80854EC
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldr r2, _08085520 @ =gSprites
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08085516
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08085516:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08085520: .4byte gSprites
- thumb_func_end sub_80854EC
-
- thumb_func_start sub_8085524
-sub_8085524: @ 8085524
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08085542
- bl sub_8055F88
- bl sub_807DC18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08085542:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8085524
-
- thumb_func_start sub_808554C
-sub_808554C: @ 808554C
- push {lr}
- ldr r0, _0808558C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08085584
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085584
- bl WarpIntoMap
- ldr r1, _08085590 @ =gFieldCallback
- ldr r0, _08085594 @ =sub_8084454
- str r0, [r1]
- ldr r0, _08085598 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _0808559C @ =sub_80853E4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08085584:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808558C: .4byte gPaletteFade
-_08085590: .4byte gFieldCallback
-_08085594: .4byte sub_8084454
-_08085598: .4byte CB2_LoadMap
-_0808559C: .4byte sub_80853E4
- thumb_func_end sub_808554C
-
- thumb_func_start FldEff_PopOutOfAsh
-FldEff_PopOutOfAsh: @ 80855A0
- push {r4,lr}
- ldr r4, _080855F8 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080855FC @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x80
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08085600 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3
- ldrb r3, [r4, 0xC]
- ands r3, r1
- lsls r3, 2
- ldrb r4, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080855F8: .4byte gFieldEffectArguments
-_080855FC: .4byte gFieldEffectObjectTemplatePointers
-_08085600: .4byte gSprites
- thumb_func_end FldEff_PopOutOfAsh
-
- thumb_func_start sub_8085604
-sub_8085604: @ 8085604
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808561C
- adds r0, r2, 0
- movs r1, 0x31
- bl FieldEffectStop
-_0808561C:
- pop {r0}
- bx r0
- thumb_func_end sub_8085604
-
- thumb_func_start sub_8085620
-sub_8085620: @ 8085620
- push {lr}
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r0, _08085638 @ =sub_808563C
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08085638: .4byte sub_808563C
- thumb_func_end sub_8085620
-
- thumb_func_start sub_808563C
-sub_808563C: @ 808563C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08085664 @ =gUnknown_83CC0E0
- ldr r2, _08085668 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08085664: .4byte gUnknown_83CC0E0
-_08085668: .4byte gTasks
- thumb_func_end sub_808563C
-
- thumb_func_start sub_808566C
-sub_808566C: @ 808566C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x8]
- movs r0, 0x40
- strh r0, [r4, 0x22]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- strh r5, [r4, 0x26]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808566C
-
- thumb_func_start sub_8085690
-sub_8085690: @ 8085690
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080856D4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080856D8 @ =gObjectEvents
- adds r6, r0, r1
- adds r4, r5, 0
- adds r4, 0x8
- adds r1, r5, 0
- adds r1, 0xA
- adds r2, r5, 0
- adds r2, 0xC
- adds r0, r6, 0
- bl sub_808576C
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- bgt _080856DC
- adds r0, r1, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _08085702
- movs r0, 0x27
- bl PlaySE
- b _08085702
- .align 2, 0
-_080856D4: .4byte gPlayerAvatar
-_080856D8: .4byte gObjectEvents
-_080856DC:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08085702
- adds r1, r5, 0
- adds r1, 0x12
- adds r2, r5, 0
- adds r2, 0x14
- adds r0, r6, 0
- bl sub_80857F0
- cmp r0, 0
- bne _08085702
- bl sub_8055F88
- bl sub_807DC18
- movs r0, 0x1
- strh r0, [r4, 0x8]
-_08085702:
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _08085750
- ldr r0, _08085758 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08085750
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085750
- ldrh r1, [r5, 0x26]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl SetObjectEventDirection
- bl sub_80555E0
- bl WarpIntoMap
- ldr r1, _0808575C @ =gFieldCallback
- ldr r0, _08085760 @ =sub_80859D4
- str r0, [r1]
- ldr r0, _08085764 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r0, _08085768 @ =sub_808563C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08085750:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085758: .4byte gPaletteFade
-_0808575C: .4byte gFieldCallback
-_08085760: .4byte sub_80859D4
-_08085764: .4byte CB2_LoadMap
-_08085768: .4byte sub_808563C
- thumb_func_end sub_8085690
-
- thumb_func_start sub_808576C
-sub_808576C: @ 808576C
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808578A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080857E4
-_0808578A:
- ldrh r1, [r6]
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _0808579E
- subs r0, r1, 0x1
- strh r0, [r6]
- lsls r0, 16
- cmp r0, 0
- bne _080857E4
-_0808579E:
- ldr r7, _080857E0 @ =gUnknown_83CC0E8
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r7
- ldrb r0, [r0]
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r1, [r5]
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0xB
- bgt _080857C8
- adds r0, r1, 0x1
- strh r0, [r5]
-_080857C8:
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r0, 0xC
- asrs r0, r1
- strh r0, [r6]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- adds r0, r7
- ldrb r0, [r0]
- b _080857EA
- .align 2, 0
-_080857E0: .4byte gUnknown_83CC0E8
-_080857E4:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
-_080857EA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808576C
-
- thumb_func_start sub_80857F0
-sub_80857F0: @ 80857F0
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldrb r0, [r7, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08085818 @ =gSprites
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08085830
- cmp r0, 0x1
- bgt _0808581C
- cmp r0, 0
- beq _08085826
- b _0808589A
- .align 2, 0
-_08085818: .4byte gSprites
-_0808581C:
- cmp r0, 0x2
- beq _08085878
- cmp r0, 0x3
- beq _08085896
- b _0808589A
-_08085826:
- bl CameraObjectReset2
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_08085830:
- ldrh r0, [r4, 0x26]
- subs r0, 0x8
- strh r0, [r4, 0x26]
- ldrh r0, [r6]
- subs r0, 0x8
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _0808589A
- ldrb r0, [r7, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r7, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _0808589A
-_08085878:
- ldrh r0, [r4, 0x26]
- subs r0, 0x8
- strh r0, [r4, 0x26]
- ldrh r0, [r6]
- subs r0, 0x8
- strh r0, [r6]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x58
- negs r1, r1
- cmp r0, r1
- bgt _0808589A
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_08085896:
- movs r0, 0
- b _0808589C
-_0808589A:
- movs r0, 0x1
-_0808589C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80857F0
-
- thumb_func_start sub_80858A4
-sub_80858A4: @ 80858A4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r9, r3
- ldr r0, [sp, 0x20]
- mov r10, r0
- ldrb r0, [r6, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080858D8 @ =gSprites
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08085948
- cmp r0, 0x1
- bgt _080858DC
- cmp r0, 0
- beq _080858E6
- b _080859C2
- .align 2, 0
-_080858D8: .4byte gSprites
-_080858DC:
- cmp r0, 0x2
- beq _0808599C
- cmp r0, 0x3
- beq _080859BE
- b _080859C2
-_080858E6:
- bl CameraObjectReset2
- movs r2, 0x58
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r7]
- ldrh r0, [r4, 0x26]
- subs r0, 0x58
- movs r3, 0
- strh r0, [r4, 0x26]
- ldrb r0, [r4, 0x5]
- lsls r0, 28
- lsrs r0, 30
- mov r1, r9
- strh r0, [r1]
- movs r2, 0x43
- adds r2, r4
- mov r8, r2
- ldrb r0, [r2]
- mov r1, r10
- strh r0, [r1]
- movs r2, 0x42
- adds r2, r4
- mov r12, r2
- ldrb r0, [r2]
- lsrs r0, 6
- ldr r1, [sp, 0x24]
- strh r0, [r1]
- ldrb r0, [r6, 0x3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r6, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
- mov r2, r8
- strb r3, [r2]
- mov r0, r12
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_08085948:
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- ldrh r0, [r7]
- adds r0, 0x4
- strh r0, [r7]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- blt _080859C2
- movs r0, 0x3
- mov r2, r9
- ldrb r1, [r2]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- mov r1, r10
- ldrh r0, [r1]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r2, [sp, 0x24]
- ldrb r1, [r2]
- adds r3, r4, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080859C2
-_0808599C:
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- ldrh r0, [r7]
- adds r0, 0x4
- strh r0, [r7]
- lsls r0, 16
- cmp r0, 0
- blt _080859C2
- movs r0, 0x1E
- bl PlaySE
- bl CameraObjectReset1
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080859BE:
- movs r0, 0
- b _080859C4
-_080859C2:
- movs r0, 0x1
-_080859C4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80858A4
-
- thumb_func_start sub_80859D4
-sub_80859D4: @ 80859D4
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r1, _08085A14 @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, _08085A18 @ =gObjectEvents
- ldr r0, _08085A1C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, _08085A20 @ =sub_8085A24
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08085A14: .4byte gFieldCallback
-_08085A18: .4byte gObjectEvents
-_08085A1C: .4byte gPlayerAvatar
-_08085A20: .4byte sub_8085A24
- thumb_func_end sub_80859D4
-
- thumb_func_start sub_8085A24
-sub_8085A24: @ 8085A24
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08085A4C @ =gUnknown_83CC0F0
- ldr r2, _08085A50 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08085A4C: .4byte gUnknown_83CC0F0
-_08085A50: .4byte gTasks
- thumb_func_end sub_8085A24
-
- thumb_func_start sub_8085A54
-sub_8085A54: @ 8085A54
- push {r4,lr}
- adds r4, r0, 0
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _08085A78
- movs r0, 0x28
- bl PlaySE
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08085A78:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8085A54
-
- thumb_func_start sub_8085A80
-sub_8085A80: @ 8085A80
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r4, 0
- adds r5, 0x8
- ldr r0, _08085AD4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085AD8 @ =gObjectEvents
- adds r6, r0, r1
- adds r1, r4, 0
- adds r1, 0xA
- adds r2, r4, 0
- adds r2, 0xC
- adds r3, r4, 0
- adds r3, 0xE
- adds r0, r5, 0
- adds r0, 0x8
- str r0, [sp]
- adds r0, r4, 0
- adds r0, 0x12
- str r0, [sp, 0x4]
- adds r0, r6, 0
- bl sub_80858A4
- adds r7, r0, 0
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x7
- bgt _08085ADC
- adds r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _08085B10
- .align 2, 0
-_08085AD4: .4byte gPlayerAvatar
-_08085AD8: .4byte gObjectEvents
-_08085ADC:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _08085B10
- adds r0, r1, 0x1
- strh r0, [r5, 0xC]
- adds r1, r4, 0
- adds r1, 0x1A
- adds r2, r4, 0
- adds r2, 0x1C
- adds r0, r6, 0
- bl sub_808576C
- lsls r0, 24
- lsrs r1, r0, 24
- strh r1, [r5, 0x10]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0x31
- ble _08085B10
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08085B10
- movs r0, 0x1
- strh r0, [r5, 0xE]
-_08085B10:
- cmp r7, 0
- bne _08085B58
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08085B58
- adds r0, r6, 0
- bl ObjectEventCheckHeldMovementStatus
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085B58
- ldrb r1, [r6, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x1]
- ldrb r1, [r6, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r6, 0x3]
- bl ScriptContext2_Disable
- bl UnfreezeObjectEvents
- ldr r0, _08085B60 @ =sub_8085A24
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08085B58:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085B60: .4byte sub_8085A24
- thumb_func_end sub_8085A80
-
- thumb_func_start CreateTeleportFieldEffectTask
-CreateTeleportFieldEffectTask: @ 8085B64
- push {lr}
- ldr r0, _08085B74 @ =sub_8085B78
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08085B74: .4byte sub_8085B78
- thumb_func_end CreateTeleportFieldEffectTask
-
- thumb_func_start sub_8085B78
-sub_8085B78: @ 8085B78
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08085BA0 @ =gUnknown_83CC0F8
- ldr r2, _08085BA4 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08085BA0: .4byte gUnknown_83CC0F8
-_08085BA4: .4byte gTasks
- thumb_func_end sub_8085B78
-
- thumb_func_start sub_8085BA8
-sub_8085BA8: @ 8085BA8
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- bl CameraObjectReset2
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8085BA8
-
- thumb_func_start sub_8085BD0
-sub_8085BD0: @ 8085BD0
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08085C54 @ =gUnknown_83CC108
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, _08085C58 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085C5C @ =gObjectEvents
- adds r5, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08085C02
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08085C1C
-_08085C02:
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl ObjectEventTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_08085C1C:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _08085C4A
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _08085C4A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x4
- strh r0, [r4, 0xA]
- movs r0, 0x8
- strh r0, [r4, 0xC]
- movs r0, 0x1
- strh r0, [r4, 0xE]
- movs r0, 0x27
- bl PlaySE
-_08085C4A:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085C54: .4byte gUnknown_83CC108
-_08085C58: .4byte gPlayerAvatar
-_08085C5C: .4byte gObjectEvents
- thumb_func_end sub_8085BD0
-
- thumb_func_start sub_8085C60
-sub_8085C60: @ 8085C60
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08085D24 @ =gUnknown_83CC108
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, _08085D28 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085D2C @ =gObjectEvents
- adds r3, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085D30 @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _08085CAA
- movs r0, 0x4
- strh r0, [r4, 0xA]
- ldrb r0, [r3, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r3, 0
- bl ObjectEventTurn
-_08085CAA:
- ldrh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- adds r0, r1, r2
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _08085CD6
- movs r0, 0x4
- strh r0, [r4, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _08085CD6
- lsls r0, r1, 1
- strh r0, [r4, 0xE]
-_08085CD6:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- ble _08085D04
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _08085D04
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_08085D04:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xA7
- ble _08085D1A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_8055F88
- bl sub_807DC18
-_08085D1A:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085D24: .4byte gUnknown_83CC108
-_08085D28: .4byte gPlayerAvatar
-_08085D2C: .4byte gObjectEvents
-_08085D30: .4byte gSprites
- thumb_func_end sub_8085C60
-
- thumb_func_start sub_8085D34
-sub_8085D34: @ 8085D34
- push {lr}
- ldr r0, _08085D74 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08085D70
- bl BGMusicStopped
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08085D70
- bl copy_saved_warp3_bank_and_enter_x_to_warp1
- bl WarpIntoMap
- ldr r0, _08085D78 @ =CB2_LoadMap
- bl SetMainCallback2
- ldr r1, _08085D7C @ =gFieldCallback
- ldr r0, _08085D80 @ =mapldr_08085D88
- str r0, [r1]
- ldr r0, _08085D84 @ =sub_8085B78
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08085D70:
- pop {r0}
- bx r0
- .align 2, 0
-_08085D74: .4byte gPaletteFade
-_08085D78: .4byte CB2_LoadMap
-_08085D7C: .4byte gFieldCallback
-_08085D80: .4byte mapldr_08085D88
-_08085D84: .4byte sub_8085B78
- thumb_func_end sub_8085D34
-
- thumb_func_start mapldr_08085D88
-mapldr_08085D88: @ 8085D88
- push {lr}
- bl Overworld_PlaySpecialMapMusic
- bl pal_fill_for_maplights
- bl sub_8111CF0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r1, _08085DCC @ =gFieldCallback
- movs r0, 0
- str r0, [r1]
- ldr r2, _08085DD0 @ =gObjectEvents
- ldr r0, _08085DD4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl CameraObjectReset2
- ldr r0, _08085DD8 @ =sub_8085DDC
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08085DCC: .4byte gFieldCallback
-_08085DD0: .4byte gObjectEvents
-_08085DD4: .4byte gPlayerAvatar
-_08085DD8: .4byte sub_8085DDC
- thumb_func_end mapldr_08085D88
-
- thumb_func_start sub_8085DDC
-sub_8085DDC: @ 8085DDC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08085E04 @ =gUnknown_83CC110
- ldr r2, _08085E08 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08085E04: .4byte gUnknown_83CC110
-_08085E08: .4byte gTasks
- thumb_func_end sub_8085DDC
-
- thumb_func_start sub_8085E0C
-sub_8085E0C: @ 8085E0C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl IsWeatherNotFadingIn
- lsls r0, 24
- cmp r0, 0
- beq _08085E82
- ldr r5, _08085E88 @ =gPlayerAvatar
- ldrb r0, [r5, 0x4]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08085E8C @ =gSprites
- adds r2, r0
- adds r0, r2, 0
- adds r0, 0x29
- movs r4, 0
- ldrsb r4, [r0, r4]
- lsls r0, r4, 17
- negs r0, r0
- ldrh r1, [r2, 0x22]
- ldr r3, _08085E90 @ =gSpriteCoordOffsetY
- adds r1, r4
- ldrh r3, [r3]
- adds r1, r3
- asrs r0, 16
- adds r0, r1
- negs r0, r0
- strh r0, [r2, 0x26]
- ldr r3, _08085E94 @ =gObjectEvents
- ldrb r0, [r5, 0x5]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r3, [r1, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- strb r0, [r1, 0x1]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x8
- strh r0, [r6, 0xA]
- movs r0, 0x1
- strh r0, [r6, 0xC]
- adds r2, 0x42
- ldrb r0, [r2]
- lsrs r0, 6
- strh r0, [r6, 0x24]
- bl GetPlayerFacingDirection
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- movs r0, 0x27
- bl PlaySE
-_08085E82:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085E88: .4byte gPlayerAvatar
-_08085E8C: .4byte gSprites
-_08085E90: .4byte gSpriteCoordOffsetY
-_08085E94: .4byte gObjectEvents
- thumb_func_end sub_8085E0C
-
- thumb_func_start sub_8085E98
-sub_8085E98: @ 8085E98
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08085F00 @ =gUnknown_83CC108
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r2, _08085F04 @ =gPlayerAvatar
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085F08 @ =gObjectEvents
- adds r6, r0, r1
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08085F0C @ =gSprites
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x8
- negs r1, r1
- cmp r0, r1
- blt _08085F10
- ldrh r1, [r4, 0x22]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _08085F36
- adds r0, r1, 0x1
- strh r0, [r4, 0x22]
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
- ldrh r1, [r4, 0x24]
- adds r3, r5, 0
- adds r3, 0x42
- lsls r1, 6
- ldrb r2, [r3]
- movs r0, 0x3F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _08085F36
- .align 2, 0
-_08085F00: .4byte gUnknown_83CC108
-_08085F04: .4byte gPlayerAvatar
-_08085F08: .4byte gObjectEvents
-_08085F0C: .4byte gSprites
-_08085F10:
- ldrb r1, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r5, 0x5]
- adds r2, r5, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _08085F36
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
-_08085F36:
- ldrh r2, [r5, 0x26]
- movs r3, 0x26
- ldrsh r1, [r5, r3]
- movs r0, 0x30
- negs r0, r0
- cmp r1, r0
- blt _08085F5A
- ldrh r1, [r4, 0xA]
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- ble _08085F5A
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _08085F5A
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
-_08085F5A:
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- movs r7, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08085F7C
- movs r0, 0x4
- strh r0, [r4, 0xC]
- ldrb r0, [r6, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r6, 0
- bl ObjectEventTurn
-_08085F7C:
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _08085F92
- strh r7, [r5, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r7, [r4, 0xC]
-_08085F92:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8085E98
-
- thumb_func_start sub_8085F9C
-sub_8085F9C: @ 8085F9C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08086018 @ =gUnknown_83CC108
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- ldr r0, _0808601C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086020 @ =gObjectEvents
- adds r5, r0, r1
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _08086010
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- add r0, sp
- ldrb r1, [r0]
- adds r0, r5, 0
- bl ObjectEventTurn
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08086010
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r1, r0
- bne _08086010
- bl ScriptContext2_Disable
- bl CameraObjectReset1
- bl UnfreezeObjectEvents
- ldr r0, _08086024 @ =sub_8085DDC
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08086010:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086018: .4byte gUnknown_83CC108
-_0808601C: .4byte gPlayerAvatar
-_08086020: .4byte gObjectEvents
-_08086024: .4byte sub_8085DDC
- thumb_func_end sub_8085F9C
-
- thumb_func_start FldEff_FieldMoveShowMon
-FldEff_FieldMoveShowMon: @ 8086028
- push {r4,lr}
- bl GetCurrentMapType
- lsls r0, 24
- lsrs r0, 24
- bl IsMapTypeOutdoors
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08086048
- ldr r0, _08086044 @ =sub_80860E0
- b _0808604A
- .align 2, 0
-_08086044: .4byte sub_80860E0
-_08086048:
- ldr r0, _08086078 @ =sub_8086468
-_0808604A:
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _0808607C @ =gFieldEffectArguments
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_8086860
- ldr r2, _08086080 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x26]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086078: .4byte sub_8086468
-_0808607C: .4byte gFieldEffectArguments
-_08086080: .4byte gTasks
- thumb_func_end FldEff_FieldMoveShowMon
-
- thumb_func_start FldEff_FieldMoveShowMonInit
-FldEff_FieldMoveShowMonInit: @ 8086084
- push {r4-r6,lr}
- ldr r5, _080860D8 @ =gFieldEffectArguments
- ldr r0, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r6, r0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, _080860DC @ =gPlayerParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- str r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- movs r0, 0x6
- bl FieldEffectStart
- movs r0, 0x3B
- bl FieldEffectActiveListRemove
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080860D8: .4byte gFieldEffectArguments
-_080860DC: .4byte gPlayerParty
- thumb_func_end FldEff_FieldMoveShowMonInit
-
- thumb_func_start sub_80860E0
-sub_80860E0: @ 80860E0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08086108 @ =gUnknown_83CC11C
- ldr r2, _0808610C @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08086108: .4byte gUnknown_83CC11C
-_0808610C: .4byte gTasks
- thumb_func_end sub_80860E0
-
- thumb_func_start sub_8086110
-sub_8086110: @ 8086110
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x48
- bl GetGpuReg
- strh r0, [r4, 0x1E]
- movs r0, 0x4A
- bl GetGpuReg
- strh r0, [r4, 0x20]
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, _08086170 @ =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r1, _08086174 @ =0x0000f0f1
- strh r1, [r4, 0xA]
- ldr r0, _08086178 @ =0x00005051
- strh r0, [r4, 0xC]
- movs r0, 0x3F
- strh r0, [r4, 0xE]
- movs r0, 0x3E
- strh r0, [r4, 0x10]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldr r0, _0808617C @ =sub_80863C0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086170: .4byte gMain
-_08086174: .4byte 0x0000f0f1
-_08086178: .4byte 0x00005051
-_0808617C: .4byte sub_80863C0
- thumb_func_end sub_8086110
-
- thumb_func_start sub_8086180
-sub_8086180: @ 8086180
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- movs r0, 0x8
- bl GetGpuReg
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 18
- lsls r4, 30
- lsrs r4, 16
- movs r0, 0x8
- bl GetGpuReg
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 24
- lsls r5, 27
- lsrs r5, 16
- ldr r0, _080861F0 @ =gUnknown_83CB5F0
- movs r6, 0xC0
- lsls r6, 19
- adds r4, r6
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, 0
- bl CpuSet
- movs r0, 0
- str r0, [sp]
- adds r6, r5, r6
- ldr r2, _080861F4 @ =0x05000200
- mov r0, sp
- adds r1, r6, 0
- bl CpuSet
- ldr r0, _080861F8 @ =gUnknown_83CB7F0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r5, 0
- bl sub_8086428
- mov r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080861F0: .4byte gUnknown_83CB5F0
-_080861F4: .4byte 0x05000200
-_080861F8: .4byte gUnknown_83CB7F0
- thumb_func_end sub_8086180
-
- thumb_func_start sub_80861FC
-sub_80861FC: @ 80861FC
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r6, [r3, 0xA]
- ldrh r2, [r3, 0xC]
- movs r7, 0xFF
- lsrs r1, r6, 8
- subs r1, 0x10
- lsls r1, 16
- lsrs r0, r2, 8
- subs r0, 0x2
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r7, 0
- ands r0, r2
- adds r5, r0, 0x2
- lsrs r2, r1, 16
- cmp r1, 0
- bge _08086228
- movs r2, 0
-_08086228:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0x27
- bgt _08086232
- movs r4, 0x28
-_08086232:
- cmp r5, 0x78
- ble _08086238
- movs r5, 0x78
-_08086238:
- lsls r2, 16
- asrs r2, 16
- lsls r1, r2, 8
- adds r0, r7, 0
- ands r0, r6
- orrs r1, r0
- strh r1, [r3, 0xA]
- lsls r0, r4, 16
- asrs r4, r0, 16
- lsls r0, r4, 8
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r3, 0xC]
- cmp r2, 0
- bne _08086278
- cmp r4, 0x28
- bne _08086278
- cmp r1, 0x78
- bne _08086278
- ldr r2, _08086280 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08086284 @ =sub_80868C0
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08086278:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08086280: .4byte gSprites
-_08086284: .4byte sub_80868C0
- thumb_func_end sub_80861FC
-
- thumb_func_start sub_8086288
-sub_8086288: @ 8086288
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldr r2, _080862B4 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080862AE
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_080862AE:
- pop {r0}
- bx r0
- .align 2, 0
-_080862B4: .4byte gSprites
- thumb_func_end sub_8086288
-
- thumb_func_start sub_80862B8
-sub_80862B8: @ 80862B8
- push {r4,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x12]
- subs r0, 0x10
- strh r0, [r3, 0x12]
- ldrh r2, [r3, 0xC]
- lsls r1, r2, 16
- movs r0, 0xFF
- asrs r1, 24
- adds r1, 0x6
- lsls r1, 16
- ands r0, r2
- subs r0, 0x6
- lsls r0, 16
- lsrs r2, r0, 16
- lsrs r4, r1, 16
- asrs r1, 16
- cmp r1, 0x50
- ble _080862E0
- movs r4, 0x50
-_080862E0:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x50
- bgt _080862EA
- movs r2, 0x51
-_080862EA:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r0, 8
- lsls r2, 16
- asrs r2, 16
- orrs r1, r2
- strh r1, [r3, 0xC]
- cmp r0, 0x50
- bne _08086306
- cmp r2, 0x51
- bne _08086306
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_08086306:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80862B8
-
- thumb_func_start sub_808630C
-sub_808630C: @ 808630C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0x8
- bl GetGpuReg
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 24
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, _08086354 @ =0x05000200
- mov r0, sp
- bl CpuSet
- movs r0, 0xF1
- strh r0, [r4, 0xA]
- movs r0, 0xA1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x1E]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086354: .4byte 0x05000200
- thumb_func_end sub_808630C
-
- thumb_func_start sub_8086358
-sub_8086358: @ 8086358
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl Menu_LoadStdPal
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080863B8 @ =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8083A5C
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, _080863BC @ =sub_80860E0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080863B8: .4byte gSprites
-_080863BC: .4byte sub_80860E0
- thumb_func_end sub_8086358
-
- thumb_func_start sub_80863C0
-sub_80863C0: @ 80863C0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08086420 @ =sub_80860E0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _08086424 @ =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x40
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x44
- bl SetGpuReg
- ldrh r1, [r4, 0xE]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r1, [r4, 0x10]
- movs r0, 0x4A
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0x14]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086420: .4byte sub_80860E0
-_08086424: .4byte gTasks
- thumb_func_end sub_80863C0
-
- thumb_func_start sub_8086428
-sub_8086428: @ 8086428
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0808645C @ =0x06000140
- adds r2, r0, r1
- movs r1, 0
- ldr r5, _08086460 @ =gUnknown_83CB810
- movs r0, 0xF0
- lsls r0, 8
- adds r4, r0, 0
- ldr r3, _08086464 @ =0x0000013f
-_0808643E:
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- orrs r0, r4
- strh r0, [r2]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, 0x2
- cmp r1, r3
- bls _0808643E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808645C: .4byte 0x06000140
-_08086460: .4byte gUnknown_83CB810
-_08086464: .4byte 0x0000013f
- thumb_func_end sub_8086428
-
- thumb_func_start sub_8086468
-sub_8086468: @ 8086468
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08086490 @ =gUnknown_83CC138
- ldr r2, _08086494 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08086490: .4byte gUnknown_83CC138
-_08086494: .4byte gTasks
- thumb_func_end sub_8086468
-
- thumb_func_start sub_8086498
-sub_8086498: @ 8086498
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- adds r0, r4, 0
- adds r0, 0x22
- ldr r1, _080864CC @ =gMain
- ldr r1, [r1, 0xC]
- bl StoreWordInTwoHalfwords
- ldr r0, _080864D0 @ =sub_80866E0
- bl SetVBlankCallback
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080864CC: .4byte gMain
-_080864D0: .4byte sub_80866E0
- thumb_func_end sub_8086498
-
- thumb_func_start sub_80864D4
-sub_80864D4: @ 80864D4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r9, r0
- movs r0, 0x8
- bl GetGpuReg
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 18
- lsls r5, 30
- lsrs r5, 16
- movs r0, 0x8
- bl GetGpuReg
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 24
- lsls r4, 27
- lsrs r4, 16
- movs r0, 0
- mov r8, r0
- mov r1, r9
- strh r4, [r1, 0x20]
- ldr r0, _08086548 @ =gUnknown_83CBA90
- movs r6, 0xC0
- lsls r6, 19
- adds r5, r6
- adds r1, r5, 0
- movs r2, 0x40
- bl CpuSet
- mov r0, r8
- str r0, [sp]
- adds r4, r6
- ldr r2, _0808654C @ =0x05000200
- mov r0, sp
- adds r1, r4, 0
- bl CpuSet
- ldr r0, _08086550 @ =gUnknown_83CBB10
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- mov r1, r9
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086548: .4byte gUnknown_83CBA90
-_0808654C: .4byte 0x05000200
-_08086550: .4byte gUnknown_83CBB10
- thumb_func_end sub_80864D4
-
- thumb_func_start sub_8086554
-sub_8086554: @ 8086554
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8086738
- lsls r0, 24
- cmp r0, 0
- beq _080865A6
- movs r0, 0x48
- bl GetGpuReg
- strh r0, [r4, 0x12]
- movs r1, 0xFF
- ands r1, r0
- movs r2, 0x88
- lsls r2, 5
- adds r0, r2, 0
- orrs r1, r0
- movs r0, 0x48
- bl SetGpuReg
- movs r0, 0x42
- movs r1, 0xF0
- bl SetGpuReg
- ldr r1, _080865B4 @ =0x00002878
- movs r0, 0x46
- bl SetGpuReg
- ldr r2, _080865B8 @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080865BC @ =sub_80868C0
- str r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080865A6:
- adds r0, r4, 0
- bl sub_8086728
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080865B4: .4byte 0x00002878
-_080865B8: .4byte gSprites
-_080865BC: .4byte sub_80868C0
- thumb_func_end sub_8086554
-
- thumb_func_start sub_80865C0
-sub_80865C0: @ 80865C0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8086728
- ldr r2, _080865EC @ =gSprites
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080865E4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080865E4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080865EC: .4byte gSprites
- thumb_func_end sub_80865C0
-
- thumb_func_start sub_80865F0
-sub_80865F0: @ 80865F0
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8086728
- ldrh r1, [r4, 0xA]
- movs r0, 0x7
- ands r0, r1
- movs r1, 0
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- ldr r5, _0808662C @ =0x0000ffff
- movs r0, 0x42
- adds r1, r5, 0
- bl SetGpuReg
- movs r0, 0x46
- adds r1, r5, 0
- bl SetGpuReg
- ldrh r1, [r4, 0x12]
- movs r0, 0x48
- bl SetGpuReg
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808662C: .4byte 0x0000ffff
- thumb_func_end sub_80865F0
-
- thumb_func_start sub_8086630
-sub_8086630: @ 8086630
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8086728
- adds r0, r4, 0
- bl sub_80867F0
- lsls r0, 24
- cmp r0, 0
- beq _0808664A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0808664A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086630
-
- thumb_func_start sub_8086650
-sub_8086650: @ 8086650
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0x8
- bl GetGpuReg
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 24
- lsls r1, 27
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r0
- ldr r2, _080866D4 @ =0x05000200
- mov r0, sp
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x22
- add r1, sp, 0x4
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp, 0x4]
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl Menu_LoadStdPal
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080866D8 @ =gSprites
- adds r0, r1
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8083A5C
- movs r0, 0x6
- bl FieldEffectActiveListRemove
- ldr r0, _080866DC @ =sub_8086468
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080866D4: .4byte 0x05000200
-_080866D8: .4byte gSprites
-_080866DC: .4byte sub_8086468
- thumb_func_end sub_8086650
-
- thumb_func_start sub_80866E0
-sub_80866E0: @ 80866E0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08086720 @ =sub_8086468
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _08086724 @ =gTasks
- adds r4, r0
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- ldr r0, [sp]
- bl _call_via_r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x10
- bl SetGpuReg
- ldrh r1, [r4, 0xC]
- movs r0, 0x12
- bl SetGpuReg
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086720: .4byte sub_8086468
-_08086724: .4byte gTasks
- thumb_func_end sub_80866E0
-
- thumb_func_start sub_8086728
-sub_8086728: @ 8086728
- ldrh r1, [r0, 0xA]
- subs r1, 0x10
- strh r1, [r0, 0xA]
- ldrh r1, [r0, 0xE]
- adds r1, 0x10
- strh r1, [r0, 0xE]
- bx lr
- thumb_func_end sub_8086728
-
- thumb_func_start sub_8086738
-sub_8086738: @ 8086738
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x10]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _08086754
- movs r0, 0x1
- b _080867D8
-_08086754:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r3, r0, 19
- movs r1, 0x1F
- ands r3, r1
- movs r4, 0x10
- ldrsh r0, [r5, r4]
- cmp r3, r0
- blt _080867D6
- movs r0, 0x20
- subs r3, r0, r3
- ands r3, r1
- subs r0, r2
- mov r12, r0
- mov r7, r12
- ands r7, r1
- mov r12, r7
- ldrh r0, [r5, 0x20]
- ldr r1, _080867E8 @ =0x06000140
- adds r1, r0
- mov r8, r1
- movs r4, 0
- ldr r7, _080867EC @ =gUnknown_83CBB30
- mov r10, r7
- movs r0, 0xF0
- lsls r0, 8
- mov r9, r0
- adds r1, r3, 0x1
- movs r0, 0x1F
- ands r1, r0
- str r1, [sp]
- mov r6, r12
- adds r6, 0x1
- ands r6, r0
-_08086798:
- lsls r1, r4, 5
- adds r2, r1, r3
- lsls r2, 1
- add r2, r8
- mov r7, r12
- adds r0, r7, r1
- lsls r0, 1
- add r0, r10
- ldrh r0, [r0]
- mov r7, r9
- orrs r0, r7
- strh r0, [r2]
- ldr r0, [sp]
- adds r2, r1, r0
- lsls r2, 1
- add r2, r8
- adds r1, r6, r1
- lsls r1, 1
- add r1, r10
- ldrh r0, [r1]
- mov r1, r9
- orrs r0, r1
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x9
- bls _08086798
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_080867D6:
- movs r0, 0
-_080867D8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080867E8: .4byte 0x06000140
-_080867EC: .4byte gUnknown_83CBB30
- thumb_func_end sub_8086738
-
- thumb_func_start sub_80867F0
-sub_80867F0: @ 80867F0
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1F
- ble _08086800
- movs r0, 0x1
- b _08086854
-_08086800:
- ldrh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 19
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r2, r0
- blt _08086852
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r2, r0, 19
- movs r0, 0x1F
- ands r2, r0
- ldrh r0, [r5, 0x20]
- ldr r1, _0808685C @ =0x06000140
- adds r6, r0, r1
- movs r3, 0
- movs r0, 0xF0
- lsls r0, 8
- adds r7, r0, 0
- adds r4, r2, 0x1
- movs r0, 0x1F
- ands r4, r0
-_08086830:
- lsls r0, r3, 5
- adds r1, r0, r2
- lsls r1, 1
- adds r1, r6
- strh r7, [r1]
- adds r0, r4
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bls _08086830
- ldrh r0, [r5, 0x10]
- adds r0, 0x2
- strh r0, [r5, 0x10]
-_08086852:
- movs r0, 0
-_08086854:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808685C: .4byte 0x06000140
- thumb_func_end sub_80867F0
-
- thumb_func_start sub_8086860
-sub_8086860: @ 8086860
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r5, 0x80
- lsls r5, 24
- ands r5, r6
- lsrs r5, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _080868B4 @ =0x7fffffff
- ands r6, r0
- lsls r0, r6, 16
- lsrs r0, 16
- movs r3, 0xA0
- lsls r3, 1
- movs r4, 0x50
- str r4, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- bl sub_80839D4
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _080868B8 @ =gSprites
- adds r2, r1
- ldr r1, _080868BC @ =SpriteCallbackDummy
- str r1, [r2, 0x1C]
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x5]
- strh r6, [r2, 0x2E]
- strh r5, [r2, 0x3A]
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080868B4: .4byte 0x7fffffff
-_080868B8: .4byte gSprites
-_080868BC: .4byte SpriteCallbackDummy
- thumb_func_end sub_8086860
-
- thumb_func_start sub_80868C0
-sub_80868C0: @ 80868C0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x20]
- subs r0, 0x14
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bgt _08086900
- movs r0, 0x78
- strh r0, [r1, 0x20]
- movs r0, 0x1E
- strh r0, [r1, 0x30]
- ldr r0, _080868F4 @ =sub_8086904
- str r0, [r1, 0x1C]
- movs r2, 0x3A
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080868F8
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _08086900
- .align 2, 0
-_080868F4: .4byte sub_8086904
-_080868F8:
- ldrh r0, [r1, 0x2E]
- movs r1, 0
- bl PlayCry1
-_08086900:
- pop {r0}
- bx r0
- thumb_func_end sub_80868C0
-
- thumb_func_start sub_8086904
-sub_8086904: @ 8086904
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _08086918
- ldr r0, _0808691C @ =sub_8086920
- str r0, [r1, 0x1C]
-_08086918:
- pop {r0}
- bx r0
- .align 2, 0
-_0808691C: .4byte sub_8086920
- thumb_func_end sub_8086904
-
- thumb_func_start sub_8086920
-sub_8086920: @ 8086920
- push {lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x20]
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bge _08086938
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- b _0808693E
-_08086938:
- adds r0, r3, 0
- subs r0, 0x14
- strh r0, [r2, 0x20]
-_0808693E:
- pop {r0}
- bx r0
- thumb_func_end sub_8086920
-
- thumb_func_start sub_8086944
-sub_8086944: @ 8086944
- push {r4,lr}
- ldr r0, _08086980 @ =sub_8086990
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08086984 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _08086988 @ =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0x26]
- bl sav1_reset_battle_music_maybe
- ldr r4, _0808698C @ =0x00000131
- adds r0, r4, 0
- bl sub_8056124
- cmp r0, 0
- beq _08086978
- adds r0, r4, 0
- bl Overworld_ChangeMusicTo
-_08086978:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086980: .4byte sub_8086990
-_08086984: .4byte gTasks
-_08086988: .4byte gFieldEffectArguments
-_0808698C: .4byte 0x00000131
- thumb_func_end sub_8086944
-
- thumb_func_start sub_8086990
-sub_8086990: @ 8086990
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080869B8 @ =gUnknown_83CC154
- ldr r2, _080869BC @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080869B8: .4byte gUnknown_83CC154
-_080869BC: .4byte gTasks
- thumb_func_end sub_8086990
-
- thumb_func_start sub_80869C0
-sub_80869C0: @ 80869C0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r5, _08086A18 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r5, 0x6]
- movs r0, 0x8
- bl SetPlayerAvatarStateMask
- adds r6, r4, 0
- adds r6, 0xA
- movs r0, 0xC
- adds r0, r4
- mov r8, r0
- adds r0, r6, 0
- mov r1, r8
- bl PlayerGetDestCoords
- ldr r2, _08086A1C @ =gObjectEvents
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- lsrs r0, 4
- adds r1, r6, 0
- mov r2, r8
- bl MoveCoords
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086A18: .4byte gPlayerAvatar
-_08086A1C: .4byte gObjectEvents
- thumb_func_end sub_80869C0
-
- thumb_func_start sub_8086A20
-sub_8086A20: @ 8086A20
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086A64 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086A68 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08086A4A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086A5C
-_08086A4A:
- bl sub_805CB70
- adds r0, r4, 0
- movs r1, 0x45
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08086A5C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086A64: .4byte gPlayerAvatar
-_08086A68: .4byte gObjectEvents
- thumb_func_end sub_8086A20
-
- thumb_func_start sub_8086A6C
-sub_8086A6C: @ 8086A6C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08086AA8 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086AAC @ =gObjectEvents
- adds r0, r1
- bl ObjectEventCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _08086AA2
- ldr r2, _08086AB0 @ =gFieldEffectArguments
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2]
- movs r0, 0x3B
- bl FieldEffectStart
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086AA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086AA8: .4byte gPlayerAvatar
-_08086AAC: .4byte gObjectEvents
-_08086AB0: .4byte gFieldEffectArguments
- thumb_func_end sub_8086A6C
-
- thumb_func_start sub_8086AB4
-sub_8086AB4: @ 8086AB4
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08086B1E
- ldr r5, _08086B24 @ =gPlayerAvatar
- ldrb r0, [r5, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08086B28 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x2
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetGraphicsId
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_80641C0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldr r1, _08086B2C @ =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- str r0, [r1]
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0x5]
- str r0, [r1, 0x8]
- movs r0, 0x8
- bl FieldEffectStart
- strb r0, [r4, 0x1A]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08086B1E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086B24: .4byte gPlayerAvatar
-_08086B28: .4byte gObjectEvents
-_08086B2C: .4byte gFieldEffectArguments
- thumb_func_end sub_8086AB4
-
- thumb_func_start sub_8086B30
-sub_8086B30: @ 8086B30
- push {r4,r5,lr}
- ldr r5, _08086B9C @ =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086BA0 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086B96
- movs r0, 0
- strb r0, [r5, 0x6]
- ldrb r1, [r5]
- movs r0, 0xDF
- ands r0, r1
- strb r0, [r5]
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_80DC44C
- bl UnfreezeObjectEvents
- bl ScriptContext2_Disable
- movs r0, 0x9
- bl FieldEffectActiveListRemove
- ldr r0, _08086BA4 @ =sub_8086990
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x16
- bl HelpSystem_SetSomeVariable2
-_08086B96:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086B9C: .4byte gPlayerAvatar
-_08086BA0: .4byte gObjectEvents
-_08086BA4: .4byte sub_8086990
- thumb_func_end sub_8086B30
-
- thumb_func_start sub_8086BA8
-sub_8086BA8: @ 8086BA8
- push {lr}
- ldr r0, _08086BC8 @ =gQuestLogState
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08086BBA
- movs r0, 0x8
- movs r1, 0x59
- bl sub_811278C
-_08086BBA:
- ldr r0, _08086BCC @ =sub_8086BD0
- movs r1, 0xFF
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08086BC8: .4byte gQuestLogState
-_08086BCC: .4byte sub_8086BD0
- thumb_func_end sub_8086BA8
-
- thumb_func_start sub_8086BD0
-sub_8086BD0: @ 8086BD0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08086BF8 @ =gUnknown_83CC168
- ldr r2, _08086BFC @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08086BF8: .4byte gUnknown_83CC168
-_08086BFC: .4byte gTasks
- thumb_func_end sub_8086BD0
-
- thumb_func_start sub_8086C00
-sub_8086C00: @ 8086C00
- push {r4,lr}
- adds r4, r0, 0
- bl ScriptContext2_Enable
- bl FreezeObjectEvents
- ldr r1, _08086C20 @ =gPlayerAvatar
- movs r0, 0x1
- strb r0, [r1, 0x6]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086C20: .4byte gPlayerAvatar
- thumb_func_end sub_8086C00
-
- thumb_func_start sub_8086C24
-sub_8086C24: @ 8086C24
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08086C68 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086C6C @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08086C4E
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086C60
-_08086C4E:
- bl sub_805CBE8
- adds r0, r4, 0
- movs r1, 0x45
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08086C60:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086C68: .4byte gPlayerAvatar
-_08086C6C: .4byte gObjectEvents
- thumb_func_end sub_8086C24
-
- thumb_func_start sub_8086C70
-sub_8086C70: @ 8086C70
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, _08086C9C @ =gPlayerAvatar
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086CA0 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086CEE
- ldrb r1, [r5]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _08086CA4
- movs r0, 0x1
- b _08086CAE
- .align 2, 0
-_08086C9C: .4byte gPlayerAvatar
-_08086CA0: .4byte gObjectEvents
-_08086CA4:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08086CC0
- movs r0, 0x2
-_08086CAE:
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetGraphicsId
- b _08086CD2
-_08086CC0:
- movs r0, 0
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetGraphicsId
-_08086CD2:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventForceSetHeldMovement
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_08086CEE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8086C70
-
- thumb_func_start sub_8086CF4
-sub_8086CF4: @ 8086CF4
- push {r4,lr}
- ldr r4, _08086D2C @ =gPlayerAvatar
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086D30 @ =gObjectEvents
- adds r0, r1
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086D26
- movs r0, 0
- strb r0, [r4, 0x6]
- movs r0, 0x41
- bl FieldEffectActiveListRemove
- ldr r0, _08086D34 @ =sub_8086BD0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08086D26:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086D2C: .4byte gPlayerAvatar
-_08086D30: .4byte gObjectEvents
-_08086D34: .4byte sub_8086BD0
- thumb_func_end sub_8086CF4
-
- thumb_func_start sub_8086D38
-sub_8086D38: @ 8086D38
- push {r4,lr}
- ldr r0, _08086D84 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0x78
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, r4, 4
- adds r2, r4
- lsls r2, 2
- ldr r0, _08086D88 @ =gSprites
- adds r2, r0
- ldrb r1, [r2, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, _08086D8C @ =sub_8086D94
- str r0, [r2, 0x1C]
- ldr r0, _08086D90 @ =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r2, 0x30]
- movs r0, 0x97
- bl PlaySE
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08086D84: .4byte gFieldEffectObjectTemplatePointers
-_08086D88: .4byte gSprites
-_08086D8C: .4byte sub_8086D94
-_08086D90: .4byte gFieldEffectArguments
- thumb_func_end sub_8086D38
-
- thumb_func_start sub_8086D94
-sub_8086D94: @ 8086D94
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08086DF6
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08086E0C @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_08086DF6:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _08086E06
- adds r0, r4, 0
- movs r1, 0x1E
- bl FieldEffectStop
-_08086E06:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086E0C: .4byte gSprites
- thumb_func_end sub_8086D94
-
- thumb_func_start FldEff_UseFly
-FldEff_UseFly: @ 8086E10
- push {lr}
- ldr r0, _08086E34 @ =sub_8086E40
- movs r1, 0xFE
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08086E38 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _08086E3C @ =gFieldEffectArguments
- ldr r0, [r0]
- strh r0, [r1, 0xA]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08086E34: .4byte sub_8086E40
-_08086E38: .4byte gTasks
-_08086E3C: .4byte gFieldEffectArguments
- thumb_func_end FldEff_UseFly
-
- thumb_func_start sub_8086E40
-sub_8086E40: @ 8086E40
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08086E68 @ =gUnknown_83CC178
- ldr r2, _08086E6C @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08086E68: .4byte gUnknown_83CC178
-_08086E6C: .4byte gTasks
- thumb_func_end sub_8086E40
-
- thumb_func_start sub_8086E70
-sub_8086E70: @ 8086E70
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _08086EC0 @ =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086EC4 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08086E9A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086EB8
-_08086E9A:
- ldrb r0, [r6]
- strh r0, [r5, 0x26]
- movs r0, 0x1
- strb r0, [r6, 0x6]
- bl SetPlayerAvatarStateMask
- bl sub_805CB70
- adds r0, r4, 0
- movs r1, 0x45
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08086EB8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086EC0: .4byte gPlayerAvatar
-_08086EC4: .4byte gObjectEvents
- thumb_func_end sub_8086E70
-
- thumb_func_start sub_8086EC8
-sub_8086EC8: @ 8086EC8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08086F00 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086F04 @ =gObjectEvents
- adds r0, r1
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086EF8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r1, _08086F08 @ =gFieldEffectArguments
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- str r0, [r1]
- movs r0, 0x3B
- bl FieldEffectStart
-_08086EF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086F00: .4byte gPlayerAvatar
-_08086F04: .4byte gObjectEvents
-_08086F08: .4byte gFieldEffectArguments
- thumb_func_end sub_8086EC8
-
- thumb_func_start sub_8086F0C
-sub_8086F0C: @ 8086F0C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08086F54
- ldr r0, _08086F5C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086F60 @ =gObjectEvents
- adds r5, r0, r1
- ldrh r1, [r4, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08086F44
- ldrb r0, [r5, 0x1A]
- movs r1, 0x2
- bl sub_80DC44C
- ldrb r0, [r5, 0x1A]
- movs r1, 0
- bl sub_80DC478
-_08086F44:
- bl sub_8087168
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08086F54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086F5C: .4byte gPlayerAvatar
-_08086F60: .4byte gObjectEvents
- thumb_func_end sub_8086F0C
-
- thumb_func_start sub_8086F64
-sub_8086F64: @ 8086F64
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80871AC
- lsls r0, 24
- cmp r0, 0
- beq _08086F98
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- ldr r0, _08086FA0 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086FA4 @ =gObjectEvents
- adds r0, r1
- movs r1, 0x2
- bl ObjectEventSetHeldMovement
-_08086F98:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086FA0: .4byte gPlayerAvatar
-_08086FA4: .4byte gObjectEvents
- thumb_func_end sub_8086F64
-
- thumb_func_start sub_8086FA8
-sub_8086FA8: @ 8086FA8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08086FF4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08086FF8 @ =gObjectEvents
- adds r2, r0, r1
- ldrh r1, [r4, 0xC]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _08086FCE
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08086FEC
-_08086FCE:
- adds r0, r2, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08086FEC
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x97
- bl PlaySE
- ldrb r0, [r4, 0xA]
- bl sub_80871C8
-_08086FEC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086FF4: .4byte gPlayerAvatar
-_08086FF8: .4byte gObjectEvents
- thumb_func_end sub_8086FA8
-
- thumb_func_start sub_8086FFC
-sub_8086FFC: @ 8086FFC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0808705A
- ldr r0, _08087060 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08087064 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x2
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetGraphicsId
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087068 @ =gSprites
- adds r0, r1
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- movs r1, 0x54
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0xC]
-_0808705A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087060: .4byte gPlayerAvatar
-_08087064: .4byte gObjectEvents
-_08087068: .4byte gSprites
- thumb_func_end sub_8086FFC
-
- thumb_func_start sub_808706C
-sub_808706C: @ 808706C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _080870FC
- ldr r0, _08087104 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08087108 @ =gObjectEvents
- adds r4, r0
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfActive
- ldrb r1, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
- ldrb r0, [r5, 0xA]
- ldrb r1, [r4, 0x4]
- bl sub_8087204
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _0808710C @ =gSprites
- adds r0, r4
- ldr r1, _08087110 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- ldrb r1, [r1, 0x8]
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0
- bl sub_80877FC
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08087114 @ =sub_8087828
- str r1, [r0]
- bl CameraObjectReset2
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080870FC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087104: .4byte gPlayerAvatar
-_08087108: .4byte gObjectEvents
-_0808710C: .4byte gSprites
-_08087110: .4byte gSaveBlock2Ptr
-_08087114: .4byte sub_8087828
- thumb_func_end sub_808706C
-
- thumb_func_start sub_8087118
-sub_8087118: @ 8087118
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80871AC
- lsls r0, 24
- cmp r0, 0
- beq _08087132
- bl sub_807DC18
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08087132:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8087118
-
- thumb_func_start sub_8087138
-sub_8087138: @ 8087138
- push {lr}
- ldr r0, _08087160 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808715A
- movs r0, 0x1F
- bl FieldEffectActiveListRemove
- ldr r0, _08087164 @ =sub_8086E40
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_0808715A:
- pop {r0}
- bx r0
- .align 2, 0
-_08087160: .4byte gPaletteFade
-_08087164: .4byte sub_8086E40
- thumb_func_end sub_8087138
-
- thumb_func_start sub_8087168
-sub_8087168: @ 8087168
- push {lr}
- ldr r0, _080871A0 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x68]
- movs r1, 0xFF
- movs r2, 0xB4
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _080871A4 @ =gSprites
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- movs r3, 0xD
- negs r3, r3
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- ldr r1, _080871A8 @ =sub_8087220
- str r1, [r2, 0x1C]
- pop {r1}
- bx r1
- .align 2, 0
-_080871A0: .4byte gFieldEffectObjectTemplatePointers
-_080871A4: .4byte gSprites
-_080871A8: .4byte sub_8087220
- thumb_func_end sub_8087168
-
- thumb_func_start sub_80871AC
-sub_80871AC: @ 80871AC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080871C4 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_080871C4: .4byte gSprites
- thumb_func_end sub_80871AC
-
- thumb_func_start sub_80871C8
-sub_80871C8: @ 80871C8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080871FC @ =gSprites
- adds r4, r0
- ldr r0, _08087200 @ =sub_80872F0
- str r0, [r4, 0x1C]
- movs r1, 0
- movs r0, 0x78
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x2E
- movs r2, 0x10
- bl memset
- movs r0, 0x40
- strh r0, [r4, 0x3A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080871FC: .4byte gSprites
-_08087200: .4byte sub_80872F0
- thumb_func_end sub_80871C8
-
- thumb_func_start sub_8087204
-sub_8087204: @ 8087204
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0808721C @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- strh r1, [r2, 0x3A]
- bx lr
- .align 2, 0
-_0808721C: .4byte gSprites
- thumb_func_end sub_8087204
-
- thumb_func_start sub_8087220
-sub_8087220: @ 8087220
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080872E2
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808727A
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _0808725C @ =gUnknown_83CC1CC
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- ldr r0, _08087260 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08087264
- movs r0, 0x80
- b _08087266
- .align 2, 0
-_0808725C: .4byte gUnknown_83CC1CC
-_08087260: .4byte gSaveBlock2Ptr
-_08087264:
- movs r0, 0x76
-_08087266:
- strh r0, [r4, 0x20]
- ldr r0, _080872E8 @ =0x0000ffd0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x40
- strh r0, [r4, 0x30]
- adds r0, 0xC0
- strh r0, [r4, 0x32]
-_0808727A:
- ldrh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x32]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- ldr r0, _080872EC @ =0x000007ff
- cmp r1, r0
- bgt _080872B0
- adds r0, r2, 0
- adds r0, 0x60
- strh r0, [r4, 0x32]
-_080872B0:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x81
- ble _080872E2
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
-_080872E2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080872E8: .4byte 0x0000ffd0
-_080872EC: .4byte 0x000007ff
- thumb_func_end sub_8087220
-
- thumb_func_start sub_80872F0
-sub_80872F0: @ 80872F0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x8C
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _0808734E
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08087360 @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_0808734E:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _0808735A
- movs r0, 0x1
- strh r0, [r4, 0x3C]
-_0808735A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087360: .4byte gSprites
- thumb_func_end sub_80872F0
-
- thumb_func_start sub_8087364
-sub_8087364: @ 8087364
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808744E
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080873C4
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080873A0 @ =gUnknown_83CC1CC
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _080873A4 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080873A8
- movs r0, 0x70
- b _080873AA
- .align 2, 0
-_080873A0: .4byte gUnknown_83CC1CC
-_080873A4: .4byte gSaveBlock2Ptr
-_080873A8:
- movs r0, 0x64
-_080873AA:
- strh r0, [r4, 0x20]
- ldr r0, _08087454 @ =0x0000ffe0
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0xF0
- strh r0, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r4, 0x32]
- movs r0, 0x80
- strh r0, [r4, 0x36]
-_080873C4:
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r2, r1
- ldrh r0, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x30]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- movs r1, 0x20
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- ble _08087406
- ldrh r0, [r4, 0x36]
- subs r0, r1, r0
- strh r0, [r4, 0x32]
-_08087406:
- ldrh r1, [r4, 0x36]
- movs r3, 0x36
- ldrsh r0, [r4, r3]
- cmp r0, 0xFF
- bgt _08087416
- adds r0, r1, 0
- adds r0, 0x18
- strh r0, [r4, 0x36]
-_08087416:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _08087420
- strh r2, [r4, 0x32]
-_08087420:
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x3B
- ble _0808744E
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0808744E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087454: .4byte 0x0000ffe0
- thumb_func_end sub_8087364
-
- thumb_func_start sub_8087458
-sub_8087458: @ 8087458
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80871C8
- ldr r1, _0808747C @ =gSprites
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08087480 @ =sub_8087364
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808747C: .4byte gSprites
-_08087480: .4byte sub_8087364
- thumb_func_end sub_8087458
-
- thumb_func_start FldEff_FlyIn
-FldEff_FlyIn: @ 8087484
- push {lr}
- ldr r0, _08087494 @ =sub_8087498
- movs r1, 0xFE
- bl CreateTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08087494: .4byte sub_8087498
- thumb_func_end FldEff_FlyIn
-
- thumb_func_start sub_8087498
-sub_8087498: @ 8087498
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080874C0 @ =gUnknown_83CC1D4
- ldr r2, _080874C4 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080874C0: .4byte gUnknown_83CC1D4
-_080874C4: .4byte gTasks
- thumb_func_end sub_8087498
-
- thumb_func_start sub_80874C8
-sub_80874C8: @ 80874C8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r4, _080875B4 @ =gPlayerAvatar
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080875B8 @ =gObjectEvents
- adds r5, r0, r1
- adds r0, r5, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080874F2
- adds r0, r5, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080875AE
-_080874F2:
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- movs r0, 0x21
- strh r0, [r6, 0xC]
- ldrb r0, [r4]
- strh r0, [r6, 0x26]
- movs r0, 0x1
- strb r0, [r4, 0x6]
- bl SetPlayerAvatarStateMask
- ldrh r1, [r6, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0808751A
- ldrb r0, [r5, 0x1A]
- movs r1, 0
- bl sub_80DC44C
-_0808751A:
- movs r0, 0x2
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl ObjectEventSetGraphicsId
- bl CameraObjectReset2
- adds r0, r5, 0
- movs r1, 0x3
- bl ObjectEventTurn
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080875BC @ =gSprites
- adds r0, r4
- movs r1, 0x16
- bl StartSpriteAnim
- ldrb r1, [r5, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- bl sub_8087168
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0xA]
- bl sub_80871C8
- ldrb r0, [r6, 0xA]
- ldrb r1, [r5, 0x4]
- bl sub_8087204
- movs r0, 0xA
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080875C0 @ =gSaveBlock2Ptr
- ldr r1, [r1]
- ldrb r1, [r1, 0x8]
- lsls r1, 25
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0xA
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl sub_80877FC
- movs r2, 0xA
- ldrsh r1, [r6, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080875C4 @ =sub_8087828
- str r1, [r0]
-_080875AE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080875B4: .4byte gPlayerAvatar
-_080875B8: .4byte gObjectEvents
-_080875BC: .4byte gSprites
-_080875C0: .4byte gSaveBlock2Ptr
-_080875C4: .4byte sub_8087828
- thumb_func_end sub_80874C8
-
- thumb_func_start sub_80875C8
-sub_80875C8: @ 80875C8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r6, _08087638 @ =gSprites
- adds r0, r6
- bl sub_80878C0
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080875F2
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _08087630
-_080875F2:
- ldr r0, _0808763C @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087640 @ =gObjectEvents
- adds r0, r1
- ldrb r0, [r0, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- ldrb r0, [r5, 0xA]
- movs r1, 0x40
- bl sub_8087204
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
-_08087630:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087638: .4byte gSprites
-_0808763C: .4byte gPlayerAvatar
-_08087640: .4byte gObjectEvents
- thumb_func_end sub_80875C8
-
- thumb_func_start sub_8087644
-sub_8087644: @ 8087644
- push {r4,lr}
- sub sp, 0x24
- adds r4, r0, 0
- ldr r1, _0808768C @ =gUnknown_83CC1F0
- mov r0, sp
- movs r2, 0x24
- bl memcpy
- ldr r0, _08087690 @ =gPlayerAvatar
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08087694 @ =gSprites
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _08087682
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08087682:
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808768C: .4byte gUnknown_83CC1F0
-_08087690: .4byte gPlayerAvatar
-_08087694: .4byte gSprites
- thumb_func_end sub_8087644
-
- thumb_func_start sub_8087698
-sub_8087698: @ 8087698
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrb r0, [r6, 0xA]
- bl sub_80871AC
- lsls r0, 24
- cmp r0, 0
- beq _080876FC
- ldr r0, _08087704 @ =gPlayerAvatar
- ldrb r0, [r0, 0x5]
- lsls r5, r0, 3
- adds r5, r0
- lsls r5, 2
- ldr r0, _08087708 @ =gObjectEvents
- adds r5, r0
- ldrb r0, [r5, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0808770C @ =gSprites
- adds r4, r0
- ldrb r1, [r5, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x1]
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- movs r0, 0x12
- ldrsh r2, [r5, r0]
- adds r0, r5, 0
- bl MoveObjectEventToMapCoords
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
- bl sub_805CB70
- adds r0, r5, 0
- movs r1, 0x45
- bl ObjectEventSetHeldMovement
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
-_080876FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087704: .4byte gPlayerAvatar
-_08087708: .4byte gObjectEvents
-_0808770C: .4byte gSprites
- thumb_func_end sub_8087698
-
- thumb_func_start sub_8087710
-sub_8087710: @ 8087710
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08087740 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087744 @ =gObjectEvents
- adds r0, r1
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08087738
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r4, 0xA]
- bl sub_8087458
-_08087738:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087740: .4byte gPlayerAvatar
-_08087744: .4byte gObjectEvents
- thumb_func_end sub_8087710
-
- thumb_func_start sub_8087748
-sub_8087748: @ 8087748
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0xA]
- bl sub_80871AC
- lsls r0, 24
- cmp r0, 0
- beq _08087774
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808777C @ =gSprites
- adds r0, r1
- bl DestroySprite
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x10
- strh r0, [r4, 0xA]
-_08087774:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808777C: .4byte gSprites
- thumb_func_end sub_8087748
-
- thumb_func_start fishE
-fishE: @ 8087780
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0xA]
- subs r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080877EA
- ldr r6, _080877F0 @ =gPlayerAvatar
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080877F4 @ =gObjectEvents
- adds r4, r0, r1
- movs r7, 0
- ldrh r1, [r5, 0x26]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080877B4
- movs r7, 0x2
- ldrb r0, [r4, 0x1A]
- movs r1, 0x1
- bl sub_80DC44C
-_080877B4:
- adds r0, r7, 0
- bl sub_805C808
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetGraphicsId
- adds r0, r4, 0
- movs r1, 0x1
- bl ObjectEventTurn
- ldrh r0, [r5, 0x26]
- strb r0, [r6]
- movs r0, 0
- strb r0, [r6, 0x6]
- movs r0, 0x20
- bl FieldEffectActiveListRemove
- ldr r0, _080877F8 @ =sub_8087498
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_080877EA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080877F0: .4byte gPlayerAvatar
-_080877F4: .4byte gObjectEvents
-_080877F8: .4byte sub_8087498
- thumb_func_end fishE
-
- thumb_func_start sub_80877FC
-sub_80877FC: @ 80877FC
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r5, r1, 24
- lsrs r5, 24
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08087824 @ =gUnknown_83CC23C
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- adds r1, r5, 0
- bl StartSpriteAffineAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087824: .4byte gUnknown_83CC23C
- thumb_func_end sub_80877FC
-
- thumb_func_start sub_8087828
-sub_8087828: @ 8087828
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xB4
- bl Cos
- movs r5, 0
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x48
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _08087886
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080878BC @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r1, 0x22]
- strh r5, [r1, 0x24]
- strh r5, [r1, 0x26]
-_08087886:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080878B4
- movs r0, 0x1
- strh r0, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- subs r0, 0x5
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
-_080878B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080878BC: .4byte gSprites
- thumb_func_end sub_8087828
-
- thumb_func_start sub_80878C0
-sub_80878C0: @ 80878C0
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrb r5, [r4, 0x1]
- lsls r0, r5, 30
- cmp r0, 0
- beq _08087916
- ldr r1, _0808791C @ =gOamMatrices
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r3, r0, 27
- lsls r0, r3, 3
- adds r1, r0, r1
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- beq _080878EC
- movs r6, 0x6
- ldrsh r0, [r1, r6]
- cmp r0, r2
- bne _08087916
-_080878EC:
- movs r0, 0x4
- negs r0, r0
- ands r0, r5
- strb r0, [r4, 0x1]
- adds r0, r3, 0
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- lsrs r1, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- adds r0, r4, 0
- movs r3, 0
- bl CalcCenterToCornerVec
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- ldr r0, _08087920 @ =sub_80872F0
- str r0, [r4, 0x1C]
-_08087916:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808791C: .4byte gOamMatrices
-_08087920: .4byte sub_80872F0
- thumb_func_end sub_80878C0
-
- thumb_func_start sub_8087924
-sub_8087924: @ 8087924
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r7, _080879C4 @ =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080879BA
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080879C8 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x10
- ldrsh r5, [r4, r0]
- subs r5, 0x7
- movs r0, 0x12
- ldrsh r6, [r4, r0]
- subs r6, 0x7
- ldr r1, [r7, 0xC]
- subs r5, r1, r5
- lsls r5, 4
- ldr r2, [r7, 0x10]
- subs r6, r2, r6
- lsls r6, 4
- adds r1, 0x7
- lsls r1, 16
- asrs r1, 16
- adds r2, 0x7
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- bl ShiftObjectEventCoords
- ldr r0, _080879CC @ =sub_80879D8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080879D0 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldrb r0, [r4, 0x4]
- strh r0, [r2, 0xA]
- ldr r3, _080879D4 @ =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- adds r0, r5
- strh r0, [r2, 0xC]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- adds r0, r6
- strh r0, [r2, 0xE]
- ldr r0, [r7, 0x14]
- strh r0, [r2, 0x18]
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r2, 0x1A]
-_080879BA:
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080879C4: .4byte gFieldEffectArguments
-_080879C8: .4byte gObjectEvents
-_080879CC: .4byte sub_80879D8
-_080879D0: .4byte gTasks
-_080879D4: .4byte gSprites
- thumb_func_end sub_8087924
-
- thumb_func_start sub_80879D8
-sub_80879D8: @ 80879D8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08087A04 @ =gTasks+0x8
- adds r5, r0, r1
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08087A08 @ =gSprites
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08087A0C
- cmp r0, 0x1
- beq _08087A4A
- b _08087AA8
- .align 2, 0
-_08087A04: .4byte gTasks+0x8
-_08087A08: .4byte gSprites
-_08087A0C:
- ldrh r0, [r6, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x8]
- ldrh r0, [r6, 0x22]
- lsls r0, 4
- strh r0, [r5, 0xA]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- lsls r0, 4
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xC]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 4
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0xE]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_08087A4A:
- ldrh r1, [r5, 0x10]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _08087A78
- subs r0, r1, 0x1
- strh r0, [r5, 0x10]
- ldrh r1, [r5, 0xC]
- ldrh r0, [r5, 0x8]
- adds r1, r0
- strh r1, [r5, 0x8]
- ldrh r0, [r5, 0xE]
- ldrh r2, [r5, 0xA]
- adds r0, r2
- strh r0, [r5, 0xA]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r6, 0x20]
- ldrh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r6, 0x22]
- b _08087AA8
-_08087A78:
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08087AB0 @ =gObjectEvents
- adds r4, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r6, 0x20]
- ldrh r0, [r5, 0x6]
- strh r0, [r6, 0x22]
- adds r0, r4, 0
- bl ShiftStillObjectEventCoords
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x43
- bl FieldEffectActiveListRemove
- adds r0, r7, 0
- bl DestroyTask
-_08087AA8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08087AB0: .4byte gObjectEvents
- thumb_func_end sub_80879D8
-
- thumb_func_start sub_8087AB4
-sub_8087AB4: @ 8087AB4
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08087AF8 @ =gFieldEffectArguments
- ldrb r0, [r4]
- ldrb r1, [r4, 0x4]
- ldrb r2, [r4, 0x8]
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _08087B04
- ldr r0, _08087AFC @ =sub_8087BC0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08087B00 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, sp
- ldrb r0, [r0]
- strh r0, [r1, 0xC]
- ldr r0, [r4]
- strh r0, [r1, 0x14]
- ldr r0, [r4, 0x4]
- strh r0, [r1, 0x16]
- ldr r0, [r4, 0x8]
- strh r0, [r1, 0x18]
- b _08087B0A
- .align 2, 0
-_08087AF8: .4byte gFieldEffectArguments
-_08087AFC: .4byte sub_8087BC0
-_08087B00: .4byte gTasks
-_08087B04:
- movs r0, 0x44
- bl FieldEffectActiveListRemove
-_08087B0A:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8087AB4
-
- thumb_func_start sub_8087B14
-sub_8087B14: @ 8087B14
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08087B4C @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08087B50
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08087B54
- movs r0, 0
- strh r0, [r4, 0xC]
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08087B54
- subs r0, r1, 0x1
- b _08087B52
- .align 2, 0
-_08087B4C: .4byte gTasks+0x8
-_08087B50:
- movs r0, 0x4
-_08087B52:
- strh r0, [r4, 0xA]
-_08087B54:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08087B8E
- movs r0, 0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08087B84
- ldrh r1, [r4, 0xA]
- negs r1, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl SetCameraPanning
- b _08087B8E
-_08087B84:
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0
- bl SetCameraPanning
-_08087B8E:
- bl UpdateCameraPanning
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08087BA0
- adds r0, r5, 0
- bl DestroyTask
-_08087BA0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087B14
-
- thumb_func_start sub_8087BA8
-sub_8087BA8: @ 8087BA8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08087BBC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x16]
- bx lr
- .align 2, 0
-_08087BBC: .4byte gTasks
- thumb_func_end sub_8087BA8
-
- thumb_func_start sub_8087BC0
-sub_8087BC0: @ 8087BC0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _08087BF8 @ =gTasks+0x8
- adds r4, r0
- bl InstallCameraPanAheadCallback
- movs r0, 0
- bl SetCameraPanningCallback
- ldr r1, _08087BFC @ =gUnknown_83CC244
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087BF8: .4byte gTasks+0x8
-_08087BFC: .4byte gUnknown_83CC244
- thumb_func_end sub_8087BC0
-
- thumb_func_start sub_8087C00
-sub_8087C00: @ 8087C00
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _08087C28 @ =sub_8087B14
- movs r1, 0x5A
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x51
- bl PlaySE
- strh r4, [r5, 0xA]
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087C28: .4byte sub_8087B14
- thumb_func_end sub_8087C00
-
- thumb_func_start sub_8087C2C
-sub_8087C2C: @ 8087C2C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- ldrh r0, [r7, 0x6]
- adds r0, 0x1
- strh r0, [r7, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _08087C9A
- ldr r2, _08087CA4 @ =gObjectEvents
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x4]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08087CA8 @ =gSprites
- adds r4, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldr r6, _08087CAC @ =0x0000ffff
- ldr r5, _08087CB0 @ =0x00007fff
- adds r0, r6, 0
- movs r1, 0x10
- adds r2, r5, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl sub_8087CFC
- movs r0, 0x50
- bl PlaySE
- ldrb r0, [r7, 0xA]
- bl sub_8087BA8
- movs r0, 0
- strh r0, [r7, 0x6]
- ldrh r0, [r7, 0x2]
- adds r0, 0x1
- strh r0, [r7, 0x2]
-_08087C9A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08087CA4: .4byte gObjectEvents
-_08087CA8: .4byte gSprites
-_08087CAC: .4byte 0x0000ffff
-_08087CB0: .4byte 0x00007fff
- thumb_func_end sub_8087C2C
-
- thumb_func_start sub_8087CB4
-sub_8087CB4: @ 8087CB4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _08087CF4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08087CEE
- ldr r0, _08087CF8 @ =sub_8087B14
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08087CEE
- bl InstallCameraPanAheadCallback
- ldrb r0, [r4, 0xC]
- ldrb r1, [r4, 0xE]
- ldrb r2, [r4, 0x10]
- bl RemoveObjectEventByLocalIdAndMap
- movs r0, 0x44
- bl FieldEffectActiveListRemove
- adds r0, r5, 0
- bl DestroyTask
-_08087CEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087CF4: .4byte gPaletteFade
-_08087CF8: .4byte sub_8087B14
- thumb_func_end sub_8087CB4
-
- thumb_func_start sub_8087CFC
-sub_8087CFC: @ 8087CFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _08087D80 @ =gTotalCameraPixelOffsetX
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r2, r0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- adds r2, r0
- ldr r0, _08087D84 @ =gTotalCameraPixelOffsetY
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x22
- ldrsh r1, [r6, r3]
- adds r0, r1
- movs r3, 0x26
- ldrsh r1, [r6, r3]
- adds r0, r1
- subs r0, 0x4
- movs r5, 0
- lsls r2, 16
- mov r8, r2
- lsls r7, r0, 16
-_08087D32:
- ldr r0, _08087D88 @ =gUnknown_83CC2A0
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _08087D6E
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08087D8C @ =gSprites
- adds r4, r0
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- strh r5, [r4, 0x2E]
- ldrb r1, [r6, 0x5]
- lsrs r1, 4
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
-_08087D6E:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08087D32
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08087D80: .4byte gTotalCameraPixelOffsetX
-_08087D84: .4byte gTotalCameraPixelOffsetY
-_08087D88: .4byte gUnknown_83CC2A0
-_08087D8C: .4byte gSprites
- thumb_func_end sub_8087CFC
-
- thumb_func_start sub_8087D90
-sub_8087D90: @ 8087D90
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _08087DBC
- cmp r0, 0x1
- bgt _08087DA6
- cmp r0, 0
- beq _08087DB0
- b _08087DDA
-_08087DA6:
- cmp r0, 0x2
- beq _08087DC8
- cmp r0, 0x3
- beq _08087DCE
- b _08087DDA
-_08087DB0:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _08087DD8
-_08087DBC:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0xC
- b _08087DD8
-_08087DC8:
- ldrh r0, [r1, 0x20]
- subs r0, 0x10
- b _08087DD2
-_08087DCE:
- ldrh r0, [r1, 0x20]
- adds r0, 0x10
-_08087DD2:
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x22]
- adds r0, 0xC
-_08087DD8:
- strh r0, [r1, 0x22]
-_08087DDA:
- ldrh r0, [r1, 0x20]
- adds r0, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF8
- bhi _08087DF6
- movs r0, 0x22
- ldrsh r2, [r1, r0]
- movs r0, 0x4
- negs r0, r0
- cmp r2, r0
- blt _08087DF6
- cmp r2, 0xA4
- ble _08087DFC
-_08087DF6:
- adds r0, r1, 0
- bl DestroySprite
-_08087DFC:
- pop {r0}
- bx r0
- thumb_func_end sub_8087D90
-
- thumb_func_start sub_8087E00
-sub_8087E00: @ 8087E00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08087E24 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08087E1E
- movs r0, 0x45
- bl FieldEffectActiveListRemove
- adds r0, r4, 0
- bl DestroyTask
-_08087E1E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087E24: .4byte gPaletteFade
- thumb_func_end sub_8087E00
-
- thumb_func_start sub_8087E28
-sub_8087E28: @ 8087E28
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0x1
- negs r4, r4
- ldr r5, _08087E5C @ =0x00007fff
- adds r0, r4, 0
- movs r1, 0x10
- adds r2, r5, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0xF
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08087E60 @ =sub_8087E00
- movs r1, 0x5A
- bl CreateTask
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087E5C: .4byte 0x00007fff
-_08087E60: .4byte sub_8087E00
- thumb_func_end sub_8087E28
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s
deleted file mode 100644
index a2f2de676..000000000
--- a/asm/field_effect_helpers.s
+++ /dev/null
@@ -1,4308 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpReflection
-SetUpReflection: @ 80DAD7C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r5, r2, 24
- lsrs r5, 24
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r0, 0x22
- ldrsh r2, [r4, r0]
- adds r0, r4, 0
- movs r3, 0x98
- bl CreateCopySpriteAt
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DAE2C @ =gSprites
- adds r7, r1, r0
- ldr r0, _080DAE30 @ =sub_80DAF50
- str r0, [r7, 0x1C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xC
- orrs r1, r0
- strb r1, [r7, 0x5]
- ldr r2, _080DAE34 @ =gReflectionEffectPaletteMap
- lsrs r0, r1, 4
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 4
- movs r2, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x5]
- movs r1, 0x3F
- adds r1, r7
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0x40
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- ldr r0, _080DAE38 @ =gDummySpriteAnimTable
- str r0, [r7, 0x8]
- adds r0, r7, 0
- movs r1, 0
- bl StartSpriteAnim
- ldr r0, _080DAE3C @ =gDummySpriteAffineAnimTable
- str r0, [r7, 0x10]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x8
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- adds r2, r7, 0
- adds r2, 0x42
- ldrb r1, [r2]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x2E]
- strh r0, [r7, 0x2E]
- ldrb r0, [r6, 0x8]
- strh r0, [r7, 0x30]
- strh r5, [r7, 0x3C]
- adds r0, r6, 0
- adds r1, r7, 0
- bl npc_pal_op
- cmp r5, 0
- bne _080DAE22
- ldrb r0, [r7, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r7, 0x1]
-_080DAE22:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAE2C: .4byte gSprites
-_080DAE30: .4byte sub_80DAF50
-_080DAE34: .4byte gReflectionEffectPaletteMap
-_080DAE38: .4byte gDummySpriteAnimTable
-_080DAE3C: .4byte gDummySpriteAffineAnimTable
- thumb_func_end SetUpReflection
-
- thumb_func_start sub_80DAE40
-sub_80DAE40: @ 80DAE40
- push {lr}
- ldrb r0, [r0, 0x5]
- bl GetObjectEventGraphicsInfo
- ldrh r0, [r0, 0xA]
- subs r0, 0x2
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80DAE40
-
- thumb_func_start npc_pal_op
-npc_pal_op: @ 80DAE54
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080DAEAC @ =gUnknown_83FECCC
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrb r0, [r5, 0x5]
- bl GetObjectEventGraphicsInfo
- ldrb r1, [r0, 0xC]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080DAEB0
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_GetBridgeType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080DAE96
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_GetBridgeType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080DAEB0
-_080DAE96:
- subs r0, 0x1
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x32]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r0, r5, 0
- bl npc_pal_op_A
- b _080DAEBA
- .align 2, 0
-_080DAEAC: .4byte gUnknown_83FECCC
-_080DAEB0:
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r0, r5, 0
- bl npc_pal_op_B
-_080DAEBA:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end npc_pal_op
-
- thumb_func_start npc_pal_op_B
-npc_pal_op_B: @ 80DAEC4
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrb r0, [r0, 0x5]
- bl GetObjectEventGraphicsInfo
- adds r2, r0, 0
- ldrh r1, [r2, 0x4]
- ldr r0, _080DAEF0 @ =0x000011ff
- cmp r1, r0
- beq _080DAF18
- ldrb r0, [r2, 0xC]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0
- bne _080DAEF4
- ldrh r0, [r2, 0x2]
- adds r1, r4, 0
- bl LoadPlayerObjectReflectionPalette
- b _080DAF12
- .align 2, 0
-_080DAEF0: .4byte 0x000011ff
-_080DAEF4:
- cmp r1, 0xA
- bne _080DAF02
- ldrh r0, [r2, 0x2]
- adds r1, r4, 0
- bl LoadSpecialObjectReflectionPalette
- b _080DAF12
-_080DAF02:
- adds r0, r4, 0
- bl GetObjectPaletteTag
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl PatchObjectPalette
-_080DAF12:
- adds r0, r4, 0
- bl sub_807AA8C
-_080DAF18:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end npc_pal_op_B
-
- thumb_func_start npc_pal_op_A
-npc_pal_op_A: @ 80DAF20
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrb r0, [r0, 0x5]
- bl GetObjectEventGraphicsInfo
- adds r2, r0, 0
- ldrh r1, [r2, 0x4]
- ldr r0, _080DAF4C @ =0x000011ff
- cmp r1, r0
- beq _080DAF44
- adds r0, r1, 0
- adds r1, r4, 0
- bl PatchObjectPalette
- adds r0, r4, 0
- bl sub_807AA8C
-_080DAF44:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAF4C: .4byte 0x000011ff
- thumb_func_end npc_pal_op_A
-
- thumb_func_start sub_80DAF50
-sub_80DAF50: @ 80DAF50
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DAF98 @ =gObjectEvents
- adds r7, r0, r1
- ldrb r1, [r7, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DAF9C @ =gSprites
- adds r5, r0, r1
- ldr r0, [r7]
- ldr r1, _080DAFA0 @ =0x00020001
- ands r0, r1
- cmp r0, r1
- bne _080DAF88
- ldrb r1, [r7, 0x8]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080DAFA4
-_080DAF88:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- b _080DB0AE
- .align 2, 0
-_080DAF98: .4byte gObjectEvents
-_080DAF9C: .4byte gSprites
-_080DAFA0: .4byte 0x00020001
-_080DAFA4:
- ldr r1, _080DB0BC @ =gReflectionEffectPaletteMap
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r4, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrb r1, [r5, 0x1]
- lsrs r1, 6
- lsls r1, 6
- ldrb r2, [r4, 0x1]
- movs r3, 0x3F
- adds r0, r3, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r5, 0x3]
- lsrs r0, 6
- lsls r0, 6
- ldrb r2, [r4, 0x3]
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- movs r2, 0x10
- orrs r0, r2
- lsls r0, 1
- subs r2, 0x4F
- mov r9, r2
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x3]
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 22
- ldrh r2, [r4, 0x4]
- ldr r0, _080DB0C0 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, [r5, 0x18]
- str r0, [r4, 0x18]
- adds r0, r5, 0
- adds r0, 0x42
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 26
- adds r2, r4, 0
- adds r2, 0x42
- ands r3, r0
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
- movs r0, 0x3E
- adds r0, r5
- mov r8, r0
- ldrb r0, [r0]
- adds r6, r4, 0
- adds r6, 0x3E
- movs r1, 0x4
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrh r0, [r5, 0x20]
- strh r0, [r4, 0x20]
- adds r0, r7, 0
- bl sub_80DAE40
- ldrh r1, [r5, 0x22]
- adds r0, r1
- ldrh r1, [r4, 0x32]
- adds r1, r0
- strh r1, [r4, 0x22]
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x2
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DB0AE
- ldrb r0, [r4, 0x3]
- mov r2, r9
- ands r2, r0
- strb r2, [r4, 0x3]
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080DB0AE
- movs r1, 0x2
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r4, 0x3]
-_080DB0AE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB0BC: .4byte gReflectionEffectPaletteMap
-_080DB0C0: .4byte 0xfffffc00
- thumb_func_end sub_80DAF50
-
- thumb_func_start CreateWarpArrowSprite
-CreateWarpArrowSprite: @ 80DB0C4
- push {r4,lr}
- ldr r0, _080DB10C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x20]
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0x40
- beq _080DB102
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DB110 @ =gSprites
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- orrs r0, r3
- strb r0, [r1]
-_080DB102:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB10C: .4byte gFieldEffectObjectTemplatePointers
-_080DB110: .4byte gSprites
- thumb_func_end CreateWarpArrowSprite
-
- thumb_func_start objid_set_invisible
-objid_set_invisible: @ 80DB114
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DB130 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080DB130: .4byte gSprites
- thumb_func_end objid_set_invisible
-
- thumb_func_start sub_80DB134
-sub_80DB134: @ 80DB134
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, _080DB1D8 @ =gSprites
- adds r2, r0, r1
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080DB17E
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r7, 16
- asrs r0, 16
- cmp r1, r0
- bne _080DB17E
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r6, 16
- asrs r0, 16
- cmp r1, r0
- beq _080DB1CA
-_080DB17E:
- lsls r0, r7, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- mov r4, sp
- adds r4, 0x2
- mov r2, sp
- adds r3, r4, 0
- bl SetSpritePosToMapCoords
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, _080DB1D8 @ =gSprites
- adds r2, r0, r1
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x8
- strh r0, [r2, 0x20]
- ldrh r0, [r4]
- adds r0, 0x8
- strh r0, [r2, 0x22]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- strh r7, [r2, 0x2E]
- strh r6, [r2, 0x30]
- mov r1, r8
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_080DB1CA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB1D8: .4byte gSprites
- thumb_func_end sub_80DB134
-
- thumb_func_start oei_shadow
-oei_shadow: @ 80DB1DC
- push {r4,r5,lr}
- ldr r5, _080DB268 @ =gFieldEffectArguments
- ldrb r0, [r5]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DB26C @ =gObjectEvents
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- bl GetObjectEventGraphicsInfo
- adds r4, r0, 0
- ldr r2, _080DB270 @ =gFieldEffectObjectTemplatePointers
- ldr r1, _080DB274 @ =gUnknown_83FECD2
- ldrb r0, [r4, 0xC]
- lsls r0, 26
- lsrs r0, 30
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DB260
- ldr r0, _080DB278 @ =gSprites
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldr r0, [r5]
- strh r0, [r2, 0x2E]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r5, 0x8]
- strh r0, [r2, 0x32]
- ldrh r1, [r4, 0xA]
- lsls r1, 16
- asrs r1, 17
- ldr r3, _080DB27C @ =gUnknown_83FECD6
- ldrb r0, [r4, 0xC]
- lsls r0, 26
- lsrs r0, 30
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x34]
-_080DB260:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB268: .4byte gFieldEffectArguments
-_080DB26C: .4byte gObjectEvents
-_080DB270: .4byte gFieldEffectObjectTemplatePointers
-_080DB274: .4byte gUnknown_83FECD2
-_080DB278: .4byte gSprites
-_080DB27C: .4byte gUnknown_83FECD6
- thumb_func_end oei_shadow
-
- thumb_func_start oamc_shadow
-oamc_shadow: @ 80DB280
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r5, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080DB2AE
- adds r0, r5, 0
- movs r1, 0x3
- bl FieldEffectStop
- b _080DB334
-_080DB2AE:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB33C @ =gObjectEvents
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DB340 @ =gSprites
- adds r1, r0
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- ands r2, r0
- ldrb r3, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r5, 0x5]
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x34]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldr r0, [r4]
- ldr r1, _080DB344 @ =0x00400001
- ands r0, r1
- cmp r0, r1
- bne _080DB32C
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPokeGrass
- lsls r0, 24
- cmp r0, 0
- bne _080DB32C
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _080DB32C
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsSurfable
- lsls r0, 24
- cmp r0, 0
- bne _080DB32C
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _080DB32C
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- beq _080DB334
-_080DB32C:
- adds r0, r5, 0
- movs r1, 0x3
- bl FieldEffectStop
-_080DB334:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB33C: .4byte gObjectEvents
-_080DB340: .4byte gSprites
-_080DB344: .4byte 0x00400001
- thumb_func_end oamc_shadow
-
- thumb_func_start oei_grass_normal
-oei_grass_normal: @ 80DB348
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080DB3E0 @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DB3E4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x10]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DB3D4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB3E8 @ =gSprites
- adds r3, r0, r1
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x3
- ldrb r1, [r5, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r5, 0x8]
- strh r0, [r3, 0x2E]
- ldr r0, [r5]
- strh r0, [r3, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r3, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r3, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r3, 0x36]
- ldr r0, [r5, 0x18]
- strh r0, [r3, 0x38]
- ldr r0, [r5, 0x1C]
- cmp r0, 0
- beq _080DB3D4
- adds r0, r3, 0
- movs r1, 0x4
- bl SeekSpriteAnim
-_080DB3D4:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB3E0: .4byte gFieldEffectArguments
-_080DB3E4: .4byte gFieldEffectObjectTemplatePointers
-_080DB3E8: .4byte gSprites
- thumb_func_end oei_grass_normal
-
- thumb_func_start unc_grass_normal
-unc_grass_normal: @ 80DB3EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- lsrs r4, r0, 8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, _080DB498 @ =gCamera
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DB438
- ldr r0, _080DB49C @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, r4
- bne _080DB41E
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r0, r7
- beq _080DB438
-_080DB41E:
- ldr r1, [r3, 0x4]
- ldrh r0, [r5, 0x30]
- subs r0, r1
- strh r0, [r5, 0x30]
- ldr r1, [r3, 0x8]
- ldrh r0, [r5, 0x32]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrb r1, [r2, 0x5]
- lsls r1, 8
- ldrb r0, [r2, 0x4]
- orrs r0, r1
- strh r0, [r5, 0x38]
-_080DB438:
- ldrh r0, [r5, 0x34]
- lsrs r1, r0, 8
- mov r8, r1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5, 0x36]
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r6, r0, 24
- mov r0, r8
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DB48C
- adds r0, r6, 0
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _080DB48C
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080DB4A0
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DB4A0
-_080DB48C:
- adds r0, r5, 0
- movs r1, 0x4
- bl FieldEffectStop
- b _080DB4E4
- .align 2, 0
-_080DB498: .4byte gCamera
-_080DB49C: .4byte gSaveBlock1Ptr
-_080DB4A0:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB4F0 @ =gObjectEvents
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, [r5, 0x30]
- cmp r0, r1
- beq _080DB4C0
- ldr r0, [r2, 0x14]
- cmp r0, r1
- beq _080DB4C0
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_080DB4C0:
- movs r6, 0
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DB4CE
- movs r6, 0x4
-_080DB4CE:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8068EB4
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80DCD48
-_080DB4E4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB4F0: .4byte gObjectEvents
- thumb_func_end unc_grass_normal
-
- thumb_func_start FldEff_JumpTallGrass
-FldEff_JumpTallGrass: @ 80DB4F4
- push {r4,lr}
- ldr r4, _080DB558 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8063BC4
- ldr r0, _080DB55C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x28]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DB550
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DB560 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xC
- strh r0, [r2, 0x30]
-_080DB550:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB558: .4byte gFieldEffectArguments
-_080DB55C: .4byte gFieldEffectObjectTemplatePointers
-_080DB560: .4byte gSprites
- thumb_func_end FldEff_JumpTallGrass
-
- thumb_func_start sub_80DB564
-sub_80DB564: @ 80DB564
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r5, 0
- ldr r0, _080DB5D4 @ =gSprites
- mov r8, r0
- lsls r3, 16
- asrs r3, 16
- lsls r4, 16
- asrs r4, 16
-_080DB588:
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- mov r1, r8
- adds r2, r0, r1
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080DB5DC
- ldr r1, [r2, 0x1C]
- ldr r0, _080DB5D8 @ =unc_grass_normal
- cmp r1, r0
- bne _080DB5DC
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r3, r0
- bne _080DB5DC
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r4, r0
- bne _080DB5DC
- ldrh r1, [r2, 0x34]
- lsls r0, r1, 16
- asrs r0, 24
- cmp r12, r0
- bne _080DB5DC
- movs r0, 0xFF
- ands r0, r1
- cmp r7, r0
- bne _080DB5DC
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r6, r0
- bne _080DB5DC
- adds r0, r5, 0
- b _080DB5E8
- .align 2, 0
-_080DB5D4: .4byte gSprites
-_080DB5D8: .4byte unc_grass_normal
-_080DB5DC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3F
- bls _080DB588
- movs r0, 0x40
-_080DB5E8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80DB564
-
- thumb_func_start FldEff_LongGrass
-FldEff_LongGrass: @ 80DB5F4
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080DB690 @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DB694 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x3C]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DB684
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB698 @ =gSprites
- adds r4, r0, r1
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r5, 0x8]
- bl ZCoordToPriority
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldr r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldr r0, [r5]
- strh r0, [r4, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r4, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r4, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r4, 0x36]
- ldr r0, [r5, 0x18]
- strh r0, [r4, 0x38]
- ldr r0, [r5, 0x1C]
- cmp r0, 0
- beq _080DB684
- adds r0, r4, 0
- movs r1, 0x6
- bl SeekSpriteAnim
-_080DB684:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB690: .4byte gFieldEffectArguments
-_080DB694: .4byte gFieldEffectObjectTemplatePointers
-_080DB698: .4byte gSprites
- thumb_func_end FldEff_LongGrass
-
- thumb_func_start unc_grass_tall
-unc_grass_tall: @ 80DB69C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- lsrs r7, r0, 8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, _080DB748 @ =gCamera
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DB6E8
- ldr r0, _080DB74C @ =gSaveBlock1Ptr
- ldr r2, [r0]
- movs r0, 0x5
- ldrsb r0, [r2, r0]
- cmp r0, r7
- bne _080DB6CE
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r0, r6
- beq _080DB6E8
-_080DB6CE:
- ldr r1, [r3, 0x4]
- ldrh r0, [r5, 0x30]
- subs r0, r1
- strh r0, [r5, 0x30]
- ldr r1, [r3, 0x8]
- ldrh r0, [r5, 0x32]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrb r1, [r2, 0x5]
- lsls r1, 8
- ldrb r0, [r2, 0x4]
- orrs r0, r1
- strh r0, [r5, 0x38]
-_080DB6E8:
- ldrh r0, [r5, 0x34]
- lsrs r1, r0, 8
- mov r8, r1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r0, [r5, 0x36]
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- movs r2, 0x32
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, r8
- adds r1, r7, 0
- adds r2, r6, 0
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DB73C
- adds r0, r4, 0
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080DB73C
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080DB750
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DB750
-_080DB73C:
- adds r0, r5, 0
- movs r1, 0x11
- bl FieldEffectStop
- b _080DB786
- .align 2, 0
-_080DB748: .4byte gCamera
-_080DB74C: .4byte gSaveBlock1Ptr
-_080DB750:
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB794 @ =gObjectEvents
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, [r5, 0x30]
- cmp r0, r1
- beq _080DB770
- ldr r0, [r2, 0x14]
- cmp r0, r1
- beq _080DB770
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_080DB770:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8068EB4
- ldrh r1, [r5, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- movs r2, 0
- bl sub_80DCD48
-_080DB786:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB794: .4byte gObjectEvents
- thumb_func_end unc_grass_tall
-
- thumb_func_start FldEff_JumpLongGrass
-FldEff_JumpLongGrass: @ 80DB798
- push {r4,lr}
- ldr r4, _080DB7FC @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DB800 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x40]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DB7F4
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DB804 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0x12
- strh r0, [r2, 0x30]
-_080DB7F4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB7FC: .4byte gFieldEffectArguments
-_080DB800: .4byte gFieldEffectObjectTemplatePointers
-_080DB804: .4byte gSprites
- thumb_func_end FldEff_JumpLongGrass
-
- thumb_func_start sub_80DB808
-sub_80DB808: @ 80DB808
- push {r4-r6,lr}
- ldr r6, _080DB89C @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DB8A0 @ =gObjectEvents
- adds r5, r1, r0
- ldr r0, _080DB8A4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x78]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DB894
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, _080DB8A8 @ =gSprites
- adds r2, r4
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r6]
- strh r0, [r2, 0x2E]
- ldr r0, [r6, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r6, 0x8]
- strh r0, [r2, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r2, 0x34]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x36]
-_080DB894:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080DB89C: .4byte gFieldEffectArguments
-_080DB8A0: .4byte gObjectEvents
-_080DB8A4: .4byte gFieldEffectObjectTemplatePointers
-_080DB8A8: .4byte gSprites
- thumb_func_end sub_80DB808
-
- thumb_func_start sub_80DB8AC
-sub_80DB8AC: @ 80DB8AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DB8EA
- ldr r5, _080DB8F4 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- lsls r0, 29
- cmp r0, 0
- blt _080DB8F8
-_080DB8EA:
- adds r0, r4, 0
- movs r1, 0x29
- bl FieldEffectStop
- b _080DB98E
- .align 2, 0
-_080DB8F4: .4byte gObjectEvents
-_080DB8F8:
- ldrb r0, [r1, 0x5]
- bl GetObjectEventGraphicsInfo
- mov r8, r0
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DB99C @ =gSprites
- adds r6, r0, r1
- ldrh r5, [r6, 0x22]
- ldrh r7, [r6, 0x20]
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080DB934
- lsls r0, r5, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _080DB94E
-_080DB934:
- strh r7, [r4, 0x34]
- strh r5, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DB94E
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_080DB94E:
- strh r7, [r4, 0x20]
- strh r5, [r4, 0x22]
- mov r1, r8
- ldrh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 17
- subs r0, 0x8
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r0, [r6, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r6, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r1, 29
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_8068EB4
-_080DB98E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB99C: .4byte gSprites
- thumb_func_end sub_80DB8AC
-
- thumb_func_start FldEff_SandFootprints
-FldEff_SandFootprints: @ 80DB9A0
- push {r4,lr}
- ldr r4, _080DBA08 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DBA0C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x2C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DB9FE
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DBA10 @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0xD
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_080DB9FE:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBA08: .4byte gFieldEffectArguments
-_080DBA0C: .4byte gFieldEffectObjectTemplatePointers
-_080DBA10: .4byte gSprites
- thumb_func_end FldEff_SandFootprints
-
- thumb_func_start FldEff_DeepSandFootprints
-FldEff_DeepSandFootprints: @ 80DBA14
- push {r4,r5,lr}
- ldr r4, _080DBA7C @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DBA80 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x5C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- adds r5, r1, 0
- cmp r1, 0x40
- beq _080DBA74
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DBA84 @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x18
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_080DBA74:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBA7C: .4byte gFieldEffectArguments
-_080DBA80: .4byte gFieldEffectObjectTemplatePointers
-_080DBA84: .4byte gSprites
- thumb_func_end FldEff_DeepSandFootprints
-
- thumb_func_start FldEff_BikeTireTracks
-FldEff_BikeTireTracks: @ 80DBA88
- push {r4,r5,lr}
- ldr r4, _080DBAF0 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DBAF4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x6C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- adds r5, r1, 0
- cmp r1, 0x40
- beq _080DBAE8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DBAF8 @ =gSprites
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- movs r1, 0x3
- ldrb r2, [r4, 0xC]
- ands r2, r1
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x23
- strh r1, [r0, 0x3C]
- ldrb r1, [r4, 0x10]
- bl StartSpriteAnim
-_080DBAE8:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBAF0: .4byte gFieldEffectArguments
-_080DBAF4: .4byte gFieldEffectObjectTemplatePointers
-_080DBAF8: .4byte gSprites
- thumb_func_end FldEff_BikeTireTracks
-
- thumb_func_start sub_80DBAFC
-sub_80DBAFC: @ 80DBAFC
- push {lr}
- ldr r2, _080DBB14 @ =gUnknown_83FECE0
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080DBB14: .4byte gUnknown_83FECE0
- thumb_func_end sub_80DBAFC
-
- thumb_func_start sub_80DBB18
-sub_80DBB18: @ 80DBB18
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080DBB2E
- movs r0, 0x1
- strh r0, [r1, 0x2E]
-_080DBB2E:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8068EB4
- pop {r0}
- bx r0
- thumb_func_end sub_80DBB18
-
- thumb_func_start sub_80DBB3C
-sub_80DBB3C: @ 80DBB3C
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- ldrb r1, [r3]
- lsls r1, 29
- lsrs r1, 31
- adds r0, r4, 0
- bl sub_8068EB4
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x38
- ble _080DBB80
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
-_080DBB80:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBB3C
-
- thumb_func_start FldEff_Splash
-FldEff_Splash: @ 80DBB88
- push {r4-r6,lr}
- ldr r6, _080DBC1C @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DBC20 @ =gObjectEvents
- adds r5, r1, r0
- ldr r0, _080DBC24 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x34]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _080DBC12
- ldrb r0, [r5, 0x5]
- bl GetObjectEventGraphicsInfo
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- ldr r4, _080DBC28 @ =gSprites
- adds r3, r4
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- ldrb r2, [r5, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r4, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- orrs r1, r2
- strb r1, [r3, 0x5]
- ldr r1, [r6]
- strh r1, [r3, 0x2E]
- ldr r1, [r6, 0x4]
- strh r1, [r3, 0x30]
- ldr r1, [r6, 0x8]
- strh r1, [r3, 0x32]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- subs r0, 0x4
- strh r0, [r3, 0x26]
- movs r0, 0x3F
- bl PlaySE
-_080DBC12:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBC1C: .4byte gFieldEffectArguments
-_080DBC20: .4byte gObjectEvents
-_080DBC24: .4byte gFieldEffectObjectTemplatePointers
-_080DBC28: .4byte gSprites
- thumb_func_end FldEff_Splash
-
- thumb_func_start sub_80DBC2C
-sub_80DBC2C: @ 80DBC2C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080DBC5C
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080DBC66
-_080DBC5C:
- adds r0, r4, 0
- movs r1, 0xF
- bl FieldEffectStop
- b _080DBCA6
-_080DBC66:
- ldr r3, _080DBCB0 @ =gSprites
- ldr r2, _080DBCB4 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x20]
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
-_080DBCA6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBCB0: .4byte gSprites
-_080DBCB4: .4byte gObjectEvents
- thumb_func_end sub_80DBC2C
-
- thumb_func_start FldEff_JumpSmallSplash
-FldEff_JumpSmallSplash: @ 80DBCB8
- push {r4,lr}
- ldr r4, _080DBD1C @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8063BC4
- ldr r0, _080DBD20 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x38]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DBD14
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DBD24 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0x10
- strh r0, [r2, 0x30]
-_080DBD14:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBD1C: .4byte gFieldEffectArguments
-_080DBD20: .4byte gFieldEffectObjectTemplatePointers
-_080DBD24: .4byte gSprites
- thumb_func_end FldEff_JumpSmallSplash
-
- thumb_func_start oei_water_drop_tall
-oei_water_drop_tall: @ 80DBD28
- push {r4,lr}
- ldr r4, _080DBD8C @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DBD90 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x30]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DBD84
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DBD94 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xE
- strh r0, [r2, 0x30]
-_080DBD84:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBD8C: .4byte gFieldEffectArguments
-_080DBD90: .4byte gFieldEffectObjectTemplatePointers
-_080DBD94: .4byte gSprites
- thumb_func_end oei_water_drop_tall
-
- thumb_func_start FldEff_FeetInFlowingWater
-FldEff_FeetInFlowingWater: @ 80DBD98
- push {r4-r7,lr}
- ldr r7, _080DBE38 @ =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DBE3C @ =gObjectEvents
- adds r6, r1, r0
- ldr r0, _080DBE40 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x34]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080DBE2E
- ldrb r0, [r6, 0x5]
- bl GetObjectEventGraphicsInfo
- adds r4, r0, 0
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r3, _080DBE44 @ =gSprites
- adds r0, r3
- ldr r1, _080DBE48 @ =sub_80DBE50
- str r1, [r0, 0x1C]
- adds r5, r0, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r5]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r7]
- strh r1, [r0, 0x2E]
- ldr r1, [r7, 0x4]
- strh r1, [r0, 0x30]
- ldr r1, [r7, 0x8]
- strh r1, [r0, 0x32]
- ldr r1, _080DBE4C @ =0x0000ffff
- strh r1, [r0, 0x34]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x36]
- ldrh r1, [r4, 0xA]
- lsls r1, 16
- asrs r1, 17
- subs r1, 0x4
- strh r1, [r0, 0x26]
- movs r1, 0x1
- bl StartSpriteAnim
-_080DBE2E:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBE38: .4byte gFieldEffectArguments
-_080DBE3C: .4byte gObjectEvents
-_080DBE40: .4byte gFieldEffectObjectTemplatePointers
-_080DBE44: .4byte gSprites
-_080DBE48: .4byte sub_80DBE50
-_080DBE4C: .4byte 0x0000ffff
- thumb_func_end FldEff_FeetInFlowingWater
-
- thumb_func_start sub_80DBE50
-sub_80DBE50: @ 80DBE50
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DBE8A
- ldr r2, _080DBE94 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrb r0, [r5, 0x2]
- lsls r0, 28
- cmp r0, 0
- blt _080DBE98
-_080DBE8A:
- adds r0, r4, 0
- movs r1, 0x22
- bl FieldEffectStop
- b _080DBEE2
- .align 2, 0
-_080DBE94: .4byte gObjectEvents
-_080DBE98:
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DBEEC @ =gSprites
- adds r0, r1
- ldrh r1, [r0, 0x20]
- strh r1, [r4, 0x20]
- ldrh r1, [r0, 0x22]
- strh r1, [r4, 0x22]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
- ldr r1, [r5, 0x10]
- ldr r0, [r4, 0x34]
- cmp r1, r0
- beq _080DBEE2
- ldrh r0, [r5, 0x10]
- strh r0, [r4, 0x34]
- ldrh r0, [r5, 0x12]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080DBEE2
- movs r0, 0x3F
- bl PlaySE
-_080DBEE2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBEEC: .4byte gSprites
- thumb_func_end sub_80DBE50
-
- thumb_func_start oei_ripples
-oei_ripples: @ 80DBEF0
- push {r4,lr}
- ldr r0, _080DBF44 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x14]
- ldr r4, _080DBF48 @ =gFieldEffectArguments
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DBF3C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DBF4C @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x5
- strh r0, [r2, 0x2E]
-_080DBF3C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBF44: .4byte gFieldEffectObjectTemplatePointers
-_080DBF48: .4byte gFieldEffectArguments
-_080DBF4C: .4byte gSprites
- thumb_func_end oei_ripples
-
- thumb_func_start sub_80DBF50
-sub_80DBF50: @ 80DBF50
- push {r4-r6,lr}
- ldr r6, _080DBFE4 @ =gFieldEffectArguments
- ldrb r0, [r6]
- ldrb r1, [r6, 0x4]
- ldrb r2, [r6, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DBFE8 @ =gObjectEvents
- adds r5, r1, r0
- ldr r0, _080DBFEC @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x7C]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DBFDC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, _080DBFF0 @ =gSprites
- adds r2, r4
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r6]
- strh r0, [r2, 0x2E]
- ldr r0, [r6, 0x4]
- strh r0, [r2, 0x30]
- ldr r0, [r6, 0x8]
- strh r0, [r2, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x20]
- strh r0, [r2, 0x34]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x36]
-_080DBFDC:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080DBFE4: .4byte gFieldEffectArguments
-_080DBFE8: .4byte gObjectEvents
-_080DBFEC: .4byte gFieldEffectObjectTemplatePointers
-_080DBFF0: .4byte gSprites
- thumb_func_end sub_80DBF50
-
- thumb_func_start sub_80DBFF4
-sub_80DBFF4: @ 80DBFF4
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DC02E
- ldr r5, _080DC038 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- lsls r0, 26
- cmp r0, 0
- blt _080DC03C
-_080DC02E:
- adds r0, r4, 0
- movs r1, 0x2A
- bl FieldEffectStop
- b _080DC080
- .align 2, 0
-_080DC038: .4byte gObjectEvents
-_080DC03C:
- ldrb r0, [r1, 0x5]
- bl GetObjectEventGraphicsInfo
- mov r1, sp
- ldrb r2, [r1]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _080DC088 @ =gSprites
- adds r1, r2
- ldrh r2, [r1, 0x20]
- strh r2, [r4, 0x20]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- ldrh r2, [r1, 0x22]
- adds r0, r2
- subs r0, 0x8
- strh r0, [r4, 0x22]
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
-_080DC080:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC088: .4byte gSprites
- thumb_func_end sub_80DBFF4
-
- thumb_func_start FldEff_Unknown19
-FldEff_Unknown19: @ 80DC08C
- push {r4,lr}
- ldr r4, _080DC0EC @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC0F0 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x44]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC0E4
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC0F4 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x13
- strh r0, [r2, 0x2E]
-_080DC0E4:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC0EC: .4byte gFieldEffectArguments
-_080DC0F0: .4byte gFieldEffectObjectTemplatePointers
-_080DC0F4: .4byte gSprites
- thumb_func_end FldEff_Unknown19
-
- thumb_func_start FldEff_Unknown20
-FldEff_Unknown20: @ 80DC0F8
- push {r4,lr}
- ldr r4, _080DC158 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC15C @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x48]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC150
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC160 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x14
- strh r0, [r2, 0x2E]
-_080DC150:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC158: .4byte gFieldEffectArguments
-_080DC15C: .4byte gFieldEffectObjectTemplatePointers
-_080DC160: .4byte gSprites
- thumb_func_end FldEff_Unknown20
-
- thumb_func_start FldEff_Unknown21
-FldEff_Unknown21: @ 80DC164
- push {r4,lr}
- ldr r4, _080DC1C4 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC1C8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x4C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC1BC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC1CC @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x15
- strh r0, [r2, 0x2E]
-_080DC1BC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC1C4: .4byte gFieldEffectArguments
-_080DC1C8: .4byte gFieldEffectObjectTemplatePointers
-_080DC1CC: .4byte gSprites
- thumb_func_end FldEff_Unknown21
-
- thumb_func_start FldEff_Unknown22
-FldEff_Unknown22: @ 80DC1D0
- push {r4,lr}
- ldr r4, _080DC230 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC234 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x50]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC228
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC238 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x16
- strh r0, [r2, 0x2E]
-_080DC228:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC230: .4byte gFieldEffectArguments
-_080DC234: .4byte gFieldEffectObjectTemplatePointers
-_080DC238: .4byte gSprites
- thumb_func_end FldEff_Unknown22
-
- thumb_func_start StartAshFieldEffect
-StartAshFieldEffect: @ 80DC23C
- push {r4,lr}
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080DC26C @ =gFieldEffectArguments
- lsls r0, 16
- asrs r0, 16
- str r0, [r4]
- lsls r1, 16
- asrs r1, 16
- str r1, [r4, 0x4]
- movs r0, 0x52
- str r0, [r4, 0x8]
- movs r0, 0x1
- str r0, [r4, 0xC]
- str r2, [r4, 0x10]
- lsls r3, 16
- asrs r3, 16
- str r3, [r4, 0x14]
- movs r0, 0x7
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC26C: .4byte gFieldEffectArguments
- thumb_func_end StartAshFieldEffect
-
- thumb_func_start oei_ash
-oei_ash: @ 80DC270
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080DC2F0 @ =gFieldEffectArguments
- ldrh r1, [r5]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC2F4 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x18]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- ldrb r3, [r5, 0x8]
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC2E6
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC2F8 @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r5, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r5]
- strh r0, [r2, 0x30]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x32]
- ldr r0, [r5, 0x10]
- strh r0, [r2, 0x34]
- ldr r0, [r5, 0x14]
- strh r0, [r2, 0x36]
-_080DC2E6:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC2F0: .4byte gFieldEffectArguments
-_080DC2F4: .4byte gFieldEffectObjectTemplatePointers
-_080DC2F8: .4byte gSprites
- thumb_func_end oei_ash
-
- thumb_func_start sub_80DC2FC
-sub_80DC2FC: @ 80DC2FC
- push {lr}
- ldr r2, _080DC314 @ =gUnknown_83FECE8
- movs r3, 0x2E
- ldrsh r1, [r0, r3]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080DC314: .4byte gUnknown_83FECE8
- thumb_func_end sub_80DC2FC
-
- thumb_func_start sub_80DC318
-sub_80DC318: @ 80DC318
- push {lr}
- adds r3, r0, 0
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x36]
- subs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r0, 16
- cmp r0, 0
- bne _080DC342
- movs r0, 0x1
- strh r0, [r3, 0x2E]
-_080DC342:
- pop {r0}
- bx r0
- thumb_func_end sub_80DC318
-
- thumb_func_start sub_80DC348
-sub_80DC348: @ 80DC348
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- subs r2, 0x12
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- ldrh r2, [r4, 0x34]
- bl MapGridSetMetatileIdAt
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- ldr r2, _080DC3A0 @ =gObjectEvents
- ldr r0, _080DC3A4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x2
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC3A0: .4byte gObjectEvents
-_080DC3A4: .4byte gPlayerAvatar
- thumb_func_end sub_80DC348
-
- thumb_func_start sub_80DC3A8
-sub_80DC3A8: @ 80DC3A8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_8068EB4
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DC3C8
- adds r0, r4, 0
- movs r1, 0x7
- bl FieldEffectStop
-_080DC3C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC3A8
-
- thumb_func_start sub_80DC3D0
-sub_80DC3D0: @ 80DC3D0
- push {r4,r5,lr}
- ldr r4, _080DC43C @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DC440 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x1C]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x96
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- cmp r0, 0x40
- beq _080DC42C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DC444 @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r4, 0x8]
- movs r2, 0
- strh r0, [r1, 0x32]
- strh r2, [r1, 0x34]
- ldr r0, _080DC448 @ =0x0000ffff
- strh r0, [r1, 0x3A]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x3C]
-_080DC42C:
- movs r0, 0x8
- bl FieldEffectActiveListRemove
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC43C: .4byte gFieldEffectArguments
-_080DC440: .4byte gFieldEffectObjectTemplatePointers
-_080DC444: .4byte gSprites
-_080DC448: .4byte 0x0000ffff
- thumb_func_end sub_80DC3D0
-
- thumb_func_start sub_80DC44C
-sub_80DC44C: @ 80DC44C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080DC474 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrh r0, [r2, 0x2E]
- movs r3, 0x10
- negs r3, r3
- ands r3, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 24
- orrs r0, r3
- strh r0, [r2, 0x2E]
- bx lr
- .align 2, 0
-_080DC474: .4byte gSprites
- thumb_func_end sub_80DC44C
-
- thumb_func_start sub_80DC478
-sub_80DC478: @ 80DC478
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080DC4A0 @ =gSprites
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrh r0, [r2, 0x2E]
- movs r3, 0xF1
- negs r3, r3
- ands r3, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 20
- orrs r3, r0
- strh r3, [r2, 0x2E]
- bx lr
- .align 2, 0
-_080DC4A0: .4byte gSprites
- thumb_func_end sub_80DC478
-
- thumb_func_start sub_80DC4A4
-sub_80DC4A4: @ 80DC4A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r4, _080DC4D0 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r4
- ldrh r0, [r3, 0x2E]
- ldr r4, _080DC4D4 @ =0xfffff0ff
- ands r4, r0
- movs r0, 0xF0
- lsls r0, 20
- ands r0, r1
- lsrs r0, 16
- orrs r4, r0
- strh r4, [r3, 0x2E]
- strh r2, [r3, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC4D0: .4byte gSprites
-_080DC4D4: .4byte 0xfffff0ff
- thumb_func_end sub_80DC4A4
-
- thumb_func_start sub_80DC4D8
-sub_80DC4D8: @ 80DC4D8
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF
- ands r0, r1
- bx lr
- thumb_func_end sub_80DC4D8
-
- thumb_func_start sub_80DC4E0
-sub_80DC4E0: @ 80DC4E0
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF0
- ands r0, r1
- lsrs r0, 4
- bx lr
- thumb_func_end sub_80DC4E0
-
- thumb_func_start sub_80DC4EC
-sub_80DC4EC: @ 80DC4EC
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF0
- lsls r0, 4
- ands r0, r1
- lsrs r0, 8
- bx lr
- thumb_func_end sub_80DC4EC
-
- thumb_func_start sub_80DC4F8
-sub_80DC4F8: @ 80DC4F8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080DC548 @ =gObjectEvents
- adds r4, r0
- ldrb r0, [r4, 0x4]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _080DC54C @ =gSprites
- adds r5, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80DC550
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80DC588
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80DC61C
- ldrb r0, [r5, 0x5]
- movs r1, 0xC
- ands r1, r0
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC548: .4byte gObjectEvents
-_080DC54C: .4byte gSprites
- thumb_func_end sub_80DC4F8
-
- thumb_func_start sub_80DC550
-sub_80DC550: @ 80DC550
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080DC584 @ =gUnknown_83FECF4
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- adds r0, r4, 0
- bl sub_80DC4E0
- lsls r0, 24
- cmp r0, 0
- bne _080DC57C
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- add r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl StartSpriteAnimIfDifferent
-_080DC57C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC584: .4byte gUnknown_83FECF4
- thumb_func_end sub_80DC550
-
- thumb_func_start sub_80DC588
-sub_80DC588: @ 80DC588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r1, 0
- ldrh r2, [r0, 0x10]
- mov r1, sp
- strh r2, [r1]
- ldrh r1, [r0, 0x12]
- mov r0, sp
- adds r0, 0x2
- strh r1, [r0]
- movs r2, 0x26
- ldrsh r3, [r4, r2]
- mov r8, r0
- cmp r3, 0
- bne _080DC610
- mov r0, sp
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0x3A
- ldrsh r0, [r4, r5]
- cmp r2, r0
- bne _080DC5C4
- lsls r0, r1, 16
- asrs r0, 16
- movs r5, 0x3C
- ldrsh r1, [r4, r5]
- cmp r0, r1
- beq _080DC610
-_080DC5C4:
- strh r3, [r4, 0x38]
- strh r2, [r4, 0x3A]
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- strh r0, [r4, 0x3C]
- movs r5, 0x1
- mov r7, r8
- mov r6, sp
-_080DC5D6:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl MoveCoords
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0
- ldrsh r1, [r7, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080DC5FC
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _080DC610
-_080DC5FC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r4, 0x3A]
- strh r0, [r6]
- ldrh r0, [r4, 0x3C]
- mov r1, r8
- strh r0, [r1]
- cmp r5, 0x4
- bls _080DC5D6
-_080DC610:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC588
-
- thumb_func_start sub_80DC61C
-sub_80DC61C: @ 80DC61C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r1, _080DC680 @ =gUnknown_83FECFA
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- adds r0, r4, 0
- bl sub_80DC4D8
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- cmp r2, 0
- beq _080DC6A6
- ldrh r1, [r4, 0x36]
- adds r1, 0x1
- strh r1, [r4, 0x36]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _080DC65C
- ldrh r0, [r4, 0x34]
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
-_080DC65C:
- ldrh r1, [r4, 0x36]
- movs r0, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _080DC66C
- ldrh r0, [r4, 0x34]
- negs r0, r0
- strh r0, [r4, 0x34]
-_080DC66C:
- cmp r2, 0x2
- beq _080DC6A6
- adds r0, r4, 0
- bl sub_80DC4EC
- lsls r0, 24
- cmp r0, 0
- bne _080DC684
- ldrh r0, [r4, 0x26]
- b _080DC68A
- .align 2, 0
-_080DC680: .4byte gUnknown_83FECFA
-_080DC684:
- ldrh r0, [r4, 0x26]
- ldrh r3, [r4, 0x30]
- adds r0, r3
-_080DC68A:
- strh r0, [r5, 0x26]
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DC69C
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
-_080DC69C:
- ldrh r0, [r5, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
-_080DC6A6:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC61C
-
- thumb_func_start sub_80DC6B0
-sub_80DC6B0: @ 80DC6B0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080DC6F4 @ =gDummySpriteTemplate
- movs r1, 0
- movs r2, 0
- movs r3, 0xFF
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r1, _080DC6F8 @ =gSprites
- adds r2, r1
- ldr r1, _080DC6FC @ =sub_80DC700
- str r1, [r2, 0x1C]
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r1, [r1]
- movs r3, 0x4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- strh r4, [r2, 0x2E]
- movs r1, 0x1
- strh r1, [r2, 0x30]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC6F4: .4byte gDummySpriteTemplate
-_080DC6F8: .4byte gSprites
-_080DC6FC: .4byte sub_80DC700
- thumb_func_end sub_80DC6B0
-
- thumb_func_start sub_80DC700
-sub_80DC700: @ 80DC700
- push {lr}
- adds r2, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DC73C @ =gSprites
- adds r3, r0, r1
- ldrh r1, [r2, 0x32]
- adds r0, r1, 0x1
- strh r0, [r2, 0x32]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080DC728
- ldrh r0, [r2, 0x30]
- ldrh r1, [r3, 0x26]
- adds r0, r1
- strh r0, [r3, 0x26]
-_080DC728:
- ldrh r1, [r2, 0x32]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _080DC738
- ldrh r0, [r2, 0x30]
- negs r0, r0
- strh r0, [r2, 0x30]
-_080DC738:
- pop {r0}
- bx r0
- .align 2, 0
-_080DC73C: .4byte gSprites
- thumb_func_end sub_80DC700
-
- thumb_func_start FldEff_Dust
-FldEff_Dust: @ 80DC740
- push {r4,lr}
- ldr r4, _080DC7A4 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0xC
- bl sub_8063BC4
- ldr r0, _080DC7A8 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x24]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC79C
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DC7AC @ =gSprites
- adds r2, r0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x3
- ldrb r1, [r4, 0xC]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r4, 0x8]
- strh r0, [r2, 0x2E]
- movs r0, 0xA
- strh r0, [r2, 0x30]
-_080DC79C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC7A4: .4byte gFieldEffectArguments
-_080DC7A8: .4byte gFieldEffectObjectTemplatePointers
-_080DC7AC: .4byte gSprites
- thumb_func_end FldEff_Dust
-
- thumb_func_start FldEff_SandPile
-FldEff_SandPile: @ 80DC7B0
- push {r4-r7,lr}
- ldr r7, _080DC85C @ =gFieldEffectArguments
- ldrb r0, [r7]
- ldrb r1, [r7, 0x4]
- ldrb r2, [r7, 0x8]
- bl GetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DC860 @ =gObjectEvents
- adds r6, r1, r0
- ldr r0, _080DC864 @ =gFieldEffectObjectTemplatePointers
- ldr r0, [r0, 0x74]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _080DC854
- ldrb r0, [r6, 0x5]
- bl GetObjectEventGraphicsInfo
- adds r5, r0, 0
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r4, _080DC868 @ =gSprites
- adds r0, r4
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x5]
- movs r2, 0xC
- ands r2, r1
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, [r7]
- strh r1, [r0, 0x2E]
- ldr r1, [r7, 0x4]
- strh r1, [r0, 0x30]
- ldr r1, [r7, 0x8]
- strh r1, [r0, 0x32]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x20]
- strh r1, [r0, 0x34]
- ldrb r2, [r6, 0x4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrh r1, [r1, 0x22]
- strh r1, [r0, 0x36]
- ldrh r1, [r5, 0xA]
- lsls r1, 16
- asrs r1, 17
- subs r1, 0x2
- strh r1, [r0, 0x26]
- movs r1, 0x2
- bl SeekSpriteAnim
-_080DC854:
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC85C: .4byte gFieldEffectArguments
-_080DC860: .4byte gObjectEvents
-_080DC864: .4byte gFieldEffectObjectTemplatePointers
-_080DC868: .4byte gSprites
- thumb_func_end FldEff_SandPile
-
- thumb_func_start sub_80DC86C
-sub_80DC86C: @ 80DC86C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080DC8A6
- ldr r2, _080DC8B0 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldrb r0, [r1, 0x2]
- lsls r0, 27
- cmp r0, 0
- blt _080DC8B4
-_080DC8A6:
- adds r0, r4, 0
- movs r1, 0x27
- bl FieldEffectStop
- b _080DC926
- .align 2, 0
-_080DC8B0: .4byte gObjectEvents
-_080DC8B4:
- ldr r2, _080DC930 @ =gSprites
- ldrb r1, [r1, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r5, [r0, 0x22]
- ldrh r6, [r0, 0x20]
- movs r2, 0x20
- ldrsh r1, [r0, r2]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080DC8DC
- lsls r0, r5, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _080DC8F6
-_080DC8DC:
- strh r6, [r4, 0x34]
- strh r5, [r4, 0x36]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DC8F6
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_080DC8F6:
- strh r6, [r4, 0x20]
- strh r5, [r4, 0x22]
- ldr r3, _080DC930 @ =gSprites
- ldr r2, _080DC934 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
-_080DC926:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC930: .4byte gSprites
-_080DC934: .4byte gObjectEvents
- thumb_func_end sub_80DC86C
-
- thumb_func_start FldEff_Bubbles
-FldEff_Bubbles: @ 80DC938
- push {r4,lr}
- ldr r4, _080DC990 @ =gFieldEffectArguments
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0
- bl sub_8063BC4
- ldr r0, _080DC994 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x88
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DC988
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080DC998 @ =gSprites
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r3]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080DC988:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DC990: .4byte gFieldEffectArguments
-_080DC994: .4byte gFieldEffectObjectTemplatePointers
-_080DC998: .4byte gSprites
- thumb_func_end FldEff_Bubbles
-
- thumb_func_start sub_80DC99C
-sub_80DC99C: @ 80DC99C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x22]
- subs r1, r0
- strh r1, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
- ldrh r1, [r4, 0x3E]
- ldr r0, _080DC9D8 @ =0x00001004
- ands r0, r1
- cmp r0, 0
- beq _080DC9D0
- adds r0, r4, 0
- movs r1, 0x35
- bl FieldEffectStop
-_080DC9D0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC9D8: .4byte 0x00001004
- thumb_func_end sub_80DC99C
-
- thumb_func_start sub_80DC9DC
-sub_80DC9DC: @ 80DC9DC
- movs r0, 0
- bx lr
- thumb_func_end sub_80DC9DC
-
- thumb_func_start ShowTreeDisguiseFieldEffect
-ShowTreeDisguiseFieldEffect: @ 80DC9E0
- push {lr}
- movs r0, 0x1C
- movs r1, 0x18
- movs r2, 0x4
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end ShowTreeDisguiseFieldEffect
-
- thumb_func_start ShowMountainDisguiseFieldEffect
-ShowMountainDisguiseFieldEffect: @ 80DC9F0
- push {lr}
- movs r0, 0x1D
- movs r1, 0x19
- movs r2, 0x3
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end ShowMountainDisguiseFieldEffect
-
- thumb_func_start ShowSandDisguiseFieldEffect
-ShowSandDisguiseFieldEffect: @ 80DCA00
- push {lr}
- movs r0, 0x24
- movs r1, 0x1C
- movs r2, 0x2
- bl ShowDisguiseFieldEffect
- pop {r1}
- bx r1
- thumb_func_end ShowSandDisguiseFieldEffect
-
- thumb_func_start ShowDisguiseFieldEffect
-ShowDisguiseFieldEffect: @ 80DCA10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r5, _080DCA44 @ =gFieldEffectArguments
- ldrb r0, [r5]
- ldrb r1, [r5, 0x4]
- ldrb r2, [r5, 0x8]
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080DCA48
- adds r0, r4, 0
- bl FieldEffectActiveListRemove
- movs r0, 0x40
- b _080DCAB4
- .align 2, 0
-_080DCA44: .4byte gFieldEffectArguments
-_080DCA48:
- ldr r1, _080DCAC0 @ =gFieldEffectObjectTemplatePointers
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSpriteAtEnd
- mov r1, sp
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080DCAB0
- mov r0, sp
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080DCAC4 @ =gSprites
- adds r2, r0
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r3, [r0]
- lsls r1, r3, 30
- lsrs r1, 31
- adds r1, 0x1
- movs r0, 0x1
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- lsls r3, r7, 4
- ldrb r1, [r2, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x5]
- mov r0, r8
- strh r0, [r2, 0x30]
- ldr r0, [r5]
- strh r0, [r2, 0x32]
- ldr r0, [r5, 0x4]
- strh r0, [r2, 0x34]
- ldr r0, [r5, 0x8]
- strh r0, [r2, 0x36]
-_080DCAB0:
- mov r0, sp
- ldrb r0, [r0]
-_080DCAB4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080DCAC0: .4byte gFieldEffectObjectTemplatePointers
-_080DCAC4: .4byte gSprites
- thumb_func_end ShowDisguiseFieldEffect
-
- thumb_func_start sub_80DCAC8
-sub_80DCAC8: @ 80DCAC8
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x34]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r5, 0x36]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080DCAF8
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldEffectStop
-_080DCAF8:
- ldr r4, _080DCBB0 @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- bl GetObjectEventGraphicsInfo
- mov r1, sp
- ldrb r2, [r1]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r1, _080DCBB4 @ =gSprites
- adds r2, r1
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r1, [r1]
- movs r3, 0x3E
- adds r3, r5
- mov r12, r3
- movs r3, 0x4
- ands r3, r1
- mov r1, r12
- ldrb r4, [r1]
- movs r1, 0x5
- negs r1, r1
- ands r1, r4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- ldrh r1, [r2, 0x20]
- strh r1, [r5, 0x20]
- ldrh r0, [r0, 0xA]
- lsls r0, 16
- asrs r0, 17
- ldrh r1, [r2, 0x22]
- adds r0, r1
- subs r0, 0x10
- strh r0, [r5, 0x22]
- adds r2, 0x43
- ldrb r0, [r2]
- subs r0, 0x1
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- bne _080DCB78
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080DCB78:
- movs r3, 0x2E
- ldrsh r0, [r5, r3]
- ldrh r2, [r5, 0x2E]
- cmp r0, 0x2
- bne _080DCB94
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DCB94
- movs r0, 0x1
- strh r0, [r5, 0x3C]
-_080DCB94:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080DCBA8
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldEffectStop
-_080DCBA8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCBB0: .4byte gObjectEvents
-_080DCBB4: .4byte gSprites
- thumb_func_end sub_80DCAC8
-
- thumb_func_start sub_80DCBB8
-sub_80DCBB8: @ 80DCBB8
- push {lr}
- adds r1, r0, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080DCBD6
- ldr r2, _080DCBDC @ =gSprites
- ldrb r1, [r1, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- strh r1, [r0, 0x2E]
-_080DCBD6:
- pop {r0}
- bx r0
- .align 2, 0
-_080DCBDC: .4byte gSprites
- thumb_func_end sub_80DCBB8
-
- thumb_func_start sub_80DCBE0
-sub_80DCBE0: @ 80DCBE0
- push {lr}
- adds r2, r0, 0
- adds r2, 0x21
- ldrb r1, [r2]
- cmp r1, 0x2
- beq _080DCC16
- cmp r1, 0
- beq _080DCC16
- ldrb r1, [r0, 0x1A]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DCC08 @ =gSprites
- adds r1, r0, r1
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080DCC0C
- movs r0, 0
- b _080DCC18
- .align 2, 0
-_080DCC08: .4byte gSprites
-_080DCC0C:
- movs r0, 0x2
- strb r0, [r2]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
-_080DCC16:
- movs r0, 0x1
-_080DCC18:
- pop {r1}
- bx r1
- thumb_func_end sub_80DCBE0
-
- thumb_func_start FldEff_Sparkle
-FldEff_Sparkle: @ 80DCC1C
- push {r4,lr}
- ldr r4, _080DCC84 @ =gFieldEffectArguments
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- str r0, [r4, 0x4]
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0x8
- movs r3, 0x8
- bl sub_8063BC4
- ldr r0, _080DCC88 @ =gFieldEffectObjectTemplatePointers
- adds r0, 0x8C
- ldr r0, [r0]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x4
- ldrsh r2, [r4, r3]
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080DCC7C
- ldr r0, _080DCC8C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- movs r0, 0x3
- ldrb r2, [r4, 0x8]
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1]
-_080DCC7C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080DCC84: .4byte gFieldEffectArguments
-_080DCC88: .4byte gFieldEffectObjectTemplatePointers
-_080DCC8C: .4byte gSprites
- thumb_func_end FldEff_Sparkle
-
- thumb_func_start sub_80DCC90
-sub_80DCC90: @ 80DCC90
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080DCCC4
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DCCBC
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_080DCCBC:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080DCCDA
-_080DCCC4:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x22
- ble _080DCCDA
- adds r0, r2, 0
- movs r1, 0x36
- bl FieldEffectStop
-_080DCCDA:
- pop {r0}
- bx r0
- thumb_func_end sub_80DCC90
-
- thumb_func_start sub_80DCCE0
-sub_80DCCE0: @ 80DCCE0
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DCCFE
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _080DCD14
-_080DCCFE:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8068EB4
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- movs r2, 0
- bl SetObjectSubpriorityByZCoord
-_080DCD14:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DCCE0
-
- thumb_func_start sub_80DCD1C
-sub_80DCD1C: @ 80DCD1C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DCD3A
- ldrh r1, [r2, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl FieldEffectStop
- b _080DCD42
-_080DCD3A:
- adds r0, r2, 0
- movs r1, 0
- bl sub_8068EB4
-_080DCD42:
- pop {r0}
- bx r0
- thumb_func_end sub_80DCD1C
-
- thumb_func_start sub_80DCD48
-sub_80DCD48: @ 80DCD48
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r1, r6, 0
- bl SetObjectSubpriorityByZCoord
- movs r7, 0
-_080DCD5E:
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 2
- ldr r1, _080DCDF8 @ =gObjectEvents
- adds r4, r0, r1
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- beq _080DCE00
- ldrb r0, [r4, 0x5]
- bl GetObjectEventGraphicsInfo
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DCDFC @ =gSprites
- adds r5, r0, r1
- adds r0, r6, 0
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldrh r0, [r6, 0x20]
- adds r1, r0, r2
- subs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x20
- ldrsh r2, [r5, r0]
- cmp r1, r2
- bge _080DCE00
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r2
- ble _080DCE00
- adds r0, r5, 0
- adds r0, 0x29
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r2, [r5, 0x22]
- adds r2, r3
- ldrh r4, [r5, 0x22]
- adds r0, r6, 0
- adds r0, 0x29
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrh r0, [r6, 0x22]
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- adds r3, r0, r3
- lsls r2, 16
- asrs r2, 16
- lsls r3, 16
- asrs r3, 16
- cmp r2, r3
- blt _080DCDD8
- cmp r2, r0
- bge _080DCE00
-_080DCDD8:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, r3
- ble _080DCE00
- adds r2, r6, 0
- adds r2, 0x43
- adds r0, r5, 0
- adds r0, 0x43
- ldrb r1, [r0]
- ldrb r0, [r2]
- cmp r0, r1
- bhi _080DCE00
- adds r0, r1, 0x2
- strb r0, [r2]
- b _080DCE0A
- .align 2, 0
-_080DCDF8: .4byte gObjectEvents
-_080DCDFC: .4byte gSprites
-_080DCE00:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080DCD5E
-_080DCE0A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DCD48
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s
deleted file mode 100644
index b9f0c842d..000000000
--- a/asm/field_ground_effect.s
+++ /dev/null
@@ -1,1894 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start GetAllGroundEffectFlags_OnSpawn
-GetAllGroundEffectFlags_OnSpawn: @ 8067B34
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnSpawn
-
- thumb_func_start GetAllGroundEffectFlags_OnBeginStep
-GetAllGroundEffectFlags_OnBeginStep: @ 8067B7C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Reflection
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_TallGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_LongGrassOnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Tracks
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnBeginStep
-
- thumb_func_start GetAllGroundEffectFlags_OnFinishStep
-GetAllGroundEffectFlags_OnFinishStep: @ 8067BD4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl ObjectEventUpdateMetatileBehaviors
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShallowFlowingWater
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_SandHeap
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Puddle
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Ripple
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_ShortGrass
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_HotSprings
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_Seaweed
- adds r0, r4, 0
- adds r1, r5, 0
- bl GetGroundEffectFlags_JumpLanding
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetAllGroundEffectFlags_OnFinishStep
-
- thumb_func_start ObjectEventUpdateMetatileBehaviors
-ObjectEventUpdateMetatileBehaviors: @ 8067C24
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1F]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- strb r0, [r4, 0x1E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ObjectEventUpdateMetatileBehaviors
-
- thumb_func_start GetGroundEffectFlags_Reflection
-GetGroundEffectFlags_Reflection: @ 8067C4C
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _08067C90 @ =gUnknown_83A7024
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl sub_8067F88
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08067C94
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 30
- cmp r0, 0
- blt _08067C9E
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x2]
- subs r0, r2, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r5]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r5]
- b _08067C9E
- .align 2, 0
-_08067C90: .4byte gUnknown_83A7024
-_08067C94:
- ldrb r1, [r4, 0x2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067C9E:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Reflection
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn
-GetGroundEffectFlags_TallGrassOnSpawn: @ 8067CA8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _08067CC0
- ldr r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [r4]
-_08067CC0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep
-GetGroundEffectFlags_TallGrassOnBeginStep: @ 8067CC8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsTallGrass_2
- lsls r0, 24
- cmp r0, 0
- beq _08067CE0
- ldr r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [r4]
-_08067CE0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn
-GetGroundEffectFlags_LongGrassOnSpawn: @ 8067CE8
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08067D00
- ldr r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [r4]
-_08067D00:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn
-
- thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep
-GetGroundEffectFlags_LongGrassOnBeginStep: @ 8067D08
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _08067D20
- ldr r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [r4]
-_08067D20:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep
-
- thumb_func_start GetGroundEffectFlags_Tracks
-GetGroundEffectFlags_Tracks: @ 8067D28
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067D42
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 1
- b _08067D5E
-_08067D42:
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsMB21OrSand
- lsls r0, 24
- cmp r0, 0
- bne _08067D5A
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_5
- lsls r0, 24
- cmp r0, 0
- beq _08067D62
-_08067D5A:
- ldr r0, [r5]
- movs r1, 0x80
-_08067D5E:
- orrs r0, r1
- str r0, [r5]
-_08067D62:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Tracks
-
- thumb_func_start GetGroundEffectFlags_SandHeap
-GetGroundEffectFlags_SandHeap: @ 8067D68
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067DA6
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse
- lsls r0, 24
- cmp r0, 0
- beq _08067DA6
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 27
- cmp r0, 0
- blt _08067DB0
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 4
- orrs r0, r1
- str r0, [r5]
- b _08067DB0
-_08067DA6:
- ldrb r1, [r4, 0x2]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067DB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_SandHeap
-
- thumb_func_start GetGroundEffectFlags_ShallowFlowingWater
-GetGroundEffectFlags_ShallowFlowingWater: @ 8067DB8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsWaterfallBottom
- lsls r0, 24
- cmp r0, 0
- beq _08067DD6
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsWaterfallBottom
- lsls r0, 24
- cmp r0, 0
- bne _08067DEE
-_08067DD6:
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse_10
- lsls r0, 24
- cmp r0, 0
- beq _08067E0C
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_10
- lsls r0, 24
- cmp r0, 0
- beq _08067E0C
-_08067DEE:
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 28
- cmp r0, 0
- blt _08067E16
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x40
- orrs r0, r1
- str r0, [r5]
- b _08067E16
-_08067E0C:
- ldrb r1, [r4, 0x2]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067E16:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShallowFlowingWater
-
- thumb_func_start GetGroundEffectFlags_Puddle
-GetGroundEffectFlags_Puddle: @ 8067E1C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08067E44
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08067E44
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r5]
-_08067E44:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Puddle
-
- thumb_func_start GetGroundEffectFlags_Ripple
-GetGroundEffectFlags_Ripple: @ 8067E4C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsPondWaterOrPuddle
- lsls r0, 24
- cmp r0, 0
- beq _08067E66
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- str r0, [r4]
-_08067E66:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Ripple
-
- thumb_func_start GetGroundEffectFlags_ShortGrass
-GetGroundEffectFlags_ShortGrass: @ 8067E6C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_ReturnFalse_8
- lsls r0, 24
- cmp r0, 0
- beq _08067EAA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_ReturnFalse_8
- lsls r0, 24
- cmp r0, 0
- beq _08067EAA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 29
- cmp r0, 0
- blt _08067EB4
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [r5]
- b _08067EB4
-_08067EAA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067EB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_ShortGrass
-
- thumb_func_start GetGroundEffectFlags_HotSprings
-GetGroundEffectFlags_HotSprings: @ 8067EBC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x1E]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _08067EFA
- ldrb r0, [r4, 0x1F]
- bl MetatileBehavior_IsHotSprings
- lsls r0, 24
- cmp r0, 0
- beq _08067EFA
- ldrb r1, [r4, 0x2]
- lsls r0, r1, 26
- cmp r0, 0
- blt _08067F04
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x2]
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r5]
- b _08067F04
-_08067EFA:
- ldrb r1, [r4, 0x2]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x2]
-_08067F04:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_HotSprings
-
- thumb_func_start GetGroundEffectFlags_Seaweed
-GetGroundEffectFlags_Seaweed: @ 8067F0C
- push {r4,lr}
- adds r4, r1, 0
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsMB22
- lsls r0, 24
- cmp r0, 0
- beq _08067F26
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 12
- orrs r0, r1
- str r0, [r4]
-_08067F26:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_Seaweed
-
- thumb_func_start GetGroundEffectFlags_JumpLanding
-GetGroundEffectFlags_JumpLanding: @ 8067F2C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, [r7]
- ldr r1, _08067F68 @ =0x02000020
- ands r0, r1
- cmp r0, 0x20
- bne _08067F7E
- movs r5, 0
- ldr r0, _08067F6C @ =gUnknown_83A702C
- mov r8, r0
-_08067F46:
- lsls r4, r5, 2
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r7, 0x1E]
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _08067F74
- ldr r0, _08067F70 @ =gUnknown_83A7044
- adds r0, r4, r0
- ldr r1, [r6]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r6]
- b _08067F7E
- .align 2, 0
-_08067F68: .4byte 0x02000020
-_08067F6C: .4byte gUnknown_83A702C
-_08067F70: .4byte gUnknown_83A7044
-_08067F74:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08067F46
-_08067F7E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GetGroundEffectFlags_JumpLanding
-
- thumb_func_start sub_8067F88
-sub_8067F88: @ 8067F88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- ldrb r0, [r5, 0x5]
- bl GetObjectEventGraphicsInfo
- movs r4, 0
- movs r0, 0x1
- mov r10, r0
-_08067FA0:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- ldrh r1, [r5, 0x12]
- add r1, r10
- lsls r4, 16
- asrs r6, r4, 16
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- mov r9, r4
- cmp r0, 0
- bne _080680BA
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- ldrh r1, [r5, 0x16]
- add r1, r10
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- movs r2, 0x1
- lsls r0, r2, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r2, r1
- bge _080680A8
- movs r0, 0x80
- lsls r0, 9
- asrs r7, r0, 16
-_08067FFC:
- ldrh r0, [r5, 0x10]
- lsls r1, r2, 16
- asrs r4, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x12]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x12]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x14]
- adds r0, r4, r0
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x16]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- ldrh r0, [r5, 0x14]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r5, 0x16]
- adds r1, r7, r1
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl GetReflectionTypeByMetatileBehavior
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080680BA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- mov r3, r8
- asrs r1, r3, 16
- cmp r0, r1
- blt _08067FFC
-_080680A8:
- movs r0, 0x80
- lsls r0, 9
- add r0, r9
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bge _080680B8
- b _08067FA0
-_080680B8:
- movs r0, 0
-_080680BA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8067F88
-
- thumb_func_start GetReflectionTypeByMetatileBehavior
-GetReflectionTypeByMetatileBehavior: @ 80680C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsIce
- lsls r0, 24
- cmp r0, 0
- beq _080680DE
- movs r0, 0x1
- b _080680F0
-_080680DE:
- adds r0, r4, 0
- bl MetatileBehavior_IsReflective
- lsls r0, 24
- cmp r0, 0
- bne _080680EE
- movs r0, 0
- b _080680F0
-_080680EE:
- movs r0, 0x2
-_080680F0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetReflectionTypeByMetatileBehavior
-
- thumb_func_start GetLedgeJumpDirection
-GetLedgeJumpDirection: @ 80680F8
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r4, r2, 24
- cmp r4, 0
- beq _0806813E
- cmp r4, 0x4
- bls _08068114
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
-_08068114:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08068144 @ =gUnknown_83A705C
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08068148
-_0806813E:
- movs r0, 0
- b _0806814E
- .align 2, 0
-_08068144: .4byte gUnknown_83A705C
-_08068148:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0806814E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetLedgeJumpDirection
-
- thumb_func_start ObjectEventSetSpriteOamTableForLongGrass
-ObjectEventSetSpriteOamTableForLongGrass: @ 8068154
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r0, [r5]
- lsls r0, 27
- cmp r0, 0
- blt _080681A8
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080681A8
- ldrb r0, [r5, 0x1F]
- bl MetatileBehavior_IsLongGrass
- lsls r0, 24
- cmp r0, 0
- beq _080681A8
- adds r4, 0x42
- ldrb r1, [r4]
- movs r6, 0x40
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- bl ZCoordToPriority
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080681A8
- ldrb r0, [r4]
- adds r1, r6, 0
- ands r1, r0
- movs r0, 0x5
- orrs r1, r0
- strb r1, [r4]
-_080681A8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ObjectEventSetSpriteOamTableForLongGrass
-
- thumb_func_start IsZCoordMismatchAt
-IsZCoordMismatchAt: @ 80681B0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r1, r2, 16
- cmp r4, 0
- beq _080681DE
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080681DE
- cmp r0, 0xF
- beq _080681DE
- cmp r0, r4
- bne _080681E2
-_080681DE:
- movs r0, 0
- b _080681E4
-_080681E2:
- movs r0, 0x1
-_080681E4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsZCoordMismatchAt
-
- thumb_func_start ObjectEventUpdateZCoordAndPriority
-ObjectEventUpdateZCoordAndPriority: @ 80681EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _0806823A
- adds r0, r4, 0
- bl ObjectEventUpdateZCoord
- ldr r1, _08068240 @ =gUnknown_83A708C
- ldrb r2, [r4, 0xB]
- lsls r2, 24
- lsrs r0, r2, 28
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r5, 0
- adds r4, 0x42
- movs r1, 0x3F
- ands r1, r0
- ldrb r3, [r4]
- movs r0, 0x40
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r4]
- ldr r0, _08068244 @ =gUnknown_83A707C
- lsrs r2, 28
- adds r2, r0
- movs r0, 0x3
- ldrb r1, [r2]
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_0806823A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068240: .4byte gUnknown_83A708C
-_08068244: .4byte gUnknown_83A707C
- thumb_func_end ObjectEventUpdateZCoordAndPriority
-
- thumb_func_start InitObjectPriorityByZCoord
-InitObjectPriorityByZCoord: @ 8068248
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0806828C @ =gUnknown_83A708C
- adds r2, r1, r2
- ldrb r2, [r2]
- movs r3, 0x42
- adds r3, r0
- mov r12, r3
- movs r3, 0x3F
- ands r3, r2
- mov r2, r12
- ldrb r4, [r2]
- movs r2, 0x40
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- ldr r2, _08068290 @ =gUnknown_83A707C
- adds r1, r2
- movs r3, 0x3
- ldrb r2, [r1]
- ands r2, r3
- lsls r2, 2
- ldrb r3, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806828C: .4byte gUnknown_83A708C
-_08068290: .4byte gUnknown_83A707C
- thumb_func_end InitObjectPriorityByZCoord
-
- thumb_func_start ZCoordToPriority
-ZCoordToPriority: @ 8068294
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080682A0 @ =gUnknown_83A707C
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080682A0: .4byte gUnknown_83A707C
- thumb_func_end ZCoordToPriority
-
- thumb_func_start ObjectEventUpdateZCoord
-ObjectEventUpdateZCoord: @ 80682A4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- cmp r5, 0xF
- beq _080682F2
- cmp r0, 0xF
- beq _080682F2
- movs r3, 0xF
- adds r0, r5, 0
- ands r0, r3
- ldrb r1, [r4, 0xB]
- movs r2, 0x10
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0xB]
- cmp r5, 0
- beq _080682F2
- cmp r5, 0xF
- beq _080682F2
- lsls r0, r5, 4
- ands r2, r3
- orrs r2, r0
- strb r2, [r4, 0xB]
-_080682F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ObjectEventUpdateZCoord
-
- thumb_func_start SetObjectSubpriorityByZCoord
-SetObjectSubpriorityByZCoord: @ 80682F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0
- adds r3, 0x29
- movs r5, 0
- ldrsb r5, [r3, r5]
- ldrh r4, [r1, 0x22]
- ldr r3, _08068338 @ =gSpriteCoordOffsetY
- subs r4, r5
- ldrh r3, [r3]
- adds r4, r3
- adds r4, 0x8
- movs r3, 0xFF
- ands r4, r3
- lsrs r4, 4
- movs r3, 0x10
- subs r3, r4
- lsls r3, 17
- ldr r4, _0806833C @ =gUnknown_83A706C
- adds r0, r4
- lsrs r3, 16
- ldrb r0, [r0]
- adds r3, r0
- adds r2, r3
- adds r1, 0x43
- strb r2, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068338: .4byte gSpriteCoordOffsetY
-_0806833C: .4byte gUnknown_83A706C
- thumb_func_end SetObjectSubpriorityByZCoord
-
- thumb_func_start ObjectEventUpdateSubpriority
-ObjectEventUpdateSubpriority: @ 8068340
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x3]
- lsls r0, 29
- cmp r0, 0
- blt _08068356
- ldrb r0, [r2, 0xB]
- lsrs r0, 4
- movs r2, 0x1
- bl SetObjectSubpriorityByZCoord
-_08068356:
- pop {r0}
- bx r0
- thumb_func_end ObjectEventUpdateSubpriority
-
- thumb_func_start AreZCoordsCompatible
-AreZCoordsCompatible: @ 806835C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0
- beq _08068372
- cmp r1, 0
- beq _08068372
- cmp r0, r1
- bne _08068376
-_08068372:
- movs r0, 0x1
- b _08068378
-_08068376:
- movs r0, 0
-_08068378:
- pop {r1}
- bx r1
- thumb_func_end AreZCoordsCompatible
-
- thumb_func_start GroundEffect_SpawnOnTallGrass
-GroundEffect_SpawnOnTallGrass: @ 806837C
- push {lr}
- ldr r3, _080683C0 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _080683C4 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_080683C0: .4byte gFieldEffectArguments
-_080683C4: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_SpawnOnTallGrass
-
- thumb_func_start GroundEffect_StepOnTallGrass
-GroundEffect_StepOnTallGrass: @ 80683C8
- push {lr}
- ldr r3, _0806840C @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _08068410 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x4
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_0806840C: .4byte gFieldEffectArguments
-_08068410: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_StepOnTallGrass
-
- thumb_func_start GroundEffect_SpawnOnLongGrass
-GroundEffect_SpawnOnLongGrass: @ 8068414
- push {lr}
- ldr r3, _08068458 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _0806845C @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0x1
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068458: .4byte gFieldEffectArguments
-_0806845C: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_SpawnOnLongGrass
-
- thumb_func_start GroundEffect_StepOnLongGrass
-GroundEffect_StepOnLongGrass: @ 8068460
- push {lr}
- ldr r3, _080684A4 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- str r1, [r3]
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0xB]
- lsrs r1, 4
- str r1, [r3, 0x8]
- movs r1, 0x2
- str r1, [r3, 0xC]
- ldrb r1, [r0, 0x8]
- lsls r1, 8
- ldrb r2, [r0, 0x9]
- orrs r1, r2
- str r1, [r3, 0x10]
- ldrb r0, [r0, 0xA]
- str r0, [r3, 0x14]
- ldr r0, _080684A8 @ =gSaveBlock1Ptr
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- lsls r0, 8
- ldrb r1, [r1, 0x4]
- orrs r0, r1
- str r0, [r3, 0x18]
- movs r0, 0
- str r0, [r3, 0x1C]
- movs r0, 0x11
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_080684A4: .4byte gFieldEffectArguments
-_080684A8: .4byte gSaveBlock1Ptr
- thumb_func_end GroundEffect_StepOnLongGrass
-
- thumb_func_start GroundEffect_WaterReflection
-GroundEffect_WaterReflection: @ 80684AC
- push {lr}
- movs r2, 0
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_WaterReflection
-
- thumb_func_start GroundEffect_IceReflection
-GroundEffect_IceReflection: @ 80684B8
- push {lr}
- movs r2, 0x1
- bl SetUpReflection
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_IceReflection
-
- thumb_func_start GroundEffect_FlowingWater
-GroundEffect_FlowingWater: @ 80684C4
- push {lr}
- adds r1, r0, 0
- movs r0, 0x22
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_FlowingWater
-
- thumb_func_start GroundEffect_SandTracks
-GroundEffect_SandTracks: @ 80684D4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetObjectEventGraphicsInfo
- ldr r1, _080684FC @ =gUnknown_83A709C
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080684FC: .4byte gUnknown_83A709C
- thumb_func_end GroundEffect_SandTracks
-
- thumb_func_start GroundEffect_DeepSandTracks
-GroundEffect_DeepSandTracks: @ 8068500
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4, 0x5]
- bl GetObjectEventGraphicsInfo
- ldr r1, _08068528 @ =gUnknown_83A709C
- ldrb r0, [r0, 0xD]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl _call_via_r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068528: .4byte gUnknown_83A709C
- thumb_func_end GroundEffect_DeepSandTracks
-
- thumb_func_start nullsub_26
-nullsub_26: @ 806852C
- bx lr
- thumb_func_end nullsub_26
-
- thumb_func_start DoTracksGroundEffect_Footprints
-DoTracksGroundEffect_Footprints: @ 8068530
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, _08068578 @ =gUnknown_83A70A8
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- ldr r1, _0806857C @ =gFieldEffectArguments
- movs r2, 0x14
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- str r0, [r1, 0x4]
- movs r0, 0x95
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x18]
- lsls r0, 28
- lsrs r0, 28
- str r0, [r1, 0x10]
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl FieldEffectStart
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068578: .4byte gUnknown_83A70A8
-_0806857C: .4byte gFieldEffectArguments
- thumb_func_end DoTracksGroundEffect_Footprints
-
- thumb_func_start DoTracksGroundEffect_BikeTireTracks
-DoTracksGroundEffect_BikeTireTracks: @ 8068580
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _080685C2
- ldr r2, _080685C8 @ =gFieldEffectArguments
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- movs r0, 0x95
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- ldr r3, _080685CC @ =gUnknown_83A70AC
- ldrb r1, [r4, 0x18]
- lsls r1, 28
- lsrs r1, 28
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- subs r0, 0x5
- adds r1, r0
- adds r1, r3
- ldrb r0, [r1]
- str r0, [r2, 0x10]
- movs r0, 0x23
- bl FieldEffectStart
-_080685C2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080685C8: .4byte gFieldEffectArguments
-_080685CC: .4byte gUnknown_83A70AC
- thumb_func_end DoTracksGroundEffect_BikeTireTracks
-
- thumb_func_start GroundEffect_Ripple
-GroundEffect_Ripple: @ 80685D0
- push {lr}
- bl DoRippleFieldEffect
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_Ripple
-
- thumb_func_start GroundEffect_StepOnPuddle
-GroundEffect_StepOnPuddle: @ 80685DC
- push {lr}
- adds r1, r0, 0
- movs r0, 0xF
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_StepOnPuddle
-
- thumb_func_start GroundEffect_SandHeap
-GroundEffect_SandHeap: @ 80685EC
- push {lr}
- adds r1, r0, 0
- movs r0, 0x27
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_SandHeap
-
- thumb_func_start GroundEffect_JumpOnTallGrass
-GroundEffect_JumpOnTallGrass: @ 80685FC
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, _08068650 @ =gFieldEffectArguments
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r1]
- movs r4, 0x12
- ldrsh r0, [r5, r4]
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0xB]
- lsrs r0, 4
- str r0, [r1, 0x8]
- movs r0, 0x2
- str r0, [r1, 0xC]
- movs r0, 0xC
- bl FieldEffectStart
- ldrb r0, [r5, 0x8]
- ldrb r1, [r5, 0x9]
- ldrb r2, [r5, 0xA]
- movs r7, 0x10
- ldrsh r3, [r5, r7]
- movs r7, 0x12
- ldrsh r4, [r5, r7]
- str r4, [sp]
- bl sub_80DB564
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- bne _08068646
- adds r0, r5, 0
- adds r1, r6, 0
- bl GroundEffect_SpawnOnTallGrass
-_08068646:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068650: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnTallGrass
-
- thumb_func_start GroundEffect_JumpOnLongGrass
-GroundEffect_JumpOnLongGrass: @ 8068654
- push {lr}
- ldr r2, _08068678 @ =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r3, 0x12
- ldrsh r1, [r0, r3]
- str r1, [r2, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x12
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068678: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnLongGrass
-
- thumb_func_start GroundEffect_JumpOnShallowWater
-GroundEffect_JumpOnShallowWater: @ 806867C
- push {r4,lr}
- ldr r3, _080686A8 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0x10
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080686A8: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnShallowWater
-
- thumb_func_start GroundEffect_JumpOnWater
-GroundEffect_JumpOnWater: @ 80686AC
- push {r4,lr}
- ldr r3, _080686D8 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xE
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080686D8: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpOnWater
-
- thumb_func_start GroundEffect_JumpLandingDust
-GroundEffect_JumpLandingDust: @ 80686DC
- push {r4,lr}
- ldr r3, _08068708 @ =gFieldEffectArguments
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- str r2, [r3]
- movs r4, 0x12
- ldrsh r2, [r0, r4]
- str r2, [r3, 0x4]
- ldrb r0, [r0, 0xB]
- lsrs r0, 4
- str r0, [r3, 0x8]
- ldrb r0, [r1, 0x5]
- lsls r0, 28
- lsrs r0, 30
- str r0, [r3, 0xC]
- movs r0, 0xA
- bl FieldEffectStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08068708: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_JumpLandingDust
-
- thumb_func_start GroundEffect_ShortGrass
-GroundEffect_ShortGrass: @ 806870C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x29
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_ShortGrass
-
- thumb_func_start GroundEffect_HotSprings
-GroundEffect_HotSprings: @ 806871C
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2A
- bl oe_exec_and_other_stuff
- pop {r0}
- bx r0
- thumb_func_end GroundEffect_HotSprings
-
- thumb_func_start GroundEffect_Seaweed
-GroundEffect_Seaweed: @ 806872C
- push {lr}
- ldr r2, _08068748 @ =gFieldEffectArguments
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- str r1, [r2]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- str r0, [r2, 0x4]
- movs r0, 0x35
- bl FieldEffectStart
- pop {r0}
- bx r0
- .align 2, 0
-_08068748: .4byte gFieldEffectArguments
- thumb_func_end GroundEffect_Seaweed
-
- thumb_func_start DoFlaggedGroundEffects
-DoFlaggedGroundEffects: @ 806874C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- ldrb r0, [r6, 0x8]
- cmp r0, 0x7F
- bne _08068766
- ldrb r0, [r6, 0x1]
- lsls r0, 26
- cmp r0, 0
- blt _0806878E
-_08068766:
- movs r4, 0
- ldr r0, _08068798 @ =gUnknown_83A70BC
- mov r8, r0
-_0806876C:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08068782
- lsls r0, r4, 2
- add r0, r8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl _call_via_r2
-_08068782:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsrs r5, 1
- cmp r4, 0x13
- bls _0806876C
-_0806878E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068798: .4byte gUnknown_83A70BC
- thumb_func_end DoFlaggedGroundEffects
-
- thumb_func_start filters_out_some_ground_effects
-filters_out_some_ground_effects: @ 806879C
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- lsls r0, 27
- cmp r0, 0
- bge _080687CA
- ldrb r1, [r2, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- adds r1, 0x8
- ands r0, r1
- subs r1, 0x18
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r0, [r3]
- ldr r1, _080687D0 @ =0xfff9f7bd
- ands r0, r1
- str r0, [r3]
-_080687CA:
- pop {r0}
- bx r0
- .align 2, 0
-_080687D0: .4byte 0xfff9f7bd
- thumb_func_end filters_out_some_ground_effects
-
- thumb_func_start FilterOutStepOnPuddleGroundEffectIfJumping
-FilterOutStepOnPuddleGroundEffectIfJumping: @ 80687D4
- push {lr}
- adds r2, r1, 0
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080687E8
- ldr r0, [r2]
- ldr r1, _080687EC @ =0xfffffbff
- ands r0, r1
- str r0, [r2]
-_080687E8:
- pop {r0}
- bx r0
- .align 2, 0
-_080687EC: .4byte 0xfffffbff
- thumb_func_end FilterOutStepOnPuddleGroundEffectIfJumping
-
- thumb_func_start DoGroundEffects_OnSpawn
-DoGroundEffects_OnSpawn: @ 80687F0
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08068834
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnSpawn
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08068834:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnSpawn
-
- thumb_func_start DoGroundEffects_OnBeginStep
-DoGroundEffects_OnBeginStep: @ 806883C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 29
- cmp r0, 0
- bge _08068888
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnBeginStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl filters_out_some_ground_effects
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_08068888:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnBeginStep
-
- thumb_func_start DoGroundEffects_OnFinishStep
-DoGroundEffects_OnFinishStep: @ 8068890
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r0, [r4]
- lsls r0, 28
- cmp r0, 0
- bge _080688DC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- bl ObjectEventUpdateZCoordAndPriority
- adds r0, r4, 0
- mov r1, sp
- bl GetAllGroundEffectFlags_OnFinishStep
- adds r0, r4, 0
- adds r1, r5, 0
- bl ObjectEventSetSpriteOamTableForLongGrass
- adds r0, r4, 0
- mov r1, sp
- bl FilterOutStepOnPuddleGroundEffectIfJumping
- ldr r2, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- bl DoFlaggedGroundEffects
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- strb r0, [r4]
-_080688DC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end DoGroundEffects_OnFinishStep
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_message_box.s b/asm/field_message_box.s
deleted file mode 100644
index b823956b7..000000000
--- a/asm/field_message_box.s
+++ /dev/null
@@ -1,306 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8069348
-sub_8069348: @ 8069348
- ldr r1, _08069368 @ =gUnknown_203709C
- movs r0, 0
- strb r0, [r1]
- ldr r2, _0806936C @ =gTextFlags
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- subs r1, 0x2
- ands r0, r1
- strb r0, [r2]
- bx lr
- .align 2, 0
-_08069368: .4byte gUnknown_203709C
-_0806936C: .4byte gTextFlags
- thumb_func_end sub_8069348
-
- thumb_func_start sub_8069370
-sub_8069370: @ 8069370
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08069394 @ =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080693DA
- cmp r0, 0x1
- bgt _08069398
- cmp r0, 0
- beq _0806939E
- b _08069402
- .align 2, 0
-_08069394: .4byte gTasks
-_08069398:
- cmp r0, 0x2
- beq _080693EA
- b _08069402
-_0806939E:
- ldr r0, _080693BC @ =gQuestLogState
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080693C4
- ldr r2, _080693C0 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x80
- lsls r1, 2
- movs r0, 0
- bl TextWindow_LoadTilesStdFrame1
- b _080693E2
- .align 2, 0
-_080693BC: .4byte gQuestLogState
-_080693C0: .4byte gTextFlags
-_080693C4:
- bl IsMsgSignPost
- lsls r0, 24
- cmp r0, 0
- bne _080693D4
- bl LoadStdWindowFrameGfx
- b _080693E2
-_080693D4:
- bl sub_80F79A4
- b _080693E2
-_080693DA:
- movs r0, 0
- movs r1, 0x1
- bl DrawDialogueFrame
-_080693E2:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _08069402
-_080693EA:
- bl RunTextPrinters_CheckPrinter0Active
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08069402
- ldr r1, _08069408 @ =gUnknown_203709C
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_08069402:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08069408: .4byte gUnknown_203709C
- thumb_func_end sub_8069370
-
- thumb_func_start task_add_textbox
-task_add_textbox: @ 806940C
- push {lr}
- ldr r0, _0806941C @ =sub_8069370
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0806941C: .4byte sub_8069370
- thumb_func_end task_add_textbox
-
- thumb_func_start task_del_textbox
-task_del_textbox: @ 8069420
- push {lr}
- ldr r0, _08069438 @ =sub_8069370
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08069434
- bl DestroyTask
-_08069434:
- pop {r0}
- bx r0
- .align 2, 0
-_08069438: .4byte sub_8069370
- thumb_func_end task_del_textbox
-
- thumb_func_start ShowFieldMessage
-ShowFieldMessage: @ 806943C
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, _08069458 @ =gUnknown_203709C
- ldrb r0, [r4]
- cmp r0, 0
- bne _0806945C
- adds r0, r1, 0
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x2
- strb r0, [r4]
- movs r0, 0x1
- b _0806945E
- .align 2, 0
-_08069458: .4byte gUnknown_203709C
-_0806945C:
- movs r0, 0
-_0806945E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ShowFieldMessage
-
- thumb_func_start ShowFieldAutoScrollMessage
-ShowFieldAutoScrollMessage: @ 8069464
- push {lr}
- adds r1, r0, 0
- ldr r2, _08069480 @ =gUnknown_203709C
- ldrb r0, [r2]
- cmp r0, 0
- bne _08069484
- movs r0, 0x3
- strb r0, [r2]
- adds r0, r1, 0
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x1
- b _08069486
- .align 2, 0
-_08069480: .4byte gUnknown_203709C
-_08069484:
- movs r0, 0
-_08069486:
- pop {r1}
- bx r1
- thumb_func_end ShowFieldAutoScrollMessage
-
- thumb_func_start sub_806948C
-sub_806948C: @ 806948C
- push {lr}
- ldr r2, _080694A0 @ =gUnknown_203709C
- movs r1, 0x3
- strb r1, [r2]
- bl textbox_fdecode_auto_and_task_add
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080694A0: .4byte gUnknown_203709C
- thumb_func_end sub_806948C
-
- thumb_func_start sub_80694A4
-sub_80694A4: @ 80694A4
- push {lr}
- ldr r1, _080694BC @ =gUnknown_203709C
- ldrb r0, [r1]
- cmp r0, 0
- bne _080694C0
- movs r0, 0x2
- strb r0, [r1]
- bl textbox_auto_and_task_add
- movs r0, 0x1
- b _080694C2
- .align 2, 0
-_080694BC: .4byte gUnknown_203709C
-_080694C0:
- movs r0, 0
-_080694C2:
- pop {r1}
- bx r1
- thumb_func_end sub_80694A4
-
- thumb_func_start textbox_fdecode_auto_and_task_add
-textbox_fdecode_auto_and_task_add: @ 80694C8
- push {lr}
- adds r1, r0, 0
- ldr r0, _080694E0 @ =gStringVar4
- bl StringExpandPlaceholders
- movs r0, 0x1
- bl AddTextPrinterDiffStyle
- bl task_add_textbox
- pop {r0}
- bx r0
- .align 2, 0
-_080694E0: .4byte gStringVar4
- thumb_func_end textbox_fdecode_auto_and_task_add
-
- thumb_func_start textbox_auto_and_task_add
-textbox_auto_and_task_add: @ 80694E4
- push {lr}
- movs r0, 0x1
- bl AddTextPrinterDiffStyle
- bl task_add_textbox
- pop {r0}
- bx r0
- thumb_func_end textbox_auto_and_task_add
-
- thumb_func_start HideFieldMessageBox
-HideFieldMessageBox: @ 80694F4
- push {lr}
- bl task_del_textbox
- movs r0, 0
- movs r1, 0x1
- bl ClearDialogWindowAndFrame
- ldr r1, _0806950C @ =gUnknown_203709C
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0806950C: .4byte gUnknown_203709C
- thumb_func_end HideFieldMessageBox
-
- thumb_func_start textbox_any_visible
-textbox_any_visible: @ 8069510
- ldr r0, _08069518 @ =gUnknown_203709C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08069518: .4byte gUnknown_203709C
- thumb_func_end textbox_any_visible
-
- thumb_func_start IsFieldMessageBoxHidden
-IsFieldMessageBoxHidden: @ 806951C
- push {lr}
- ldr r0, _0806952C @ =gUnknown_203709C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069530
- movs r0, 0
- b _08069532
- .align 2, 0
-_0806952C: .4byte gUnknown_203709C
-_08069530:
- movs r0, 0x1
-_08069532:
- pop {r1}
- bx r1
- thumb_func_end IsFieldMessageBoxHidden
-
- thumb_func_start sub_8069538
-sub_8069538: @ 8069538
- push {lr}
- bl task_del_textbox
- movs r0, 0
- movs r1, 0x1
- bl DrawStdWindowFrame
- ldr r1, _08069550 @ =gUnknown_203709C
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08069550: .4byte gUnknown_203709C
- thumb_func_end sub_8069538
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s
index 9fc806779..31123a703 100644
--- a/asm/field_player_avatar.s
+++ b/asm/field_player_avatar.s
@@ -2759,8 +2759,8 @@ GetPlayerAvatarGraphicsIdByStateIdAndGender: @ 805C7E0
_0805C7F4: .4byte gUnknown_835B874
thumb_func_end GetPlayerAvatarGraphicsIdByStateIdAndGender
- thumb_func_start sub_805C7F8
-sub_805C7F8: @ 805C7F8
+ thumb_func_start GetHoennLinkPartnerGraphicsIdByGender
+GetHoennLinkPartnerGraphicsIdByGender: @ 805C7F8
lsls r0, 24
lsrs r0, 24
ldr r1, _0805C804 @ =gUnknown_835B880
@@ -2769,10 +2769,10 @@ sub_805C7F8: @ 805C7F8
bx lr
.align 2, 0
_0805C804: .4byte gUnknown_835B880
- thumb_func_end sub_805C7F8
+ thumb_func_end GetHoennLinkPartnerGraphicsIdByGender
- thumb_func_start sub_805C808
-sub_805C808: @ 805C808
+ thumb_func_start GetPlayerAvatarGraphicsIdByStateId
+GetPlayerAvatarGraphicsIdByStateId: @ 805C808
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2785,7 +2785,7 @@ sub_805C808: @ 805C808
bx r1
.align 2, 0
_0805C820: .4byte gPlayerAvatar
- thumb_func_end sub_805C808
+ thumb_func_end GetPlayerAvatarGraphicsIdByStateId
thumb_func_start GetPlayerAvatarGenderByGraphicsId
GetPlayerAvatarGenderByGraphicsId: @ 805C824
@@ -2921,7 +2921,7 @@ IsPlayerFacingSurfableFishableWater: @ 805C8B0
ldrsh r0, [r0, r1]
movs r2, 0
ldrsh r1, [r5, r2]
- bl sub_805C938
+ bl MetatileAtCoordsIsWaterTile
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2940,24 +2940,24 @@ _0805C92E:
bx r1
thumb_func_end IsPlayerFacingSurfableFishableWater
- thumb_func_start sub_805C938
-sub_805C938: @ 805C938
+ thumb_func_start MetatileAtCoordsIsWaterTile
+MetatileAtCoordsIsWaterTile: @ 805C938
push {lr}
lsls r0, 16
asrs r0, 16
lsls r1, 16
asrs r1, 16
movs r2, 0x1
- bl sub_8058F48
+ bl MapGridGetMetatileAttributeAt
lsls r0, 24
lsrs r0, 24
movs r1, 0x2
- bl sub_805A2BC
+ bl TestMetatileAttributeBit
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
- thumb_func_end sub_805C938
+ thumb_func_end MetatileAtCoordsIsWaterTile
thumb_func_start ClearPlayerAvatarInfo
ClearPlayerAvatarInfo: @ 805C95C
@@ -3252,7 +3252,7 @@ sub_805CB70: @ 805CB70
ldr r0, _0805CBB0 @ =gObjectEvents
adds r4, r0
movs r0, 0x3
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -3285,7 +3285,7 @@ sub_805CBB8: @ 805CBB8
cmp r0, 0
bne _0805CBD8
movs r0, 0x5
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
lsls r0, 24
lsrs r0, 24
b _0805CBE0
@@ -3403,7 +3403,7 @@ _0805CC62:
movs r1, 0
ldrsh r3, [r7, r1]
adds r1, r6, 0
- bl sub_80DB134
+ bl ShowWarpArrowSprite
b _0805CCC2
.align 2, 0
_0805CCA4: .4byte gUnknown_835B890
@@ -3419,7 +3419,7 @@ _0805CCA8:
cmp r1, 0x3
ble _0805CC62
ldrb r0, [r5, 0x1B]
- bl objid_set_invisible
+ bl SetSpriteInvisible
_0805CCC2:
add sp, 0x4
pop {r3,r4}
@@ -4129,7 +4129,7 @@ sub_805D240: @ 805D240
cmp r0, 0
beq _0805D2AE
movs r0, 0
- bl sub_805C808
+ bl GetPlayerAvatarGraphicsIdByStateId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -4157,7 +4157,7 @@ sub_805D240: @ 805D240
bl DestroySprite
adds r0, r5, 0
bl DestroyTask
- bl sub_812B35C
+ bl SetHelpContextForMap
_0805D2AE:
pop {r4-r6}
pop {r0}
diff --git a/asm/field_weather.s b/asm/field_weather.s
index 7960543a6..c5204def2 100644
--- a/asm/field_weather.s
+++ b/asm/field_weather.s
@@ -1906,8 +1906,8 @@ _0807AA84: .4byte gUnknown_2037F34
_0807AA88: .4byte 0x000006c6
thumb_func_end IsWeatherNotFadingIn
- thumb_func_start sub_807AA8C
-sub_807AA8C: @ 807AA8C
+ thumb_func_start UpdateSpritePaletteWithWeather
+UpdateSpritePaletteWithWeather: @ 807AA8C
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 8
@@ -2017,7 +2017,7 @@ _0807AB68:
bx r0
.align 2, 0
_0807AB70: .4byte 0x000073fc
- thumb_func_end sub_807AA8C
+ thumb_func_end UpdateSpritePaletteWithWeather
thumb_func_start sub_807AB74
sub_807AB74: @ 807AB74
@@ -2078,7 +2078,7 @@ sub_807ABC0: @ 807ABC0
movs r2, 0x20
bl LoadPalette
ldrb r0, [r4]
- bl sub_807AA8C
+ bl UpdateSpritePaletteWithWeather
pop {r4}
pop {r0}
bx r0
@@ -2698,8 +2698,8 @@ _0807B07C: .4byte gUnknown_2037F34
_0807B080: .4byte 0x000006c6
thumb_func_end sub_807B070
- thumb_func_start sub_807B084
-sub_807B084: @ 807B084
+ thumb_func_start PreservePaletteInWeather
+PreservePaletteInWeather: @ 807B084
push {r4,r5,lr}
adds r4, r0, 0
lsls r4, 24
@@ -2721,10 +2721,10 @@ sub_807B084: @ 807B084
_0807B0A8: .4byte gUnknown_83C2CC0
_0807B0AC: .4byte gUnknown_2038684
_0807B0B0: .4byte gUnknown_20386A4
- thumb_func_end sub_807B084
+ thumb_func_end PreservePaletteInWeather
- thumb_func_start sub_807B0B4
-sub_807B0B4: @ 807B0B4
+ thumb_func_start ResetPreservedPalettesInWeather
+ResetPreservedPalettesInWeather: @ 807B0B4
ldr r1, _0807B0BC @ =gUnknown_20386A4
ldr r0, _0807B0C0 @ =gUnknown_83C2CC0
str r0, [r1]
@@ -2732,7 +2732,7 @@ sub_807B0B4: @ 807B0B4
.align 2, 0
_0807B0BC: .4byte gUnknown_20386A4
_0807B0C0: .4byte gUnknown_83C2CC0
- thumb_func_end sub_807B0B4
+ thumb_func_end ResetPreservedPalettesInWeather
thumb_func_start sub_807B0C4
sub_807B0C4: @ 807B0C4
diff --git a/asm/field_weather_effects.s b/asm/field_weather_effects.s
index 24ccbcf94..decfe4078 100644
--- a/asm/field_weather_effects.s
+++ b/asm/field_weather_effects.s
@@ -526,8 +526,8 @@ sub_807B6BC: @ 807B6BC
bx lr
thumb_func_end sub_807B6BC
- thumb_func_start sub_807B6C0
-sub_807B6C0: @ 807B6C0
+ thumb_func_start StartDroughtWeatherBlend
+StartDroughtWeatherBlend: @ 807B6C0
push {lr}
ldr r0, _0807B6D0 @ =task50_0807B6D4
movs r1, 0x50
@@ -536,7 +536,7 @@ sub_807B6C0: @ 807B6C0
bx r0
.align 2, 0
_0807B6D0: .4byte task50_0807B6D4
- thumb_func_end sub_807B6C0
+ thumb_func_end StartDroughtWeatherBlend
thumb_func_start task50_0807B6D4
task50_0807B6D4: @ 807B6D4
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
deleted file mode 100644
index c0266194e..000000000
--- a/asm/fldeff_cut.s
+++ /dev/null
@@ -1,535 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8097874
-sub_8097874: @ 8097874
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x1
- bl sub_8058F48
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_805A2BC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8097874
-
- thumb_func_start SetUpFieldMove_Cut
-SetUpFieldMove_Cut: @ 8097898
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, _080978CC @ =gUnknown_2039874
- movs r0, 0
- strb r0, [r4]
- bl CutMoveRuinValleyCheck
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080978E0
- movs r0, 0x5F
- bl CheckObjectGraphicsInFrontOfPlayer
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08097904
- ldr r1, _080978D0 @ =gFieldCallback2
- ldr r0, _080978D4 @ =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, _080978D8 @ =gPostMenuFieldCallback
- ldr r0, _080978DC @ =sub_80979D0
- b _080978EC
- .align 2, 0
-_080978CC: .4byte gUnknown_2039874
-_080978D0: .4byte gFieldCallback2
-_080978D4: .4byte FieldCallback_PrepareFadeInFromMenu
-_080978D8: .4byte gPostMenuFieldCallback
-_080978DC: .4byte sub_80979D0
-_080978E0:
- strb r0, [r4]
-_080978E2:
- ldr r1, _080978F4 @ =gFieldCallback2
- ldr r0, _080978F8 @ =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, _080978FC @ =gPostMenuFieldCallback
- ldr r0, _08097900 @ =sub_8097984
-_080978EC:
- str r0, [r1]
- movs r0, 0x1
- b _08097970
- .align 2, 0
-_080978F4: .4byte gFieldCallback2
-_080978F8: .4byte FieldCallback_PrepareFadeInFromMenu
-_080978FC: .4byte gPostMenuFieldCallback
-_08097900: .4byte sub_8097984
-_08097904:
- ldr r4, _0809797C @ =gPlayerFacingPosition
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- movs r7, 0
- adds r2, r4, 0
- ldr r0, _08097980 @ =0x0000ffff
- mov r8, r0
-_08097916:
- mov r1, r8
- adds r0, r1, r7
- ldrh r1, [r2, 0x2]
- adds r0, r1
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_08097924:
- mov r1, r8
- adds r0, r1, r6
- ldrh r1, [r2]
- adds r0, r1
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp]
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp]
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _0809795A
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8097874
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp]
- cmp r0, 0x1
- beq _080978E2
-_0809795A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _08097924
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _08097916
- movs r0, 0
-_08097970:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809797C: .4byte gPlayerFacingPosition
-_08097980: .4byte 0x0000ffff
- thumb_func_end SetUpFieldMove_Cut
-
- thumb_func_start sub_8097984
-sub_8097984: @ 8097984
- push {lr}
- movs r0, 0x1
- bl FieldEffectStart
- bl GetCursorSelectionMonId
- ldr r1, _0809799C @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809799C: .4byte gFieldEffectArguments
- thumb_func_end sub_8097984
-
- thumb_func_start sub_80979A0
-sub_80979A0: @ 80979A0
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080979C8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080979CC @ =sub_8097A20
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080979C8: .4byte gTasks
-_080979CC: .4byte sub_8097A20
- thumb_func_end sub_80979A0
-
- thumb_func_start sub_80979D0
-sub_80979D0: @ 80979D0
- push {lr}
- bl GetCursorSelectionMonId
- ldr r1, _080979E8 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r0, _080979EC @ =EventScript_FldEffCut
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080979E8: .4byte gFieldEffectArguments
-_080979EC: .4byte EventScript_FldEffCut
- thumb_func_end sub_80979D0
-
- thumb_func_start sub_80979F0
-sub_80979F0: @ 80979F0
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08097A18 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _08097A1C @ =sub_8097C6C
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl IncrementGameStat
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08097A18: .4byte gTasks
-_08097A1C: .4byte sub_8097C6C
- thumb_func_end sub_80979F0
-
- thumb_func_start sub_8097A20
-sub_8097A20: @ 8097A20
- push {lr}
- movs r0, 0x1
- bl FieldEffectActiveListRemove
- ldr r0, _08097A38 @ =gUnknown_2039874
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08097A3C
- bl CutMoveOpenDottedHoleDoor
- b _08097A42
- .align 2, 0
-_08097A38: .4byte gUnknown_2039874
-_08097A3C:
- movs r0, 0x3A
- bl FieldEffectStart
-_08097A42:
- pop {r0}
- bx r0
- thumb_func_end sub_8097A20
-
- thumb_func_start sub_8097A48
-sub_8097A48: @ 8097A48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- movs r0, 0x79
- bl PlaySE
- ldr r4, _08097B38 @ =gPlayerFacingPosition
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- mov r8, r4
- ldr r0, _08097B3C @ =0x0000ffff
- mov r9, r0
-_08097A68:
- mov r1, r9
- adds r0, r1, r7
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_08097A78:
- mov r1, r9
- adds r0, r1, r6
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _08097ABC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8097874
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08097ABC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8097B50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805F378
-_08097ABC:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _08097A78
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _08097A68
- bl DrawWholeMapView
- ldr r4, _08097B40 @ =gUnknown_2039870
- movs r0, 0x8
- bl Alloc
- str r0, [r4]
- movs r7, 0
- ldr r5, _08097B44 @ =gSprites
-_08097AE2:
- ldr r0, _08097B48 @ =gPlayerAvatar
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r2, 0x80
- lsls r2, 12
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r0]
- adds r2, 0x14
- ldr r0, _08097B4C @ =gUnknown_83D414C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r1, r7
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r7
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- lsls r1, r7, 5
- strh r1, [r0, 0x32]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x7
- bls _08097AE2
- movs r0, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08097B38: .4byte gPlayerFacingPosition
-_08097B3C: .4byte 0x0000ffff
-_08097B40: .4byte gUnknown_2039870
-_08097B44: .4byte gSprites
-_08097B48: .4byte gPlayerAvatar
-_08097B4C: .4byte gUnknown_83D414C
- thumb_func_end sub_8097A48
-
- thumb_func_start sub_8097B50
-sub_8097B50: @ 8097B50
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- movs r4, 0
- lsrs r6, r0, 16
- asrs r0, 16
- lsrs r7, r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08097B84 @ =gUnknown_83D4100
- ldr r5, _08097B88 @ =0x0000ffff
- mov r12, r1
-_08097B6E:
- lsls r3, r4, 2
- adds r0, r3, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _08097BA0
- cmp r0, r2
- beq _08097B8C
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- b _08097B6E
- .align 2, 0
-_08097B84: .4byte gUnknown_83D4100
-_08097B88: .4byte 0x0000ffff
-_08097B8C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- mov r2, r12
- adds r2, 0x2
- adds r2, r3, r2
- ldrh r2, [r2]
- bl MapGridSetMetatileIdAt
-_08097BA0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8097B50
-
- thumb_func_start objc_8097BA8
-objc_8097BA8: @ 8097BA8
- movs r2, 0
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x34]
- ldr r1, _08097BB8 @ =objc_8097BBC
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_08097BB8: .4byte objc_8097BBC
- thumb_func_end objc_8097BA8
-
- thumb_func_start objc_8097BBC
-objc_8097BBC: @ 8097BBC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r1, 0x1
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 18
- adds r1, r0
- strh r1, [r4, 0x2E]
- adds r2, 0x1
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1C
- beq _08097C08
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _08097C0C
-_08097C08:
- ldr r0, _08097C14 @ =sub_8097C18
- str r0, [r4, 0x1C]
-_08097C0C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097C14: .4byte sub_8097C18
- thumb_func_end objc_8097BBC
-
- thumb_func_start sub_8097C18
-sub_8097C18: @ 8097C18
- push {r4-r6,lr}
- movs r4, 0x1
-_08097C1C:
- ldr r6, _08097C64 @ =gUnknown_2039870
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _08097C68 @ =gSprites
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08097C1C
- ldr r0, [r6]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3A
- bl FieldEffectStop
- ldr r0, [r6]
- bl Free
- bl sub_80696C0
- bl ScriptContext2_Disable
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08097C64: .4byte gUnknown_2039870
-_08097C68: .4byte gSprites
- thumb_func_end sub_8097C18
-
- thumb_func_start sub_8097C6C
-sub_8097C6C: @ 8097C6C
- push {lr}
- movs r0, 0x79
- bl PlaySE
- movs r0, 0x2
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8097C6C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s
deleted file mode 100644
index f550d2291..000000000
--- a/asm/fldeff_flash.s
+++ /dev/null
@@ -1,964 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpFieldMove_Flash
-SetUpFieldMove_Flash: @ 80C9B2C
- push {lr}
- ldr r0, _080C9B54 @ =gMapHeader
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _080C9B6C
- ldr r0, _080C9B58 @ =0x00000806
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C9B6C
- ldr r1, _080C9B5C @ =gFieldCallback2
- ldr r0, _080C9B60 @ =FieldCallback_PrepareFadeInFromMenu
- str r0, [r1]
- ldr r1, _080C9B64 @ =gPostMenuFieldCallback
- ldr r0, _080C9B68 @ =sub_80C9B74
- str r0, [r1]
- movs r0, 0x1
- b _080C9B6E
- .align 2, 0
-_080C9B54: .4byte gMapHeader
-_080C9B58: .4byte 0x00000806
-_080C9B5C: .4byte gFieldCallback2
-_080C9B60: .4byte FieldCallback_PrepareFadeInFromMenu
-_080C9B64: .4byte gPostMenuFieldCallback
-_080C9B68: .4byte sub_80C9B74
-_080C9B6C:
- movs r0, 0
-_080C9B6E:
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Flash
-
- thumb_func_start sub_80C9B74
-sub_80C9B74: @ 80C9B74
- push {r4,lr}
- bl oei_task_add
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl GetCursorSelectionMonId
- ldr r1, _080C9BA4 @ =gFieldEffectArguments
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- ldr r1, _080C9BA8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080C9BAC @ =sub_80C9BB0
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9BA4: .4byte gFieldEffectArguments
-_080C9BA8: .4byte gTasks
-_080C9BAC: .4byte sub_80C9BB0
- thumb_func_end sub_80C9B74
-
- thumb_func_start sub_80C9BB0
-sub_80C9BB0: @ 80C9BB0
- push {lr}
- movs r0, 0xC8
- bl PlaySE
- ldr r0, _080C9BC8 @ =0x00000806
- bl FlagSet
- ldr r0, _080C9BCC @ =EventScript_FldEffFlash
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C9BC8: .4byte 0x00000806
-_080C9BCC: .4byte EventScript_FldEffFlash
- thumb_func_end sub_80C9BB0
-
- thumb_func_start sub_80C9BD0
-sub_80C9BD0: @ 80C9BD0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80C9BD0
-
- thumb_func_start sub_80C9BE8
-sub_80C9BE8: @ 80C9BE8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80C9BE8
-
- thumb_func_start sub_80C9BFC
-sub_80C9BFC: @ 80C9BFC
- push {lr}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xC
- movs r1, 0
- bl SetGpuReg
- movs r0, 0xA
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x8
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x18
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x1A
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x14
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x16
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x10
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x12
- movs r1, 0
- bl SetGpuReg
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080C9CC8 @ =0x040000d4
- mov r0, sp
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080C9CCC @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0
- str r2, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080C9CD0 @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r2, [r0]
- str r0, [r1]
- ldr r0, _080C9CD4 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _080C9CD8 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- movs r0, 0x1
- bl EnableInterrupts
- ldr r0, _080C9CDC @ =sub_80C9BE8
- bl SetVBlankCallback
- ldr r0, _080C9CE0 @ =sub_80C9BD0
- bl SetMainCallback2
- bl sub_80C9CE8
- lsls r0, 24
- cmp r0, 0
- bne _080C9CC2
- ldr r0, _080C9CE4 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_080C9CC2:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080C9CC8: .4byte 0x040000d4
-_080C9CCC: .4byte 0x8100c000
-_080C9CD0: .4byte 0x85000100
-_080C9CD4: .4byte 0x05000002
-_080C9CD8: .4byte 0x810001ff
-_080C9CDC: .4byte sub_80C9BE8
-_080C9CE0: .4byte sub_80C9BD0
-_080C9CE4: .4byte gMain
- thumb_func_end sub_80C9BFC
-
- thumb_func_start sub_80C9CE8
-sub_80C9CE8: @ 80C9CE8
- push {r4-r7,lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r7, r0, 24
- bl GetCurrentMapType
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- bl sub_80561B4
- ldr r5, _080C9D24 @ =gMapHeader
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5, 0x14]
- cmp r0, r1
- beq _080C9D36
- ldrb r0, [r5, 0x14]
- movs r1, 0
- bl sub_80F8154
- cmp r0, 0x1
- bne _080C9D36
- ldrb r0, [r5, 0x14]
- bl sub_80CA160
- movs r0, 0x1
- b _080C9D70
- .align 2, 0
-_080C9D24: .4byte gMapHeader
-_080C9D28:
- adds r0, r3, 0x4
- adds r0, r2, r0
- ldr r0, [r0]
- bl _call_via_r0
- movs r0, 0x1
- b _080C9D70
-_080C9D36:
- ldr r5, _080C9D78 @ =gUnknown_83F5738
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C9D6E
- adds r3, r5, 0
-_080C9D48:
- adds r0, r1, r4
- lsls r2, r0, 2
- adds r1, r2, r3
- ldrb r0, [r1]
- cmp r0, r7
- bne _080C9D5A
- ldrb r0, [r1, 0x1]
- cmp r0, r6
- beq _080C9D28
-_080C9D5A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C9D48
-_080C9D6E:
- movs r0, 0
-_080C9D70:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080C9D78: .4byte gUnknown_83F5738
- thumb_func_end sub_80C9CE8
-
- thumb_func_start sub_80C9D7C
-sub_80C9D7C: @ 80C9D7C
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _080C9DAC @ =gUnknown_83F5738
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C9DC4
- adds r6, r1, 0
-_080C9D92:
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _080C9DB0
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _080C9DB0
- ldrb r0, [r2, 0x2]
- b _080C9DC6
- .align 2, 0
-_080C9DAC: .4byte gUnknown_83F5738
-_080C9DB0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C9D92
-_080C9DC4:
- movs r0, 0
-_080C9DC6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C9D7C
-
- thumb_func_start sub_80C9DCC
-sub_80C9DCC: @ 80C9DCC
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _080C9DFC @ =gUnknown_83F5738
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C9E14
- adds r6, r1, 0
-_080C9DE2:
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _080C9E00
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _080C9E00
- ldrb r0, [r2, 0x3]
- b _080C9E16
- .align 2, 0
-_080C9DFC: .4byte gUnknown_83F5738
-_080C9E00:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C9DE2
-_080C9E14:
- movs r0, 0
-_080C9E16:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C9DCC
-
- thumb_func_start sub_80C9E1C
-sub_80C9E1C: @ 80C9E1C
- push {lr}
- ldr r0, _080C9E2C @ =sub_80C9E30
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080C9E2C: .4byte sub_80C9E30
- thumb_func_end sub_80C9E1C
-
- thumb_func_start sub_80C9E30
-sub_80C9E30: @ 80C9E30
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9E44 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C9E48 @ =sub_80C9E4C
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C9E44: .4byte gTasks
-_080C9E48: .4byte sub_80C9E4C
- thumb_func_end sub_80C9E30
-
- thumb_func_start sub_80C9E4C
-sub_80C9E4C: @ 80C9E4C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, _080C9EC8 @ =gUnknown_83F5A44
- ldr r1, _080C9ECC @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _080C9ED0 @ =gUnknown_83F5864
- ldr r1, _080C9ED4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _080C9ED8 @ =gUnknown_83F5804
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080C9EDC @ =gUnknown_83F5844 + 0x10
- movs r1, 0xE0
- movs r2, 0x10
- bl LoadPalette
- ldr r1, _080C9EE0 @ =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, _080C9EE4 @ =0x00001f0c =BGCNT_PRIORITY(0) | BGCNT_CHARBASE(3) | BGCNT_SCREENBASE(31)
- movs r0, 0x8
- bl SetGpuReg
- movs r1, 0x8A
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r1, _080C9EE8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C9EEC @ =sub_80C9EF0
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9EC8: .4byte gUnknown_83F5A44
-_080C9ECC: .4byte 0x0600c000
-_080C9ED0: .4byte gUnknown_83F5864
-_080C9ED4: .4byte 0x0600f800
-_080C9ED8: .4byte gUnknown_83F5804
-_080C9EDC: .4byte gUnknown_83F5844 + 0x10
-_080C9EE0: .4byte 0x00003e41
-_080C9EE4: .4byte 0x00001f0c
-_080C9EE8: .4byte gTasks
-_080C9EEC: .4byte sub_80C9EF0
- thumb_func_end sub_80C9E4C
-
- thumb_func_start sub_80C9EF0
-sub_80C9EF0: @ 80C9EF0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9F20 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r4, [r5, 0xA]
- movs r0, 0x80
- lsls r0, 5
- adds r1, r4, r0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- cmp r4, 0x10
- bhi _080C9F24
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _080C9F2C
- .align 2, 0
-_080C9F20: .4byte gTasks
-_080C9F24:
- movs r0, 0
- strh r0, [r5, 0xC]
- ldr r0, _080C9F34 @ =sub_80C9F38
- str r0, [r5]
-_080C9F2C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9F34: .4byte sub_80C9F38
- thumb_func_end sub_80C9EF0
-
- thumb_func_start sub_80C9F38
-sub_80C9F38: @ 80C9F38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080C9F74 @ =0x00001010
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, _080C9F78 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xC]
- cmp r1, 0x7
- bhi _080C9F80
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 1
- ldr r0, _080C9F7C @ =gUnknown_83F5844 + 0x10
- adds r0, r1, r0
- movs r2, 0x10
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _080C9F92
- .align 2, 0
-_080C9F74: .4byte 0x00001010
-_080C9F78: .4byte gTasks
-_080C9F7C: .4byte gUnknown_83F5844 + 0x10
-_080C9F80:
- ldr r0, _080C9F98 @ =gUnknown_83F5804
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080C9F9C @ =sub_80C9FA0
- str r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_080C9F92:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9F98: .4byte gUnknown_83F5804
-_080C9F9C: .4byte sub_80C9FA0
- thumb_func_end sub_80C9F38
-
- thumb_func_start sub_80C9FA0
-sub_80C9FA0: @ 80C9FA0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9FC0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080C9FC4
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080C9FCC
- .align 2, 0
-_080C9FC0: .4byte gTasks
-_080C9FC4:
- ldr r0, _080C9FD0 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_080C9FCC:
- pop {r0}
- bx r0
- .align 2, 0
-_080C9FD0: .4byte gMain
- thumb_func_end sub_80C9FA0
-
- thumb_func_start sub_80C9FD4
-sub_80C9FD4: @ 80C9FD4
- push {lr}
- ldr r0, _080C9FE4 @ =sub_80C9FE8
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080C9FE4: .4byte sub_80C9FE8
- thumb_func_end sub_80C9FD4
-
- thumb_func_start sub_80C9FE8
-sub_80C9FE8: @ 80C9FE8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9FFC @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080CA000 @ =sub_80CA004
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C9FFC: .4byte gTasks
-_080CA000: .4byte sub_80CA004
- thumb_func_end sub_80C9FE8
-
- thumb_func_start sub_80CA004
-sub_80CA004: @ 80CA004
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- ldr r0, _080CA080 @ =gUnknown_83F5A44
- ldr r1, _080CA084 @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _080CA088 @ =gUnknown_83F5864
- ldr r1, _080CA08C @ =0x0600f800
- bl LZ77UnCompVram
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0
- bl SetGpuReg
- ldr r1, _080CA090 @ =0x00001f0c
- movs r0, 0x8
- bl SetGpuReg
- movs r1, 0x8A
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- ldr r0, _080CA094 @ =gUnknown_83F5804
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080CA098 @ =gUnknown_83F5824
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080CA09C @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CA0A0 @ =sub_80CA0A4
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- strh r2, [r0, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA080: .4byte gUnknown_83F5A44
-_080CA084: .4byte 0x0600c000
-_080CA088: .4byte gUnknown_83F5864
-_080CA08C: .4byte 0x0600f800
-_080CA090: .4byte 0x00001f0c
-_080CA094: .4byte gUnknown_83F5804
-_080CA098: .4byte gUnknown_83F5824
-_080CA09C: .4byte gTasks
-_080CA0A0: .4byte sub_80CA0A4
- thumb_func_end sub_80CA004
-
- thumb_func_start sub_80CA0A4
-sub_80CA0A4: @ 80CA0A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA0D8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- cmp r1, 0xF
- bhi _080CA0E0
- adds r2, r1, 0x1
- adds r0, r2, 0x1
- strh r0, [r4, 0xC]
- movs r0, 0xF
- subs r0, r1
- lsls r0, 1
- ldr r1, _080CA0DC @ =gUnknown_83F5844
- adds r0, r1
- lsls r2, 17
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _080CA0F4
- .align 2, 0
-_080CA0D8: .4byte gTasks
-_080CA0DC: .4byte gUnknown_83F5844
-_080CA0E0:
- ldr r1, _080CA0FC @ =0x00001010
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, _080CA100 @ =0x00003e41
- movs r0, 0x50
- bl SetGpuReg
- ldr r0, _080CA104 @ =sub_80CA108
- str r0, [r4]
-_080CA0F4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA0FC: .4byte 0x00001010
-_080CA100: .4byte 0x00003e41
-_080CA104: .4byte sub_80CA108
- thumb_func_end sub_80CA0A4
-
- thumb_func_start sub_80CA108
-sub_80CA108: @ 80CA108
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA13C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r0, [r5, 0xA]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 21
- adds r1, r0
- lsrs r1, 16
- movs r0, 0x52
- bl SetGpuReg
- cmp r4, 0
- beq _080CA140
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _080CA152
- .align 2, 0
-_080CA13C: .4byte gTasks
-_080CA140:
- ldr r0, _080CA158 @ =gUnknown_83F5824
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080CA15C @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_080CA152:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA158: .4byte gUnknown_83F5824
-_080CA15C: .4byte gMain
- thumb_func_end sub_80CA108
-
- thumb_func_start sub_80CA160
-sub_80CA160: @ 80CA160
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080CA188 @ =sub_80CA190
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA18C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xE]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA188: .4byte sub_80CA190
-_080CA18C: .4byte gTasks
- thumb_func_end sub_80CA160
-
- thumb_func_start sub_80CA190
-sub_80CA190: @ 80CA190
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CA1B8 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080CA1AC
- b _080CA2D2
-_080CA1AC:
- lsls r0, 2
- ldr r1, _080CA1BC @ =_080CA1C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CA1B8: .4byte gTasks+0x8
-_080CA1BC: .4byte _080CA1C0
- .align 2, 0
-_080CA1C0:
- .4byte _080CA1D8
- .4byte _080CA208
- .4byte _080CA224
- .4byte _080CA24E
- .4byte _080CA262
- .4byte _080CA2A4
-_080CA1D8:
- ldr r0, _080CA204 @ =gMain
- ldr r2, [r0, 0xC]
- adds r0, r5, 0
- movs r1, 0x5
- bl SetWordTaskArg
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80F8180
- ldrb r0, [r4, 0x6]
- bl sub_80F819C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _080CA294
- .align 2, 0
-_080CA204: .4byte gMain
-_080CA208:
- bl sub_80F8258
- cmp r0, 0
- bne _080CA2D2
- ldrb r0, [r4, 0x6]
- bl sub_80F8318
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl CopyWindowToVram
- b _080CA294
-_080CA224:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080CA2D2
- movs r1, 0x1
- negs r1, r1
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r5, 0
- movs r1, 0x5
- bl GetWordTaskArg
- bl SetVBlankCallback
- b _080CA294
-_080CA24E:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CA2D2
- ldrb r0, [r4, 0x6]
- bl sub_80F856C
- strh r0, [r4, 0x4]
- b _080CA294
-_080CA262:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bgt _080CA280
- ldr r0, _080CA29C @ =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CA2D2
-_080CA280:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- negs r1, r1
- ldr r2, _080CA2A0 @ =0x00007fff
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080CA294:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080CA2D2
- .align 2, 0
-_080CA29C: .4byte gMain
-_080CA2A0: .4byte 0x00007fff
-_080CA2A4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080CA2D2
- lsls r6, r5, 2
- movs r1, 0
- adds r0, r4, 0
- adds r0, 0x1E
-_080CA2B6:
- strh r1, [r0]
- subs r0, 0x2
- cmp r0, r4
- bge _080CA2B6
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- bl sub_80F8234
- ldr r1, _080CA2DC @ =gTasks
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CA2E0 @ =sub_80CA004
- str r1, [r0]
-_080CA2D2:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA2DC: .4byte gTasks
-_080CA2E0: .4byte sub_80CA004
- thumb_func_end sub_80CA190
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s
deleted file mode 100644
index 2cc761554..000000000
--- a/asm/librfu_intr.s
+++ /dev/null
@@ -1,697 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- arm_func_start IntrSIO32
-IntrSIO32: @ 81DFC50
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r3, _081DFCB0 @ =gSTWIStatus
- ldr r0, [r3]
- ldr r2, [r0]
- sub r11, r12, 0x4
- cmp r2, 0xA
- bne _081DFC8C
- ldr r0, [r0, 0x20]
- cmp r0, 0
- ldmdbeq r11, {r11,sp,lr}
- bxeq lr
- bl Callback_Dummy_ID
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081DFC8C:
- ldrb r3, [r0, 0x14]
- cmp r3, 0x1
- bne _081DFCA4
- bl sio32intr_clock_master
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081DFCA4:
- bl sio32intr_clock_slave
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081DFCB0: .4byte gSTWIStatus
- arm_func_end IntrSIO32
-
- arm_func_start sio32intr_clock_master
-sio32intr_clock_master: @ 81DFCB4
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- mov r0, 0x50
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r4, 0x120
- ldr r2, _081DFF28 @ =gSTWIStatus
- add r4, r4, 0x4000000
- ldr lr, [r4]
- ldr r12, [r2]
- ldr r3, [r12]
- mov r6, r2
- cmp r3, 0
- bne _081DFD34
- cmp lr, 0x80000000
- bne _081DFDB4
- ldrb r2, [r12, 0x5]
- ldrb r3, [r12, 0x4]
- cmp r2, r3
- bhi _081DFD24
- ldr r3, [r12, 0x24]
- mov r1, r2
- ldr r2, [r3, r1, lsl 2]
- str r2, [r4]
- ldrb r3, [r12, 0x5]
- add r3, r3, 0x1
- strb r3, [r12, 0x5]
- b _081DFE10
-_081DFD24:
- mov r3, 0x1
- str r3, [r12]
- str lr, [r4]
- b _081DFE10
-_081DFD34:
- ldr r3, [r12]
- cmp r3, 0x1
- bne _081DFDC4
- mov r3, 0x99000000
- add r3, r3, 0x660000
- mov r5, 0x80000000
- and r2, lr, r5, asr 15
- cmp r2, r3
- bne _081DFDB4
- mov r3, 0
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- ldr r2, [r1, 0x28]
- str lr, [r2, r0, lsl 2]
- ldrb r3, [r1, 0x8]
- add r3, r3, 0x1
- strb r3, [r1, 0x8]
- ldr r2, [r6]
- strb lr, [r2, 0x9]
- ldr r3, [r6]
- mov r2, lr, lsr 8
- strb r2, [r3, 0x7]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcc _081DFDFC
- mov r3, 0x2
- str r3, [r1]
- str r5, [r4]
- b _081DFE10
-_081DFDB4:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x82
- bl STWI_set_timer_in_RAM
- b _081DFF3C
-_081DFDC4:
- ldr r3, [r12]
- cmp r3, 0x2
- bne _081DFE10
- ldrb r1, [r12, 0x8]
- ldr r2, [r12, 0x28]
- str lr, [r2, r1, lsl 2]
- ldrb r3, [r12, 0x8]
- add r3, r3, 0x1
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcs _081DFE08
-_081DFDFC:
- mov r3, 0x3
- str r3, [r1]
- b _081DFE10
-_081DFE08:
- mov r3, 0x80000000
- str r3, [r4]
-_081DFE10:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081DFF3C
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r5, 0x5000
- add r3, r5, 0xB
- strh r3, [r4]
- mov r0, 0
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081DFF3C
- bl STWI_stop_timer_in_RAM
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x3
- bne _081DFF2C
- ldrb r3, [r1, 0x9]
- cmp r3, 0xA5
- cmpne r3, 0xA7
- beq _081DFE84
- and r3, r3, 0xFF
- cmp r3, 0xB5
- beq _081DFE84
- cmp r3, 0xB7
- bne _081DFECC
-_081DFE84:
- mov r1, 0x120
- add r1, r1, 0x4000000
- mov r12, 0x128
- add r12, r12, 0x4000000
- ldr r0, [r6]
- mov r3, 0
- strb r3, [r0, 0x14]
- mov r2, 0x80000000
- str r2, [r1]
- add r3, r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r12]
- add r3, r3, 0x82
- strh r3, [r12]
- ldr r2, [r6]
- mov r3, 0x5
- str r3, [r2]
- b _081DFEFC
-_081DFECC:
- cmp r3, 0xEE
- bne _081DFEEC
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
- strh r0, [r1, 0x12]
- b _081DFEFC
-_081DFEEC:
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
-_081DFEFC:
- ldr r2, [r6]
- mov r3, 0
- strb r3, [r2, 0x2C]
- ldr r0, [r6]
- ldr r2, [r0, 0x18]
- cmp r2, r3
- beq _081DFF3C
- ldrh r1, [r0, 0x12]
- ldrb r0, [r0, 0x6]
- bl Callback_Dummy_M
- b _081DFF3C
- .align 2, 0
-_081DFF28: .4byte gSTWIStatus
-_081DFF2C:
- add r3, r5, 0x3
- strh r3, [r4]
- add r2, r5, 0x83
- strh r2, [r4]
-_081DFF3C:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_master
-
- arm_func_start sio32intr_clock_slave
-sio32intr_clock_slave: @ 81DFF44
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- ldr r4, _081E02F0 @ =gSTWIStatus
- mov r0, 0x64
- ldr r3, [r4]
- mov r6, 0
- strb r6, [r3, 0x10]
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r0, r6
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- mov r5, r4
- beq _081E0348
- mov r3, 0x128
- add r3, r3, 0x4000000
- mov r2, 0x5000
- add r2, r2, 0xA
- strh r2, [r3]
- mov lr, 0x120
- ldr r0, [r5]
- add lr, lr, 0x4000000
- ldr r12, [lr]
- ldr r3, [r0]
- cmp r3, 0x5
- bne _081E0074
- ldr r3, [r0, 0x28]
- mov r4, 0x1
- mov r0, 0x99000000
- str r12, [r3]
- add r0, r0, 0x660000
- ldr r2, [r5]
- mov r3, r0, lsr 16
- strb r4, [r2, 0x5]
- cmp r3, r12, lsr 16
- bne _081E01C0
- ldr r3, [r5]
- mov r2, r12, lsr 8
- strb r2, [r3, 0x4]
- ldr r2, [r5]
- strb r12, [r2, 0x6]
- ldr r1, [r5]
- ldrb r3, [r1, 0x4]
- cmp r3, r6
- bne _081E0058
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x27
- cmp r2, 0x36
- cmpne r3, 0x2
- bhi _081E002C
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- add r3, r3, r0
- b _081E00DC
-_081E002C:
- ldr r2, [r1, 0x24]
- ldr r3, _081E02F4 @ =0x996601ee
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- bhi _081E0114
- ldr r3, [r2, 0x24]
- str r4, [r3, 0x4]
- b _081E0120
-_081E0058:
- mov r3, 0x80000000
- str r3, [lr]
- strb r4, [r1, 0x5]
- ldr r2, [r5]
- add r3, r3, 0x80000006
- str r3, [r2]
- b _081E01D0
-_081E0074:
- ldr r3, [r0]
- cmp r3, 0x6
- bne _081E0174
- ldrb r1, [r0, 0x5]
- ldr r2, [r0, 0x28]
- str r12, [r2, r1, lsl 2]
- ldrb r3, [r0, 0x5]
- add r3, r3, 0x1
- strb r3, [r0, 0x5]
- ldr r1, [r5]
- ldrb r2, [r1, 0x4]
- ldrb r3, [r1, 0x5]
- cmp r2, r3
- bcs _081E0168
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x28
- cmp r2, 0x36
- cmpne r3, 0x1
- bhi _081E00EC
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- orr r3, r3, 0x99000000
- orr r3, r3, 0x660000
-_081E00DC:
- str r3, [r1]
- ldr r2, [r5]
- strb r6, [r2, 0x7]
- b _081E0138
-_081E00EC:
- ldr r2, [r1, 0x24]
- ldr r3, _081E02F4 @ =0x996601ee
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- ldrls r2, [r2, 0x24]
- movls r3, 0x1
- bls _081E011C
-_081E0114:
- ldr r2, [r2, 0x24]
- mov r3, 0x2
-_081E011C:
- str r3, [r2, 0x4]
-_081E0120:
- ldr r2, [r5]
- mov r3, 0x1
- strb r3, [r2, 0x7]
- ldr r1, [r5]
- add r3, r3, 0x2
- strh r3, [r1, 0x12]
-_081E0138:
- ldr r0, [r5]
- ldr r2, [r0, 0x24]
- mov r3, 0x120
- ldr r1, [r2]
- add r3, r3, 0x4000000
- str r1, [r3]
- mov r2, 0x1
- strb r2, [r0, 0x8]
- ldr r1, [r5]
- mov r3, 0x7
- str r3, [r1]
- b _081E01D0
-_081E0168:
- mov r3, 0x80000000
- str r3, [lr]
- b _081E01D0
-_081E0174:
- ldr r3, [r0]
- cmp r3, 0x7
- bne _081E01D0
- cmp r12, 0x80000000
- bne _081E01C0
- ldrb r2, [r0, 0x7]
- ldrb r3, [r0, 0x8]
- cmp r2, r3
- movcc r3, 0x8
- strcc r3, [r0]
- bcc _081E01D0
- ldrb r1, [r0, 0x8]
- ldr r3, [r0, 0x24]
- ldr r2, [r3, r1, lsl 2]
- str r2, [lr]
- ldrb r3, [r0, 0x8]
- add r3, r3, 0x1
- strb r3, [r0, 0x8]
- b _081E01D0
-_081E01C0:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x64
- bl STWI_set_timer_in_RAM
- b _081E0348
-_081E01D0:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081E0348
- mov r6, r5
- ldr r3, [r6]
- ldr r2, [r3]
- cmp r2, 0x8
- bne _081E0298
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r3, 0x5000
- add r3, r3, 0x2
- strh r3, [r4]
- bl STWI_stop_timer_in_RAM
- ldr r0, [r6]
- ldrh r3, [r0, 0x12]
- cmp r3, 0x3
- bne _081E0244
- bl STWI_init_slave
- ldr r3, [r6]
- ldr r1, [r3, 0x1C]
- cmp r1, 0
- beq _081E0348
- mov r0, 0x1EC
- add r0, r0, 0x2
- bl Callback_Dummy_S
- b _081E0348
-_081E0244:
- mov r3, 0x120
- add r3, r3, 0x4000000
- mov r1, 0
- str r1, [r3]
- mov r2, 0x5000
- strh r1, [r4]
- add r2, r2, 0x3
- strh r2, [r4]
- mov r3, 0x1
- strb r3, [r0, 0x14]
- ldr r0, [r5]
- ldr r2, [r0, 0x1C]
- str r1, [r0]
- cmp r2, r1
- beq _081E0348
- ldrb r3, [r0, 0x4]
- ldrb r0, [r0, 0x6]
- mov r1, r2
- orr r0, r0, r3, lsl 8
- bl Callback_Dummy_S
- b _081E0348
-_081E0298:
- mov r3, 0x208
- add r3, r3, 0x4000000
- mov r2, 0
- strh r2, [r3]
- mov r1, 0x100
- add r2, r1, 0x4000002
- ldrh r3, [r2]
- tst r3, 0x80
- beq _081E031C
- ldrh r3, [r2]
- tst r3, 0x3
- bne _081E02F8
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0x9B
- cmp r3, r2
- bls _081E031C
-_081E02E0:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _081E02E0
- b _081E031C
- .align 2, 0
-_081E02F0: .4byte gSTWIStatus
-_081E02F4: .4byte 0x996601ee
-_081E02F8:
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0xFE
- cmp r3, r2
- bls _081E031C
-_081E0310:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _081E0310
-_081E031C:
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, 0x208
- add r0, r0, 0x4000000
- mov r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r1]
- add r3, r3, 0x82
- strh r3, [r1]
- mov r2, 0x1
- strh r2, [r0]
-_081E0348:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_slave
-
- arm_func_start handshake_wait
-handshake_wait: @ 81E0350
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, r0, lsl 16
- ldr r2, _081E03B4 @ =gSTWIStatus
- sub r11, r12, 0x4
- mov lr, r0, lsr 14
- ldr r12, [r2]
-_081E0374:
- ldrb r3, [r12, 0x10]
- and r0, r3, 0xFF
- cmp r0, 0x1
- beq _081E03A0
- ldrh r3, [r1]
- and r3, r3, 0x4
- cmp r3, lr
- bne _081E0374
- mov r0, 0
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081E03A0:
- ldr r2, [r2]
- mov r3, 0
- strb r3, [r2, 0x10]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E03B4: .4byte gSTWIStatus
- arm_func_end handshake_wait
-
- arm_func_start STWI_set_timer_in_RAM
-STWI_set_timer_in_RAM: @ 81E03B8
- mov r12, sp
- stmdb sp!, {r4,r5,r11,r12,lr,pc}
- mov r1, 0x208
- add r1, r1, 0x4000000
- mov r3, 0
- sub r11, r12, 0x4
- ldr r12, _081E0470 @ =gSTWIStatus
- and lr, r0, 0xFF
- ldr r2, [r12]
- cmp lr, 0x50
- ldrb r0, [r2, 0xA]
- mov r4, r12
- mov r2, lr
- strh r3, [r1]
- mov r0, r0, lsl 2
- add r3, r3, 0x100
- add r1, r3, 0x4000000
- add r3, r3, 0x4000002
- add r5, r0, r3
- beq _081E0440
- bgt _081E0418
- cmp lr, 0x32
- beq _081E042C
- b _081E048C
-_081E0418:
- cmp r2, 0x64
- beq _081E0458
- cmp r2, 0x82
- beq _081E0474
- b _081E048C
-_081E042C:
- mvn r3, 0x334
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x1
- b _081E0488
-_081E0440:
- mov r3, 0xAE000000
- mov r3, r3, asr 20
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x2
- b _081E0488
-_081E0458:
- mvn r3, 0x660
- sub r3, r3, 0x9
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x3
- b _081E0488
- .align 2, 0
-_081E0470: .4byte gSTWIStatus
-_081E0474:
- mvn r3, 0x850
- sub r3, r3, 0x2
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x4
-_081E0488:
- str r3, [r2, 0xC]
-_081E048C:
- mov r12, 0x200
- add r12, r12, 0x4000002
- mov r3, 0xC3
- strh r3, [r5]
- mov r1, 0x208
- ldr r2, [r4]
- add r1, r1, 0x4000000
- ldrb r0, [r2, 0xA]
- sub r3, r3, 0xBB
- mov r3, r3, lsl r0
- strh r3, [r12]
- mov r2, 0x1
- strh r2, [r1]
- ldmdb r11, {r4,r5,r11,sp,lr}
- bx lr
- arm_func_end STWI_set_timer_in_RAM
-
- arm_func_start STWI_stop_timer_in_RAM
-STWI_stop_timer_in_RAM: @ 81E04C8
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x100
- ldr lr, _081E0514 @ =gSTWIStatus
- add r0, r1, 0x4000000
- ldr r2, [lr]
- sub r11, r12, 0x4
- ldrb r3, [r2, 0xA]
- mov r12, 0
- str r12, [r2, 0xC]
- mov r3, r3, lsl 2
- strh r12, [r3, r0]
- ldr r2, [lr]
- ldrb r3, [r2, 0xA]
- add r1, r1, 0x4000002
- mov r3, r3, lsl 2
- strh r12, [r3, r1]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E0514: .4byte gSTWIStatus
- arm_func_end STWI_stop_timer_in_RAM
-
- arm_func_start STWI_init_slave
-STWI_init_slave: @ 81E0518
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r0, _081E05A0 @ =gSTWIStatus
- ldr r2, [r0]
- mov r3, 0x5
- str r3, [r2]
- mov r1, 0
- strb r1, [r2, 0x14]
- ldr r3, [r0]
- strb r1, [r3, 0x4]
- ldr r2, [r0]
- strb r1, [r2, 0x5]
- ldr r3, [r0]
- strb r1, [r3, 0x6]
- ldr r2, [r0]
- strb r1, [r2, 0x7]
- ldr r3, [r0]
- strb r1, [r3, 0x8]
- ldr r2, [r0]
- strb r1, [r2, 0x9]
- ldr r3, [r0]
- str r1, [r3, 0xC]
- sub r11, r12, 0x4
- strb r1, [r3, 0x10]
- mov r2, 0x128
- ldr r12, [r0]
- add r2, r2, 0x4000000
- strh r1, [r12, 0x12]
- mov r3, 0x5000
- strb r1, [r12, 0x15]
- add r3, r3, 0x82
- strh r3, [r2]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E05A0: .4byte gSTWIStatus
- arm_func_end STWI_init_slave
-
- arm_func_start Callback_Dummy_M
-Callback_Dummy_M: @ 81E05A4
- bx r2
- arm_func_end Callback_Dummy_M
-
- arm_func_start Callback_Dummy_S
-Callback_Dummy_S: @ 81E05A8
- bx r1
- arm_func_end Callback_Dummy_S
-
- arm_func_start Callback_Dummy_ID
-Callback_Dummy_ID: @ 81E05AC
- bx r0
- arm_func_end Callback_Dummy_ID
diff --git a/asm/macros.inc b/asm/macros.inc
index ffbe3db29..0e53dc2a2 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -5,6 +5,7 @@
.include "asm/macros/ec.inc"
.include "asm/macros/map.inc"
.include "asm/macros/m4a.inc"
+ .include "asm/macros/trainer_tower.inc"
.macro region_map_location x, y, width, height, name
.byte \x
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index 51f8e7330..35314ac3f 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -1629,7 +1629,7 @@
@ Jumps to dest if the Quest Log is currently showing playback scenes (dest is usually a release/end)
.macro goto_if_questlog dest:req
- special Special_GetQuestLogState
+ special GetQuestLogState
compare VAR_RESULT, 2
goto_if_eq \dest
.endm
diff --git a/asm/macros/map.inc b/asm/macros/map.inc
index d903899fe..881ffdbb4 100644
--- a/asm/macros/map.inc
+++ b/asm/macros/map.inc
@@ -14,9 +14,10 @@
.4byte \address
.endm
- .macro object_event index:req, gfx:req, x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
+ .macro object_event index:req, gfx:req, in_connection:req x:req, y:req, elevation:req, movement_type:req, x_radius:req, y_radius:req, trainer_type:req, sight_radius_tree_etc:req, script:req, event_flag:req
.byte \index
- .2byte \gfx
+ .byte \gfx
+ .byte \in_connection
.byte 0
.2byte \x, \y
.byte \elevation, \movement_type, ((\y_radius << 4) | \x_radius), 0
@@ -88,3 +89,8 @@
map \map
.space 2
.endm
+
+ .macro map_header_flags allow_cycling:req, allow_escaping:req, allow_running:req, show_map_name:req
+ .byte \allow_cycling
+ .byte ((\show_map_name & 1) << 2) | ((\allow_running & 1) << 1) | ((\allow_escaping & 1) << 0)
+ .endm
diff --git a/asm/macros/movement.inc b/asm/macros/movement.inc
index c4ca78010..9f11f4460 100644
--- a/asm/macros/movement.inc
+++ b/asm/macros/movement.inc
@@ -109,7 +109,7 @@
create_movement emote_x
create_movement emote_double_exclamation_mark
create_movement emote_smile
- create_movement step_67
+ create_movement reveal_trainer
create_movement rock_smash_break
create_movement cut_tree
diff --git a/asm/macros/trainer_tower.inc b/asm/macros/trainer_tower.inc
new file mode 100644
index 000000000..94d9efe77
--- /dev/null
+++ b/asm/macros/trainer_tower.inc
@@ -0,0 +1,133 @@
+ @ Sets NPC gfx and the floor layout depending on current challenge and floor
+ .macro ttower_initfloor
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_INIT_FLOOR
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Buffers the opponents battle speech to gStringVar4. speech is any TRAINER_TOWER_TEXT_*.
+ .macro ttower_getspeech speech:req, trainer=0xFF
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_SPEECH
+ setvar VAR_0x8005, \speech
+ .if \trainer >= VARS_START && \trainer != 0xFF
+ copyvar VAR_0x8006, \trainer
+ .elseif \trainer != 0xFF
+ setvar VAR_0x8006, \trainer
+ .endif
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Starts a trainer tower battle. VAR_0x8005 is unused
+ .macro ttower_dobattle
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_DO_BATTLE
+ setvar VAR_0x8005, 0
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Returns the current challenge type (CHALLENGE_TYPE_*). Mixed challenges use different types for each floor. If VAR_0x8005 is != FALSE, does nothing
+ .macro ttower_getchallengetype
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_TYPE
+ setvar VAR_0x8005, FALSE
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Adds 1 to the number of floors cleared (all trainers on floor defeated)
+ .macro ttower_clearedfloor
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLEARED_FLOOR
+ special CallTrainerTowerFunc
+ .endm
+
+ @ TRUE if the trainers on this floor were already beaten, FALSE otherwise
+ .macro ttower_isfloorcleared
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_FLOOR_CLEARED
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Initializes the Trainer Tower challenge and starts the timer
+ .macro ttower_startchallenge
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_START_CHALLENGE
+ special CallTrainerTowerFunc
+ .endm
+
+ @ 0 if not spoken to yet, 1 if spoken to but not received prize, 2 if received prize
+ .macro ttower_getownerstate
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_OWNER_STATE
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Tries to give prize. 0 if given successfully, 1 if no room for prize, 2 if giving prize should be skipped
+ .macro ttower_giveprize
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GIVE_PRIZE
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Checks the final challenge time. 0 if new record, 1 if not, 2 if time has already been checked
+ .macro ttower_checkfinaltime
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_FINAL_TIME
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Resumes the challenge timer (or starts, if the timer is 0)
+ .macro ttower_resumetimer
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_RESUME_TIMER
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Sets that the player lost the challenge
+ .macro ttower_setlost
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_SET_LOST
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Returns the status of the current Trainer Tower challenge (CHALLENGE_STATUS_*)
+ .macro ttower_getchallengestatus
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_CHALLENGE_STATUS
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Buffers the current challenge time (min in gStringVar1, sec in gStringVar2, fraction sec in gStringVar3)
+ .macro ttower_gettime
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_TIME
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Unused. Displays Trainer Tower results. Handled by ShowBattleRecords instead
+ .macro ttower_showresults
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOW_RESULTS
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Unused. See above
+ .macro ttower_closeresults
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_CLOSE_RESULTS
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Returns the eligibility of the players party for a double battle (using GetMonsStateToDoubles)
+ .macro ttower_checkdoubles
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_CHECK_DOUBLES
+ special CallTrainerTowerFunc
+ .endm
+
+ @ For the unused E-Reader challenges, gets the number of floors used. Otherwise returns FALSE (all floors used)
+ .macro ttower_getnumfloors
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_NUM_FLOORS
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Dummied, always returns FALSE
+ .macro ttower_shouldexit
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_SHOULD_WARP_TO_COUNTER
+ special CallTrainerTowerFunc
+ .endm
+
+ @ Plays the encounter music for the trainer number in VAR_TEMP_1
+ .macro ttower_encountermusic
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_ENCOUNTER_MUSIC
+ special CallTrainerTowerFunc
+ .endm
+
+ @ TRUE if the player reached the Battle Tower owner, FALSE otherwise
+ .macro ttower_getbeatchallenge
+ setvar VAR_0x8004, TRAINER_TOWER_FUNC_GET_BEAT_CHALLENGE
+ special CallTrainerTowerFunc
+ .endm
diff --git a/asm/naming_screen.s b/asm/naming_screen.s
deleted file mode 100644
index 105d156ce..000000000
--- a/asm/naming_screen.s
+++ /dev/null
@@ -1,4594 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start DoNamingScreen
-DoNamingScreen: @ 809D954
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r1
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r2, 16
- lsrs r5, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- ldr r4, _0809D980 @ =gUnknown_203998C
- movs r0, 0xF2
- lsls r0, 5
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _0809D984
- ldr r0, [sp, 0x1C]
- bl SetMainCallback2
- b _0809D9BE
- .align 2, 0
-_0809D980: .4byte gUnknown_203998C
-_0809D984:
- ldr r1, _0809D9C8 @ =0x00001e2c
- adds r0, r1
- strb r7, [r0]
- ldr r0, [r4]
- ldr r2, _0809D9CC @ =0x00001e34
- adds r1, r0, r2
- strh r5, [r1]
- adds r2, 0x2
- adds r1, r0, r2
- strh r6, [r1]
- ldr r1, _0809D9D0 @ =0x00001e38
- adds r2, r0, r1
- ldr r1, [sp, 0x18]
- str r1, [r2]
- ldr r2, _0809D9D4 @ =0x00001e30
- adds r1, r0, r2
- mov r2, r8
- str r2, [r1]
- ldr r1, _0809D9D8 @ =0x00001e3c
- adds r0, r1
- ldr r2, [sp, 0x1C]
- str r2, [r0]
- cmp r7, 0
- bne _0809D9B8
- bl StartTimer1
-_0809D9B8:
- ldr r0, _0809D9DC @ =c2_choose_name_or_words_screen
- bl SetMainCallback2
-_0809D9BE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D9C8: .4byte 0x00001e2c
-_0809D9CC: .4byte 0x00001e34
-_0809D9D0: .4byte 0x00001e38
-_0809D9D4: .4byte 0x00001e30
-_0809D9D8: .4byte 0x00001e3c
-_0809D9DC: .4byte c2_choose_name_or_words_screen
- thumb_func_end DoNamingScreen
-
- thumb_func_start c2_choose_name_or_words_screen
-c2_choose_name_or_words_screen: @ 809D9E0
- push {lr}
- ldr r0, _0809D9FC @ =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _0809DA78
- lsls r0, 2
- ldr r1, _0809DA00 @ =_0809DA04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809D9FC: .4byte gMain
-_0809DA00: .4byte _0809DA04
- .align 2, 0
-_0809DA04:
- .4byte _0809DA24
- .4byte _0809DA2E
- .4byte _0809DA34
- .4byte _0809DA3A
- .4byte _0809DA44
- .4byte _0809DA4A
- .4byte _0809DA50
- .4byte _0809DA56
-_0809DA24:
- bl sub_809FB88
- bl sub_809DA84
- b _0809DA62
-_0809DA2E:
- bl choose_name_or_words_screen_init_bgs
- b _0809DA62
-_0809DA34:
- bl ResetPaletteFade
- b _0809DA62
-_0809DA3A:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- b _0809DA62
-_0809DA44:
- bl ResetTasks
- b _0809DA62
-_0809DA4A:
- bl choose_name_or_words_screen_apply_bg_pals
- b _0809DA62
-_0809DA50:
- bl choose_name_or_words_screen_load_bg_tile_patterns
- b _0809DA62
-_0809DA56:
- bl sub_809E898
- bl UpdatePaletteFade
- bl sub_809FC34
-_0809DA62:
- ldr r1, _0809DA74 @ =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809DA80
- .align 2, 0
-_0809DA74: .4byte gMain
-_0809DA78:
- bl sub_809F8C0
- bl sub_809DD60
-_0809DA80:
- pop {r0}
- bx r0
- thumb_func_end c2_choose_name_or_words_screen
-
- thumb_func_start sub_809DA84
-sub_809DA84: @ 809DA84
- push {r4-r6,lr}
- ldr r4, _0809DB3C @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809DB40 @ =0x00001e10
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r1, [r4]
- ldr r3, _0809DB44 @ =0x00001e18
- adds r0, r1, r3
- movs r5, 0
- strh r2, [r0]
- ldr r6, _0809DB48 @ =0x00001e1a
- adds r0, r1, r6
- strh r2, [r0]
- ldr r0, _0809DB4C @ =0x00001e1c
- adds r2, r1, r0
- movs r3, 0x1
- movs r0, 0x1
- strh r0, [r2]
- adds r6, 0x4
- adds r2, r1, r6
- movs r0, 0x2
- strh r0, [r2]
- movs r0, 0xF1
- lsls r0, 5
- adds r1, r0
- strb r5, [r1]
- ldr r0, [r4]
- ldr r1, _0809DB50 @ =0x00001e21
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r4]
- ldr r5, _0809DB54 @ =0x00001e28
- adds r3, r1, r5
- ldr r2, _0809DB58 @ =gUnknown_83E248C
- adds r6, 0xE
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldrb r0, [r0, 0x4]
- ldr r2, _0809DB5C @ =0x00001e22
- adds r1, r2
- strb r0, [r1]
- ldr r2, [r4]
- adds r0, r2, r5
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 3
- movs r0, 0xF0
- subs r0, r1
- asrs r0, 1
- adds r0, 0x6
- ldr r3, _0809DB60 @ =0x00001e16
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _0809DB64 @ =gKeyRepeatStartDelay
- ldrh r0, [r6]
- ldr r1, _0809DB68 @ =0x00001e25
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r4]
- movs r2, 0xC0
- lsls r2, 5
- adds r0, r2
- movs r1, 0xFF
- movs r2, 0x10
- bl memset
- ldr r1, [r4]
- adds r5, r1, r5
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809DB30
- movs r3, 0xC0
- lsls r3, 5
- adds r0, r1, r3
- ldr r2, _0809DB6C @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_0809DB30:
- movs r0, 0x10
- strh r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DB3C: .4byte gUnknown_203998C
-_0809DB40: .4byte 0x00001e10
-_0809DB44: .4byte 0x00001e18
-_0809DB48: .4byte 0x00001e1a
-_0809DB4C: .4byte 0x00001e1c
-_0809DB50: .4byte 0x00001e21
-_0809DB54: .4byte 0x00001e28
-_0809DB58: .4byte gUnknown_83E248C
-_0809DB5C: .4byte 0x00001e22
-_0809DB60: .4byte 0x00001e16
-_0809DB64: .4byte gKeyRepeatStartDelay
-_0809DB68: .4byte 0x00001e25
-_0809DB6C: .4byte 0x00001e30
- thumb_func_end sub_809DA84
-
- thumb_func_start sub_809DB70
-sub_809DB70: @ 809DB70
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _0809DBAC @ =gSprites
- movs r5, 0x5
- negs r5, r5
-_0809DB7A:
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r4
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- lsls r0, r1, 31
- cmp r0, 0
- beq _0809DB94
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_0809DB94:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3F
- bls _0809DB7A
- movs r0, 0
- bl sub_809EA0C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DBAC: .4byte gSprites
- thumb_func_end sub_809DB70
-
- thumb_func_start choose_name_or_words_screen_init_bgs
-choose_name_or_words_screen_init_bgs: @ 809DBB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0xC
- mov r8, r0
- add r2, sp, 0x8
- movs r6, 0
- ldr r1, _0809DD44 @ =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0809DD48 @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0809DBD6:
- strh r6, [r2]
- add r0, sp, 0x8
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0809DBD6
- strh r6, [r2]
- add r2, sp, 0x8
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0xC]
- ldr r2, _0809DD44 @ =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x8
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _0809DD4C @ =gUnknown_83E2290
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- 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
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- bl InitStandardTextBoxWindows
- bl ResetBg0
-_0809DCA4:
- lsls r0, r4, 3
- ldr r1, _0809DD50 @ =gUnknown_83E22A0
- adds r0, r1
- bl AddWindow
- ldr r5, _0809DD54 @ =gUnknown_203998C
- ldr r1, [r5]
- ldr r2, _0809DD58 @ =0x00001e11
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0809DCA4
- movs r1, 0x82
- lsls r1, 5
- movs r0, 0
- bl SetGpuReg
- movs r1, 0xC8
- lsls r1, 3
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, _0809DD5C @ =0x0000080c
- movs r0, 0x52
- bl SetGpuReg
- ldr r1, [r5]
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- movs r0, 0x2
- bl SetBgTilemapBuffer
- ldr r1, [r5]
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- movs r0, 0x3
- bl SetBgTilemapBuffer
- movs r4, 0x20
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DD44: .4byte 0x040000d4
-_0809DD48: .4byte 0x81000800
-_0809DD4C: .4byte gUnknown_83E2290
-_0809DD50: .4byte gUnknown_83E22A0
-_0809DD54: .4byte gUnknown_203998C
-_0809DD58: .4byte 0x00001e11
-_0809DD5C: .4byte 0x0000080c
- thumb_func_end choose_name_or_words_screen_init_bgs
-
- thumb_func_start sub_809DD60
-sub_809DD60: @ 809DD60
- push {lr}
- ldr r0, _0809DD80 @ =sub_809DD88
- movs r1, 0x2
- bl CreateTask
- ldr r0, _0809DD84 @ =sub_809FB70
- bl SetMainCallback2
- bl HelpSystem_BackupSomeVariable
- movs r0, 0x3
- bl HelpSystem_SetSomeVariable2
- pop {r0}
- bx r0
- .align 2, 0
-_0809DD80: .4byte sub_809DD88
-_0809DD84: .4byte sub_809FB70
- thumb_func_end sub_809DD60
-
- thumb_func_start sub_809DD88
-sub_809DD88: @ 809DD88
- push {lr}
- ldr r0, _0809DDA4 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809DDA8 @ =0x00001e10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _0809DE1A
- lsls r0, 2
- ldr r1, _0809DDAC @ =_0809DDB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DDA4: .4byte gUnknown_203998C
-_0809DDA8: .4byte 0x00001e10
-_0809DDAC: .4byte _0809DDB0
- .align 2, 0
-_0809DDB0:
- .4byte _0809DDD8
- .4byte _0809DDE6
- .4byte _0809DDEC
- .4byte _0809DDF2
- .4byte _0809DDF8
- .4byte _0809DDFE
- .4byte _0809DE04
- .4byte _0809DE0A
- .4byte _0809DE10
- .4byte _0809DE16
-_0809DDD8:
- bl sub_809DE70
- bl sub_809DB70
- bl sub_809FB9C
- b _0809DE1A
-_0809DDE6:
- bl sub_809DF28
- b _0809DE1A
-_0809DDEC:
- bl sub_809DF64
- b _0809DE1A
-_0809DDF2:
- bl sub_809DF74
- b _0809DE1A
-_0809DDF8:
- bl sub_809E210
- b _0809DE1A
-_0809DDFE:
- bl sub_809E250
- b _0809DE1A
-_0809DE04:
- bl pokemon_store
- b _0809DE1A
-_0809DE0A:
- bl sub_809E1D4
- b _0809DE1A
-_0809DE10:
- bl sub_809E014
- b _0809DE1A
-_0809DE16:
- bl sub_809E048
-_0809DE1A:
- pop {r0}
- bx r0
- thumb_func_end sub_809DD88
-
- thumb_func_start sub_809DE20
-sub_809DE20: @ 809DE20
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809DE2C @ =gUnknown_83E234B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE2C: .4byte gUnknown_83E234B
- thumb_func_end sub_809DE20
-
- thumb_func_start sub_809DE30
-sub_809DE30: @ 809DE30
- ldr r1, _0809DE44 @ =gUnknown_83E234E
- ldr r0, _0809DE48 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809DE4C @ =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE44: .4byte gUnknown_83E234E
-_0809DE48: .4byte gUnknown_203998C
-_0809DE4C: .4byte 0x00001e22
- thumb_func_end sub_809DE30
-
- thumb_func_start sub_809DE50
-sub_809DE50: @ 809DE50
- ldr r1, _0809DE64 @ =gUnknown_83E2351
- ldr r0, _0809DE68 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809DE6C @ =0x00001e22
- adds r0, r2
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809DE64: .4byte gUnknown_83E2351
-_0809DE68: .4byte gUnknown_203998C
-_0809DE6C: .4byte 0x00001e22
- thumb_func_end sub_809DE50
-
- thumb_func_start sub_809DE70
-sub_809DE70: @ 809DE70
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r1, _0809DF08 @ =gUnknown_8E982BC
- movs r0, 0x3
- bl sub_809F900
- ldr r5, _0809DF0C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809DF10 @ =0x00001e22
- adds r0, r1
- movs r6, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _0809DF14 @ =gUnknown_8E98458
- movs r0, 0x2
- bl sub_809F900
- ldr r1, _0809DF18 @ =gUnknown_8E98398
- movs r0, 0x1
- bl sub_809F900
- ldr r0, [r5]
- ldr r1, _0809DF1C @ =0x00001e12
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_809F9E8
- ldr r0, [r5]
- ldr r1, _0809DF20 @ =0x00001e11
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_809F9E8
- bl sub_809F914
- bl sub_809F56C
- bl sub_809FAE4
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, [r5]
- ldr r0, _0809DF24 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF08: .4byte gUnknown_8E982BC
-_0809DF0C: .4byte gUnknown_203998C
-_0809DF10: .4byte 0x00001e22
-_0809DF14: .4byte gUnknown_8E98458
-_0809DF18: .4byte gUnknown_8E98398
-_0809DF1C: .4byte 0x00001e12
-_0809DF20: .4byte 0x00001e11
-_0809DF24: .4byte 0x00001e10
- thumb_func_end sub_809DE70
-
- thumb_func_start sub_809DF28
-sub_809DF28: @ 809DF28
- push {lr}
- ldr r0, _0809DF58 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809DF50
- movs r0, 0x1
- bl SetInputState
- movs r0, 0x1
- bl sub_809EA64
- ldr r0, _0809DF5C @ =gUnknown_203998C
- ldr r1, [r0]
- ldr r0, _0809DF60 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0809DF50:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF58: .4byte gPaletteFade
-_0809DF5C: .4byte gUnknown_203998C
-_0809DF60: .4byte 0x00001e10
- thumb_func_end sub_809DF28
-
- thumb_func_start sub_809DF64
-sub_809DF64: @ 809DF64
- push {lr}
- bl sub_809F0CC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809DF64
-
- thumb_func_start sub_809DF74
-sub_809DF74: @ 809DF74
- push {lr}
- bl sub_809EAD4
- lsls r0, 24
- cmp r0, 0
- beq _0809DF96
- movs r0, 0x1
- bl SetInputState
- bl sub_809E9F8
- ldr r0, _0809DF9C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809DFA0 @ =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
-_0809DF96:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809DF9C: .4byte gUnknown_203998C
-_0809DFA0: .4byte 0x00001e10
- thumb_func_end sub_809DF74
-
- thumb_func_start pokemon_store
-pokemon_store: @ 809DFA4
- push {r4,lr}
- bl sub_809F7EC
- movs r0, 0
- bl SetInputState
- movs r0, 0
- bl sub_809EA64
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
- ldr r4, _0809DFEC @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809DFF0 @ =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0809DFF8
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _0809DFF8
- bl pokemon_transfer_to_pc_with_message
- ldr r0, [r4]
- ldr r1, _0809DFF4 @ =0x00001e10
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- b _0809E006
- .align 2, 0
-_0809DFEC: .4byte gUnknown_203998C
-_0809DFF0: .4byte 0x00001e2c
-_0809DFF4: .4byte 0x00001e10
-_0809DFF8:
- ldr r0, _0809E00C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E010 @ =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0x1
-_0809E006:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E00C: .4byte gUnknown_203998C
-_0809E010: .4byte 0x00001e10
- thumb_func_end pokemon_store
-
- thumb_func_start sub_809E014
-sub_809E014: @ 809E014
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0809E040 @ =gUnknown_203998C
- ldr r1, [r0]
- ldr r0, _0809E044 @ =0x00001e10
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_0809E040: .4byte gUnknown_203998C
-_0809E044: .4byte 0x00001e10
- thumb_func_end sub_809E014
-
- thumb_func_start sub_809E048
-sub_809E048: @ 809E048
- push {r4,r5,lr}
- ldr r0, _0809E0A0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809E096
- ldr r4, _0809E0A4 @ =gUnknown_203998C
- ldr r0, [r4]
- ldr r1, _0809E0A8 @ =0x00001e2c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809E06C
- bl SeedRngAndSetTrainerId
-_0809E06C:
- ldr r0, [r4]
- ldr r1, _0809E0AC @ =0x00001e3c
- adds r0, r1
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, _0809E0B0 @ =sub_809DD88
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, [r4]
- bl Free
- str r5, [r4]
- bl HelpSystem_RestoreSomeVariable
-_0809E096:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E0A0: .4byte gPaletteFade
-_0809E0A4: .4byte gUnknown_203998C
-_0809E0A8: .4byte 0x00001e2c
-_0809E0AC: .4byte 0x00001e3c
-_0809E0B0: .4byte sub_809DD88
- thumb_func_end sub_809E048
-
- thumb_func_start pokemon_transfer_to_pc_with_message
-pokemon_transfer_to_pc_with_message: @ 809E0B4
- push {r4,r5,lr}
- sub sp, 0x10
- movs r5, 0
- bl IsDestinationBoxFull
- lsls r0, 24
- cmp r0, 0
- bne _0809E104
- ldr r4, _0809E0F0 @ =gStringVar1
- ldr r0, _0809E0F4 @ =0x00004037
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _0809E0F8 @ =gStringVar2
- ldr r1, _0809E0FC @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E100 @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _0809E144
- .align 2, 0
-_0809E0F0: .4byte gStringVar1
-_0809E0F4: .4byte 0x00004037
-_0809E0F8: .4byte gStringVar2
-_0809E0FC: .4byte gUnknown_203998C
-_0809E100: .4byte 0x00001e30
-_0809E104:
- ldr r4, _0809E1AC @ =gStringVar1
- ldr r0, _0809E1B0 @ =0x00004037
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _0809E1B4 @ =gStringVar2
- ldr r1, _0809E1B8 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E1BC @ =0x00001e30
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r4, _0809E1C0 @ =gStringVar3
- bl GetPCBoxToSendMon
- lsls r0, 24
- lsrs r0, 24
- bl GetBoxNamePtr
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- movs r5, 0x2
-_0809E144:
- ldr r0, _0809E1C4 @ =0x00000834
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809E156
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0809E156:
- ldr r4, _0809E1C8 @ =gStringVar4
- ldr r1, _0809E1CC @ =gUnknown_83E2280
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r0, 0
- movs r1, 0
- bl DrawDialogueFrame
- ldr r2, _0809E1D0 @ =gTextFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- bl GetTextSpeedSetting
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- 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, 0x2
- adds r2, r4, 0
- bl AddTextPrinterParameterized2
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E1AC: .4byte gStringVar1
-_0809E1B0: .4byte 0x00004037
-_0809E1B4: .4byte gStringVar2
-_0809E1B8: .4byte gUnknown_203998C
-_0809E1BC: .4byte 0x00001e30
-_0809E1C0: .4byte gStringVar3
-_0809E1C4: .4byte 0x00000834
-_0809E1C8: .4byte gStringVar4
-_0809E1CC: .4byte gUnknown_83E2280
-_0809E1D0: .4byte gTextFlags
- thumb_func_end pokemon_transfer_to_pc_with_message
-
- thumb_func_start sub_809E1D4
-sub_809E1D4: @ 809E1D4
- push {lr}
- bl RunTextPrinters
- movs r0, 0
- bl IsTextPrinterActive
- lsls r0, 16
- cmp r0, 0
- bne _0809E1FE
- ldr r0, _0809E204 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E1FE
- ldr r0, _0809E208 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E20C @ =0x00001e10
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
-_0809E1FE:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E204: .4byte gMain
-_0809E208: .4byte gUnknown_203998C
-_0809E20C: .4byte 0x00001e10
- thumb_func_end sub_809E1D4
-
- thumb_func_start sub_809E210
-sub_809E210: @ 809E210
- push {lr}
- movs r0, 0
- bl SetInputState
- bl sub_809EC20
- bl sub_809E30C
- movs r0, 0x1
- bl sub_809EA0C
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
- movs r0, 0x6
- bl PlaySE
- ldr r0, _0809E248 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809E24C @ =0x00001e10
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E248: .4byte gUnknown_203998C
-_0809E24C: .4byte 0x00001e10
- thumb_func_end sub_809E210
-
- thumb_func_start sub_809E250
-sub_809E250: @ 809E250
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_809E364
- lsls r0, 24
- cmp r0, 0
- beq _0809E302
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_809E9CC
- bl sub_809EB40
- movs r5, 0
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 24
- lsrs r0, 24
- adds r6, r4, 0
- cmp r1, r0
- bne _0809E282
- movs r5, 0x1
-_0809E282:
- ldr r2, _0809E2B8 @ =gUnknown_203998C
- ldr r0, [r2]
- ldr r1, _0809E2BC @ =0x00001e10
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, [r2]
- ldr r3, _0809E2C0 @ =0x00001e22
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r4, [r2]
- adds r4, r3
- ldrb r0, [r4]
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4]
- cmp r5, 0
- beq _0809E2C4
- mov r4, sp
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- b _0809E2E2
- .align 2, 0
-_0809E2B8: .4byte gUnknown_203998C
-_0809E2BC: .4byte 0x00001e10
-_0809E2C0: .4byte 0x00001e22
-_0809E2C4:
- mov r0, sp
- movs r2, 0
- ldrsh r4, [r0, r2]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0809E2E4
- mov r4, sp
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
-_0809E2E2:
- strh r0, [r4]
-_0809E2E4:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl sub_809E948
- bl sub_809FA60
- movs r0, 0x1
- bl SetInputState
- movs r0, 0
- bl sub_809EA0C
-_0809E302:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809E250
-
- thumb_func_start sub_809E30C
-sub_809E30C: @ 809E30C
- push {r4,lr}
- ldr r4, _0809E328 @ =sub_809E32C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E328: .4byte sub_809E32C
- thumb_func_end sub_809E30C
-
- thumb_func_start sub_809E32C
-sub_809E32C: @ 809E32C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0809E35C @ =gUnknown_83E2354
- ldr r2, _0809E360 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_0809E33E:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0809E33E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E35C: .4byte gUnknown_83E2354
-_0809E360: .4byte gTasks
- thumb_func_end sub_809E32C
-
- thumb_func_start sub_809E364
-sub_809E364: @ 809E364
- push {lr}
- ldr r0, _0809E378 @ =sub_809E32C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0809E37C
- movs r0, 0
- b _0809E37E
- .align 2, 0
-_0809E378: .4byte sub_809E32C
-_0809E37C:
- movs r0, 0x1
-_0809E37E:
- pop {r1}
- bx r1
- thumb_func_end sub_809E364
-
- thumb_func_start sub_809E384
-sub_809E384: @ 809E384
- ldr r1, _0809E3A0 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r3, _0809E3A4 @ =0x00001e18
- adds r2, r1, r3
- movs r3, 0
- strh r3, [r2]
- ldr r2, _0809E3A8 @ =0x00001e1a
- adds r1, r2
- strh r3, [r1]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_0809E3A0: .4byte gUnknown_203998C
-_0809E3A4: .4byte 0x00001e18
-_0809E3A8: .4byte 0x00001e1a
- thumb_func_end sub_809E384
-
- thumb_func_start sub_809E3AC
-sub_809E3AC: @ 809E3AC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, _0809E42C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r2, _0809E430 @ =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r1, _0809E434 @ =0x00001e18
- adds r0, r1
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r2, _0809E438 @ =0x00001e21
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _0809E422
- ldr r0, [r5]
- ldr r1, _0809E43C @ =0x00001e1c
- adds r2, r0, r1
- ldrb r3, [r2]
- adds r1, 0x2
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r2]
- strh r3, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0809E422:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E42C: .4byte gUnknown_203998C
-_0809E430: .4byte 0x00001e1a
-_0809E434: .4byte 0x00001e18
-_0809E438: .4byte 0x00001e21
-_0809E43C: .4byte 0x00001e1c
- thumb_func_end sub_809E3AC
-
- thumb_func_start sub_809E440
-sub_809E440: @ 809E440
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r5, _0809E4C4 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r2, _0809E4C8 @ =0x00001e1a
- adds r1, r0, r2
- str r1, [sp]
- ldr r3, _0809E4CC @ =0x00001e18
- adds r0, r3
- str r0, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldr r1, [r5]
- ldr r3, _0809E4D0 @ =0x00001e21
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _0809E4BA
- ldr r0, [r5]
- movs r2, 0xF1
- lsls r2, 5
- adds r1, r0, r2
- ldrb r2, [r1]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r5]
- adds r0, r3
- strb r2, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0809E4BA:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E4C4: .4byte gUnknown_203998C
-_0809E4C8: .4byte 0x00001e1a
-_0809E4CC: .4byte 0x00001e18
-_0809E4D0: .4byte 0x00001e21
- thumb_func_end sub_809E440
-
- thumb_func_start sub_809E4D4
-sub_809E4D4: @ 809E4D4
- push {lr}
- ldr r0, _0809E4EC @ =sub_809E32C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809E4EC: .4byte sub_809E32C
- thumb_func_end sub_809E4D4
-
- thumb_func_start sub_809E4F0
-sub_809E4F0: @ 809E4F0
- push {lr}
- ldr r0, _0809E510 @ =c3_0809E58C
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809E514 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x3
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_0809E510: .4byte c3_0809E58C
-_0809E514: .4byte gTasks
- thumb_func_end sub_809E4F0
-
- thumb_func_start sub_809E518
-sub_809E518: @ 809E518
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _0809E550 @ =c3_0809E58C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0809E554 @ =gTasks
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _0809E558
- cmp r6, 0
- bne _0809E558
- strh r7, [r4, 0xA]
- movs r0, 0x1
- strh r0, [r4, 0xC]
- b _0809E584
- .align 2, 0
-_0809E550: .4byte c3_0809E58C
-_0809E554: .4byte gTasks
-_0809E558:
- cmp r5, 0x3
- bne _0809E568
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _0809E568
- cmp r6, 0
- beq _0809E584
-_0809E568:
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _0809E57A
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_809E6B8
-_0809E57A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_809E6E0
-_0809E584:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E518
-
- thumb_func_start c3_0809E58C
-c3_0809E58C: @ 809E58C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0809E5F4 @ =gTasks
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _0809E63E
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809E63E
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_809E644
- lsls r0, 16
- lsrs r0, 16
- ldrb r3, [r4, 0xE]
- adds r1, r3, 0
- adds r2, r3, 0
- bl MultiplyInvertedPaletteRGBComponents
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E5D8
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _0809E63E
-_0809E5D8:
- movs r0, 0x2
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r0, 0
- blt _0809E602
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0xD
- bgt _0809E5F8
- adds r0, r2, r1
- b _0809E606
- .align 2, 0
-_0809E5F4: .4byte gTasks
-_0809E5F8:
- movs r0, 0x10
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- b _0809E60C
-_0809E602:
- ldrh r3, [r4, 0xE]
- adds r0, r1, r3
-_0809E606:
- strh r0, [r4, 0xE]
- ldrh r2, [r4, 0x14]
- adds r0, r1, r2
-_0809E60C:
- strh r0, [r4, 0x14]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- ldrh r1, [r4, 0xE]
- cmp r0, 0x10
- bne _0809E62C
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0x16
- bne _0809E62C
- ldr r0, _0809E628 @ =0x0000fffc
- strh r0, [r4, 0x10]
- b _0809E63E
- .align 2, 0
-_0809E628: .4byte 0x0000fffc
-_0809E62C:
- lsls r0, r1, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _0809E63E
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0x2
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x14]
-_0809E63E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end c3_0809E58C
-
- thumb_func_start sub_809E644
-sub_809E644: @ 809E644
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x87
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- add r6, sp, 0x8
- strh r0, [r6]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- mov r1, sp
- adds r1, 0xA
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- add r1, sp, 0xC
- strh r0, [r1]
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- ldr r1, _0809E6B4 @ =0x00000101
- adds r0, r1
- mov r1, sp
- adds r1, 0xE
- strh r0, [r1]
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x8
- bl memcpy
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrh r0, [r0]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809E6B4: .4byte 0x00000101
- thumb_func_end sub_809E644
-
- thumb_func_start sub_809E6B8
-sub_809E6B8: @ 809E6B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_809E644
- lsls r0, 16
- ldr r2, _0809E6D8 @ =gPlttBufferFaded
- lsrs r0, 15
- adds r2, r0, r2
- ldr r1, _0809E6DC @ =gPlttBufferUnfaded
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809E6D8: .4byte gPlttBufferFaded
-_0809E6DC: .4byte gPlttBufferUnfaded
- thumb_func_end sub_809E6B8
-
- thumb_func_start sub_809E6E0
-sub_809E6E0: @ 809E6E0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- movs r2, 0x4
- strh r2, [r0, 0xE]
- movs r1, 0x2
- strh r1, [r0, 0x10]
- strh r3, [r0, 0x12]
- strh r2, [r0, 0x14]
- bx lr
- thumb_func_end sub_809E6E0
-
- thumb_func_start sub_809E700
-sub_809E700: @ 809E700
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809E718
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
-_0809E718:
- ldrh r0, [r5, 0x36]
- movs r1, 0xFF
- ands r1, r0
- adds r6, r5, 0
- adds r6, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809E74C
- ldrb r0, [r6]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r6]
-_0809E74C:
- ldrb r1, [r6]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0809E77C
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0809E77C
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0809E77C
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r2, 0x34
- ldrsh r0, [r5, r2]
- cmp r1, r0
- beq _0809E786
-_0809E77C:
- movs r0, 0
- strh r0, [r5, 0x38]
- movs r0, 0x2
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
-_0809E786:
- ldrh r0, [r5, 0x3C]
- subs r0, 0x1
- strh r0, [r5, 0x3C]
- lsls r0, 16
- cmp r0, 0
- bne _0809E7AE
- ldrh r1, [r5, 0x3A]
- ldrh r2, [r5, 0x38]
- adds r0, r1, r2
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _0809E7A6
- cmp r0, 0
- bne _0809E7AA
-_0809E7A6:
- negs r0, r1
- strh r0, [r5, 0x3A]
-_0809E7AA:
- movs r0, 0x2
- strh r0, [r5, 0x3C]
-_0809E7AE:
- movs r1, 0x36
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _0809E7E4
- ldrh r4, [r5, 0x38]
- lsls r5, r4, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 17
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, _0809E7EC @ =0x01010000
- adds r0, r2
- lsrs r0, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r5, 0
- bl MultiplyInvertedPaletteRGBComponents
-_0809E7E4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E7EC: .4byte 0x01010000
- thumb_func_end sub_809E700
-
- thumb_func_start sub_809E7F0
-sub_809E7F0: @ 809E7F0
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _0809E838 @ =gUnknown_83E2364
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809E814
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _0809E822
-_0809E814:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
-_0809E822:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E838: .4byte gUnknown_83E2364
- thumb_func_end sub_809E7F0
-
- thumb_func_start sub_809E83C
-sub_809E83C: @ 809E83C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _0809E864 @ =gUnknown_83E236C
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl sub_809F668
- lsls r0, 24
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- cmp r0, r1
- beq _0809E868
- movs r0, 0
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x30]
- b _0809E88E
- .align 2, 0
-_0809E864: .4byte gUnknown_83E236C
-_0809E868:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _0809E890
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r0, 0
-_0809E88E:
- strh r0, [r4, 0x32]
-_0809E890:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809E83C
-
- thumb_func_start sub_809E898
-sub_809E898: @ 809E898
- push {lr}
- bl sub_809E8B4
- bl sub_809EB5C
- bl sub_809EDE8
- bl sub_809EE60
- bl sub_809EF24
- pop {r0}
- bx r0
- thumb_func_end sub_809E898
-
- thumb_func_start sub_809E8B4
-sub_809E8B4: @ 809E8B4
- push {r4-r6,lr}
- ldr r0, _0809E938 @ =gUnknown_83E25EC
- movs r1, 0x26
- movs r2, 0x58
- movs r3, 0x1
- bl CreateSprite
- ldr r5, _0809E93C @ =gUnknown_203998C
- ldr r1, [r5]
- ldr r4, _0809E940 @ =0x00001e23
- adds r1, r4
- strb r0, [r1]
- movs r0, 0x1
- bl sub_809EA0C
- ldr r6, _0809E944 @ =gSprites
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldr r2, [r5]
- adds r2, r4
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- strh r1, [r0, 0x3A]
- movs r0, 0
- movs r1, 0
- bl sub_809E948
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E938: .4byte gUnknown_83E25EC
-_0809E93C: .4byte gUnknown_203998C
-_0809E940: .4byte 0x00001e23
-_0809E944: .4byte gSprites
- thumb_func_end sub_809E8B4
-
- thumb_func_start sub_809E948
-sub_809E948: @ 809E948
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, _0809E994 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809E998 @ =0x00001e23
- adds r1, r2
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _0809E99C @ =gSprites
- adds r5, r1, r2
- lsrs r1, r0, 16
- mov r8, r1
- asrs r6, r0, 16
- ldr r4, _0809E9A0 @ =gUnknown_83E2330
- bl sub_809DE50
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- cmp r6, r0
- bge _0809E9A8
- bl sub_809DE50
- ldr r1, _0809E9A4 @ =gUnknown_83E2333
- lsls r0, 24
- lsrs r0, 21
- adds r0, r6, r0
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x26
- b _0809E9AA
- .align 2, 0
-_0809E994: .4byte gUnknown_203998C
-_0809E998: .4byte 0x00001e23
-_0809E99C: .4byte gSprites
-_0809E9A0: .4byte gUnknown_83E2330
-_0809E9A4: .4byte gUnknown_83E2333
-_0809E9A8:
- movs r0, 0
-_0809E9AA:
- strh r0, [r5, 0x20]
- lsls r0, r7, 16
- asrs r0, 12
- adds r0, 0x58
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- strh r0, [r5, 0x34]
- mov r2, r8
- strh r2, [r5, 0x2E]
- strh r7, [r5, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E948
-
- thumb_func_start sub_809E9CC
-sub_809E9CC: @ 809E9CC
- ldr r2, _0809E9EC @ =gUnknown_203998C
- ldr r2, [r2]
- ldr r3, _0809E9F0 @ =0x00001e23
- adds r2, r3
- ldrb r3, [r2]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, _0809E9F4 @ =gSprites
- adds r2, r3
- ldrh r3, [r2, 0x2E]
- strh r3, [r0]
- ldrh r0, [r2, 0x30]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0809E9EC: .4byte gUnknown_203998C
-_0809E9F0: .4byte 0x00001e23
-_0809E9F4: .4byte gSprites
- thumb_func_end sub_809E9CC
-
- thumb_func_start sub_809E9F8
-sub_809E9F8: @ 809E9F8
- push {lr}
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_809E948
- pop {r0}
- bx r0
- thumb_func_end sub_809E9F8
-
- thumb_func_start sub_809EA0C
-sub_809EA0C: @ 809EA0C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0809EA54 @ =gSprites
- ldr r1, _0809EA58 @ =gUnknown_203998C
- ldr r4, [r1]
- ldr r1, _0809EA5C @ =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- ldr r1, _0809EA60 @ =0xffffff00
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EA54: .4byte gSprites
-_0809EA58: .4byte gUnknown_203998C
-_0809EA5C: .4byte 0x00001e23
-_0809EA60: .4byte 0xffffff00
- thumb_func_end sub_809EA0C
-
- thumb_func_start sub_809EA64
-sub_809EA64: @ 809EA64
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, _0809EA9C @ =gSprites
- ldr r1, _0809EAA0 @ =gUnknown_203998C
- ldr r4, [r1]
- ldr r1, _0809EAA4 @ =0x00001e23
- adds r4, r1
- ldrb r1, [r4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- movs r1, 0xFF
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsrs r0, 16
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EA9C: .4byte gSprites
-_0809EAA0: .4byte gUnknown_203998C
-_0809EAA4: .4byte 0x00001e23
- thumb_func_end sub_809EA64
-
- thumb_func_start sub_809EAA8
-sub_809EAA8: @ 809EAA8
- push {lr}
- ldr r0, _0809EAC8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EACC @ =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809EAD0 @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_0809EAC8: .4byte gUnknown_203998C
-_0809EACC: .4byte 0x00001e23
-_0809EAD0: .4byte gSprites
- thumb_func_end sub_809EAA8
-
- thumb_func_start sub_809EAD4
-sub_809EAD4: @ 809EAD4
- ldr r2, _0809EAF4 @ =gSprites
- ldr r0, _0809EAF8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EAFC @ =0x00001e23
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_0809EAF4: .4byte gSprites
-_0809EAF8: .4byte gUnknown_203998C
-_0809EAFC: .4byte 0x00001e23
- thumb_func_end sub_809EAD4
-
- thumb_func_start sub_809EB00
-sub_809EB00: @ 809EB00
- push {r4,r5,lr}
- sub sp, 0x4
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl sub_809E9CC
- mov r0, sp
- movs r1, 0
- ldrsh r4, [r0, r1]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _0809EB34
- ldr r0, _0809EB30 @ =gUnknown_83E2374
- movs r2, 0
- ldrsh r1, [r5, r2]
- adds r1, r0
- ldrb r0, [r1]
- b _0809EB36
- .align 2, 0
-_0809EB30: .4byte gUnknown_83E2374
-_0809EB34:
- movs r0, 0
-_0809EB36:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809EB00
-
- thumb_func_start sub_809EB40
-sub_809EB40: @ 809EB40
- push {r4,lr}
- ldr r4, _0809EB58 @ =gUnknown_83E2330
- bl sub_809DE50
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809EB58: .4byte gUnknown_83E2330
- thumb_func_end sub_809EB40
-
- thumb_func_start sub_809EB5C
-sub_809EB5C: @ 809EB5C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0809EC00 @ =gUnknown_83E2574
- movs r1, 0xCC
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809EC04 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809EC08 @ =0x00001e24
- adds r1, r2
- strb r0, [r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r0, _0809EC0C @ =gSprites
- mov r8, r0
- add r5, r8
- ldr r1, _0809EC10 @ =gUnknown_83E2504
- adds r0, r5, 0
- bl SetSubspriteTables
- adds r1, r5, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r6, 0x4
- orrs r0, r6
- strb r0, [r1]
- ldr r0, _0809EC14 @ =gUnknown_83E25A4
- movs r1, 0xCC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- add r4, r8
- ldr r1, _0809EC18 @ =gUnknown_83E250C
- adds r0, r4, 0
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r6
- strb r0, [r4]
- ldr r0, _0809EC1C @ =gUnknown_83E258C
- movs r1, 0xCC
- movs r2, 0x53
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- orrs r1, r6
- strb r1, [r2, 0x5]
- strh r0, [r5, 0x3C]
- adds r2, 0x3E
- ldrb r0, [r2]
- orrs r0, r6
- strb r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EC00: .4byte gUnknown_83E2574
-_0809EC04: .4byte gUnknown_203998C
-_0809EC08: .4byte 0x00001e24
-_0809EC0C: .4byte gSprites
-_0809EC10: .4byte gUnknown_83E2504
-_0809EC14: .4byte gUnknown_83E25A4
-_0809EC18: .4byte gUnknown_83E250C
-_0809EC1C: .4byte gUnknown_83E258C
- thumb_func_end sub_809EB5C
-
- thumb_func_start sub_809EC20
-sub_809EC20: @ 809EC20
- ldr r0, _0809EC44 @ =gUnknown_203998C
- ldr r2, [r0]
- ldr r1, _0809EC48 @ =0x00001e24
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809EC4C @ =gSprites
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldr r1, _0809EC50 @ =0x00001e22
- adds r2, r1
- ldrb r1, [r2]
- strh r1, [r0, 0x30]
- bx lr
- .align 2, 0
-_0809EC44: .4byte gUnknown_203998C
-_0809EC48: .4byte 0x00001e24
-_0809EC4C: .4byte gSprites
-_0809EC50: .4byte 0x00001e22
- thumb_func_end sub_809EC20
-
- thumb_func_start sub_809EC54
-sub_809EC54: @ 809EC54
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _0809EC78 @ =gUnknown_83E2378
-_0809EC5A:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0809EC5A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EC78: .4byte gUnknown_83E2378
- thumb_func_end sub_809EC54
-
- thumb_func_start sub_809EC7C
-sub_809EC7C: @ 809EC7C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- ldr r1, _0809ECC4 @ =gSprites
- adds r5, r1
- movs r2, 0x3C
- ldrsh r0, [r6, r2]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- ldr r0, _0809ECC8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809ECCC @ =0x00001e22
- adds r0, r1
- ldrb r0, [r0]
- bl sub_809DE20
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_809ED88
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ECC4: .4byte gSprites
-_0809ECC8: .4byte gUnknown_203998C
-_0809ECCC: .4byte 0x00001e22
- thumb_func_end sub_809EC7C
-
- thumb_func_start sub_809ECD0
-sub_809ECD0: @ 809ECD0
- movs r0, 0
- bx lr
- thumb_func_end sub_809ECD0
-
- thumb_func_start sub_809ECD4
-sub_809ECD4: @ 809ECD4
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, _0809ED40 @ =gSprites
- adds r4, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _0809ED38
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, _0809ED44 @ =0x0000fffc
- strh r0, [r4, 0x26]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- bl sub_809DE20
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809ED88
-_0809ED38:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ED40: .4byte gSprites
-_0809ED44: .4byte 0x0000fffc
- thumb_func_end sub_809ECD4
-
- thumb_func_start sub_809ED48
-sub_809ED48: @ 809ED48
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809ED84 @ =gSprites
- adds r2, r0, r1
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _0809ED7C
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_0809ED7C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ED84: .4byte gSprites
- thumb_func_end sub_809ED48
-
- thumb_func_start sub_809ED88
-sub_809ED88: @ 809ED88
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0809EDE0 @ =gUnknown_83E2388
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- mov r1, r8
- ldrb r2, [r1, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- mov r0, r8
- strb r1, [r0, 0x5]
- ldr r0, _0809EDE4 @ =gUnknown_83E238E
- adds r4, r0
- ldrh r0, [r4]
- bl GetSpriteTileStartByTag
- adds r1, r6, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r6, 0x42
- movs r1, 0x3F
- ands r1, r5
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EDE0: .4byte gUnknown_83E2388
-_0809EDE4: .4byte gUnknown_83E238E
- thumb_func_end sub_809ED88
-
- thumb_func_start sub_809EDE8
-sub_809EDE8: @ 809EDE8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0809EE50 @ =gUnknown_83E25BC
- movs r1, 0xCC
- movs r2, 0x74
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r6, _0809EE54 @ =gSprites
- adds r4, r6
- ldr r0, _0809EE58 @ =gUnknown_83E2524
- mov r8, r0
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x4
- orrs r0, r5
- strb r0, [r4]
- ldr r0, _0809EE5C @ =gUnknown_83E25D4
- movs r1, 0xCC
- movs r2, 0x8C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- adds r0, r4, 0
- mov r1, r8
- bl SetSubspriteTables
- adds r4, 0x3E
- ldrb r0, [r4]
- orrs r0, r5
- strb r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EE50: .4byte gUnknown_83E25BC
-_0809EE54: .4byte gSprites
-_0809EE58: .4byte gUnknown_83E2524
-_0809EE5C: .4byte gUnknown_83E25D4
- thumb_func_end sub_809EDE8
-
- thumb_func_start sub_809EE60
-sub_809EE60: @ 809EE60
- push {r4-r6,lr}
- ldr r5, _0809EF0C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809EF10 @ =0x00001e16
- adds r0, r4
- ldrh r1, [r0]
- subs r1, 0x5
- ldr r0, _0809EF14 @ =gUnknown_83E2604
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x38
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0809EF18 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, r0, r4
- ldrh r1, [r4]
- movs r5, 0
- ldr r2, _0809EF1C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcs _0809EF04
- adds r6, r3, 0
-_0809EEB2:
- lsls r1, 16
- asrs r4, r1, 16
- movs r0, 0xC0
- lsls r0, 10
- adds r1, r0
- asrs r1, 16
- ldr r0, _0809EF20 @ =gUnknown_83E261C
- movs r2, 0x3C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- strh r5, [r0, 0x2E]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x8
- lsls r4, 16
- lsrs r1, r4, 16
- ldr r0, _0809EF0C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809EF1C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcc _0809EEB2
-_0809EF04:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EF0C: .4byte gUnknown_203998C
-_0809EF10: .4byte 0x00001e16
-_0809EF14: .4byte gUnknown_83E2604
-_0809EF18: .4byte gSprites
-_0809EF1C: .4byte 0x00001e28
-_0809EF20: .4byte gUnknown_83E261C
- thumb_func_end sub_809EE60
-
- thumb_func_start sub_809EF24
-sub_809EF24: @ 809EF24
- push {lr}
- ldr r1, _0809EF44 @ =gUnknown_83E2394
- ldr r0, _0809EF48 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809EF4C @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809EF44: .4byte gUnknown_83E2394
-_0809EF48: .4byte gUnknown_203998C
-_0809EF4C: .4byte 0x00001e28
- thumb_func_end sub_809EF24
-
- thumb_func_start nullsub_54
-nullsub_54: @ 809EF50
- bx lr
- thumb_func_end nullsub_54
-
- thumb_func_start sub_809EF54
-sub_809EF54: @ 809EF54
- push {lr}
- sub sp, 0x4
- ldr r0, _0809EFA0 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809EFA4 @ =0x00001e34
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_805C7C8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809EFA8 @ =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- movs r2, 0x38
- movs r3, 0x25
- bl AddPseudoObjectEvent
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _0809EFAC @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x4
- bl StartSpriteAnim
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0809EFA0: .4byte gUnknown_203998C
-_0809EFA4: .4byte 0x00001e34
-_0809EFA8: .4byte SpriteCallbackDummy
-_0809EFAC: .4byte gSprites
- thumb_func_end sub_809EF54
-
- thumb_func_start sub_809EFB0
-sub_809EFB0: @ 809EFB0
- push {r4,lr}
- ldr r0, _0809EFE4 @ =gUnknown_83E2634
- movs r1, 0x38
- movs r2, 0x29
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _0809EFE8 @ =gSprites
- adds r4, r0
- ldr r1, _0809EFEC @ =gUnknown_83E252C
- adds r0, r4, 0
- bl SetSubspriteTables
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EFE4: .4byte gUnknown_83E2634
-_0809EFE8: .4byte gSprites
-_0809EFEC: .4byte gUnknown_83E252C
- thumb_func_end sub_809EFB0
-
- thumb_func_start sub_809EFF0
-sub_809EFF0: @ 809EFF0
- push {lr}
- sub sp, 0xC
- bl LoadMonIconPalettes
- ldr r0, _0809F038 @ =gUnknown_203998C
- ldr r3, [r0]
- ldr r1, _0809F03C @ =0x00001e34
- adds r0, r3, r1
- ldrh r0, [r0]
- ldr r1, _0809F040 @ =SpriteCallbackDummy
- movs r2, 0
- str r2, [sp]
- ldr r2, _0809F044 @ =0x00001e38
- adds r3, r2
- ldr r2, [r3]
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x28
- bl CreateMonIcon
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F048 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_0809F038: .4byte gUnknown_203998C
-_0809F03C: .4byte 0x00001e34
-_0809F040: .4byte SpriteCallbackDummy
-_0809F044: .4byte 0x00001e38
-_0809F048: .4byte gSprites
- thumb_func_end sub_809EFF0
-
- thumb_func_start sub_809F04C
-sub_809F04C: @ 809F04C
- push {r4,lr}
- sub sp, 0x2C
- ldr r0, _0809F0B8 @ =gUnknown_83E23C0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
- ldr r0, _0809F0BC @ =gUnknown_83E23C8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x24]
- str r1, [sp, 0x28]
- ldr r1, _0809F0C0 @ =SpriteCallbackDummy
- add r3, sp, 0x18
- movs r0, 0
- mov r2, sp
- bl MakeObjectTemplateFromObjectEventGraphicsInfo
- mov r2, sp
- add r0, sp, 0x1C
- ldrh r1, [r0, 0x6]
- strh r1, [r2]
- add r4, sp, 0x24
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0x2]
- ldr r1, _0809F0C4 @ =gUnknown_83E23BC
- str r1, [sp, 0x8]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0x38
- movs r2, 0x25
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F0C8 @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0x2C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F0B8: .4byte gUnknown_83E23C0
-_0809F0BC: .4byte gUnknown_83E23C8
-_0809F0C0: .4byte SpriteCallbackDummy
-_0809F0C4: .4byte gUnknown_83E23BC
-_0809F0C8: .4byte gSprites
- thumb_func_end sub_809F04C
-
- thumb_func_start sub_809F0CC
-sub_809F0CC: @ 809F0CC
- push {r4,r5,lr}
- bl GetInputEvent
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_809EB00
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0x8
- bne _0809F0EA
- bl sub_809F1F0
- b _0809F106
-_0809F0EA:
- cmp r4, 0x6
- bne _0809F0F4
- bl sub_809F700
- b _0809F114
-_0809F0F4:
- cmp r5, 0x9
- beq _0809F110
- ldr r1, _0809F10C @ =gUnknown_83E23D0
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_0809F106:
- lsls r0, 24
- lsrs r0, 24
- b _0809F116
- .align 2, 0
-_0809F10C: .4byte gUnknown_83E23D0
-_0809F110:
- bl sub_809E9F8
-_0809F114:
- movs r0, 0
-_0809F116:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809F0CC
-
- thumb_func_start sub_809F11C
-sub_809F11C: @ 809F11C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- bne _0809F156
- bl sub_809F75C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_809EAA8
- cmp r4, 0
- beq _0809F156
- movs r0, 0
- bl SetInputState
- ldr r0, _0809F160 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F164 @ =0x00001e10
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
-_0809F156:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F160: .4byte gUnknown_203998C
-_0809F164: .4byte 0x00001e10
- thumb_func_end sub_809F11C
-
- thumb_func_start KeyboardKeyHandler_Page
-KeyboardKeyHandler_Page: @ 809F168
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- beq _0809F182
- movs r0, 0
- b _0809F18A
-_0809F182:
- bl sub_809F1F0
- lsls r0, 24
- lsrs r0, 24
-_0809F18A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end KeyboardKeyHandler_Page
-
- thumb_func_start KeyboardKeyHandler_Backspace
-KeyboardKeyHandler_Backspace: @ 809F190
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- bne _0809F1AA
- bl sub_809F700
-_0809F1AA:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end KeyboardKeyHandler_Backspace
-
- thumb_func_start KeyboardKeyHandler_OK
-KeyboardKeyHandler_OK: @ 809F1B4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809E518
- cmp r4, 0x5
- beq _0809F1CE
- movs r0, 0
- b _0809F1E2
-_0809F1CE:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809F1E8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F1EC @ =0x00001e10
- adds r0, r1
- movs r1, 0x6
- strb r1, [r0]
- movs r0, 0x1
-_0809F1E2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F1E8: .4byte gUnknown_203998C
-_0809F1EC: .4byte 0x00001e10
- thumb_func_end KeyboardKeyHandler_OK
-
- thumb_func_start sub_809F1F0
-sub_809F1F0: @ 809F1F0
- ldr r0, _0809F200 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r1, _0809F204 @ =0x00001e10
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0x1
- bx lr
- .align 2, 0
-_0809F200: .4byte gUnknown_203998C
-_0809F204: .4byte 0x00001e10
- thumb_func_end sub_809F1F0
-
- thumb_func_start InputInit
-InputInit: @ 809F208
- push {lr}
- ldr r0, _0809F218 @ =sub_809F26C
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0809F218: .4byte sub_809F26C
- thumb_func_end InputInit
-
- thumb_func_start GetInputEvent
-GetInputEvent: @ 809F21C
- push {lr}
- ldr r0, _0809F238 @ =sub_809F26C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F23C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xA]
- pop {r1}
- bx r1
- .align 2, 0
-_0809F238: .4byte sub_809F26C
-_0809F23C: .4byte gTasks
- thumb_func_end GetInputEvent
-
- thumb_func_start SetInputState
-SetInputState: @ 809F240
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0809F264 @ =sub_809F26C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809F268 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F264: .4byte sub_809F26C
-_0809F268: .4byte gTasks
- thumb_func_end SetInputState
-
- thumb_func_start sub_809F26C
-sub_809F26C: @ 809F26C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0809F294 @ =gUnknown_83E23E0
- ldr r2, _0809F298 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_0809F294: .4byte gUnknown_83E23E0
-_0809F298: .4byte gTasks
- thumb_func_end sub_809F26C
-
- thumb_func_start InputState_Disabled
-InputState_Disabled: @ 809F29C
- movs r1, 0
- strh r1, [r0, 0xA]
- bx lr
- thumb_func_end InputState_Disabled
-
- thumb_func_start InputState_Enabled
-InputState_Enabled: @ 809F2A4
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldr r0, _0809F2C0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809F2C4
- movs r0, 0x5
- strh r0, [r2, 0xA]
- b _0809F2F4
- .align 2, 0
-_0809F2C0: .4byte gMain
-_0809F2C4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809F2D2
- movs r0, 0x6
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2D2:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809F2E0
- movs r0, 0x8
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2E0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0809F2EE
- movs r0, 0x9
- strh r0, [r2, 0xA]
- b _0809F2F4
-_0809F2EE:
- adds r0, r2, 0
- bl sub_809F2F8
-_0809F2F4:
- pop {r0}
- bx r0
- thumb_func_end InputState_Enabled
-
- thumb_func_start sub_809F2F8
-sub_809F2F8: @ 809F2F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- ldr r1, _0809F3E4 @ =gUnknown_83E23E8
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0xC
- mov r10, r0
- ldr r1, _0809F3E8 @ =gUnknown_83E23F2
- movs r2, 0xA
- bl memcpy
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x2C]
- ldr r1, _0809F3EC @ =gUnknown_83E23FC
- ldr r0, [sp, 0x2C]
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- adds r2, 0x20
- str r2, [sp, 0x30]
- ldr r1, _0809F3F0 @ =gUnknown_83E2404
- adds r0, r2, 0
- movs r2, 0x6
- bl memcpy
- add r4, sp, 0x28
- mov r5, sp
- adds r5, 0x2A
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809E9CC
- ldr r0, _0809F3F4 @ =gMain
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r1, r0, 31
- movs r0, 0x80
- ands r0, r2
- adds r6, r4, 0
- cmp r0, 0
- beq _0809F366
- movs r1, 0x2
-_0809F366:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809F370
- movs r1, 0x3
-_0809F370:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0809F37A
- movs r1, 0x4
-_0809F37A:
- ldrh r0, [r6]
- mov r8, r0
- lsls r1, 1
- mov r2, sp
- adds r7, r2, r1
- ldrh r0, [r7]
- add r0, r8
- strh r0, [r6]
- add r1, r10
- ldrh r0, [r1]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0
- bge _0809F3A6
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
-_0809F3A6:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- ble _0809F3BA
- movs r0, 0
- strh r0, [r6]
-_0809F3BA:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _0809F426
- movs r2, 0
- ldrsh r4, [r6, r2]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F3F8
- ldrh r0, [r5]
- mov r1, r9
- strh r0, [r1, 0xC]
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, [sp, 0x2C]
- adds r0, r1, r0
- b _0809F422
- .align 2, 0
-_0809F3E4: .4byte gUnknown_83E23E8
-_0809F3E8: .4byte gUnknown_83E23F2
-_0809F3EC: .4byte gUnknown_83E23FC
-_0809F3F0: .4byte gUnknown_83E2404
-_0809F3F4: .4byte gMain
-_0809F3F8:
- mov r2, r8
- lsls r4, r2, 16
- asrs r4, 16
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F426
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0809F418
- mov r2, r9
- ldrh r0, [r2, 0xC]
- b _0809F424
-_0809F418:
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r0, 1
- ldr r2, [sp, 0x30]
- adds r0, r2, r0
-_0809F422:
- ldrh r0, [r0]
-_0809F424:
- strh r0, [r5]
-_0809F426:
- movs r0, 0
- ldrsh r4, [r6, r0]
- bl sub_809EB40
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _0809F468
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bge _0809F442
- movs r0, 0x2
- strh r0, [r5]
-_0809F442:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- ble _0809F44E
- movs r0, 0
- strh r0, [r5]
-_0809F44E:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _0809F45E
- movs r0, 0x1
- mov r2, r9
- strh r0, [r2, 0xC]
- b _0809F480
-_0809F45E:
- cmp r0, 0x2
- bne _0809F480
- mov r1, r9
- strh r0, [r1, 0xC]
- b _0809F480
-_0809F468:
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bge _0809F474
- movs r0, 0x3
- strh r0, [r5]
-_0809F474:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x3
- ble _0809F480
- movs r0, 0
- strh r0, [r5]
-_0809F480:
- movs r2, 0
- ldrsh r0, [r6, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_809E948
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809F2F8
-
- thumb_func_start sub_809F49C
-sub_809F49C: @ 809F49C
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0809F4E4 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809F4E8 @ =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- ldr r2, _0809F4EC @ =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldr r2, [r1, 0x8]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F4E4: .4byte gUnknown_203998C
-_0809F4E8: .4byte 0x00001e14
-_0809F4EC: .4byte 0x00001e28
- thumb_func_end sub_809F49C
-
- thumb_func_start sub_809F4F0
-sub_809F4F0: @ 809F4F0
- push {r4,r5,lr}
- sub sp, 0x2C
- ldr r5, _0809F558 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809F55C @ =0x00001e34
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _0809F560 @ =gSpeciesNames
- adds r1, r0
- add r0, sp, 0xC
- bl StringCopy
- ldr r0, [r5]
- ldr r1, _0809F564 @ =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- add r0, sp, 0xC
- movs r2, 0xF
- bl StringAppendN
- ldr r0, [r5]
- ldr r4, _0809F568 @ =0x00001e14
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0x1
- add r2, sp, 0xC
- movs r3, 0x1
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x2C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F558: .4byte gUnknown_203998C
-_0809F55C: .4byte 0x00001e34
-_0809F560: .4byte gSpeciesNames
-_0809F564: .4byte 0x00001e28
-_0809F568: .4byte 0x00001e14
- thumb_func_end sub_809F4F0
-
- thumb_func_start sub_809F56C
-sub_809F56C: @ 809F56C
- push {lr}
- ldr r1, _0809F588 @ =gUnknown_83E240C
- ldr r0, _0809F58C @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809F590 @ =0x00001e2c
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809F588: .4byte gUnknown_83E240C
-_0809F58C: .4byte gUnknown_203998C
-_0809F590: .4byte 0x00001e2c
- thumb_func_end sub_809F56C
-
- thumb_func_start sub_809F594
-sub_809F594: @ 809F594
- push {lr}
- ldr r1, _0809F5B4 @ =gUnknown_83E2420
- ldr r0, _0809F5B8 @ =gUnknown_203998C
- ldr r0, [r0]
- ldr r2, _0809F5BC @ =0x00001e28
- adds r0, r2
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0809F5B4: .4byte gUnknown_83E2420
-_0809F5B8: .4byte gUnknown_203998C
-_0809F5BC: .4byte 0x00001e28
- thumb_func_end sub_809F594
-
- thumb_func_start nullsub_55
-nullsub_55: @ 809F5C0
- bx lr
- thumb_func_end nullsub_55
-
- thumb_func_start sub_809F5C4
-sub_809F5C4: @ 809F5C4
- push {r4,r5,lr}
- sub sp, 0x10
- movs r4, 0
- ldr r1, _0809F61C @ =gText_MaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- ldr r5, _0809F620 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809F624 @ =0x00001e36
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _0809F614
- cmp r0, 0xFE
- bne _0809F5EE
- ldr r1, _0809F628 @ =gText_FemaleSymbol
- add r0, sp, 0xC
- bl StringCopy
- movs r4, 0x1
-_0809F5EE:
- ldr r0, [r5]
- ldr r1, _0809F62C @ =0x00001e13
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r4, 1
- adds r1, r4
- ldr r2, _0809F630 @ =gUnknown_83E2428
- adds r1, r2
- str r1, [sp]
- movs r1, 0x1
- negs r1, r1
- str r1, [sp, 0x4]
- add r1, sp, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x2
- movs r2, 0x68
- movs r3, 0x1
- bl AddTextPrinterParameterized3
-_0809F614:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F61C: .4byte gText_MaleSymbol
-_0809F620: .4byte gUnknown_203998C
-_0809F624: .4byte 0x00001e36
-_0809F628: .4byte gText_FemaleSymbol
-_0809F62C: .4byte 0x00001e13
-_0809F630: .4byte gUnknown_83E2428
- thumb_func_end sub_809F5C4
-
- thumb_func_start sub_809F634
-sub_809F634: @ 809F634
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _0809F664 @ =gUnknown_83E22D0
- bl sub_809DE50
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 13
- adds r4, r5
- lsls r0, 24
- lsrs r0, 19
- adds r4, r0
- adds r4, r6
- ldrb r0, [r4]
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F664: .4byte gUnknown_83E22D0
- thumb_func_end sub_809F634
-
- thumb_func_start sub_809F668
-sub_809F668: @ 809F668
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _0809F690 @ =gUnknown_203998C
- ldr r4, [r0]
- ldr r3, _0809F694 @ =0x00001e28
- adds r1, r4, r3
- ldr r1, [r1]
- ldrb r3, [r1, 0x1]
- adds r5, r0, 0
- cmp r2, r3
- bcs _0809F6A2
- movs r0, 0xC0
- lsls r0, 5
- adds r1, r4, r0
-_0809F684:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0809F698
- adds r0, r2, 0
- b _0809F6B2
- .align 2, 0
-_0809F690: .4byte gUnknown_203998C
-_0809F694: .4byte 0x00001e28
-_0809F698:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _0809F684
-_0809F6A2:
- ldr r0, [r5]
- ldr r1, _0809F6B8 @ =0x00001e28
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0809F6B2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809F6B8: .4byte 0x00001e28
- thumb_func_end sub_809F668
-
- thumb_func_start sub_809F6BC
-sub_809F6BC: @ 809F6BC
- push {lr}
- ldr r0, _0809F6E8 @ =gUnknown_203998C
- ldr r2, [r0]
- ldr r1, _0809F6EC @ =0x00001e28
- adds r0, r2, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- ble _0809F6F8
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r2, r0
-_0809F6D8:
- asrs r2, r1, 24
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809F6F0
- lsrs r0, r1, 24
- b _0809F6FA
- .align 2, 0
-_0809F6E8: .4byte gUnknown_203998C
-_0809F6EC: .4byte 0x00001e28
-_0809F6F0:
- subs r0, r2, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- bgt _0809F6D8
-_0809F6F8:
- movs r0, 0
-_0809F6FA:
- pop {r1}
- bx r1
- thumb_func_end sub_809F6BC
-
- thumb_func_start sub_809F700
-sub_809F700: @ 809F700
- push {r4-r6,lr}
- bl sub_809F6BC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _0809F758 @ =gUnknown_203998C
- ldr r0, [r6]
- movs r5, 0xC0
- lsls r5, 5
- adds r0, r5
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- bl sub_809F914
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- ldr r0, [r6]
- adds r0, r5
- adds r0, r4
- movs r1, 0xFF
- strb r1, [r0]
- bl sub_809EB00
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809F740
- cmp r0, 0x2
- bne _0809F74A
-_0809F740:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl sub_809E518
-_0809F74A:
- movs r0, 0x17
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F758: .4byte gUnknown_203998C
- thumb_func_end sub_809F700
-
- thumb_func_start sub_809F75C
-sub_809F75C: @ 809F75C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_809E9CC
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_809F634
- lsls r0, 24
- lsrs r0, 24
- bl sub_809F7C4
- bl sub_809F914
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- movs r0, 0x5
- bl PlaySE
- bl sub_809F6BC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809F7B0 @ =gUnknown_203998C
- ldr r1, [r1]
- ldr r2, _0809F7B4 @ =0x00001e28
- adds r1, r2
- ldr r1, [r1]
- ldrb r1, [r1, 0x1]
- subs r1, 0x1
- cmp r0, r1
- bne _0809F7B8
- movs r0, 0x1
- b _0809F7BA
- .align 2, 0
-_0809F7B0: .4byte gUnknown_203998C
-_0809F7B4: .4byte 0x00001e28
-_0809F7B8:
- movs r0, 0
-_0809F7BA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F75C
-
- thumb_func_start sub_809F7C4
-sub_809F7C4: @ 809F7C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_809F668
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809F7E8 @ =gUnknown_203998C
- ldr r1, [r1]
- movs r2, 0xC0
- lsls r2, 5
- adds r1, r2
- adds r1, r0
- strb r4, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F7E8: .4byte gUnknown_203998C
- thumb_func_end sub_809F7C4
-
- thumb_func_start sub_809F7EC
-sub_809F7EC: @ 809F7EC
- push {r4,r5,lr}
- movs r2, 0
- ldr r1, _0809F800 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r4, _0809F804 @ =0x00001e28
- adds r0, r4
- ldr r0, [r0]
- adds r5, r1, 0
- b _0809F84C
- .align 2, 0
-_0809F800: .4byte gUnknown_203998C
-_0809F804: .4byte 0x00001e28
-_0809F808:
- ldr r1, [r1]
- movs r0, 0xC0
- lsls r0, 5
- adds r3, r1, r0
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809F83C
- cmp r0, 0xFF
- beq _0809F83C
- ldr r2, _0809F838 @ =0x00001e30
- adds r0, r1, r2
- ldr r0, [r0]
- adds r1, r4
- ldr r1, [r1]
- ldrb r2, [r1, 0x1]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r1, r3, 0
- bl StringCopyN
- b _0809F852
- .align 2, 0
-_0809F838: .4byte 0x00001e30
-_0809F83C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r5, 0
- ldr r0, [r1]
- ldr r4, _0809F858 @ =0x00001e28
- adds r0, r4
- ldr r0, [r0]
-_0809F84C:
- ldrb r0, [r0, 0x1]
- cmp r2, r0
- bcc _0809F808
-_0809F852:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F858: .4byte 0x00001e28
- thumb_func_end sub_809F7EC
-
- thumb_func_start choose_name_or_words_screen_load_bg_tile_patterns
-choose_name_or_words_screen_load_bg_tile_patterns: @ 809F85C
- push {r4-r6,lr}
- ldr r0, _0809F8AC @ =gUnknown_8E980E4
- ldr r6, _0809F8B0 @ =gUnknown_203998C
- ldr r1, [r6]
- ldr r4, _0809F8B4 @ =0x00001810
- adds r1, r4
- bl LZ77UnCompWram
- ldr r1, [r6]
- adds r1, r4
- movs r5, 0xC0
- lsls r5, 3
- movs r0, 0x1
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x2
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r1, [r6]
- adds r1, r4
- movs r0, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl LoadBgTiles
- ldr r0, _0809F8B8 @ =gUnknown_83E267C
- bl LoadSpriteSheets
- ldr r0, _0809F8BC @ =gUnknown_83E26E4
- bl LoadSpritePalettes
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F8AC: .4byte gUnknown_8E980E4
-_0809F8B0: .4byte gUnknown_203998C
-_0809F8B4: .4byte 0x00001810
-_0809F8B8: .4byte gUnknown_83E267C
-_0809F8BC: .4byte gUnknown_83E26E4
- thumb_func_end choose_name_or_words_screen_load_bg_tile_patterns
-
- thumb_func_start sub_809F8C0
-sub_809F8C0: @ 809F8C0
- push {lr}
- bl InputInit
- bl sub_809E4F0
- pop {r0}
- bx r0
- thumb_func_end sub_809F8C0
-
- thumb_func_start choose_name_or_words_screen_apply_bg_pals
-choose_name_or_words_screen_apply_bg_pals: @ 809F8D0
- push {lr}
- ldr r0, _0809F8F8 @ =gUnknown_8E98024
- movs r1, 0
- movs r2, 0xC0
- bl LoadPalette
- ldr r0, _0809F8FC @ =gUnknown_8E97FE4
- movs r1, 0xA0
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x2
- bl stdpal_get
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_0809F8F8: .4byte gUnknown_8E98024
-_0809F8FC: .4byte gUnknown_8E97FE4
- thumb_func_end choose_name_or_words_screen_apply_bg_pals
-
- thumb_func_start sub_809F900
-sub_809F900: @ 809F900
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_809F900
-
- thumb_func_start sub_809F914
-sub_809F914: @ 809F914
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r7, _0809F9D8 @ =gUnknown_203998C
- ldr r1, [r7]
- ldr r2, _0809F9DC @ =0x00001e28
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r6, [r0, 0x1]
- subs r2, 0x12
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, _0809F9E0 @ =0x00001e13
- adds r1, r0
- ldrb r0, [r1]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r4, 0
- cmp r4, r6
- bcs _0809F9AA
- add r5, sp, 0xC
- mov r10, r4
- ldr r0, _0809F9E4 @ =gExpandedPlaceholder_Empty
- ldrb r0, [r0]
- mov r8, r0
-_0809F956:
- ldr r0, [r7]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r5]
- mov r2, r8
- strb r2, [r5, 0x1]
- ldrb r0, [r5]
- bl sub_809FC54
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r0, 0x1
- bne _0809F97A
- movs r1, 0x2
-_0809F97A:
- ldr r0, [r7]
- ldr r2, _0809F9E0 @ =0x00001e13
- adds r0, r2
- ldrb r0, [r0]
- lsls r3, r4, 3
- add r3, r9
- adds r3, r1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- movs r1, 0x2
- add r2, sp, 0xC
- bl AddTextPrinterParameterized
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _0809F956
-_0809F9AA:
- bl sub_809F594
- ldr r5, _0809F9D8 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809F9E0 @ =0x00001e13
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F9D8: .4byte gUnknown_203998C
-_0809F9DC: .4byte 0x00001e28
-_0809F9E0: .4byte 0x00001e13
-_0809F9E4: .4byte gExpandedPlaceholder_Empty
- thumb_func_end sub_809F914
-
- thumb_func_start sub_809F9E8
-sub_809F9E8: @ 809F9E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _0809FA54 @ =gUnknown_83E243C
- adds r0, r5, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r1, _0809FA58 @ =gUnknown_83E2440
- lsls r0, r5, 2
- adds r0, r1
- ldr r7, [r0]
- ldr r0, _0809FA5C @ =gUnknown_83E264C
- mov r8, r0
-_0809FA12:
- lsls r3, r4, 4
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r4, 2
- lsls r1, r5, 4
- adds r0, r1
- add r0, r8
- ldr r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0x1
- movs r2, 0
- bl AddTextPrinterParameterized3
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0809FA12
- adds r0, r6, 0
- bl PutWindowTilemap
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FA54: .4byte gUnknown_83E243C
-_0809FA58: .4byte gUnknown_83E2440
-_0809FA5C: .4byte gUnknown_83E264C
- thumb_func_end sub_809F9E8
-
- thumb_func_start sub_809FA60
-sub_809FA60: @ 809FA60
- push {r4,r5,lr}
- movs r0, 0xA
- bl GetGpuReg
- adds r4, r0, 0
- movs r5, 0x3
- ands r4, r5
- movs r0, 0xC
- bl GetGpuReg
- ands r0, r5
- cmp r4, r0
- bls _0809FA90
- movs r2, 0x1
- movs r5, 0x1
- ldr r1, _0809FA88 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r3, _0809FA8C @ =0x00001e11
- b _0809FA9A
- .align 2, 0
-_0809FA88: .4byte gUnknown_203998C
-_0809FA8C: .4byte 0x00001e11
-_0809FA90:
- movs r2, 0x2
- movs r5, 0x2
- ldr r1, _0809FAD4 @ =gUnknown_203998C
- ldr r0, [r1]
- ldr r3, _0809FAD8 @ =0x00001e12
-_0809FA9A:
- adds r0, r3
- ldrb r4, [r0]
- adds r0, r1, 0
- ldr r1, _0809FADC @ =gUnknown_83E244C
- ldr r0, [r0]
- ldr r3, _0809FAE0 @ =0x00001e22
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl sub_809F900
- bl sub_809DE30
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809F9E8
- adds r0, r5, 0
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FAD4: .4byte gUnknown_203998C
-_0809FAD8: .4byte 0x00001e12
-_0809FADC: .4byte gUnknown_83E244C
-_0809FAE0: .4byte 0x00001e22
- thumb_func_end sub_809FA60
-
- thumb_func_start sub_809FAE4
-sub_809FAE4: @ 809FAE4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x10
- ldr r1, _0809FB60 @ =gUnknown_83E2458
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- ldr r0, _0809FB64 @ =gUnknown_8418E77
- mov r8, r0
- movs r0, 0
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r6, r0, 0
- ldr r5, _0809FB68 @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r4, _0809FB6C @ =0x00001e15
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xFF
- bl FillWindowPixelBuffer
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x14
- negs r1, r1
- adds r2, r1, 0
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- add r1, sp, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- movs r1, 0
- movs r3, 0
- bl AddTextPrinterParameterized3
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- bl PutWindowTilemap
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FB60: .4byte gUnknown_83E2458
-_0809FB64: .4byte gUnknown_8418E77
-_0809FB68: .4byte gUnknown_203998C
-_0809FB6C: .4byte 0x00001e15
- thumb_func_end sub_809FAE4
-
- thumb_func_start sub_809FB70
-sub_809FB70: @ 809FB70
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_809FB70
-
- thumb_func_start sub_809FB88
-sub_809FB88: @ 809FB88
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_809FB88
-
- thumb_func_start sub_809FB9C
-sub_809FB9C: @ 809FB9C
- push {lr}
- ldr r0, _0809FBA8 @ =sub_809FBAC
- bl SetVBlankCallback
- pop {r0}
- bx r0
- .align 2, 0
-_0809FBA8: .4byte sub_809FBAC
- thumb_func_end sub_809FB9C
-
- thumb_func_start sub_809FBAC
-sub_809FBAC: @ 809FBAC
- push {r4,r5,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r5, _0809FC1C @ =gUnknown_203998C
- ldr r0, [r5]
- ldr r1, _0809FC20 @ =0x00001e18
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x16
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC24 @ =0x00001e1a
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x1A
- bl SetGpuReg
- movs r0, 0xA
- bl GetGpuReg
- ldr r4, _0809FC28 @ =0x0000fffc
- adds r1, r4, 0
- ands r1, r0
- movs r0, 0xA
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC2C @ =0x00001e1c
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuRegBits
- movs r0, 0xC
- bl GetGpuReg
- ands r4, r0
- movs r0, 0xC
- adds r1, r4, 0
- bl SetGpuReg
- ldr r0, [r5]
- ldr r1, _0809FC30 @ =0x00001e1e
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0xC
- bl SetGpuRegBits
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FC1C: .4byte gUnknown_203998C
-_0809FC20: .4byte 0x00001e18
-_0809FC24: .4byte 0x00001e1a
-_0809FC28: .4byte 0x0000fffc
-_0809FC2C: .4byte 0x00001e1c
-_0809FC30: .4byte 0x00001e1e
- thumb_func_end sub_809FBAC
-
- thumb_func_start sub_809FC34
-sub_809FC34: @ 809FC34
- push {lr}
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x3
- bl ShowBg
- pop {r0}
- bx r0
- thumb_func_end sub_809FC34
-
- thumb_func_start sub_809FC54
-sub_809FC54: @ 809FC54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r2, 0
- ldr r0, _0809FC74 @ =gUnknown_8418E8A
- ldrb r1, [r0]
- adds r3, r0, 0
- cmp r1, 0xFF
- beq _0809FC86
- adds r1, r3, 0
-_0809FC68:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r4, r0
- bne _0809FC78
- movs r0, 0x1
- b _0809FC88
- .align 2, 0
-_0809FC74: .4byte gUnknown_8418E8A
-_0809FC78:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0809FC68
-_0809FC86:
- movs r0, 0
-_0809FC88:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809FC54
-
- thumb_func_start sub_809FC90
-sub_809FC90: @ 809FC90
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FCB0 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FCB4 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FCB0: .4byte gSaveBlock2Ptr
-_0809FCB4: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FC90
-
- thumb_func_start sub_809FCB8
-sub_809FCB8: @ 809FCB8
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FCD8 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FCDC @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FCD8: .4byte gSaveBlock2Ptr
-_0809FCDC: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FCB8
-
- thumb_func_start sub_809FCE0
-sub_809FCE0: @ 809FCE0
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD00 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD04 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD00: .4byte gSaveBlock2Ptr
-_0809FD04: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FCE0
-
- thumb_func_start sub_809FD08
-sub_809FD08: @ 809FD08
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD28 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD2C @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD28: .4byte gSaveBlock2Ptr
-_0809FD2C: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FD08
-
- thumb_func_start sub_809FD30
-sub_809FD30: @ 809FD30
- push {lr}
- sub sp, 0x8
- ldr r0, _0809FD50 @ =gSaveBlock2Ptr
- ldr r1, [r0]
- ldrb r2, [r1, 0x8]
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809FD54 @ =CB2_ReturnToFieldWithOpenMenu
- str r0, [sp, 0x4]
- movs r0, 0x4
- movs r3, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809FD50: .4byte gSaveBlock2Ptr
-_0809FD54: .4byte CB2_ReturnToFieldWithOpenMenu
- thumb_func_end sub_809FD30
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 214d06092..27235fa18 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -8,7 +8,7 @@
thumb_func_start sub_8054BC8
sub_8054BC8: @ 8054BC8
push {r4,lr}
- ldr r0, _08054BFC @ =gUnknown_81A654B
+ ldr r0, _08054BFC @ =EventScript_ResetEliteFourEnd
bl ScriptContext2_RunNewScript
ldr r0, _08054C00 @ =gSaveBlock1Ptr
ldr r4, [r0]
@@ -27,7 +27,7 @@ sub_8054BC8: @ 8054BC8
pop {r0}
bx r0
.align 2, 0
-_08054BFC: .4byte gUnknown_81A654B
+_08054BFC: .4byte EventScript_ResetEliteFourEnd
_08054C00: .4byte gSaveBlock1Ptr
thumb_func_end sub_8054BC8
@@ -66,8 +66,8 @@ _08054C40: .4byte sWhiteOutMoneyLossMultipliers
_08054C44: .4byte gSaveBlock1Ptr
thumb_func_end ComputeWhiteOutMoneyLoss
- thumb_func_start Special_OverworldWhiteOutGetMoneyLoss
-Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48
+ thumb_func_start OverworldWhiteOutGetMoneyLoss
+OverworldWhiteOutGetMoneyLoss: @ 8054C48
push {r4,r5,lr}
bl ComputeWhiteOutMoneyLoss
adds r4, r0, 0
@@ -85,7 +85,7 @@ Special_OverworldWhiteOutGetMoneyLoss: @ 8054C48
bx r0
.align 2, 0
_08054C6C: .4byte gStringVar1
- thumb_func_end Special_OverworldWhiteOutGetMoneyLoss
+ thumb_func_end OverworldWhiteOutGetMoneyLoss
thumb_func_start CountBadgesForOverworldWhiteOutLossCalculation
CountBadgesForOverworldWhiteOutLossCalculation: @ 8054C70
@@ -115,8 +115,8 @@ _08054C8A:
_08054C9C: .4byte sWhiteOutMoneyLossBadgeFlagIDs
thumb_func_end CountBadgesForOverworldWhiteOutLossCalculation
- thumb_func_start sub_8054CA0
-sub_8054CA0: @ 8054CA0
+ thumb_func_start Overworld_ResetStateAfterFly
+Overworld_ResetStateAfterFly: @ 8054CA0
push {lr}
bl ResetInitialPlayerAvatarState
movs r0, 0x83
@@ -152,7 +152,7 @@ _08054CF8: .4byte 0x00000805
_08054CFC: .4byte 0x00000806
_08054D00: .4byte 0x00000808
_08054D04: .4byte 0x0000404d
- thumb_func_end sub_8054CA0
+ thumb_func_end Overworld_ResetStateAfterFly
thumb_func_start Overworld_ResetStateAfterTeleport
Overworld_ResetStateAfterTeleport: @ 8054D08
@@ -1718,7 +1718,7 @@ sub_8055864: @ 8055864
bl sav1_reset_battle_music_maybe
bl mapheader_run_script_with_tag_x3
bl TryRegenerateRenewableHiddenItems
- bl not_trainer_hill_battle_pyramid
+ bl InitMap
ldr r4, _0805591C @ =gMapHeader
ldr r0, [r4]
bl copy_map_tileset2_to_vram_2
@@ -1739,7 +1739,7 @@ _080558D4:
bl DoCurrentWeather
bl ResetFieldTasksArgs
bl mapheader_run_script_with_tag_x5
- bl sub_80561B4
+ bl GetLastUsedWarpMapSectionId
ldr r1, _0805591C @ =gMapHeader
lsls r0, 24
lsrs r0, 24
@@ -1798,7 +1798,7 @@ _08055974:
bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet
bl sub_8110920
- bl not_trainer_hill_battle_pyramid
+ bl InitMap
pop {r4}
pop {r0}
bx r0
@@ -1823,7 +1823,7 @@ sub_80559A8: @ 80559A8
bl sub_8110920
bl sub_8111708
bl set_current_map_header_from_sav1
- bl not_trainer_hill_battle_pyramid
+ bl InitMap
pop {r0}
bx r0
.align 2, 0
@@ -2597,7 +2597,7 @@ GetMapMusicFadeoutSpeed: @ 8055F68
push {lr}
bl warp1_get_mapheader
ldrb r0, [r0, 0x17]
- bl is_light_level_8_or_9
+ bl IsMapTypeIndoors
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -2611,8 +2611,8 @@ _08055F82:
bx r1
thumb_func_end GetMapMusicFadeoutSpeed
- thumb_func_start sub_8055F88
-sub_8055F88: @ 8055F88
+ thumb_func_start TryFadeOutOldMapMusic
+TryFadeOutOldMapMusic: @ 8055F88
push {r4,lr}
bl sub_8055DA4
lsls r0, 16
@@ -2638,7 +2638,7 @@ _08055FB8:
bx r0
.align 2, 0
_08055FC0: .4byte 0x00004001
- thumb_func_end sub_8055F88
+ thumb_func_end TryFadeOutOldMapMusic
thumb_func_start BGMusicStopped
BGMusicStopped: @ 8055FC4
@@ -2899,8 +2899,8 @@ GetCurrentMapType: @ 8056188
_0805619C: .4byte gSaveBlock1Ptr
thumb_func_end GetCurrentMapType
- thumb_func_start get_map_light_from_warp0
-get_map_light_from_warp0: @ 80561A0
+ thumb_func_start GetLastUsedWarpMapType
+GetLastUsedWarpMapType: @ 80561A0
push {lr}
ldr r0, _080561B0 @ =gUnknown_2031DB4
bl get_map_light_level_from_warp
@@ -2910,10 +2910,10 @@ get_map_light_from_warp0: @ 80561A0
bx r1
.align 2, 0
_080561B0: .4byte gUnknown_2031DB4
- thumb_func_end get_map_light_from_warp0
+ thumb_func_end GetLastUsedWarpMapType
- thumb_func_start sub_80561B4
-sub_80561B4: @ 80561B4
+ thumb_func_start GetLastUsedWarpMapSectionId
+GetLastUsedWarpMapSectionId: @ 80561B4
push {lr}
ldr r1, _080561D4 @ =gUnknown_2031DB4
movs r0, 0
@@ -2931,7 +2931,7 @@ sub_80561B4: @ 80561B4
bx r1
.align 2, 0
_080561D4: .4byte gUnknown_2031DB4
- thumb_func_end sub_80561B4
+ thumb_func_end GetLastUsedWarpMapSectionId
thumb_func_start IsMapTypeOutdoors
IsMapTypeOutdoors: @ 80561D8
@@ -2981,8 +2981,8 @@ _08056218:
bx r1
thumb_func_end Overworld_MapTypeAllowsTeleportAndFly
- thumb_func_start is_light_level_8_or_9
-is_light_level_8_or_9: @ 805621C
+ thumb_func_start IsMapTypeIndoors
+IsMapTypeIndoors: @ 805621C
push {lr}
lsls r0, 24
movs r1, 0xF8
@@ -2998,10 +2998,10 @@ _08056230:
_08056232:
pop {r1}
bx r1
- thumb_func_end is_light_level_8_or_9
+ thumb_func_end IsMapTypeIndoors
- thumb_func_start sav1_saved_warp2_map_get_name
-sav1_saved_warp2_map_get_name: @ 8056238
+ thumb_func_start GetSavedWarpRegionMapSectionId
+GetSavedWarpRegionMapSectionId: @ 8056238
push {lr}
ldr r0, _0805625C @ =gSaveBlock1Ptr
ldr r1, [r0]
@@ -3020,7 +3020,7 @@ sav1_saved_warp2_map_get_name: @ 8056238
bx r1
.align 2, 0
_0805625C: .4byte gSaveBlock1Ptr
- thumb_func_end sav1_saved_warp2_map_get_name
+ thumb_func_end GetSavedWarpRegionMapSectionId
thumb_func_start GetCurrentRegionMapSectionId
GetCurrentRegionMapSectionId: @ 8056260
@@ -3044,8 +3044,8 @@ GetCurrentRegionMapSectionId: @ 8056260
_08056284: .4byte gSaveBlock1Ptr
thumb_func_end GetCurrentRegionMapSectionId
- thumb_func_start sav1_map_get_battletype
-sav1_map_get_battletype: @ 8056288
+ thumb_func_start GetCurrentMapBattleScene
+GetCurrentMapBattleScene: @ 8056288
push {lr}
ldr r0, _080562AC @ =gSaveBlock1Ptr
ldr r1, [r0]
@@ -3064,10 +3064,10 @@ sav1_map_get_battletype: @ 8056288
bx r1
.align 2, 0
_080562AC: .4byte gSaveBlock1Ptr
- thumb_func_end sav1_map_get_battletype
+ thumb_func_end GetCurrentMapBattleScene
- thumb_func_start sub_80562B0
-sub_80562B0: @ 80562B0
+ thumb_func_start InitOverworldBgs
+InitOverworldBgs: @ 80562B0
push {r4-r6,lr}
mov r6, r8
push {r6}
@@ -3091,7 +3091,7 @@ sub_80562B0: @ 80562B0
movs r1, 0x5
movs r2, 0x1
bl SetBgAttribute
- ldr r0, _08056348 @ =gUnknown_3005018
+ ldr r0, _08056348 @ =gBGTilemapBuffers2
mov r8, r0
movs r4, 0x80
lsls r4, 4
@@ -3099,11 +3099,11 @@ sub_80562B0: @ 80562B0
bl AllocZeroed
mov r1, r8
str r0, [r1]
- ldr r6, _0805634C @ =gUnknown_3005014
+ ldr r6, _0805634C @ =gBGTilemapBuffers1
adds r0, r4, 0
bl AllocZeroed
str r0, [r6]
- ldr r5, _08056350 @ =gUnknown_300501C
+ ldr r5, _08056350 @ =gBGTilemapBuffers3
adds r0, r4, 0
bl AllocZeroed
str r0, [r5]
@@ -3127,10 +3127,10 @@ sub_80562B0: @ 80562B0
bx r0
.align 2, 0
_08056344: .4byte gUnknown_826D320
-_08056348: .4byte gUnknown_3005018
-_0805634C: .4byte gUnknown_3005014
-_08056350: .4byte gUnknown_300501C
- thumb_func_end sub_80562B0
+_08056348: .4byte gBGTilemapBuffers2
+_0805634C: .4byte gBGTilemapBuffers1
+_08056350: .4byte gBGTilemapBuffers3
+ thumb_func_end InitOverworldBgs
thumb_func_start sub_8056354
sub_8056354: @ 8056354
@@ -3155,7 +3155,7 @@ sub_8056354: @ 8056354
movs r1, 0x5
movs r2, 0x1
bl SetBgAttribute
- ldr r0, _080563E4 @ =gUnknown_3005018
+ ldr r0, _080563E4 @ =gBGTilemapBuffers2
mov r8, r0
movs r4, 0x80
lsls r4, 4
@@ -3163,11 +3163,11 @@ sub_8056354: @ 8056354
bl AllocZeroed
mov r1, r8
str r0, [r1]
- ldr r6, _080563E8 @ =gUnknown_3005014
+ ldr r6, _080563E8 @ =gBGTilemapBuffers1
adds r0, r4, 0
bl AllocZeroed
str r0, [r6]
- ldr r5, _080563EC @ =gUnknown_300501C
+ ldr r5, _080563EC @ =gBGTilemapBuffers3
adds r0, r4, 0
bl AllocZeroed
str r0, [r5]
@@ -3191,30 +3191,30 @@ sub_8056354: @ 8056354
bx r0
.align 2, 0
_080563E0: .4byte gUnknown_826D320
-_080563E4: .4byte gUnknown_3005018
-_080563E8: .4byte gUnknown_3005014
-_080563EC: .4byte gUnknown_300501C
+_080563E4: .4byte gBGTilemapBuffers2
+_080563E8: .4byte gBGTilemapBuffers1
+_080563EC: .4byte gBGTilemapBuffers3
thumb_func_end sub_8056354
thumb_func_start CleanupOverworldWindowsAndTilemaps
CleanupOverworldWindowsAndTilemaps: @ 80563F0
push {lr}
bl FreeAllOverworldWindowBuffers
- ldr r0, _08056414 @ =gUnknown_300501C
+ ldr r0, _08056414 @ =gBGTilemapBuffers3
ldr r0, [r0]
bl Free
- ldr r0, _08056418 @ =gUnknown_3005014
+ ldr r0, _08056418 @ =gBGTilemapBuffers1
ldr r0, [r0]
bl Free
- ldr r0, _0805641C @ =gUnknown_3005018
+ ldr r0, _0805641C @ =gBGTilemapBuffers2
ldr r0, [r0]
bl Free
pop {r0}
bx r0
.align 2, 0
-_08056414: .4byte gUnknown_300501C
-_08056418: .4byte gUnknown_3005014
-_0805641C: .4byte gUnknown_3005018
+_08056414: .4byte gBGTilemapBuffers3
+_08056418: .4byte gBGTilemapBuffers1
+_0805641C: .4byte gBGTilemapBuffers2
thumb_func_end CleanupOverworldWindowsAndTilemaps
thumb_func_start sub_8056420
@@ -3347,8 +3347,8 @@ _08056522:
_08056530: .4byte gUnknown_3005E90
thumb_func_end sub_80564C8
- thumb_func_start sub_8056534
-sub_8056534: @ 8056534
+ thumb_func_start CB1_Overworld
+CB1_Overworld: @ 8056534
push {r4,lr}
ldr r4, _0805655C @ =gMain
ldr r1, [r4, 0x4]
@@ -3379,7 +3379,7 @@ _08056570:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8056534
+ thumb_func_end CB1_Overworld
thumb_func_start sub_8056578
sub_8056578: @ 8056578
@@ -3430,14 +3430,14 @@ _080565D4:
_080565DC: .4byte gPaletteFade
thumb_func_end sub_80565B4
- thumb_func_start sub_80565E0
-sub_80565E0: @ 80565E0
+ thumb_func_start SetMainCallback1
+SetMainCallback1: @ 80565E0
ldr r1, _080565E8 @ =gMain
str r0, [r1]
bx lr
.align 2, 0
_080565E8: .4byte gMain
- thumb_func_end sub_80565E0
+ thumb_func_end SetMainCallback1
thumb_func_start map_post_load_hook_exec
map_post_load_hook_exec: @ 80565EC
@@ -3490,7 +3490,7 @@ _08056640: .4byte gFieldCallback
thumb_func_start CB2_NewGame
CB2_NewGame: @ 8056644
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl NewGameInitData
@@ -3507,8 +3507,8 @@ CB2_NewGame: @ 8056644
ldr r0, _08056698 @ =gMain + 0x438
bl do_load_map_stuff_loop
bl SetFieldVBlankCallback
- ldr r0, _0805669C @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _0805669C @ =CB1_Overworld
+ bl SetMainCallback1
ldr r0, _080566A0 @ =sub_80565B4
bl SetMainCallback2
pop {r0}
@@ -3518,7 +3518,7 @@ _0805668C: .4byte gFieldCallback
_08056690: .4byte sub_807DF7C
_08056694: .4byte gFieldCallback2
_08056698: .4byte gMain + 0x438
-_0805669C: .4byte sub_8056534
+_0805669C: .4byte CB1_Overworld
_080566A0: .4byte sub_80565B4
thumb_func_end CB2_NewGame
@@ -3537,7 +3537,7 @@ CB2_WhiteOut: @ 80566A4
lsrs r0, 24
cmp r0, 0x77
bls _08056702
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl sub_8054BC8
@@ -3555,8 +3555,8 @@ CB2_WhiteOut: @ 80566A4
bl do_load_map_stuff_loop
bl sub_8112364
bl SetFieldVBlankCallback
- ldr r0, _08056714 @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _08056714 @ =CB1_Overworld
+ bl SetMainCallback1
ldr r0, _08056718 @ =sub_80565B4
bl SetMainCallback2
_08056702:
@@ -3567,19 +3567,19 @@ _08056702:
_08056708: .4byte gMain
_0805670C: .4byte gFieldCallback
_08056710: .4byte sub_807F5F0
-_08056714: .4byte sub_8056534
+_08056714: .4byte CB1_Overworld
_08056718: .4byte sub_80565B4
thumb_func_end CB2_WhiteOut
thumb_func_start CB2_LoadMap
CB2_LoadMap: @ 805671C
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
- ldr r0, _08056740 @ =sub_80C9BFC
+ bl SetMainCallback1
+ ldr r0, _08056740 @ =CB2_DoChangeMap
bl SetMainCallback2
ldr r1, _08056744 @ =gMain
ldr r0, _08056748 @ =sub_805674C
@@ -3587,7 +3587,7 @@ CB2_LoadMap: @ 805671C
pop {r0}
bx r0
.align 2, 0
-_08056740: .4byte sub_80C9BFC
+_08056740: .4byte CB2_DoChangeMap
_08056744: .4byte gMain
_08056748: .4byte sub_805674C
thumb_func_end CB2_LoadMap
@@ -3608,24 +3608,24 @@ sub_805674C: @ 805674C
_08056768: .4byte gMain + 0x438
_0805676C:
bl SetFieldVBlankCallback
- ldr r0, _08056780 @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _08056780 @ =CB1_Overworld
+ bl SetMainCallback1
ldr r0, _08056784 @ =sub_80565B4
bl SetMainCallback2
_0805677C:
pop {r0}
bx r0
.align 2, 0
-_08056780: .4byte sub_8056534
+_08056780: .4byte CB1_Overworld
_08056784: .4byte sub_80565B4
thumb_func_end sub_805674C
- thumb_func_start sub_8056788
-sub_8056788: @ 8056788
+ thumb_func_start CB2_ReturnToFieldCableClub
+CB2_ReturnToFieldCableClub: @ 8056788
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _080567A0 @ =gFieldCallback
- ldr r1, _080567A4 @ =sub_807DE58
+ ldr r1, _080567A4 @ =FieldCB_ReturnToFieldWirelessLink
str r1, [r0]
ldr r0, _080567A8 @ =c2_80567AC
bl SetMainCallback2
@@ -3633,20 +3633,20 @@ sub_8056788: @ 8056788
bx r0
.align 2, 0
_080567A0: .4byte gFieldCallback
-_080567A4: .4byte sub_807DE58
+_080567A4: .4byte FieldCB_ReturnToFieldWirelessLink
_080567A8: .4byte c2_80567AC
- thumb_func_end sub_8056788
+ thumb_func_end CB2_ReturnToFieldCableClub
thumb_func_start c2_80567AC
c2_80567AC: @ 80567AC
push {lr}
ldr r0, _080567D0 @ =gMain + 0x438
- bl sub_8056A5C
+ bl map_loading_iteration_3
cmp r0, 0
beq _080567CC
bl SetFieldVBlankCallback
ldr r0, _080567D4 @ =c1_link_related
- bl sub_80565E0
+ bl SetMainCallback1
bl sub_80578D8
ldr r0, _080567D8 @ =sub_80565B4
bl SetMainCallback2
@@ -3671,7 +3671,7 @@ CB2_ReturnToField: @ 80567DC
.align 2, 0
_080567F0: .4byte c2_exit_to_overworld_2_link
_080567F4:
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _08056804 @ =c2_exit_to_overworld_2_local
bl SetMainCallback2
_080567FE:
@@ -3722,26 +3722,26 @@ _08056850: .4byte sub_80565B4
thumb_func_start c2_8056854
c2_8056854: @ 8056854
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
ldr r0, _08056878 @ =c1_link_related
- bl sub_80565E0
+ bl SetMainCallback1
bl sub_80578D8
ldr r0, _0805687C @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _08056888
ldr r1, _08056880 @ =gFieldCallback
- ldr r0, _08056884 @ =sub_807DE58
+ ldr r0, _08056884 @ =FieldCB_ReturnToFieldWirelessLink
b _0805688C
.align 2, 0
_08056878: .4byte c1_link_related
_0805687C: .4byte gWirelessCommType
_08056880: .4byte gFieldCallback
-_08056884: .4byte sub_807DE58
+_08056884: .4byte FieldCB_ReturnToFieldWirelessLink
_08056888:
ldr r1, _080568A0 @ =gFieldCallback
- ldr r0, _080568A4 @ =sub_807DDD0
+ ldr r0, _080568A4 @ =FieldCB_ReturnToFieldWiredLink
_0805688C:
str r0, [r1]
bl ScriptContext1_Init
@@ -3751,13 +3751,13 @@ _0805688C:
bx r0
.align 2, 0
_080568A0: .4byte gFieldCallback
-_080568A4: .4byte sub_807DDD0
+_080568A4: .4byte FieldCB_ReturnToFieldWiredLink
thumb_func_end c2_8056854
thumb_func_start CB2_ReturnToFieldWithOpenMenu
CB2_ReturnToFieldWithOpenMenu: @ 80568A8
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568BC @ =gFieldCallback2
ldr r0, _080568C0 @ =FieldCB2_ReturnToStartMenuInit
str r0, [r1]
@@ -3772,7 +3772,7 @@ _080568C0: .4byte FieldCB2_ReturnToStartMenuInit
thumb_func_start sub_80568C4
sub_80568C4: @ 80568C4
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568D8 @ =gFieldCallback
ldr r0, _080568DC @ =sub_807DD44
str r0, [r1]
@@ -3787,7 +3787,7 @@ _080568DC: .4byte sub_807DD44
thumb_func_start CB2_ReturnToFieldContinueScriptPlayMapMusic
CB2_ReturnToFieldContinueScriptPlayMapMusic: @ 80568E0
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _080568F4 @ =gFieldCallback
ldr r0, _080568F8 @ =FieldCallback_ReturnToEventScript2
str r0, [r1]
@@ -3802,7 +3802,7 @@ _080568F8: .4byte FieldCallback_ReturnToEventScript2
thumb_func_start CB2_Overworld
CB2_Overworld: @ 80568FC
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _08056910 @ =gFieldCallback
ldr r0, _08056914 @ =sub_807DF7C
str r0, [r1]
@@ -3836,14 +3836,14 @@ _08056934: .4byte gMapHeader
thumb_func_start CB2_ContinueSavedGame
CB2_ContinueSavedGame: @ 8056938
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
bl sub_8056420
bl set_current_map_header_from_sav1
bl sub_80550A8
bl UnfreezeObjectEvents
bl sub_8054E40
- bl sub_80589E8
+ bl InitMapFromSavedGame
bl PlayTimeCounter_Start
bl ScriptContext1_Init
bl ScriptContext2_Disable
@@ -3870,8 +3870,8 @@ _0805699C:
ldr r0, _080569B0 @ =gFieldCallback
ldr r1, _080569B4 @ =sub_8056918
str r1, [r0]
- ldr r0, _080569B8 @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _080569B8 @ =CB1_Overworld
+ bl SetMainCallback1
bl CB2_ReturnToField
_080569AC:
pop {r0}
@@ -3879,11 +3879,11 @@ _080569AC:
.align 2, 0
_080569B0: .4byte gFieldCallback
_080569B4: .4byte sub_8056918
-_080569B8: .4byte sub_8056534
+_080569B8: .4byte CB1_Overworld
thumb_func_end CB2_ContinueSavedGame
- thumb_func_start sub_80569BC
-sub_80569BC: @ 80569BC
+ thumb_func_start FieldClearVBlankHBlankCallbacks
+FieldClearVBlankHBlankCallbacks: @ 80569BC
push {lr}
bl sub_80CC87C
lsls r0, 24
@@ -3915,7 +3915,7 @@ _080569F4:
bl SetHBlankCallback
pop {r0}
bx r0
- thumb_func_end sub_80569BC
+ thumb_func_end FieldClearVBlankHBlankCallbacks
thumb_func_start SetFieldVBlankCallback
SetFieldVBlankCallback: @ 8056A04
@@ -3962,8 +3962,8 @@ _08056A52:
_08056A58: .4byte gFlashEffectParams
thumb_func_end InitCurrentFlashLevelScanlineEffect
- thumb_func_start sub_8056A5C
-sub_8056A5C: @ 8056A5C
+ thumb_func_start map_loading_iteration_3
+map_loading_iteration_3: @ 8056A5C
push {r4,lr}
adds r4, r0, 0
ldrb r0, [r4]
@@ -3995,7 +3995,7 @@ _08056A78:
.4byte _08056B58
.4byte _08056B6A
_08056AB0:
- bl sub_80562B0
+ bl InitOverworldBgs
bl ScriptContext1_Init
bl ScriptContext2_Disable
b _08056B62
@@ -4012,7 +4012,7 @@ _08056ACE:
bl sub_8057074
bl sub_80571A8
bl sub_8057140
- bl sub_812B35C
+ bl SetHelpContextForMap
b _08056B62
_08056AE4:
bl InitCurrentFlashLevelScanlineEffect
@@ -4084,7 +4084,7 @@ _08056B70:
pop {r4}
pop {r1}
bx r1
- thumb_func_end sub_8056A5C
+ thumb_func_end map_loading_iteration_3
thumb_func_start sub_8056B78
sub_8056B78: @ 8056B78
@@ -4121,8 +4121,8 @@ _08056B94:
.4byte _08056CC0
.4byte _08056BFA
_08056BD0:
- bl sub_80562B0
- bl sub_80569BC
+ bl InitOverworldBgs
+ bl FieldClearVBlankHBlankCallbacks
adds r0, r5, 0
bl sub_8055920
b _08056CCA
@@ -4152,7 +4152,7 @@ _08056BFE:
bl sub_80CC534
bl sub_80CC59C
_08056C16:
- bl sub_812B35C
+ bl SetHelpContextForMap
b _08056CCA
.align 2, 0
_08056C1C: .4byte gQuestLogState
@@ -4196,7 +4196,7 @@ _08056C72:
bl InitTilesetAnimations
b _08056CCA
_08056C78:
- bl sub_80561B4
+ bl GetLastUsedWarpMapSectionId
ldr r5, _08056CA4 @ =gMapHeader
lsls r0, 24
lsrs r0, 24
@@ -4205,13 +4205,13 @@ _08056C78:
beq _08056CA8
ldrb r0, [r5, 0x14]
movs r1, 0x1
- bl sub_80F8154
+ bl MapHasPreviewScreen_HandleQLState2
cmp r0, 0x1
bne _08056CA8
ldrb r0, [r5, 0x14]
- bl sub_80F819C
+ bl MapPreview_LoadGfx
ldrb r0, [r5, 0x14]
- bl sub_80F8268
+ bl MapPreview_StartForestTransition
b _08056CCA
.align 2, 0
_08056CA4: .4byte gMapHeader
@@ -4266,7 +4266,7 @@ _08056CF0:
.4byte _08056D26
.4byte _08056D38
_08056D04:
- bl sub_80562B0
+ bl InitOverworldBgs
bl sub_8111F14
movs r0, 0
bl sub_8057024
@@ -4275,7 +4275,7 @@ _08056D04:
b _08056D30
_08056D1C:
bl sub_8056F08
- bl sub_812B35C
+ bl SetHelpContextForMap
b _08056D30
_08056D26:
bl map_post_load_hook_exec
@@ -4331,8 +4331,8 @@ _08056D60:
.4byte _08056E34
.4byte _08056E46
_08056D98:
- bl sub_80562B0
- bl sub_80569BC
+ bl InitOverworldBgs
+ bl FieldClearVBlankHBlankCallbacks
b _08056E3E
_08056DA2:
bl sub_8111F14
@@ -4343,7 +4343,7 @@ _08056DAE:
bl sub_8057230
bl sub_8057100
bl sub_805715C
- bl sub_812B35C
+ bl SetHelpContextForMap
b _08056E3E
_08056DC0:
bl InitCurrentFlashLevelScanlineEffect
@@ -4914,15 +4914,15 @@ _08057268: .4byte gLinkPlayers
thumb_func_start sub_805726C
sub_805726C: @ 805726C
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r1, _08057298 @ =gUnknown_2036E28
movs r0, 0x1
strb r0, [r1]
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
- ldr r0, _0805729C @ =sub_80C9BFC
+ bl SetMainCallback1
+ ldr r0, _0805729C @ =CB2_DoChangeMap
bl SetMainCallback2
ldr r1, _080572A0 @ =gMain
ldr r0, _080572A4 @ =sub_80572D8
@@ -4931,7 +4931,7 @@ sub_805726C: @ 805726C
bx r0
.align 2, 0
_08057298: .4byte gUnknown_2036E28
-_0805729C: .4byte sub_80C9BFC
+_0805729C: .4byte CB2_DoChangeMap
_080572A0: .4byte gMain
_080572A4: .4byte sub_80572D8
thumb_func_end sub_805726C
@@ -4939,7 +4939,7 @@ _080572A4: .4byte sub_80572D8
thumb_func_start sub_80572A8
sub_80572A8: @ 80572A8
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
ldr r0, _080572D0 @ =gUnknown_2036E28
movs r1, 0x1
strb r1, [r0]
@@ -4947,7 +4947,7 @@ sub_80572A8: @ 80572A8
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r0, _080572D4 @ =sub_80572D8
bl SetMainCallback2
pop {r0}
@@ -4963,15 +4963,15 @@ sub_80572D8: @ 80572D8
ldr r0, _080572F4 @ =gMain + 0x438
bl sub_8057300
bl SetFieldVBlankCallback
- ldr r0, _080572F8 @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _080572F8 @ =CB1_Overworld
+ bl SetMainCallback1
ldr r0, _080572FC @ =sub_80565B4
bl SetMainCallback2
pop {r0}
bx r0
.align 2, 0
_080572F4: .4byte gMain + 0x438
-_080572F8: .4byte sub_8056534
+_080572F8: .4byte CB1_Overworld
_080572FC: .4byte sub_80565B4
thumb_func_end sub_80572D8
@@ -5019,8 +5019,8 @@ _08057330:
.4byte _08057404
.4byte _0805740A
_0805735C:
- bl sub_80562B0
- bl sub_80569BC
+ bl InitOverworldBgs
+ bl FieldClearVBlankHBlankCallbacks
bl sub_8111F14
bl sub_81113E4
bl sub_8111438
@@ -5118,7 +5118,7 @@ _0805742A:
thumb_func_start sub_8057430
sub_8057430: @ 8057430
push {lr}
- bl sub_80569BC
+ bl FieldClearVBlankHBlankCallbacks
bl StopMapMusic
ldr r1, _08057484 @ =gUnknown_2036E28
movs r0, 0x3
@@ -5128,7 +5128,7 @@ sub_8057430: @ 8057430
bl sub_80550A8
bl UnfreezeObjectEvents
bl sub_8054E40
- bl sub_80589E8
+ bl InitMapFromSavedGame
bl PlayTimeCounter_Start
bl ScriptContext1_Init
ldr r1, _08057488 @ =gUnknown_2031DE0
@@ -5148,14 +5148,14 @@ _08057484: .4byte gUnknown_2036E28
_08057488: .4byte gUnknown_2031DE0
_0805748C: .4byte CB2_LoadMap
_08057490:
- ldr r0, _080574A0 @ =sub_8056534
- bl sub_80565E0
+ ldr r0, _080574A0 @ =CB1_Overworld
+ bl SetMainCallback1
bl CB2_ReturnToField
_0805749A:
pop {r0}
bx r0
.align 2, 0
-_080574A0: .4byte sub_8056534
+_080574A0: .4byte CB1_Overworld
thumb_func_end sub_8057430
thumb_func_start Overworld_CreditsMainCB
@@ -5313,7 +5313,7 @@ _08057560:
bl ScriptContext1_Init
bl ScriptContext2_Disable
movs r0, 0
- bl sub_80565E0
+ bl SetMainCallback1
ldr r1, _08057614 @ =gFieldCallback2
ldr r0, _08057618 @ =sub_80574EC
str r0, [r1]
@@ -6809,7 +6809,7 @@ _080580F4: .4byte gUnknown_3000E80
_080580F8: .4byte CableClub_EventScript_TooBusyToNotice
_080580FC:
adds r0, r2, 0
- bl sub_8081A34
+ bl GetSeeingLinkPlayerCardMsg
cmp r0, 0
bne _08058110
ldr r0, _0805810C @ =CableClub_EventScript_ReadTrainerCard
@@ -7880,7 +7880,7 @@ _080588BC:
ldrb r0, [r4]
lsls r0, 30
lsrs r0, 31
- bl sub_805C7F8
+ bl GetHoennLinkPartnerGraphicsIdByGender
_080588C6:
lsls r0, 24
lsrs r0, 24
@@ -7979,7 +7979,7 @@ _08058978:
_0805898A:
adds r0, r5, 0
movs r1, 0
- bl sub_8068EB4
+ bl UpdateObjectEventSpriteVisibility
ldrb r0, [r6]
lsls r0, 29
cmp r0, 0
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 345f3c83c..9dbbabd6f 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -1839,7 +1839,7 @@ _08106478:
bl FillWindowPixelBuffer
movs r0, 0xB0
movs r1, 0x1
- bl sub_8107D38
+ bl ListMenuLoadStdPalAt
mov r0, r10
cmp r0, 0
beq _08106504
diff --git a/asm/pokemon_jump.s b/asm/pokemon_jump.s
deleted file mode 100644
index d94a5c8db..000000000
--- a/asm/pokemon_jump.s
+++ /dev/null
@@ -1,642 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_81475C0
-sub_81475C0: @ 81475C0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08147600 @ =sub_8147654
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _08147604 @ =gTasks
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r5, [r0, 0xA]
- ldr r0, _08147608 @ =gUnknown_846B4AC
- lsls r5, 4
- adds r5, r0
- ldr r1, [r5]
- adds r0, r4, 0
- bl _call_via_r1
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08147600: .4byte sub_8147654
-_08147604: .4byte gTasks
-_08147608: .4byte gUnknown_846B4AC
- thumb_func_end sub_81475C0
-
- thumb_func_start sub_814760C
-sub_814760C: @ 814760C
- push {lr}
- ldr r0, _08147630 @ =sub_8147654
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _08147638
- ldr r0, _08147634 @ =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x1
- b _0814763A
- .align 2, 0
-_08147630: .4byte sub_8147654
-_08147634: .4byte gTasks
-_08147638:
- movs r0, 0
-_0814763A:
- pop {r1}
- bx r1
- thumb_func_end sub_814760C
-
- thumb_func_start sub_8147640
-sub_8147640: @ 8147640
- push {lr}
- ldr r0, _08147650 @ =sub_8147654
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08147650: .4byte sub_8147654
- thumb_func_end sub_8147640
-
- thumb_func_start sub_8147654
-sub_8147654: @ 8147654
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08147678 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _081476A0
- cmp r0, 0x3
- bgt _0814767C
- cmp r0, 0x2
- beq _08147682
- b _081476D6
- .align 2, 0
-_08147678: .4byte gTasks+0x8
-_0814767C:
- cmp r0, 0x4
- beq _081476BC
- b _081476D6
-_08147682:
- ldr r1, _0814769C @ =gUnknown_846B4AC
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 4
- adds r1, 0x8
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- movs r0, 0x3
- strh r0, [r4]
- b _081476D6
- .align 2, 0
-_0814769C: .4byte gUnknown_846B4AC
-_081476A0:
- ldr r0, _081476B8 @ =gUnknown_846B4AC
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0xC
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- b _081476D6
- .align 2, 0
-_081476B8: .4byte gUnknown_846B4AC
-_081476BC:
- ldr r0, _081476DC @ =gUnknown_846B4AC
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 4
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl _call_via_r1
- adds r0, r5, 0
- bl DestroyTask
-_081476D6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081476DC: .4byte gUnknown_846B4AC
- thumb_func_end sub_8147654
-
- thumb_func_start sub_81476E0
-sub_81476E0: @ 81476E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- lsls r0, 3
- ldr r1, _081477B0 @ =gUnknown_846B42C
- adds r0, r1
- bl LoadCompressedSpriteSheet
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- ldr r1, _081477B4 @ =gUnknown_846B43C
- adds r0, r1
- bl LoadSpritePalette
- movs r5, 0
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r5, r0
- bge _08147748
-_08147714:
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldr r1, _081477B8 @ =gUnknown_846B494
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- movs r3, 0x14
- ldrsh r2, [r4, r3]
- ldrb r3, [r4, 0xE]
- bl CreateSprite
- lsls r1, r5, 1
- adds r1, r4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x1A]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _08147714
-_08147748:
- movs r5, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r5, r0
- bge _081477A4
- movs r7, 0x3
- movs r3, 0xD
- negs r3, r3
- mov r12, r3
- ldr r6, _081477BC @ =gSprites
-_0814775C:
- lsls r0, r5, 1
- adds r0, r4
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrb r1, [r4, 0xC]
- ands r1, r7
- lsls r1, 2
- ldrb r3, [r2, 0x5]
- mov r0, r12
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0xA]
- strh r0, [r2, 0x30]
- mov r3, r8
- strh r3, [r2, 0x34]
- strh r5, [r2, 0x36]
- ldrh r0, [r4, 0x1A]
- strh r0, [r2, 0x38]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _0814775C
-_081477A4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081477B0: .4byte gUnknown_846B42C
-_081477B4: .4byte gUnknown_846B43C
-_081477B8: .4byte gUnknown_846B494
-_081477BC: .4byte gSprites
- thumb_func_end sub_81476E0
-
- thumb_func_start sub_81477C0
-sub_81477C0: @ 81477C0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r1, _08147840 @ =gTasks+0x8
- adds r4, r1
- movs r5, 0
- strh r5, [r4, 0x4]
- strh r5, [r4, 0x6]
- strh r5, [r4, 0x8]
- movs r1, 0x3C
- strh r1, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r1, 0x3
- strh r1, [r4, 0x10]
- movs r1, 0x78
- strh r1, [r4, 0x12]
- movs r1, 0x58
- strh r1, [r4, 0x14]
- adds r1, r4, 0
- bl sub_81476E0
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _08147844 @ =gSprites
- adds r0, r5
- movs r1, 0x4
- bl StartSpriteAnim
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08147848 @ =0x0000ffe0
- strh r1, [r0, 0x24]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x5
- bl StartSpriteAnim
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x20
- strh r1, [r0, 0x24]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08147840: .4byte gTasks+0x8
-_08147844: .4byte gSprites
-_08147848: .4byte 0x0000ffe0
- thumb_func_end sub_81477C0
-
- thumb_func_start sub_814784C
-sub_814784C: @ 814784C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08147860 @ =gTasks+0x8
- adds r4, r1, r0
- b _08147880
- .align 2, 0
-_08147860: .4byte gTasks+0x8
-_08147864:
- lsls r0, r5, 1
- adds r0, r4
- movs r2, 0x1A
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081478B0 @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08147880:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _08147864
- ldr r1, _081478B4 @ =gUnknown_846B42C
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl FreeSpriteTilesByTag
- ldr r1, _081478B8 @ =gUnknown_846B43C
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081478B0: .4byte gSprites
-_081478B4: .4byte gUnknown_846B42C
-_081478B8: .4byte gUnknown_846B43C
- thumb_func_end sub_814784C
-
- thumb_func_start sub_81478BC
-sub_81478BC: @ 81478BC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0x34
- ldrsh r1, [r6, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08147900 @ =gTasks+0x8
- adds r5, r0, r1
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0
- bne _081479CE
- ldrh r2, [r5, 0x16]
- movs r3, 0x16
- ldrsh r1, [r5, r3]
- movs r3, 0x14
- ldrsh r0, [r5, r3]
- cmp r1, r0
- beq _081479CE
- strh r2, [r5, 0x14]
- movs r1, 0x32
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _081479C8
- lsls r0, 2
- ldr r1, _08147904 @ =_08147908
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08147900: .4byte gTasks+0x8
-_08147904: .4byte _08147908
- .align 2, 0
-_08147908:
- .4byte _0814791C
- .4byte _0814792A
- .4byte _0814792A
- .4byte _0814793E
- .4byte _08147988
-_0814791C:
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_0814792A:
- movs r0, 0x31
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- b _081479C8
-_0814793E:
- movs r0, 0x15
- bl PlaySE
- ldrh r1, [r6, 0x32]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl StartSpriteAnim
- ldr r4, _08147984 @ =gSprites
- movs r2, 0x1C
- ldrsh r0, [r5, r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- b _081479C8
- .align 2, 0
-_08147984: .4byte gSprites
-_08147988:
- adds r1, r6, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r3, _081479C4 @ =gSprites
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x1E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x4
- strh r0, [r5]
- b _081479CE
- .align 2, 0
-_081479C4: .4byte gSprites
-_081479C8:
- ldrh r0, [r6, 0x32]
- adds r0, 0x1
- strh r0, [r6, 0x32]
-_081479CE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81478BC
-
- thumb_func_start sub_81479D4
-sub_81479D4: @ 81479D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, _08147A28 @ =gTasks+0x8
- adds r6, r4, r5
- movs r0, 0x31
- bl PlaySE
- ldr r2, _08147A2C @ =gSprites
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08147A30 @ =sub_81478BC
- str r1, [r0]
- movs r0, 0x1A
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- subs r5, 0x8
- adds r4, r5
- movs r0, 0x3
- strh r0, [r4, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08147A28: .4byte gTasks+0x8
-_08147A2C: .4byte gSprites
-_08147A30: .4byte sub_81478BC
- thumb_func_end sub_81479D4
-
- thumb_func_start sub_8147A34
-sub_8147A34: @ 8147A34
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08147A88 @ =gTasks+0x8
- adds r4, r1, r0
- ldr r0, _08147A8C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08147A98
- ldr r1, _08147A90 @ =gRecvCmds
- ldrh r0, [r1, 0x2]
- ldr r5, _08147A94 @ =0x00007fff
- cmp r0, r5
- bne _08147A5C
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x16]
-_08147A5C:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _08147A9E
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- mov r0, sp
- movs r1, 0
- movs r2, 0xC
- bl memset
- mov r0, sp
- strh r5, [r0]
- mov r1, sp
- ldrh r0, [r4, 0x18]
- strh r0, [r1, 0x2]
- mov r0, sp
- bl sub_80F9E2C
- b _08147A9E
- .align 2, 0
-_08147A88: .4byte gTasks+0x8
-_08147A8C: .4byte gReceivedRemoteLinkPlayers
-_08147A90: .4byte gRecvCmds
-_08147A94: .4byte 0x00007fff
-_08147A98:
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_08147A9E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8147A34
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_jump_2.s b/asm/pokemon_jump_2.s
deleted file mode 100644
index 5e6327c81..000000000
--- a/asm/pokemon_jump_2.s
+++ /dev/null
@@ -1,8055 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_8147AA8
-sub_8147AA8: @ 8147AA8
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _08147B20 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08147B3C
- ldr r5, _08147B24 @ =gUnknown_203F3D4
- ldr r0, _08147B28 @ =0x000083b0
- bl Alloc
- str r0, [r5]
- cmp r0, 0
- beq _08147B3C
- bl ResetTasks
- ldr r0, _08147B2C @ =sub_8147DA0
- movs r1, 0x1
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x8]
- str r6, [r0]
- strb r4, [r0, 0x4]
- bl GetMultiplayerId
- ldr r1, [r5]
- strb r0, [r1, 0x6]
- ldr r0, [r5]
- ldrb r2, [r0, 0x6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- ldr r2, _08147B30 @ =0x000082a8
- adds r1, r2
- adds r0, r1
- movs r1, 0x64
- muls r1, r7
- ldr r2, _08147B34 @ =gPlayerParty
- adds r1, r2
- bl sub_8147D2C
- ldr r0, [r5]
- bl sub_8147B60
- ldr r2, [r5]
- adds r0, r4, 0
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, _08147B38 @ =sub_8147D6C
- bl SetMainCallback2
- b _08147B42
- .align 2, 0
-_08147B20: .4byte gReceivedRemoteLinkPlayers
-_08147B24: .4byte gUnknown_203F3D4
-_08147B28: .4byte 0x000083b0
-_08147B2C: .4byte sub_8147DA0
-_08147B30: .4byte 0x000082a8
-_08147B34: .4byte gPlayerParty
-_08147B38: .4byte sub_8147D6C
-_08147B3C:
- adds r0, r6, 0
- bl SetMainCallback2
-_08147B42:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8147AA8
-
- thumb_func_start sub_8147B48
-sub_8147B48: @ 8147B48
- push {lr}
- bl sub_8149D24
- ldr r0, _08147B5C @ =gUnknown_203F3D4
- ldr r0, [r0]
- bl Free
- pop {r0}
- bx r0
- .align 2, 0
-_08147B5C: .4byte gUnknown_203F3D4
- thumb_func_end sub_8147B48
-
- thumb_func_start sub_8147B60
-sub_8147B60: @ 8147B60
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- movs r2, 0
- strb r0, [r4, 0x5]
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x72
- strh r2, [r0]
- bl sub_8147C20
- adds r0, r4, 0
- bl sub_8147B94
- ldrb r0, [r4, 0x5]
- cmp r0, 0x5
- bne _08147B8E
- bl sub_814B4E8
-_08147B8E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8147B60
-
- thumb_func_start sub_8147B94
-sub_8147B94: @ 8147B94
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x6
- str r0, [r4, 0x14]
- str r0, [r4, 0x18]
- adds r0, r4, 0
- adds r0, 0x4A
- movs r6, 0
- movs r5, 0
- strh r5, [r0]
- str r5, [r4, 0x1C]
- str r5, [r4, 0x5C]
- bl GetMultiplayerId
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08147BBA
- movs r1, 0x1
-_08147BBA:
- adds r0, r4, 0
- adds r0, 0x47
- strb r1, [r0]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- str r5, [r4, 0x58]
- strh r5, [r4, 0x3A]
- subs r0, 0x3
- strb r6, [r0]
- str r5, [r4, 0x54]
- adds r0, 0x2
- strb r6, [r0]
- adds r0, 0x3
- strb r6, [r0]
- subs r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- str r5, [r4, 0x78]
- adds r0, 0x29
- strb r6, [r0]
- adds r0, 0x3
- strh r5, [r0]
- str r1, [r4, 0x60]
- subs r0, 0x27
- strb r6, [r0]
- str r5, [r4, 0x68]
- str r5, [r4, 0x64]
- str r5, [r4, 0x2C]
- str r5, [r4, 0x30]
- bl sub_8147C98
- bl sub_81491E4
- movs r2, 0
- adds r5, r4, 0
- adds r5, 0x7C
- movs r3, 0
- adds r1, r4, 0
- adds r1, 0x9A
-_08147C0C:
- adds r0, r5, r2
- strb r3, [r0]
- strh r3, [r1]
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x4
- ble _08147C0C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8147B94
-
- thumb_func_start sub_8147C20
-sub_8147C20: @ 8147C20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r7, _08147C80 @ =gUnknown_203F3D4
- movs r6, 0
- movs r5, 0
- ldr r0, _08147C84 @ =gUnknown_846B4BC
- mov r8, r0
- movs r4, 0x4
-_08147C32:
- ldr r0, [r7]
- adds r0, r5
- ldr r1, _08147C88 @ =0x000082a8
- adds r0, r1
- ldrh r0, [r0]
- bl sub_8147D00
- lsls r0, 16
- ldr r1, [r7]
- adds r1, r6
- asrs r0, 14
- add r0, r8
- ldrh r0, [r0, 0x2]
- ldr r2, _08147C8C @ =0x000082f0
- adds r1, r2
- strh r0, [r1]
- adds r6, 0x28
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08147C32
- ldr r0, _08147C80 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldr r0, _08147C90 @ =0x000083ac
- adds r3, r1, r0
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, _08147C94 @ =0x000082e4
- adds r0, r2
- adds r1, r0
- str r1, [r3]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08147C80: .4byte gUnknown_203F3D4
-_08147C84: .4byte gUnknown_846B4BC
-_08147C88: .4byte 0x000082a8
-_08147C8C: .4byte 0x000082f0
-_08147C90: .4byte 0x000083ac
-_08147C94: .4byte 0x000082e4
- thumb_func_end sub_8147C20
-
- thumb_func_start sub_8147C98
-sub_8147C98: @ 8147C98
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, _08147CE8 @ =gUnknown_203F3D4
- movs r4, 0
- movs r3, 0
-_08147CA2:
- ldr r2, [r6]
- adds r1, r2, r3
- ldr r7, _08147CEC @ =0x000082f2
- adds r0, r1, r7
- strh r4, [r0]
- adds r7, 0x2
- adds r0, r1, r7
- strh r4, [r0]
- ldr r0, _08147CF0 @ =0x000082f6
- adds r1, r0
- strh r4, [r1]
- ldr r1, _08147CF4 @ =0x000082e4
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- subs r7, 0xC
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08147CF8 @ =0x7fffffff
- str r1, [r0]
- ldr r1, _08147CFC @ =0x000082f8
- adds r0, r2, r1
- adds r0, r3
- str r4, [r0]
- adds r2, 0x8B
- adds r2, r5
- movs r0, 0x9
- strb r0, [r2]
- adds r3, 0x28
- adds r5, 0x1
- cmp r5, 0x4
- ble _08147CA2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08147CE8: .4byte gUnknown_203F3D4
-_08147CEC: .4byte 0x000082f2
-_08147CF0: .4byte 0x000082f6
-_08147CF4: .4byte 0x000082e4
-_08147CF8: .4byte 0x7fffffff
-_08147CFC: .4byte 0x000082f8
- thumb_func_end sub_8147C98
-
- thumb_func_start sub_8147D00
-sub_8147D00: @ 8147D00
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0
- ldr r2, _08147D18 @ =gUnknown_846B4BC
-_08147D0A:
- ldrh r0, [r2]
- cmp r0, r3
- bne _08147D1C
- lsls r0, r1, 16
- asrs r0, 16
- b _08147D28
- .align 2, 0
-_08147D18: .4byte gUnknown_846B4BC
-_08147D1C:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x63
- bls _08147D0A
- movs r0, 0x1
- negs r0, r0
-_08147D28:
- pop {r1}
- bx r1
- thumb_func_end sub_8147D00
-
- thumb_func_start sub_8147D2C
-sub_8147D2C: @ 8147D2C
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [r5, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [r5, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8147D2C
-
- thumb_func_start sub_8147D58
-sub_8147D58: @ 8147D58
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_8147D58
-
- thumb_func_start sub_8147D6C
-sub_8147D6C: @ 8147D6C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8147D6C
-
- thumb_func_start sub_8147D84
-sub_8147D84: @ 8147D84
- push {lr}
- movs r1, 0x1
- bl CreateTask
- ldr r2, _08147D9C @ =gUnknown_203F3D4
- ldr r1, [r2]
- movs r3, 0
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_08147D9C: .4byte gUnknown_203F3D4
- thumb_func_end sub_8147D84
-
- thumb_func_start sub_8147DA0
-sub_8147DA0: @ 8147DA0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08147DC0 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _08147DB6
- b _08147F04
-_08147DB6:
- lsls r0, 2
- ldr r1, _08147DC4 @ =_08147DC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08147DC0: .4byte gUnknown_203F3D4
-_08147DC4: .4byte _08147DC8
- .align 2, 0
-_08147DC8:
- .4byte _08147DE0
- .4byte _08147E0C
- .4byte _08147E3C
- .4byte _08147E64
- .4byte _08147EA0
- .4byte _08147ECC
-_08147DE0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _08147E04 @ =sub_8148E80
- movs r1, 0x5
- bl sub_8148F5C
- movs r0, 0x4
- bl FadeOutMapMusic
- ldr r0, _08147E08 @ =gUnknown_203F3D4
- ldr r1, [r0]
- b _08147EBC
- .align 2, 0
-_08147E04: .4byte sub_8148E80
-_08147E08: .4byte gUnknown_203F3D4
-_08147E0C:
- ldr r0, _08147E34 @ =sub_8148E80
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08147F04
- ldr r4, _08147E38 @ =gUnknown_203F3D4
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8149CEC
- bl LoadWirelessStatusIndicatorSpriteGfx
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- ldr r1, [r4]
- b _08147EBC
- .align 2, 0
-_08147E34: .4byte sub_8148E80
-_08147E38: .4byte gUnknown_203F3D4
-_08147E3C:
- bl sub_8149D68
- cmp r0, 0
- bne _08147F04
- bl IsNotWaitingForBGMStop
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08147F04
- movs r0, 0xA3
- lsls r0, 1
- movs r1, 0x8
- bl FadeOutAndPlayNewMapMusic
- ldr r0, _08147E60 @ =gUnknown_203F3D4
- ldr r1, [r0]
- b _08147EBC
- .align 2, 0
-_08147E60: .4byte gUnknown_203F3D4
-_08147E64:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08147F04
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08147E98 @ =sub_8147D58
- bl SetVBlankCallback
- ldr r0, _08147E9C @ =gUnknown_203F3D4
- ldr r1, [r0]
- b _08147EBC
- .align 2, 0
-_08147E98: .4byte sub_8147D58
-_08147E9C: .4byte gUnknown_203F3D4
-_08147EA0:
- bl UpdatePaletteFade
- ldr r0, _08147EC4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08147F04
- ldr r1, _08147EC8 @ =gUnknown_203F3D4
- ldr r0, [r1]
- strb r2, [r0, 0x7]
- ldr r1, [r1]
-_08147EBC:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08147F04
- .align 2, 0
-_08147EC4: .4byte gPaletteFade
-_08147EC8: .4byte gUnknown_203F3D4
-_08147ECC:
- ldr r0, [r2]
- ldrb r1, [r0, 0x7]
- adds r1, 0x1
- strb r1, [r0, 0x7]
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- cmp r0, 0x13
- bls _08147F04
- adds r0, r1, 0
- adds r0, 0x47
- ldrb r0, [r0]
- cmp r0, 0
- beq _08147EF4
- ldr r0, _08147EF0 @ =sub_814807C
- bl sub_8147D84
- b _08147EFA
- .align 2, 0
-_08147EF0: .4byte sub_814807C
-_08147EF4:
- ldr r0, _08147F0C @ =sub_8148290
- bl sub_8147D84
-_08147EFA:
- bl sub_8148F7C
- adds r0, r4, 0
- bl DestroyTask
-_08147F04:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08147F0C: .4byte sub_8148290
- thumb_func_end sub_8147DA0
-
- thumb_func_start sub_8147F10
-sub_8147F10: @ 8147F10
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- bne _08147F30
- ldr r0, _08147F28 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldr r0, _08147F2C @ =0x00001111
- str r0, [r1, 0x30]
- movs r0, 0x1
- str r0, [r1, 0x2C]
- b _08147F42
- .align 2, 0
-_08147F28: .4byte gUnknown_203F3D4
-_08147F2C: .4byte 0x00001111
-_08147F30:
- ldr r0, _08147F48 @ =gUnknown_203F3D4
- ldr r2, [r0]
- subs r1, 0x1
- movs r0, 0x1
- lsls r0, r1
- subs r0, 0x1
- str r0, [r2, 0x30]
- movs r0, 0
- str r0, [r2, 0x2C]
-_08147F42:
- pop {r0}
- bx r0
- .align 2, 0
-_08147F48: .4byte gUnknown_203F3D4
- thumb_func_end sub_8147F10
-
- thumb_func_start sub_8147F4C
-sub_8147F4C: @ 8147F4C
- push {r4-r6,lr}
- ldr r4, _08147F98 @ =gUnknown_203F3D4
- ldr r1, [r4]
- adds r1, 0x70
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x49
- strb r3, [r0]
- movs r3, 0x1
- ldr r0, [r4]
- ldrb r0, [r0, 0x5]
- cmp r3, r0
- bge _08147F90
- adds r6, r4, 0
- ldr r5, _08147F9C @ =0x000082fc
- movs r4, 0
- movs r2, 0x28
-_08147F7E:
- ldr r1, [r6]
- adds r0, r1, r5
- adds r0, r2
- str r4, [r0]
- adds r2, 0x28
- adds r3, 0x1
- ldrb r1, [r1, 0x5]
- cmp r3, r1
- blt _08147F7E
-_08147F90:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08147F98: .4byte gUnknown_203F3D4
-_08147F9C: .4byte 0x000082fc
- thumb_func_end sub_8147F4C
-
- thumb_func_start sub_8147FA0
-sub_8147FA0: @ 8147FA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r4, 0x1
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r7, _08148068 @ =gUnknown_203F3D4
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _08148044
- adds r1, r7, 0
- mov r10, r1
- movs r2, 0x2
- add r2, sp
- mov r8, r2
- ldr r3, _0814806C @ =0x0000830c
- mov r9, r3
- movs r6, 0x28
-_08147FCC:
- mov r1, r10
- ldr r0, [r1]
- adds r1, r0, r6
- ldr r2, _08148070 @ =0x000082f4
- adds r1, r2
- ldrh r5, [r1]
- add r0, r9
- adds r1, r4, 0
- mov r2, sp
- mov r3, r8
- bl sub_8149C24
- cmp r0, 0
- beq _0814800C
- ldr r2, [r7]
- lsls r1, r4, 1
- adds r0, r2, 0
- adds r0, 0x90
- adds r0, r1
- mov r3, r8
- ldrh r1, [r3]
- strh r1, [r0]
- adds r2, 0x8B
- adds r2, r4
- mov r0, sp
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r0, [r7]
- adds r0, r6
- ldr r1, _08148074 @ =0x000082f6
- adds r0, r1
- strh r5, [r0]
-_0814800C:
- mov r2, r10
- ldr r1, [r2]
- ldr r3, _08148078 @ =0x000082fc
- adds r0, r1, r3
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _08148032
- adds r0, r1, 0
- adds r0, 0x8B
- adds r0, r4
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08148032
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- str r0, [sp, 0x4]
-_08148032:
- movs r1, 0x28
- add r9, r1
- adds r6, 0x28
- adds r4, 0x1
- ldr r7, _08148068 @ =gUnknown_203F3D4
- ldr r0, [r7]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _08147FCC
-_08148044:
- ldr r2, _08148068 @ =gUnknown_203F3D4
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _08148058
- adds r1, 0x49
- movs r0, 0x1
- strb r0, [r1]
-_08148058:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08148068: .4byte gUnknown_203F3D4
-_0814806C: .4byte 0x0000830c
-_08148070: .4byte 0x000082f4
-_08148074: .4byte 0x000082f6
-_08148078: .4byte 0x000082fc
- thumb_func_end sub_8147FA0
-
- thumb_func_start sub_814807C
-sub_814807C: @ 814807C
- push {r4,r5,lr}
- bl sub_8147FA0
- bl sub_8149534
- ldr r0, _081480F8 @ =gUnknown_203F3D4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- bne _081480AE
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _081480AE
- adds r0, r1, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- bl sub_8147F4C
- movs r0, 0x3
- bl sub_8147F10
-_081480AE:
- ldr r4, _081480F8 @ =gUnknown_203F3D4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r5, [r0]
- cmp r5, 0x1
- bne _081480EA
- ldr r1, _081480FC @ =gUnknown_846B64C
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _081480EA
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, _08148100 @ =0x000082fc
- adds r1, r2
- adds r1, r0
- str r5, [r1]
-_081480EA:
- bl sub_81492D8
- bl sub_8148104
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081480F8: .4byte gUnknown_203F3D4
-_081480FC: .4byte gUnknown_846B64C
-_08148100: .4byte 0x000082fc
- thumb_func_end sub_814807C
-
- thumb_func_start sub_8148104
-sub_8148104: @ 8148104
- push {r4,lr}
- ldr r4, _08148134 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- bne _0814811A
- ldr r2, _08148138 @ =0x000082e4
- adds r0, r1, r2
- adds r1, 0x70
- bl sub_8149AF8
-_0814811A:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, _0814813C @ =0x00001111
- cmp r2, r0
- beq _0814812C
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_0814812C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08148134: .4byte gUnknown_203F3D4
-_08148138: .4byte 0x000082e4
-_0814813C: .4byte 0x00001111
- thumb_func_end sub_8148104
-
- thumb_func_start sub_8148140
-sub_8148140: @ 8148140
- ldr r2, _0814816C @ =gUnknown_203F3D4
- ldr r1, [r2]
- adds r1, 0x70
- movs r3, 0
- strb r0, [r1]
- ldr r0, [r2]
- strh r3, [r0, 0x8]
- strh r3, [r0, 0xA]
- adds r0, 0x48
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, _08148170 @ =0x000082fc
- adds r1, r2
- adds r1, r0
- str r3, [r1]
- bx lr
- .align 2, 0
-_0814816C: .4byte gUnknown_203F3D4
-_08148170: .4byte 0x000082fc
- thumb_func_end sub_8148140
-
- thumb_func_start sub_8148174
-sub_8148174: @ 8148174
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- ldr r4, _081481F0 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldr r2, _081481F4 @ =0x000082f4
- adds r1, r0, r2
- ldrh r1, [r1]
- mov r8, r1
- ldr r3, _081481F8 @ =0x000082e4
- adds r0, r3
- mov r1, sp
- bl sub_8149B7C
- cmp r0, 0
- beq _08148224
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r3, _081481FC @ =0x000082fc
- adds r0, r2, r3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _081481C2
- mov r0, sp
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _081481C2
- mov r0, sp
- ldrb r0, [r0]
- bl sub_8148140
-_081481C2:
- ldr r3, _081481F0 @ =gUnknown_203F3D4
- ldr r2, [r3]
- ldr r0, [r2, 0x78]
- ldr r1, [sp, 0x8]
- cmp r0, r1
- beq _08148204
- str r1, [r2, 0x78]
- movs r4, 0x1
- str r4, [r2, 0x5C]
- mov r0, sp
- ldrb r1, [r0, 0x1]
- adds r0, r2, 0
- adds r0, 0x71
- strb r1, [r0]
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x71
- ldrb r1, [r1]
- cmp r1, 0
- beq _08148200
- adds r0, 0x4D
- strb r4, [r0]
- b _08148204
- .align 2, 0
-_081481F0: .4byte gUnknown_203F3D4
-_081481F4: .4byte 0x000082f4
-_081481F8: .4byte 0x000082e4
-_081481FC: .4byte 0x000082fc
-_08148200:
- adds r0, 0x4D
- strb r1, [r0]
-_08148204:
- ldr r0, _08148280 @ =gUnknown_203F3D4
- ldr r1, [r0]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- mov r0, sp
- ldrh r2, [r0, 0x4]
- adds r0, r1, 0
- adds r0, 0x74
- strh r2, [r0]
- ldr r0, _08148284 @ =0x000082f6
- adds r1, r0
- mov r2, r8
- strh r2, [r1]
-_08148224:
- movs r4, 0x1
- ldr r2, _08148280 @ =gUnknown_203F3D4
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _08148272
- adds r7, r2, 0
- ldr r6, _08148288 @ =0x0000830c
- movs r5, 0x28
-_08148236:
- ldr r1, [r7]
- ldrb r3, [r1, 0x6]
- cmp r4, r3
- beq _08148264
- adds r0, r1, r5
- ldr r3, _0814828C @ =0x000082f4
- adds r0, r3
- ldrh r0, [r0]
- mov r8, r0
- adds r0, r1, r6
- adds r1, r4, 0
- str r2, [sp, 0xC]
- bl sub_8149C90
- ldr r2, [sp, 0xC]
- cmp r0, 0
- beq _08148264
- ldr r0, [r7]
- adds r0, r5
- ldr r1, _08148284 @ =0x000082f6
- adds r0, r1
- mov r3, r8
- strh r3, [r0]
-_08148264:
- adds r6, 0x28
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _08148236
-_08148272:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08148280: .4byte gUnknown_203F3D4
-_08148284: .4byte 0x000082f6
-_08148288: .4byte 0x0000830c
-_0814828C: .4byte 0x000082f4
- thumb_func_end sub_8148174
-
- thumb_func_start sub_8148290
-sub_8148290: @ 8148290
- push {r4,lr}
- bl sub_8148174
- ldr r4, _081482EC @ =gUnknown_203F3D4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- beq _081482DC
- ldr r1, _081482F0 @ =gUnknown_846B670
- adds r0, r2, 0
- adds r0, 0x70
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- adds r1, r0, 0
- cmp r1, 0
- bne _081482DC
- ldr r0, [r4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r2, _081482F4 @ =0x000082fc
- adds r1, r2
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x3
- bl sub_8147F10
-_081482DC:
- bl sub_81492D8
- bl sub_81482F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081482EC: .4byte gUnknown_203F3D4
-_081482F0: .4byte gUnknown_846B670
-_081482F4: .4byte 0x000082fc
- thumb_func_end sub_8148290
-
- thumb_func_start sub_81482F8
-sub_81482F8: @ 81482F8
- push {r4,lr}
- ldr r4, _08148338 @ =gUnknown_203F3D4
- ldr r2, [r4]
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- bne _08148320
- ldrb r1, [r2, 0x6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0814833C @ =0x000082e4
- adds r0, r1
- adds r0, r2, r0
- adds r1, r2, 0
- adds r1, 0x70
- ldrb r1, [r1]
- adds r2, 0x42
- ldrh r2, [r2]
- bl sub_8149BF4
-_08148320:
- ldr r1, [r4]
- ldr r2, [r1, 0x30]
- ldr r0, _08148340 @ =0x00001111
- cmp r2, r0
- beq _08148332
- ldr r0, [r1, 0x2C]
- adds r0, 0x1
- ands r0, r2
- str r0, [r1, 0x2C]
-_08148332:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08148338: .4byte gUnknown_203F3D4
-_0814833C: .4byte 0x000082e4
-_08148340: .4byte 0x00001111
- thumb_func_end sub_81482F8
-
- thumb_func_start sub_8148344
-sub_8148344: @ 8148344
- push {r4,lr}
- ldr r4, _08148358 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0814835C
- cmp r0, 0x1
- beq _0814836A
- b _08148390
- .align 2, 0
-_08148358: .4byte gUnknown_203F3D4
-_0814835C:
- movs r0, 0x3
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0814836A:
- bl sub_81488DC
- cmp r0, 0
- bne _08148390
- ldr r0, _0814838C @ =gUnknown_203F3D4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- b _08148392
- .align 2, 0
-_0814838C: .4byte gUnknown_203F3D4
-_08148390:
- movs r0, 0x1
-_08148392:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148344
-
- thumb_func_start sub_8148398
-sub_8148398: @ 8148398
- push {r4,lr}
- ldr r4, _081483AC @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _081483B0
- cmp r0, 0x1
- beq _081483C6
- movs r0, 0x1
- b _081483CA
- .align 2, 0
-_081483AC: .4byte gUnknown_203F3D4
-_081483B0:
- movs r0, 0
- bl sub_8147F10
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- str r0, [r1, 0x24]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081483C6:
- bl sub_81488DC
-_081483CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148398
-
- thumb_func_start sub_81483D0
-sub_81483D0: @ 81483D0
- push {r4,lr}
- ldr r4, _081483E4 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _081483E8
- cmp r0, 0x1
- beq _081483FC
- b _08148410
- .align 2, 0
-_081483E4: .4byte gUnknown_203F3D4
-_081483E8:
- bl sub_81491E4
- movs r0, 0x5
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08148410
-_081483FC:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _08148410
- adds r1, 0x4C
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0
- b _08148412
-_08148410:
- movs r0, 0x1
-_08148412:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81483D0
-
- thumb_func_start sub_8148418
-sub_8148418: @ 8148418
- push {r4,lr}
- ldr r4, _0814842C @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _08148430
- cmp r0, 0x1
- beq _0814844E
- b _0814845A
- .align 2, 0
-_0814842C: .4byte gUnknown_203F3D4
-_08148430:
- bl sub_81491E4
- movs r0, 0
- bl sub_8147F10
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x4A
- strh r0, [r2]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0814844E:
- bl sub_8149804
- cmp r0, 0
- beq _0814845A
- movs r0, 0
- b _0814845C
-_0814845A:
- movs r0, 0x1
-_0814845C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148418
-
- thumb_func_start sub_8148464
-sub_8148464: @ 8148464
- push {lr}
- bl sub_81489C8
- cmp r0, 0
- bne _0814848C
- ldr r0, _08148488 @ =gUnknown_203F3D4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x4A
- ldrh r0, [r0]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x1
- strb r0, [r1]
- b _081484A6
- .align 2, 0
-_08148488: .4byte gUnknown_203F3D4
-_0814848C:
- bl sub_8149630
- cmp r0, 0
- beq _08148498
- movs r0, 0x1
- b _081484A8
-_08148498:
- bl sub_81491B4
- ldr r0, _081484AC @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x3
- strb r1, [r0]
-_081484A6:
- movs r0, 0
-_081484A8:
- pop {r1}
- bx r1
- .align 2, 0
-_081484AC: .4byte gUnknown_203F3D4
- thumb_func_end sub_8148464
-
- thumb_func_start sub_81484B0
-sub_81484B0: @ 81484B0
- push {lr}
- bl sub_81489C8
- cmp r0, 0
- beq _081484CA
- bl sub_8149630
- cmp r0, 0
- beq _081484C6
- movs r0, 0x1
- b _081484CC
-_081484C6:
- bl sub_81491B4
-_081484CA:
- movs r0, 0
-_081484CC:
- pop {r1}
- bx r1
- thumb_func_end sub_81484B0
-
- thumb_func_start sub_81484D0
-sub_81484D0: @ 81484D0
- push {r4,lr}
- ldr r4, _081484E8 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _08148508
- cmp r0, 0x1
- bgt _081484EC
- cmp r0, 0
- beq _081484F2
- b _08148564
- .align 2, 0
-_081484E8: .4byte gUnknown_203F3D4
-_081484EC:
- cmp r0, 0x2
- beq _0814855C
- b _08148564
-_081484F2:
- bl sub_8149630
- bl sub_81496D4
- cmp r0, 0
- beq _08148564
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _08148564
-_08148508:
- bl sub_8148A60
- cmp r0, 0
- bne _08148564
- bl sub_81498B4
- cmp r0, 0
- beq _0814852A
- bl sub_81498D8
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x7
- b _08148550
-_0814852A:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0xC7
- bls _08148544
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x8
- b _08148550
-_08148544:
- ldrh r0, [r1, 0xE]
- adds r2, r1, 0
- adds r2, 0x72
- strh r0, [r2]
- adds r1, 0x4C
- movs r0, 0x4
-_08148550:
- strb r0, [r1]
- ldr r0, _08148560 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0814855C:
- movs r0, 0
- b _08148566
- .align 2, 0
-_08148560: .4byte gUnknown_203F3D4
-_08148564:
- movs r0, 0x1
-_08148566:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81484D0
-
- thumb_func_start sub_814856C
-sub_814856C: @ 814856C
- push {r4,lr}
- ldr r4, _08148584 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0x1
- beq _081485AC
- cmp r0, 0x1
- bgt _08148588
- cmp r0, 0
- beq _0814858E
- b _081485C0
- .align 2, 0
-_08148584: .4byte gUnknown_203F3D4
-_08148588:
- cmp r0, 0x2
- beq _081485BC
- b _081485C0
-_0814858E:
- bl sub_8149630
- cmp r0, 0
- bne _0814859A
- bl sub_81491B4
-_0814859A:
- bl sub_81496D4
- cmp r0, 0
- beq _081485C0
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081485C0
-_081485AC:
- bl sub_8148A60
- cmp r0, 0
- bne _081485C0
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081485BC:
- movs r0, 0
- b _081485C2
-_081485C0:
- movs r0, 0x1
-_081485C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814856C
-
- thumb_func_start sub_81485C8
-sub_81485C8: @ 81485C8
- push {r4,lr}
- ldr r4, _081485E0 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r1, [r0, 0x8]
- cmp r1, 0x1
- beq _081485FC
- cmp r1, 0x1
- bgt _081485E4
- cmp r1, 0
- beq _081485EE
- b _0814865C
- .align 2, 0
-_081485E0: .4byte gUnknown_203F3D4
-_081485E4:
- cmp r1, 0x2
- beq _08148628
- cmp r1, 0x3
- beq _08148652
- b _0814865C
-_081485EE:
- movs r0, 0x4
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_081485FC:
- bl sub_8148C80
- cmp r0, 0
- bne _0814865C
- ldr r4, _08148624 @ =gUnknown_203F3D4
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_814B494
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0814865C
- .align 2, 0
-_08148624: .4byte gUnknown_203F3D4
-_08148628:
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0814865C
- bl sub_8149748
- cmp r0, 0
- beq _08148640
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x5
- b _08148646
-_08148640:
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x6
-_08148646:
- strb r1, [r0]
- ldr r0, _08148658 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08148652:
- movs r0, 0
- b _0814865E
- .align 2, 0
-_08148658: .4byte gUnknown_203F3D4
-_0814865C:
- movs r0, 0x1
-_0814865E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81485C8
-
- thumb_func_start sub_8148664
-sub_8148664: @ 8148664
- push {r4,lr}
- ldr r4, _08148678 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0814867C
- cmp r0, 0x1
- beq _0814868A
- b _081486BC
- .align 2, 0
-_08148678: .4byte gUnknown_203F3D4
-_0814867C:
- movs r0, 0
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0814868A:
- bl sub_8148C80
- cmp r0, 0
- bne _081486BC
- ldr r4, _081486B8 @ =gUnknown_203F3D4
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_814B494
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x45
- ldrb r1, [r1]
- adds r0, 0x42
- strh r1, [r0]
- movs r0, 0
- b _081486BE
- .align 2, 0
-_081486B8: .4byte gUnknown_203F3D4
-_081486BC:
- movs r0, 0x1
-_081486BE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148664
-
- thumb_func_start sub_81486C4
-sub_81486C4: @ 81486C4
- push {r4,lr}
- ldr r4, _081486D8 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- beq _081486DC
- cmp r0, 0x1
- beq _081486EE
- b _0814871A
- .align 2, 0
-_081486D8: .4byte gUnknown_203F3D4
-_081486DC:
- bl sub_8148E2C
- cmp r0, 0
- bne _0814871A
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _0814871A
-_081486EE:
- adds r0, r1, 0
- adds r0, 0x49
- ldrb r0, [r0]
- cmp r0, 0
- beq _0814871A
- adds r0, r1, 0
- bl sub_8147B94
- bl Random
- ldr r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- str r0, [r1, 0x24]
- adds r3, r1, 0
- adds r3, 0x72
- movs r2, 0
- strh r0, [r3]
- adds r1, 0x4C
- strb r2, [r1]
- movs r0, 0
- b _0814871C
-_0814871A:
- movs r0, 0x1
-_0814871C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81486C4
-
- thumb_func_start sub_8148724
-sub_8148724: @ 8148724
- push {r4,lr}
- ldr r4, _08148738 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _0814873C
- cmp r0, 0x1
- beq _08148752
- b _08148756
- .align 2, 0
-_08148738: .4byte gUnknown_203F3D4
-_0814873C:
- bl sub_8148E2C
- cmp r0, 0
- bne _08148756
- ldr r0, [r4]
- bl sub_8147B94
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08148752:
- movs r0, 0
- b _08148758
-_08148756:
- movs r0, 0x1
-_08148758:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148724
-
- thumb_func_start sub_8148760
-sub_8148760: @ 8148760
- push {r4,lr}
- ldr r4, _08148778 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x1
- beq _08148788
- cmp r0, 0x1
- bgt _0814877C
- cmp r0, 0
- beq _08148782
- b _081487AC
- .align 2, 0
-_08148778: .4byte gUnknown_203F3D4
-_0814877C:
- cmp r0, 0x2
- beq _08148798
- b _081487AC
-_08148782:
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _081487AC
-_08148788:
- movs r0, 0
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081487AC
-_08148798:
- bl sub_8148D5C
- cmp r0, 0
- bne _081487AC
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- bl sub_8147B48
-_081487AC:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148760
-
- thumb_func_start sub_81487B4
-sub_81487B4: @ 81487B4
- push {r4,lr}
- ldr r4, _081487C8 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _081487CC
- cmp r0, 0x1
- beq _081487DC
- b _081487F8
- .align 2, 0
-_081487C8: .4byte gUnknown_203F3D4
-_081487CC:
- movs r0, 0x4
- bl sub_8147F10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081487F8
-_081487DC:
- bl sub_8148B54
- cmp r0, 0
- bne _081487F8
- ldr r0, [r4]
- ldrh r1, [r0, 0xE]
- adds r2, r0, 0
- adds r2, 0x72
- strh r1, [r2]
- adds r0, 0x4C
- movs r1, 0x8
- strb r1, [r0]
- movs r0, 0
- b _081487FA
-_081487F8:
- movs r0, 0x1
-_081487FA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81487B4
-
- thumb_func_start sub_8148800
-sub_8148800: @ 8148800
- push {lr}
- movs r0, 0
- bl sub_8147F10
- bl sub_8148B54
- cmp r0, 0
- beq _08148814
- movs r0, 0x1
- b _08148816
-_08148814:
- movs r0, 0
-_08148816:
- pop {r1}
- bx r1
- thumb_func_end sub_8148800
-
- thumb_func_start sub_814881C
-sub_814881C: @ 814881C
- push {r4,lr}
- ldr r1, _08148834 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0x8]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _081488D4
- lsls r0, 2
- ldr r1, _08148838 @ =_0814883C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148834: .4byte gUnknown_203F3D4
-_08148838: .4byte _0814883C
- .align 2, 0
-_0814883C:
- .4byte _08148850
- .4byte _0814886C
- .4byte _0814887C
- .4byte _08148894
- .4byte _081488B8
-_08148850:
- ldr r2, [r4]
- ldr r0, [r2, 0x78]
- adds r1, r2, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r2, 0x72
- ldrh r2, [r2]
- bl sub_814B494
- movs r0, 0x5
- bl sub_8149D40
- ldr r1, [r4]
- b _081488A8
-_0814886C:
- bl sub_8149D68
- cmp r0, 0
- bne _081488D4
- movs r0, 0
- bl sub_8147F10
- b _081488A4
-_0814887C:
- bl sub_8149804
- cmp r0, 0
- beq _081488D4
- ldr r0, _08148890 @ =sub_80DA634
- movs r1, 0x6
- bl CreateTask
- b _081488A4
- .align 2, 0
-_08148890: .4byte sub_80DA634
-_08148894:
- ldr r0, _081488B0 @ =sub_80DA634
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _081488D4
- bl sub_814A6CC
-_081488A4:
- ldr r0, _081488B4 @ =gUnknown_203F3D4
- ldr r1, [r0]
-_081488A8:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _081488D4
- .align 2, 0
-_081488B0: .4byte sub_80DA634
-_081488B4: .4byte gUnknown_203F3D4
-_081488B8:
- bl sub_814A6FC
- cmp r0, 0
- bne _081488D4
- ldr r0, _081488D0 @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x4C
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- b _081488D6
- .align 2, 0
-_081488D0: .4byte gUnknown_203F3D4
-_081488D4:
- movs r0, 0x1
-_081488D6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814881C
-
- thumb_func_start sub_81488DC
-sub_81488DC: @ 81488DC
- push {r4,r5,lr}
- ldr r1, _081488F4 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x7
- bhi _081489C0
- lsls r0, 2
- ldr r1, _081488F8 @ =_081488FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081488F4: .4byte gUnknown_203F3D4
-_081488F8: .4byte _081488FC
- .align 2, 0
-_081488FC:
- .4byte _0814891C
- .4byte _08148928
- .4byte _08148948
- .4byte _08148962
- .4byte _08148974
- .4byte _0814897C
- .4byte _0814899C
- .4byte _081489B6
-_0814891C:
- movs r0, 0x2
- bl sub_8149D40
- bl sub_814AAA0
- b _0814898C
-_08148928:
- bl sub_8149D68
- adds r5, r0, 0
- cmp r5, 0
- bne _081489C0
- ldr r4, _08148944 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_814AAB4
- ldr r1, [r4]
- strh r5, [r1, 0x3C]
- b _08148990
- .align 2, 0
-_08148944: .4byte gUnknown_203F3D4
-_08148948:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _081489C0
- movs r0, 0x3
- bl sub_8149D40
- ldr r1, [r4]
- b _08148990
-_08148962:
- bl sub_8149D68
- cmp r0, 0x1
- beq _081489C0
- bl sub_814AAC8
- cmp r0, 0x1
- beq _081489C0
- b _0814898C
-_08148974:
- movs r0, 0x9
- bl sub_8149D40
- b _0814898C
-_0814897C:
- bl sub_8149D68
- cmp r0, 0
- bne _081489C0
- bl sub_814935C
- bl sub_814A3E4
-_0814898C:
- ldr r0, _08148998 @ =gUnknown_203F3D4
- ldr r1, [r0]
-_08148990:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _081489C0
- .align 2, 0
-_08148998: .4byte gUnknown_203F3D4
-_0814899C:
- bl sub_814A408
- cmp r0, 0
- bne _081489C0
- bl sub_814936C
- bl sub_8148F9C
- ldr r0, _081489BC @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_081489B6:
- movs r0, 0
- b _081489C2
- .align 2, 0
-_081489BC: .4byte gUnknown_203F3D4
-_081489C0:
- movs r0, 0x1
-_081489C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81488DC
-
- thumb_func_start sub_81489C8
-sub_81489C8: @ 81489C8
- push {r4,r5,lr}
- bl sub_8148FE0
- ldr r5, _081489E0 @ =gUnknown_203F3D4
- ldr r1, [r5]
- ldrh r4, [r1, 0x36]
- cmp r4, 0
- beq _081489E4
- movs r0, 0
- strh r0, [r1, 0x36]
- b _08148A58
- .align 2, 0
-_081489E0: .4byte gUnknown_203F3D4
-_081489E4:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x1
- beq _08148A10
- cmp r0, 0x1
- bgt _081489F4
- cmp r0, 0
- beq _081489FE
- b _08148A56
-_081489F4:
- cmp r0, 0x2
- beq _08148A34
- cmp r0, 0x3
- beq _08148A48
- b _08148A56
-_081489FE:
- movs r0, 0
- bl sub_814922C
- cmp r0, 0
- beq _08148A56
- ldr r1, [r5]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08148A10:
- ldr r0, _08148A2C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08148A56
- bl sub_8149260
- movs r0, 0x3
- bl sub_8147F10
- ldr r0, _08148A30 @ =gUnknown_203F3D4
- ldr r1, [r0]
- b _08148A40
- .align 2, 0
-_08148A2C: .4byte gMain
-_08148A30: .4byte gUnknown_203F3D4
-_08148A34:
- movs r0, 0x1
- bl sub_814922C
- cmp r0, 0x1
- bne _08148A56
- ldr r1, [r5]
-_08148A40:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148A56
-_08148A48:
- movs r0, 0
- bl sub_814922C
- cmp r0, 0x1
- bne _08148A56
- ldr r0, [r5]
- strh r4, [r0, 0xA]
-_08148A56:
- movs r0, 0x1
-_08148A58:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81489C8
-
- thumb_func_start sub_8148A60
-sub_8148A60: @ 8148A60
- push {r4-r6,lr}
- ldr r1, _08148A78 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r5, r1, 0
- cmp r0, 0x4
- bhi _08148B4C
- lsls r0, 2
- ldr r1, _08148A7C @ =_08148A80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148A78: .4byte gUnknown_203F3D4
-_08148A7C: .4byte _08148A80
- .align 2, 0
-_08148A80:
- .4byte _08148A94
- .4byte _08148AB8
- .4byte _08148AFC
- .4byte _08148B20
- .4byte _08148B42
-_08148A94:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _08148AB4
- adds r6, r5, 0
-_08148AA0:
- adds r0, r4, 0
- bl sub_814AA78
- cmp r0, 0x1
- beq _08148B4C
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _08148AA0
-_08148AB4:
- ldr r1, [r5]
- b _08148B18
-_08148AB8:
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- bge _08148AE8
- adds r6, r5, 0
- movs r5, 0
-_08148AC6:
- ldr r0, [r6]
- adds r0, r5
- ldr r1, _08148AF4 @ =0x000082f4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _08148ADC
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_814AA60
-_08148ADC:
- adds r5, 0x28
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- cmp r4, r0
- blt _08148AC6
-_08148AE8:
- movs r0, 0x1
- bl sub_8149D40
- ldr r0, _08148AF8 @ =gUnknown_203F3D4
- ldr r1, [r0]
- b _08148B14
- .align 2, 0
-_08148AF4: .4byte 0x000082f4
-_08148AF8: .4byte gUnknown_203F3D4
-_08148AFC:
- ldr r1, [r5]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x64
- bls _08148B4C
- movs r0, 0x3
- bl sub_8149D40
- ldr r1, [r5]
-_08148B14:
- movs r0, 0
- strh r0, [r1, 0x3C]
-_08148B18:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148B4C
-_08148B20:
- bl sub_8149D68
- adds r5, r0, 0
- cmp r5, 0
- bne _08148B4C
- bl sub_814AA8C
- ldr r4, _08148B48 @ =gUnknown_203F3D4
- ldr r0, [r4]
- adds r0, 0x71
- strb r5, [r0]
- bl sub_8149210
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08148B42:
- movs r0, 0
- b _08148B4E
- .align 2, 0
-_08148B48: .4byte gUnknown_203F3D4
-_08148B4C:
- movs r0, 0x1
-_08148B4E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8148A60
-
- thumb_func_start sub_8148B54
-sub_8148B54: @ 8148B54
- push {r4,lr}
- ldr r1, _08148B70 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _08148B64
- b _08148C78
-_08148B64:
- lsls r0, 2
- ldr r1, _08148B74 @ =_08148B78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148B70: .4byte gUnknown_203F3D4
-_08148B74: .4byte _08148B78
- .align 2, 0
-_08148B78:
- .4byte _08148B94
- .4byte _08148BB4
- .4byte _08148BCC
- .4byte _08148BFC
- .4byte _08148BB4
- .4byte _08148BCC
- .4byte _08148C6C
-_08148B94:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x3E
- adds r2, 0x40
- bl sub_8149900
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_814A468
- b _08148BEC
-_08148BB4:
- bl sub_814A62C
- adds r2, r0, 0
- cmp r2, 0
- bne _08148C78
- ldr r0, _08148BC8 @ =gUnknown_203F3D4
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _08148BEE
- .align 2, 0
-_08148BC8: .4byte gUnknown_203F3D4
-_08148BCC:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r2, r0, 0x1
- strh r2, [r1, 0x3C]
- ldr r0, _08148BF8 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08148BE8
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0xB4
- bls _08148C78
-_08148BE8:
- bl sub_814A6CC
-_08148BEC:
- ldr r1, [r4]
-_08148BEE:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148C78
- .align 2, 0
-_08148BF8: .4byte gMain
-_08148BFC:
- bl sub_814A6FC
- cmp r0, 0
- bne _08148C78
- ldr r4, _08148C48 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldrh r0, [r1, 0x3E]
- adds r1, 0x40
- ldrh r1, [r1]
- bl sub_8149978
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x40
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- beq _08148C54
- ldrh r0, [r1, 0x3E]
- ldrh r1, [r2]
- bl AddBagItem
- lsls r0, 24
- cmp r0, 0
- beq _08148C54
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- movs r1, 0x1
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- bne _08148C4C
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_814A53C
- b _08148C5E
- .align 2, 0
-_08148C48: .4byte gUnknown_203F3D4
-_08148C4C:
- ldr r1, [r4]
- movs r0, 0x6
- strh r0, [r1, 0xA]
- b _08148C78
-_08148C54:
- ldr r4, _08148C68 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0x3E]
- bl sub_814A5B4
-_08148C5E:
- ldr r1, [r4]
- movs r0, 0x4
- strh r0, [r1, 0xA]
- b _08148C78
- .align 2, 0
-_08148C68: .4byte gUnknown_203F3D4
-_08148C6C:
- bl sub_814A6FC
- cmp r0, 0
- bne _08148C78
- movs r0, 0
- b _08148C7A
-_08148C78:
- movs r0, 0x1
-_08148C7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148B54
-
- thumb_func_start sub_8148C80
-sub_8148C80: @ 8148C80
- push {r4,lr}
- ldr r0, _08148C98 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x6
- bhi _08148D54
- lsls r0, 2
- ldr r1, _08148C9C @ =_08148CA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148C98: .4byte gUnknown_203F3D4
-_08148C9C: .4byte _08148CA0
- .align 2, 0
-_08148CA0:
- .4byte _08148CBC
- .4byte _08148CC0
- .4byte _08148CCA
- .4byte _08148D18
- .4byte _08148D22
- .4byte _08148D38
- .4byte _08148D4A
-_08148CBC:
- movs r0, 0x4
- b _08148D24
-_08148CC0:
- bl sub_8149D68
- cmp r0, 0
- bne _08148D54
- b _08148D28
-_08148CCA:
- bl sub_814A744
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08148D00
- cmp r1, 0
- bgt _08148CE4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08148CE8
- b _08148D54
-_08148CE4:
- cmp r1, 0x1
- bne _08148D54
-_08148CE8:
- ldr r4, _08148CFC @ =gUnknown_203F3D4
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x6
- bl sub_8149D40
- ldr r1, [r4]
- b _08148D2C
- .align 2, 0
-_08148CFC: .4byte gUnknown_203F3D4
-_08148D00:
- ldr r4, _08148D14 @ =gUnknown_203F3D4
- ldr r0, [r4]
- adds r0, 0x45
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0x6
- bl sub_8149D40
- ldr r1, [r4]
- b _08148D2C
- .align 2, 0
-_08148D14: .4byte gUnknown_203F3D4
-_08148D18:
- bl sub_8149D68
- cmp r0, 0
- bne _08148D54
- b _08148D28
-_08148D22:
- movs r0, 0x8
-_08148D24:
- bl sub_8149D40
-_08148D28:
- ldr r0, _08148D34 @ =gUnknown_203F3D4
- ldr r1, [r0]
-_08148D2C:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148D54
- .align 2, 0
-_08148D34: .4byte gUnknown_203F3D4
-_08148D38:
- bl sub_8149D68
- cmp r0, 0
- bne _08148D54
- ldr r0, _08148D50 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08148D4A:
- movs r0, 0
- b _08148D56
- .align 2, 0
-_08148D50: .4byte gUnknown_203F3D4
-_08148D54:
- movs r0, 0x1
-_08148D56:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148C80
-
- thumb_func_start sub_8148D5C
-sub_8148D5C: @ 8148D5C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _08148D78 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrh r0, [r0, 0xA]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _08148E20
- lsls r0, 2
- ldr r1, _08148D7C @ =_08148D80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08148D78: .4byte gUnknown_203F3D4
-_08148D7C: .4byte _08148D80
- .align 2, 0
-_08148D80:
- .4byte _08148D98
- .4byte _08148D9E
- .4byte _08148DAE
- .4byte _08148DC4
- .4byte _08148DEA
- .4byte _08148E10
-_08148D98:
- bl sub_814A6CC
- b _08148DFA
-_08148D9E:
- bl sub_814A6FC
- cmp r0, 0
- bne _08148E20
- movs r0, 0x7
- bl sub_8149D40
- b _08148DFA
-_08148DAE:
- bl sub_8149D68
- adds r2, r0, 0
- cmp r2, 0
- bne _08148E20
- ldr r0, _08148DC0 @ =gUnknown_203F3D4
- ldr r1, [r0]
- strh r2, [r1, 0x3C]
- b _08148DFE
- .align 2, 0
-_08148DC0: .4byte gUnknown_203F3D4
-_08148DC4:
- ldr r1, [r4]
- ldrh r0, [r1, 0x3C]
- adds r0, 0x1
- strh r0, [r1, 0x3C]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _08148E20
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, [r4]
- b _08148DFE
-_08148DEA:
- ldr r0, _08148E08 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08148E20
- bl sub_800AAC0
-_08148DFA:
- ldr r0, _08148E0C @ =gUnknown_203F3D4
- ldr r1, [r0]
-_08148DFE:
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148E20
- .align 2, 0
-_08148E08: .4byte gPaletteFade
-_08148E0C: .4byte gUnknown_203F3D4
-_08148E10:
- ldr r0, _08148E1C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08148E20
- movs r0, 0
- b _08148E22
- .align 2, 0
-_08148E1C: .4byte gReceivedRemoteLinkPlayers
-_08148E20:
- movs r0, 0x1
-_08148E22:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148D5C
-
- thumb_func_start sub_8148E2C
-sub_8148E2C: @ 8148E2C
- push {r4,lr}
- ldr r4, _08148E44 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x1
- beq _08148E62
- cmp r0, 0x1
- bgt _08148E48
- cmp r0, 0
- beq _08148E4E
- b _08148E76
- .align 2, 0
-_08148E44: .4byte gUnknown_203F3D4
-_08148E48:
- cmp r0, 0x2
- beq _08148E72
- b _08148E76
-_08148E4E:
- bl sub_814A6CC
- movs r0, 0
- bl sub_814AA24
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _08148E76
-_08148E62:
- bl sub_814A6FC
- cmp r0, 0
- bne _08148E76
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08148E72:
- movs r0, 0
- b _08148E78
-_08148E76:
- movs r0, 0x1
-_08148E78:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8148E2C
-
- thumb_func_start sub_8148E80
-sub_8148E80: @ 8148E80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, _08148EB4 @ =gTasks+0x8
- adds r6, r0, r1
- mov r0, r10
- movs r1, 0xE
- bl GetWordTaskArg
- mov r8, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _08148EC4
- cmp r0, 0x1
- beq _08148ED8
- b _08148F44
- .align 2, 0
-_08148EB4: .4byte gTasks+0x8
-_08148EB8:
- bl sub_8147C20
- mov r0, r10
- bl DestroyTask
- b _08148F44
-_08148EC4:
- movs r1, 0
- adds r0, r6, 0
- adds r0, 0x8
-_08148ECA:
- strh r1, [r0, 0x4]
- subs r0, 0x2
- cmp r0, r6
- bge _08148ECA
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_08148ED8:
- mov r3, r8
- ldrb r1, [r3, 0x6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r4, _08148F54 @ =0x000082a8
- adds r0, r4
- add r0, r8
- bl sub_8149A6C
- movs r2, 0
- adds r5, r6, 0x4
- mov r9, r2
- movs r7, 0x83
- lsls r7, 8
- add r7, r8
- add r4, r8
-_08148EFA:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08148F34
- adds r0, r2, 0
- adds r1, r4, 0
- str r2, [sp]
- bl sub_8149A90
- ldr r2, [sp]
- cmp r0, 0
- beq _08148F34
- ldr r1, _08148F58 @ =gLinkPlayers + 8
- add r1, r9
- adds r0, r7, 0
- bl StringCopy
- movs r0, 0x1
- strh r0, [r5]
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- movs r3, 0x2
- ldrsh r0, [r6, r3]
- ldr r2, [sp]
- mov r1, r8
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- beq _08148EB8
-_08148F34:
- adds r5, 0x2
- movs r3, 0x1C
- add r9, r3
- adds r7, 0x28
- adds r4, 0xC
- adds r2, 0x1
- cmp r2, 0x4
- ble _08148EFA
-_08148F44:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08148F54: .4byte 0x000082a8
-_08148F58: .4byte gLinkPlayers + 8
- thumb_func_end sub_8148E80
-
- thumb_func_start sub_8148F5C
-sub_8148F5C: @ 8148F5C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08148F78 @ =gUnknown_203F3D4
- ldr r2, [r1]
- movs r1, 0xE
- bl SetWordTaskArg
- pop {r0}
- bx r0
- .align 2, 0
-_08148F78: .4byte gUnknown_203F3D4
- thumb_func_end sub_8148F5C
-
- thumb_func_start sub_8148F7C
-sub_8148F7C: @ 8148F7C
- ldr r0, _08148F98 @ =gUnknown_203F3D4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4A
- movs r1, 0
- strh r1, [r0]
- movs r0, 0x6
- str r0, [r2, 0x14]
- strh r1, [r2, 0x34]
- str r1, [r2, 0x1C]
- strh r1, [r2, 0x36]
- str r1, [r2, 0x10]
- bx lr
- .align 2, 0
-_08148F98: .4byte gUnknown_203F3D4
- thumb_func_end sub_8148F7C
-
- thumb_func_start sub_8148F9C
-sub_8148F9C: @ 8148F9C
- push {r4,lr}
- ldr r3, _08148FD8 @ =gUnknown_203F3D4
- ldr r0, [r3]
- adds r1, r0, 0
- adds r1, 0x4A
- movs r4, 0
- movs r2, 0
- strh r2, [r1]
- ldr r1, _08148FDC @ =0x000006ff
- strh r1, [r0, 0x34]
- movs r1, 0x7
- str r1, [r0, 0x14]
- strh r2, [r0, 0x36]
- str r2, [r0, 0x10]
- adds r0, 0x51
- strb r4, [r0]
- ldr r0, [r3]
- adds r0, 0x50
- strb r4, [r0]
- ldr r0, [r3]
- str r2, [r0, 0x20]
- adds r1, r0, 0
- adds r1, 0x4E
- strh r2, [r1]
- str r2, [r0, 0x6C]
- bl sub_8149078
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08148FD8: .4byte gUnknown_203F3D4
-_08148FDC: .4byte 0x000006ff
- thumb_func_end sub_8148F9C
-
- thumb_func_start sub_8148FE0
-sub_8148FE0: @ 8148FE0
- push {r4,lr}
- ldr r4, _08149038 @ =gUnknown_203F3D4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _08149030
- adds r1, 0x4A
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_8149044
- ldr r3, [r4]
- ldrh r1, [r3, 0x34]
- adds r2, r1, r0
- strh r2, [r3, 0x34]
- lsls r1, r2, 16
- ldr r0, _0814903C @ =0x09fe0000
- cmp r1, r0
- bls _08149012
- ldr r1, _08149040 @ =0xfffff601
- adds r0, r2, r1
- strh r0, [r3, 0x34]
-_08149012:
- ldr r1, [r4]
- ldr r2, [r1, 0x14]
- str r2, [r1, 0x18]
- ldrh r0, [r1, 0x34]
- lsrs r0, 8
- str r0, [r1, 0x14]
- cmp r0, 0x6
- bls _08149030
- cmp r2, 0x6
- bhi _08149030
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
- bl sub_8149078
-_08149030:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08149038: .4byte gUnknown_203F3D4
-_0814903C: .4byte 0x09fe0000
-_08149040: .4byte 0xfffff601
- thumb_func_end sub_8148FE0
-
- thumb_func_start sub_8149044
-sub_8149044: @ 8149044
- push {lr}
- ldr r0, _08149054 @ =gUnknown_203F3D4
- ldr r2, [r0]
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _08149058
- movs r0, 0
- b _0814906E
- .align 2, 0
-_08149054: .4byte gUnknown_203F3D4
-_08149058:
- ldr r3, [r2, 0x1C]
- ldrh r1, [r2, 0x34]
- ldr r0, _08149074 @ =0x000005ff
- cmp r1, r0
- bhi _0814906C
- ldr r0, [r2, 0x20]
- adds r0, 0x50
- str r0, [r2, 0x20]
- lsrs r0, 8
- adds r3, r0
-_0814906C:
- adds r0, r3, 0
-_0814906E:
- pop {r1}
- bx r1
- .align 2, 0
-_08149074: .4byte 0x000005ff
- thumb_func_end sub_8149044
-
- thumb_func_start sub_8149078
-sub_8149078: @ 8149078
- push {r4,lr}
- ldr r4, _081490A8 @ =gUnknown_203F3D4
- ldr r3, [r4]
- movs r0, 0
- str r0, [r3, 0x20]
- adds r1, r3, 0
- adds r1, 0x4E
- ldrh r0, [r1]
- cmp r0, 0
- beq _081490BC
- subs r0, 0x1
- strh r0, [r1]
- ldr r0, [r3, 0x6C]
- cmp r0, 0
- beq _08149186
- bl sub_8149194
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- beq _081490AC
- ldr r1, [r4]
- b _08149182
- .align 2, 0
-_081490A8: .4byte gUnknown_203F3D4
-_081490AC:
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- cmp r0, 0x36
- bls _081490B8
- movs r0, 0x1E
- b _08149184
-_081490B8:
- movs r0, 0x52
- b _08149184
-_081490BC:
- adds r2, r3, 0
- adds r2, 0x50
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08149110
- ldr r0, _08149108 @ =gUnknown_846B694
- ldrb r1, [r2]
- lsls r1, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- str r0, [r3, 0x28]
- bl sub_8149194
- ldr r2, [r4]
- ldr r3, _0814910C @ =gUnknown_846B6A4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 1
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x2
- adds r1, r2, 0
- adds r1, 0x4E
- strh r0, [r1]
- adds r2, 0x50
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _0814917E
- .align 2, 0
-_08149108: .4byte gUnknown_846B694
-_0814910C: .4byte gUnknown_846B6A4
-_08149110:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x8
- bne _0814912C
- adds r1, r3, 0
- adds r1, 0x51
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _08149128
- adds r0, 0x1
- strb r0, [r1]
- b _0814912C
-_08149128:
- movs r0, 0x1
- str r0, [r3, 0x6C]
-_0814912C:
- ldr r2, _0814918C @ =gUnknown_846B694
- ldr r4, _08149190 @ =gUnknown_203F3D4
- ldr r0, [r4]
- mov r12, r0
- mov r3, r12
- adds r3, 0x50
- ldrb r0, [r3]
- movs r1, 0xF
- subs r1, r0
- lsls r1, 1
- adds r1, r2
- mov r0, r12
- adds r0, 0x51
- ldrb r2, [r0]
- lsls r0, r2, 3
- subs r0, r2
- ldrh r1, [r1]
- adds r0, r1
- mov r1, r12
- str r0, [r1, 0x28]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bls _0814917E
- bl sub_8149194
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _08149176
- ldr r1, [r4]
- ldr r0, [r1, 0x28]
- subs r0, 0x5
- str r0, [r1, 0x28]
-_08149176:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
-_0814917E:
- ldr r0, _08149190 @ =gUnknown_203F3D4
- ldr r1, [r0]
-_08149182:
- ldr r0, [r1, 0x28]
-_08149184:
- str r0, [r1, 0x1C]
-_08149186:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814918C: .4byte gUnknown_846B694
-_08149190: .4byte gUnknown_203F3D4
- thumb_func_end sub_8149078
-
- thumb_func_start sub_8149194
-sub_8149194: @ 8149194
- ldr r0, _081491A8 @ =gUnknown_203F3D4
- ldr r2, [r0]
- ldr r1, [r2, 0x24]
- ldr r0, _081491AC @ =0x41c64e6d
- muls r0, r1
- ldr r1, _081491B0 @ =0x00006073
- adds r0, r1
- str r0, [r2, 0x24]
- lsrs r0, 16
- bx lr
- .align 2, 0
-_081491A8: .4byte gUnknown_203F3D4
-_081491AC: .4byte 0x41c64e6d
-_081491B0: .4byte 0x00006073
- thumb_func_end sub_8149194
-
- thumb_func_start sub_81491B4
-sub_81491B4: @ 81491B4
- push {lr}
- ldr r0, _081491D0 @ =gUnknown_203F3D4
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x10]
- movs r0, 0x6
- str r0, [r1, 0x14]
- ldr r0, _081491D4 @ =0x000005ff
- strh r0, [r1, 0x34]
- bl sub_814936C
- pop {r0}
- bx r0
- .align 2, 0
-_081491D0: .4byte gUnknown_203F3D4
-_081491D4: .4byte 0x000005ff
- thumb_func_end sub_81491B4
-
- thumb_func_start sub_81491D8
-sub_81491D8: @ 81491D8
- ldr r0, _081491E0 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_081491E0: .4byte gUnknown_203F3D4
- thumb_func_end sub_81491D8
-
- thumb_func_start sub_81491E4
-sub_81491E4: @ 81491E4
- push {r4,r5,lr}
- ldr r5, _08149208 @ =gUnknown_203F3D4
- ldr r4, _0814920C @ =0x000082f8
- movs r3, 0
- movs r2, 0
- movs r1, 0x4
-_081491F0:
- ldr r0, [r5]
- adds r0, r4
- adds r0, r2
- str r3, [r0]
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bge _081491F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08149208: .4byte gUnknown_203F3D4
-_0814920C: .4byte 0x000082f8
- thumb_func_end sub_81491E4
-
- thumb_func_start sub_8149210
-sub_8149210: @ 8149210
- ldr r0, _08149224 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldr r1, _08149228 @ =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0
- strh r2, [r1, 0x10]
- ldr r0, [r0]
- strh r2, [r0, 0x12]
- bx lr
- .align 2, 0
-_08149224: .4byte gUnknown_203F3D4
-_08149228: .4byte 0x000083ac
- thumb_func_end sub_8149210
-
- thumb_func_start sub_814922C
-sub_814922C: @ 814922C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08149250 @ =gUnknown_203F3D4
- ldr r2, [r1]
- ldrb r3, [r2, 0x6]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- ldr r1, _08149254 @ =0x000082f4
- adds r2, r1
- ldrh r1, [r2]
- cmp r1, r0
- beq _08149258
- movs r0, 0
- b _0814925A
- .align 2, 0
-_08149250: .4byte gUnknown_203F3D4
-_08149254: .4byte 0x000082f4
-_08149258:
- movs r0, 0x1
-_0814925A:
- pop {r1}
- bx r1
- thumb_func_end sub_814922C
-
- thumb_func_start sub_8149260
-sub_8149260: @ 8149260
- ldr r0, _08149280 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldr r1, _08149284 @ =0x000083ac
- adds r2, r0, r1
- ldr r1, [r2]
- adds r0, 0x4A
- ldrh r0, [r0]
- strh r0, [r1, 0xE]
- ldr r1, [r2]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- bx lr
- .align 2, 0
-_08149280: .4byte gUnknown_203F3D4
-_08149284: .4byte 0x000083ac
- thumb_func_end sub_8149260
-
- thumb_func_start sub_8149288
-sub_8149288: @ 8149288
- push {r4,lr}
- ldr r0, _081492B0 @ =gUnknown_203F3D4
- ldr r2, [r0]
- ldr r0, _081492B4 @ =0x000083ac
- adds r3, r2, r0
- ldr r1, [r3]
- ldrh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- ldr r0, [r3]
- movs r4, 0x2
- strh r4, [r0, 0x10]
- ldr r1, [r3]
- adds r2, 0x4A
- ldrh r0, [r2]
- strh r0, [r1, 0xE]
- ldr r0, [r3]
- str r4, [r0, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081492B0: .4byte gUnknown_203F3D4
-_081492B4: .4byte 0x000083ac
- thumb_func_end sub_8149288
-
- thumb_func_start sub_81492B8
-sub_81492B8: @ 81492B8
- ldr r0, _081492D0 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldr r1, _081492D4 @ =0x000083ac
- adds r0, r1
- ldr r1, [r0]
- ldrh r2, [r1, 0x10]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldr r0, [r0]
- strh r3, [r0, 0x10]
- bx lr
- .align 2, 0
-_081492D0: .4byte gUnknown_203F3D4
-_081492D4: .4byte 0x000083ac
- thumb_func_end sub_81492B8
-
- thumb_func_start sub_81492D8
-sub_81492D8: @ 81492D8
- push {r4,r5,lr}
- ldr r4, _08149334 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldr r0, [r1, 0x5C]
- cmp r0, 0
- beq _08149318
- ldr r0, [r1, 0x78]
- bl sub_814AA24
- ldr r1, [r4]
- movs r5, 0
- str r5, [r1, 0x5C]
- adds r0, r1, 0
- adds r0, 0x4D
- ldrb r0, [r0]
- cmp r0, 0
- beq _08149318
- adds r0, r1, 0
- adds r0, 0x71
- ldrb r0, [r0]
- bl sub_814A98C
- ldr r1, _08149338 @ =gUnknown_846B6AC
- subs r0, 0x2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl PlaySE
- ldr r0, [r4]
- adds r0, 0x4D
- strb r5, [r0]
-_08149318:
- ldr r0, _08149334 @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x74
- ldrh r0, [r0]
- bl sub_814AA34
- bl sub_814937C
- bl sub_814933C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08149334: .4byte gUnknown_203F3D4
-_08149338: .4byte gUnknown_846B6AC
- thumb_func_end sub_81492D8
-
- thumb_func_start sub_814933C
-sub_814933C: @ 814933C
- push {lr}
- ldr r0, _08149358 @ =gUnknown_203F3D4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r0, 0
- beq _08149352
- ldr r0, [r1, 0x14]
- bl sub_814A95C
-_08149352:
- pop {r0}
- bx r0
- .align 2, 0
-_08149358: .4byte gUnknown_203F3D4
- thumb_func_end sub_814933C
-
- thumb_func_start sub_814935C
-sub_814935C: @ 814935C
- ldr r0, _08149368 @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08149368: .4byte gUnknown_203F3D4
- thumb_func_end sub_814935C
-
- thumb_func_start sub_814936C
-sub_814936C: @ 814936C
- ldr r0, _08149378 @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x46
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08149378: .4byte gUnknown_203F3D4
- thumb_func_end sub_814936C
-
- thumb_func_start sub_814937C
-sub_814937C: @ 814937C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
- ldr r2, _081493B8 @ =gUnknown_203F3D4
- ldr r0, [r2]
- ldrb r0, [r0, 0x5]
- mov r9, r0
- movs r5, 0
- cmp r6, r9
- bge _0814945C
- mov r10, r2
- mov r8, r5
- movs r7, 0
-_0814939E:
- mov r0, r10
- ldr r3, [r0]
- adds r1, r3, r7
- ldr r2, _081493BC @ =0x000082f4
- adds r0, r1, r2
- ldrh r2, [r0]
- cmp r2, 0x1
- beq _081493D0
- cmp r2, 0x1
- bgt _081493C0
- cmp r2, 0
- beq _081493C6
- b _08149450
- .align 2, 0
-_081493B8: .4byte gUnknown_203F3D4
-_081493BC: .4byte 0x000082f4
-_081493C0:
- cmp r2, 0x2
- beq _08149434
- b _08149450
-_081493C6:
- adds r0, r5, 0
- movs r1, 0
- bl sub_814A940
- b _08149450
-_081493D0:
- ldr r0, _08149424 @ =0x000082f6
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- bne _081493F2
- ldr r0, _08149428 @ =0x000082f2
- adds r0, r1
- adds r1, r3, 0
- adds r1, 0x9A
- add r1, r8
- str r1, [sp]
- ldrh r1, [r0]
- mov r12, r1
- ldr r0, [sp]
- ldrh r0, [r0]
- cmp r12, r0
- beq _0814941A
-_081493F2:
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _081493FA
- strh r2, [r4]
-_081493FA:
- orrs r6, r2
- mov r1, r10
- ldr r2, [r1]
- ldr r1, _0814942C @ =0x000082e8
- adds r0, r2, r1
- adds r0, r7
- ldr r1, _08149430 @ =0x7fffffff
- str r1, [r0]
- adds r1, r2, 0
- adds r1, 0x9A
- add r1, r8
- adds r2, r7
- ldr r0, _08149428 @ =0x000082f2
- adds r2, r0
- ldrh r0, [r2]
- strh r0, [r1]
-_0814941A:
- adds r0, r5, 0
- bl sub_8149490
- b _08149450
- .align 2, 0
-_08149424: .4byte 0x000082f6
-_08149428: .4byte 0x000082f2
-_0814942C: .4byte 0x000082e8
-_08149430: .4byte 0x7fffffff
-_08149434:
- ldr r0, _0814946C @ =0x000082f6
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _08149450
- ldrb r3, [r3, 0x6]
- cmp r5, r3
- bne _08149446
- strh r2, [r1]
-_08149446:
- orrs r6, r2
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_814AA48
-_08149450:
- movs r1, 0x2
- add r8, r1
- adds r7, 0x28
- adds r5, 0x1
- cmp r5, r9
- blt _0814939E
-_0814945C:
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _08149470
- movs r0, 0xFF
- bl PlaySE
- b _0814947E
- .align 2, 0
-_0814946C: .4byte 0x000082f6
-_08149470:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _0814947E
- movs r0, 0xA
- bl PlaySE
-_0814947E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_814937C
-
- thumb_func_start sub_8149490
-sub_8149490: @ 8149490
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _081494BC @ =gUnknown_203F3D4
- ldr r2, [r0]
- ldr r0, [r2, 0x68]
- cmp r0, 0
- bne _0814952A
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _081494C0 @ =0x000082e4
- adds r0, r1
- adds r5, r2, r0
- ldr r1, [r5, 0x4]
- ldr r0, _081494C4 @ =0x7fffffff
- cmp r1, r0
- beq _081494C8
- adds r0, r1, 0x1
- str r0, [r5, 0x4]
- adds r3, r0, 0
- b _081494E0
- .align 2, 0
-_081494BC: .4byte gUnknown_203F3D4
-_081494C0: .4byte 0x000082e4
-_081494C4: .4byte 0x7fffffff
-_081494C8:
- adds r0, r2, 0
- adds r0, 0x4A
- ldrh r1, [r0]
- ldrh r0, [r5, 0xE]
- subs r3, r1, r0
- ldr r0, _08149500 @ =0x0000fde7
- cmp r3, r0
- ble _081494DE
- ldr r0, _08149504 @ =0xffff0218
- adds r3, r0
- adds r3, r1
-_081494DE:
- str r3, [r5, 0x4]
-_081494E0:
- cmp r3, 0x3
- ble _0814952A
- subs r3, 0x4
- cmp r3, 0x2F
- bgt _0814950C
- ldr r2, _08149508 @ =gUnknown_846B6B4
- ldrh r1, [r5, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- adds r0, r3, r0
- adds r0, r2
- movs r4, 0
- ldrsb r4, [r0, r4]
- b _0814950E
- .align 2, 0
-_08149500: .4byte 0x0000fde7
-_08149504: .4byte 0xffff0218
-_08149508: .4byte gUnknown_846B6B4
-_0814950C:
- movs r4, 0
-_0814950E:
- adds r1, r4, 0
- adds r0, r6, 0
- bl sub_814A940
- cmp r4, 0
- bne _08149528
- ldr r0, _08149530 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- cmp r6, r0
- bne _08149528
- bl sub_81492B8
-_08149528:
- str r4, [r5]
-_0814952A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08149530: .4byte gUnknown_203F3D4
- thumb_func_end sub_8149490
-
- thumb_func_start sub_8149534
-sub_8149534: @ 8149534
- push {r4,r5,lr}
- ldr r5, _08149560 @ =gUnknown_203F3D4
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x8
- bne _081495C6
- ldr r0, [r1, 0x18]
- cmp r0, 0x7
- bne _081495C6
- ldr r4, [r1, 0x58]
- cmp r4, 0
- bne _08149564
- bl sub_8149878
- ldr r0, [r5]
- str r4, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r4, [r0]
- b _081495C6
- .align 2, 0
-_08149560: .4byte gUnknown_203F3D4
-_08149564:
- ldr r0, [r1, 0x54]
- cmp r0, 0x5
- bne _08149578
- ldrh r0, [r1, 0xC]
- adds r0, 0x1
- strh r0, [r1, 0xC]
- ldrh r0, [r1, 0xC]
- bl sub_8149898
- b _0814957C
-_08149578:
- movs r0, 0
- strh r0, [r1, 0xC]
-_0814957C:
- ldr r4, _08149628 @ =gUnknown_203F3D4
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r0, 0x1
- ble _08149596
- movs r0, 0x1
- str r0, [r1, 0x64]
- adds r0, r1, 0
- adds r0, 0x86
- adds r1, 0x81
- movs r2, 0x5
- bl memcpy
-_08149596:
- bl sub_8149878
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0, 0x54]
- movs r1, 0x1
- str r1, [r0, 0x58]
- adds r0, 0x71
- strb r2, [r0]
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x74
- ldrh r1, [r2]
- ldr r0, _0814962C @ =0x0000270e
- cmp r1, r0
- bhi _081495BA
- adds r0, r1, 0x1
- strh r0, [r2]
-_081495BA:
- movs r0, 0xA
- bl sub_8149780
- movs r0, 0x3
- bl sub_8147F10
-_081495C6:
- ldr r4, _08149628 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- cmp r0, 0
- beq _081495FC
- bl sub_8149710
- cmp r0, 0x1
- beq _081495E0
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _081495FC
-_081495E0:
- ldr r0, [r4]
- adds r0, 0x86
- bl sub_8149834
- bl sub_8149888
- bl sub_8149780
- movs r0, 0x3
- bl sub_8147F10
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x64]
-_081495FC:
- ldr r4, _08149628 @ =gUnknown_203F3D4
- ldr r0, [r4]
- ldr r0, [r0, 0x58]
- cmp r0, 0
- beq _08149622
- bl sub_81497A8
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r0, [r1, 0x54]
- cmp r2, r0
- ble _08149622
- str r2, [r1, 0x54]
- adds r0, r1, 0
- adds r0, 0x81
- adds r1, 0x7C
- movs r2, 0x5
- bl memcpy
-_08149622:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08149628: .4byte gUnknown_203F3D4
-_0814962C: .4byte 0x0000270e
- thumb_func_end sub_8149534
-
- thumb_func_start sub_8149630
-sub_8149630: @ 8149630
- push {r4,r5,lr}
- ldr r5, _08149664 @ =gUnknown_203F3D4
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- cmp r0, 0x6
- bne _0814967A
- ldr r4, _08149668 @ =0x000083ac
- adds r0, r1, r4
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0
- bne _0814967A
- ldrh r0, [r1, 0x12]
- cmp r0, 0x1
- bne _08149670
- bl sub_81491D8
- adds r1, r0, 0
- cmp r1, 0x1
- bne _08149670
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- str r1, [r0, 0x14]
- b _0814967A
- .align 2, 0
-_08149664: .4byte gUnknown_203F3D4
-_08149668: .4byte 0x000083ac
-_0814966C:
- movs r0, 0
- b _081496C2
-_08149670:
- bl sub_8149288
- movs r0, 0x3
- bl sub_8147F10
-_0814967A:
- ldr r0, _081496C8 @ =gUnknown_203F3D4
- ldr r1, [r0]
- ldr r0, [r1, 0x14]
- cmp r0, 0x7
- bne _081496A0
- ldr r0, [r1, 0x18]
- cmp r0, 0x6
- bne _081496A0
- ldr r2, _081496CC @ =0x000083ac
- adds r0, r1, r2
- ldr r1, [r0]
- ldrh r0, [r1, 0x10]
- cmp r0, 0x2
- beq _081496A0
- movs r0, 0x1
- str r0, [r1, 0x14]
- movs r0, 0x3
- bl sub_8147F10
-_081496A0:
- movs r2, 0
- ldr r0, _081496C8 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _081496C0
- adds r3, r1, 0
- ldr r4, _081496D0 @ =0x000082f4
- adds r1, r0, r4
-_081496B2:
- ldrh r0, [r1]
- cmp r0, 0x2
- beq _0814966C
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _081496B2
-_081496C0:
- movs r0, 0x1
-_081496C2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081496C8: .4byte gUnknown_203F3D4
-_081496CC: .4byte 0x000083ac
-_081496D0: .4byte 0x000082f4
- thumb_func_end sub_8149630
-
- thumb_func_start sub_81496D4
-sub_81496D4: @ 81496D4
- push {r4,lr}
- ldr r0, _08149708 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrb r3, [r0, 0x5]
- movs r4, 0
- cmp r4, r3
- bge _081496F8
- ldr r1, _0814970C @ =0x000082f8
- adds r2, r0, r1
- adds r1, r3, 0
-_081496E8:
- ldr r0, [r2]
- cmp r0, 0
- beq _081496F0
- adds r4, 0x1
-_081496F0:
- adds r2, 0x28
- subs r1, 0x1
- cmp r1, 0
- bne _081496E8
-_081496F8:
- movs r0, 0
- cmp r4, r3
- bne _08149700
- movs r0, 0x1
-_08149700:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08149708: .4byte gUnknown_203F3D4
-_0814970C: .4byte 0x000082f8
- thumb_func_end sub_81496D4
-
- thumb_func_start sub_8149710
-sub_8149710: @ 8149710
- push {r4,lr}
- movs r2, 0
- ldr r0, _08149730 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r2, r1
- bge _08149740
- adds r3, r1, 0
- ldr r4, _08149734 @ =0x000082f8
- adds r1, r0, r4
-_08149724:
- ldr r0, [r1]
- cmp r0, 0x1
- beq _08149738
- movs r0, 0
- b _08149742
- .align 2, 0
-_08149730: .4byte gUnknown_203F3D4
-_08149734: .4byte 0x000082f8
-_08149738:
- adds r1, 0x28
- adds r2, 0x1
- cmp r2, r3
- blt _08149724
-_08149740:
- movs r0, 0x1
-_08149742:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149710
-
- thumb_func_start sub_8149748
-sub_8149748: @ 8149748
- push {lr}
- ldr r0, _0814975C @ =gUnknown_203F3D4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x45
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08149760
-_08149758:
- movs r0, 0
- b _0814977C
- .align 2, 0
-_0814975C: .4byte gUnknown_203F3D4
-_08149760:
- movs r2, 0x1
- ldrb r0, [r1, 0x5]
- cmp r2, r0
- bge _0814977A
- adds r3, r0, 0
- adds r1, 0x92
-_0814976C:
- ldrh r0, [r1]
- cmp r0, 0x1
- beq _08149758
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _0814976C
-_0814977A:
- movs r0, 0x1
-_0814977C:
- pop {r1}
- bx r1
- thumb_func_end sub_8149748
-
- thumb_func_start sub_8149780
-sub_8149780: @ 8149780
- push {lr}
- ldr r1, _081497A0 @ =gUnknown_203F3D4
- ldr r2, [r1]
- ldr r1, [r2, 0x78]
- adds r1, r0
- str r1, [r2, 0x78]
- movs r0, 0x1
- str r0, [r2, 0x5C]
- ldr r0, _081497A4 @ =0x00018695
- cmp r1, r0
- bls _0814979A
- adds r0, 0x1
- str r0, [r2, 0x78]
-_0814979A:
- pop {r0}
- bx r0
- .align 2, 0
-_081497A0: .4byte gUnknown_203F3D4
-_081497A4: .4byte 0x00018695
- thumb_func_end sub_8149780
-
- thumb_func_start sub_81497A8
-sub_81497A8: @ 81497A8
- push {r4-r7,lr}
- movs r5, 0
- ldr r1, _081497E0 @ =gUnknown_203F3D4
- ldr r0, [r1]
- ldrb r4, [r0, 0x5]
- movs r2, 0
- cmp r5, r4
- bge _081497FA
- mov r12, r1
- movs r3, 0
- ldr r7, _081497E4 @ =0x000082e4
- movs r6, 0x1E
- negs r6, r6
-_081497C2:
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, r7
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r6
- bne _081497E8
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- adds r5, 0x1
- b _081497F2
- .align 2, 0
-_081497E0: .4byte gUnknown_203F3D4
-_081497E4: .4byte 0x000082e4
-_081497E8:
- adds r0, r1, 0
- adds r0, 0x7C
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
-_081497F2:
- adds r3, 0x28
- adds r2, 0x1
- cmp r2, r4
- blt _081497C2
-_081497FA:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81497A8
-
- thumb_func_start sub_8149804
-sub_8149804: @ 8149804
- push {lr}
- movs r2, 0
- ldr r1, _08149828 @ =Rfu
- ldr r3, _0814982C @ =0x0000069e
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08149820
- ldr r3, _08149830 @ =0x000008d2
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08149820
- movs r2, 0x1
-_08149820:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08149828: .4byte Rfu
-_0814982C: .4byte 0x0000069e
-_08149830: .4byte 0x000008d2
- thumb_func_end sub_8149804
-
- thumb_func_start sub_8149834
-sub_8149834: @ 8149834
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- ldr r6, _08149874 @ =gUnknown_203F3D4
- movs r5, 0x1
-_08149842:
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08149852
- adds r0, r5, 0
- lsls r0, r1
- orrs r2, r0
- adds r3, 0x1
-_08149852:
- adds r1, 0x1
- cmp r1, 0x4
- ble _08149842
- ldr r0, [r6]
- adds r0, 0x71
- strb r2, [r0]
- cmp r2, 0
- beq _0814986A
- ldr r0, [r6]
- adds r0, 0x4D
- movs r1, 0x1
- strb r1, [r0]
-_0814986A:
- adds r0, r3, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08149874: .4byte gUnknown_203F3D4
- thumb_func_end sub_8149834
-
- thumb_func_start sub_8149878
-sub_8149878: @ 8149878
- ldr r0, _08149884 @ =gUnknown_203F3D4
- ldr r0, [r0]
- adds r0, 0x44
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08149884: .4byte gUnknown_203F3D4
- thumb_func_end sub_8149878
-
- thumb_func_start sub_8149888
-sub_8149888: @ 8149888
- ldr r1, _08149894 @ =gUnknown_846B744
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08149894: .4byte gUnknown_846B744
- thumb_func_end sub_8149888
-
- thumb_func_start sub_8149898
-sub_8149898: @ 8149898
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _081498B0 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrh r2, [r0, 0xE]
- cmp r1, r2
- bls _081498AA
- strh r1, [r0, 0xE]
-_081498AA:
- pop {r0}
- bx r0
- .align 2, 0
-_081498B0: .4byte gUnknown_203F3D4
- thumb_func_end sub_8149898
-
- thumb_func_start sub_81498B4
-sub_81498B4: @ 81498B4
- push {lr}
- ldr r0, _081498C8 @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldr r1, _081498CC @ =gUnknown_846B76C
- ldr r2, [r0, 0x78]
- ldr r0, [r1]
- cmp r2, r0
- bcs _081498D0
- movs r0, 0
- b _081498D2
- .align 2, 0
-_081498C8: .4byte gUnknown_203F3D4
-_081498CC: .4byte gUnknown_846B76C
-_081498D0:
- movs r0, 0x1
-_081498D2:
- pop {r1}
- bx r1
- thumb_func_end sub_81498B4
-
- thumb_func_start sub_81498D8
-sub_81498D8: @ 81498D8
- push {r4,lr}
- bl sub_8149910
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_8149930
- lsls r0, 16
- lsrs r0, 4
- ldr r1, _081498FC @ =0x00000fff
- ands r4, r1
- orrs r0, r4
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_081498FC: .4byte 0x00000fff
- thumb_func_end sub_81498D8
-
- thumb_func_start sub_8149900
-sub_8149900: @ 8149900
- lsls r0, 16
- lsrs r3, r0, 28
- strh r3, [r2]
- lsls r0, 4
- lsrs r0, 20
- strh r0, [r1]
- bx lr
- thumb_func_end sub_8149900
-
- thumb_func_start sub_8149910
-sub_8149910: @ 8149910
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- ldr r0, _0814992C @ =gUnknown_846B75C
- lsrs r1, 15
- adds r1, r0
- ldrh r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_0814992C: .4byte gUnknown_846B75C
- thumb_func_end sub_8149910
-
- thumb_func_start sub_8149930
-sub_8149930: @ 8149930
- push {r4-r6,lr}
- movs r5, 0
- movs r4, 0
- ldr r3, _08149964 @ =gUnknown_203F3D4
- ldr r0, [r3]
- ldr r2, _08149968 @ =gUnknown_846B76C
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0814996C
- ldr r5, [r2, 0x4]
- adds r6, r3, 0
- adds r3, r2, 0x4
-_0814994A:
- adds r3, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bhi _0814996C
- ldr r0, [r6]
- ldr r1, [r0, 0x78]
- ldr r0, [r2]
- cmp r1, r0
- bcc _0814996C
- ldr r5, [r3]
- b _0814994A
- .align 2, 0
-_08149964: .4byte gUnknown_203F3D4
-_08149968: .4byte gUnknown_846B76C
-_0814996C:
- lsls r0, r5, 16
- lsrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8149930
-
- thumb_func_start sub_8149978
-sub_8149978: @ 8149978
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- b _0814998A
-_08149984:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_0814998A:
- cmp r4, 0
- beq _0814999C
- adds r0, r5, 0
- adds r1, r4, 0
- bl CheckBagHasSpace
- lsls r0, 24
- cmp r0, 0
- beq _08149984
-_0814999C:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8149978
-
- thumb_func_start sub_81499A4
-sub_81499A4: @ 81499A4
- push {lr}
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_81499A4
-
- thumb_func_start sub_81499B4
-sub_81499B4: @ 81499B4
- ldr r0, _081499BC @ =gUnknown_203F3D4
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_081499BC: .4byte gUnknown_203F3D4
- thumb_func_end sub_81499B4
-
- thumb_func_start sub_81499C0
-sub_81499C0: @ 81499C0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _081499D8 @ =gUnknown_203F3D4
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _081499DC @ =0x000082a8
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_081499D8: .4byte gUnknown_203F3D4
-_081499DC: .4byte 0x000082a8
- thumb_func_end sub_81499C0
-
- thumb_func_start sub_81499E0
-sub_81499E0: @ 81499E0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _081499FC @ =gUnknown_203F3D4
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, [r2]
- adds r0, r1
- movs r1, 0x83
- lsls r1, 8
- adds r0, r1
- bx lr
- .align 2, 0
-_081499FC: .4byte gUnknown_203F3D4
- thumb_func_end sub_81499E0
-
- thumb_func_start IsSpeciesAllowedInPokemonJump
-IsSpeciesAllowedInPokemonJump: @ 8149A00
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_8147D00
- lsls r0, 16
- asrs r0, 16
- mvns r0, r0
- lsrs r0, 31
- pop {r1}
- bx r1
- thumb_func_end IsSpeciesAllowedInPokemonJump
-
- thumb_func_start IsPokemonJumpSpeciesInParty
-IsPokemonJumpSpeciesInParty: @ 8149A18
- push {r4,r5,lr}
- movs r5, 0
-_08149A1C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08149A4C @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _08149A54
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl IsSpeciesAllowedInPokemonJump
- cmp r0, 0
- beq _08149A54
- ldr r1, _08149A50 @ =gSpecialVar_Result
- movs r0, 0x1
- b _08149A5E
- .align 2, 0
-_08149A4C: .4byte gPlayerParty
-_08149A50: .4byte gSpecialVar_Result
-_08149A54:
- adds r5, 0x1
- cmp r5, 0x5
- ble _08149A1C
- ldr r1, _08149A68 @ =gSpecialVar_Result
- movs r0, 0
-_08149A5E:
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08149A68: .4byte gSpecialVar_Result
- thumb_func_end IsPokemonJumpSpeciesInParty
-
- thumb_func_start sub_8149A6C
-sub_8149A6C: @ 8149A6C
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x1
- strb r1, [r2]
- ldrh r1, [r0]
- strh r1, [r2, 0x2]
- ldr r1, [r0, 0x4]
- str r1, [sp, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_80F9E2C
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8149A6C
-
- thumb_func_start sub_8149A90
-sub_8149A90: @ 8149A90
- push {r4,lr}
- sub sp, 0xC
- adds r4, r1, 0
- ldr r3, _08149AC4 @ =gRecvCmds
- lsls r2, r0, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _08149AC0
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08149AC8
-_08149AC0:
- movs r0, 0
- b _08149AD8
- .align 2, 0
-_08149AC4: .4byte gRecvCmds
-_08149AC8:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r4]
- ldr r0, [sp, 0x8]
- str r0, [r4, 0x4]
- ldr r0, [sp, 0x4]
- str r0, [r4, 0x8]
- movs r0, 0x1
-_08149AD8:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149A90
-
- thumb_func_start sub_8149AE0
-sub_8149AE0: @ 8149AE0
- push {lr}
- sub sp, 0xC
- mov r2, sp
- movs r1, 0x2
- strb r1, [r2]
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_80F9E2C
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8149AE0
-
- thumb_func_start sub_8149AF8
-sub_8149AF8: @ 8149AF8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- mov r3, sp
- movs r2, 0x3
- strb r2, [r3]
- ldr r3, [r1, 0x8]
- lsls r3, 15
- ldr r2, [sp, 0x8]
- ldr r4, _08149B74 @ =0x00007fff
- mov r8, r4
- ands r2, r4
- orrs r2, r3
- str r2, [sp, 0x8]
- mov r6, sp
- ldrb r2, [r1, 0x1]
- movs r5, 0x1F
- adds r3, r5, 0
- ands r3, r2
- ldrb r4, [r6, 0x3]
- movs r2, 0x20
- negs r2, r2
- ands r2, r4
- orrs r2, r3
- strb r2, [r6, 0x3]
- mov r3, sp
- ldrb r2, [r1]
- strb r2, [r3, 0x1]
- ldrh r2, [r1, 0x2]
- strh r2, [r3, 0x6]
- mov r4, sp
- ldrh r2, [r1, 0x4]
- mov r1, r8
- ands r2, r1
- ldrh r3, [r4, 0x8]
- ldr r1, _08149B78 @ =0xffff8000
- ands r1, r3
- orrs r1, r2
- strh r1, [r4, 0x8]
- mov r2, sp
- ldrh r1, [r0, 0x10]
- strb r1, [r2, 0x2]
- mov r3, sp
- ldr r1, [r0, 0x14]
- lsls r1, 5
- ldrb r2, [r3, 0x3]
- ands r5, r2
- orrs r5, r1
- strb r5, [r3, 0x3]
- mov r1, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r1, 0x4]
- mov r0, sp
- bl sub_80F9E2C
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08149B74: .4byte 0x00007fff
-_08149B78: .4byte 0xffff8000
- thumb_func_end sub_8149AF8
-
- thumb_func_start sub_8149B7C
-sub_8149B7C: @ 8149B7C
- push {r4,r5,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r2, _08149BE4 @ =gRecvCmds
- ldrh r0, [r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- movs r0, 0xBC
- lsls r0, 6
- cmp r1, r0
- bne _08149BE8
- adds r1, r2, 0x2
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08149BE8
- ldr r0, [sp, 0x8]
- lsrs r0, 15
- str r0, [r4, 0x8]
- mov r0, sp
- ldrb r1, [r0, 0x3]
- lsls r0, r1, 27
- lsrs r0, 27
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strb r0, [r4]
- mov r0, sp
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- lsls r0, 17
- lsrs r0, 17
- strh r0, [r4, 0x4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- strh r0, [r5, 0x10]
- lsls r1, 24
- lsrs r1, 29
- str r1, [r5, 0x14]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xE]
- movs r0, 0x1
- b _08149BEA
- .align 2, 0
-_08149BE4: .4byte gRecvCmds
-_08149BE8:
- movs r0, 0
-_08149BEA:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8149B7C
-
- thumb_func_start sub_8149BF4
-sub_8149BF4: @ 8149BF4
- push {r4,lr}
- sub sp, 0xC
- mov r4, sp
- movs r3, 0x4
- strb r3, [r4]
- ldrh r3, [r0, 0x10]
- strb r3, [r4, 0x1]
- ldr r3, [r0, 0x14]
- strb r3, [r4, 0x2]
- ldr r3, [r0, 0x18]
- strb r3, [r4, 0x3]
- mov r3, sp
- ldrh r0, [r0, 0xE]
- strh r0, [r3, 0x4]
- mov r0, sp
- strb r1, [r0, 0x6]
- strh r2, [r0, 0x8]
- bl sub_80F9E2C
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8149BF4
-
- thumb_func_start sub_8149C24
-sub_8149C24: @ 8149C24
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, _08149C80 @ =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _08149C84
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08149C84
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- mov r0, sp
- ldrb r0, [r0, 0x6]
- strb r0, [r5]
- mov r0, sp
- ldrh r0, [r0, 0x8]
- strh r0, [r6]
- movs r0, 0x1
- b _08149C86
- .align 2, 0
-_08149C80: .4byte gRecvCmds
-_08149C84:
- movs r0, 0
-_08149C86:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8149C24
-
- thumb_func_start sub_8149C90
-sub_8149C90: @ 8149C90
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r3, _08149CDC @ =gRecvCmds
- lsls r2, r1, 4
- adds r0, r2, r3
- ldrh r1, [r0]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- movs r1, 0xBC
- lsls r1, 6
- cmp r0, r1
- bne _08149CE0
- adds r1, r3, 0x2
- adds r1, r2, r1
- mov r0, sp
- movs r2, 0xC
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08149CE0
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strh r0, [r4, 0x10]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- str r0, [r4, 0x14]
- mov r0, sp
- ldrb r0, [r0, 0x3]
- str r0, [r4, 0x18]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0xE]
- movs r0, 0x1
- b _08149CE2
- .align 2, 0
-_08149CDC: .4byte gRecvCmds
-_08149CE0:
- movs r0, 0
-_08149CE2:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8149C90
-
- thumb_func_start sub_8149CEC
-sub_8149CEC: @ 8149CEC
- push {r4,lr}
- ldr r4, _08149D18 @ =gUnknown_203F3D8
- str r0, [r4]
- bl sub_8149D34
- ldr r0, _08149D1C @ =sub_8149DA4
- movs r1, 0x3
- bl CreateTask
- ldr r1, [r4]
- strb r0, [r1, 0x6]
- ldr r2, [r4]
- ldrb r0, [r2, 0x6]
- movs r1, 0x2
- bl SetWordTaskArg
- ldr r0, _08149D20 @ =sub_8149DC8
- bl sub_8149D80
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08149D18: .4byte gUnknown_203F3D8
-_08149D1C: .4byte sub_8149DA4
-_08149D20: .4byte sub_8149DC8
- thumb_func_end sub_8149CEC
-
- thumb_func_start sub_8149D24
-sub_8149D24: @ 8149D24
- push {lr}
- bl FreeAllWindowBuffers
- bl sub_815C9F4
- pop {r0}
- bx r0
- thumb_func_end sub_8149D24
-
- thumb_func_start sub_8149D34
-sub_8149D34: @ 8149D34
- movs r1, 0
- strh r1, [r0, 0x4]
- str r1, [r0]
- movs r1, 0xFF
- strh r1, [r0, 0x12]
- bx lr
- thumb_func_end sub_8149D34
-
- thumb_func_start sub_8149D40
-sub_8149D40: @ 8149D40
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r4, _08149D64 @ =gUnknown_846D8FC
-_08149D48:
- ldr r0, [r4]
- cmp r0, r6
- bne _08149D54
- ldr r0, [r4, 0x4]
- bl sub_8149D80
-_08149D54:
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x9
- bls _08149D48
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08149D64: .4byte gUnknown_846D8FC
- thumb_func_end sub_8149D40
-
- thumb_func_start sub_8149D68
-sub_8149D68: @ 8149D68
- ldr r0, _08149D7C @ =gUnknown_203F3D8
- ldr r0, [r0]
- ldr r1, [r0]
- movs r0, 0x1
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- .align 2, 0
-_08149D7C: .4byte gUnknown_203F3D8
- thumb_func_end sub_8149D68
-
- thumb_func_start sub_8149D80
-sub_8149D80: @ 8149D80
- push {r4,lr}
- adds r2, r0, 0
- ldr r4, _08149DA0 @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- movs r1, 0
- bl SetWordTaskArg
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1, 0x4]
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08149DA0: .4byte gUnknown_203F3D8
- thumb_func_end sub_8149D80
-
- thumb_func_start sub_8149DA4
-sub_8149DA4: @ 8149DA4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08149DC4 @ =gUnknown_203F3D8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- bne _08149DC0
- adds r0, r1, 0
- movs r1, 0
- bl GetWordTaskArg
- bl _call_via_r0
-_08149DC0:
- pop {r0}
- bx r0
- .align 2, 0
-_08149DC4: .4byte gUnknown_203F3D8
- thumb_func_end sub_8149DA4
-
- thumb_func_start sub_8149DC8
-sub_8149DC8: @ 8149DC8
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08149DE4 @ =gUnknown_203F3D8
- ldr r1, [r6]
- ldrh r5, [r1, 0x4]
- cmp r5, 0x1
- bne _08149DD8
- b _08149F18
-_08149DD8:
- cmp r5, 0x1
- bgt _08149DE8
- cmp r5, 0
- beq _08149DF0
- b _08149F5A
- .align 2, 0
-_08149DE4: .4byte gUnknown_203F3D8
-_08149DE8:
- cmp r5, 0x2
- bne _08149DEE
- b _08149F56
-_08149DEE:
- b _08149F5A
-_08149DF0:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _08149EE8 @ =gUnknown_846D8D4
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r0, _08149EEC @ =gUnknown_846D8E4
- bl InitWindows
- bl ResetBgPositions
- bl ResetTempTileDataBuffers
- ldr r0, [r6]
- bl sub_814AD6C
- bl sub_814A9C8
- ldr r0, _08149EF0 @ =gUnknown_846B7B4
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08149EF4 @ =gUnknown_846B7D4
- str r5, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08149EF8 @ =gUnknown_846BA00
- movs r4, 0x1
- str r4, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _08149EFC @ =gUnknown_846BBB0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08149F00 @ =gUnknown_846BBD0
- str r5, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08149F04 @ =gUnknown_846C520
- str r4, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _08149F08 @ =gUnknown_846C8D8
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08149F0C @ =gUnknown_846C8F8
- str r5, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r1, _08149F10 @ =gUnknown_846D3A8
- str r4, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndCopyTileDataToVram
- ldr r0, _08149F14 @ =gUnknown_846B794
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r1, [r6]
- movs r0, 0xD3
- lsls r0, 1
- adds r1, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x20
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect_Palette0
- bl sub_814A84C
- movs r0, 0
- bl sub_814AA24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xE0
- bl sub_814FDA0
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD0
- bl LoadUserWindowBorderGfx
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08149F4C
- .align 2, 0
-_08149EE8: .4byte gUnknown_846D8D4
-_08149EEC: .4byte gUnknown_846D8E4
-_08149EF0: .4byte gUnknown_846B7B4
-_08149EF4: .4byte gUnknown_846B7D4
-_08149EF8: .4byte gUnknown_846BA00
-_08149EFC: .4byte gUnknown_846BBB0
-_08149F00: .4byte gUnknown_846BBD0
-_08149F04: .4byte gUnknown_846C520
-_08149F08: .4byte gUnknown_846C8D8
-_08149F0C: .4byte gUnknown_846C8F8
-_08149F10: .4byte gUnknown_846D3A8
-_08149F14: .4byte gUnknown_846B794
-_08149F18:
- bl FreeTempTileDataBuffersIfPossible
- lsls r0, 24
- cmp r0, 0
- bne _08149F5A
- bl sub_814A8B8
- ldr r0, [r6]
- bl sub_814B294
- ldr r0, [r6]
- movs r1, 0x6
- bl sub_814B348
- movs r0, 0x3
- bl ShowBg
- movs r0, 0
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0x1
- bl HideBg
-_08149F4C:
- ldr r1, [r6]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _08149F5A
-_08149F56:
- movs r0, 0x1
- str r0, [r1]
-_08149F5A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8149DC8
-
- thumb_func_start sub_8149F64
-sub_8149F64: @ 8149F64
- push {r4,lr}
- ldr r4, _08149F7C @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08149F90
- cmp r0, 0x1
- bgt _08149F80
- cmp r0, 0
- beq _08149F8A
- b _08149FCA
- .align 2, 0
-_08149F7C: .4byte gUnknown_203F3D8
-_08149F80:
- cmp r0, 0x2
- beq _08149FA2
- cmp r0, 0x3
- beq _08149FBA
- b _08149FCA
-_08149F8A:
- bl sub_814AADC
- b _08149FB0
-_08149F90:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08149FCA
- movs r0, 0
- bl sub_814AC30
- b _08149FB0
-_08149FA2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08149FCA
- bl sub_814AC94
-_08149FB0:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _08149FCA
-_08149FBA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08149FCA
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_08149FCA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8149F64
-
- thumb_func_start sub_8149FD0
-sub_8149FD0: @ 8149FD0
- push {r4,lr}
- ldr r4, _08149FE8 @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08149FFC
- cmp r0, 0x1
- bgt _08149FEC
- cmp r0, 0
- beq _08149FF6
- b _0814A036
- .align 2, 0
-_08149FE8: .4byte gUnknown_203F3D8
-_08149FEC:
- cmp r0, 0x2
- beq _0814A00E
- cmp r0, 0x3
- beq _0814A026
- b _0814A036
-_08149FF6:
- bl sub_814AADC
- b _0814A01C
-_08149FFC:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A036
- movs r0, 0x1
- bl sub_814AC30
- b _0814A01C
-_0814A00E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A036
- bl sub_814AC94
-_0814A01C:
- ldr r1, [r4]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A036
-_0814A026:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A036
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_0814A036:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8149FD0
-
- thumb_func_start sub_814A03C
-sub_814A03C: @ 814A03C
- push {r4,r5,lr}
- bl sub_81499A4
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _0814A058 @ =gUnknown_203F3D8
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- beq _0814A05C
- cmp r0, 0x1
- beq _0814A090
- b _0814A0BE
- .align 2, 0
-_0814A058: .4byte gUnknown_203F3D8
-_0814A05C:
- movs r4, 0
- cmp r4, r5
- bge _0814A078
-_0814A062:
- ldr r0, _0814A08C @ =gUnknown_203F3D8
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl ClearWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0814A062
-_0814A078:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r0, _0814A08C @ =gUnknown_203F3D8
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A0BE
- .align 2, 0
-_0814A08C: .4byte gUnknown_203F3D8
-_0814A090:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A0BE
- movs r4, 0
- cmp r4, r5
- bge _0814A0B6
-_0814A0A0:
- ldr r0, _0814A0C4 @ =gUnknown_203F3D8
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl RemoveWindow
- adds r4, 0x1
- cmp r4, r5
- blt _0814A0A0
-_0814A0B6:
- ldr r0, _0814A0C4 @ =gUnknown_203F3D8
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1]
-_0814A0BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A0C4: .4byte gUnknown_203F3D8
- thumb_func_end sub_814A03C
-
- thumb_func_start sub_814A0C8
-sub_814A0C8: @ 814A0C8
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0814A0E0 @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0814A124
- cmp r4, 0x1
- bgt _0814A0E4
- cmp r4, 0
- beq _0814A0EA
- b _0814A16C
- .align 2, 0
-_0814A0E0: .4byte gUnknown_203F3D8
-_0814A0E4:
- cmp r4, 0x2
- beq _0814A15C
- b _0814A16C
-_0814A0EA:
- movs r0, 0x1
- movs r1, 0x8
- movs r2, 0x14
- movs r3, 0x2
- bl sub_814A754
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0814A120 @ =gUnknown_841CBFD
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0814A152
- .align 2, 0
-_0814A120: .4byte gUnknown_841CBFD
-_0814A124:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A16C
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0x17
- movs r1, 0x7
- movs r2, 0
- bl sub_814A7D0
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0814A152:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A16C
-_0814A15C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A16C
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0814A16C:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A0C8
-
- thumb_func_start sub_814A174
-sub_814A174: @ 814A174
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0814A18C @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0814A1D0
- cmp r4, 0x1
- bgt _0814A190
- cmp r4, 0
- beq _0814A196
- b _0814A20E
- .align 2, 0
-_0814A18C: .4byte gUnknown_203F3D8
-_0814A190:
- cmp r4, 0x2
- beq _0814A1FE
- b _0814A20E
-_0814A196:
- movs r0, 0x2
- movs r1, 0x7
- movs r2, 0x1A
- movs r3, 0x4
- bl sub_814A754
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0814A1CC @ =gUnknown_841CC42
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0814A1F4
- .align 2, 0
-_0814A1CC: .4byte gUnknown_841CC42
-_0814A1D0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A20E
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0814A1F4:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A20E
-_0814A1FE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A20E
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0814A20E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A174
-
- thumb_func_start sub_814A218
-sub_814A218: @ 814A218
- push {r4,r5,lr}
- ldr r5, _0814A22C @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0814A230
- cmp r4, 0x1
- beq _0814A248
- b _0814A25E
- .align 2, 0
-_0814A22C: .4byte gUnknown_203F3D8
-_0814A230:
- bl sub_814A6CC
- bl DestroyYesNoMenu
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A25E
-_0814A248:
- bl sub_814A6FC
- cmp r0, 0
- bne _0814A25E
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A25E
- ldr r0, [r5]
- str r4, [r0]
-_0814A25E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A218
-
- thumb_func_start sub_814A264
-sub_814A264: @ 814A264
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0814A27C @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0814A2C0
- cmp r4, 0x1
- bgt _0814A280
- cmp r4, 0
- beq _0814A286
- b _0814A2FE
- .align 2, 0
-_0814A27C: .4byte gUnknown_203F3D8
-_0814A280:
- cmp r4, 0x2
- beq _0814A2EE
- b _0814A2FE
-_0814A286:
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_814A754
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0814A2BC @ =gUnknown_841CC11
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0814A2E4
- .align 2, 0
-_0814A2BC: .4byte gUnknown_841CC11
-_0814A2C0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A2FE
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0814A2E4:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A2FE
-_0814A2EE:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A2FE
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0814A2FE:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A264
-
- thumb_func_start sub_814A308
-sub_814A308: @ 814A308
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r5, _0814A320 @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0x1
- beq _0814A364
- cmp r4, 0x1
- bgt _0814A324
- cmp r4, 0
- beq _0814A32A
- b _0814A3A2
- .align 2, 0
-_0814A320: .4byte gUnknown_203F3D8
-_0814A324:
- cmp r4, 0x2
- beq _0814A392
- b _0814A3A2
-_0814A32A:
- movs r0, 0x7
- movs r1, 0xA
- movs r2, 0x10
- movs r3, 0x2
- bl sub_814A754
- ldr r1, [r5]
- strh r0, [r1, 0x12]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0814A360 @ =gUnknown_841CC64
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- b _0814A388
- .align 2, 0
-_0814A360: .4byte gUnknown_841CC64
-_0814A364:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A3A2
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl CopyBgTilemapBufferToVram
-_0814A388:
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A3A2
-_0814A392:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A3A2
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1]
-_0814A3A2:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A308
-
- thumb_func_start sub_814A3AC
-sub_814A3AC: @ 814A3AC
- push {r4,r5,lr}
- ldr r5, _0814A3C0 @ =gUnknown_203F3D8
- ldr r0, [r5]
- ldrh r4, [r0, 0x4]
- cmp r4, 0
- beq _0814A3C4
- cmp r4, 0x1
- beq _0814A3D2
- b _0814A3DE
- .align 2, 0
-_0814A3C0: .4byte gUnknown_203F3D8
-_0814A3C4:
- bl sub_814B43C
- ldr r1, [r5]
- ldrh r0, [r1, 0x4]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- b _0814A3DE
-_0814A3D2:
- bl sub_814B460
- cmp r0, 0
- bne _0814A3DE
- ldr r0, [r5]
- str r4, [r0]
-_0814A3DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814A3AC
-
- thumb_func_start sub_814A3E4
-sub_814A3E4: @ 814A3E4
- push {lr}
- ldr r1, _0814A404 @ =gUnknown_203F3D8
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r2, [r1]
- movs r0, 0x6
- strb r0, [r2, 0xC]
- ldr r0, [r1]
- ldrb r0, [r0, 0xC]
- bl sub_814A95C
- pop {r0}
- bx r0
- .align 2, 0
-_0814A404: .4byte gUnknown_203F3D8
- thumb_func_end sub_814A3E4
-
- thumb_func_start sub_814A408
-sub_814A408: @ 814A408
- push {r4,lr}
- ldr r0, _0814A41C @ =gUnknown_203F3D8
- ldr r2, [r0]
- ldrb r3, [r2, 0xA]
- adds r4, r0, 0
- cmp r3, 0
- beq _0814A420
- cmp r3, 0x1
- beq _0814A45A
- b _0814A45E
- .align 2, 0
-_0814A41C: .4byte gUnknown_203F3D8
-_0814A420:
- ldrb r0, [r2, 0xB]
- adds r0, 0x1
- strb r0, [r2, 0xB]
- ldr r1, [r4]
- ldrb r0, [r1, 0xB]
- cmp r0, 0xA
- bls _0814A44A
- strb r3, [r1, 0xB]
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- adds r1, 0x1
- strb r1, [r0, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x9
- bls _0814A44A
- strb r3, [r1, 0xC]
- ldr r1, [r4]
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
-_0814A44A:
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_814A95C
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- cmp r0, 0x7
- bne _0814A45E
-_0814A45A:
- movs r0, 0
- b _0814A460
-_0814A45E:
- movs r0, 0x1
-_0814A460:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814A408
-
- thumb_func_start sub_814A468
-sub_814A468: @ 814A468
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r5, _0814A52C @ =gUnknown_203F3D8
- ldr r1, [r5]
- adds r1, 0x26
- adds r0, r4, 0
- bl CopyItemName
- ldr r0, [r5]
- adds r0, 0x66
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- subs r4, 0x85
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x29
- bhi _0814A4C2
- cmp r6, 0x1
- bls _0814A4C2
- ldr r0, [r5]
- adds r0, 0x26
- bl StringLength
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0814A4C2
- ldr r0, [r5]
- adds r0, r1, r0
- adds r0, 0x25
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0x26
- ldr r1, _0814A530 @ =gUnknown_846D94C
- bl StringAppend
-_0814A4C2:
- bl DynamicPlaceholderTextUtil_Reset
- ldr r4, _0814A52C @ =gUnknown_203F3D8
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r1, [r4]
- adds r1, 0x66
- movs r0, 0x1
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, _0814A534 @ =gUnknown_841CBA9
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_814A754
- ldr r2, [r4]
- movs r5, 0
- movs r3, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x2
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r1, [r4]
- ldr r0, _0814A538 @ =0x00000101
- strh r0, [r1, 0x14]
- strb r5, [r1, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A52C: .4byte gUnknown_203F3D8
-_0814A530: .4byte gUnknown_846D94C
-_0814A534: .4byte gUnknown_841CBA9
-_0814A538: .4byte 0x00000101
- thumb_func_end sub_814A468
-
- thumb_func_start sub_814A53C
-sub_814A53C: @ 814A53C
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0814A5AC @ =gUnknown_203F3D8
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, _0814A5B0 @ =gUnknown_841CBCA
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x8
- movs r2, 0x16
- movs r3, 0x4
- bl sub_814A754
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A5AC: .4byte gUnknown_203F3D8
-_0814A5B0: .4byte gUnknown_841CBCA
- thumb_func_end sub_814A53C
-
- thumb_func_start sub_814A5B4
-sub_814A5B4: @ 814A5B4
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0814A624 @ =gUnknown_203F3D8
- ldr r1, [r4]
- adds r1, 0x26
- bl CopyItemName
- bl DynamicPlaceholderTextUtil_Reset
- ldr r1, [r4]
- adds r1, 0x26
- movs r0, 0
- bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
- ldr r0, [r4]
- adds r0, 0xA6
- ldr r1, _0814A628 @ =gUnknown_841CBE4
- bl DynamicPlaceholderTextUtil_ExpandPlaceholders
- movs r0, 0x4
- movs r1, 0x9
- movs r2, 0x16
- movs r3, 0x2
- bl sub_814A754
- ldr r2, [r4]
- movs r6, 0
- movs r5, 0
- strh r0, [r2, 0x12]
- lsls r0, 24
- lsrs r0, 24
- adds r2, 0xA6
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x2
- bl CopyWindowToVram
- ldr r0, [r4]
- strh r5, [r0, 0x14]
- strb r6, [r0, 0xD]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A624: .4byte gUnknown_203F3D8
-_0814A628: .4byte gUnknown_841CBE4
- thumb_func_end sub_814A5B4
-
- thumb_func_start sub_814A62C
-sub_814A62C: @ 814A62C
- push {r4,lr}
- ldr r4, _0814A644 @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldrb r0, [r0, 0xD]
- cmp r0, 0x1
- beq _0814A680
- cmp r0, 0x1
- bgt _0814A648
- cmp r0, 0
- beq _0814A652
- b _0814A6C4
- .align 2, 0
-_0814A644: .4byte gUnknown_203F3D8
-_0814A648:
- cmp r0, 0x2
- beq _0814A6A6
- cmp r0, 0x3
- beq _0814A6BA
- b _0814A6C4
-_0814A652:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A6C4
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl PutWindowTilemap
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0814A6C4
-_0814A680:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A6C4
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0
- bne _0814A698
- ldrb r0, [r1, 0xD]
- adds r0, 0x2
- b _0814A6B8
-_0814A698:
- ldrh r0, [r1, 0x14]
- bl PlayFanfare
- ldr r1, [r4]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_0814A6A6:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _0814A6C4
- ldr r0, _0814A6C0 @ =gUnknown_203F3D8
- ldr r1, [r0]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
-_0814A6B8:
- strb r0, [r1, 0xD]
-_0814A6BA:
- movs r0, 0
- b _0814A6C6
- .align 2, 0
-_0814A6C0: .4byte gUnknown_203F3D8
-_0814A6C4:
- movs r0, 0x1
-_0814A6C6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814A62C
-
- thumb_func_start sub_814A6CC
-sub_814A6CC: @ 814A6CC
- push {r4,lr}
- ldr r4, _0814A6F8 @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldrh r0, [r0, 0x12]
- cmp r0, 0xFF
- beq _0814A6F0
- lsls r0, 24
- lsrs r0, 24
- bl rbox_fill_rectangle
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- movs r1, 0x1
- bl CopyWindowToVram
- ldr r1, [r4]
- movs r0, 0
- strb r0, [r1, 0xD]
-_0814A6F0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A6F8: .4byte gUnknown_203F3D8
- thumb_func_end sub_814A6CC
-
- thumb_func_start sub_814A6FC
-sub_814A6FC: @ 814A6FC
- push {r4,lr}
- ldr r4, _0814A70C @ =gUnknown_203F3D8
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- cmp r0, 0xFF
- bne _0814A710
-_0814A708:
- movs r0, 0
- b _0814A73C
- .align 2, 0
-_0814A70C: .4byte gUnknown_203F3D8
-_0814A710:
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- bne _0814A736
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814A73A
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl RemoveWindow
- ldr r1, [r4]
- movs r0, 0xFF
- strh r0, [r1, 0x12]
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
- b _0814A708
-_0814A736:
- cmp r0, 0x1
- beq _0814A708
-_0814A73A:
- movs r0, 0x1
-_0814A73C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814A6FC
-
- thumb_func_start sub_814A744
-sub_814A744: @ 814A744
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_814A744
-
- thumb_func_start sub_814A754
-sub_814A754: @ 814A754
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _0814A7BC @ =0xffffff00
- ldr r4, [sp]
- ands r4, r6
- lsls r0, 24
- lsrs r0, 16
- ldr r5, _0814A7C0 @ =0xffff00ff
- ands r4, r5
- orrs r4, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, _0814A7C4 @ =0xff00ffff
- ands r4, r0
- orrs r4, r1
- lsls r2, 24
- ldr r0, _0814A7C8 @ =0x00ffffff
- ands r4, r0
- orrs r4, r2
- str r4, [sp]
- lsls r3, 24
- lsrs r3, 24
- ldr r0, [sp, 0x4]
- ands r0, r6
- orrs r0, r3
- ands r0, r5
- movs r1, 0xF0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _0814A7CC @ =0x0000ffff
- ands r0, r1
- movs r1, 0x86
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0x11
- bl FillWindowPixelBuffer
- adds r0, r4, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0814A7BC: .4byte 0xffffff00
-_0814A7C0: .4byte 0xffff00ff
-_0814A7C4: .4byte 0xff00ffff
-_0814A7C8: .4byte 0x00ffffff
-_0814A7CC: .4byte 0x0000ffff
- thumb_func_end sub_814A754
-
- thumb_func_start sub_814A7D0
-sub_814A7D0: @ 814A7D0
- push {r4,r5,lr}
- sub sp, 0x14
- lsls r2, 24
- lsrs r2, 24
- ldr r5, _0814A838 @ =0xffffff00
- ldr r3, [sp, 0xC]
- ands r3, r5
- lsls r0, 24
- lsrs r0, 16
- ldr r4, _0814A83C @ =0xffff00ff
- ands r3, r4
- orrs r3, r0
- lsls r1, 24
- lsrs r1, 8
- ldr r0, _0814A840 @ =0xff00ffff
- ands r3, r0
- orrs r3, r1
- ldr r0, _0814A844 @ =0x00ffffff
- ands r3, r0
- movs r0, 0xC0
- lsls r0, 19
- orrs r3, r0
- str r3, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r5
- movs r1, 0x4
- orrs r0, r1
- ands r0, r4
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, _0814A848 @ =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x10]
- movs r0, 0xA
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- str r2, [sp, 0x8]
- add r0, sp, 0xC
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A838: .4byte 0xffffff00
-_0814A83C: .4byte 0xffff00ff
-_0814A840: .4byte 0xff00ffff
-_0814A844: .4byte 0x00ffffff
-_0814A848: .4byte 0x0000ffff
- thumb_func_end sub_814A7D0
-
- thumb_func_start sub_814A84C
-sub_814A84C: @ 814A84C
- push {r4,lr}
- sub sp, 0x10
- ldr r1, _0814A8AC @ =gUnknown_846D950
- add r0, sp, 0xC
- movs r2, 0x3
- bl memcpy
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x1
- movs r1, 0
- bl FillWindowPixelBuffer
- add r0, sp, 0xC
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, _0814A8B0 @ =gUnknown_841CB52
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- add r0, sp, 0xC
- str r0, [sp]
- str r4, [sp, 0x4]
- ldr r0, _0814A8B4 @ =gUnknown_841CB5A
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A8AC: .4byte gUnknown_846D950
-_0814A8B0: .4byte gUnknown_841CB52
-_0814A8B4: .4byte gUnknown_841CB5A
- thumb_func_end sub_814A84C
-
- thumb_func_start sub_814A8B8
-sub_814A8B8: @ 814A8B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- bl sub_81499A4
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldr r1, _0814A934 @ =gUnknown_846D9D4
- subs r0, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r5, [r0]
- movs r6, 0
- cmp r6, r10
- bge _0814A922
- ldr r0, _0814A938 @ =gMonFrontPicCoords
- mov r9, r0
- ldr r1, _0814A93C @ =gUnknown_203F3D8
- mov r8, r1
-_0814A8E6:
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_81499C0
- adds r1, r0, 0
- ldrh r0, [r1]
- lsls r0, 2
- add r0, r9
- ldrb r3, [r0, 0x1]
- mov r2, r8
- ldr r0, [r2]
- movs r7, 0
- ldrsh r2, [r5, r7]
- adds r3, 0x70
- str r4, [sp]
- bl sub_814ADCC
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x70
- adds r3, r4, 0
- bl sub_814B240
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, r10
- blt _0814A8E6
-_0814A922:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A934: .4byte gUnknown_846D9D4
-_0814A938: .4byte gMonFrontPicCoords
-_0814A93C: .4byte gUnknown_203F3D8
- thumb_func_end sub_814A8B8
-
- thumb_func_start sub_814A940
-sub_814A940: @ 814A940
- ldr r2, _0814A954 @ =gUnknown_203F3D8
- ldr r2, [r2]
- lsls r0, 2
- ldr r3, _0814A958 @ =0x000081a8
- adds r2, r3
- adds r2, r0
- ldr r0, [r2]
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_0814A954: .4byte gUnknown_203F3D8
-_0814A958: .4byte 0x000081a8
- thumb_func_end sub_814A940
-
- thumb_func_start sub_814A95C
-sub_814A95C: @ 814A95C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0814A984 @ =gUnknown_203F3D8
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_814B348
- ldr r0, _0814A988 @ =gUnknown_846D953
- adds r4, r0
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 13
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814A984: .4byte gUnknown_203F3D8
-_0814A988: .4byte gUnknown_846D953
- thumb_func_end sub_814A95C
-
- thumb_func_start sub_814A98C
-sub_814A98C: @ 814A98C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- movs r6, 0
-_0814A996:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _0814A9AA
- ldr r0, _0814A9C4 @ =gUnknown_203F3D8
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_814AF0C
- adds r6, 0x1
-_0814A9AA:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x4
- ble _0814A996
- subs r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- bl sub_814ACCC
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0814A9C4: .4byte gUnknown_203F3D8
- thumb_func_end sub_814A98C
-
- thumb_func_start sub_814A9C8
-sub_814A9C8: @ 814A9C8
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- movs r0, 0x40
- strb r0, [r1]
- movs r0, 0x5
- strb r0, [r1, 0x1]
- movs r0, 0x8
- strb r0, [r1, 0x2]
- movs r0, 0x6C
- strh r0, [r1, 0x4]
- movs r4, 0x6
- strh r4, [r1, 0x6]
- ldr r0, _0814AA1C @ =gUnknown_846D960
- str r0, [sp, 0x8]
- ldr r0, _0814AA20 @ =gUnknown_846D968
- str r0, [sp, 0xC]
- movs r0, 0x2
- bl sub_815C980
- movs r0, 0
- movs r1, 0
- mov r2, sp
- bl sub_815CA40
- mov r1, sp
- movs r0, 0x4
- strb r0, [r1, 0x1]
- movs r0, 0x1E
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r4, [r0, 0x6]
- movs r0, 0x1
- movs r1, 0
- mov r2, sp
- bl sub_815CA40
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AA1C: .4byte gUnknown_846D960
-_0814AA20: .4byte gUnknown_846D968
- thumb_func_end sub_814A9C8
-
- thumb_func_start sub_814AA24
-sub_814AA24: @ 814AA24
- push {lr}
- adds r1, r0, 0
- movs r0, 0
- bl sub_815CD70
- pop {r0}
- bx r0
- thumb_func_end sub_814AA24
-
- thumb_func_start sub_814AA34
-sub_814AA34: @ 814AA34
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1
- bl sub_815CD70
- pop {r0}
- bx r0
- thumb_func_end sub_814AA34
-
- thumb_func_start sub_814AA48
-sub_814AA48: @ 814AA48
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0814AA5C @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814AFE8
- pop {r0}
- bx r0
- .align 2, 0
-_0814AA5C: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AA48
-
- thumb_func_start sub_814AA60
-sub_814AA60: @ 814AA60
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0814AA74 @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B080
- pop {r0}
- bx r0
- .align 2, 0
-_0814AA74: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AA60
-
- thumb_func_start sub_814AA78
-sub_814AA78: @ 814AA78
- push {lr}
- adds r1, r0, 0
- ldr r0, _0814AA88 @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B010
- pop {r1}
- bx r1
- .align 2, 0
-_0814AA88: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AA78
-
- thumb_func_start sub_814AA8C
-sub_814AA8C: @ 814AA8C
- push {lr}
- ldr r0, _0814AA9C @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B0A8
- pop {r0}
- bx r0
- .align 2, 0
-_0814AA9C: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AA8C
-
- thumb_func_start sub_814AAA0
-sub_814AAA0: @ 814AAA0
- push {lr}
- ldr r0, _0814AAB0 @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B134
- pop {r0}
- bx r0
- .align 2, 0
-_0814AAB0: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AAA0
-
- thumb_func_start sub_814AAB4
-sub_814AAB4: @ 814AAB4
- push {lr}
- adds r1, r0, 0
- ldr r0, _0814AAC4 @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B168
- pop {r0}
- bx r0
- .align 2, 0
-_0814AAC4: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AAB4
-
- thumb_func_start sub_814AAC8
-sub_814AAC8: @ 814AAC8
- push {lr}
- ldr r0, _0814AAD8 @ =gUnknown_203F3D8
- ldr r0, [r0]
- bl sub_814B190
- pop {r1}
- bx r1
- .align 2, 0
-_0814AAD8: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AAC8
-
- thumb_func_start sub_814AADC
-sub_814AADC: @ 814AADC
- push {r4-r7,lr}
- sub sp, 0x8
- bl sub_81499A4
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r1, _0814AB7C @ =gUnknown_846D9A8
- subs r0, r7, 0x2
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldr r2, _0814AB80 @ =0xffffff00
- ldr r0, [sp]
- ands r0, r2
- ldr r1, _0814AB84 @ =0x00ffffff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ands r0, r2
- movs r1, 0x2
- orrs r0, r1
- ldr r1, _0814AB88 @ =0xffff00ff
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, _0814AB8C @ =0x0000ffff
- ands r0, r1
- movs r1, 0xAC
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r5, 0
- cmp r5, r7
- bge _0814AB6C
- mov r6, sp
-_0814AB2A:
- ldrb r0, [r4]
- lsls r0, 8
- ldr r2, _0814AB88 @ =0xffff00ff
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrb r2, [r4, 0x2]
- lsls r2, 16
- ldr r0, _0814AB90 @ =0xff00ffff
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- mov r0, sp
- bl AddWindow
- ldr r1, _0814AB94 @ =gUnknown_203F3D8
- ldr r1, [r1]
- lsls r2, r5, 1
- adds r1, 0x1C
- adds r1, r2
- strh r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl ClearWindowTilemap
- ldrh r0, [r6, 0x6]
- adds r0, 0x10
- strh r0, [r6, 0x6]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r7
- blt _0814AB2A
-_0814AB6C:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AB7C: .4byte gUnknown_846D9A8
-_0814AB80: .4byte 0xffffff00
-_0814AB84: .4byte 0x00ffffff
-_0814AB88: .4byte 0xffff00ff
-_0814AB8C: .4byte 0x0000ffff
-_0814AB90: .4byte 0xff00ffff
-_0814AB94: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AADC
-
- thumb_func_start sub_814AB98
-sub_814AB98: @ 814AB98
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- add r0, sp, 0xC
- strb r1, [r0]
- strb r2, [r0, 0x1]
- strb r3, [r0, 0x2]
- ldr r6, _0814AC2C @ =gUnknown_203F3D8
- ldr r0, [r6]
- lsls r1, r5, 1
- mov r8, r1
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl sub_81499E0
- adds r1, r0, 0
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
- movs r0, 0
- bl GetStringWidth
- movs r4, 0x40
- subs r4, r0
- lsrs r4, 1
- adds r0, r5, 0
- bl sub_81499E0
- adds r1, r0, 0
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- lsls r4, 24
- lsrs r4, 24
- add r2, sp, 0xC
- str r2, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x2
- bl AddTextPrinterParameterized3
- ldr r0, [r6]
- adds r0, 0x1C
- add r0, r8
- ldrb r0, [r0]
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AC2C: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AB98
-
- thumb_func_start sub_814AC30
-sub_814AC30: @ 814AC30
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_81499A4
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0
- bne _0814AC5A
- movs r4, 0
- cmp r4, r5
- bge _0814AC8C
-_0814AC46:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_814AB98
- adds r4, 0x1
- cmp r4, r5
- blt _0814AC46
- b _0814AC8C
-_0814AC5A:
- bl sub_81499B4
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0814AC8C
-_0814AC68:
- cmp r6, r4
- beq _0814AC7A
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x3
- bl sub_814AB98
- b _0814AC86
-_0814AC7A:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- movs r3, 0x5
- bl sub_814AB98
-_0814AC86:
- adds r4, 0x1
- cmp r4, r5
- blt _0814AC68
-_0814AC8C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_814AC30
-
- thumb_func_start sub_814AC94
-sub_814AC94: @ 814AC94
- push {r4,r5,lr}
- bl sub_81499A4
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
- cmp r4, r5
- bge _0814ACBA
-_0814ACA4:
- ldr r0, _0814ACC8 @ =gUnknown_203F3D8
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x1C
- adds r0, r1
- ldrb r0, [r0]
- bl PutWindowTilemap
- adds r4, 0x1
- cmp r4, r5
- blt _0814ACA4
-_0814ACBA:
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814ACC8: .4byte gUnknown_203F3D8
- thumb_func_end sub_814AC94
-
- thumb_func_start sub_814ACCC
-sub_814ACCC: @ 814ACCC
- push {r4,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _0814AD10 @ =gUnknown_203F3D8
- ldr r2, [r0]
- movs r0, 0
- str r0, [r2, 0x18]
- lsrs r1, 25
- lsls r1, 16
- movs r0, 0x1
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- ands r4, r0
- lsls r4, 8
- subs r4, 0x28
- lsls r4, 8
- adds r1, r4, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- bl ShowBg
- ldr r0, _0814AD14 @ =sub_814AD50
- movs r1, 0x4
- bl CreateTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AD10: .4byte gUnknown_203F3D8
-_0814AD14: .4byte sub_814AD50
- thumb_func_end sub_814ACCC
-
- thumb_func_start sub_814AD18
-sub_814AD18: @ 814AD18
- push {r4,lr}
- ldr r4, _0814AD28 @ =gUnknown_203F3D8
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- cmp r0, 0x1F
- bls _0814AD2C
- movs r0, 0
- b _0814AD4A
- .align 2, 0
-_0814AD28: .4byte gUnknown_203F3D8
-_0814AD2C:
- movs r0, 0x1
- movs r1, 0x80
- movs r2, 0x1
- bl ChangeBgY
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r0, 0x1
- str r0, [r1, 0x18]
- cmp r0, 0x1F
- bls _0814AD48
- movs r0, 0x1
- bl HideBg
-_0814AD48:
- movs r0, 0x1
-_0814AD4A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_814AD18
-
- thumb_func_start sub_814AD50
-sub_814AD50: @ 814AD50
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_814AD18
- cmp r0, 0
- bne _0814AD64
- adds r0, r4, 0
- bl DestroyTask
-_0814AD64:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_814AD50
-
- thumb_func_start sub_814AD6C
-sub_814AD6C: @ 814AD6C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r4, 0
- ldr r5, _0814ADAC @ =gUnknown_846E0B0
-_0814AD74:
- adds r0, r5, 0
- bl LoadCompressedSpriteSheet
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- bls _0814AD74
- movs r4, 0
- ldr r5, _0814ADB0 @ =gUnknown_846E0D8
-_0814AD86:
- adds r0, r5, 0
- bl LoadSpritePalette
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x1
- bls _0814AD86
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xE]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- strb r0, [r6, 0xF]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814ADAC: .4byte gUnknown_846E0B0
-_0814ADB0: .4byte gUnknown_846E0D8
- thumb_func_end sub_814AD6C
-
- thumb_func_start sub_814ADB4
-sub_814ADB4: @ 814ADB4
- push {lr}
- movs r2, 0
- movs r1, 0x7
- adds r0, 0x3C
-_0814ADBC:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0814ADBC
- pop {r0}
- bx r0
- thumb_func_end sub_814ADB4
-
- thumb_func_start sub_814ADCC
-sub_814ADCC: @ 814ADCC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- adds r7, r1, 0
- ldr r0, [sp, 0x54]
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x28]
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x2C]
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, sp
- ldr r0, _0814AE20 @ =gUnknown_846E0E8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x80
- lsls r0, 6
- bl Alloc
- mov r8, r0
- movs r0, 0x80
- lsls r0, 4
- bl Alloc
- mov r10, r0
- bl sub_81499B4
- lsls r0, 16
- lsrs r0, 16
- cmp r6, r0
- bne _0814AE24
- movs r0, 0x3
- b _0814AE2A
- .align 2, 0
-_0814AE20: .4byte gUnknown_846E0E8
-_0814AE24:
- adds r0, r6, 0x4
- lsls r0, 24
- lsrs r0, 24
-_0814AE2A:
- str r0, [sp, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _0814AEEC
- mov r2, r10
- cmp r2, 0
- beq _0814AEEC
- ldrh r2, [r7]
- lsls r0, r2, 3
- ldr r1, _0814AED8 @ =gMonFrontPicTable
- adds r0, r1
- ldr r3, [r7, 0x8]
- mov r1, r8
- bl HandleLoadSpecialPokePic
- mov r3, r8
- str r3, [sp, 0x18]
- adds r4, r6, 0
- add r0, sp, 0x18
- ldr r5, _0814AEDC @ =0xffff0000
- lsls r1, r4, 16
- movs r2, 0x80
- lsls r2, 4
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpriteSheet
- ldrh r0, [r7]
- ldr r1, [r7, 0x4]
- ldr r2, [r7, 0x8]
- bl GetMonSpritePalFromSpeciesAndPersonality
- str r0, [sp, 0x20]
- add r0, sp, 0x20
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r4
- str r1, [r0, 0x4]
- bl LoadCompressedSpritePalette
- mov r0, r8
- bl Free
- mov r0, r10
- bl Free
- mov r1, sp
- mov r0, sp
- ldrh r0, [r0]
- adds r0, r6
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r0, r6
- strh r0, [r1, 0x2]
- ldr r4, [sp, 0x28]
- lsls r1, r4, 16
- asrs r1, 16
- ldr r0, [sp, 0x2C]
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- ldr r3, [sp, 0x30]
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0814AEEC
- lsls r0, r6, 2
- ldr r2, _0814AEE0 @ =0x000081a8
- add r2, r9
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0814AEE4 @ =gSprites
- adds r0, r1
- str r0, [r2]
- ldr r0, _0814AEE8 @ =0x000081fc
- add r0, r9
- adds r0, r6
- add r1, sp, 0x30
- ldrb r1, [r1]
- strb r1, [r0]
- b _0814AEF8
- .align 2, 0
-_0814AED8: .4byte gMonFrontPicTable
-_0814AEDC: .4byte 0xffff0000
-_0814AEE0: .4byte 0x000081a8
-_0814AEE4: .4byte gSprites
-_0814AEE8: .4byte 0x000081fc
-_0814AEEC:
- lsls r0, r6, 2
- ldr r1, _0814AF08 @ =0x000081a8
- add r1, r9
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_0814AEF8:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AF08: .4byte 0x000081a8
- thumb_func_end sub_814ADCC
-
- thumb_func_start sub_814AF0C
-sub_814AF0C: @ 814AF0C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r6, r1, 2
- ldr r0, _0814AF64 @ =0x000081bc
- adds r5, r4, r0
- adds r5, r6
- ldr r0, [r5]
- bl sub_814ADB4
- ldr r2, [r5]
- ldr r0, _0814AF68 @ =0x000081a8
- adds r4, r0
- adds r4, r6
- ldr r1, [r4]
- ldr r0, _0814AF6C @ =gSprites
- subs r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r1, r0, 8
- adds r0, r1
- lsls r1, r0, 16
- adds r0, r1
- negs r0, r0
- asrs r0, 2
- strh r0, [r2, 0x3C]
- ldr r1, [r5]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, [r5]
- movs r0, 0x60
- strh r0, [r1, 0x22]
- ldr r0, [r5]
- ldr r1, _0814AF70 @ =sub_814AF74
- str r1, [r0, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0814AF64: .4byte 0x000081bc
-_0814AF68: .4byte 0x000081a8
-_0814AF6C: .4byte gSprites
-_0814AF70: .4byte sub_814AF74
- thumb_func_end sub_814AF0C
-
- thumb_func_start sub_814AF74
-sub_814AF74: @ 814AF74
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _0814AFA0
- cmp r0, 0x1
- bgt _0814AF8A
- cmp r0, 0
- beq _0814AF90
- b _0814AFDE
-_0814AF8A:
- cmp r0, 0x2
- beq _0814AFC0
- b _0814AFDE
-_0814AF90:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0814AFDE
- b _0814AFCE
-_0814AFA0:
- ldrh r1, [r2, 0x22]
- subs r1, 0x1
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x48
- bgt _0814AFDE
- movs r0, 0x48
- strh r0, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _0814AFDE
-_0814AFC0:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0814AFDE
-_0814AFCE:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, _0814AFE4 @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0814AFDE:
- pop {r0}
- bx r0
- .align 2, 0
-_0814AFE4: .4byte SpriteCallbackDummy
- thumb_func_end sub_814AF74
-
- thumb_func_start sub_814AFE8
-sub_814AFE8: @ 814AFE8
- push {lr}
- lsls r1, 2
- ldr r2, _0814B008 @ =0x000081a8
- adds r0, r2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, _0814B00C @ =sub_814B038
- str r1, [r2, 0x1C]
- movs r1, 0
- strh r1, [r2, 0x26]
- ldr r0, [r0]
- bl sub_814ADB4
- pop {r0}
- bx r0
- .align 2, 0
-_0814B008: .4byte 0x000081a8
-_0814B00C: .4byte sub_814B038
- thumb_func_end sub_814AFE8
-
- thumb_func_start sub_814B010
-sub_814B010: @ 814B010
- push {lr}
- movs r2, 0
- lsls r1, 2
- ldr r3, _0814B030 @ =0x000081a8
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- ldr r0, _0814B034 @ =sub_814B038
- cmp r1, r0
- bne _0814B028
- movs r2, 0x1
-_0814B028:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0814B030: .4byte 0x000081a8
-_0814B034: .4byte sub_814B038
- thumb_func_end sub_814B010
-
- thumb_func_start sub_814B038
-sub_814B038: @ 814B038
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _0814B064
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0814B05C
- movs r0, 0x2
- b _0814B05E
-_0814B05C:
- ldr r0, _0814B078 @ =0x0000fffe
-_0814B05E:
- strh r0, [r2, 0x26]
- movs r0, 0
- strh r0, [r2, 0x30]
-_0814B064:
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0xC
- ble _0814B074
- movs r0, 0
- strh r0, [r2, 0x26]
- ldr r0, _0814B07C @ =SpriteCallbackDummy
- str r0, [r2, 0x1C]
-_0814B074:
- pop {r0}
- bx r0
- .align 2, 0
-_0814B078: .4byte 0x0000fffe
-_0814B07C: .4byte SpriteCallbackDummy
- thumb_func_end sub_814B038
-
- thumb_func_start sub_814B080
-sub_814B080: @ 814B080
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, _0814B0A0 @ =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_814ADB4
- ldr r1, [r4]
- ldr r0, _0814B0A4 @ =sub_814B100
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B0A0: .4byte 0x000081a8
-_0814B0A4: .4byte sub_814B100
- thumb_func_end sub_814B080
-
- thumb_func_start sub_814B0A8
-sub_814B0A8: @ 814B0A8
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_81499A4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _0814B0EC
- movs r1, 0x5
- negs r1, r1
- mov r12, r1
- ldr r1, _0814B0F4 @ =0x000081a8
- adds r3, r4, r1
- ldr r7, _0814B0F8 @ =sub_814B100
- ldr r6, _0814B0FC @ =SpriteCallbackDummy
- movs r5, 0xA
- adds r4, r0, 0
-_0814B0CA:
- ldr r2, [r3]
- ldr r0, [r2, 0x1C]
- cmp r0, r7
- bne _0814B0E4
- adds r2, 0x3E
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- str r6, [r0, 0x1C]
- adds r0, 0x43
- strb r5, [r0]
-_0814B0E4:
- adds r3, 0x4
- subs r4, 0x1
- cmp r4, 0
- bne _0814B0CA
-_0814B0EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B0F4: .4byte 0x000081a8
-_0814B0F8: .4byte sub_814B100
-_0814B0FC: .4byte SpriteCallbackDummy
- thumb_func_end sub_814B0A8
-
- thumb_func_start sub_814B100
-sub_814B100: @ 814B100
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0814B12E
- movs r0, 0
- strh r0, [r3, 0x2E]
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_0814B12E:
- pop {r0}
- bx r0
- thumb_func_end sub_814B100
-
- thumb_func_start sub_814B134
-sub_814B134: @ 814B134
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_81499A4
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0814B15E
- ldr r0, _0814B164 @ =0x000081fc
- adds r5, r4, r0
- subs r0, 0x54
- adds r4, r0
-_0814B14E:
- ldm r4!, {r0}
- adds r1, r5, r2
- ldrb r1, [r1]
- adds r0, 0x43
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r3
- blt _0814B14E
-_0814B15E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B164: .4byte 0x000081fc
- thumb_func_end sub_814B134
-
- thumb_func_start sub_814B168
-sub_814B168: @ 814B168
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 2
- ldr r0, _0814B188 @ =0x000081a8
- adds r4, r0
- adds r4, r1
- ldr r0, [r4]
- bl sub_814ADB4
- ldr r1, [r4]
- ldr r0, _0814B18C @ =sub_814B1CC
- str r0, [r1, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B188: .4byte 0x000081a8
-_0814B18C: .4byte sub_814B1CC
- thumb_func_end sub_814B168
-
- thumb_func_start sub_814B190
-sub_814B190: @ 814B190
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_81499A4
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- cmp r2, r3
- bge _0814B1C4
- ldr r5, _0814B1B4 @ =sub_814B1CC
- ldr r0, _0814B1B8 @ =0x000081a8
- adds r1, r4, r0
-_0814B1A8:
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- cmp r0, r5
- bne _0814B1BC
- movs r0, 0x1
- b _0814B1C6
- .align 2, 0
-_0814B1B4: .4byte sub_814B1CC
-_0814B1B8: .4byte 0x000081a8
-_0814B1BC:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r3
- blt _0814B1A8
-_0814B1C4:
- movs r0, 0
-_0814B1C6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_814B190
-
- thumb_func_start sub_814B1CC
-sub_814B1CC: @ 814B1CC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r4, [r5, r0]
- cmp r4, 0
- beq _0814B1DE
- cmp r4, 0x1
- beq _0814B1EC
- b _0814B234
-_0814B1DE:
- movs r0, 0x1C
- bl PlaySE
- strh r4, [r5, 0x30]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0814B1EC:
- ldrh r0, [r5, 0x30]
- adds r0, 0x4
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7F
- ble _0814B1FE
- movs r0, 0
- strh r0, [r5, 0x30]
-_0814B1FE:
- ldr r1, _0814B22C @ =gSineTable
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- negs r0, r0
- strh r0, [r5, 0x26]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _0814B234
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _0814B230
- strh r1, [r5, 0x2E]
- b _0814B234
- .align 2, 0
-_0814B22C: .4byte gSineTable
-_0814B230:
- ldr r0, _0814B23C @ =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_0814B234:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B23C: .4byte SpriteCallbackDummy
- thumb_func_end sub_814B1CC
-
- thumb_func_start sub_814B240
-sub_814B240: @ 814B240
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r3, 24
- lsrs r4, r3, 24
- ldr r0, _0814B288 @ =gUnknown_846E2B4
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0814B280
- ldr r0, _0814B28C @ =gSprites
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- lsls r2, r4, 2
- ldr r3, _0814B290 @ =0x000081bc
- adds r0, r5, r3
- adds r0, r2
- str r1, [r0]
-_0814B280:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B288: .4byte gUnknown_846E2B4
-_0814B28C: .4byte gSprites
-_0814B290: .4byte 0x000081bc
- thumb_func_end sub_814B240
-
- thumb_func_start sub_814B294
-sub_814B294: @ 814B294
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r4, 0
- ldr r6, _0814B334 @ =gUnknown_846E100
-_0814B29E:
- ldr r1, _0814B338 @ =gUnknown_846E160
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, _0814B33C @ =gUnknown_846E150
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r6, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, _0814B340 @ =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0814B344 @ =gSprites
- adds r0, r1
- str r0, [r2]
- adds r5, 0x1
- adds r6, 0x14
- adds r4, 0x1
- cmp r4, 0x3
- ble _0814B29E
- movs r4, 0x3
- movs r6, 0x3C
-_0814B2E0:
- ldr r1, _0814B338 @ =gUnknown_846E160
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r2, _0814B33C @ =gUnknown_846E150
- lsls r1, r5, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, _0814B334 @ =gUnknown_846E100
- adds r2, r6, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r5, 2
- ldr r3, _0814B340 @ =0x000081d0
- adds r2, r7, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0814B344 @ =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- adds r5, 0x1
- subs r6, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _0814B2E0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B334: .4byte gUnknown_846E100
-_0814B338: .4byte gUnknown_846E160
-_0814B33C: .4byte gUnknown_846E150
-_0814B340: .4byte 0x000081d0
-_0814B344: .4byte gSprites
- thumb_func_end sub_814B294
-
- thumb_func_start sub_814B348
-sub_814B348: @ 814B348
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp, 0x8]
- cmp r1, 0x5
- ble _0814B368
- movs r0, 0xA
- subs r1, r0, r1
- movs r0, 0x3
- str r0, [sp]
- ldr r2, [sp, 0x8]
- ldrb r0, [r2, 0xF]
- b _0814B370
-_0814B368:
- movs r3, 0x2
- str r3, [sp]
- ldr r7, [sp, 0x8]
- ldrb r0, [r7, 0xE]
-_0814B370:
- movs r6, 0
- lsls r2, r1, 1
- str r2, [sp, 0x4]
- lsls r0, 4
- mov r9, r0
- lsls r1, 24
- mov r8, r1
- ldr r0, _0814B434 @ =gUnknown_846E100
- adds r4, r2, r0
- ldr r3, [sp]
- lsls r3, 2
- mov r10, r3
- movs r5, 0x3
-_0814B38A:
- lsls r0, r6, 2
- ldr r7, [sp, 0x8]
- ldr r1, _0814B438 @ =0x000081d0
- adds r2, r7, r1
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- adds r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0814B38A
- movs r5, 0x3
- ldr r0, _0814B434 @ =gUnknown_846E100
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- adds r4, r0, 0
- adds r4, 0x3C
- ldr r7, [sp]
- lsls r7, 2
- mov r10, r7
-_0814B3E0:
- lsls r0, r6, 2
- ldr r1, [sp, 0x8]
- ldr r3, _0814B438 @ =0x000081d0
- adds r2, r1, r3
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1, 0x22]
- ldr r3, [r2]
- ldrb r0, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- mov r1, r10
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xF
- ands r0, r1
- mov r7, r9
- orrs r0, r7
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r6, 0x1
- subs r4, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _0814B3E0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B434: .4byte gUnknown_846E100
-_0814B438: .4byte 0x000081d0
- thumb_func_end sub_814B348
-
- thumb_func_start sub_814B43C
-sub_814B43C: @ 814B43C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- movs r1, 0x7
- movs r2, 0x78
- movs r3, 0x50
- bl sub_815F138
- adds r0, r4, 0
- bl sub_814B134
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_814B43C
-
- thumb_func_start sub_814B460
-sub_814B460: @ 814B460
- push {lr}
- bl sub_815F198
- pop {r1}
- bx r1
- thumb_func_end sub_814B460
-
- thumb_func_start sub_814B46C
-sub_814B46C: @ 814B46C
- ldr r0, _0814B478 @ =gSaveBlock2Ptr
- ldr r0, [r0]
- movs r1, 0xB0
- lsls r1, 4
- adds r0, r1
- bx lr
- .align 2, 0
-_0814B478: .4byte gSaveBlock2Ptr
- thumb_func_end sub_814B46C
-
- thumb_func_start ResetPokeJumpResults
-ResetPokeJumpResults: @ 814B47C
- push {lr}
- bl sub_814B46C
- movs r1, 0
- strh r1, [r0]
- str r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- str r1, [r0, 0x8]
- strh r1, [r0, 0x2]
- pop {r0}
- bx r0
- thumb_func_end ResetPokeJumpResults
-
- thumb_func_start sub_814B494
-sub_814B494: @ 814B494
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- bl sub_814B46C
- adds r1, r0, 0
- movs r2, 0
- ldr r0, [r1, 0xC]
- cmp r0, r4
- bcs _0814B4B8
- ldr r0, _0814B4E0 @ =0x00018696
- cmp r4, r0
- bhi _0814B4B8
- str r4, [r1, 0xC]
- movs r2, 0x1
-_0814B4B8:
- ldrh r0, [r1]
- cmp r0, r5
- bcs _0814B4C8
- ldr r0, _0814B4E4 @ =0x0000270f
- cmp r5, r0
- bhi _0814B4C8
- strh r5, [r1]
- movs r2, 0x1
-_0814B4C8:
- ldrh r0, [r1, 0x4]
- cmp r0, r6
- bcs _0814B4D8
- ldr r0, _0814B4E4 @ =0x0000270f
- cmp r6, r0
- bhi _0814B4D8
- strh r6, [r1, 0x4]
- movs r2, 0x1
-_0814B4D8:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0814B4E0: .4byte 0x00018696
-_0814B4E4: .4byte 0x0000270f
- thumb_func_end sub_814B494
-
- thumb_func_start sub_814B4E8
-sub_814B4E8: @ 814B4E8
- push {lr}
- bl sub_814B46C
- adds r2, r0, 0
- ldrh r1, [r2, 0x6]
- ldr r0, _0814B500 @ =0x0000270e
- cmp r1, r0
- bhi _0814B4FC
- adds r0, r1, 0x1
- strh r0, [r2, 0x6]
-_0814B4FC:
- pop {r0}
- bx r0
- .align 2, 0
-_0814B500: .4byte 0x0000270e
- thumb_func_end sub_814B4E8
-
- thumb_func_start ShowPokemonJumpRecords
-ShowPokemonJumpRecords: @ 814B504
- push {r4,lr}
- ldr r4, _0814B520 @ =sub_814B524
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B520: .4byte sub_814B524
- thumb_func_end ShowPokemonJumpRecords
-
- thumb_func_start sub_814B524
-sub_814B524: @ 814B524
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0814B548 @ =gTasks+0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _0814B570
- cmp r0, 0x1
- bgt _0814B54C
- cmp r0, 0
- beq _0814B556
- b _0814B5BE
- .align 2, 0
-_0814B548: .4byte gTasks+0x8
-_0814B54C:
- cmp r0, 0x2
- beq _0814B57C
- cmp r0, 0x3
- beq _0814B5A4
- b _0814B5BE
-_0814B556:
- ldr r0, _0814B56C @ =gUnknown_846E2CC
- bl AddWindow
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x2]
- bl sub_814B5C4
- ldrb r0, [r4, 0x2]
- movs r1, 0x3
- b _0814B592
- .align 2, 0
-_0814B56C: .4byte gUnknown_846E2CC
-_0814B570:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814B5BE
- b _0814B596
-_0814B57C:
- ldr r0, _0814B5A0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0814B5BE
- ldrb r0, [r4, 0x2]
- bl rbox_fill_rectangle
- ldrb r0, [r4, 0x2]
- movs r1, 0x1
-_0814B592:
- bl CopyWindowToVram
-_0814B596:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0814B5BE
- .align 2, 0
-_0814B5A0: .4byte gMain
-_0814B5A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0814B5BE
- ldrb r0, [r4, 0x2]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_0814B5BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_814B524
-
- thumb_func_start sub_814B5C4
-sub_814B5C4: @ 814B5C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x28]
- bl sub_814B46C
- ldrh r1, [r0]
- str r1, [sp, 0x14]
- ldr r1, [r0, 0xC]
- str r1, [sp, 0x18]
- ldrh r0, [r0, 0x4]
- str r0, [sp, 0x1C]
- ldr r0, [sp, 0x28]
- lsls r4, r0, 24
- lsrs r4, 24
- ldr r5, _0814B6C8 @ =0x0000021d
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD0
- bl TextWindow_SetStdFrame0_WithPal
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl DrawTextBorderOuter
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _0814B6CC @ =gUnknown_841CB63
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized5
- movs r7, 0
- mov r8, r4
- movs r1, 0xFF
- mov r10, r1
- movs r6, 0
- mov r0, sp
- adds r0, 0x14
- str r0, [sp, 0x2C]
- movs r1, 0xA0
- lsls r1, 21
- mov r9, r1
- add r5, sp, 0x20
-_0814B63E:
- ldr r1, _0814B6D0 @ =gUnknown_846E2D4
- lsls r0, r7, 2
- adds r0, r1
- ldr r2, [r0]
- mov r0, r9
- lsrs r4, r0, 24
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- str r0, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r0, r8
- movs r1, 0x2
- movs r3, 0
- bl AddTextPrinterParameterized5
- ldr r0, [sp, 0x2C]
- ldm r0!, {r1}
- str r0, [sp, 0x2C]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0
- bl sub_814B6D4
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- movs r3, 0xDE
- subs r3, r0
- lsls r3, 24
- lsrs r3, 24
- str r4, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- str r6, [sp, 0x8]
- str r6, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r0, r8
- movs r1, 0x2
- adds r2, r5, 0
- bl AddTextPrinterParameterized5
- movs r0, 0xE0
- lsls r0, 20
- add r9, r0
- adds r7, 0x1
- ldr r1, [sp, 0x28]
- lsls r0, r1, 24
- cmp r7, 0x2
- bls _0814B63E
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0814B6C8: .4byte 0x0000021d
-_0814B6CC: .4byte gUnknown_841CB63
-_0814B6D0: .4byte gUnknown_846E2D4
- thumb_func_end sub_814B5C4
-
- thumb_func_start sub_814B6D4
-sub_814B6D4: @ 814B6D4
- push {lr}
- adds r1, r0, 0
- b _0814B6DC
-_0814B6DA:
- adds r1, 0x1
-_0814B6DC:
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _0814B6EA
- cmp r0, 0
- bne _0814B6DA
- movs r0, 0xFF
- strb r0, [r1]
-_0814B6EA:
- pop {r0}
- bx r0
- thumb_func_end sub_814B6D4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s
index 115c9567b..3227d5dcd 100644
--- a/asm/pokemon_storage_system.s
+++ b/asm/pokemon_storage_system.s
@@ -1411,8 +1411,8 @@ _0808C3CC:
.4byte _0808C5A6
.4byte _0808C680
_0808C3E0:
- movs r0, 0x1C
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
+ bl SetHelpContext
ldrb r0, [r5, 0xA]
adds r1, r5, 0
adds r1, 0x26
@@ -1795,13 +1795,13 @@ mapldr_0808C6D8: @ 808C6D8
adds r1, r2
movs r2, 0
strh r2, [r1, 0x8]
- ldr r2, _0808C728 @ =gUnknown_20397A8
+ ldr r2, _0808C728 @ =sPreviousBoxOption
ldrb r2, [r2]
strh r2, [r1, 0xA]
bl _call_via_r4
adds r0, r5, 0
bl SetVBlankCallback
- bl sub_807DC00
+ bl FadeInFromBlack
pop {r4,r5}
pop {r0}
bx r0
@@ -1809,7 +1809,7 @@ mapldr_0808C6D8: @ 808C6D8
_0808C71C: .4byte gMain
_0808C720: .4byte c3_0808C39C
_0808C724: .4byte gTasks
-_0808C728: .4byte gUnknown_20397A8
+_0808C728: .4byte sPreviousBoxOption
thumb_func_end mapldr_0808C6D8
thumb_func_start sub_808C72C
@@ -1881,7 +1881,7 @@ _0808C7B0: .4byte gUnknown_83CDA20
sub_808C7B4: @ 808C7B4
push {lr}
bl sub_808FDF0
- ldr r1, _0808C7D0 @ =gUnknown_20397A8
+ ldr r1, _0808C7D0 @ =sPreviousBoxOption
strb r0, [r1]
ldr r1, _0808C7D4 @ =gFieldCallback
ldr r0, _0808C7D8 @ =mapldr_0808C6D8
@@ -1891,7 +1891,7 @@ sub_808C7B4: @ 808C7B4
pop {r0}
bx r0
.align 2, 0
-_0808C7D0: .4byte gUnknown_20397A8
+_0808C7D0: .4byte sPreviousBoxOption
_0808C7D4: .4byte gFieldCallback
_0808C7D8: .4byte mapldr_0808C6D8
_0808C7DC: .4byte CB2_ReturnToField
@@ -2651,7 +2651,7 @@ sub_808CD98: @ 808CD98
bl ProcessSpriteCopyRequests
bl sub_8096BF8
bl TransferPlttBuffer
- ldr r0, _0808CDC0 @ =gUnknown_20397B0
+ ldr r0, _0808CDC0 @ =sPSSData
ldr r0, [r0]
movs r1, 0xB3
lsls r1, 2
@@ -2662,7 +2662,7 @@ sub_808CD98: @ 808CD98
pop {r0}
bx r0
.align 2, 0
-_0808CDC0: .4byte gUnknown_20397B0
+_0808CDC0: .4byte sPSSData
thumb_func_end sub_808CD98
thumb_func_start c2_Box
@@ -2684,9 +2684,9 @@ sub_808CDE4: @ 808CDE4
lsls r0, 24
lsrs r5, r0, 24
bl ResetTasks
- ldr r0, _0808CE08 @ =gUnknown_20397B5
+ ldr r0, _0808CE08 @ =sCurrentBoxOption
strb r5, [r0]
- ldr r4, _0808CE0C @ =gUnknown_20397B0
+ ldr r4, _0808CE0C @ =sPSSData
ldr r0, _0808CE10 @ =0x000062bc
bl Alloc
str r0, [r4]
@@ -2696,8 +2696,8 @@ sub_808CDE4: @ 808CDE4
bl SetMainCallback2
b _0808CE4A
.align 2, 0
-_0808CE08: .4byte gUnknown_20397B5
-_0808CE0C: .4byte gUnknown_20397B0
+_0808CE08: .4byte sCurrentBoxOption
+_0808CE0C: .4byte sPSSData
_0808CE10: .4byte 0x000062bc
_0808CE14: .4byte sub_808C7B4
_0808CE18:
@@ -2715,10 +2715,10 @@ _0808CE18:
bl CreateTask
ldr r1, [r4]
strb r0, [r1, 0x4]
- movs r0, 0x1C
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
+ bl SetHelpContext
bl StorageGetCurrentBox
- ldr r1, _0808CE58 @ =gUnknown_20397B8
+ ldr r1, _0808CE58 @ =sLastUsedBox
strb r0, [r1]
ldr r0, _0808CE5C @ =c2_Box
bl SetMainCallback2
@@ -2729,7 +2729,7 @@ _0808CE4A:
.align 2, 0
_0808CE50: .4byte gUnknown_20397BA
_0808CE54: .4byte task_box_related_3
-_0808CE58: .4byte gUnknown_20397B8
+_0808CE58: .4byte sLastUsedBox
_0808CE5C: .4byte c2_Box
thumb_func_end sub_808CDE4
@@ -2737,7 +2737,7 @@ _0808CE5C: .4byte c2_Box
sub_808CE60: @ 808CE60
push {r4,lr}
bl ResetTasks
- ldr r4, _0808CE80 @ =gUnknown_20397B0
+ ldr r4, _0808CE80 @ =sPSSData
ldr r0, _0808CE84 @ =0x000062bc
bl Alloc
adds r1, r0, 0
@@ -2748,11 +2748,11 @@ sub_808CE60: @ 808CE60
bl SetMainCallback2
b _0808CEB6
.align 2, 0
-_0808CE80: .4byte gUnknown_20397B0
+_0808CE80: .4byte sPSSData
_0808CE84: .4byte 0x000062bc
_0808CE88: .4byte sub_808C7B4
_0808CE8C:
- ldr r0, _0808CEBC @ =gUnknown_20397B5
+ ldr r0, _0808CEBC @ =sCurrentBoxOption
ldrb r0, [r0]
movs r2, 0
strb r0, [r1, 0x1]
@@ -2766,8 +2766,8 @@ _0808CE8C:
bl CreateTask
ldr r1, [r4]
strb r0, [r1, 0x4]
- movs r0, 0x1C
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x1C @ HELPCONTEXT_BILLS_PC
+ bl SetHelpContext
ldr r0, _0808CEC4 @ =c2_Box
bl SetMainCallback2
_0808CEB6:
@@ -2775,7 +2775,7 @@ _0808CEB6:
pop {r0}
bx r0
.align 2, 0
-_0808CEBC: .4byte gUnknown_20397B5
+_0808CEBC: .4byte sCurrentBoxOption
_0808CEC0: .4byte task_box_related_3
_0808CEC4: .4byte c2_Box
thumb_func_end sub_808CE60
@@ -2825,7 +2825,7 @@ sub_808CF10: @ 808CF10
lsls r2, 2
adds r0, r2, 0
strh r0, [r1]
- ldr r4, _0808CF84 @ =gUnknown_20397B0
+ ldr r4, _0808CF84 @ =sPSSData
ldr r1, [r4]
adds r0, r1, 0
adds r0, 0x8
@@ -2860,7 +2860,7 @@ sub_808CF10: @ 808CF10
bx r0
.align 2, 0
_0808CF80: .4byte gReservedSpriteTileCount
-_0808CF84: .4byte gUnknown_20397B0
+_0808CF84: .4byte sPSSData
_0808CF88: .4byte gKeyRepeatStartDelay
_0808CF8C: .4byte gUnknown_83CE6F8
_0808CF90: .4byte 0x000002c7
@@ -2870,9 +2870,9 @@ _0808CF90: .4byte 0x000002c7
sub_808CF94: @ 808CF94
push {lr}
bl sub_8092B50
- ldr r2, _0808CFB8 @ =gUnknown_20397B4
+ ldr r2, _0808CFB8 @ =sInPartyMenu
movs r1, 0
- ldr r0, _0808CFBC @ =gUnknown_20397B0
+ ldr r0, _0808CFBC @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
@@ -2886,15 +2886,15 @@ _0808CFAA:
pop {r0}
bx r0
.align 2, 0
-_0808CFB8: .4byte gUnknown_20397B4
-_0808CFBC: .4byte gUnknown_20397B0
+_0808CFB8: .4byte sInPartyMenu
+_0808CFBC: .4byte sPSSData
_0808CFC0: .4byte gUnknown_20397B6
thumb_func_end sub_808CF94
thumb_func_start sub_808CFC4
sub_808CFC4: @ 808CFC4
push {lr}
- ldr r0, _0808CFF0 @ =gUnknown_20397B0
+ ldr r0, _0808CFF0 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -2914,7 +2914,7 @@ _0808CFE2:
pop {r0}
bx r0
.align 2, 0
-_0808CFF0: .4byte gUnknown_20397B0
+_0808CFF0: .4byte sPSSData
_0808CFF4: .4byte 0x00000b07
thumb_func_end sub_808CFC4
@@ -2922,7 +2922,7 @@ _0808CFF4: .4byte 0x00000b07
add_to_c3_somehow: @ 808CFF8
push {r4,lr}
ldr r4, _0808D018 @ =gTasks
- ldr r1, _0808D01C @ =gUnknown_20397B0
+ ldr r1, _0808D01C @ =sPSSData
ldr r3, [r1]
ldrb r2, [r3, 0x4]
lsls r1, r2, 2
@@ -2937,14 +2937,14 @@ add_to_c3_somehow: @ 808CFF8
bx r0
.align 2, 0
_0808D018: .4byte gTasks
-_0808D01C: .4byte gUnknown_20397B0
+_0808D01C: .4byte sPSSData
thumb_func_end add_to_c3_somehow
thumb_func_start task_box_related_3
task_box_related_3: @ 808D020
push {lr}
sub sp, 0x4
- ldr r0, _0808D03C @ =gUnknown_20397B0
+ ldr r0, _0808D03C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xA
@@ -2957,7 +2957,7 @@ _0808D030:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808D03C: .4byte gUnknown_20397B0
+_0808D03C: .4byte sPSSData
_0808D040: .4byte _0808D044
.align 2, 0
_0808D044:
@@ -2979,12 +2979,12 @@ _0808D070:
movs r1, 0
bl SetGpuReg
bl sub_808CF10
- ldr r0, _0808D0A0 @ =gUnknown_20397B0
+ ldr r0, _0808D0A0 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x3]
cmp r0, 0
beq _0808D0BE
- ldr r0, _0808D0A4 @ =gUnknown_20397B7
+ ldr r0, _0808D0A4 @ =sWhichToReshow
ldrb r0, [r0]
cmp r0, 0x1
beq _0808D0AE
@@ -2994,8 +2994,8 @@ _0808D070:
beq _0808D0B4
b _0808D0BE
.align 2, 0
-_0808D0A0: .4byte gUnknown_20397B0
-_0808D0A4: .4byte gUnknown_20397B7
+_0808D0A0: .4byte sPSSData
+_0808D0A4: .4byte sWhichToReshow
_0808D0A8:
cmp r0, 0x2
beq _0808D0BA
@@ -3041,7 +3041,7 @@ _0808D0D6:
_0808D100: .4byte 0x05000080
_0808D104:
bl sub_808CEC8
- ldr r0, _0808D11C @ =gUnknown_20397B0
+ ldr r0, _0808D11C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x3]
cmp r0, 0
@@ -3051,10 +3051,10 @@ _0808D114:
bl sub_808CF94
b _0808D20C
.align 2, 0
-_0808D11C: .4byte gUnknown_20397B0
+_0808D11C: .4byte sPSSData
_0808D120:
bl sub_808FFAC
- ldr r0, _0808D134 @ =gUnknown_20397B0
+ ldr r0, _0808D134 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x3]
cmp r0, 0
@@ -3062,7 +3062,7 @@ _0808D120:
bl sub_80922C0
b _0808D20C
.align 2, 0
-_0808D134: .4byte gUnknown_20397B0
+_0808D134: .4byte sPSSData
_0808D138:
bl sub_8092340
b _0808D20C
@@ -3098,7 +3098,7 @@ _0808D178:
lsls r0, 24
cmp r0, 0
bne _0808D216
- ldr r0, _0808D1A8 @ =gUnknown_20397B0
+ ldr r0, _0808D1A8 @ =sPSSData
ldr r2, [r0]
ldrb r0, [r2, 0x1]
cmp r0, 0x3
@@ -3116,7 +3116,7 @@ _0808D178:
bl LoadMonMarkingsFrameGfx
b _0808D20C
.align 2, 0
-_0808D1A8: .4byte gUnknown_20397B0
+_0808D1A8: .4byte sPSSData
_0808D1AC: .4byte 0x00000da2
_0808D1B0: .4byte 0x0000dace
_0808D1B4:
@@ -3125,7 +3125,7 @@ _0808D1B4:
b _0808D20C
_0808D1BE:
bl sub_808CFC4
- ldr r0, _0808D1E0 @ =gUnknown_20397B0
+ ldr r0, _0808D1E0 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x3]
cmp r0, 0
@@ -3139,7 +3139,7 @@ _0808D1BE:
bl add_to_c3_somehow
b _0808D1FA
.align 2, 0
-_0808D1E0: .4byte gUnknown_20397B0
+_0808D1E0: .4byte sPSSData
_0808D1E4: .4byte sub_808D220
_0808D1E8:
movs r0, 0x1
@@ -3157,7 +3157,7 @@ _0808D1FA:
_0808D204: .4byte sub_808D26C
_0808D208: .4byte sub_808CD98
_0808D20C:
- ldr r0, _0808D21C @ =gUnknown_20397B0
+ ldr r0, _0808D21C @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
@@ -3167,13 +3167,13 @@ _0808D216:
pop {r0}
bx r0
.align 2, 0
-_0808D21C: .4byte gUnknown_20397B0
+_0808D21C: .4byte sPSSData
thumb_func_end task_box_related_3
thumb_func_start sub_808D220
sub_808D220: @ 808D220
push {r4,lr}
- ldr r4, _0808D234 @ =gUnknown_20397B0
+ ldr r4, _0808D234 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -3182,7 +3182,7 @@ sub_808D220: @ 808D220
beq _0808D252
b _0808D262
.align 2, 0
-_0808D234: .4byte gUnknown_20397B0
+_0808D234: .4byte sPSSData
_0808D238:
movs r0, 0x2
bl PlaySE
@@ -3214,7 +3214,7 @@ _0808D268: .4byte sub_808D2BC
sub_808D26C: @ 808D26C
push {r4,lr}
sub sp, 0x4
- ldr r4, _0808D280 @ =gUnknown_20397B0
+ ldr r4, _0808D280 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -3223,7 +3223,7 @@ sub_808D26C: @ 808D26C
beq _0808D29E
b _0808D2AE
.align 2, 0
-_0808D280: .4byte gUnknown_20397B0
+_0808D280: .4byte sPSSData
_0808D284:
movs r1, 0x1
negs r1, r1
@@ -3256,7 +3256,7 @@ _0808D2B8: .4byte sub_808D2BC
thumb_func_start sub_808D2BC
sub_808D2BC: @ 808D2BC
push {r4,r5,lr}
- ldr r0, _0808D2D4 @ =gUnknown_20397B0
+ ldr r0, _0808D2D4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xB
@@ -3269,7 +3269,7 @@ _0808D2CA:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808D2D4: .4byte gUnknown_20397B0
+_0808D2D4: .4byte sPSSData
_0808D2D8: .4byte _0808D2DC
.align 2, 0
_0808D2DC:
@@ -3332,15 +3332,15 @@ _0808D32C:
_0808D394:
movs r0, 0x5
bl PlaySE
- ldr r0, _0808D3A4 @ =gUnknown_20397B0
+ ldr r0, _0808D3A4 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D3A4: .4byte gUnknown_20397B0
+_0808D3A4: .4byte sPSSData
_0808D3A8:
- ldr r4, _0808D3C8 @ =gUnknown_20397B0
+ ldr r4, _0808D3C8 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0, 0x1]
subs r0, 0x2
@@ -3355,7 +3355,7 @@ _0808D3A8:
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D3C8: .4byte gUnknown_20397B0
+_0808D3C8: .4byte sPSSData
_0808D3CC:
bl sub_8092B50
ldr r0, _0808D3D8 @ =sub_808D7BC
@@ -3364,7 +3364,7 @@ _0808D3CC:
.align 2, 0
_0808D3D8: .4byte sub_808D7BC
_0808D3DC:
- ldr r4, _0808D408 @ =gUnknown_20397B0
+ ldr r4, _0808D408 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0, 0x1]
cmp r0, 0x2
@@ -3385,7 +3385,7 @@ _0808D3DC:
_0808D404:
b _0808D416
.align 2, 0
-_0808D408: .4byte gUnknown_20397B0
+_0808D408: .4byte sPSSData
_0808D40C: .4byte 0x00000ce2
_0808D410:
cmp r0, 0x3
@@ -3427,7 +3427,7 @@ _0808D45C:
movs r0, 0x5
bl PlaySE
bl StorageGetCurrentBox
- ldr r4, _0808D48C @ =gUnknown_20397B0
+ ldr r4, _0808D48C @ =sPSSData
ldr r1, [r4]
lsls r0, 24
lsrs r0, 24
@@ -3447,13 +3447,13 @@ _0808D47E:
adds r0, r1, r2
b _0808D78A
.align 2, 0
-_0808D48C: .4byte gUnknown_20397B0
+_0808D48C: .4byte sPSSData
_0808D490: .4byte 0x000002ca
_0808D494:
movs r0, 0x5
bl PlaySE
bl StorageGetCurrentBox
- ldr r4, _0808D4C4 @ =gUnknown_20397B0
+ ldr r4, _0808D4C4 @ =sPSSData
ldr r1, [r4]
lsls r0, 24
lsrs r0, 24
@@ -3473,7 +3473,7 @@ _0808D4B6:
adds r0, r1, r2
b _0808D78A
.align 2, 0
-_0808D4C4: .4byte gUnknown_20397B0
+_0808D4C4: .4byte sPSSData
_0808D4C8: .4byte 0x000002ca
_0808D4CC:
bl sub_8094D60
@@ -3486,7 +3486,7 @@ _0808D4D8:
lsls r0, 24
cmp r0, 0
bne _0808D538
- ldr r4, _0808D500 @ =gUnknown_20397B0
+ ldr r4, _0808D500 @ =sPSSData
ldr r0, [r4]
ldr r1, _0808D504 @ =0x00000ce2
adds r0, r1
@@ -3501,7 +3501,7 @@ _0808D4F6:
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D500: .4byte gUnknown_20397B0
+_0808D500: .4byte sPSSData
_0808D504: .4byte 0x00000ce2
_0808D508:
movs r0, 0x5
@@ -3525,13 +3525,13 @@ _0808D52E:
cmp r0, 0
bne _0808D548
_0808D538:
- ldr r0, _0808D544 @ =gUnknown_20397B0
+ ldr r0, _0808D544 @ =sPSSData
ldr r1, [r0]
movs r0, 0x4
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D544: .4byte gUnknown_20397B0
+_0808D544: .4byte sPSSData
_0808D548:
movs r0, 0x5
bl PlaySE
@@ -3588,13 +3588,13 @@ _0808D5C0:
_0808D5CA:
movs r0, 0x1
bl sub_80950BC
- ldr r0, _0808D5DC @ =gUnknown_20397B0
+ ldr r0, _0808D5DC @ =sPSSData
ldr r1, [r0]
movs r0, 0x8
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D5DC: .4byte gUnknown_20397B0
+_0808D5DC: .4byte sPSSData
_0808D5E0:
movs r0, 0x5
bl PlaySE
@@ -3609,13 +3609,13 @@ _0808D5EE:
movs r0, 0x4
_0808D5F6:
bl sub_80950BC
- ldr r0, _0808D604 @ =gUnknown_20397B0
+ ldr r0, _0808D604 @ =sPSSData
ldr r1, [r0]
movs r0, 0x9
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D604: .4byte gUnknown_20397B0
+_0808D604: .4byte sPSSData
_0808D608:
movs r0, 0x5
bl PlaySE
@@ -3624,13 +3624,13 @@ _0808D608:
movs r0, 0x5
_0808D616:
bl sub_80950BC
- ldr r0, _0808D624 @ =gUnknown_20397B0
+ ldr r0, _0808D624 @ =sPSSData
ldr r1, [r0]
movs r0, 0x7
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D624: .4byte gUnknown_20397B0
+_0808D624: .4byte sPSSData
_0808D628:
movs r0, 0x1A
bl PlaySE
@@ -3651,7 +3651,7 @@ _0808D63C:
_0808D64C:
bl sub_808F974
_0808D650:
- ldr r4, _0808D668 @ =gUnknown_20397B0
+ ldr r4, _0808D668 @ =sPSSData
ldr r0, [r4]
ldr r1, _0808D66C @ =0x00000ce6
adds r0, r1
@@ -3663,7 +3663,7 @@ _0808D662:
ldr r1, [r4]
b _0808D6DC
.align 2, 0
-_0808D668: .4byte gUnknown_20397B0
+_0808D668: .4byte sPSSData
_0808D66C: .4byte 0x00000ce6
_0808D670:
bl sub_80915FC
@@ -3672,13 +3672,13 @@ _0808D670:
beq _0808D67C
b _0808D7B2
_0808D67C:
- ldr r0, _0808D6BC @ =gUnknown_20397B0
+ ldr r0, _0808D6BC @ =sPSSData
ldr r0, [r0]
ldr r1, _0808D6C0 @ =0x000002ca
adds r0, r1
ldrb r0, [r0]
bl sub_808BA00
- ldr r0, _0808D6C4 @ =gUnknown_20397B4
+ ldr r0, _0808D6C4 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
bne _0808D6A4
@@ -3689,7 +3689,7 @@ _0808D67C:
bl sub_8092F54
bl BoxSetMosaic
_0808D6A4:
- ldr r4, _0808D6BC @ =gUnknown_20397B0
+ ldr r4, _0808D6BC @ =sPSSData
ldr r1, [r4]
ldrb r0, [r1, 0x1]
cmp r0, 0x3
@@ -3700,9 +3700,9 @@ _0808D6A4:
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D6BC: .4byte gUnknown_20397B0
+_0808D6BC: .4byte sPSSData
_0808D6C0: .4byte 0x000002ca
-_0808D6C4: .4byte gUnknown_20397B4
+_0808D6C4: .4byte sInPartyMenu
_0808D6C8:
ldr r0, _0808D6E4 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -3711,7 +3711,7 @@ _0808D6C8:
cmp r0, 0
beq _0808D7B2
bl sub_808FD20
- ldr r0, _0808D6E8 @ =gUnknown_20397B0
+ ldr r0, _0808D6E8 @ =sPSSData
ldr r1, [r0]
_0808D6DC:
movs r0, 0
@@ -3719,7 +3719,7 @@ _0808D6DC:
b _0808D7B2
.align 2, 0
_0808D6E4: .4byte gMain
-_0808D6E8: .4byte gUnknown_20397B0
+_0808D6E8: .4byte sPSSData
_0808D6EC:
movs r0, 0x1A
bl PlaySE
@@ -3731,13 +3731,13 @@ _0808D6F6:
movs r0, 0x16
_0808D6FE:
bl sub_808FBA4
- ldr r0, _0808D70C @ =gUnknown_20397B0
+ ldr r0, _0808D70C @ =sPSSData
ldr r1, [r0]
movs r0, 0x6
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D70C: .4byte gUnknown_20397B0
+_0808D70C: .4byte sPSSData
_0808D710:
ldr r0, _0808D728 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -3772,7 +3772,7 @@ _0808D74C:
lsrs r4, r0, 24
cmp r4, 0
bne _0808D7B2
- ldr r5, _0808D770 @ =gUnknown_20397B0
+ ldr r5, _0808D770 @ =sPSSData
ldr r0, [r5]
ldr r1, _0808D774 @ =0x00000ce6
adds r0, r1
@@ -3785,14 +3785,14 @@ _0808D76A:
strb r4, [r0]
b _0808D7B2
.align 2, 0
-_0808D770: .4byte gUnknown_20397B0
+_0808D770: .4byte sPSSData
_0808D774: .4byte 0x00000ce6
_0808D778:
bl sub_809610C
lsls r0, 24
cmp r0, 0
bne _0808D7B2
- ldr r4, _0808D798 @ =gUnknown_20397B0
+ ldr r4, _0808D798 @ =sPSSData
ldr r0, [r4]
ldr r1, _0808D79C @ =0x000002ca
adds r0, r1
@@ -3804,7 +3804,7 @@ _0808D78A:
strb r0, [r1]
b _0808D7B2
.align 2, 0
-_0808D798: .4byte gUnknown_20397B0
+_0808D798: .4byte sPSSData
_0808D79C: .4byte 0x000002ca
_0808D7A0:
bl sub_809610C
@@ -3813,7 +3813,7 @@ _0808D7A4:
lsrs r1, r0, 24
cmp r1, 0
bne _0808D7B2
- ldr r0, _0808D7B8 @ =gUnknown_20397B0
+ ldr r0, _0808D7B8 @ =sPSSData
ldr r0, [r0]
strb r1, [r0]
_0808D7B2:
@@ -3821,13 +3821,13 @@ _0808D7B2:
pop {r0}
bx r0
.align 2, 0
-_0808D7B8: .4byte gUnknown_20397B0
+_0808D7B8: .4byte sPSSData
thumb_func_end sub_808D2BC
thumb_func_start sub_808D7BC
sub_808D7BC: @ 808D7BC
push {r4,lr}
- ldr r4, _0808D7D0 @ =gUnknown_20397B0
+ ldr r4, _0808D7D0 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -3836,7 +3836,7 @@ sub_808D7BC: @ 808D7BC
beq _0808D7E2
b _0808D7F2
.align 2, 0
-_0808D7D0: .4byte gUnknown_20397B0
+_0808D7D0: .4byte sPSSData
_0808D7D4:
bl sub_808FAD4
ldr r1, [r4]
@@ -3862,7 +3862,7 @@ _0808D7F8: .4byte sub_808D2BC
thumb_func_start sub_808D7FC
sub_808D7FC: @ 808D7FC
push {r4,lr}
- ldr r4, _0808D814 @ =gUnknown_20397B0
+ ldr r4, _0808D814 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0x1
@@ -3873,7 +3873,7 @@ sub_808D7FC: @ 808D7FC
beq _0808D81E
b _0808D86A
.align 2, 0
-_0808D814: .4byte gUnknown_20397B0
+_0808D814: .4byte sPSSData
_0808D818:
cmp r0, 0x2
beq _0808D84A
@@ -3925,7 +3925,7 @@ _0808D874: .4byte sub_808D2BC
thumb_func_start sub_808D878
sub_808D878: @ 808D878
push {r4,lr}
- ldr r0, _0808D890 @ =gUnknown_20397B0
+ ldr r0, _0808D890 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x6
@@ -3938,7 +3938,7 @@ _0808D886:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808D890: .4byte gUnknown_20397B0
+_0808D890: .4byte sPSSData
_0808D894: .4byte _0808D898
.align 2, 0
_0808D898:
@@ -3958,7 +3958,7 @@ _0808D8B4:
_0808D8C0:
movs r0, 0x5
bl PlaySE
- ldr r4, _0808D8D8 @ =gUnknown_20397B0
+ ldr r4, _0808D8D8 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -3967,7 +3967,7 @@ _0808D8C0:
bl sub_808FBA4
b _0808D906
.align 2, 0
-_0808D8D8: .4byte gUnknown_20397B0
+_0808D8D8: .4byte sPSSData
_0808D8DC:
bl sub_809616C
lsls r0, 24
@@ -3990,13 +3990,13 @@ _0808D900:
bl sub_808FBA4
_0808D906:
bl sub_8094E88
- ldr r0, _0808D914 @ =gUnknown_20397B0
+ ldr r0, _0808D914 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808DB86
.align 2, 0
-_0808D914: .4byte gUnknown_20397B0
+_0808D914: .4byte sPSSData
_0808D918:
bl sub_8094F90
lsls r0, 24
@@ -4004,13 +4004,13 @@ _0808D918:
beq _0808D924
b _0808DB86
_0808D924:
- ldr r0, _0808D930 @ =gUnknown_20397B0
+ ldr r0, _0808D930 @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1]
b _0808DB86
.align 2, 0
-_0808D930: .4byte gUnknown_20397B0
+_0808D930: .4byte sPSSData
_0808D934:
bl sub_8094F94
adds r0, 0x1
@@ -4104,7 +4104,7 @@ _0808DA20:
lsls r0, 24
cmp r0, 0
bne _0808DA66
- ldr r4, _0808DA50 @ =gUnknown_20397B0
+ ldr r4, _0808DA50 @ =sPSSData
ldr r0, [r4]
ldr r2, _0808DA54 @ =0x00000ce2
adds r0, r2
@@ -4120,7 +4120,7 @@ _0808DA20:
bl add_to_c3_somehow
b _0808DB86
.align 2, 0
-_0808DA50: .4byte gUnknown_20397B0
+_0808DA50: .4byte sPSSData
_0808DA54: .4byte 0x00000ce2
_0808DA58: .4byte sub_808DD88
_0808DA5C:
@@ -4129,15 +4129,15 @@ _0808DA5C:
cmp r0, 0
beq _0808DA74
_0808DA66:
- ldr r0, _0808DA70 @ =gUnknown_20397B0
+ ldr r0, _0808DA70 @ =sPSSData
ldr r1, [r0]
movs r0, 0x3
strb r0, [r1]
b _0808DB86
.align 2, 0
-_0808DA70: .4byte gUnknown_20397B0
+_0808DA70: .4byte sPSSData
_0808DA74:
- ldr r4, _0808DA88 @ =gUnknown_20397B0
+ ldr r4, _0808DA88 @ =sPSSData
ldr r1, [r4]
ldr r2, _0808DA8C @ =0x00000ce9
adds r0, r1, r2
@@ -4148,7 +4148,7 @@ _0808DA74:
strb r0, [r1]
b _0808DB86
.align 2, 0
-_0808DA88: .4byte gUnknown_20397B0
+_0808DA88: .4byte sPSSData
_0808DA8C: .4byte 0x00000ce9
_0808DA90:
ldr r2, _0808DAA8 @ =0x00000ce2
@@ -4245,13 +4245,13 @@ _0808DB54:
movs r0, 0x16
_0808DB5C:
bl sub_808FBA4
- ldr r0, _0808DB6C @ =gUnknown_20397B0
+ ldr r0, _0808DB6C @ =sPSSData
ldr r1, [r0]
movs r0, 0x6
strb r0, [r1]
b _0808DB86
.align 2, 0
-_0808DB6C: .4byte gUnknown_20397B0
+_0808DB6C: .4byte sPSSData
_0808DB70:
ldr r0, _0808DB8C @ =gMain
ldrh r1, [r0, 0x2E]
@@ -4274,7 +4274,7 @@ _0808DB90: .4byte sub_808D2BC
thumb_func_start sub_808DB94
sub_808DB94: @ 808DB94
push {r4,lr}
- ldr r4, _0808DBA8 @ =gUnknown_20397B0
+ ldr r4, _0808DBA8 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -4283,7 +4283,7 @@ sub_808DB94: @ 808DB94
beq _0808DBBC
b _0808DBE6
.align 2, 0
-_0808DBA8: .4byte gUnknown_20397B0
+_0808DBA8: .4byte sPSSData
_0808DBAC:
movs r0, 0
bl sub_8092B7C
@@ -4297,7 +4297,7 @@ _0808DBBC:
lsls r0, 24
cmp r0, 0
bne _0808DBE6
- ldr r0, _0808DBD8 @ =gUnknown_20397B4
+ ldr r0, _0808DBD8 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808DBE0
@@ -4305,7 +4305,7 @@ _0808DBBC:
bl add_to_c3_somehow
b _0808DBE6
.align 2, 0
-_0808DBD8: .4byte gUnknown_20397B4
+_0808DBD8: .4byte sInPartyMenu
_0808DBDC: .4byte sub_808E688
_0808DBE0:
ldr r0, _0808DBEC @ =sub_808D2BC
@@ -4321,7 +4321,7 @@ _0808DBEC: .4byte sub_808D2BC
thumb_func_start sub_808DBF0
sub_808DBF0: @ 808DBF0
push {r4,lr}
- ldr r4, _0808DC04 @ =gUnknown_20397B0
+ ldr r4, _0808DC04 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -4330,7 +4330,7 @@ sub_808DBF0: @ 808DBF0
beq _0808DC1E
b _0808DC46
.align 2, 0
-_0808DC04: .4byte gUnknown_20397B0
+_0808DC04: .4byte sPSSData
_0808DC08:
movs r0, 0x1
bl sub_808FE54
@@ -4346,7 +4346,7 @@ _0808DC1E:
lsls r0, 24
cmp r0, 0
bne _0808DC46
- ldr r0, _0808DC38 @ =gUnknown_20397B4
+ ldr r0, _0808DC38 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808DC40
@@ -4354,7 +4354,7 @@ _0808DC1E:
bl add_to_c3_somehow
b _0808DC46
.align 2, 0
-_0808DC38: .4byte gUnknown_20397B4
+_0808DC38: .4byte sInPartyMenu
_0808DC3C: .4byte sub_808E688
_0808DC40:
ldr r0, _0808DC4C @ =sub_808D2BC
@@ -4370,7 +4370,7 @@ _0808DC4C: .4byte sub_808D2BC
thumb_func_start sub_808DC50
sub_808DC50: @ 808DC50
push {r4,lr}
- ldr r4, _0808DC64 @ =gUnknown_20397B0
+ ldr r4, _0808DC64 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -4379,7 +4379,7 @@ sub_808DC50: @ 808DC50
beq _0808DC7E
b _0808DC92
.align 2, 0
-_0808DC64: .4byte gUnknown_20397B0
+_0808DC64: .4byte sPSSData
_0808DC68:
movs r0, 0
bl sub_808FE54
@@ -4409,7 +4409,7 @@ _0808DC98: .4byte sub_808D2BC
thumb_func_start sub_808DC9C
sub_808DC9C: @ 808DC9C
push {lr}
- ldr r0, _0808DCB4 @ =gUnknown_20397B0
+ ldr r0, _0808DCB4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x5
@@ -4420,7 +4420,7 @@ sub_808DC9C: @ 808DC9C
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808DCB4: .4byte gUnknown_20397B0
+_0808DCB4: .4byte sPSSData
_0808DCB8: .4byte _0808DCBC
.align 2, 0
_0808DCBC:
@@ -4438,24 +4438,24 @@ _0808DCD4:
bne _0808DCF4
movs r0, 0xE
bl sub_808FBA4
- ldr r0, _0808DCF0 @ =gUnknown_20397B0
+ ldr r0, _0808DCF0 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808DD7E
.align 2, 0
-_0808DCF0: .4byte gUnknown_20397B0
+_0808DCF0: .4byte sPSSData
_0808DCF4:
bl sub_8092B5C
movs r0, 0
bl sub_8092B7C
- ldr r0, _0808DD08 @ =gUnknown_20397B0
+ ldr r0, _0808DD08 @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1]
b _0808DD7E
.align 2, 0
-_0808DD08: .4byte gUnknown_20397B0
+_0808DD08: .4byte sPSSData
_0808DD0C:
ldr r0, _0808DD24 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -4496,14 +4496,14 @@ _0808DD5A:
bne _0808DD7E
bl sub_808FAA8
_0808DD68:
- ldr r0, _0808DD74 @ =gUnknown_20397B0
+ ldr r0, _0808DD74 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0808DD7E
.align 2, 0
-_0808DD74: .4byte gUnknown_20397B0
+_0808DD74: .4byte sPSSData
_0808DD78:
ldr r0, _0808DD84 @ =sub_808D7FC
bl add_to_c3_somehow
@@ -4518,7 +4518,7 @@ _0808DD84: .4byte sub_808D7FC
sub_808DD88: @ 808DD88
push {r4,lr}
sub sp, 0x4
- ldr r0, _0808DDA4 @ =gUnknown_20397B0
+ ldr r0, _0808DDA4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x4
@@ -4531,7 +4531,7 @@ _0808DD98:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808DDA4: .4byte gUnknown_20397B0
+_0808DDA4: .4byte sPSSData
_0808DDA8: .4byte _0808DDAC
.align 2, 0
_0808DDAC:
@@ -4543,7 +4543,7 @@ _0808DDAC:
_0808DDC0:
movs r0, 0x6
bl sub_808FBA4
- ldr r4, _0808DDEC @ =gUnknown_20397B0
+ ldr r4, _0808DDEC @ =sPSSData
ldr r0, [r4]
ldr r1, _0808DDF0 @ =0x00001e58
adds r0, r1
@@ -4561,7 +4561,7 @@ _0808DDC0:
adds r0, 0x1
b _0808DEB8
.align 2, 0
-_0808DDEC: .4byte gUnknown_20397B0
+_0808DDEC: .4byte sPSSData
_0808DDF0: .4byte 0x00001e58
_0808DDF4: .4byte 0x0000dac7
_0808DDF8: .4byte gUnknown_20397B6
@@ -4591,32 +4591,32 @@ _0808DE1C:
bl sub_808FD20
bl sub_808C950
bl sub_808C8FC
- ldr r0, _0808DE4C @ =gUnknown_20397B0
+ ldr r0, _0808DE4C @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
b _0808DEB8
.align 2, 0
_0808DE48: .4byte gUnknown_20397B6
-_0808DE4C: .4byte gUnknown_20397B0
+_0808DE4C: .4byte sPSSData
_0808DE50:
movs r0, 0x8
bl sub_808FBA4
- ldr r0, _0808DE60 @ =gUnknown_20397B0
+ ldr r0, _0808DE60 @ =sPSSData
ldr r1, [r0]
movs r0, 0x4
b _0808DEB8
.align 2, 0
-_0808DE60: .4byte gUnknown_20397B0
+_0808DE60: .4byte sPSSData
_0808DE64:
bl CompactPartySlots
bl sub_80909F4
- ldr r0, _0808DE78 @ =gUnknown_20397B0
+ ldr r0, _0808DE78 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
b _0808DEB8
.align 2, 0
-_0808DE78: .4byte gUnknown_20397B0
+_0808DE78: .4byte sPSSData
_0808DE7C:
bl sub_8090A60
lsls r0, 24
@@ -4640,7 +4640,7 @@ _0808DEA0:
beq _0808DEBA
movs r0, 0x6
bl sub_808FBA4
- ldr r0, _0808DEC8 @ =gUnknown_20397B0
+ ldr r0, _0808DEC8 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
_0808DEB8:
@@ -4652,13 +4652,13 @@ _0808DEBA:
bx r0
.align 2, 0
_0808DEC4: .4byte gMain
-_0808DEC8: .4byte gUnknown_20397B0
+_0808DEC8: .4byte sPSSData
thumb_func_end sub_808DD88
thumb_func_start sub_808DECC
sub_808DECC: @ 808DECC
push {lr}
- ldr r0, _0808DEE4 @ =gUnknown_20397B0
+ ldr r0, _0808DEE4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0xD
@@ -4671,7 +4671,7 @@ _0808DEDA:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808DEE4: .4byte gUnknown_20397B0
+_0808DEE4: .4byte sPSSData
_0808DEE8: .4byte _0808DEEC
.align 2, 0
_0808DEEC:
@@ -4694,7 +4694,7 @@ _0808DF24:
bl sub_808FBA4
movs r0, 0x1
bl sub_808FCE8
- ldr r0, _0808DF54 @ =gUnknown_20397B0
+ ldr r0, _0808DF54 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
@@ -4713,7 +4713,7 @@ _0808DF3A:
beq _0808DF5E
b _0808E0AE
.align 2, 0
-_0808DF54: .4byte gUnknown_20397B0
+_0808DF54: .4byte sPSSData
_0808DF58:
cmp r1, 0x1
beq _0808DF5E
@@ -4772,7 +4772,7 @@ _0808DFBC:
cmp r0, 0
beq _0808E0AE
bl sub_808FD20
- ldr r0, _0808DFE4 @ =gUnknown_20397B4
+ ldr r0, _0808DFE4 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808DFE8
@@ -4781,15 +4781,15 @@ _0808DFBC:
b _0808E074
.align 2, 0
_0808DFE0: .4byte gMain
-_0808DFE4: .4byte gUnknown_20397B4
+_0808DFE4: .4byte sInPartyMenu
_0808DFE8:
- ldr r0, _0808DFF4 @ =gUnknown_20397B0
+ ldr r0, _0808DFF4 @ =sPSSData
ldr r1, [r0]
movs r0, 0x7
strb r0, [r1]
b _0808E0AE
.align 2, 0
-_0808DFF4: .4byte gUnknown_20397B0
+_0808DFF4: .4byte sPSSData
_0808DFF8:
bl sub_8090A60
lsls r0, 24
@@ -4850,7 +4850,7 @@ _0808E062:
_0808E070:
bl sub_808FBA4
_0808E074:
- ldr r0, _0808E084 @ =gUnknown_20397B0
+ ldr r0, _0808E084 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
@@ -4858,15 +4858,15 @@ _0808E074:
b _0808E0AE
.align 2, 0
_0808E080: .4byte gMain
-_0808E084: .4byte gUnknown_20397B0
+_0808E084: .4byte sPSSData
_0808E088:
- ldr r0, _0808E094 @ =gUnknown_20397B0
+ ldr r0, _0808E094 @ =sPSSData
ldr r1, [r0]
movs r0, 0x8
strb r0, [r1]
b _0808E0AE
.align 2, 0
-_0808E094: .4byte gUnknown_20397B0
+_0808E094: .4byte sPSSData
_0808E098:
ldr r0, _0808E0B4 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -4888,7 +4888,7 @@ _0808E0B8: .4byte sub_808D2BC
thumb_func_start sub_808E0BC
sub_808E0BC: @ 808E0BC
push {r4,lr}
- ldr r4, _0808E0D0 @ =gUnknown_20397B0
+ ldr r4, _0808E0D0 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -4897,7 +4897,7 @@ sub_808E0BC: @ 808E0BC
beq _0808E108
b _0808E130
.align 2, 0
-_0808E0D0: .4byte gUnknown_20397B0
+_0808E0D0: .4byte sPSSData
_0808E0D4:
movs r0, 0xC
bl sub_808FBA4
@@ -4949,7 +4949,7 @@ _0808E13C: .4byte sub_808D2BC
thumb_func_start sub_808E140
sub_808E140: @ 808E140
push {r4,r5,lr}
- ldr r5, _0808E158 @ =gUnknown_20397B0
+ ldr r5, _0808E158 @ =sPSSData
ldr r0, [r5]
ldrb r1, [r0]
cmp r1, 0x1
@@ -4960,7 +4960,7 @@ sub_808E140: @ 808E140
beq _0808E166
b _0808E1EA
.align 2, 0
-_0808E158: .4byte gUnknown_20397B0
+_0808E158: .4byte sPSSData
_0808E15C:
cmp r1, 0x2
beq _0808E1B4
@@ -4988,7 +4988,7 @@ _0808E188: .4byte sub_808E6D0
_0808E18C:
movs r0, 0x2
bl sub_8094D14
- ldr r0, _0808E1B0 @ =gUnknown_20397B4
+ ldr r0, _0808E1B0 @ =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -5001,7 +5001,7 @@ _0808E18C:
bl sub_8095D84
b _0808E1D0
.align 2, 0
-_0808E1B0: .4byte gUnknown_20397B4
+_0808E1B0: .4byte sInPartyMenu
_0808E1B4:
bl sub_809610C
lsls r0, 24
@@ -5036,7 +5036,7 @@ _0808E1F0: .4byte sub_808D2BC
thumb_func_start sub_808E1F4
sub_808E1F4: @ 808E1F4
push {r4,lr}
- ldr r0, _0808E20C @ =gUnknown_20397B0
+ ldr r0, _0808E20C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x4
@@ -5047,7 +5047,7 @@ sub_808E1F4: @ 808E1F4
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E20C: .4byte gUnknown_20397B0
+_0808E20C: .4byte sPSSData
_0808E210: .4byte _0808E214
.align 2, 0
_0808E214:
@@ -5059,7 +5059,7 @@ _0808E214:
_0808E228:
movs r0, 0x2
bl sub_8094D14
- ldr r0, _0808E24C @ =gUnknown_20397B4
+ ldr r0, _0808E24C @ =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -5072,7 +5072,7 @@ _0808E228:
bl sub_8095F74
b _0808E280
.align 2, 0
-_0808E24C: .4byte gUnknown_20397B4
+_0808E24C: .4byte sInPartyMenu
_0808E250:
bl sub_809610C
lsls r0, 24
@@ -5095,7 +5095,7 @@ _0808E270:
_0808E27C:
bl sub_808FD20
_0808E280:
- ldr r0, _0808E290 @ =gUnknown_20397B0
+ ldr r0, _0808E290 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
@@ -5103,7 +5103,7 @@ _0808E280:
b _0808E2A4
.align 2, 0
_0808E28C: .4byte gMain
-_0808E290: .4byte gUnknown_20397B0
+_0808E290: .4byte sPSSData
_0808E294:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -5122,7 +5122,7 @@ _0808E2AC: .4byte sub_808D2BC
thumb_func_start sub_808E2B0
sub_808E2B0: @ 808E2B0
push {r4,r5,lr}
- ldr r1, _0808E2CC @ =gUnknown_20397B0
+ ldr r1, _0808E2CC @ =sPSSData
ldr r0, [r1]
ldrb r0, [r0]
adds r5, r1, 0
@@ -5136,7 +5136,7 @@ _0808E2C0:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E2CC: .4byte gUnknown_20397B0
+_0808E2CC: .4byte sPSSData
_0808E2D0: .4byte _0808E2D4
.align 2, 0
_0808E2D4:
@@ -5168,7 +5168,7 @@ _0808E310: .4byte 0x00000ce2
_0808E314:
movs r0, 0x5
bl PlaySE
- ldr r0, _0808E33C @ =gUnknown_20397B4
+ ldr r0, _0808E33C @ =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -5184,7 +5184,7 @@ _0808E314:
strb r0, [r1]
b _0808E3BA
.align 2, 0
-_0808E33C: .4byte gUnknown_20397B4
+_0808E33C: .4byte sInPartyMenu
_0808E340:
bl sub_809610C
lsls r0, 24
@@ -5192,13 +5192,13 @@ _0808E340:
bne _0808E3BA
movs r0, 0x19
bl sub_808FBA4
- ldr r0, _0808E35C @ =gUnknown_20397B0
+ ldr r0, _0808E35C @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1]
b _0808E3BA
.align 2, 0
-_0808E35C: .4byte gUnknown_20397B0
+_0808E35C: .4byte sPSSData
_0808E360:
ldr r0, _0808E384 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -5209,14 +5209,14 @@ _0808E360:
bl sub_808FD20
bl sub_8092F54
bl sub_808F49C
- ldr r0, _0808E388 @ =gUnknown_20397B0
+ ldr r0, _0808E388 @ =sPSSData
ldr r1, [r0]
movs r0, 0x4
strb r0, [r1]
b _0808E3BA
.align 2, 0
_0808E384: .4byte gMain
-_0808E388: .4byte gUnknown_20397B0
+_0808E388: .4byte sPSSData
_0808E38C:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -5249,7 +5249,7 @@ _0808E3C4: .4byte sub_808D2BC
thumb_func_start sub_808E3C8
sub_808E3C8: @ 808E3C8
push {r4,lr}
- ldr r1, _0808E3E0 @ =gUnknown_20397B0
+ ldr r1, _0808E3E0 @ =sPSSData
ldr r0, [r1]
ldrb r0, [r0]
adds r4, r1, 0
@@ -5261,7 +5261,7 @@ sub_808E3C8: @ 808E3C8
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E3E0: .4byte gUnknown_20397B0
+_0808E3E0: .4byte sPSSData
_0808E3E4: .4byte _0808E3E8
.align 2, 0
_0808E3E8:
@@ -5293,7 +5293,7 @@ _0808E424: .4byte sub_808E6D0
_0808E428:
movs r0, 0x2
bl sub_8094D14
- ldr r0, _0808E44C @ =gUnknown_20397B4
+ ldr r0, _0808E44C @ =sInPartyMenu
ldrb r0, [r0]
negs r4, r0
orrs r4, r0
@@ -5306,7 +5306,7 @@ _0808E428:
bl sub_8095EA0
b _0808E480
.align 2, 0
-_0808E44C: .4byte gUnknown_20397B4
+_0808E44C: .4byte sInPartyMenu
_0808E450:
bl sub_809610C
lsls r0, 24
@@ -5328,7 +5328,7 @@ _0808E470:
beq _0808E4A4
bl sub_808FD20
_0808E480:
- ldr r0, _0808E490 @ =gUnknown_20397B0
+ ldr r0, _0808E490 @ =sPSSData
ldr r1, [r0]
_0808E484:
ldrb r0, [r1]
@@ -5337,7 +5337,7 @@ _0808E484:
b _0808E4A4
.align 2, 0
_0808E48C: .4byte gMain
-_0808E490: .4byte gUnknown_20397B0
+_0808E490: .4byte sPSSData
_0808E494:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -5356,7 +5356,7 @@ _0808E4AC: .4byte sub_808D2BC
thumb_func_start sub_808E4B0
sub_808E4B0: @ 808E4B0
push {lr}
- ldr r0, _0808E4C8 @ =gUnknown_20397B0
+ ldr r0, _0808E4C8 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x6
@@ -5367,7 +5367,7 @@ sub_808E4B0: @ 808E4B0
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E4C8: .4byte gUnknown_20397B0
+_0808E4C8: .4byte sPSSData
_0808E4CC: .4byte _0808E4D0
.align 2, 0
_0808E4D0:
@@ -5416,14 +5416,14 @@ _0808E534:
cmp r0, 0
bne _0808E55C
_0808E53A:
- ldr r0, _0808E548 @ =gUnknown_20397B0
+ ldr r0, _0808E548 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0808E55C
.align 2, 0
-_0808E548: .4byte gUnknown_20397B0
+_0808E548: .4byte sPSSData
_0808E54C:
bl IsDma3ManagerBusyWithBgCopy
lsls r0, 24
@@ -5441,7 +5441,7 @@ _0808E560: .4byte sub_808D2BC
thumb_func_start sub_808E564
sub_808E564: @ 808E564
push {r4,lr}
- ldr r0, _0808E57C @ =gUnknown_20397B0
+ ldr r0, _0808E57C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x5
@@ -5454,7 +5454,7 @@ _0808E572:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E57C: .4byte gUnknown_20397B0
+_0808E57C: .4byte sPSSData
_0808E580: .4byte _0808E584
.align 2, 0
_0808E584:
@@ -5471,13 +5471,13 @@ _0808E59C:
bl sub_808FBA4
movs r0, 0
bl sub_808FCE8
- ldr r0, _0808E5B8 @ =gUnknown_20397B0
+ ldr r0, _0808E5B8 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808E67C
.align 2, 0
-_0808E5B8: .4byte gUnknown_20397B0
+_0808E5B8: .4byte sPSSData
_0808E5BC:
bl Menu_ProcessInputNoWrapClearOnChoose
lsls r0, 24
@@ -5498,7 +5498,7 @@ _0808E5DA:
bl sub_808FD20
b _0808E660
_0808E5E0:
- ldr r4, _0808E604 @ =gUnknown_20397B0
+ ldr r4, _0808E604 @ =sPSSData
ldr r0, [r4]
ldr r1, _0808E608 @ =0x00002224
adds r0, r1
@@ -5515,7 +5515,7 @@ _0808E5E0:
strb r0, [r1]
b _0808E67C
.align 2, 0
-_0808E604: .4byte gUnknown_20397B0
+_0808E604: .4byte sPSSData
_0808E608: .4byte 0x00002224
_0808E60C:
movs r0, 0x1A
@@ -5532,23 +5532,23 @@ _0808E61A:
cmp r0, 0
beq _0808E67C
bl sub_808FD20
- ldr r0, _0808E638 @ =gUnknown_20397B0
+ ldr r0, _0808E638 @ =sPSSData
ldr r1, [r0]
movs r0, 0x5
strb r0, [r1]
b _0808E67C
.align 2, 0
_0808E634: .4byte gMain
-_0808E638: .4byte gUnknown_20397B0
+_0808E638: .4byte sPSSData
_0808E63C:
bl sub_8096088
- ldr r0, _0808E64C @ =gUnknown_20397B0
+ ldr r0, _0808E64C @ =sPSSData
ldr r1, [r0]
movs r0, 0x4
strb r0, [r1]
b _0808E67C
.align 2, 0
-_0808E64C: .4byte gUnknown_20397B0
+_0808E64C: .4byte sPSSData
_0808E650:
bl sub_809610C
lsls r0, 24
@@ -5580,7 +5580,7 @@ _0808E684: .4byte sub_808D2BC
thumb_func_start sub_808E688
sub_808E688: @ 808E688
push {r4,lr}
- ldr r4, _0808E69C @ =gUnknown_20397B0
+ ldr r4, _0808E69C @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0
@@ -5589,7 +5589,7 @@ sub_808E688: @ 808E688
beq _0808E6B2
b _0808E6C6
.align 2, 0
-_0808E69C: .4byte gUnknown_20397B0
+_0808E69C: .4byte sPSSData
_0808E6A0:
bl CompactPartySlots
bl sub_80909F4
@@ -5617,7 +5617,7 @@ _0808E6CC: .4byte sub_808D2BC
thumb_func_start sub_808E6D0
sub_808E6D0: @ 808E6D0
push {r4,lr}
- ldr r4, _0808E6E8 @ =gUnknown_20397B0
+ ldr r4, _0808E6E8 @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0x1
@@ -5628,7 +5628,7 @@ sub_808E6D0: @ 808E6D0
beq _0808E6F6
b _0808E738
.align 2, 0
-_0808E6E8: .4byte gUnknown_20397B0
+_0808E6E8: .4byte sPSSData
_0808E6EC:
cmp r0, 0x2
beq _0808E70A
@@ -5679,7 +5679,7 @@ _0808E740: .4byte sub_808D2BC
thumb_func_start box_related
box_related: @ 808E744
push {r4,lr}
- ldr r4, _0808E75C @ =gUnknown_20397B0
+ ldr r4, _0808E75C @ =sPSSData
ldr r0, [r4]
ldrb r0, [r0]
cmp r0, 0x1
@@ -5690,7 +5690,7 @@ box_related: @ 808E744
beq _0808E766
b _0808E830
.align 2, 0
-_0808E75C: .4byte gUnknown_20397B0
+_0808E75C: .4byte sPSSData
_0808E760:
cmp r0, 0x2
beq _0808E78C
@@ -5785,7 +5785,7 @@ _0808E838: .4byte sub_808E9A0
thumb_func_start sub_808E83C
sub_808E83C: @ 808E83C
push {r4,r5,lr}
- ldr r0, _0808E854 @ =gUnknown_20397B0
+ ldr r0, _0808E854 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x5
@@ -5798,7 +5798,7 @@ _0808E84A:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808E854: .4byte gUnknown_20397B0
+_0808E854: .4byte sPSSData
_0808E858: .4byte _0808E85C
.align 2, 0
_0808E85C:
@@ -5812,11 +5812,11 @@ _0808E874:
bl sub_808FD34
movs r0, 0x2
bl sub_808FBA4
- ldr r0, _0808E884 @ =gUnknown_20397B0
+ ldr r0, _0808E884 @ =sPSSData
ldr r1, [r0]
b _0808E976
.align 2, 0
-_0808E884: .4byte gUnknown_20397B0
+_0808E884: .4byte sPSSData
_0808E888:
bl sub_8094F90
lsls r0, 24
@@ -5824,14 +5824,14 @@ _0808E888:
beq _0808E894
b _0808E994
_0808E894:
- ldr r0, _0808E89C @ =gUnknown_20397B0
+ ldr r0, _0808E89C @ =sPSSData
ldr r1, [r0]
b _0808E976
.align 2, 0
-_0808E89C: .4byte gUnknown_20397B0
+_0808E89C: .4byte sPSSData
_0808E8A0:
bl sub_8094F94
- ldr r5, _0808E8CC @ =gUnknown_20397B0
+ ldr r5, _0808E8CC @ =sPSSData
ldr r1, [r5]
ldr r4, _0808E8D0 @ =0x0000078e
adds r1, r4
@@ -5849,7 +5849,7 @@ _0808E8A0:
bl add_to_c3_somehow
b _0808E994
.align 2, 0
-_0808E8CC: .4byte gUnknown_20397B0
+_0808E8CC: .4byte sPSSData
_0808E8D0: .4byte 0x0000078e
_0808E8D4: .4byte sub_808D2BC
_0808E8D8:
@@ -5873,7 +5873,7 @@ _0808E8FA:
lsls r0, 24
cmp r0, 0
bne _0808E994
- ldr r4, _0808E91C @ =gUnknown_20397B0
+ ldr r4, _0808E91C @ =sPSSData
ldr r0, [r4]
ldr r1, _0808E920 @ =0x0000078e
adds r0, r1
@@ -5883,11 +5883,11 @@ _0808E8FA:
bl sub_808FBA4
b _0808E974
.align 2, 0
-_0808E91C: .4byte gUnknown_20397B0
+_0808E91C: .4byte sPSSData
_0808E920: .4byte 0x0000078e
_0808E924:
bl sub_8094F94
- ldr r4, _0808E954 @ =gUnknown_20397B0
+ ldr r4, _0808E954 @ =sPSSData
ldr r1, [r4]
movs r5, 0xF2
lsls r5, 3
@@ -5908,7 +5908,7 @@ _0808E924:
strb r0, [r1]
b _0808E994
.align 2, 0
-_0808E954: .4byte gUnknown_20397B0
+_0808E954: .4byte sPSSData
_0808E958:
movs r0, 0x5
bl PlaySE
@@ -5949,7 +5949,7 @@ _0808E99C: .4byte sub_808D2BC
sub_808E9A0: @ 808E9A0
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, _0808E9B8 @ =gUnknown_20397B0
+ ldr r5, _0808E9B8 @ =sPSSData
ldr r0, [r5]
ldrb r4, [r0]
cmp r4, 0x1
@@ -5960,7 +5960,7 @@ sub_808E9A0: @ 808E9A0
beq _0808E9C6
b _0808EA80
.align 2, 0
-_0808E9B8: .4byte gUnknown_20397B0
+_0808E9B8: .4byte sPSSData
_0808E9BC:
cmp r4, 0x2
beq _0808EA4C
@@ -6062,7 +6062,7 @@ _0808EA8C: .4byte sub_808D2BC
sub_808EA90: @ 808EA90
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, _0808EAA4 @ =gUnknown_20397B0
+ ldr r5, _0808EAA4 @ =sPSSData
ldr r0, [r5]
ldrb r4, [r0]
cmp r4, 0
@@ -6071,7 +6071,7 @@ sub_808EA90: @ 808EA90
beq _0808EAC6
b _0808EAE0
.align 2, 0
-_0808EAA4: .4byte gUnknown_20397B0
+_0808EAA4: .4byte sPSSData
_0808EAA8:
bl sub_8093630
movs r0, 0x1
@@ -6091,7 +6091,7 @@ _0808EAC6:
lsls r0, 24
cmp r0, 0
bne _0808EAE0
- ldr r0, _0808EAE8 @ =gUnknown_20397B7
+ ldr r0, _0808EAE8 @ =sWhichToReshow
strb r4, [r0]
ldr r1, [r5]
movs r0, 0x2
@@ -6104,7 +6104,7 @@ _0808EAE0:
pop {r0}
bx r0
.align 2, 0
-_0808EAE8: .4byte gUnknown_20397B7
+_0808EAE8: .4byte sWhichToReshow
_0808EAEC: .4byte sub_808EE18
thumb_func_end sub_808EA90
@@ -6112,7 +6112,7 @@ _0808EAEC: .4byte sub_808EE18
sub_808EAF0: @ 808EAF0
push {r4,r5,lr}
sub sp, 0x4
- ldr r5, _0808EB04 @ =gUnknown_20397B0
+ ldr r5, _0808EB04 @ =sPSSData
ldr r0, [r5]
ldrb r4, [r0]
cmp r4, 0
@@ -6121,7 +6121,7 @@ sub_808EAF0: @ 808EAF0
beq _0808EB26
b _0808EB40
.align 2, 0
-_0808EB04: .4byte gUnknown_20397B0
+_0808EB04: .4byte sPSSData
_0808EB08:
bl sub_80936B8
movs r0, 0x1
@@ -6142,7 +6142,7 @@ _0808EB26:
lsrs r1, r0, 24
cmp r1, 0
bne _0808EB40
- ldr r0, _0808EB48 @ =gUnknown_20397B7
+ ldr r0, _0808EB48 @ =sWhichToReshow
strb r1, [r0]
ldr r0, [r5]
strb r4, [r0, 0x2]
@@ -6154,7 +6154,7 @@ _0808EB40:
pop {r0}
bx r0
.align 2, 0
-_0808EB48: .4byte gUnknown_20397B7
+_0808EB48: .4byte sWhichToReshow
_0808EB4C: .4byte sub_808EE18
thumb_func_end sub_808EAF0
@@ -6162,7 +6162,7 @@ _0808EB4C: .4byte sub_808EE18
sub_808EB50: @ 808EB50
push {r4,lr}
sub sp, 0x4
- ldr r4, _0808EB64 @ =gUnknown_20397B0
+ ldr r4, _0808EB64 @ =sPSSData
ldr r0, [r4]
ldrb r1, [r0]
cmp r1, 0
@@ -6171,7 +6171,7 @@ sub_808EB50: @ 808EB50
beq _0808EB82
b _0808EB9E
.align 2, 0
-_0808EB64: .4byte gUnknown_20397B0
+_0808EB64: .4byte sPSSData
_0808EB68:
movs r0, 0x1
negs r0, r0
@@ -6190,7 +6190,7 @@ _0808EB82:
lsls r0, 24
cmp r0, 0
bne _0808EB9E
- ldr r1, _0808EBA8 @ =gUnknown_20397B7
+ ldr r1, _0808EBA8 @ =sWhichToReshow
movs r0, 0x2
strb r0, [r1]
ldr r1, [r4]
@@ -6204,14 +6204,14 @@ _0808EB9E:
pop {r0}
bx r0
.align 2, 0
-_0808EBA8: .4byte gUnknown_20397B7
+_0808EBA8: .4byte sWhichToReshow
_0808EBAC: .4byte sub_808EE18
thumb_func_end sub_808EB50
thumb_func_start sub_808EBB0
sub_808EBB0: @ 808EBB0
push {r4,lr}
- ldr r0, _0808EBC8 @ =gUnknown_20397B0
+ ldr r0, _0808EBC8 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x4
@@ -6224,7 +6224,7 @@ _0808EBBE:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808EBC8: .4byte gUnknown_20397B0
+_0808EBC8: .4byte sPSSData
_0808EBCC: .4byte _0808EBD0
.align 2, 0
_0808EBD0:
@@ -6242,13 +6242,13 @@ _0808EBE4:
bl PlaySE
movs r0, 0xF
bl sub_808FBA4
- ldr r0, _0808EC04 @ =gUnknown_20397B0
+ ldr r0, _0808EC04 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808ECD0
.align 2, 0
-_0808EC04: .4byte gUnknown_20397B0
+_0808EC04: .4byte sPSSData
_0808EC08:
bl sub_809616C
lsls r0, 24
@@ -6266,13 +6266,13 @@ _0808EC20:
bl sub_808FBA4
movs r0, 0
bl sub_808FCE8
- ldr r0, _0808EC3C @ =gUnknown_20397B0
+ ldr r0, _0808EC3C @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1]
b _0808ECD0
.align 2, 0
-_0808EC3C: .4byte gUnknown_20397B0
+_0808EC3C: .4byte sPSSData
_0808EC40:
ldr r0, _0808EC50 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -6317,14 +6317,14 @@ _0808EC90:
movs r2, 0x1
bl sub_80A0A70
_0808EC9A:
- ldr r0, _0808ECA8 @ =gUnknown_20397B0
+ ldr r0, _0808ECA8 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0808ECD0
.align 2, 0
-_0808ECA8: .4byte gUnknown_20397B0
+_0808ECA8: .4byte sPSSData
_0808ECAC:
bl sub_80A0AAC
lsls r0, 24
@@ -6335,7 +6335,7 @@ _0808ECAC:
bl CalculatePlayerPartyCount
ldr r1, _0808ECD8 @ =gPlayerPartyCount
strb r0, [r1]
- ldr r0, _0808ECDC @ =gUnknown_20397B0
+ ldr r0, _0808ECDC @ =sPSSData
ldr r0, [r0]
strb r4, [r0, 0x2]
ldr r0, _0808ECE0 @ =sub_808EE18
@@ -6346,14 +6346,14 @@ _0808ECD0:
bx r0
.align 2, 0
_0808ECD8: .4byte gPlayerPartyCount
-_0808ECDC: .4byte gUnknown_20397B0
+_0808ECDC: .4byte sPSSData
_0808ECE0: .4byte sub_808EE18
thumb_func_end sub_808EBB0
thumb_func_start sub_808ECE4
sub_808ECE4: @ 808ECE4
push {r4,lr}
- ldr r0, _0808ECFC @ =gUnknown_20397B0
+ ldr r0, _0808ECFC @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, 0x4
@@ -6366,7 +6366,7 @@ _0808ECF2:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808ECFC: .4byte gUnknown_20397B0
+_0808ECFC: .4byte sPSSData
_0808ED00: .4byte _0808ED04
.align 2, 0
_0808ED04:
@@ -6384,13 +6384,13 @@ _0808ED18:
bl PlaySE
movs r0, 0xF
bl sub_808FBA4
- ldr r0, _0808ED38 @ =gUnknown_20397B0
+ ldr r0, _0808ED38 @ =sPSSData
ldr r1, [r0]
movs r0, 0x1
strb r0, [r1]
b _0808EE04
.align 2, 0
-_0808ED38: .4byte gUnknown_20397B0
+_0808ED38: .4byte sPSSData
_0808ED3C:
bl sub_809616C
lsls r0, 24
@@ -6408,13 +6408,13 @@ _0808ED54:
bl sub_808FBA4
movs r0, 0
bl sub_808FCE8
- ldr r0, _0808ED70 @ =gUnknown_20397B0
+ ldr r0, _0808ED70 @ =sPSSData
ldr r1, [r0]
movs r0, 0x2
strb r0, [r1]
b _0808EE04
.align 2, 0
-_0808ED70: .4byte gUnknown_20397B0
+_0808ED70: .4byte sPSSData
_0808ED74:
ldr r0, _0808ED84 @ =gMain
ldrh r1, [r0, 0x2E]
@@ -6460,14 +6460,14 @@ _0808EDC4:
movs r2, 0
bl sub_80A0A70
_0808EDCE:
- ldr r0, _0808EDDC @ =gUnknown_20397B0
+ ldr r0, _0808EDDC @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0808EE04
.align 2, 0
-_0808EDDC: .4byte gUnknown_20397B0
+_0808EDDC: .4byte sPSSData
_0808EDE0:
bl sub_80A0AAC
lsls r0, 24
@@ -6478,7 +6478,7 @@ _0808EDE0:
bl CalculatePlayerPartyCount
ldr r1, _0808EE0C @ =gPlayerPartyCount
strb r0, [r1]
- ldr r0, _0808EE10 @ =gUnknown_20397B0
+ ldr r0, _0808EE10 @ =sPSSData
ldr r0, [r0]
strb r4, [r0, 0x2]
ldr r0, _0808EE14 @ =sub_808EE18
@@ -6489,7 +6489,7 @@ _0808EE04:
bx r0
.align 2, 0
_0808EE0C: .4byte gPlayerPartyCount
-_0808EE10: .4byte gUnknown_20397B0
+_0808EE10: .4byte sPSSData
_0808EE14: .4byte sub_808EE18
thumb_func_end sub_808ECE4
@@ -6501,7 +6501,7 @@ sub_808EE18: @ 808EE18
sub sp, 0x8
lsls r0, 24
lsrs r7, r0, 24
- ldr r0, _0808EE44 @ =gUnknown_20397B0
+ ldr r0, _0808EE44 @ =sPSSData
ldr r0, [r0]
ldrb r4, [r0, 0x2]
ldrb r0, [r0, 0x1]
@@ -6516,7 +6516,7 @@ sub_808EE18: @ 808EE18
ldr r1, _0808EE48 @ =gUnknown_20397BA
b _0808EE50
.align 2, 0
-_0808EE44: .4byte gUnknown_20397B0
+_0808EE44: .4byte sPSSData
_0808EE48: .4byte gUnknown_20397BA
_0808EE4C:
ldr r1, _0808EE70 @ =gUnknown_20397BA
@@ -6540,7 +6540,7 @@ _0808EE62:
_0808EE70: .4byte gUnknown_20397BA
_0808EE74: .4byte sub_808C7B4
_0808EE78:
- ldr r0, _0808EEAC @ =gUnknown_20397B0
+ ldr r0, _0808EEAC @ =sPSSData
ldr r1, [r0]
ldr r2, _0808EEB0 @ =0x0000217c
adds r0, r1, r2
@@ -6564,7 +6564,7 @@ _0808EE78:
bl ShowPokemonSummaryScreen
b _0808EEF6
.align 2, 0
-_0808EEAC: .4byte gUnknown_20397B0
+_0808EEAC: .4byte sPSSData
_0808EEB0: .4byte 0x0000217c
_0808EEB4: .4byte 0x0000217a
_0808EEB8: .4byte sub_808CE60
@@ -6618,7 +6618,7 @@ sub_808EF0C: @ 808EF0C
bl sub_8094CC8
lsls r0, 24
lsrs r1, r0, 24
- ldr r0, _0808EF44 @ =gUnknown_20397B4
+ ldr r0, _0808EF44 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808EF4C
@@ -6632,7 +6632,7 @@ sub_808EF0C: @ 808EF0C
b _0808EF56
.align 2, 0
_0808EF40: .4byte gSpecialVar_ItemId
-_0808EF44: .4byte gUnknown_20397B4
+_0808EF44: .4byte sInPartyMenu
_0808EF48: .4byte gPlayerParty
_0808EF4C:
adds r0, r1, 0
@@ -6655,7 +6655,7 @@ sub_808EF68: @ 808EF68
push {r4,lr}
bl sub_80F7B2C
bl sub_80950A4
- ldr r4, _0808EF88 @ =gUnknown_20397B0
+ ldr r4, _0808EF88 @ =sPSSData
ldr r0, [r4]
bl Free
movs r0, 0
@@ -6665,7 +6665,7 @@ sub_808EF68: @ 808EF68
pop {r0}
bx r0
.align 2, 0
-_0808EF88: .4byte gUnknown_20397B0
+_0808EF88: .4byte sPSSData
thumb_func_end sub_808EF68
thumb_func_start sub_808EF8C
@@ -6726,7 +6726,7 @@ sub_808EFE4: @ 808EFE4
movs r3, 0
bl DecompressAndLoadBgGfxUsingHeap
ldr r0, _0808F038 @ =gUnknown_83CE5FC
- ldr r5, _0808F03C @ =gUnknown_20397B0
+ ldr r5, _0808F03C @ =sPSSData
ldr r1, [r5]
ldr r4, _0808F040 @ =0x00005abc
adds r1, r4
@@ -6747,7 +6747,7 @@ sub_808EFE4: @ 808EFE4
_0808F030: .4byte gUnknown_83CEA50
_0808F034: .4byte gUnknown_8E9C438
_0808F038: .4byte gUnknown_83CE5FC
-_0808F03C: .4byte gUnknown_20397B0
+_0808F03C: .4byte sPSSData
_0808F040: .4byte 0x00005abc
thumb_func_end sub_808EFE4
@@ -6797,7 +6797,7 @@ sub_808F078: @ 808F078
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
- ldr r0, _0808F0BC @ =gUnknown_20397B0
+ ldr r0, _0808F0BC @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -6811,7 +6811,7 @@ sub_808F078: @ 808F078
_0808F0B0: .4byte gUnknown_8E9C3F8
_0808F0B4: .4byte gUnknown_8E9C418
_0808F0B8: .4byte gUnknown_83CEA10
-_0808F0BC: .4byte gUnknown_20397B0
+_0808F0BC: .4byte sPSSData
_0808F0C0: .4byte gUnknown_83CE738
_0808F0C4:
ldr r0, _0808F0EC @ =gUnknown_83CE758
@@ -6840,7 +6840,7 @@ sub_808F0F4: @ 808F0F4
movs r0, 0x10
movs r2, 0
bl CreateMonMarkingSprite_AllOff
- ldr r4, _0808F158 @ =gUnknown_20397B0
+ ldr r4, _0808F158 @ =sPSSData
ldr r1, [r4]
movs r3, 0xD9
lsls r3, 4
@@ -6882,7 +6882,7 @@ sub_808F0F4: @ 808F0F4
bx r0
.align 2, 0
_0808F154: .4byte 0x0000dac8
-_0808F158: .4byte gUnknown_20397B0
+_0808F158: .4byte sPSSData
_0808F15C: .4byte 0x00000d9c
_0808F160: .4byte 0x06010000
thumb_func_end sub_808F0F4
@@ -6911,7 +6911,7 @@ _0808F17A:
bl CreateSprite
lsls r0, 24
lsrs r0, 24
- ldr r1, _0808F1C4 @ =gUnknown_20397B0
+ ldr r1, _0808F1C4 @ =sPSSData
ldr r2, [r1]
lsls r1, r4, 2
ldr r3, _0808F1C8 @ =0x00000d94
@@ -6935,7 +6935,7 @@ _0808F17A:
.align 2, 0
_0808F1BC: .4byte gUnknown_83CEA68
_0808F1C0: .4byte gUnknown_83CEBD8
-_0808F1C4: .4byte gUnknown_20397B0
+_0808F1C4: .4byte sPSSData
_0808F1C8: .4byte 0x00000d94
_0808F1CC: .4byte gSprites
thumb_func_end sub_808F164
@@ -6943,7 +6943,7 @@ _0808F1CC: .4byte gSprites
thumb_func_start sub_808F1D0
sub_808F1D0: @ 808F1D0
push {lr}
- ldr r0, _0808F1FC @ =gUnknown_20397B0
+ ldr r0, _0808F1FC @ =sPSSData
ldr r1, [r0]
movs r2, 0xCE
lsls r2, 4
@@ -6960,14 +6960,14 @@ sub_808F1D0: @ 808F1D0
pop {r0}
bx r0
.align 2, 0
-_0808F1FC: .4byte gUnknown_20397B0
+_0808F1FC: .4byte sPSSData
thumb_func_end sub_808F1D0
thumb_func_start BoxSetMosaic
BoxSetMosaic: @ 808F200
push {lr}
bl sub_808F1D0
- ldr r3, _0808F24C @ =gUnknown_20397B0
+ ldr r3, _0808F24C @ =sPSSData
ldr r0, [r3]
ldr r1, _0808F250 @ =0x00002238
adds r0, r1
@@ -7003,14 +7003,14 @@ _0808F248:
pop {r0}
bx r0
.align 2, 0
-_0808F24C: .4byte gUnknown_20397B0
+_0808F24C: .4byte sPSSData
_0808F250: .4byte 0x00002238
_0808F254: .4byte BoxSetMosaic2
thumb_func_end BoxSetMosaic
thumb_func_start sub_808F258
sub_808F258: @ 808F258
- ldr r0, _0808F26C @ =gUnknown_20397B0
+ ldr r0, _0808F26C @ =sPSSData
ldr r0, [r0]
ldr r1, _0808F270 @ =0x00002238
adds r0, r1
@@ -7020,7 +7020,7 @@ sub_808F258: @ 808F258
lsrs r0, 31
bx lr
.align 2, 0
-_0808F26C: .4byte gUnknown_20397B0
+_0808F26C: .4byte sPSSData
_0808F270: .4byte 0x00002238
thumb_func_end sub_808F258
@@ -7069,7 +7069,7 @@ _0808F2B8: .4byte SpriteCallbackDummy
sub_808F2BC: @ 808F2BC
push {r4-r7,lr}
sub sp, 0x28
- ldr r0, _0808F350 @ =gUnknown_20397B0
+ ldr r0, _0808F350 @ =sPSSData
mov r12, r0
ldr r1, [r0]
ldr r4, _0808F354 @ =0x000022bc
@@ -7107,7 +7107,7 @@ _0808F2F6:
cmp r6, r1
bls _0808F2F6
movs r6, 0
- ldr r5, _0808F350 @ =gUnknown_20397B0
+ ldr r5, _0808F350 @ =sPSSData
ldr r4, _0808F358 @ =0x0000223c
movs r2, 0
_0808F310:
@@ -7121,7 +7121,7 @@ _0808F310:
lsrs r6, r0, 16
cmp r6, 0xF
bls _0808F310
- ldr r0, _0808F350 @ =gUnknown_20397B0
+ ldr r0, _0808F350 @ =sPSSData
ldr r0, [r0]
ldr r6, _0808F368 @ =0x00002238
adds r0, r6
@@ -7141,7 +7141,7 @@ _0808F310:
beq _0808F3C8
b _0808F3B4
.align 2, 0
-_0808F350: .4byte gUnknown_20397B0
+_0808F350: .4byte sPSSData
_0808F354: .4byte 0x000022bc
_0808F358: .4byte 0x0000223c
_0808F35C: .4byte 0x0000dac6
@@ -7149,7 +7149,7 @@ _0808F360: .4byte gUnknown_83CEA70
_0808F364: .4byte 0x000007ff
_0808F368: .4byte 0x00002238
_0808F36C:
- ldr r0, _0808F39C @ =gUnknown_20397B0
+ ldr r0, _0808F39C @ =sPSSData
ldr r2, [r0]
ldr r7, _0808F3A0 @ =0x00002238
adds r3, r2, r7
@@ -7174,7 +7174,7 @@ _0808F36C:
str r0, [r2]
b _0808F3C8
.align 2, 0
-_0808F39C: .4byte gUnknown_20397B0
+_0808F39C: .4byte sPSSData
_0808F3A0: .4byte 0x00002238
_0808F3A4: .4byte gSprites
_0808F3A8: .4byte 0x00002232
@@ -7191,7 +7191,7 @@ _0808F3B4:
cmp r1, 0x40
bne _0808F36C
_0808F3C8:
- ldr r0, _0808F3EC @ =gUnknown_20397B0
+ ldr r0, _0808F3EC @ =sPSSData
ldr r0, [r0]
ldr r1, _0808F3F0 @ =0x00002238
adds r0, r1
@@ -7208,7 +7208,7 @@ _0808F3E2:
pop {r0}
bx r0
.align 2, 0
-_0808F3EC: .4byte gUnknown_20397B0
+_0808F3EC: .4byte sPSSData
_0808F3F0: .4byte 0x00002238
_0808F3F4: .4byte 0x0000dac6
thumb_func_end sub_808F2BC
@@ -7219,7 +7219,7 @@ sub_808F3F8: @ 808F3F8
adds r3, r1, 0
lsls r0, 16
lsrs r2, r0, 16
- ldr r6, _0808F468 @ =gUnknown_20397B0
+ ldr r6, _0808F468 @ =sPSSData
ldr r4, [r6]
ldr r7, _0808F46C @ =0x00002238
adds r0, r4, r7
@@ -7268,7 +7268,7 @@ sub_808F3F8: @ 808F3F8
strb r0, [r1]
b _0808F496
.align 2, 0
-_0808F468: .4byte gUnknown_20397B0
+_0808F468: .4byte sPSSData
_0808F46C: .4byte 0x00002238
_0808F470: .4byte gMonFrontPicTable
_0808F474: .4byte 0x000022bc
@@ -7298,7 +7298,7 @@ sub_808F49C: @ 808F49C
movs r0, 0
movs r1, 0x11
bl FillWindowPixelBuffer
- ldr r6, _0808F51C @ =gUnknown_20397B0
+ ldr r6, _0808F51C @ =sPSSData
ldr r2, [r6]
ldrb r0, [r2, 0x1]
cmp r0, 0x3
@@ -7339,7 +7339,7 @@ _0808F4D4:
lsrs r5, r0, 16
cmp r4, 0x2
bls _0808F4BC
- ldr r0, _0808F51C @ =gUnknown_20397B0
+ ldr r0, _0808F51C @ =sPSSData
ldr r2, [r0]
ldr r0, _0808F524 @ =0x00000d61
adds r2, r0
@@ -7355,7 +7355,7 @@ _0808F4D4:
bl AddTextPrinterParameterized
b _0808F57E
.align 2, 0
-_0808F51C: .4byte gUnknown_20397B0
+_0808F51C: .4byte sPSSData
_0808F520: .4byte 0x00000cf5
_0808F524: .4byte 0x00000d61
_0808F528:
@@ -7406,7 +7406,7 @@ _0808F57E:
movs r0, 0
movs r1, 0x2
bl CopyWindowToVram
- ldr r4, _0808F5C4 @ =gUnknown_20397B0
+ ldr r4, _0808F5C4 @ =sPSSData
ldr r1, [r4]
movs r2, 0xCE
lsls r2, 4
@@ -7435,7 +7435,7 @@ _0808F57E:
.align 2, 0
_0808F5BC: .4byte 0x00000d61
_0808F5C0: .4byte 0x00000cf5
-_0808F5C4: .4byte gUnknown_20397B0
+_0808F5C4: .4byte sPSSData
_0808F5C8:
movs r2, 0xD9
lsls r2, 4
@@ -7459,7 +7459,7 @@ _0808F5D8:
sub_808F5E8: @ 808F5E8
push {r4,lr}
sub sp, 0x4
- ldr r0, _0808F634 @ =gUnknown_20397B0
+ ldr r0, _0808F634 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCE
lsls r1, 4
@@ -7476,7 +7476,7 @@ sub_808F5E8: @ 808F5E8
bl sub_80F7CE8
movs r4, 0
_0808F60E:
- ldr r0, _0808F634 @ =gUnknown_20397B0
+ ldr r0, _0808F634 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 2
ldr r2, _0808F638 @ =0x00000d94
@@ -7495,7 +7495,7 @@ _0808F60E:
bls _0808F60E
b _0808F66E
.align 2, 0
-_0808F634: .4byte gUnknown_20397B0
+_0808F634: .4byte sPSSData
_0808F638: .4byte 0x00000d94
_0808F63C:
movs r0, 0x2
@@ -7507,7 +7507,7 @@ _0808F63C:
bl sub_80F7CE8
movs r4, 0
_0808F64E:
- ldr r0, _0808F684 @ =gUnknown_20397B0
+ ldr r0, _0808F684 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 2
ldr r2, _0808F688 @ =0x00000d94
@@ -7532,7 +7532,7 @@ _0808F66E:
pop {r0}
bx r0
.align 2, 0
-_0808F684: .4byte gUnknown_20397B0
+_0808F684: .4byte sPSSData
_0808F688: .4byte 0x00000d94
thumb_func_end sub_808F5E8
@@ -7541,7 +7541,7 @@ sub_808F68C: @ 808F68C
push {r4,lr}
sub sp, 0x4
ldr r0, _0808F704 @ =gUnknown_8E9CAEC
- ldr r4, _0808F708 @ =gUnknown_20397B0
+ ldr r4, _0808F708 @ =sPSSData
ldr r1, [r4]
adds r1, 0xB0
bl LZ77UnCompWram
@@ -7573,7 +7573,7 @@ sub_808F68C: @ 808F68C
movs r2, 0
bl sub_80F7CAC
bl sub_808F9FC
- ldr r0, _0808F714 @ =gUnknown_20397B4
+ ldr r0, _0808F714 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808F718
@@ -7588,10 +7588,10 @@ sub_808F68C: @ 808F68C
b _0808F73A
.align 2, 0
_0808F704: .4byte gUnknown_8E9CAEC
-_0808F708: .4byte gUnknown_20397B0
+_0808F708: .4byte sPSSData
_0808F70C: .4byte gUnknown_8E9C3D8
_0808F710: .4byte gUnknown_83CE778
-_0808F714: .4byte gUnknown_20397B4
+_0808F714: .4byte sInPartyMenu
_0808F718:
movs r0, 0x2
str r0, [sp]
@@ -7609,7 +7609,7 @@ _0808F718:
_0808F73A:
movs r0, 0x1
bl ScheduleBgCopyTilemapToVram
- ldr r0, _0808F754 @ =gUnknown_20397B0
+ ldr r0, _0808F754 @ =sPSSData
ldr r0, [r0]
ldr r1, _0808F758 @ =0x000002c7
adds r0, r1
@@ -7620,14 +7620,14 @@ _0808F73A:
pop {r0}
bx r0
.align 2, 0
-_0808F754: .4byte gUnknown_20397B0
+_0808F754: .4byte sPSSData
_0808F758: .4byte 0x000002c7
thumb_func_end sub_808F68C
thumb_func_start sub_808F75C
sub_808F75C: @ 808F75C
push {lr}
- ldr r0, _0808F788 @ =gUnknown_20397B0
+ ldr r0, _0808F788 @ =sPSSData
ldr r1, [r0]
movs r0, 0xB0
lsls r0, 2
@@ -7647,7 +7647,7 @@ sub_808F75C: @ 808F75C
pop {r0}
bx r0
.align 2, 0
-_0808F788: .4byte gUnknown_20397B0
+_0808F788: .4byte sPSSData
_0808F78C: .4byte 0x000002c2
_0808F790: .4byte 0x000002c5
thumb_func_end sub_808F75C
@@ -7655,7 +7655,7 @@ _0808F790: .4byte 0x000002c5
thumb_func_start sub_808F794
sub_808F794: @ 808F794
push {r4,lr}
- ldr r4, _0808F7F0 @ =gUnknown_20397B0
+ ldr r4, _0808F7F0 @ =sPSSData
ldr r2, [r4]
ldr r1, _0808F7F4 @ =0x000002c5
adds r0, r2, r1
@@ -7696,11 +7696,11 @@ sub_808F794: @ 808F794
movs r0, 0x1
b _0808F804
.align 2, 0
-_0808F7F0: .4byte gUnknown_20397B0
+_0808F7F0: .4byte sPSSData
_0808F7F4: .4byte 0x000002c5
_0808F7F8: .4byte 0x000002c2
_0808F7FC:
- ldr r1, _0808F80C @ =gUnknown_20397B4
+ ldr r1, _0808F80C @ =sInPartyMenu
movs r0, 0x1
strb r0, [r1]
_0808F802:
@@ -7710,13 +7710,13 @@ _0808F804:
pop {r1}
bx r1
.align 2, 0
-_0808F80C: .4byte gUnknown_20397B4
+_0808F80C: .4byte sInPartyMenu
thumb_func_end sub_808F794
thumb_func_start sub_808F810
sub_808F810: @ 808F810
push {r4,lr}
- ldr r4, _0808F844 @ =gUnknown_20397B0
+ ldr r4, _0808F844 @ =sPSSData
ldr r1, [r4]
movs r0, 0xB0
lsls r0, 2
@@ -7741,7 +7741,7 @@ _0808F83C:
pop {r0}
bx r0
.align 2, 0
-_0808F844: .4byte gUnknown_20397B0
+_0808F844: .4byte sPSSData
_0808F848: .4byte 0x000002c2
_0808F84C: .4byte 0x000002c5
thumb_func_end sub_808F810
@@ -7750,7 +7750,7 @@ _0808F84C: .4byte 0x000002c5
sub_808F850: @ 808F850
push {r4,r5,lr}
sub sp, 0x8
- ldr r5, _0808F8C8 @ =gUnknown_20397B0
+ ldr r5, _0808F8C8 @ =sPSSData
ldr r2, [r5]
ldr r1, _0808F8CC @ =0x000002c5
adds r0, r2, r1
@@ -7804,11 +7804,11 @@ sub_808F850: @ 808F850
movs r0, 0x1
b _0808F8FE
.align 2, 0
-_0808F8C8: .4byte gUnknown_20397B0
+_0808F8C8: .4byte sPSSData
_0808F8CC: .4byte 0x000002c5
_0808F8D0: .4byte 0x000002c2
_0808F8D4:
- ldr r0, _0808F908 @ =gUnknown_20397B4
+ ldr r0, _0808F908 @ =sInPartyMenu
movs r1, 0
strb r1, [r0]
bl sub_8090C44
@@ -7831,7 +7831,7 @@ _0808F8FE:
pop {r1}
bx r1
.align 2, 0
-_0808F908: .4byte gUnknown_20397B4
+_0808F908: .4byte sInPartyMenu
thumb_func_end sub_808F850
thumb_func_start sub_808F90C
@@ -7867,7 +7867,7 @@ _0808F934:
thumb_func_start sub_808F948
sub_808F948: @ 808F948
- ldr r2, _0808F968 @ =gUnknown_20397B0
+ ldr r2, _0808F968 @ =sPSSData
ldr r0, [r2]
ldr r1, _0808F96C @ =0x000002c7
adds r0, r1
@@ -7884,7 +7884,7 @@ sub_808F948: @ 808F948
strb r3, [r0]
bx lr
.align 2, 0
-_0808F968: .4byte gUnknown_20397B0
+_0808F968: .4byte sPSSData
_0808F96C: .4byte 0x000002c7
_0808F970: .4byte 0x000002c9
thumb_func_end sub_808F948
@@ -7892,7 +7892,7 @@ _0808F970: .4byte 0x000002c9
thumb_func_start sub_808F974
sub_808F974: @ 808F974
push {lr}
- ldr r0, _0808F994 @ =gUnknown_20397B0
+ ldr r0, _0808F994 @ =sPSSData
ldr r0, [r0]
ldr r2, _0808F998 @ =0x000002c7
adds r1, r0, r2
@@ -7907,14 +7907,14 @@ _0808F98E:
pop {r0}
bx r0
.align 2, 0
-_0808F994: .4byte gUnknown_20397B0
+_0808F994: .4byte sPSSData
_0808F998: .4byte 0x000002c7
thumb_func_end sub_808F974
thumb_func_start sub_808F99C
sub_808F99C: @ 808F99C
push {r4,lr}
- ldr r3, _0808F9F0 @ =gUnknown_20397B0
+ ldr r3, _0808F9F0 @ =sPSSData
ldr r1, [r3]
ldr r2, _0808F9F4 @ =0x000002c7
adds r0, r1, r2
@@ -7956,7 +7956,7 @@ _0808F9E8:
pop {r0}
bx r0
.align 2, 0
-_0808F9F0: .4byte gUnknown_20397B0
+_0808F9F0: .4byte sPSSData
_0808F9F4: .4byte 0x000002c7
_0808F9F8: .4byte 0x000002c9
thumb_func_end sub_808F99C
@@ -8012,7 +8012,7 @@ _0808FA40:
adds r0, r1
lsrs r3, r0, 16
movs r0, 0
- ldr r1, _0808FAA4 @ =gUnknown_20397B0
+ ldr r1, _0808FAA4 @ =sPSSData
mov r12, r1
_0808FA5C:
movs r2, 0
@@ -8050,7 +8050,7 @@ _0808FA68:
.align 2, 0
_0808FA9C: .4byte gUnknown_83CE7D8
_0808FAA0: .4byte gUnknown_83CE7C0
-_0808FAA4: .4byte gUnknown_20397B0
+_0808FAA4: .4byte sPSSData
thumb_func_end sub_808FA30
thumb_func_start sub_808FAA8
@@ -8077,7 +8077,7 @@ sub_808FAA8: @ 808FAA8
thumb_func_start sub_808FAD4
sub_808FAD4: @ 808FAD4
push {lr}
- ldr r0, _0808FAF0 @ =gUnknown_20397B0
+ ldr r0, _0808FAF0 @ =sPSSData
ldr r0, [r0]
ldr r1, _0808FAF4 @ =0x000002c6
adds r0, r1
@@ -8089,14 +8089,14 @@ sub_808FAD4: @ 808FAD4
pop {r0}
bx r0
.align 2, 0
-_0808FAF0: .4byte gUnknown_20397B0
+_0808FAF0: .4byte sPSSData
_0808FAF4: .4byte 0x000002c6
thumb_func_end sub_808FAD4
thumb_func_start sub_808FAF8
sub_808FAF8: @ 808FAF8
push {r4,r5,lr}
- ldr r4, _0808FB14 @ =gUnknown_20397B0
+ ldr r4, _0808FB14 @ =sPSSData
ldr r0, [r4]
ldr r5, _0808FB18 @ =0x000002c6
adds r0, r5
@@ -8109,7 +8109,7 @@ sub_808FAF8: @ 808FAF8
beq _0808FB22
b _0808FB60
.align 2, 0
-_0808FB14: .4byte gUnknown_20397B0
+_0808FB14: .4byte sPSSData
_0808FB18: .4byte 0x000002c6
_0808FB1C:
cmp r0, 0x2
@@ -8216,16 +8216,16 @@ _0808FBD0:
.4byte _0808FC04
.4byte _0808FC1C
_0808FBF0:
- ldr r0, _0808FBFC @ =gUnknown_20397B0
+ ldr r0, _0808FBFC @ =sPSSData
ldr r1, [r0]
ldr r0, _0808FC00 @ =0x00000cea
adds r1, r0
b _0808FC0C
.align 2, 0
-_0808FBFC: .4byte gUnknown_20397B0
+_0808FBFC: .4byte sPSSData
_0808FC00: .4byte 0x00000cea
_0808FC04:
- ldr r0, _0808FC14 @ =gUnknown_20397B0
+ ldr r0, _0808FC14 @ =sPSSData
ldr r1, [r0]
ldr r2, _0808FC18 @ =0x000021d0
adds r1, r2
@@ -8234,14 +8234,14 @@ _0808FC0C:
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
b _0808FC7C
.align 2, 0
-_0808FC14: .4byte gUnknown_20397B0
+_0808FC14: .4byte sPSSData
_0808FC18: .4byte 0x000021d0
_0808FC1C:
bl sub_809616C
lsls r0, 24
cmp r0, 0
beq _0808FC40
- ldr r0, _0808FC38 @ =gUnknown_20397B0
+ ldr r0, _0808FC38 @ =sPSSData
ldr r4, [r0]
ldr r0, _0808FC3C @ =0x000021db
adds r4, r0
@@ -8250,10 +8250,10 @@ _0808FC1C:
adds r0, r4, 0
b _0808FC4C
.align 2, 0
-_0808FC38: .4byte gUnknown_20397B0
+_0808FC38: .4byte sPSSData
_0808FC3C: .4byte 0x000021db
_0808FC40:
- ldr r0, _0808FC54 @ =gUnknown_20397B0
+ ldr r0, _0808FC54 @ =sPSSData
ldr r1, [r0]
ldr r2, _0808FC58 @ =0x000021db
adds r0, r1, r2
@@ -8264,7 +8264,7 @@ _0808FC4C:
adds r2, r0, 0
b _0808FC62
.align 2, 0
-_0808FC54: .4byte gUnknown_20397B0
+_0808FC54: .4byte sPSSData
_0808FC58: .4byte 0x000021db
_0808FC5C: .4byte 0x00000d61
_0808FC60:
@@ -8276,14 +8276,14 @@ _0808FC62:
beq _0808FC60
movs r0, 0xFF
strb r0, [r2]
- ldr r0, _0808FCDC @ =gUnknown_20397B0
+ ldr r0, _0808FCDC @ =sPSSData
ldr r1, [r0]
ldr r0, _0808FCE0 @ =0x000021db
adds r1, r0
movs r0, 0
bl DynamicPlaceholderTextUtil_SetPlaceholderPtr
_0808FC7C:
- ldr r5, _0808FCDC @ =gUnknown_20397B0
+ ldr r5, _0808FCDC @ =sPSSData
ldr r0, [r5]
movs r4, 0x86
lsls r4, 6
@@ -8324,7 +8324,7 @@ _0808FC7C:
pop {r0}
bx r0
.align 2, 0
-_0808FCDC: .4byte gUnknown_20397B0
+_0808FCDC: .4byte sPSSData
_0808FCE0: .4byte 0x000021db
_0808FCE4: .4byte gUnknown_83CEA88
thumb_func_end sub_808FBA4
@@ -8455,11 +8455,11 @@ _0808FDE6:
thumb_func_start sub_808FDF0
sub_808FDF0: @ 808FDF0
- ldr r0, _0808FDF8 @ =gUnknown_20397B5
+ ldr r0, _0808FDF8 @ =sCurrentBoxOption
ldrb r0, [r0]
bx lr
.align 2, 0
-_0808FDF8: .4byte gUnknown_20397B5
+_0808FDF8: .4byte sCurrentBoxOption
thumb_func_end sub_808FDF0
thumb_func_start sub_808FDFC
@@ -8469,7 +8469,7 @@ sub_808FDFC: @ 808FDFC
lsls r0, 24
cmp r0, 0
bne _0808FE38
- ldr r0, _0808FE24 @ =gUnknown_20397B4
+ ldr r0, _0808FE24 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808FE28
@@ -8481,7 +8481,7 @@ sub_808FDFC: @ 808FDFC
bl sub_8095C84
b _0808FE38
.align 2, 0
-_0808FE24: .4byte gUnknown_20397B4
+_0808FE24: .4byte sInPartyMenu
_0808FE28:
bl sub_8094CC8
adds r1, r0, 0
@@ -8512,13 +8512,13 @@ sub_808FE54: @ 808FE54
bl sub_8094D34
lsls r0, 24
lsrs r4, r0, 24
- ldr r0, _0808FE90 @ =gUnknown_20397B0
+ ldr r0, _0808FE90 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCE
lsls r1, 4
adds r0, r1
ldrh r7, [r0]
- ldr r0, _0808FE94 @ =gUnknown_20397B4
+ ldr r0, _0808FE94 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808FE9C
@@ -8534,8 +8534,8 @@ sub_808FE54: @ 808FE54
bl GetMonData
b _0808FEB2
.align 2, 0
-_0808FE90: .4byte gUnknown_20397B0
-_0808FE94: .4byte gUnknown_20397B4
+_0808FE90: .4byte sPSSData
+_0808FE94: .4byte sInPartyMenu
_0808FE98: .4byte gPlayerParty
_0808FE9C:
bl StorageGetCurrentBox
@@ -8549,7 +8549,7 @@ _0808FE9C:
_0808FEB2:
lsls r0, 16
lsrs r3, r0, 16
- ldr r0, _0808FECC @ =gUnknown_20397B0
+ ldr r0, _0808FECC @ =sPSSData
ldr r0, [r0]
ldr r2, _0808FED0 @ =0x00002228
adds r1, r0, r2
@@ -8561,7 +8561,7 @@ _0808FEB2:
beq _0808FEDE
b _0808FF6A
.align 2, 0
-_0808FECC: .4byte gUnknown_20397B0
+_0808FECC: .4byte sPSSData
_0808FED0: .4byte 0x00002228
_0808FED4:
cmp r5, 0x2
@@ -8570,7 +8570,7 @@ _0808FED4:
beq _0808FF58
b _0808FF6A
_0808FEDE:
- ldr r0, _0808FEF0 @ =gUnknown_20397B4
+ ldr r0, _0808FEF0 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808FEF4
@@ -8580,7 +8580,7 @@ _0808FEEA:
movs r2, 0x16
b _0808FF02
.align 2, 0
-_0808FEF0: .4byte gUnknown_20397B4
+_0808FEF0: .4byte sInPartyMenu
_0808FEF4:
cmp r4, 0xE
beq _0808FEEA
@@ -8601,7 +8601,7 @@ _0808FF08:
strb r4, [r1, 0x4]
movs r0, 0xFF
strb r0, [r1, 0x5]
- ldr r0, _0808FF24 @ =gUnknown_20397B4
+ ldr r0, _0808FF24 @ =sInPartyMenu
ldrb r0, [r0]
cmp r0, 0
beq _0808FF28
@@ -8610,7 +8610,7 @@ _0808FF08:
movs r2, 0x19
b _0808FF64
.align 2, 0
-_0808FF24: .4byte gUnknown_20397B4
+_0808FF24: .4byte sInPartyMenu
_0808FF28:
cmp r4, 0xE
bne _0808FF32
@@ -8659,7 +8659,7 @@ _0808FF6A:
thumb_func_start sub_808FF70
sub_808FF70: @ 808FF70
push {r4,lr}
- ldr r4, _0808FFA0 @ =gUnknown_20397B8
+ ldr r4, _0808FFA0 @ =sLastUsedBox
bl StorageGetCurrentBox
ldrb r1, [r4]
lsls r0, 24
@@ -8680,7 +8680,7 @@ _0808FF9A:
pop {r0}
bx r0
.align 2, 0
-_0808FFA0: .4byte gUnknown_20397B8
+_0808FFA0: .4byte sLastUsedBox
_0808FFA4: .4byte 0x00000843
_0808FFA8: .4byte 0x00004037
thumb_func_end sub_808FF70
@@ -8690,7 +8690,7 @@ sub_808FFAC: @ 808FFAC
push {r4-r6,lr}
bl LoadMonIconPalettes
movs r2, 0
- ldr r3, _0809003C @ =gUnknown_20397B0
+ ldr r3, _0809003C @ =sPSSData
ldr r5, _08090040 @ =0x00000b04
movs r4, 0
adds r6, r3, 0
@@ -8706,7 +8706,7 @@ _0808FFBC:
cmp r2, 0x27
bls _0808FFBC
movs r2, 0
- ldr r5, _0809003C @ =gUnknown_20397B0
+ ldr r5, _0809003C @ =sPSSData
ldr r4, _08090044 @ =0x00000b54
movs r3, 0
_0808FFD8:
@@ -8721,7 +8721,7 @@ _0808FFD8:
cmp r2, 0x27
bls _0808FFD8
movs r2, 0
- ldr r5, _0809003C @ =gUnknown_20397B0
+ ldr r5, _0809003C @ =sPSSData
ldr r4, _08090048 @ =0x00000a6c
movs r3, 0
_0808FFF4:
@@ -8736,7 +8736,7 @@ _0808FFF4:
cmp r2, 0x5
bls _0808FFF4
movs r2, 0
- ldr r5, _0809003C @ =gUnknown_20397B0
+ ldr r5, _0809003C @ =sPSSData
ldr r4, _0809004C @ =0x00000a84
movs r3, 0
_08090010:
@@ -8762,7 +8762,7 @@ _08090010:
pop {r0}
bx r0
.align 2, 0
-_0809003C: .4byte gUnknown_20397B0
+_0809003C: .4byte sPSSData
_08090040: .4byte 0x00000b04
_08090044: .4byte 0x00000b54
_08090048: .4byte 0x00000a6c
@@ -8790,7 +8790,7 @@ _08090068:
sub_8090070: @ 8090070
push {r4-r6,lr}
sub sp, 0x8
- ldr r5, _080900C4 @ =gUnknown_20397B0
+ ldr r5, _080900C4 @ =sPSSData
ldr r0, [r5]
ldr r4, _080900C8 @ =0x000020a0
adds r0, r4
@@ -8826,7 +8826,7 @@ sub_8090070: @ 8090070
pop {r0}
bx r0
.align 2, 0
-_080900C4: .4byte gUnknown_20397B0
+_080900C4: .4byte sPSSData
_080900C8: .4byte 0x000020a0
_080900CC: .4byte 0x00000a68
_080900D0: .4byte sub_80911B0
@@ -8888,7 +8888,7 @@ _080900F4:
adds r0, r4, 0
asrs r3, 16
bl sub_80912E0
- ldr r1, _08090154 @ =gUnknown_20397B0
+ ldr r1, _08090154 @ =sPSSData
ldr r1, [r1]
mov r3, r8
lsls r2, r3, 2
@@ -8898,10 +8898,10 @@ _080900F4:
str r0, [r1]
b _0809016C
.align 2, 0
-_08090154: .4byte gUnknown_20397B0
+_08090154: .4byte sPSSData
_08090158: .4byte 0x00000a84
_0809015C:
- ldr r0, _080901E4 @ =gUnknown_20397B0
+ ldr r0, _080901E4 @ =sPSSData
ldr r0, [r0]
mov r2, r8
lsls r1, r2, 2
@@ -8928,7 +8928,7 @@ _0809016C:
lsrs r7, r0, 16
cmp r7, 0x4
bls _080900EE
- ldr r0, _080901E4 @ =gUnknown_20397B0
+ ldr r0, _080901E4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -8944,7 +8944,7 @@ _080901A2:
bl GetBoxMonDataFromAnyBox
cmp r0, 0
bne _080901C8
- ldr r0, _080901E4 @ =gUnknown_20397B0
+ ldr r0, _080901E4 @ =sPSSData
ldr r0, [r0]
lsls r1, r6, 2
ldr r3, _080901E8 @ =0x00000a84
@@ -8972,7 +8972,7 @@ _080901D2:
pop {r0}
bx r0
.align 2, 0
-_080901E4: .4byte gUnknown_20397B0
+_080901E4: .4byte sPSSData
_080901E8: .4byte 0x00000a84
thumb_func_end sub_80900D4
@@ -9033,7 +9033,7 @@ sub_80901EC: @ 80901EC
adds r3, r4, 0
bl sub_80912E0
adds r3, r0, 0
- ldr r0, _08090294 @ =gUnknown_20397B0
+ ldr r0, _08090294 @ =sPSSData
ldr r2, [r0]
lsls r1, r7, 2
ldr r4, _08090298 @ =0x00000a84
@@ -9058,7 +9058,7 @@ _08090286:
pop {r0}
bx r0
.align 2, 0
-_08090294: .4byte gUnknown_20397B0
+_08090294: .4byte sPSSData
_08090298: .4byte 0x00000a84
thumb_func_end sub_80901EC
@@ -9068,7 +9068,7 @@ sub_809029C: @ 809029C
lsls r0, 16
lsrs r3, r0, 16
movs r2, 0
- ldr r7, _080902D4 @ =gUnknown_20397B0
+ ldr r7, _080902D4 @ =sPSSData
ldr r6, _080902D8 @ =0x00000a84
movs r5, 0x1
ldr r4, _080902DC @ =sub_8090324
@@ -9095,7 +9095,7 @@ _080902C4:
pop {r0}
bx r0
.align 2, 0
-_080902D4: .4byte gUnknown_20397B0
+_080902D4: .4byte sPSSData
_080902D8: .4byte 0x00000a84
_080902DC: .4byte sub_8090324
thumb_func_end sub_809029C
@@ -9117,7 +9117,7 @@ sub_80902E0: @ 80902E0
strh r0, [r2, 0x20]
b _08090312
_080902FC:
- ldr r0, _08090318 @ =gUnknown_20397B0
+ ldr r0, _08090318 @ =sPSSData
ldr r1, [r0]
ldr r3, _0809031C @ =0x00000c62
adds r1, r3
@@ -9132,7 +9132,7 @@ _08090312:
pop {r0}
bx r0
.align 2, 0
-_08090318: .4byte gUnknown_20397B0
+_08090318: .4byte sPSSData
_0809031C: .4byte 0x00000c62
_08090320: .4byte SpriteCallbackDummy
thumb_func_end sub_80902E0
@@ -9177,7 +9177,7 @@ sub_809035C: @ 809035C
lsls r0, 24
lsrs r5, r0, 24
movs r6, 0
- ldr r7, _0809039C @ =gUnknown_20397B0
+ ldr r7, _0809039C @ =sPSSData
_08090366:
ldr r0, [r7]
lsls r4, r5, 2
@@ -9207,7 +9207,7 @@ _08090386:
pop {r0}
bx r0
.align 2, 0
-_0809039C: .4byte gUnknown_20397B0
+_0809039C: .4byte sPSSData
_080903A0: .4byte 0x00000a84
thumb_func_end sub_809035C
@@ -9253,7 +9253,7 @@ sub_80903A4: @ 80903A4
movs r3, 0
mov r9, r3
adds r5, r0, 0
- ldr r1, _08090488 @ =gUnknown_20397B0
+ ldr r1, _08090488 @ =sPSSData
ldr r0, [r1]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -9262,7 +9262,7 @@ sub_80903A4: @ 80903A4
lsls r2, 16
mov r10, r2
_08090404:
- ldr r6, _08090488 @ =gUnknown_20397B0
+ ldr r6, _08090488 @ =sPSSData
ldr r2, [r6]
lsls r0, r5, 1
ldr r3, _0809048C @ =0x00000ba4
@@ -9288,7 +9288,7 @@ _08090404:
asrs r2, r6, 16
bl sub_80912E0
adds r2, r0, 0
- ldr r1, _08090488 @ =gUnknown_20397B0
+ ldr r1, _08090488 @ =sPSSData
ldr r0, [r1]
ldr r3, _08090490 @ =0x00000a84
adds r0, r3
@@ -9329,7 +9329,7 @@ _08090470:
bge _08090404
b _08090550
.align 2, 0
-_08090488: .4byte gUnknown_20397B0
+_08090488: .4byte sPSSData
_0809048C: .4byte 0x00000ba4
_08090490: .4byte 0x00000a84
_08090494: .4byte sub_80902E0
@@ -9452,7 +9452,7 @@ sub_8090574: @ 8090574
lsrs r0, 24
lsls r4, 24
lsrs r4, 24
- ldr r6, _080905D0 @ =gUnknown_20397B0
+ ldr r6, _080905D0 @ =sPSSData
ldr r1, [r6]
ldr r2, _080905D4 @ =0x00000c66
adds r1, r2
@@ -9492,7 +9492,7 @@ sub_8090574: @ 8090574
movs r1, 0
b _080905F4
.align 2, 0
-_080905D0: .4byte gUnknown_20397B0
+_080905D0: .4byte sPSSData
_080905D4: .4byte 0x00000c66
_080905D8: .4byte 0x00000c67
_080905DC: .4byte 0x00000c65
@@ -9506,7 +9506,7 @@ _080905EC:
movs r1, 0x5
_080905F4:
strb r1, [r0]
- ldr r0, _08090624 @ =gUnknown_20397B0
+ ldr r0, _08090624 @ =sPSSData
ldr r2, [r0]
ldr r7, _08090620 @ =0x00000c64
adds r0, r2, r7
@@ -9528,14 +9528,14 @@ _080905F4:
bx r0
.align 2, 0
_08090620: .4byte 0x00000c64
-_08090624: .4byte gUnknown_20397B0
+_08090624: .4byte sPSSData
_08090628: .4byte 0x00000c5e
thumb_func_end sub_8090574
thumb_func_start sub_809062C
sub_809062C: @ 809062C
push {r4-r6,lr}
- ldr r5, _08090658 @ =gUnknown_20397B0
+ ldr r5, _08090658 @ =sPSSData
ldr r0, [r5]
ldr r4, _0809065C @ =0x00000c5c
adds r1, r0, r4
@@ -9557,7 +9557,7 @@ _08090640:
beq _0809066C
b _08090782
.align 2, 0
-_08090658: .4byte gUnknown_20397B0
+_08090658: .4byte sPSSData
_0809065C: .4byte 0x00000c5c
_08090660: .4byte 0x00000c66
_08090664:
@@ -9653,7 +9653,7 @@ _0809070C:
cmp r0, 0
bne _08090740
_08090718:
- ldr r0, _08090738 @ =gUnknown_20397B0
+ ldr r0, _08090738 @ =sPSSData
ldr r1, [r0]
ldr r2, _0809073C @ =0x00000c66
adds r1, r2
@@ -9666,10 +9666,10 @@ _08090728: .4byte 0x00000c5e
_0809072C: .4byte 0x00000c64
_08090730: .4byte 0x00000c62
_08090734: .4byte 0x00000c65
-_08090738: .4byte gUnknown_20397B0
+_08090738: .4byte sPSSData
_0809073C: .4byte 0x00000c66
_08090740:
- ldr r3, _08090760 @ =gUnknown_20397B0
+ ldr r3, _08090760 @ =sPSSData
ldr r0, [r3]
ldr r6, _08090764 @ =0x00000c64
adds r1, r0, r6
@@ -9686,7 +9686,7 @@ _08090740:
strb r2, [r0]
b _0809078C
.align 2, 0
-_08090760: .4byte gUnknown_20397B0
+_08090760: .4byte sPSSData
_08090764: .4byte 0x00000c64
_08090768: .4byte 0x00000c65
_0809076C: .4byte 0x00000c66
@@ -9723,7 +9723,7 @@ sub_8090794: @ 8090794
lsrs r6, r0, 24
movs r5, 0
movs r0, 0
- ldr r1, _08090810 @ =gUnknown_20397B0
+ ldr r1, _08090810 @ =sPSSData
mov r9, r1
_080907A8:
adds r0, 0x1
@@ -9766,7 +9766,7 @@ _080907EA:
mov r0, r8
cmp r0, 0x4
ble _080907A8
- ldr r0, _08090810 @ =gUnknown_20397B0
+ ldr r0, _08090810 @ =sPSSData
ldr r0, [r0]
ldr r1, _08090818 @ =0x00000c58
adds r0, r1
@@ -9778,7 +9778,7 @@ _080907EA:
pop {r0}
bx r0
.align 2, 0
-_08090810: .4byte gUnknown_20397B0
+_08090810: .4byte sPSSData
_08090814: .4byte 0x00000ba4
_08090818: .4byte 0x00000c58
thumb_func_end sub_8090794
@@ -9787,7 +9787,7 @@ _08090818: .4byte 0x00000c58
sub_809081C: @ 809081C
push {r4,r5,lr}
lsls r0, 24
- ldr r5, _08090848 @ =gUnknown_20397B0
+ ldr r5, _08090848 @ =sPSSData
ldr r1, [r5]
lsrs r4, r0, 22
ldr r0, _0809084C @ =0x00000a84
@@ -9808,7 +9808,7 @@ _08090842:
pop {r0}
bx r0
.align 2, 0
-_08090848: .4byte gUnknown_20397B0
+_08090848: .4byte sPSSData
_0809084C: .4byte 0x00000a84
thumb_func_end sub_809081C
@@ -9818,7 +9818,7 @@ sub_8090850: @ 8090850
lsls r0, 24
lsls r1, 24
lsrs r2, r1, 24
- ldr r1, _08090884 @ =gUnknown_20397B0
+ ldr r1, _08090884 @ =sPSSData
ldr r1, [r1]
lsrs r0, 22
ldr r3, _08090888 @ =0x00000a84
@@ -9841,7 +9841,7 @@ _0809087E:
pop {r0}
bx r0
.align 2, 0
-_08090884: .4byte gUnknown_20397B0
+_08090884: .4byte sPSSData
_08090888: .4byte 0x00000a84
thumb_func_end sub_8090850
@@ -9872,7 +9872,7 @@ sub_809088C: @ 809088C
movs r2, 0x68
movs r3, 0x40
bl sub_80912E0
- ldr r1, _08090930 @ =gUnknown_20397B0
+ ldr r1, _08090930 @ =sPSSData
ldr r1, [r1]
ldr r2, _08090934 @ =0x00000a6c
adds r1, r2
@@ -9911,7 +9911,7 @@ _080908D2:
adds r0, r5, 0
movs r2, 0x98
bl sub_80912E0
- ldr r1, _08090930 @ =gUnknown_20397B0
+ ldr r1, _08090930 @ =sPSSData
ldr r1, [r1]
lsls r2, r6, 2
ldr r3, _08090934 @ =0x00000a6c
@@ -9924,10 +9924,10 @@ _080908D2:
b _08090946
.align 2, 0
_0809092C: .4byte gPlayerParty
-_08090930: .4byte gUnknown_20397B0
+_08090930: .4byte sPSSData
_08090934: .4byte 0x00000a6c
_08090938:
- ldr r0, _080909E8 @ =gUnknown_20397B0
+ ldr r0, _080909E8 @ =sPSSData
ldr r0, [r0]
lsls r1, r6, 2
ldr r2, _080909EC @ =0x00000a6c
@@ -9940,7 +9940,7 @@ _08090946:
lsrs r6, r0, 16
cmp r6, 0x5
bls _080908D2
- ldr r3, _080909E8 @ =gUnknown_20397B0
+ ldr r3, _080909E8 @ =sPSSData
mov r0, r8
cmp r0, 0
bne _0809098A
@@ -10020,7 +10020,7 @@ _080909DA:
pop {r0}
bx r0
.align 2, 0
-_080909E8: .4byte gUnknown_20397B0
+_080909E8: .4byte sPSSData
_080909EC: .4byte 0x00000a6c
_080909F0: .4byte gPlayerParty
thumb_func_end sub_809088C
@@ -10029,7 +10029,7 @@ _080909F0: .4byte gPlayerParty
sub_80909F4: @ 80909F4
push {r4-r7,lr}
sub sp, 0x4
- ldr r0, _08090A54 @ =gUnknown_20397B0
+ ldr r0, _08090A54 @ =sPSSData
ldr r1, [r0]
ldr r2, _08090A58 @ =0x00000c5a
adds r1, r2
@@ -10078,21 +10078,21 @@ _08090A42:
pop {r0}
bx r0
.align 2, 0
-_08090A54: .4byte gUnknown_20397B0
+_08090A54: .4byte sPSSData
_08090A58: .4byte 0x00000c5a
_08090A5C: .4byte 0x00000a6c
thumb_func_end sub_80909F4
thumb_func_start sub_8090A60
sub_8090A60: @ 8090A60
- ldr r0, _08090A6C @ =gUnknown_20397B0
+ ldr r0, _08090A6C @ =sPSSData
ldr r0, [r0]
ldr r1, _08090A70 @ =0x00000c5a
adds r0, r1
ldrb r0, [r0]
bx lr
.align 2, 0
-_08090A6C: .4byte gUnknown_20397B0
+_08090A6C: .4byte sPSSData
_08090A70: .4byte 0x00000c5a
thumb_func_end sub_8090A60
@@ -10206,7 +10206,7 @@ _08090B32:
strh r0, [r3, 0x22]
ldr r0, _08090B5C @ =SpriteCallbackDummy
str r0, [r3, 0x1C]
- ldr r0, _08090B60 @ =gUnknown_20397B0
+ ldr r0, _08090B60 @ =sPSSData
ldr r2, [r0]
movs r0, 0x30
ldrsh r1, [r3, r0]
@@ -10226,7 +10226,7 @@ _08090B54:
bx r0
.align 2, 0
_08090B5C: .4byte SpriteCallbackDummy
-_08090B60: .4byte gUnknown_20397B0
+_08090B60: .4byte sPSSData
_08090B64: .4byte 0x00000a6c
_08090B68: .4byte 0x00000c5a
thumb_func_end sub_8090AE0
@@ -10234,7 +10234,7 @@ _08090B68: .4byte 0x00000c5a
thumb_func_start sub_8090B6C
sub_8090B6C: @ 8090B6C
push {r4,lr}
- ldr r4, _08090B90 @ =gUnknown_20397B0
+ ldr r4, _08090B90 @ =sPSSData
ldr r0, [r4]
ldr r1, _08090B94 @ =0x00000a68
adds r0, r1
@@ -10252,7 +10252,7 @@ _08090B8A:
pop {r0}
bx r0
.align 2, 0
-_08090B90: .4byte gUnknown_20397B0
+_08090B90: .4byte sPSSData
_08090B94: .4byte 0x00000a68
thumb_func_end sub_8090B6C
@@ -10260,7 +10260,7 @@ _08090B94: .4byte 0x00000a68
sub_8090B98: @ 8090B98
push {r4-r6,lr}
movs r3, 0
- ldr r6, _08090BEC @ =gUnknown_20397B0
+ ldr r6, _08090BEC @ =sPSSData
lsls r0, 16
asrs r4, r0, 16
movs r5, 0x5
@@ -10302,7 +10302,7 @@ _08090BA6:
strb r1, [r0]
b _08090BFE
.align 2, 0
-_08090BEC: .4byte gUnknown_20397B0
+_08090BEC: .4byte sPSSData
_08090BF0: .4byte 0x00000a6c
_08090BF4:
adds r2, 0x3E
@@ -10325,7 +10325,7 @@ _08090BFE:
sub_8090C10: @ 8090C10
push {r4,r5,lr}
lsls r0, 24
- ldr r5, _08090C3C @ =gUnknown_20397B0
+ ldr r5, _08090C3C @ =sPSSData
ldr r1, [r5]
lsrs r4, r0, 22
ldr r0, _08090C40 @ =0x00000a6c
@@ -10346,7 +10346,7 @@ _08090C36:
pop {r0}
bx r0
.align 2, 0
-_08090C3C: .4byte gUnknown_20397B0
+_08090C3C: .4byte sPSSData
_08090C40: .4byte 0x00000a6c
thumb_func_end sub_8090C10
@@ -10354,7 +10354,7 @@ _08090C40: .4byte 0x00000a6c
sub_8090C44: @ 8090C44
push {r4-r6,lr}
movs r5, 0
- ldr r6, _08090C7C @ =gUnknown_20397B0
+ ldr r6, _08090C7C @ =sPSSData
_08090C4A:
ldr r0, [r6]
lsls r4, r5, 2
@@ -10381,7 +10381,7 @@ _08090C6A:
pop {r0}
bx r0
.align 2, 0
-_08090C7C: .4byte gUnknown_20397B0
+_08090C7C: .4byte sPSSData
_08090C80: .4byte 0x00000a6c
thumb_func_end sub_8090C44
@@ -10391,7 +10391,7 @@ sub_8090C84: @ 8090C84
lsls r0, 24
lsls r1, 24
lsrs r2, r1, 24
- ldr r1, _08090CB8 @ =gUnknown_20397B0
+ ldr r1, _08090CB8 @ =sPSSData
ldr r1, [r1]
lsrs r0, 22
ldr r3, _08090CBC @ =0x00000a6c
@@ -10414,7 +10414,7 @@ _08090CB2:
pop {r0}
bx r0
.align 2, 0
-_08090CB8: .4byte gUnknown_20397B0
+_08090CB8: .4byte sPSSData
_08090CBC: .4byte 0x00000a6c
thumb_func_end sub_8090C84
@@ -10428,7 +10428,7 @@ sub_8090CC0: @ 8090CC0
adds r5, r1, 0
cmp r4, 0
bne _08090CF0
- ldr r3, _08090CE8 @ =gUnknown_20397B0
+ ldr r3, _08090CE8 @ =sPSSData
ldr r0, [r3]
ldr r5, _08090CEC @ =0x00000a68
adds r2, r0, r5
@@ -10441,12 +10441,12 @@ sub_8090CC0: @ 8090CC0
str r4, [r0]
b _08090D0C
.align 2, 0
-_08090CE8: .4byte gUnknown_20397B0
+_08090CE8: .4byte sPSSData
_08090CEC: .4byte 0x00000a68
_08090CF0:
cmp r4, 0x1
bne _08090D42
- ldr r3, _08090D48 @ =gUnknown_20397B0
+ ldr r3, _08090D48 @ =sPSSData
ldr r0, [r3]
ldr r1, _08090D4C @ =0x00000a68
adds r2, r0, r1
@@ -10490,7 +10490,7 @@ _08090D42:
pop {r0}
bx r0
.align 2, 0
-_08090D48: .4byte gUnknown_20397B0
+_08090D48: .4byte sPSSData
_08090D4C: .4byte 0x00000a68
_08090D50: .4byte 0x00000a84
_08090D54: .4byte sub_80911B0
@@ -10505,7 +10505,7 @@ sub_8090D58: @ 8090D58
lsrs r6, r1, 24
cmp r0, 0xE
bne _08090DA4
- ldr r3, _08090D98 @ =gUnknown_20397B0
+ ldr r3, _08090D98 @ =sPSSData
ldr r1, [r3]
lsls r5, r6, 2
ldr r4, _08090D9C @ =0x00000a6c
@@ -10531,11 +10531,11 @@ sub_8090D58: @ 8090D58
strb r1, [r0]
b _08090DE0
.align 2, 0
-_08090D98: .4byte gUnknown_20397B0
+_08090D98: .4byte sPSSData
_08090D9C: .4byte 0x00000a6c
_08090DA0: .4byte 0x00000a68
_08090DA4:
- ldr r5, _08090DF8 @ =gUnknown_20397B0
+ ldr r5, _08090DF8 @ =sPSSData
ldr r1, [r5]
lsls r4, r6, 2
ldr r3, _08090DFC @ =0x00000a84
@@ -10577,7 +10577,7 @@ _08090DE0:
pop {r0}
bx r0
.align 2, 0
-_08090DF8: .4byte gUnknown_20397B0
+_08090DF8: .4byte sPSSData
_08090DFC: .4byte 0x00000a84
_08090E00: .4byte 0x00000a68
_08090E04: .4byte SpriteCallbackDummy
@@ -10592,7 +10592,7 @@ sub_8090E08: @ 8090E08
lsrs r4, r1, 24
cmp r0, 0xE
bne _08090E30
- ldr r3, _08090E24 @ =gUnknown_20397B0
+ ldr r3, _08090E24 @ =sPSSData
ldr r1, [r3]
ldr r0, _08090E28 @ =0x00000afc
adds r2, r1, r0
@@ -10600,11 +10600,11 @@ sub_8090E08: @ 8090E08
ldr r4, _08090E2C @ =0x00000a6c
b _08090E3C
.align 2, 0
-_08090E24: .4byte gUnknown_20397B0
+_08090E24: .4byte sPSSData
_08090E28: .4byte 0x00000afc
_08090E2C: .4byte 0x00000a6c
_08090E30:
- ldr r3, _08090E5C @ =gUnknown_20397B0
+ ldr r3, _08090E5C @ =sPSSData
ldr r1, [r3]
ldr r0, _08090E60 @ =0x00000afc
adds r2, r1, r0
@@ -10628,7 +10628,7 @@ _08090E3C:
pop {r0}
bx r0
.align 2, 0
-_08090E5C: .4byte gUnknown_20397B0
+_08090E5C: .4byte sPSSData
_08090E60: .4byte 0x00000afc
_08090E64: .4byte 0x00000a84
_08090E68: .4byte 0x00000a68
@@ -10642,7 +10642,7 @@ sub_8090E74: @ 8090E74
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r6, _08090E90 @ =gUnknown_20397B0
+ ldr r6, _08090E90 @ =sPSSData
ldr r0, [r6]
ldr r1, _08090E94 @ =0x00000c59
mov r9, r1
@@ -10653,7 +10653,7 @@ sub_8090E74: @ 8090E74
movs r0, 0
b _08090FA0
.align 2, 0
-_08090E90: .4byte gUnknown_20397B0
+_08090E90: .4byte sPSSData
_08090E94: .4byte 0x00000c59
_08090E98:
adds r0, 0x1
@@ -10828,7 +10828,7 @@ _08090FDE:
beq _0809101C
b _08091072
_08090FE4:
- ldr r3, _08090FF4 @ =gUnknown_20397B0
+ ldr r3, _08090FF4 @ =sPSSData
ldr r1, [r3]
movs r0, 0xB0
lsls r0, 4
@@ -10837,10 +10837,10 @@ _08090FE4:
ldr r4, _08090FF8 @ =0x00000a6c
b _0809100A
.align 2, 0
-_08090FF4: .4byte gUnknown_20397B0
+_08090FF4: .4byte sPSSData
_08090FF8: .4byte 0x00000a6c
_08090FFC:
- ldr r3, _08091014 @ =gUnknown_20397B0
+ ldr r3, _08091014 @ =sPSSData
ldr r1, [r3]
movs r0, 0xB0
lsls r0, 4
@@ -10854,10 +10854,10 @@ _0809100A:
adds r4, r3, 0
b _0809102E
.align 2, 0
-_08091014: .4byte gUnknown_20397B0
+_08091014: .4byte sPSSData
_08091018: .4byte 0x00000a84
_0809101C:
- ldr r0, _08091078 @ =gUnknown_20397B0
+ ldr r0, _08091078 @ =sPSSData
ldr r1, [r0]
movs r3, 0xB0
lsls r3, 4
@@ -10904,7 +10904,7 @@ _08091072:
pop {r0}
bx r0
.align 2, 0
-_08091078: .4byte gUnknown_20397B0
+_08091078: .4byte sPSSData
_0809107C: .4byte 0x00000a68
_08091080: .4byte gUnknown_83CEC38
thumb_func_end sub_8090FC4
@@ -10912,7 +10912,7 @@ _08091080: .4byte gUnknown_83CEC38
thumb_func_start sub_8091084
sub_8091084: @ 8091084
push {lr}
- ldr r0, _080910AC @ =gUnknown_20397B0
+ ldr r0, _080910AC @ =sPSSData
ldr r0, [r0]
movs r1, 0xB0
lsls r1, 4
@@ -10932,7 +10932,7 @@ _080910A6:
movs r0, 0
b _080910C6
.align 2, 0
-_080910AC: .4byte gUnknown_20397B0
+_080910AC: .4byte sPSSData
_080910B0:
adds r0, r1, 0
adds r0, 0x3F
@@ -10954,7 +10954,7 @@ _080910C6:
thumb_func_start sub_80910CC
sub_80910CC: @ 80910CC
push {r4,lr}
- ldr r4, _08091110 @ =gUnknown_20397B0
+ ldr r4, _08091110 @ =sPSSData
ldr r0, [r4]
movs r1, 0xB0
lsls r1, 4
@@ -10986,13 +10986,13 @@ _08091108:
pop {r0}
bx r0
.align 2, 0
-_08091110: .4byte gUnknown_20397B0
+_08091110: .4byte sPSSData
thumb_func_end sub_80910CC
thumb_func_start sub_8091114
sub_8091114: @ 8091114
push {lr}
- ldr r3, _0809114C @ =gUnknown_20397B0
+ ldr r3, _0809114C @ =sPSSData
ldr r0, [r3]
movs r1, 0xB0
lsls r1, 4
@@ -11020,13 +11020,13 @@ _08091148:
pop {r0}
bx r0
.align 2, 0
-_0809114C: .4byte gUnknown_20397B0
+_0809114C: .4byte sPSSData
thumb_func_end sub_8091114
thumb_func_start sub_8091150
sub_8091150: @ 8091150
push {lr}
- ldr r0, _08091168 @ =gUnknown_20397B0
+ ldr r0, _08091168 @ =sPSSData
ldr r0, [r0]
movs r1, 0xB0
lsls r1, 4
@@ -11037,7 +11037,7 @@ sub_8091150: @ 8091150
movs r0, 0
b _08091180
.align 2, 0
-_08091168: .4byte gUnknown_20397B0
+_08091168: .4byte sPSSData
_0809116C:
ldr r0, [r0]
adds r0, 0x3F
@@ -11059,7 +11059,7 @@ _08091180:
sub_8091184: @ 8091184
lsls r0, 24
lsrs r0, 24
- ldr r1, _080911A8 @ =gUnknown_20397B0
+ ldr r1, _080911A8 @ =sPSSData
ldr r1, [r1]
ldr r2, _080911AC @ =0x00000a68
adds r1, r2
@@ -11075,13 +11075,13 @@ sub_8091184: @ 8091184
strb r1, [r3, 0x5]
bx lr
.align 2, 0
-_080911A8: .4byte gUnknown_20397B0
+_080911A8: .4byte sPSSData
_080911AC: .4byte 0x00000a68
thumb_func_end sub_8091184
thumb_func_start sub_80911B0
sub_80911B0: @ 80911B0
- ldr r1, _080911D0 @ =gUnknown_20397B0
+ ldr r1, _080911D0 @ =sPSSData
ldr r1, [r1]
movs r2, 0xCB
lsls r2, 4
@@ -11097,7 +11097,7 @@ sub_80911B0: @ 80911B0
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_080911D0: .4byte gUnknown_20397B0
+_080911D0: .4byte sPSSData
thumb_func_end sub_80911B0
thumb_func_start sub_80911D4
@@ -11106,7 +11106,7 @@ sub_80911D4: @ 80911D4
lsls r0, 16
lsrs r3, r0, 16
movs r4, 0
- ldr r1, _0809123C @ =gUnknown_20397B0
+ ldr r1, _0809123C @ =sPSSData
ldr r0, [r1]
ldr r2, _08091240 @ =0x00000b54
adds r0, r2
@@ -11159,7 +11159,7 @@ _08091234:
ldr r0, _08091244 @ =0x0000ffff
b _0809127A
.align 2, 0
-_0809123C: .4byte gUnknown_20397B0
+_0809123C: .4byte sPSSData
_08091240: .4byte 0x00000b54
_08091244: .4byte 0x0000ffff
_08091248:
@@ -11203,7 +11203,7 @@ sub_8091290: @ 8091290
lsls r0, 16
lsrs r5, r0, 16
movs r3, 0
- ldr r6, _080912C4 @ =gUnknown_20397B0
+ ldr r6, _080912C4 @ =sPSSData
_0809129A:
ldr r1, [r6]
lsls r2, r3, 1
@@ -11226,7 +11226,7 @@ _0809129A:
strh r0, [r4]
b _080912DA
.align 2, 0
-_080912C4: .4byte gUnknown_20397B0
+_080912C4: .4byte sPSSData
_080912C8: .4byte 0x00000b54
_080912CC: .4byte 0x00000b04
_080912D0:
@@ -11432,7 +11432,7 @@ _0809144C:
.4byte _080914D6
.4byte _080914FC
_08091460:
- ldr r1, _0809148C @ =gUnknown_20397B0
+ ldr r1, _0809148C @ =sPSSData
ldr r0, [r1]
ldr r2, _08091490 @ =0x000002d2
adds r0, r2
@@ -11453,7 +11453,7 @@ _08091460:
strh r0, [r4, 0xA]
b _08091508
.align 2, 0
-_0809148C: .4byte gUnknown_20397B0
+_0809148C: .4byte sPSSData
_08091490: .4byte 0x000002d2
_08091494: .4byte 0x00004abc
_08091498:
@@ -11466,7 +11466,7 @@ _08091498:
negs r1, r1
cmp r0, r1
beq _0809150E
- ldr r0, _080914C4 @ =gUnknown_20397B0
+ ldr r0, _080914C4 @ =sPSSData
ldr r1, [r0]
ldr r2, _080914C8 @ =0x00004abc
adds r1, r2
@@ -11476,7 +11476,7 @@ _08091498:
bl ShowBg
b _08091508
.align 2, 0
-_080914C4: .4byte gUnknown_20397B0
+_080914C4: .4byte sPSSData
_080914C8: .4byte 0x00004abc
_080914CC:
ldrb r0, [r4, 0xC]
@@ -11529,7 +11529,7 @@ sub_8091514: @ 8091514
lsls r0, 24
lsrs r0, 24
adds r6, r0, 0
- ldr r5, _080915D8 @ =gUnknown_20397B0
+ ldr r5, _080915D8 @ =sPSSData
ldr r2, [r5]
lsls r0, r6, 24
asrs r3, r0, 24
@@ -11621,7 +11621,7 @@ _0809159A:
pop {r0}
bx r0
.align 2, 0
-_080915D8: .4byte gUnknown_20397B0
+_080915D8: .4byte sPSSData
_080915DC: .4byte 0x000002ce
_080915E0: .4byte 0x000002d3
_080915E4: .4byte 0x000002d6
@@ -11635,7 +11635,7 @@ _080915F8: .4byte 0x00000a63
thumb_func_start sub_80915FC
sub_80915FC: @ 80915FC
push {r4-r6,lr}
- ldr r4, _08091618 @ =gUnknown_20397B0
+ ldr r4, _08091618 @ =sPSSData
ldr r1, [r4]
ldr r5, _0809161C @ =0x00000a63
adds r0, r1, r5
@@ -11648,7 +11648,7 @@ sub_80915FC: @ 80915FC
beq _08091626
b _080916D4
.align 2, 0
-_08091618: .4byte gUnknown_20397B0
+_08091618: .4byte sPSSData
_0809161C: .4byte 0x00000a63
_08091620:
cmp r0, 0x2
@@ -11673,7 +11673,7 @@ _08091644:
bl sub_809196C
cmp r0, 0
beq _080916E2
- ldr r6, _0809168C @ =gUnknown_20397B0
+ ldr r6, _0809168C @ =sPSSData
ldr r1, [r6]
ldr r4, _08091688 @ =0x00000a64
adds r0, r1, r4
@@ -11701,7 +11701,7 @@ _08091644:
b _080916D4
.align 2, 0
_08091688: .4byte 0x00000a64
-_0809168C: .4byte gUnknown_20397B0
+_0809168C: .4byte sPSSData
_08091690: .4byte 0x00000a65
_08091694:
bl sub_809062C
@@ -11735,7 +11735,7 @@ _080916D0:
adds r0, r5, 0
b _080916E4
_080916D4:
- ldr r0, _080916EC @ =gUnknown_20397B0
+ ldr r0, _080916EC @ =sPSSData
ldr r1, [r0]
ldr r4, _080916F0 @ =0x00000a63
adds r1, r4
@@ -11749,7 +11749,7 @@ _080916E4:
pop {r1}
bx r1
.align 2, 0
-_080916EC: .4byte gUnknown_20397B0
+_080916EC: .4byte sPSSData
_080916F0: .4byte 0x00000a63
thumb_func_end sub_80915FC
@@ -11800,7 +11800,7 @@ sub_8091730: @ 8091730
lsrs r0, 24
adds r1, r4, 0
bl sub_808BDBC
- ldr r0, _08091758 @ =gUnknown_20397B0
+ ldr r0, _08091758 @ =sPSSData
ldr r0, [r0]
ldr r1, _0809175C @ =0x00000a62
adds r0, r1
@@ -11810,7 +11810,7 @@ sub_8091730: @ 8091730
pop {r0}
bx r0
.align 2, 0
-_08091758: .4byte gUnknown_20397B0
+_08091758: .4byte sPSSData
_0809175C: .4byte 0x00000a62
thumb_func_end sub_8091730
@@ -11818,7 +11818,7 @@ _0809175C: .4byte 0x00000a62
sub_8091760: @ 8091760
push {r4,lr}
sub sp, 0x4
- ldr r1, _08091780 @ =gUnknown_20397B0
+ ldr r1, _08091780 @ =sPSSData
ldr r0, [r1]
ldr r2, _08091784 @ =0x00000a62
adds r0, r2
@@ -11832,7 +11832,7 @@ sub_8091760: @ 8091760
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_08091780: .4byte gUnknown_20397B0
+_08091780: .4byte sPSSData
_08091784: .4byte 0x00000a62
_08091788: .4byte _0809178C
.align 2, 0
@@ -11877,7 +11877,7 @@ _080917E2:
cmp r0, 0x1
bne _08091844
bl sub_8091EF0
- ldr r4, _08091810 @ =gUnknown_20397B0
+ ldr r4, _08091810 @ =sPSSData
ldr r0, [r4]
movs r1, 0xE7
lsls r1, 3
@@ -11894,7 +11894,7 @@ _080917E2:
adds r1, r2
b _0809182E
.align 2, 0
-_08091810: .4byte gUnknown_20397B0
+_08091810: .4byte sPSSData
_08091814: .4byte 0x0000ffff
_08091818: .4byte 0x00000a62
_0809181C:
@@ -11903,7 +11903,7 @@ _0809181C:
cmp r0, 0
bne _08091844
_08091826:
- ldr r0, _08091838 @ =gUnknown_20397B0
+ ldr r0, _08091838 @ =sPSSData
ldr r1, [r0]
ldr r0, _0809183C @ =0x00000a62
adds r1, r0
@@ -11913,7 +11913,7 @@ _0809182E:
strb r0, [r1]
b _08091844
.align 2, 0
-_08091838: .4byte gUnknown_20397B0
+_08091838: .4byte sPSSData
_0809183C: .4byte 0x00000a62
_08091840:
movs r0, 0
@@ -11931,7 +11931,7 @@ _08091846:
sub_8091850: @ 8091850
push {r4-r7,lr}
sub sp, 0x4
- ldr r4, _08091904 @ =gUnknown_20397B0
+ ldr r4, _08091904 @ =sPSSData
ldr r2, [r4]
ldr r3, _08091908 @ =0x000006f9
adds r2, r3
@@ -11965,7 +11965,7 @@ _0809188A:
adds r0, r1
bl sub_8091A24
_08091896:
- ldr r6, _08091904 @ =gUnknown_20397B0
+ ldr r6, _08091904 @ =sPSSData
ldr r0, [r6]
ldr r2, _0809190C @ =0x000006fa
adds r0, r2
@@ -12016,7 +12016,7 @@ _08091896:
bl LoadPalette
b _08091938
.align 2, 0
-_08091904: .4byte gUnknown_20397B0
+_08091904: .4byte sPSSData
_08091908: .4byte 0x000006f9
_0809190C: .4byte 0x000006fa
_08091910: .4byte 0x000006fb
@@ -12036,7 +12036,7 @@ _08091924:
bl CpuSet
_08091938:
ldr r1, [r7]
- ldr r0, _08091968 @ =gUnknown_20397B0
+ ldr r0, _08091968 @ =sPSSData
ldr r0, [r0]
ldr r3, _08091960 @ =0x000002d2
adds r0, r3
@@ -12056,7 +12056,7 @@ _08091938:
.align 2, 0
_08091960: .4byte 0x000002d2
_08091964: .4byte gPlttBufferUnfaded + 0x80
-_08091968: .4byte gUnknown_20397B0
+_08091968: .4byte sPSSData
thumb_func_end sub_8091850
thumb_func_start sub_809196C
@@ -12083,7 +12083,7 @@ sub_8091984: @ 8091984
lsls r3, 24
lsrs r3, 24
lsls r5, r3, 17
- ldr r0, _080919F0 @ =gUnknown_20397B0
+ ldr r0, _080919F0 @ =sPSSData
ldr r0, [r0]
movs r4, 0xB3
lsls r4, 2
@@ -12132,7 +12132,7 @@ sub_8091984: @ 8091984
adds r0, r1
b _080919FA
.align 2, 0
-_080919F0: .4byte gUnknown_20397B0
+_080919F0: .4byte sPSSData
_080919F4:
lsls r0, r6, 16
ldr r4, _08091A20 @ =0xfffc0000
@@ -12164,7 +12164,7 @@ _08091A20: .4byte 0xfffc0000
sub_8091A24: @ 8091A24
push {r4-r6,lr}
adds r2, r0, 0
- ldr r0, _08091A50 @ =gUnknown_20397B0
+ ldr r0, _08091A50 @ =sPSSData
ldr r0, [r0]
movs r1, 0xB3
lsls r1, 2
@@ -12184,7 +12184,7 @@ sub_8091A24: @ 8091A24
adds r0, r6
b _08091A5C
.align 2, 0
-_08091A50: .4byte gUnknown_20397B0
+_08091A50: .4byte sPSSData
_08091A54:
lsls r0, 1
movs r1, 0xC8
@@ -12236,7 +12236,7 @@ sub_8091A94: @ 8091A94
lsls r0, 24
lsrs r0, 24
mov r8, r0
- ldr r1, _08091C1C @ =gUnknown_20397B0
+ ldr r1, _08091C1C @ =sPSSData
mov r10, r1
ldr r1, [r1]
movs r2, 0xBE
@@ -12374,7 +12374,7 @@ _08091BBC:
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
- ldr r5, _08091C1C @ =gUnknown_20397B0
+ ldr r5, _08091C1C @ =sPSSData
ldr r2, [r5]
lsls r0, r4, 2
movs r3, 0xE4
@@ -12410,7 +12410,7 @@ _08091BBC:
pop {r0}
bx r0
.align 2, 0
-_08091C1C: .4byte gUnknown_20397B0
+_08091C1C: .4byte sPSSData
_08091C20: .4byte 0x00030200
_08091C24: .4byte 0x000006fc
_08091C28: .4byte 0x0000dac9
@@ -12437,7 +12437,7 @@ sub_8091C48: @ 8091C48
lsls r1, 24
lsrs r1, 24
mov r10, r1
- ldr r4, _08091CC4 @ =gUnknown_20397B0
+ ldr r4, _08091CC4 @ =sPSSData
ldr r2, [r4]
movs r1, 0xBE
lsls r1, 2
@@ -12488,7 +12488,7 @@ _08091C9C:
mov r9, r0
b _08091CFC
.align 2, 0
-_08091CC4: .4byte gUnknown_20397B0
+_08091CC4: .4byte sPSSData
_08091CC8: .4byte 0x0000ffff
_08091CCC: .4byte 0x00030200
_08091CD0: .4byte gUnknown_83D2B7C
@@ -12659,7 +12659,7 @@ _08091E30: .4byte sub_8091EB8
thumb_func_start sub_8091E34
sub_8091E34: @ 8091E34
push {lr}
- ldr r0, _08091E50 @ =gUnknown_20397B0
+ ldr r0, _08091E50 @ =sPSSData
ldr r0, [r0]
movs r1, 0xDF
lsls r1, 3
@@ -12671,12 +12671,12 @@ sub_8091E34: @ 8091E34
bl FreeSpriteTilesByTag
b _08091E5A
.align 2, 0
-_08091E50: .4byte gUnknown_20397B0
+_08091E50: .4byte sPSSData
_08091E54:
movs r0, 0x3
bl FreeSpriteTilesByTag
_08091E5A:
- ldr r0, _08091E7C @ =gUnknown_20397B0
+ ldr r0, _08091E7C @ =sPSSData
ldr r0, [r0]
movs r3, 0xE4
lsls r3, 3
@@ -12694,7 +12694,7 @@ _08091E5A:
pop {r0}
bx r0
.align 2, 0
-_08091E7C: .4byte gUnknown_20397B0
+_08091E7C: .4byte sPSSData
_08091E80: .4byte 0x00000724
thumb_func_end sub_8091E34
@@ -12771,7 +12771,7 @@ sub_8091EF0: @ 8091EF0
bl sub_808BD94
lsls r0, 24
lsrs r1, r0, 24
- ldr r0, _08091F2C @ =gUnknown_20397B0
+ ldr r0, _08091F2C @ =sPSSData
ldr r2, [r0]
movs r3, 0xDF
lsls r3, 3
@@ -12792,7 +12792,7 @@ sub_8091EF0: @ 8091EF0
bl CpuSet
b _08091F50
.align 2, 0
-_08091F2C: .4byte gUnknown_20397B0
+_08091F2C: .4byte sPSSData
_08091F30: .4byte gUnknown_83D29D0
_08091F34: .4byte gPlttBufferUnfaded
_08091F38:
@@ -12874,7 +12874,7 @@ _08091F8A:
adds r0, r1, 0
_08091FCA:
strh r0, [r4, 0x34]
- ldr r0, _08092008 @ =gUnknown_20397B0
+ ldr r0, _08092008 @ =sPSSData
ldr r0, [r0]
lsls r1, r5, 2
movs r2, 0xE6
@@ -12902,7 +12902,7 @@ _08091FF6:
_08091FFC: .4byte gUnknown_83D2B54
_08092000: .4byte gUnknown_83D2BB4
_08092004: .4byte gSprites
-_08092008: .4byte gUnknown_20397B0
+_08092008: .4byte sPSSData
thumb_func_end sub_8091F80
thumb_func_start sub_809200C
@@ -12911,7 +12911,7 @@ sub_809200C: @ 809200C
lsls r0, 24
lsrs r5, r0, 24
movs r2, 0
- ldr r7, _08092060 @ =gUnknown_20397B0
+ ldr r7, _08092060 @ =sPSSData
mov r12, r7
movs r6, 0xE6
lsls r6, 3
@@ -12951,7 +12951,7 @@ _08092020:
movs r2, 0x48
b _08092084
.align 2, 0
-_08092060: .4byte gUnknown_20397B0
+_08092060: .4byte sPSSData
_08092064: .4byte 0x00000734
_08092068:
ldr r1, [r7]
@@ -12998,7 +12998,7 @@ sub_80920AC: @ 80920AC
movs r5, 0
movs r6, 0x5
negs r6, r6
- ldr r4, _080920F8 @ =gUnknown_20397B0
+ ldr r4, _080920F8 @ =sPSSData
_080920B8:
ldr r1, [r4]
lsls r0, r3, 2
@@ -13031,7 +13031,7 @@ _080920B8:
pop {r0}
bx r0
.align 2, 0
-_080920F8: .4byte gUnknown_20397B0
+_080920F8: .4byte sPSSData
thumb_func_end sub_80920AC
thumb_func_start sub_80920FC
@@ -13041,7 +13041,7 @@ sub_80920FC: @ 80920FC
cmp r0, 0
beq _08092138
movs r2, 0
- ldr r6, _08092134 @ =gUnknown_20397B0
+ ldr r6, _08092134 @ =sPSSData
movs r5, 0xE6
lsls r5, 3
movs r3, 0
@@ -13066,10 +13066,10 @@ _08092110:
bls _08092110
b _08092158
.align 2, 0
-_08092134: .4byte gUnknown_20397B0
+_08092134: .4byte sPSSData
_08092138:
movs r2, 0
- ldr r5, _08092160 @ =gUnknown_20397B0
+ ldr r5, _08092160 @ =sPSSData
movs r4, 0xE6
lsls r4, 3
movs r3, 0
@@ -13090,7 +13090,7 @@ _08092158:
pop {r0}
bx r0
.align 2, 0
-_08092160: .4byte gUnknown_20397B0
+_08092160: .4byte sPSSData
thumb_func_end sub_80920FC
thumb_func_start sub_8092164
@@ -13148,7 +13148,7 @@ _080921C8:
strh r0, [r2, 0x2E]
b _08092230
_080921CE:
- ldr r0, _08092218 @ =gUnknown_20397B0
+ ldr r0, _08092218 @ =sPSSData
ldr r1, [r0]
ldr r0, _0809221C @ =0x000002ce
adds r1, r0
@@ -13187,10 +13187,10 @@ _080921F4:
strh r0, [r2, 0x2E]
b _08092230
.align 2, 0
-_08092218: .4byte gUnknown_20397B0
+_08092218: .4byte sPSSData
_0809221C: .4byte 0x000002ce
_08092220:
- ldr r0, _08092234 @ =gUnknown_20397B0
+ ldr r0, _08092234 @ =sPSSData
ldr r0, [r0]
ldr r1, _08092238 @ =0x000002ce
adds r0, r1
@@ -13202,7 +13202,7 @@ _08092230:
pop {r0}
bx r0
.align 2, 0
-_08092234: .4byte gUnknown_20397B0
+_08092234: .4byte sPSSData
_08092238: .4byte 0x000002ce
thumb_func_end sub_8092164
@@ -13276,36 +13276,36 @@ _080922B6:
thumb_func_start sub_80922C0
sub_80922C0: @ 80922C0
push {lr}
- ldr r0, _080922D4 @ =gUnknown_20397B0
+ ldr r0, _080922D4 @ =sPSSData
ldr r0, [r0]
ldrb r1, [r0, 0x1]
cmp r1, 0x1
beq _080922DC
- ldr r1, _080922D8 @ =gUnknown_2039820
+ ldr r1, _080922D8 @ =sBoxCursorArea
movs r0, 0
strb r0, [r1]
b _080922E0
.align 2, 0
-_080922D4: .4byte gUnknown_20397B0
-_080922D8: .4byte gUnknown_2039820
+_080922D4: .4byte sPSSData
+_080922D8: .4byte sBoxCursorArea
_080922DC:
- ldr r0, _0809231C @ =gUnknown_2039820
+ ldr r0, _0809231C @ =sBoxCursorArea
strb r1, [r0]
_080922E0:
- ldr r0, _08092320 @ =gUnknown_2039821
+ ldr r0, _08092320 @ =sBoxCursorPosition
movs r1, 0
strb r1, [r0]
- ldr r0, _08092324 @ =gUnknown_2039822
+ ldr r0, _08092324 @ =sIsMonBeingMoved
strb r1, [r0]
- ldr r0, _08092328 @ =gUnknown_2039823
+ ldr r0, _08092328 @ =sMovingMonOrigBoxId
strb r1, [r0]
- ldr r0, _0809232C @ =gUnknown_2039824
+ ldr r0, _0809232C @ =sMovingMonOrigBoxPos
strb r1, [r0]
- ldr r0, _08092330 @ =gUnknown_2039825
+ ldr r0, _08092330 @ =sCanOnlyMove
strb r1, [r0]
bl sub_8092B50
bl sub_8094AD8
- ldr r2, _08092334 @ =gUnknown_20397B0
+ ldr r2, _08092334 @ =sPSSData
ldr r0, [r2]
ldr r1, _08092338 @ =0x00000cd2
adds r0, r1
@@ -13320,13 +13320,13 @@ _080922E0:
pop {r0}
bx r0
.align 2, 0
-_0809231C: .4byte gUnknown_2039820
-_08092320: .4byte gUnknown_2039821
-_08092324: .4byte gUnknown_2039822
-_08092328: .4byte gUnknown_2039823
-_0809232C: .4byte gUnknown_2039824
-_08092330: .4byte gUnknown_2039825
-_08092334: .4byte gUnknown_20397B0
+_0809231C: .4byte sBoxCursorArea
+_08092320: .4byte sBoxCursorPosition
+_08092324: .4byte sIsMonBeingMoved
+_08092328: .4byte sMovingMonOrigBoxId
+_0809232C: .4byte sMovingMonOrigBoxPos
+_08092330: .4byte sCanOnlyMove
+_08092334: .4byte sPSSData
_08092338: .4byte 0x00000cd2
_0809233C: .4byte 0x000021ef
thumb_func_end sub_80922C0
@@ -13336,7 +13336,7 @@ sub_8092340: @ 8092340
push {lr}
bl sub_8094AD8
bl sub_8093AAC
- ldr r3, _08092380 @ =gUnknown_20397B0
+ ldr r3, _08092380 @ =sPSSData
ldr r0, [r3]
ldr r1, _08092384 @ =0x00000cd2
adds r0, r1
@@ -13347,7 +13347,7 @@ sub_8092340: @ 8092340
ldr r1, _08092388 @ =0x000021ef
adds r0, r1
strb r2, [r0]
- ldr r0, _0809238C @ =gUnknown_2039822
+ ldr r0, _0809238C @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _0809237A
@@ -13362,10 +13362,10 @@ _0809237A:
pop {r0}
bx r0
.align 2, 0
-_08092380: .4byte gUnknown_20397B0
+_08092380: .4byte sPSSData
_08092384: .4byte 0x00000cd2
_08092388: .4byte 0x000021ef
-_0809238C: .4byte gUnknown_2039822
+_0809238C: .4byte sIsMonBeingMoved
_08092390: .4byte 0x000020a0
_08092394: .4byte gUnknown_20397BC
thumb_func_end sub_8092340
@@ -13446,7 +13446,7 @@ _08092422:
movs r0, 0xC
b _0809244E
_0809242A:
- ldr r0, _08092444 @ =gUnknown_2039822
+ ldr r0, _08092444 @ =sIsMonBeingMoved
ldrb r0, [r0]
movs r1, 0xE
cmp r0, 0
@@ -13460,7 +13460,7 @@ _08092436:
strh r0, [r4]
b _08092450
.align 2, 0
-_08092444: .4byte gUnknown_2039822
+_08092444: .4byte sIsMonBeingMoved
_08092448:
movs r0, 0xA0
strh r0, [r4]
@@ -13476,7 +13476,7 @@ _08092450:
thumb_func_start sub_8092458
sub_8092458: @ 8092458
push {lr}
- ldr r0, _08092480 @ =gUnknown_2039820
+ ldr r0, _08092480 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -13484,7 +13484,7 @@ sub_8092458: @ 8092458
beq _0809248C
cmp r0, 0x1
bne _080924A0
- ldr r0, _08092484 @ =gUnknown_2039821
+ ldr r0, _08092484 @ =sBoxCursorPosition
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x64
@@ -13495,11 +13495,11 @@ sub_8092458: @ 8092458
bl GetMonData
b _08092496
.align 2, 0
-_08092480: .4byte gUnknown_2039820
-_08092484: .4byte gUnknown_2039821
+_08092480: .4byte sBoxCursorArea
+_08092484: .4byte sBoxCursorPosition
_08092488: .4byte gPlayerParty
_0809248C:
- ldr r0, _0809249C @ =gUnknown_2039821
+ ldr r0, _0809249C @ =sBoxCursorPosition
ldrb r0, [r0]
movs r1, 0xB
bl GetBoxMonDataFromSelectedBox
@@ -13508,7 +13508,7 @@ _08092496:
lsrs r0, 16
b _080924A2
.align 2, 0
-_0809249C: .4byte gUnknown_2039821
+_0809249C: .4byte sBoxCursorPosition
_080924A0:
movs r0, 0
_080924A2:
@@ -13519,7 +13519,7 @@ _080924A2:
thumb_func_start sub_80924A8
sub_80924A8: @ 80924A8
push {r4-r7,lr}
- ldr r7, _080924C4 @ =gUnknown_20397B0
+ ldr r7, _080924C4 @ =sPSSData
ldr r5, [r7]
ldr r0, _080924C8 @ =0x00000ccc
adds r1, r5, r0
@@ -13532,7 +13532,7 @@ sub_80924A8: @ 80924A8
movs r0, 0
b _080925F4
.align 2, 0
-_080924C4: .4byte gUnknown_20397B0
+_080924C4: .4byte sPSSData
_080924C8: .4byte 0x00000ccc
_080924CC:
bl sub_809610C
@@ -13710,7 +13710,7 @@ sub_8092604: @ 8092604
mov r2, sp
adds r3, r6, 0
bl sub_8092398
- ldr r1, _08092654 @ =gUnknown_20397B0
+ ldr r1, _08092654 @ =sPSSData
ldr r0, [r1]
movs r2, 0xCD
lsls r2, 4
@@ -13735,7 +13735,7 @@ sub_8092604: @ 8092604
pop {r0}
bx r0
.align 2, 0
-_08092654: .4byte gUnknown_20397B0
+_08092654: .4byte sPSSData
_08092658: .4byte 0x00000cd1
_0809265C: .4byte 0x00000cca
thumb_func_end sub_8092604
@@ -13743,7 +13743,7 @@ _0809265C: .4byte 0x00000cca
thumb_func_start sub_8092660
sub_8092660: @ 8092660
push {r4-r7,lr}
- ldr r0, _0809267C @ =gUnknown_20397B0
+ ldr r0, _0809267C @ =sPSSData
ldr r2, [r0]
ldr r3, _08092680 @ =0x00000cce
adds r1, r2, r3
@@ -13756,7 +13756,7 @@ sub_8092660: @ 8092660
movs r0, 0xC
b _0809268E
.align 2, 0
-_0809267C: .4byte gUnknown_20397B0
+_0809267C: .4byte sPSSData
_08092680: .4byte 0x00000cce
_08092684: .4byte 0x00000ccc
_08092688:
@@ -13944,7 +13944,7 @@ sub_80927E8: @ 80927E8
adds r1, r6, 0
bl sub_8092604
bl sub_8092660
- ldr r5, _0809282C @ =gUnknown_20397B0
+ ldr r5, _0809282C @ =sPSSData
ldr r1, [r5]
ldrb r0, [r1, 0x1]
cmp r0, 0x3
@@ -13954,7 +13954,7 @@ sub_80927E8: @ 80927E8
ldrb r0, [r0]
cmp r0, 0
bne _08092852
- ldr r0, _08092834 @ =gUnknown_2039822
+ ldr r0, _08092834 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _08092852
@@ -13966,9 +13966,9 @@ sub_80927E8: @ 80927E8
bl StartSpriteAnim
b _08092852
.align 2, 0
-_0809282C: .4byte gUnknown_20397B0
+_0809282C: .4byte sPSSData
_08092830: .4byte 0x000021ef
-_08092834: .4byte gUnknown_2039822
+_08092834: .4byte sIsMonBeingMoved
_08092838:
bl sub_809616C
lsls r0, 24
@@ -13982,30 +13982,30 @@ _08092838:
movs r1, 0x1
bl StartSpriteAnim
_08092852:
- ldr r0, _08092874 @ =gUnknown_20397B0
+ ldr r0, _08092874 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
bne _080928AC
- ldr r0, _08092878 @ =gUnknown_2039820
+ ldr r0, _08092878 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _08092880
- ldr r0, _0809287C @ =gUnknown_2039821
+ ldr r0, _0809287C @ =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_8095D44
b _0809288E
.align 2, 0
-_08092874: .4byte gUnknown_20397B0
-_08092878: .4byte gUnknown_2039820
-_0809287C: .4byte gUnknown_2039821
+_08092874: .4byte sPSSData
+_08092878: .4byte sBoxCursorArea
+_0809287C: .4byte sBoxCursorPosition
_08092880:
cmp r0, 0x1
bne _0809288E
- ldr r0, _0809289C @ =gUnknown_2039821
+ ldr r0, _0809289C @ =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0x1
bl sub_8095D44
@@ -14017,7 +14017,7 @@ _0809288E:
bl sub_8095C84
b _080928AC
.align 2, 0
-_0809289C: .4byte gUnknown_2039821
+_0809289C: .4byte sBoxCursorPosition
_080928A0:
cmp r4, 0x1
bne _080928D8
@@ -14027,13 +14027,13 @@ _080928A0:
_080928AC:
cmp r4, 0x1
bne _080928D8
- ldr r0, _08092920 @ =gUnknown_2039820
+ ldr r0, _08092920 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
beq _080928D8
- ldr r1, _08092924 @ =gUnknown_20397B0
+ ldr r1, _08092924 @ =sPSSData
ldr r0, [r1]
ldr r2, _08092928 @ =0x00000cd2
adds r0, r2
@@ -14054,7 +14054,7 @@ _080928D8:
blt _080929A0
cmp r4, 0x3
bgt _080929A0
- ldr r5, _08092924 @ =gUnknown_20397B0
+ ldr r5, _08092924 @ =sPSSData
ldr r0, [r5]
movs r2, 0xCB
lsls r2, 4
@@ -14085,12 +14085,12 @@ _080928D8:
strb r2, [r1, 0x5]
b _080929A0
.align 2, 0
-_08092920: .4byte gUnknown_2039820
-_08092924: .4byte gUnknown_20397B0
+_08092920: .4byte sBoxCursorArea
+_08092924: .4byte sPSSData
_08092928: .4byte 0x00000cd2
_0809292C: .4byte 0x00000cb4
_08092930:
- ldr r3, _08092964 @ =gUnknown_20397B0
+ ldr r3, _08092964 @ =sPSSData
ldr r1, [r3]
ldr r2, _08092968 @ =0x000021ef
adds r0, r1, r2
@@ -14117,7 +14117,7 @@ _08092930:
strb r0, [r1]
b _080929A0
.align 2, 0
-_08092964: .4byte gUnknown_20397B0
+_08092964: .4byte sPSSData
_08092968: .4byte 0x000021ef
_0809296C: .4byte 0x00000cb4
_08092970:
@@ -14132,13 +14132,13 @@ _08092970:
movs r1, 0x8
orrs r0, r1
strb r0, [r2, 0x5]
- ldr r0, _080929A8 @ =gUnknown_2039820
+ ldr r0, _080929A8 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _080929A0
- ldr r0, _080929AC @ =gUnknown_2039822
+ ldr r0, _080929AC @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080929A0
@@ -14149,22 +14149,22 @@ _080929A0:
pop {r0}
bx r0
.align 2, 0
-_080929A8: .4byte gUnknown_2039820
-_080929AC: .4byte gUnknown_2039822
+_080929A8: .4byte sBoxCursorArea
+_080929AC: .4byte sIsMonBeingMoved
thumb_func_end sub_80927E8
thumb_func_start sub_80929B0
sub_80929B0: @ 80929B0
push {r4,lr}
- ldr r1, _080929F4 @ =gUnknown_2039820
- ldr r4, _080929F8 @ =gUnknown_20397B0
+ ldr r1, _080929F4 @ =sBoxCursorArea
+ ldr r4, _080929F8 @ =sPSSData
ldr r2, [r4]
movs r3, 0xCD
lsls r3, 4
adds r0, r2, r3
ldrb r0, [r0]
strb r0, [r1]
- ldr r1, _080929FC @ =gUnknown_2039821
+ ldr r1, _080929FC @ =sBoxCursorPosition
adds r3, 0x1
adds r0, r2, r3
ldrb r0, [r0]
@@ -14177,7 +14177,7 @@ sub_80929B0: @ 80929B0
ldrb r0, [r0]
cmp r0, 0
bne _08092A22
- ldr r0, _08092A04 @ =gUnknown_2039822
+ ldr r0, _08092A04 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _08092A22
@@ -14188,11 +14188,11 @@ sub_80929B0: @ 80929B0
bl StartSpriteAnim
b _08092A22
.align 2, 0
-_080929F4: .4byte gUnknown_2039820
-_080929F8: .4byte gUnknown_20397B0
-_080929FC: .4byte gUnknown_2039821
+_080929F4: .4byte sBoxCursorArea
+_080929F8: .4byte sPSSData
+_080929FC: .4byte sBoxCursorPosition
_08092A00: .4byte 0x000021ef
-_08092A04: .4byte gUnknown_2039822
+_08092A04: .4byte sIsMonBeingMoved
_08092A08:
bl sub_809616C
lsls r0, 24
@@ -14207,7 +14207,7 @@ _08092A08:
bl StartSpriteAnim
_08092A22:
bl sub_8093A10
- ldr r0, _08092A3C @ =gUnknown_2039820
+ ldr r0, _08092A3C @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14219,7 +14219,7 @@ _08092A22:
beq _08092A74
b _08092AD0
.align 2, 0
-_08092A3C: .4byte gUnknown_2039820
+_08092A3C: .4byte sBoxCursorArea
_08092A40:
cmp r0, 0x2
beq _08092A4A
@@ -14231,7 +14231,7 @@ _08092A4A:
bl sub_80920FC
b _08092AD0
_08092A52:
- ldr r0, _08092A6C @ =gUnknown_20397B0
+ ldr r0, _08092A6C @ =sPSSData
ldr r0, [r0]
ldr r2, _08092A70 @ =0x00000cb4
adds r0, r2
@@ -14244,10 +14244,10 @@ _08092A62:
bl sub_8091184
b _08092AD0
.align 2, 0
-_08092A6C: .4byte gUnknown_20397B0
+_08092A6C: .4byte sPSSData
_08092A70: .4byte 0x00000cb4
_08092A74:
- ldr r4, _08092AD8 @ =gUnknown_20397B0
+ ldr r4, _08092AD8 @ =sPSSData
ldr r1, [r4]
ldr r3, _08092ADC @ =0x000021ef
adds r0, r1, r3
@@ -14297,7 +14297,7 @@ _08092AD0:
pop {r0}
bx r0
.align 2, 0
-_08092AD8: .4byte gUnknown_20397B0
+_08092AD8: .4byte sPSSData
_08092ADC: .4byte 0x000021ef
_08092AE0: .4byte 0x00000cb4
thumb_func_end sub_80929B0
@@ -14305,14 +14305,14 @@ _08092AE0: .4byte 0x00000cb4
thumb_func_start sub_8092AE4
sub_8092AE4: @ 8092AE4
push {lr}
- ldr r0, _08092AF4 @ =gUnknown_2039822
+ ldr r0, _08092AF4 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _08092AF8
movs r3, 0
b _08092B06
.align 2, 0
-_08092AF4: .4byte gUnknown_2039822
+_08092AF4: .4byte sIsMonBeingMoved
_08092AF8:
bl CalculatePlayerPartyCount
lsls r0, 24
@@ -14321,7 +14321,7 @@ _08092AF8:
bls _08092B06
movs r3, 0x5
_08092B06:
- ldr r0, _08092B34 @ =gUnknown_20397B0
+ ldr r0, _08092B34 @ =sPSSData
ldr r2, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -14344,7 +14344,7 @@ _08092B26:
pop {r0}
bx r0
.align 2, 0
-_08092B34: .4byte gUnknown_20397B0
+_08092B34: .4byte sPSSData
_08092B38: .4byte 0x00000cd3
thumb_func_end sub_8092AE4
@@ -14373,13 +14373,13 @@ _08092B58: .4byte gUnknown_2039826
thumb_func_start sub_8092B5C
sub_8092B5C: @ 8092B5C
ldr r0, _08092B68 @ =gUnknown_2039826
- ldr r1, _08092B6C @ =gUnknown_2039821
+ ldr r1, _08092B6C @ =sBoxCursorPosition
ldrb r1, [r1]
strb r1, [r0]
bx lr
.align 2, 0
_08092B68: .4byte gUnknown_2039826
-_08092B6C: .4byte gUnknown_2039821
+_08092B6C: .4byte sBoxCursorPosition
thumb_func_end sub_8092B5C
thumb_func_start sub_8092B70
@@ -14394,7 +14394,7 @@ _08092B78: .4byte gUnknown_2039826
thumb_func_start sub_8092B7C
sub_8092B7C: @ 8092B7C
lsls r0, 24
- ldr r1, _08092B9C @ =gUnknown_20397B0
+ ldr r1, _08092B9C @ =sPSSData
ldr r1, [r1]
ldr r2, _08092BA0 @ =0x00000d88
adds r3, r1, r2
@@ -14409,7 +14409,7 @@ sub_8092B7C: @ 8092B7C
strb r0, [r1]
bx lr
.align 2, 0
-_08092B9C: .4byte gUnknown_20397B0
+_08092B9C: .4byte sPSSData
_08092BA0: .4byte 0x00000d88
_08092BA4: .4byte gUnknown_83D346C
_08092BA8: .4byte 0x00000d8c
@@ -14421,18 +14421,18 @@ sub_8092BAC: @ 8092BAC
lsls r0, 24
cmp r0, 0
bne _08092BCC
- ldr r0, _08092BC0 @ =gUnknown_20397B0
+ ldr r0, _08092BC0 @ =sPSSData
ldr r1, [r0]
ldr r2, _08092BC4 @ =0x00000d88
adds r1, r2
ldr r2, _08092BC8 @ =sub_8092E00
b _08092BD6
.align 2, 0
-_08092BC0: .4byte gUnknown_20397B0
+_08092BC0: .4byte sPSSData
_08092BC4: .4byte 0x00000d88
_08092BC8: .4byte sub_8092E00
_08092BCC:
- ldr r0, _08092BE8 @ =gUnknown_20397B0
+ ldr r0, _08092BE8 @ =sPSSData
ldr r1, [r0]
ldr r2, _08092BEC @ =0x00000d88
adds r1, r2
@@ -14447,7 +14447,7 @@ _08092BD6:
pop {r0}
bx r0
.align 2, 0
-_08092BE8: .4byte gUnknown_20397B0
+_08092BE8: .4byte sPSSData
_08092BEC: .4byte 0x00000d88
_08092BF0: .4byte sub_8092E10
_08092BF4: .4byte 0x00000d8c
@@ -14456,7 +14456,7 @@ _08092BF4: .4byte 0x00000d8c
thumb_func_start sub_8092BF8
sub_8092BF8: @ 8092BF8
push {lr}
- ldr r0, _08092C10 @ =gUnknown_20397B0
+ ldr r0, _08092C10 @ =sPSSData
ldr r0, [r0]
ldr r1, _08092C14 @ =0x00000d88
adds r0, r1
@@ -14467,14 +14467,14 @@ sub_8092BF8: @ 8092BF8
pop {r1}
bx r1
.align 2, 0
-_08092C10: .4byte gUnknown_20397B0
+_08092C10: .4byte sPSSData
_08092C14: .4byte 0x00000d88
thumb_func_end sub_8092BF8
thumb_func_start sub_8092C18
sub_8092C18: @ 8092C18
push {r4,r5,lr}
- ldr r4, _08092C34 @ =gUnknown_20397B0
+ ldr r4, _08092C34 @ =sPSSData
ldr r1, [r4]
ldr r5, _08092C38 @ =0x00000d8c
adds r0, r1, r5
@@ -14487,7 +14487,7 @@ sub_8092C18: @ 8092C18
beq _08092C46
b _08092C9C
.align 2, 0
-_08092C34: .4byte gUnknown_20397B0
+_08092C34: .4byte sPSSData
_08092C38: .4byte 0x00000d8c
_08092C3C:
cmp r0, 0x2
@@ -14496,7 +14496,7 @@ _08092C3C:
beq _08092C4E
b _08092C9C
_08092C46:
- ldr r0, _08092C54 @ =gUnknown_2039822
+ ldr r0, _08092C54 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _08092C58
@@ -14504,7 +14504,7 @@ _08092C4E:
movs r0, 0
b _08092C9E
.align 2, 0
-_08092C54: .4byte gUnknown_2039822
+_08092C54: .4byte sIsMonBeingMoved
_08092C58:
movs r2, 0xCB
lsls r2, 4
@@ -14549,7 +14549,7 @@ _08092C9E:
thumb_func_start sub_8092CA4
sub_8092CA4: @ 8092CA4
push {r4,r5,lr}
- ldr r4, _08092CC0 @ =gUnknown_20397B0
+ ldr r4, _08092CC0 @ =sPSSData
ldr r0, [r4]
ldr r5, _08092CC4 @ =0x00000d8c
adds r0, r5
@@ -14562,7 +14562,7 @@ sub_8092CA4: @ 8092CA4
beq _08092CCE
b _08092D18
.align 2, 0
-_08092CC0: .4byte gUnknown_20397B0
+_08092CC0: .4byte sPSSData
_08092CC4: .4byte 0x00000d8c
_08092CC8:
cmp r0, 0x2
@@ -14615,7 +14615,7 @@ _08092D1A:
thumb_func_start sub_8092D20
sub_8092D20: @ 8092D20
push {r4,r5,lr}
- ldr r4, _08092D3C @ =gUnknown_20397B0
+ ldr r4, _08092D3C @ =sPSSData
ldr r1, [r4]
ldr r5, _08092D40 @ =0x00000d8c
adds r0, r1, r5
@@ -14628,14 +14628,14 @@ sub_8092D20: @ 8092D20
beq _08092D4A
b _08092DF8
.align 2, 0
-_08092D3C: .4byte gUnknown_20397B0
+_08092D3C: .4byte sPSSData
_08092D40: .4byte 0x00000d8c
_08092D44:
cmp r0, 0x2
beq _08092DF4
b _08092DF8
_08092D4A:
- ldr r0, _08092D64 @ =gUnknown_2039820
+ ldr r0, _08092D64 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14648,7 +14648,7 @@ _08092D4A:
movs r0, 0xE
b _08092D76
.align 2, 0
-_08092D64: .4byte gUnknown_2039820
+_08092D64: .4byte sBoxCursorArea
_08092D68: .4byte 0x00000d8d
_08092D6C:
bl StorageGetCurrentBox
@@ -14657,7 +14657,7 @@ _08092D6C:
adds r1, r2
_08092D76:
strb r0, [r1]
- ldr r4, _08092DA8 @ =gUnknown_20397B0
+ ldr r4, _08092DA8 @ =sPSSData
ldr r0, [r4]
movs r1, 0xCB
lsls r1, 4
@@ -14669,7 +14669,7 @@ _08092D76:
ldr r2, _08092DA4 @ =0x00000d8d
adds r0, r2
ldrb r0, [r0]
- ldr r1, _08092DAC @ =gUnknown_2039821
+ ldr r1, _08092DAC @ =sBoxCursorPosition
ldrb r1, [r1]
bl sub_8090E08
ldr r1, [r4]
@@ -14678,8 +14678,8 @@ _08092D76:
b _08092DE2
.align 2, 0
_08092DA4: .4byte 0x00000d8d
-_08092DA8: .4byte gUnknown_20397B0
-_08092DAC: .4byte gUnknown_2039821
+_08092DA8: .4byte sPSSData
+_08092DAC: .4byte sBoxCursorPosition
_08092DB0: .4byte 0x00000d8c
_08092DB4:
bl sub_8090E74
@@ -14697,7 +14697,7 @@ _08092DB4:
ldr r2, _08092DEC @ =0x00000d8d
adds r0, r2
ldrb r0, [r0]
- ldr r1, _08092DF0 @ =gUnknown_2039821
+ ldr r1, _08092DF0 @ =sBoxCursorPosition
ldrb r1, [r1]
bl diegohint1
ldr r1, [r4]
@@ -14709,7 +14709,7 @@ _08092DE2:
b _08092DF8
.align 2, 0
_08092DEC: .4byte 0x00000d8d
-_08092DF0: .4byte gUnknown_2039821
+_08092DF0: .4byte sBoxCursorPosition
_08092DF4:
movs r0, 0
b _08092DFA
@@ -14744,7 +14744,7 @@ sub_8092E10: @ 8092E10
thumb_func_start sub_8092E20
sub_8092E20: @ 8092E20
push {lr}
- ldr r0, _08092E44 @ =gUnknown_20397B0
+ ldr r0, _08092E44 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -14762,7 +14762,7 @@ _08092E3A:
strh r0, [r1, 0x26]
b _08092E4C
.align 2, 0
-_08092E44: .4byte gUnknown_20397B0
+_08092E44: .4byte sPSSData
_08092E48:
movs r0, 0
b _08092E4E
@@ -14776,7 +14776,7 @@ _08092E4E:
thumb_func_start sub_8092E54
sub_8092E54: @ 8092E54
push {lr}
- ldr r0, _08092E74 @ =gUnknown_20397B0
+ ldr r0, _08092E74 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -14792,7 +14792,7 @@ sub_8092E54: @ 8092E54
movs r0, 0x1
b _08092E7A
.align 2, 0
-_08092E74: .4byte gUnknown_20397B0
+_08092E74: .4byte sPSSData
_08092E78:
movs r0, 0
_08092E7A:
@@ -14803,7 +14803,7 @@ _08092E7A:
thumb_func_start sub_8092E80
sub_8092E80: @ 8092E80
push {r4,lr}
- ldr r0, _08092EA8 @ =gUnknown_2039820
+ ldr r0, _08092EA8 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14811,7 +14811,7 @@ sub_8092E80: @ 8092E80
beq _08092EB0
cmp r0, 0x1
bne _08092EDC
- ldr r4, _08092EAC @ =gUnknown_2039821
+ ldr r4, _08092EAC @ =sBoxCursorPosition
ldrb r1, [r4]
movs r0, 0xE
bl sub_8092F60
@@ -14820,10 +14820,10 @@ sub_8092E80: @ 8092E80
bl sub_8090CC0
b _08092ED6
.align 2, 0
-_08092EA8: .4byte gUnknown_2039820
-_08092EAC: .4byte gUnknown_2039821
+_08092EA8: .4byte sBoxCursorArea
+_08092EAC: .4byte sBoxCursorPosition
_08092EB0:
- ldr r0, _08092EE4 @ =gUnknown_20397B0
+ ldr r0, _08092EE4 @ =sPSSData
ldr r0, [r0]
ldr r1, _08092EE8 @ =0x000021ef
adds r0, r1
@@ -14833,14 +14833,14 @@ _08092EB0:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r4, _08092EEC @ =gUnknown_2039821
+ ldr r4, _08092EEC @ =sBoxCursorPosition
ldrb r1, [r4]
bl sub_8092F60
ldrb r1, [r4]
movs r0, 0x1
bl sub_8090CC0
_08092ED6:
- ldr r1, _08092EF0 @ =gUnknown_2039822
+ ldr r1, _08092EF0 @ =sIsMonBeingMoved
movs r0, 0x1
strb r0, [r1]
_08092EDC:
@@ -14848,16 +14848,16 @@ _08092EDC:
pop {r0}
bx r0
.align 2, 0
-_08092EE4: .4byte gUnknown_20397B0
+_08092EE4: .4byte sPSSData
_08092EE8: .4byte 0x000021ef
-_08092EEC: .4byte gUnknown_2039821
-_08092EF0: .4byte gUnknown_2039822
+_08092EEC: .4byte sBoxCursorPosition
+_08092EF0: .4byte sIsMonBeingMoved
thumb_func_end sub_8092E80
thumb_func_start sub_8092EF4
sub_8092EF4: @ 8092EF4
push {r4,r5,lr}
- ldr r0, _08092F1C @ =gUnknown_2039820
+ ldr r0, _08092F1C @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -14865,7 +14865,7 @@ sub_8092EF4: @ 8092EF4
beq _08092F24
cmp r0, 0x1
bne _08092F46
- ldr r4, _08092F20 @ =gUnknown_2039821
+ ldr r4, _08092F20 @ =sBoxCursorPosition
ldrb r1, [r4]
movs r0, 0xE
bl diegohint2
@@ -14874,14 +14874,14 @@ sub_8092EF4: @ 8092EF4
bl sub_8090D58
b _08092F40
.align 2, 0
-_08092F1C: .4byte gUnknown_2039820
-_08092F20: .4byte gUnknown_2039821
+_08092F1C: .4byte sBoxCursorArea
+_08092F20: .4byte sBoxCursorPosition
_08092F24:
bl StorageGetCurrentBox
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r5, _08092F4C @ =gUnknown_2039821
+ ldr r5, _08092F4C @ =sBoxCursorPosition
ldrb r1, [r5]
adds r0, r4, 0
bl diegohint2
@@ -14889,7 +14889,7 @@ _08092F24:
adds r0, r4, 0
bl sub_8090D58
_08092F40:
- ldr r1, _08092F50 @ =gUnknown_2039822
+ ldr r1, _08092F50 @ =sIsMonBeingMoved
movs r0, 0
strb r0, [r1]
_08092F46:
@@ -14897,8 +14897,8 @@ _08092F46:
pop {r0}
bx r0
.align 2, 0
-_08092F4C: .4byte gUnknown_2039821
-_08092F50: .4byte gUnknown_2039822
+_08092F4C: .4byte sBoxCursorPosition
+_08092F50: .4byte sIsMonBeingMoved
thumb_func_end sub_8092EF4
thumb_func_start sub_8092F54
@@ -14918,12 +14918,12 @@ sub_8092F60: @ 8092F60
lsrs r5, r1, 24
cmp r4, 0xE
bne _08092F9C
- ldr r0, _08092F8C @ =gUnknown_20397B0
+ ldr r0, _08092F8C @ =sPSSData
ldr r0, [r0]
ldr r1, _08092F90 @ =0x000020a0
adds r0, r1
ldr r3, _08092F94 @ =gPlayerParty
- ldr r1, _08092F98 @ =gUnknown_2039821
+ ldr r1, _08092F98 @ =sBoxCursorPosition
movs r2, 0
ldrsb r2, [r1, r2]
movs r1, 0x64
@@ -14933,12 +14933,12 @@ sub_8092F60: @ 8092F60
bl memcpy
b _08092FAC
.align 2, 0
-_08092F8C: .4byte gUnknown_20397B0
+_08092F8C: .4byte sPSSData
_08092F90: .4byte 0x000020a0
_08092F94: .4byte gPlayerParty
-_08092F98: .4byte gUnknown_2039821
+_08092F98: .4byte sBoxCursorPosition
_08092F9C:
- ldr r0, _08092FC4 @ =gUnknown_20397B0
+ ldr r0, _08092FC4 @ =sPSSData
ldr r2, [r0]
ldr r0, _08092FC8 @ =0x000020a0
adds r2, r0
@@ -14949,18 +14949,18 @@ _08092FAC:
adds r0, r4, 0
adds r1, r5, 0
bl sub_8093030
- ldr r0, _08092FCC @ =gUnknown_2039823
+ ldr r0, _08092FCC @ =sMovingMonOrigBoxId
strb r4, [r0]
- ldr r0, _08092FD0 @ =gUnknown_2039824
+ ldr r0, _08092FD0 @ =sMovingMonOrigBoxPos
strb r5, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
-_08092FC4: .4byte gUnknown_20397B0
+_08092FC4: .4byte sPSSData
_08092FC8: .4byte 0x000020a0
-_08092FCC: .4byte gUnknown_2039823
-_08092FD0: .4byte gUnknown_2039824
+_08092FCC: .4byte sMovingMonOrigBoxId
+_08092FD0: .4byte sMovingMonOrigBoxPos
thumb_func_end sub_8092F60
thumb_func_start diegohint2
@@ -14976,7 +14976,7 @@ diegohint2: @ 8092FD4
movs r0, 0x64
muls r0, r7
adds r0, r1
- ldr r1, _08093000 @ =gUnknown_20397B0
+ ldr r1, _08093000 @ =sPSSData
ldr r1, [r1]
ldr r2, _08093004 @ =0x000020a0
adds r1, r2
@@ -14985,10 +14985,10 @@ diegohint2: @ 8092FD4
b _08093020
.align 2, 0
_08092FFC: .4byte gPlayerParty
-_08093000: .4byte gUnknown_20397B0
+_08093000: .4byte sPSSData
_08093004: .4byte 0x000020a0
_08093008:
- ldr r5, _08093028 @ =gUnknown_20397B0
+ ldr r5, _08093028 @ =sPSSData
ldr r0, [r5]
ldr r4, _0809302C @ =0x000020a0
adds r0, r4
@@ -15003,7 +15003,7 @@ _08093020:
pop {r0}
bx r0
.align 2, 0
-_08093028: .4byte gUnknown_20397B0
+_08093028: .4byte sPSSData
_0809302C: .4byte 0x000020a0
thumb_func_end diegohint2
@@ -15040,7 +15040,7 @@ diegohint1: @ 8093058
lsrs r7, r1, 24
cmp r6, 0xE
bne _0809308C
- ldr r0, _08093080 @ =gUnknown_20397B0
+ ldr r0, _08093080 @ =sPSSData
ldr r0, [r0]
ldr r1, _08093084 @ =0x00002104
adds r0, r1
@@ -15052,11 +15052,11 @@ diegohint1: @ 8093058
bl memcpy
b _0809309C
.align 2, 0
-_08093080: .4byte gUnknown_20397B0
+_08093080: .4byte sPSSData
_08093084: .4byte 0x00002104
_08093088: .4byte gPlayerParty
_0809308C:
- ldr r0, _080930D0 @ =gUnknown_20397B0
+ ldr r0, _080930D0 @ =sPSSData
ldr r2, [r0]
ldr r0, _080930D4 @ =0x00002104
adds r2, r0
@@ -15067,7 +15067,7 @@ _0809309C:
adds r0, r6, 0
adds r1, r7, 0
bl diegohint2
- ldr r5, _080930D0 @ =gUnknown_20397B0
+ ldr r5, _080930D0 @ =sPSSData
ldr r1, [r5]
ldr r4, _080930D8 @ =0x000020a0
adds r0, r1, r4
@@ -15079,19 +15079,19 @@ _0809309C:
adds r0, r4
movs r1, 0
bl sub_8093AD0
- ldr r0, _080930DC @ =gUnknown_2039823
+ ldr r0, _080930DC @ =sMovingMonOrigBoxId
strb r6, [r0]
- ldr r0, _080930E0 @ =gUnknown_2039824
+ ldr r0, _080930E0 @ =sMovingMonOrigBoxPos
strb r7, [r0]
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
-_080930D0: .4byte gUnknown_20397B0
+_080930D0: .4byte sPSSData
_080930D4: .4byte 0x00002104
_080930D8: .4byte 0x000020a0
-_080930DC: .4byte gUnknown_2039823
-_080930E0: .4byte gUnknown_2039824
+_080930DC: .4byte sMovingMonOrigBoxId
+_080930E0: .4byte sMovingMonOrigBoxPos
thumb_func_end diegohint1
thumb_func_start sub_80930E4
@@ -15111,7 +15111,7 @@ sub_80930E4: @ 80930E4
movs r0, 0
b _08093164
_08093102:
- ldr r5, _08093120 @ =gUnknown_2039822
+ ldr r5, _08093120 @ =sIsMonBeingMoved
ldrb r0, [r5]
cmp r0, 0
beq _08093124
@@ -15124,9 +15124,9 @@ _08093102:
strb r0, [r5]
b _0809313E
.align 2, 0
-_08093120: .4byte gUnknown_2039822
+_08093120: .4byte sIsMonBeingMoved
_08093124:
- ldr r5, _0809316C @ =gUnknown_2039821
+ ldr r5, _0809316C @ =sBoxCursorPosition
ldrb r1, [r5]
movs r0, 0xE
bl sub_8092F60
@@ -15145,7 +15145,7 @@ _0809313E:
lsrs r0, r4, 24
bl sub_80901EC
_08093150:
- ldr r0, _08093170 @ =gUnknown_20397B0
+ ldr r0, _08093170 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -15159,14 +15159,14 @@ _08093164:
pop {r1}
bx r1
.align 2, 0
-_0809316C: .4byte gUnknown_2039821
-_08093170: .4byte gUnknown_20397B0
+_0809316C: .4byte sBoxCursorPosition
+_08093170: .4byte sPSSData
thumb_func_end sub_80930E4
thumb_func_start sub_8093174
sub_8093174: @ 8093174
push {lr}
- ldr r0, _08093190 @ =gUnknown_20397B0
+ ldr r0, _08093190 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -15178,22 +15178,22 @@ sub_8093174: @ 8093174
pop {r0}
bx r0
.align 2, 0
-_08093190: .4byte gUnknown_20397B0
+_08093190: .4byte sPSSData
thumb_func_end sub_8093174
thumb_func_start sub_8093194
sub_8093194: @ 8093194
push {lr}
- ldr r0, _080931A4 @ =gUnknown_2039822
+ ldr r0, _080931A4 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080931A8
movs r2, 0x2
b _080931B8
.align 2, 0
-_080931A4: .4byte gUnknown_2039822
+_080931A4: .4byte sIsMonBeingMoved
_080931A8:
- ldr r0, _080931D8 @ =gUnknown_2039820
+ ldr r0, _080931D8 @ =sBoxCursorArea
movs r1, 0
ldrsb r1, [r0, r1]
movs r2, 0x1
@@ -15202,11 +15202,11 @@ _080931A8:
orrs r0, r1
lsrs r2, r0, 31
_080931B8:
- ldr r0, _080931DC @ =gUnknown_2039821
+ ldr r0, _080931DC @ =sBoxCursorPosition
ldrb r1, [r0]
adds r0, r2, 0
bl sub_8090FC4
- ldr r0, _080931E0 @ =gUnknown_20397B0
+ ldr r0, _080931E0 @ =sPSSData
ldr r1, [r0]
ldr r2, _080931E4 @ =0x000021d0
adds r0, r1, r2
@@ -15216,9 +15216,9 @@ _080931B8:
pop {r0}
bx r0
.align 2, 0
-_080931D8: .4byte gUnknown_2039820
-_080931DC: .4byte gUnknown_2039821
-_080931E0: .4byte gUnknown_20397B0
+_080931D8: .4byte sBoxCursorArea
+_080931DC: .4byte sBoxCursorPosition
+_080931E0: .4byte sPSSData
_080931E4: .4byte 0x000021d0
_080931E8: .4byte 0x00000cea
thumb_func_end sub_8093194
@@ -15233,7 +15233,7 @@ sub_80931EC: @ 80931EC
movs r0, 0x1
b _08093210
_080931FC:
- ldr r0, _08093214 @ =gUnknown_20397B0
+ ldr r0, _08093214 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -15246,14 +15246,14 @@ _08093210:
pop {r1}
bx r1
.align 2, 0
-_08093214: .4byte gUnknown_20397B0
+_08093214: .4byte sPSSData
thumb_func_end sub_80931EC
thumb_func_start sub_8093218
sub_8093218: @ 8093218
push {lr}
bl sub_80910CC
- ldr r1, _0809322C @ =gUnknown_2039822
+ ldr r1, _0809322C @ =sIsMonBeingMoved
ldrb r0, [r1]
cmp r0, 0
beq _08093230
@@ -15261,9 +15261,9 @@ sub_8093218: @ 8093218
strb r0, [r1]
b _08093256
.align 2, 0
-_0809322C: .4byte gUnknown_2039822
+_0809322C: .4byte sIsMonBeingMoved
_08093230:
- ldr r0, _08093240 @ =gUnknown_2039820
+ ldr r0, _08093240 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -15272,13 +15272,13 @@ _08093230:
movs r2, 0xE
b _0809324C
.align 2, 0
-_08093240: .4byte gUnknown_2039820
+_08093240: .4byte sBoxCursorArea
_08093244:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r2, r0, 24
_0809324C:
- ldr r0, _08093260 @ =gUnknown_2039821
+ ldr r0, _08093260 @ =sBoxCursorPosition
ldrb r1, [r0]
adds r0, r2, 0
bl sub_8093030
@@ -15287,17 +15287,17 @@ _08093256:
pop {r0}
bx r0
.align 2, 0
-_08093260: .4byte gUnknown_2039821
+_08093260: .4byte sBoxCursorPosition
thumb_func_end sub_8093218
thumb_func_start sub_8093264
sub_8093264: @ 8093264
push {lr}
- ldr r0, _08093284 @ =gUnknown_2039822
+ ldr r0, _08093284 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _08093280
- ldr r0, _08093288 @ =gUnknown_20397B0
+ ldr r0, _08093288 @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -15309,18 +15309,18 @@ _08093280:
pop {r0}
bx r0
.align 2, 0
-_08093284: .4byte gUnknown_2039822
-_08093288: .4byte gUnknown_20397B0
+_08093284: .4byte sIsMonBeingMoved
+_08093288: .4byte sPSSData
thumb_func_end sub_8093264
thumb_func_start sub_809328C
sub_809328C: @ 809328C
push {r4-r6,lr}
- ldr r0, _080932C0 @ =gUnknown_2039822
+ ldr r0, _080932C0 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080932D8
- ldr r4, _080932C4 @ =gUnknown_20397B0
+ ldr r4, _080932C4 @ =sPSSData
ldr r1, [r4]
ldr r2, _080932C8 @ =0x00002104
adds r0, r1, r2
@@ -15340,25 +15340,25 @@ sub_809328C: @ 809328C
negs r1, r1
b _08093354
.align 2, 0
-_080932C0: .4byte gUnknown_2039822
-_080932C4: .4byte gUnknown_20397B0
+_080932C0: .4byte sIsMonBeingMoved
+_080932C4: .4byte sPSSData
_080932C8: .4byte 0x00002104
_080932CC: .4byte 0x000020a0
_080932D0: .4byte 0x0000216e
_080932D4: .4byte 0x0000216f
_080932D8:
- ldr r0, _0809330C @ =gUnknown_2039820
+ ldr r0, _0809330C @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _08093324
- ldr r4, _08093310 @ =gUnknown_20397B0
+ ldr r4, _08093310 @ =sPSSData
ldr r0, [r4]
ldr r3, _08093314 @ =0x00002104
adds r0, r3
ldr r3, _08093318 @ =gPlayerParty
- ldr r1, _0809331C @ =gUnknown_2039821
+ ldr r1, _0809331C @ =sBoxCursorPosition
movs r2, 0
ldrsb r2, [r1, r2]
movs r1, 0x64
@@ -15373,19 +15373,19 @@ _080932D8:
strb r1, [r0]
b _08093348
.align 2, 0
-_0809330C: .4byte gUnknown_2039820
-_08093310: .4byte gUnknown_20397B0
+_0809330C: .4byte sBoxCursorArea
+_08093310: .4byte sPSSData
_08093314: .4byte 0x00002104
_08093318: .4byte gPlayerParty
-_0809331C: .4byte gUnknown_2039821
+_0809331C: .4byte sBoxCursorPosition
_08093320: .4byte 0x0000216e
_08093324:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r1, _080933BC @ =gUnknown_2039821
+ ldr r1, _080933BC @ =sBoxCursorPosition
ldrb r1, [r1]
- ldr r4, _080933C0 @ =gUnknown_20397B0
+ ldr r4, _080933C0 @ =sPSSData
ldr r2, [r4]
ldr r3, _080933C4 @ =0x00002104
adds r2, r3
@@ -15396,15 +15396,15 @@ _08093324:
adds r1, r2
strb r0, [r1]
_08093348:
- ldr r0, _080933C0 @ =gUnknown_20397B0
+ ldr r0, _080933C0 @ =sPSSData
ldr r0, [r0]
- ldr r1, _080933BC @ =gUnknown_2039821
+ ldr r1, _080933BC @ =sBoxCursorPosition
ldrb r1, [r1]
ldr r3, _080933CC @ =0x0000216f
adds r0, r3
_08093354:
strb r1, [r0]
- ldr r6, _080933C0 @ =gUnknown_20397B0
+ ldr r6, _080933C0 @ =sPSSData
ldr r0, [r6]
ldr r4, _080933D0 @ =0x0000216a
adds r0, r4
@@ -15455,8 +15455,8 @@ _08093354:
strb r0, [r1]
b _080933FE
.align 2, 0
-_080933BC: .4byte gUnknown_2039821
-_080933C0: .4byte gUnknown_20397B0
+_080933BC: .4byte sBoxCursorPosition
+_080933C0: .4byte sPSSData
_080933C4: .4byte 0x00002104
_080933C8: .4byte 0x0000216e
_080933CC: .4byte 0x0000216f
@@ -15477,7 +15477,7 @@ _080933F0:
adds r0, r1
strb r2, [r0]
_080933FE:
- ldr r0, _08093418 @ =gUnknown_20397B0
+ ldr r0, _08093418 @ =sPSSData
ldr r0, [r0]
ldr r2, _0809341C @ =0x00002170
adds r0, r2
@@ -15489,7 +15489,7 @@ _080933FE:
.align 2, 0
_08093410: .4byte 0x00002169
_08093414: .4byte 0x00002168
-_08093418: .4byte gUnknown_20397B0
+_08093418: .4byte sPSSData
_0809341C: .4byte 0x00002170
thumb_func_end sub_809328C
@@ -15498,7 +15498,7 @@ sub_8093420: @ 8093420
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _08093444 @ =gUnknown_20397B0
+ ldr r0, _08093444 @ =sPSSData
ldr r3, [r0]
ldr r2, _08093448 @ =0x00002169
adds r1, r3, r2
@@ -15513,7 +15513,7 @@ sub_8093420: @ 8093420
asrs r0, 24
b _08093604
.align 2, 0
-_08093444: .4byte gUnknown_20397B0
+_08093444: .4byte sPSSData
_08093448: .4byte 0x00002169
_0809344C: .4byte 0x00002168
_08093450:
@@ -15569,7 +15569,7 @@ _08093488:
_080934AE:
movs r0, 0x2
ands r4, r0
- ldr r0, _08093510 @ =gUnknown_20397B0
+ ldr r0, _08093510 @ =sPSSData
mov r12, r0
cmp r4, 0
beq _080934C2
@@ -15614,7 +15614,7 @@ _08093500: .4byte 0x0000216e
_08093504: .4byte gPlayerParty
_08093508: .4byte 0x00002172
_0809350C: .4byte 0x0000216a
-_08093510: .4byte gUnknown_20397B0
+_08093510: .4byte sPSSData
_08093514: .4byte 0x0000216b
_08093518: .4byte 0x0000216c
_0809351C: .4byte 0x0000216d
@@ -15686,7 +15686,7 @@ _0809358E:
movs r1, 0
strb r1, [r0]
_080935A0:
- ldr r2, _08093628 @ =gUnknown_20397B0
+ ldr r2, _08093628 @ =sPSSData
ldr r1, [r2]
ldr r0, _08093618 @ =0x0000216d
adds r1, r0
@@ -15753,19 +15753,19 @@ _08093618: .4byte 0x0000216d
_0809361C: .4byte 0x0000216e
_08093620: .4byte 0x0000216a
_08093624: .4byte 0x0000216b
-_08093628: .4byte gUnknown_20397B0
+_08093628: .4byte sPSSData
_0809362C: .4byte 0x00002168
thumb_func_end sub_8093420
thumb_func_start sub_8093630
sub_8093630: @ 8093630
push {lr}
- ldr r0, _08093650 @ =gUnknown_2039822
+ ldr r0, _08093650 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _0809364A
ldr r0, _08093654 @ =gUnknown_20397BC
- ldr r1, _08093658 @ =gUnknown_20397B0
+ ldr r1, _08093658 @ =sPSSData
ldr r1, [r1]
ldr r2, _0809365C @ =0x000020a0
adds r1, r2
@@ -15775,24 +15775,24 @@ _0809364A:
pop {r0}
bx r0
.align 2, 0
-_08093650: .4byte gUnknown_2039822
+_08093650: .4byte sIsMonBeingMoved
_08093654: .4byte gUnknown_20397BC
-_08093658: .4byte gUnknown_20397B0
+_08093658: .4byte sPSSData
_0809365C: .4byte 0x000020a0
thumb_func_end sub_8093630
thumb_func_start sub_8093660
sub_8093660: @ 8093660
push {lr}
- ldr r0, _08093684 @ =gUnknown_2039822
+ ldr r0, _08093684 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080936A8
- ldr r0, _08093688 @ =gUnknown_2039823
+ ldr r0, _08093688 @ =sMovingMonOrigBoxId
ldrb r0, [r0]
cmp r0, 0xE
bne _08093698
- ldr r0, _0809368C @ =gUnknown_20397B0
+ ldr r0, _0809368C @ =sPSSData
ldr r0, [r0]
ldr r1, _08093690 @ =0x000020a0
adds r0, r1
@@ -15801,13 +15801,13 @@ sub_8093660: @ 8093660
bl memcpy
b _080936A8
.align 2, 0
-_08093684: .4byte gUnknown_2039822
-_08093688: .4byte gUnknown_2039823
-_0809368C: .4byte gUnknown_20397B0
+_08093684: .4byte sIsMonBeingMoved
+_08093688: .4byte sMovingMonOrigBoxId
+_0809368C: .4byte sPSSData
_08093690: .4byte 0x000020a0
_08093694: .4byte gUnknown_20397BC
_08093698:
- ldr r0, _080936AC @ =gUnknown_20397B0
+ ldr r0, _080936AC @ =sPSSData
ldr r0, [r0]
ldr r1, _080936B0 @ =0x000020a0
adds r0, r1
@@ -15818,7 +15818,7 @@ _080936A8:
pop {r0}
bx r0
.align 2, 0
-_080936AC: .4byte gUnknown_20397B0
+_080936AC: .4byte sPSSData
_080936B0: .4byte 0x000020a0
_080936B4: .4byte gUnknown_20397BC
thumb_func_end sub_8093660
@@ -15826,12 +15826,12 @@ _080936B4: .4byte gUnknown_20397BC
thumb_func_start sub_80936B8
sub_80936B8: @ 80936B8
push {r4,r5,lr}
- ldr r0, _080936EC @ =gUnknown_2039822
+ ldr r0, _080936EC @ =sIsMonBeingMoved
ldrb r5, [r0]
cmp r5, 0
beq _08093708
bl sub_8093630
- ldr r3, _080936F0 @ =gUnknown_20397B0
+ ldr r3, _080936F0 @ =sPSSData
ldr r1, [r3]
ldr r0, _080936F4 @ =0x0000217c
adds r2, r1, r0
@@ -15851,27 +15851,27 @@ sub_80936B8: @ 80936B8
strb r2, [r0]
b _0809379A
.align 2, 0
-_080936EC: .4byte gUnknown_2039822
-_080936F0: .4byte gUnknown_20397B0
+_080936EC: .4byte sIsMonBeingMoved
+_080936F0: .4byte sPSSData
_080936F4: .4byte 0x0000217c
_080936F8: .4byte gUnknown_20397BC
_080936FC: .4byte 0x00002179
_08093700: .4byte 0x00002178
_08093704: .4byte 0x0000217a
_08093708:
- ldr r0, _08093744 @ =gUnknown_2039820
+ ldr r0, _08093744 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _08093764
- ldr r4, _08093748 @ =gUnknown_20397B0
+ ldr r4, _08093748 @ =sPSSData
ldr r1, [r4]
ldr r0, _0809374C @ =0x0000217c
adds r2, r1, r0
ldr r0, _08093750 @ =gPlayerParty
str r0, [r2]
- ldr r0, _08093754 @ =gUnknown_2039821
+ ldr r0, _08093754 @ =sBoxCursorPosition
ldrb r0, [r0]
ldr r2, _08093758 @ =0x00002179
adds r1, r2
@@ -15888,11 +15888,11 @@ _08093708:
strb r5, [r0]
b _0809379A
.align 2, 0
-_08093744: .4byte gUnknown_2039820
-_08093748: .4byte gUnknown_20397B0
+_08093744: .4byte sBoxCursorArea
+_08093748: .4byte sPSSData
_0809374C: .4byte 0x0000217c
_08093750: .4byte gPlayerParty
-_08093754: .4byte gUnknown_2039821
+_08093754: .4byte sBoxCursorPosition
_08093758: .4byte 0x00002179
_0809375C: .4byte 0x00002178
_08093760: .4byte 0x0000217a
@@ -15902,12 +15902,12 @@ _08093764:
lsrs r0, 24
movs r1, 0
bl GetBoxedMonPtr
- ldr r3, _080937A0 @ =gUnknown_20397B0
+ ldr r3, _080937A0 @ =sPSSData
ldr r2, [r3]
ldr r4, _080937A4 @ =0x0000217c
adds r1, r2, r4
str r0, [r1]
- ldr r0, _080937A8 @ =gUnknown_2039821
+ ldr r0, _080937A8 @ =sBoxCursorPosition
ldrb r0, [r0]
ldr r1, _080937AC @ =0x00002179
adds r2, r1
@@ -15927,9 +15927,9 @@ _0809379A:
pop {r0}
bx r0
.align 2, 0
-_080937A0: .4byte gUnknown_20397B0
+_080937A0: .4byte sPSSData
_080937A4: .4byte 0x0000217c
-_080937A8: .4byte gUnknown_2039821
+_080937A8: .4byte sBoxCursorPosition
_080937AC: .4byte 0x00002179
_080937B0: .4byte 0x00002178
thumb_func_end sub_80936B8
@@ -15937,16 +15937,16 @@ _080937B0: .4byte 0x00002178
thumb_func_start sub_80937B4
sub_80937B4: @ 80937B4
push {r4,lr}
- ldr r0, _080937C4 @ =gUnknown_2039822
+ ldr r0, _080937C4 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080937C8
bl sub_8093660
b _080937D0
.align 2, 0
-_080937C4: .4byte gUnknown_2039822
+_080937C4: .4byte sIsMonBeingMoved
_080937C8:
- ldr r4, _080937D8 @ =gUnknown_2039821
+ ldr r4, _080937D8 @ =sBoxCursorPosition
bl GetLastViewedMonIndex
strb r0, [r4]
_080937D0:
@@ -15954,7 +15954,7 @@ _080937D0:
pop {r0}
bx r0
.align 2, 0
-_080937D8: .4byte gUnknown_2039821
+_080937D8: .4byte sBoxCursorPosition
thumb_func_end sub_80937B4
thumb_func_start CompactPartySlots
@@ -16048,12 +16048,12 @@ sub_8093878: @ 8093878
lsrs r0, 24
mov r1, sp
strb r0, [r1]
- ldr r2, _080938A8 @ =gUnknown_20397B0
+ ldr r2, _080938A8 @ =sPSSData
ldr r1, [r2]
ldr r3, _080938AC @ =0x00000ce7
adds r1, r3
strb r0, [r1]
- ldr r0, _080938B0 @ =gUnknown_2039822
+ ldr r0, _080938B0 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080938B8
@@ -16065,17 +16065,17 @@ sub_8093878: @ 8093878
bl SetMonData
b _080938EC
.align 2, 0
-_080938A8: .4byte gUnknown_20397B0
+_080938A8: .4byte sPSSData
_080938AC: .4byte 0x00000ce7
-_080938B0: .4byte gUnknown_2039822
+_080938B0: .4byte sIsMonBeingMoved
_080938B4: .4byte 0x000020a0
_080938B8:
- ldr r4, _080938F4 @ =gUnknown_2039820
+ ldr r4, _080938F4 @ =sBoxCursorArea
movs r0, 0
ldrsb r0, [r4, r0]
cmp r0, 0x1
bne _080938D8
- ldr r0, _080938F8 @ =gUnknown_2039821
+ ldr r0, _080938F8 @ =sBoxCursorPosition
movs r1, 0
ldrsb r1, [r0, r1]
movs r0, 0x64
@@ -16090,7 +16090,7 @@ _080938D8:
ldrsb r0, [r4, r0]
cmp r0, 0
bne _080938EC
- ldr r0, _080938F8 @ =gUnknown_2039821
+ ldr r0, _080938F8 @ =sBoxCursorPosition
ldrb r0, [r0]
movs r1, 0x8
mov r2, sp
@@ -16101,25 +16101,25 @@ _080938EC:
pop {r0}
bx r0
.align 2, 0
-_080938F4: .4byte gUnknown_2039820
-_080938F8: .4byte gUnknown_2039821
+_080938F4: .4byte sBoxCursorArea
+_080938F8: .4byte sBoxCursorPosition
_080938FC: .4byte gPlayerParty
thumb_func_end sub_8093878
thumb_func_start sub_8093900
sub_8093900: @ 8093900
push {lr}
- ldr r0, _08093928 @ =gUnknown_2039820
+ ldr r0, _08093928 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _08093934
- ldr r0, _0809392C @ =gUnknown_2039822
+ ldr r0, _0809392C @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
bne _08093934
- ldr r0, _08093930 @ =gUnknown_2039821
+ ldr r0, _08093930 @ =sBoxCursorPosition
ldrb r0, [r0]
bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
@@ -16128,9 +16128,9 @@ sub_8093900: @ 8093900
movs r0, 0x1
b _08093936
.align 2, 0
-_08093928: .4byte gUnknown_2039820
-_0809392C: .4byte gUnknown_2039822
-_08093930: .4byte gUnknown_2039821
+_08093928: .4byte sBoxCursorArea
+_0809392C: .4byte sIsMonBeingMoved
+_08093930: .4byte sBoxCursorPosition
_08093934:
movs r0, 0
_08093936:
@@ -16141,23 +16141,23 @@ _08093936:
thumb_func_start sub_809393C
sub_809393C: @ 809393C
push {lr}
- ldr r0, _08093980 @ =gUnknown_2039822
+ ldr r0, _08093980 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _08093998
- ldr r0, _08093984 @ =gUnknown_2039820
+ ldr r0, _08093984 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x1
bne _0809397C
- ldr r0, _08093988 @ =gUnknown_2039821
+ ldr r0, _08093988 @ =sBoxCursorPosition
ldrb r0, [r0]
bl CountPartyAliveNonEggMonsExcept
lsls r0, 24
cmp r0, 0
bne _0809397C
- ldr r0, _0809398C @ =gUnknown_20397B0
+ ldr r0, _0809398C @ =sPSSData
ldr r1, [r0]
ldr r2, _08093990 @ =0x00000ce9
adds r0, r1, r2
@@ -16174,10 +16174,10 @@ _0809397C:
movs r0, 0x1
b _0809399A
.align 2, 0
-_08093980: .4byte gUnknown_2039822
-_08093984: .4byte gUnknown_2039820
-_08093988: .4byte gUnknown_2039821
-_0809398C: .4byte gUnknown_20397B0
+_08093980: .4byte sIsMonBeingMoved
+_08093984: .4byte sBoxCursorArea
+_08093988: .4byte sBoxCursorPosition
+_0809398C: .4byte sPSSData
_08093990: .4byte 0x00000ce9
_08093994: .4byte 0x000020a0
_08093998:
@@ -16189,18 +16189,18 @@ _0809399A:
thumb_func_start sub_80939A0
sub_80939A0: @ 80939A0
- ldr r0, _080939A8 @ =gUnknown_2039822
+ ldr r0, _080939A8 @ =sIsMonBeingMoved
ldrb r0, [r0]
bx lr
.align 2, 0
-_080939A8: .4byte gUnknown_2039822
+_080939A8: .4byte sIsMonBeingMoved
thumb_func_end sub_80939A0
thumb_func_start sub_80939AC
sub_80939AC: @ 80939AC
push {lr}
movs r1, 0
- ldr r0, _080939C4 @ =gUnknown_2039820
+ ldr r0, _080939C4 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -16212,20 +16212,20 @@ _080939BE:
pop {r1}
bx r1
.align 2, 0
-_080939C4: .4byte gUnknown_2039820
+_080939C4: .4byte sBoxCursorArea
thumb_func_end sub_80939AC
thumb_func_start sub_80939C8
sub_80939C8: @ 80939C8
push {lr}
movs r1, 0
- ldr r0, _080939EC @ =gUnknown_2039820
+ ldr r0, _080939EC @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0x3
bne _080939E6
- ldr r0, _080939F0 @ =gUnknown_2039821
+ ldr r0, _080939F0 @ =sBoxCursorPosition
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -16237,15 +16237,15 @@ _080939E6:
pop {r1}
bx r1
.align 2, 0
-_080939EC: .4byte gUnknown_2039820
-_080939F0: .4byte gUnknown_2039821
+_080939EC: .4byte sBoxCursorArea
+_080939F0: .4byte sBoxCursorPosition
thumb_func_end sub_80939C8
thumb_func_start sub_80939F4
sub_80939F4: @ 80939F4
push {lr}
movs r1, 0
- ldr r0, _08093A0C @ =gUnknown_2039820
+ ldr r0, _08093A0C @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -16257,16 +16257,16 @@ _08093A06:
pop {r1}
bx r1
.align 2, 0
-_08093A0C: .4byte gUnknown_2039820
+_08093A0C: .4byte sBoxCursorArea
thumb_func_end sub_80939F4
thumb_func_start sub_8093A10
sub_8093A10: @ 8093A10
push {r4,lr}
- ldr r0, _08093A44 @ =gUnknown_20397B0
+ ldr r0, _08093A44 @ =sPSSData
ldr r1, [r0]
movs r2, 0
- ldr r3, _08093A48 @ =gUnknown_2039822
+ ldr r3, _08093A48 @ =sIsMonBeingMoved
ldrb r0, [r3]
cmp r0, 0
bne _08093A22
@@ -16278,7 +16278,7 @@ _08093A22:
ldrb r0, [r3]
cmp r0, 0
bne _08093AA0
- ldr r0, _08093A50 @ =gUnknown_2039820
+ ldr r0, _08093A50 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -16290,16 +16290,16 @@ _08093A22:
beq _08093A8A
b _08093AA0
.align 2, 0
-_08093A44: .4byte gUnknown_20397B0
-_08093A48: .4byte gUnknown_2039822
+_08093A44: .4byte sPSSData
+_08093A48: .4byte sIsMonBeingMoved
_08093A4C: .4byte 0x00000ce6
-_08093A50: .4byte gUnknown_2039820
+_08093A50: .4byte sBoxCursorArea
_08093A54:
cmp r0, 0x3
bgt _08093AA0
b _08093A80
_08093A5A:
- ldr r1, _08093A78 @ =gUnknown_2039821
+ ldr r1, _08093A78 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r1, r0]
cmp r0, 0x5
@@ -16313,7 +16313,7 @@ _08093A5A:
bl sub_8093AD0
b _08093AA0
.align 2, 0
-_08093A78: .4byte gUnknown_2039821
+_08093A78: .4byte sBoxCursorPosition
_08093A7C: .4byte gPlayerParty
_08093A80:
movs r0, 0
@@ -16324,7 +16324,7 @@ _08093A8A:
bl StorageGetCurrentBox
lsls r0, 24
lsrs r0, 24
- ldr r1, _08093AA8 @ =gUnknown_2039821
+ ldr r1, _08093AA8 @ =sBoxCursorPosition
ldrb r1, [r1]
bl GetBoxedMonPtr
movs r1, 0x1
@@ -16334,13 +16334,13 @@ _08093AA0:
pop {r0}
bx r0
.align 2, 0
-_08093AA8: .4byte gUnknown_2039821
+_08093AA8: .4byte sBoxCursorPosition
thumb_func_end sub_8093A10
thumb_func_start sub_8093AAC
sub_8093AAC: @ 8093AAC
push {lr}
- ldr r0, _08093AC0 @ =gUnknown_2039822
+ ldr r0, _08093AC0 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _08093AC8
@@ -16349,7 +16349,7 @@ sub_8093AAC: @ 8093AAC
bl sub_8093AD0
b _08093ACC
.align 2, 0
-_08093AC0: .4byte gUnknown_2039822
+_08093AC0: .4byte sIsMonBeingMoved
_08093AC4: .4byte gUnknown_20397BC
_08093AC8:
bl sub_8093A10
@@ -16369,7 +16369,7 @@ sub_8093AD0: @ 8093AD0
lsls r1, 24
lsrs r1, 24
adds r5, r1, 0
- ldr r0, _08093B38 @ =gUnknown_20397B0
+ ldr r0, _08093B38 @ =sPSSData
mov r8, r0
ldr r1, [r0]
ldr r3, _08093B3C @ =0x00000ce2
@@ -16411,7 +16411,7 @@ _08093B16:
strb r1, [r0]
b _08093B56
.align 2, 0
-_08093B38: .4byte gUnknown_20397B0
+_08093B38: .4byte sPSSData
_08093B3C: .4byte 0x00000ce2
_08093B40: .4byte 0x00000ce9
_08093B44:
@@ -16424,7 +16424,7 @@ _08093B44:
adds r1, r2
strb r0, [r1]
_08093B56:
- ldr r4, _08093BD0 @ =gUnknown_20397B0
+ ldr r4, _08093BD0 @ =sPSSData
ldr r2, [r4]
ldr r5, _08093BD4 @ =0x00000cea
adds r2, r5
@@ -16476,7 +16476,7 @@ _08093B56:
b _08093CFC
.align 2, 0
_08093BCC: .4byte 0x00000ce9
-_08093BD0: .4byte gUnknown_20397B0
+_08093BD0: .4byte sPSSData
_08093BD4: .4byte 0x00000cea
_08093BD8: .4byte 0x00000ce8
_08093BDC: .4byte 0x00000ce7
@@ -16533,7 +16533,7 @@ _08093C3C:
adds r1, r2
strb r0, [r1]
_08093C4E:
- ldr r5, _08093CD4 @ =gUnknown_20397B0
+ ldr r5, _08093CD4 @ =sPSSData
ldr r2, [r5]
ldr r4, _08093CD8 @ =0x00000cea
adds r2, r4
@@ -16591,7 +16591,7 @@ _08093C4E:
b _08093CFC
.align 2, 0
_08093CD0: .4byte 0x00000ce9
-_08093CD4: .4byte gUnknown_20397B0
+_08093CD4: .4byte sPSSData
_08093CD8: .4byte 0x00000cea
_08093CDC: .4byte 0x00000ce8
_08093CE0: .4byte 0x00000ce7
@@ -16606,7 +16606,7 @@ _08093CF0:
strh r1, [r0]
strh r1, [r2]
_08093CFC:
- ldr r0, _08093D50 @ =gUnknown_20397B0
+ ldr r0, _08093D50 @ =sPSSData
ldr r1, [r0]
movs r2, 0xCE
lsls r2, 4
@@ -16615,7 +16615,7 @@ _08093CFC:
cmp r2, 0
bne _08093D68
_08093D0C:
- ldr r4, _08093D50 @ =gUnknown_20397B0
+ ldr r4, _08093D50 @ =sPSSData
ldr r0, [r4]
ldr r3, _08093D54 @ =0x00000cea
adds r0, r3
@@ -16645,7 +16645,7 @@ _08093D0C:
adds r0, r1
b _08093DC6
.align 2, 0
-_08093D50: .4byte gUnknown_20397B0
+_08093D50: .4byte sPSSData
_08093D54: .4byte 0x00000cea
_08093D58: .4byte 0x00000cf5
_08093D5C: .4byte 0x00000d19
@@ -16679,7 +16679,7 @@ _08093D94:
movs r3, 0x8
bl StringCopyPadded
_08093DA2:
- ldr r4, _08093DD8 @ =gUnknown_20397B0
+ ldr r4, _08093DD8 @ =sPSSData
ldr r0, [r4]
ldr r3, _08093DDC @ =0x00000d19
adds r0, r3
@@ -16703,7 +16703,7 @@ _08093DC6:
.align 2, 0
_08093DD0: .4byte 0x00000cf5
_08093DD4: .4byte gText_EggNickname
-_08093DD8: .4byte gUnknown_20397B0
+_08093DD8: .4byte sPSSData
_08093DDC: .4byte 0x00000d19
_08093DE0: .4byte 0x00000d3d
_08093DE4: .4byte 0x00000d61
@@ -16716,7 +16716,7 @@ _08093DF0:
movs r3, 0xFF
mov r9, r3
_08093DF4:
- ldr r4, _08093E78 @ =gUnknown_20397B0
+ ldr r4, _08093E78 @ =sPSSData
ldr r1, [r4]
ldr r2, _08093E7C @ =0x00000cf5
adds r0, r1, r2
@@ -16780,7 +16780,7 @@ _08093DF4:
adds r2, r4, r0
b _08093EF2
.align 2, 0
-_08093E78: .4byte gUnknown_20397B0
+_08093E78: .4byte sPSSData
_08093E7C: .4byte 0x00000cf5
_08093E80: .4byte 0x00000cea
_08093E84: .4byte 0x00000d19
@@ -16855,7 +16855,7 @@ _08093EF2:
movs r0, 0x5
strb r0, [r2]
adds r2, 0x1
- ldr r4, _08093F68 @ =gUnknown_20397B0
+ ldr r4, _08093F68 @ =sPSSData
ldr r0, [r4]
ldr r1, _08093F6C @ =0x00000ce8
adds r0, r1
@@ -16886,7 +16886,7 @@ _08093EF2:
.align 2, 0
_08093F60: .4byte 0x00000d41
_08093F64: .4byte 0x00000d42
-_08093F68: .4byte gUnknown_20397B0
+_08093F68: .4byte sPSSData
_08093F6C: .4byte 0x00000ce8
_08093F70: .4byte 0x00000ce2
_08093F74: .4byte 0x00000d61
@@ -16911,7 +16911,7 @@ _08093F94: .4byte 0x00000d61
thumb_func_start sub_8093F98
sub_8093F98: @ 8093F98
push {lr}
- ldr r0, _08093FB8 @ =gUnknown_20397B0
+ ldr r0, _08093FB8 @ =sPSSData
ldr r0, [r0]
ldr r1, _08093FBC @ =0x000021ef
adds r0, r1
@@ -16926,7 +16926,7 @@ _08093FB0:
bl sub_8093FD4
b _08093FCA
.align 2, 0
-_08093FB8: .4byte gUnknown_20397B0
+_08093FB8: .4byte sPSSData
_08093FBC: .4byte 0x000021ef
_08093FC0:
bl sub_8094240
@@ -16947,12 +16947,12 @@ sub_8093FD4: @ 8093FD4
mov r6, r9
mov r5, r8
push {r5-r7}
- ldr r0, _08094058 @ =gUnknown_2039820
+ ldr r0, _08094058 @ =sBoxCursorArea
ldrb r0, [r0]
mov r8, r0
- ldr r2, _0809405C @ =gUnknown_2039821
+ ldr r2, _0809405C @ =sBoxCursorPosition
ldrb r4, [r2]
- ldr r5, _08094060 @ =gUnknown_20397B0
+ ldr r5, _08094060 @ =sPSSData
ldr r0, [r5]
ldr r1, _08094064 @ =0x00000cce
mov r10, r1
@@ -17009,9 +17009,9 @@ _08094034:
strb r6, [r0]
b _08094224
.align 2, 0
-_08094058: .4byte gUnknown_2039820
-_0809405C: .4byte gUnknown_2039821
-_08094060: .4byte gUnknown_20397B0
+_08094058: .4byte sBoxCursorArea
+_0809405C: .4byte sBoxCursorPosition
+_08094060: .4byte sPSSData
_08094064: .4byte 0x00000cce
_08094068: .4byte 0x00000ccf
_0809406C: .4byte 0x00000cd3
@@ -17089,20 +17089,20 @@ _080940EC:
lsls r0, 24
cmp r0, 0
beq _080941B0
- ldr r0, _0809410C @ =gUnknown_2039825
+ ldr r0, _0809410C @ =sCanOnlyMove
ldrb r0, [r0]
cmp r0, 0
bne _08094110
movs r0, 0x8
b _08094232
.align 2, 0
-_0809410C: .4byte gUnknown_2039825
+_0809410C: .4byte sCanOnlyMove
_08094110:
ldr r1, [r5]
ldrb r0, [r1, 0x1]
cmp r0, 0x2
bne _08094120
- ldr r0, _0809413C @ =gUnknown_2039822
+ ldr r0, _0809413C @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0x1
bne _080941A0
@@ -17120,7 +17120,7 @@ _08094120:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0809413C: .4byte gUnknown_2039822
+_0809413C: .4byte sIsMonBeingMoved
_08094140: .4byte _08094144
.align 2, 0
_08094144:
@@ -17267,7 +17267,7 @@ sub_8094240: @ 8094240
ands r0, r1
cmp r0, 0
beq _08094278
- ldr r4, _08094274 @ =gUnknown_2039821
+ ldr r4, _08094274 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -17280,13 +17280,13 @@ sub_8094240: @ 8094240
b _080942DA
.align 2, 0
_08094270: .4byte gMain
-_08094274: .4byte gUnknown_2039821
+_08094274: .4byte sBoxCursorPosition
_08094278:
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _08094298
- ldr r1, _08094294 @ =gUnknown_2039821
+ ldr r1, _08094294 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r1, r0]
adds r0, 0x6
@@ -17296,13 +17296,13 @@ _08094278:
adds r1, 0x6
b _080942DA
.align 2, 0
-_08094294: .4byte gUnknown_2039821
+_08094294: .4byte sBoxCursorPosition
_08094298:
movs r0, 0x20
ands r0, r1
cmp r0, 0
beq _080942BC
- ldr r4, _080942B8 @ =gUnknown_2039821
+ ldr r4, _080942B8 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -17314,13 +17314,13 @@ _08094298:
subs r1, 0x1
b _080942DA
.align 2, 0
-_080942B8: .4byte gUnknown_2039821
+_080942B8: .4byte sBoxCursorPosition
_080942BC:
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _080942F0
- ldr r4, _080942E8 @ =gUnknown_2039821
+ ldr r4, _080942E8 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
adds r0, 0x1
@@ -17338,7 +17338,7 @@ _080942DA:
movs r0, 0x15
b _08094364
.align 2, 0
-_080942E8: .4byte gUnknown_2039821
+_080942E8: .4byte sBoxCursorPosition
_080942EC:
movs r0, 0x18
b _08094364
@@ -17349,14 +17349,14 @@ _080942F4:
bl sub_8095AA0
lsls r0, 24
lsrs r0, 24
- ldr r1, _08094330 @ =gUnknown_2039821
+ ldr r1, _08094330 @ =sBoxCursorPosition
ldrb r1, [r1]
lsls r1, 24
asrs r1, 24
cmp r0, r1
beq _08094344
- ldr r2, _08094334 @ =gUnknown_2039822
- ldr r0, _08094338 @ =gUnknown_20397B0
+ ldr r2, _08094334 @ =sIsMonBeingMoved
+ ldr r0, _08094338 @ =sPSSData
ldr r1, [r0]
movs r3, 0xCE
lsls r3, 4
@@ -17370,18 +17370,18 @@ _080942F4:
movs r0, 0x2
strb r0, [r1]
bl StorageGetCurrentBox
- ldr r1, _08094340 @ =gUnknown_2039823
+ ldr r1, _08094340 @ =sMovingMonOrigBoxId
strb r0, [r1]
movs r0, 0x17
b _08094364
.align 2, 0
-_08094330: .4byte gUnknown_2039821
-_08094334: .4byte gUnknown_2039822
-_08094338: .4byte gUnknown_20397B0
+_08094330: .4byte sBoxCursorPosition
+_08094334: .4byte sIsMonBeingMoved
+_08094338: .4byte sPSSData
_0809433C: .4byte 0x000021ef
-_08094340: .4byte gUnknown_2039823
+_08094340: .4byte sMovingMonOrigBoxId
_08094344:
- ldr r1, _0809436C @ =gUnknown_20397B0
+ ldr r1, _0809436C @ =sPSSData
ldr r0, [r1]
ldr r2, _08094370 @ =0x000021ef
adds r0, r2
@@ -17402,7 +17402,7 @@ _08094364:
pop {r1}
bx r1
.align 2, 0
-_0809436C: .4byte gUnknown_20397B0
+_0809436C: .4byte sPSSData
_08094370: .4byte 0x000021ef
_08094374: .4byte 0x00000cb4
thumb_func_end sub_8094240
@@ -17421,13 +17421,13 @@ sub_8094378: @ 8094378
lsls r0, 24
cmp r0, 0
beq _08094450
- ldr r0, _080943A0 @ =gUnknown_2039821
+ ldr r0, _080943A0 @ =sBoxCursorPosition
ldrb r1, [r0]
subs r1, 0x6
b _08094402
.align 2, 0
_0809439C: .4byte gMain
-_080943A0: .4byte gUnknown_2039821
+_080943A0: .4byte sBoxCursorPosition
_080943A4:
movs r0, 0x80
ands r0, r1
@@ -17438,12 +17438,12 @@ _080943A4:
lsls r0, 24
cmp r0, 0
beq _08094450
- ldr r0, _080943C0 @ =gUnknown_2039821
+ ldr r0, _080943C0 @ =sBoxCursorPosition
ldrb r1, [r0]
adds r1, 0x6
b _08094402
.align 2, 0
-_080943C0: .4byte gUnknown_2039821
+_080943C0: .4byte sBoxCursorPosition
_080943C4:
movs r0, 0x20
ands r0, r1
@@ -17454,12 +17454,12 @@ _080943C4:
lsls r0, 24
cmp r0, 0
beq _0809446A
- ldr r0, _080943E0 @ =gUnknown_2039821
+ ldr r0, _080943E0 @ =sBoxCursorPosition
ldrb r1, [r0]
subs r1, 0x1
b _08094402
.align 2, 0
-_080943E0: .4byte gUnknown_2039821
+_080943E0: .4byte sBoxCursorPosition
_080943E4:
movs r0, 0x10
ands r0, r1
@@ -17472,7 +17472,7 @@ _080943E4:
lsls r0, 24
cmp r0, 0
beq _0809447E
- ldr r0, _08094410 @ =gUnknown_2039821
+ ldr r0, _08094410 @ =sBoxCursorPosition
ldrb r1, [r0]
adds r1, 0x1
_08094402:
@@ -17483,7 +17483,7 @@ _08094402:
movs r0, 0x19
b _08094484
.align 2, 0
-_08094410: .4byte gUnknown_2039821
+_08094410: .4byte sBoxCursorPosition
_08094414:
ldrh r1, [r2, 0x2E]
movs r0, 0x1
@@ -17494,9 +17494,9 @@ _08094414:
lsls r0, 24
cmp r0, 0
beq _08094450
- ldr r0, _0809443C @ =gUnknown_2039822
+ ldr r0, _0809443C @ =sIsMonBeingMoved
strb r4, [r0]
- ldr r0, _08094440 @ =gUnknown_20397B0
+ ldr r0, _08094440 @ =sPSSData
ldr r0, [r0]
ldr r1, _08094444 @ =0x000021ef
adds r0, r1
@@ -17504,8 +17504,8 @@ _08094414:
movs r0, 0x1A
b _08094484
.align 2, 0
-_0809443C: .4byte gUnknown_2039822
-_08094440: .4byte gUnknown_20397B0
+_0809443C: .4byte sIsMonBeingMoved
+_08094440: .4byte sPSSData
_08094444: .4byte 0x000021ef
_08094448:
movs r0, 0x2
@@ -17555,12 +17555,12 @@ sub_809448C: @ 809448C
mov r7, r9
mov r6, r8
push {r6,r7}
- ldr r0, _080944FC @ =gUnknown_2039820
+ ldr r0, _080944FC @ =sBoxCursorArea
ldrb r0, [r0]
mov r9, r0
- ldr r6, _08094500 @ =gUnknown_2039821
+ ldr r6, _08094500 @ =sBoxCursorPosition
ldrb r4, [r6]
- ldr r2, _08094504 @ =gUnknown_20397B0
+ ldr r2, _08094504 @ =sPSSData
ldr r0, [r2]
ldr r1, _08094508 @ =0x00000ccf
adds r0, r1
@@ -17611,9 +17611,9 @@ _080944F8:
movs r7, 0x1
b _08094692
.align 2, 0
-_080944FC: .4byte gUnknown_2039820
-_08094500: .4byte gUnknown_2039821
-_08094504: .4byte gUnknown_20397B0
+_080944FC: .4byte sBoxCursorArea
+_08094500: .4byte sBoxCursorPosition
+_08094504: .4byte sPSSData
_08094508: .4byte 0x00000ccf
_0809450C: .4byte 0x00000cce
_08094510: .4byte gMain
@@ -17687,14 +17687,14 @@ _0809458C:
lsls r0, 24
cmp r0, 0
beq _08094624
- ldr r0, _080945A4 @ =gUnknown_2039825
+ ldr r0, _080945A4 @ =sCanOnlyMove
ldrb r0, [r0]
cmp r0, 0
bne _080945A8
movs r0, 0x8
b _080946A0
.align 2, 0
-_080945A4: .4byte gUnknown_2039825
+_080945A4: .4byte sCanOnlyMove
_080945A8:
movs r0, 0
bl sub_8094E50
@@ -17759,7 +17759,7 @@ _08094624:
mov r12, r2
cmp r0, 0
beq _0809464C
- ldr r0, _08094644 @ =gUnknown_20397B0
+ ldr r0, _08094644 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
@@ -17768,7 +17768,7 @@ _08094624:
b _080946A0
.align 2, 0
_08094640: .4byte gMain
-_08094644: .4byte gUnknown_20397B0
+_08094644: .4byte sPSSData
_08094648:
movs r1, 0x1
mov r8, r1
@@ -17831,7 +17831,7 @@ _080946A0:
thumb_func_start sub_80946AC
sub_80946AC: @ 80946AC
push {r4-r6,lr}
- ldr r3, _080946E8 @ =gUnknown_20397B0
+ ldr r3, _080946E8 @ =sPSSData
ldr r0, [r3]
ldr r1, _080946EC @ =0x00000ccf
adds r0, r1
@@ -17860,7 +17860,7 @@ sub_80946AC: @ 80946AC
movs r6, 0x2
b _0809477E
.align 2, 0
-_080946E8: .4byte gUnknown_20397B0
+_080946E8: .4byte sPSSData
_080946EC: .4byte 0x00000ccf
_080946F0: .4byte 0x00000cce
_080946F4: .4byte 0x00000cd3
@@ -17961,13 +17961,13 @@ sub_80947A0: @ 80947A0
push {r4-r7,lr}
mov r7, r8
push {r7}
- ldr r0, _080947F0 @ =gUnknown_2039820
+ ldr r0, _080947F0 @ =sBoxCursorArea
ldrb r0, [r0]
mov r8, r0
- ldr r0, _080947F4 @ =gUnknown_2039821
+ ldr r0, _080947F4 @ =sBoxCursorPosition
mov r12, r0
ldrb r2, [r0]
- ldr r3, _080947F8 @ =gUnknown_20397B0
+ ldr r3, _080947F8 @ =sPSSData
ldr r0, [r3]
ldr r1, _080947FC @ =0x00000ccf
adds r0, r1
@@ -17999,9 +17999,9 @@ sub_80947A0: @ 80947A0
ldr r0, [r4]
b _08094898
.align 2, 0
-_080947F0: .4byte gUnknown_2039820
-_080947F4: .4byte gUnknown_2039821
-_080947F8: .4byte gUnknown_20397B0
+_080947F0: .4byte sBoxCursorArea
+_080947F4: .4byte sBoxCursorPosition
+_080947F8: .4byte sPSSData
_080947FC: .4byte 0x00000ccf
_08094800: .4byte 0x00000cce
_08094804: .4byte 0x00000cd3
@@ -18111,7 +18111,7 @@ sub_80948B4: @ 80948B4
adds r4, r0, 0
cmp r1, 0
beq _080948F8
- ldr r5, _080948E4 @ =gUnknown_2039820
+ ldr r5, _080948E4 @ =sBoxCursorArea
_080948C4:
lsls r0, r3, 3
adds r2, r0, r4
@@ -18128,7 +18128,7 @@ _080948C4:
b _080948FA
.align 2, 0
_080948E0: .4byte gUnknown_83D3478
-_080948E4: .4byte gUnknown_2039820
+_080948E4: .4byte sBoxCursorArea
_080948E8:
adds r0, r3, 0x1
lsls r0, 16
@@ -18166,7 +18166,7 @@ sub_8094900: @ 8094900
sub_8094924: @ 8094924
push {lr}
bl sub_8094DA8
- ldr r0, _0809493C @ =gUnknown_20397B0
+ ldr r0, _0809493C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -18174,7 +18174,7 @@ sub_8094924: @ 8094924
bl sub_8094A0C
b _08094944
.align 2, 0
-_0809493C: .4byte gUnknown_20397B0
+_0809493C: .4byte sPSSData
_08094940:
bl sub_809494C
_08094944:
@@ -18190,7 +18190,7 @@ sub_809494C: @ 809494C
bl sub_8092458
lsls r0, 16
lsrs r1, r0, 16
- ldr r0, _0809496C @ =gUnknown_20397B0
+ ldr r0, _0809496C @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x1
@@ -18201,7 +18201,7 @@ sub_809494C: @ 809494C
beq _08094982
b _080949BC
.align 2, 0
-_0809496C: .4byte gUnknown_20397B0
+_0809496C: .4byte sPSSData
_08094970:
cmp r0, 0x2
beq _0809498E
@@ -18219,7 +18219,7 @@ _08094982:
bl sub_8094DEC
b _080949C0
_0809498E:
- ldr r0, _080949A4 @ =gUnknown_2039822
+ ldr r0, _080949A4 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _080949B0
@@ -18229,7 +18229,7 @@ _0809498E:
bl sub_8094DEC
b _080949C0
.align 2, 0
-_080949A4: .4byte gUnknown_2039822
+_080949A4: .4byte sIsMonBeingMoved
_080949A8:
movs r0, 0x5
bl sub_8094DEC
@@ -18246,12 +18246,12 @@ _080949BC:
_080949C0:
movs r0, 0x6
bl sub_8094DEC
- ldr r0, _080949E4 @ =gUnknown_20397B0
+ ldr r0, _080949E4 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x2
bne _080949F2
- ldr r0, _080949E8 @ =gUnknown_2039820
+ ldr r0, _080949E8 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -18261,8 +18261,8 @@ _080949C0:
bl sub_8094DEC
b _080949F2
.align 2, 0
-_080949E4: .4byte gUnknown_20397B0
-_080949E8: .4byte gUnknown_2039820
+_080949E4: .4byte sPSSData
+_080949E8: .4byte sBoxCursorArea
_080949EC:
movs r0, 0x1
bl sub_8094DEC
@@ -18282,7 +18282,7 @@ _08094A06:
thumb_func_start sub_8094A0C
sub_8094A0C: @ 8094A0C
push {r4,r5,lr}
- ldr r4, _08094A48 @ =gUnknown_20397B0
+ ldr r4, _08094A48 @ =sPSSData
ldr r0, [r4]
movs r5, 0xCE
lsls r5, 4
@@ -18310,7 +18310,7 @@ sub_8094A0C: @ 8094A0C
bl sub_8094DEC
b _08094AA8
.align 2, 0
-_08094A48: .4byte gUnknown_20397B0
+_08094A48: .4byte sPSSData
_08094A4C: .4byte 0x00000ce2
_08094A50:
ldrh r0, [r1]
@@ -18367,7 +18367,7 @@ _08094AB0:
thumb_func_start sub_8094AB8
sub_8094AB8: @ 8094AB8
- ldr r1, _08094AD4 @ =gUnknown_20397B0
+ ldr r1, _08094AD4 @ =sPSSData
ldr r1, [r1]
movs r2, 0xCB
lsls r2, 4
@@ -18381,7 +18381,7 @@ sub_8094AB8: @ 8094AB8
strh r1, [r0, 0x22]
bx lr
.align 2, 0
-_08094AD4: .4byte gUnknown_20397B0
+_08094AD4: .4byte sPSSData
thumb_func_end sub_8094AB8
thumb_func_start sub_8094AD8
@@ -18407,7 +18407,7 @@ sub_8094AD8: @ 8094AD8
bl LoadSpritePalettes
ldr r0, _08094BAC @ =0x0000daca
bl IndexOfSpritePaletteTag
- ldr r6, _08094BB0 @ =gUnknown_20397B0
+ ldr r6, _08094BB0 @ =sPSSData
ldr r1, [r6]
ldr r4, _08094BB4 @ =0x00000cd4
adds r1, r4
@@ -18418,9 +18418,9 @@ sub_8094AD8: @ 8094AD8
ldr r5, _08094BBC @ =0x00000cd5
adds r1, r5
strb r0, [r1]
- ldr r0, _08094BC0 @ =gUnknown_2039820
+ ldr r0, _08094BC0 @ =sBoxCursorArea
ldrb r0, [r0]
- ldr r1, _08094BC4 @ =gUnknown_2039821
+ ldr r1, _08094BC4 @ =sBoxCursorPosition
ldrb r1, [r1]
add r4, sp, 0x28
mov r5, sp
@@ -18449,7 +18449,7 @@ sub_8094AD8: @ 8094AD8
ldr r0, _08094BCC @ =gSprites
adds r1, r0
str r1, [r3]
- ldr r0, _08094BD0 @ =gUnknown_2039825
+ ldr r0, _08094BD0 @ =sCanOnlyMove
ldr r5, _08094BB4 @ =0x00000cd4
adds r2, r5
ldrb r0, [r0]
@@ -18471,7 +18471,7 @@ sub_8094AD8: @ 8094AD8
movs r1, 0x4
orrs r0, r1
strb r0, [r2, 0x5]
- ldr r0, _08094BD4 @ =gUnknown_2039822
+ ldr r0, _08094BD4 @ =sIsMonBeingMoved
ldrb r0, [r0]
cmp r0, 0
beq _08094BE4
@@ -18485,16 +18485,16 @@ sub_8094AD8: @ 8094AD8
_08094BA4: .4byte gUnknown_83D34A0
_08094BA8: .4byte gUnknown_83D34B8
_08094BAC: .4byte 0x0000daca
-_08094BB0: .4byte gUnknown_20397B0
+_08094BB0: .4byte sPSSData
_08094BB4: .4byte 0x00000cd4
_08094BB8: .4byte 0x0000dac7
_08094BBC: .4byte 0x00000cd5
-_08094BC0: .4byte gUnknown_2039820
-_08094BC4: .4byte gUnknown_2039821
+_08094BC0: .4byte sBoxCursorArea
+_08094BC4: .4byte sBoxCursorPosition
_08094BC8: .4byte gUnknown_83D350C
_08094BCC: .4byte gSprites
-_08094BD0: .4byte gUnknown_2039825
-_08094BD4: .4byte gUnknown_2039822
+_08094BD0: .4byte sCanOnlyMove
+_08094BD4: .4byte sIsMonBeingMoved
_08094BD8:
ldr r0, [r6]
movs r1, 0xCB
@@ -18503,7 +18503,7 @@ _08094BD8:
movs r1, 0
str r1, [r0]
_08094BE4:
- ldr r0, _08094BF8 @ =gUnknown_2039820
+ ldr r0, _08094BF8 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -18513,7 +18513,7 @@ _08094BE4:
movs r4, 0x1
b _08094C00
.align 2, 0
-_08094BF8: .4byte gUnknown_2039820
+_08094BF8: .4byte sBoxCursorArea
_08094BFC:
movs r3, 0x15
movs r4, 0x2
@@ -18526,7 +18526,7 @@ _08094C00:
lsrs r0, 24
cmp r0, 0x40
beq _08094C68
- ldr r5, _08094C58 @ =gUnknown_20397B0
+ ldr r5, _08094C58 @ =sPSSData
ldr r2, [r5]
ldr r3, _08094C5C @ =0x00000cb4
adds r2, r3
@@ -18543,7 +18543,7 @@ _08094C00:
ands r0, r2
orrs r0, r3
strb r0, [r1, 0x5]
- ldr r0, _08094C64 @ =gUnknown_2039820
+ ldr r0, _08094C64 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
@@ -18561,12 +18561,12 @@ _08094C00:
b _08094C74
.align 2, 0
_08094C54: .4byte gUnknown_83D3524
-_08094C58: .4byte gUnknown_20397B0
+_08094C58: .4byte sPSSData
_08094C5C: .4byte 0x00000cb4
_08094C60: .4byte gSprites
-_08094C64: .4byte gUnknown_2039820
+_08094C64: .4byte sBoxCursorArea
_08094C68:
- ldr r0, _08094C7C @ =gUnknown_20397B0
+ ldr r0, _08094C7C @ =sPSSData
ldr r0, [r0]
ldr r5, _08094C80 @ =0x00000cb4
adds r0, r5
@@ -18578,14 +18578,14 @@ _08094C74:
pop {r0}
bx r0
.align 2, 0
-_08094C7C: .4byte gUnknown_20397B0
+_08094C7C: .4byte sPSSData
_08094C80: .4byte 0x00000cb4
thumb_func_end sub_8094AD8
thumb_func_start sub_8094C84
sub_8094C84: @ 8094C84
push {lr}
- ldr r2, _08094CBC @ =gUnknown_2039825
+ ldr r2, _08094CBC @ =sCanOnlyMove
movs r1, 0
ldrb r0, [r2]
cmp r0, 0
@@ -18593,7 +18593,7 @@ sub_8094C84: @ 8094C84
movs r1, 0x1
_08094C92:
strb r1, [r2]
- ldr r0, _08094CC0 @ =gUnknown_20397B0
+ ldr r0, _08094CC0 @ =sPSSData
ldr r0, [r0]
movs r3, 0xCB
lsls r3, 4
@@ -18613,18 +18613,18 @@ _08094C92:
pop {r0}
bx r0
.align 2, 0
-_08094CBC: .4byte gUnknown_2039825
-_08094CC0: .4byte gUnknown_20397B0
+_08094CBC: .4byte sCanOnlyMove
+_08094CC0: .4byte sPSSData
_08094CC4: .4byte 0x00000cd4
thumb_func_end sub_8094C84
thumb_func_start sub_8094CC8
sub_8094CC8: @ 8094CC8
- ldr r0, _08094CD0 @ =gUnknown_2039821
+ ldr r0, _08094CD0 @ =sBoxCursorPosition
ldrb r0, [r0]
bx lr
.align 2, 0
-_08094CD0: .4byte gUnknown_2039821
+_08094CD0: .4byte sBoxCursorPosition
thumb_func_end sub_8094CC8
thumb_func_start sub_8094CD4
@@ -18632,13 +18632,13 @@ sub_8094CD4: @ 8094CD4
push {r4-r6,lr}
adds r5, r0, 0
adds r6, r1, 0
- ldr r0, _08094D00 @ =gUnknown_2039820
+ ldr r0, _08094D00 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _08094D08
- ldr r4, _08094D04 @ =gUnknown_2039821
+ ldr r4, _08094D04 @ =sBoxCursorPosition
movs r0, 0
ldrsb r0, [r4, r0]
movs r1, 0x6
@@ -18650,8 +18650,8 @@ sub_8094CD4: @ 8094CD4
bl __divsi3
b _08094D0C
.align 2, 0
-_08094D00: .4byte gUnknown_2039820
-_08094D04: .4byte gUnknown_2039821
+_08094D00: .4byte sBoxCursorArea
+_08094D04: .4byte sBoxCursorPosition
_08094D08:
movs r0, 0
strb r0, [r5]
@@ -18668,7 +18668,7 @@ sub_8094D14: @ 8094D14
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
- ldr r0, _08094D30 @ =gUnknown_20397B0
+ ldr r0, _08094D30 @ =sPSSData
ldr r0, [r0]
movs r2, 0xCB
lsls r2, 4
@@ -18678,21 +18678,21 @@ sub_8094D14: @ 8094D14
pop {r0}
bx r0
.align 2, 0
-_08094D30: .4byte gUnknown_20397B0
+_08094D30: .4byte sPSSData
thumb_func_end sub_8094D14
thumb_func_start sub_8094D34
sub_8094D34: @ 8094D34
- ldr r0, _08094D3C @ =gUnknown_2039823
+ ldr r0, _08094D3C @ =sMovingMonOrigBoxId
ldrb r0, [r0]
bx lr
.align 2, 0
-_08094D3C: .4byte gUnknown_2039823
+_08094D3C: .4byte sMovingMonOrigBoxId
thumb_func_end sub_8094D34
thumb_func_start sub_8094D40
sub_8094D40: @ 8094D40
- ldr r0, _08094D5C @ =gUnknown_20397B0
+ ldr r0, _08094D5C @ =sPSSData
ldr r0, [r0]
movs r1, 0xCB
lsls r1, 4
@@ -18707,19 +18707,19 @@ sub_8094D40: @ 8094D40
strb r0, [r2, 0x5]
bx lr
.align 2, 0
-_08094D5C: .4byte gUnknown_20397B0
+_08094D5C: .4byte sPSSData
thumb_func_end sub_8094D40
thumb_func_start sub_8094D60
sub_8094D60: @ 8094D60
push {lr}
- ldr r0, _08094D7C @ =gUnknown_2039820
+ ldr r0, _08094D7C @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _08094D78
- ldr r0, _08094D80 @ =gUnknown_2039821
+ ldr r0, _08094D80 @ =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_8095D44
@@ -18727,20 +18727,20 @@ _08094D78:
pop {r0}
bx r0
.align 2, 0
-_08094D7C: .4byte gUnknown_2039820
-_08094D80: .4byte gUnknown_2039821
+_08094D7C: .4byte sBoxCursorArea
+_08094D80: .4byte sBoxCursorPosition
thumb_func_end sub_8094D60
thumb_func_start sub_8094D84
sub_8094D84: @ 8094D84
push {lr}
- ldr r0, _08094DA0 @ =gUnknown_2039820
+ ldr r0, _08094DA0 @ =sBoxCursorArea
ldrb r0, [r0]
lsls r0, 24
asrs r0, 24
cmp r0, 0
bne _08094D9C
- ldr r0, _08094DA4 @ =gUnknown_2039821
+ ldr r0, _08094DA4 @ =sBoxCursorPosition
ldrb r1, [r0]
movs r0, 0
bl sub_8095C84
@@ -18748,13 +18748,13 @@ _08094D9C:
pop {r0}
bx r0
.align 2, 0
-_08094DA0: .4byte gUnknown_2039820
-_08094DA4: .4byte gUnknown_2039821
+_08094DA0: .4byte sBoxCursorArea
+_08094DA4: .4byte sBoxCursorPosition
thumb_func_end sub_8094D84
thumb_func_start sub_8094DA8
sub_8094DA8: @ 8094DA8
- ldr r2, _08094DDC @ =gUnknown_20397B0
+ ldr r2, _08094DDC @ =sPSSData
ldr r0, [r2]
ldr r1, _08094DE0 @ =0x00000ca8
adds r0, r1
@@ -18780,7 +18780,7 @@ sub_8094DA8: @ 8094DA8
strh r1, [r0]
bx lr
.align 2, 0
-_08094DDC: .4byte gUnknown_20397B0
+_08094DDC: .4byte sPSSData
_08094DE0: .4byte 0x00000ca8
_08094DE4: .4byte 0x00000ca9
_08094DE8: .4byte 0x00000c6d
@@ -18791,7 +18791,7 @@ sub_8094DEC: @ 8094DEC
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
- ldr r4, _08094E40 @ =gUnknown_20397B0
+ ldr r4, _08094E40 @ =sPSSData
ldr r2, [r4]
ldr r5, _08094E44 @ =0x00000ca8
adds r1, r2, r5
@@ -18831,7 +18831,7 @@ _08094E38:
pop {r0}
bx r0
.align 2, 0
-_08094E40: .4byte gUnknown_20397B0
+_08094E40: .4byte sPSSData
_08094E44: .4byte 0x00000ca8
_08094E48: .4byte gUnknown_83D353C
_08094E4C: .4byte 0x00000ca9
@@ -18842,7 +18842,7 @@ sub_8094E50: @ 8094E50
push {lr}
lsls r0, 24
lsrs r2, r0, 24
- ldr r0, _08094E74 @ =gUnknown_20397B0
+ ldr r0, _08094E74 @ =sPSSData
ldr r1, [r0]
ldr r3, _08094E78 @ =0x00000ca8
adds r0, r1, r3
@@ -18857,7 +18857,7 @@ sub_8094E50: @ 8094E50
ldrsb r0, [r1, r0]
b _08094E84
.align 2, 0
-_08094E74: .4byte gUnknown_20397B0
+_08094E74: .4byte sPSSData
_08094E78: .4byte 0x00000ca8
_08094E7C: .4byte 0x00000c74
_08094E80:
@@ -18876,7 +18876,7 @@ sub_8094E88: @ 8094E88
mov r4, r8
push {r4-r6}
sub sp, 0xC
- ldr r5, _08094F6C @ =gUnknown_20397B0
+ ldr r5, _08094F6C @ =sPSSData
ldr r1, [r5]
ldr r2, _08094F70 @ =0x00000ca9
adds r0, r1, r2
@@ -18978,7 +18978,7 @@ sub_8094E88: @ 8094E88
pop {r0}
bx r0
.align 2, 0
-_08094F6C: .4byte gUnknown_20397B0
+_08094F6C: .4byte sPSSData
_08094F70: .4byte 0x00000ca9
_08094F74: .4byte 0x00000ca8
_08094F78: .4byte 0x00000c6c
@@ -19050,7 +19050,7 @@ _08094FF2:
_08094FFE:
cmp r5, 0
blt _08095010
- ldr r0, _0809501C @ =gUnknown_20397B0
+ ldr r0, _0809501C @ =sPSSData
ldr r0, [r0]
lsls r1, r5, 3
ldr r2, _08095020 @ =0x00000c74
@@ -19064,14 +19064,14 @@ _08095010:
pop {r1}
bx r1
.align 2, 0
-_0809501C: .4byte gUnknown_20397B0
+_0809501C: .4byte sPSSData
_08095020: .4byte 0x00000c74
thumb_func_end sub_8094F94
thumb_func_start sub_8095024
sub_8095024: @ 8095024
push {r4,r5,lr}
- ldr r5, _08095048 @ =gUnknown_20397B0
+ ldr r5, _08095048 @ =sPSSData
ldr r0, [r5]
ldr r4, _0809504C @ =0x00000cac
adds r0, r4
@@ -19086,7 +19086,7 @@ sub_8095024: @ 8095024
pop {r0}
bx r0
.align 2, 0
-_08095048: .4byte gUnknown_20397B0
+_08095048: .4byte sPSSData
_0809504C: .4byte 0x00000cac
thumb_func_end sub_8095024
@@ -19102,7 +19102,7 @@ sub_8095050: @ 8095050
ldr r0, _08095090 @ =gUnknown_83D35D4
bl AddWindow8Bit
adds r1, r0, 0
- ldr r0, _08095094 @ =gUnknown_20397B0
+ ldr r0, _08095094 @ =sPSSData
ldr r0, [r0]
ldr r2, _08095098 @ =0x000021f0
adds r0, r2
@@ -19121,7 +19121,7 @@ sub_8095050: @ 8095050
_08095088: .4byte gUnknown_2039828
_0809508C: .4byte 0x00000974
_08095090: .4byte gUnknown_83D35D4
-_08095094: .4byte gUnknown_20397B0
+_08095094: .4byte sPSSData
_08095098: .4byte 0x000021f0
_0809509C:
movs r0, 0
@@ -19264,7 +19264,7 @@ _08095168:
movs r2, 0
movs r3, 0
bl FillBgTilemapBufferRect_Palette0
- ldr r5, _08095208 @ =gUnknown_20397B0
+ ldr r5, _08095208 @ =sPSSData
ldr r0, [r5]
ldr r4, _0809520C @ =0x000021f0
adds r0, r4
@@ -19306,7 +19306,7 @@ _080951F8:
b _08095228
.align 2, 0
_08095204: .4byte 0xfffffc00
-_08095208: .4byte gUnknown_20397B0
+_08095208: .4byte sPSSData
_0809520C: .4byte 0x000021f0
_08095210: .4byte 0x00007fff
_08095214:
@@ -19412,7 +19412,7 @@ _080952B8:
ldr r1, [r4]
ldrb r0, [r1, 0x7]
strb r0, [r1, 0x5]
- ldr r0, _080952F8 @ =gUnknown_20397B0
+ ldr r0, _080952F8 @ =sPSSData
ldr r0, [r0]
ldr r1, _080952FC @ =0x000021f0
adds r0, r1
@@ -19425,7 +19425,7 @@ _080952B8:
strb r0, [r1, 0x1]
b _0809530A
.align 2, 0
-_080952F8: .4byte gUnknown_20397B0
+_080952F8: .4byte sPSSData
_080952FC: .4byte 0x000021f0
_08095300:
bl IsDma3ManagerBusyWithBgCopy
@@ -19958,7 +19958,7 @@ sub_80956A4: @ 80956A4
adds r0, 0x8
lsls r0, 24
lsrs r0, 24
- ldr r1, _08095724 @ =gUnknown_20397B0
+ ldr r1, _08095724 @ =sPSSData
ldr r1, [r1]
ldr r2, _08095728 @ =0x000021f0
adds r1, r2
@@ -19986,7 +19986,7 @@ _0809571A:
pop {r0}
bx r0
.align 2, 0
-_08095724: .4byte gUnknown_20397B0
+_08095724: .4byte sPSSData
_08095728: .4byte 0x000021f0
thumb_func_end sub_80956A4
@@ -20009,7 +20009,7 @@ sub_809572C: @ 809572C
lsls r0, 16
cmp r0, 0
beq _0809576E
- ldr r0, _08095778 @ =gUnknown_20397B0
+ ldr r0, _08095778 @ =sPSSData
ldr r0, [r0]
ldr r1, _0809577C @ =0x000021f0
adds r0, r1
@@ -20029,7 +20029,7 @@ _0809576E:
pop {r0}
bx r0
.align 2, 0
-_08095778: .4byte gUnknown_20397B0
+_08095778: .4byte sPSSData
_0809577C: .4byte 0x000021f0
thumb_func_end sub_809572C
@@ -20575,7 +20575,7 @@ sub_8095B5C: @ 8095B5C
mov r5, r8
push {r5-r7}
sub sp, 0x20
- ldr r3, _08095C58 @ =gUnknown_20397B0
+ ldr r3, _08095C58 @ =sPSSData
ldr r0, [r3]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -20679,7 +20679,7 @@ _08095B9C:
cmp r7, 0x2
ble _08095B9C
_08095C3C:
- ldr r0, _08095C58 @ =gUnknown_20397B0
+ ldr r0, _08095C58 @ =sPSSData
ldr r0, [r0]
ldr r4, _08095C80 @ =0x00002224
adds r0, r4
@@ -20694,7 +20694,7 @@ _08095C3C:
pop {r0}
bx r0
.align 2, 0
-_08095C58: .4byte gUnknown_20397B0
+_08095C58: .4byte sPSSData
_08095C5C: .4byte gUnknown_3000FE8
_08095C60: .4byte 0xffff0000
_08095C64: .4byte gUnknown_83D3728
@@ -20717,7 +20717,7 @@ sub_8095C84: @ 8095C84
mov r8, r0
lsls r1, 24
lsrs r7, r1, 24
- ldr r0, _08095CB8 @ =gUnknown_20397B0
+ ldr r0, _08095CB8 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -20734,7 +20734,7 @@ sub_8095C84: @ 8095C84
beq _08095CD2
b _08095D36
.align 2, 0
-_08095CB8: .4byte gUnknown_20397B0
+_08095CB8: .4byte sPSSData
_08095CBC:
adds r0, r7, 0
movs r1, 0x5
@@ -20805,7 +20805,7 @@ sub_8095D44: @ 8095D44
lsrs r6, r0, 24
lsls r1, 24
lsrs r5, r1, 24
- ldr r0, _08095D80 @ =gUnknown_20397B0
+ ldr r0, _08095D80 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -20829,7 +20829,7 @@ _08095D7A:
pop {r0}
bx r0
.align 2, 0
-_08095D80: .4byte gUnknown_20397B0
+_08095D80: .4byte sPSSData
thumb_func_end sub_8095D44
thumb_func_start sub_8095D84
@@ -20841,7 +20841,7 @@ sub_8095D84: @ 8095D84
lsls r1, 24
lsrs r5, r1, 24
adds r7, r5, 0
- ldr r0, _08095DE8 @ =gUnknown_20397B0
+ ldr r0, _08095DE8 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -20878,7 +20878,7 @@ sub_8095D84: @ 8095D84
bl sub_8090850
b _08095E04
.align 2, 0
-_08095DE8: .4byte gUnknown_20397B0
+_08095DE8: .4byte sPSSData
_08095DEC:
movs r0, 0x64
muls r0, r7
@@ -20891,7 +20891,7 @@ _08095DEC:
movs r1, 0x1
bl sub_8090C84
_08095E04:
- ldr r0, _08095E20 @ =gUnknown_20397B0
+ ldr r0, _08095E20 @ =sPSSData
ldr r0, [r0]
ldr r2, _08095E24 @ =0x00000ce2
adds r1, r0, r2
@@ -20906,7 +20906,7 @@ _08095E14:
bx r0
.align 2, 0
_08095E1C: .4byte gPlayerParty
-_08095E20: .4byte gUnknown_20397B0
+_08095E20: .4byte sPSSData
_08095E24: .4byte 0x00000ce2
_08095E28: .4byte 0x00002224
thumb_func_end sub_8095D84
@@ -20948,7 +20948,7 @@ sub_8095E2C: @ 8095E2C
adds r0, r4, 0
movs r1, 0x1
bl sub_8096624
- ldr r0, _08095E98 @ =gUnknown_20397B0
+ ldr r0, _08095E98 @ =sPSSData
ldr r0, [r0]
ldr r1, _08095E9C @ =0x00002224
adds r0, r1
@@ -20959,7 +20959,7 @@ sub_8095E2C: @ 8095E2C
pop {r0}
bx r0
.align 2, 0
-_08095E98: .4byte gUnknown_20397B0
+_08095E98: .4byte sPSSData
_08095E9C: .4byte 0x00002224
thumb_func_end sub_8095E2C
@@ -20974,7 +20974,7 @@ sub_8095EA0: @ 8095EA0
mov r9, r0
lsls r1, 24
lsrs r7, r1, 24
- ldr r0, _08095F08 @ =gUnknown_20397B0
+ ldr r0, _08095F08 @ =sPSSData
mov r8, r0
ldr r0, [r0]
ldrb r0, [r0, 0x1]
@@ -21013,7 +21013,7 @@ sub_8095EA0: @ 8095EA0
adds r0, r4
b _08095F3C
.align 2, 0
-_08095F08: .4byte gUnknown_20397B0
+_08095F08: .4byte sPSSData
_08095F0C: .4byte 0x00002224
_08095F10:
movs r0, 0x64
@@ -21073,7 +21073,7 @@ sub_8095F74: @ 8095F74
lsls r1, 24
lsrs r5, r1, 24
mov r8, r5
- ldr r6, _08095FCC @ =gUnknown_20397B0
+ ldr r6, _08095FCC @ =sPSSData
ldr r0, [r6]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -21105,7 +21105,7 @@ sub_8095F74: @ 8095F74
bl sub_8090850
b _08095FF4
.align 2, 0
-_08095FCC: .4byte gUnknown_20397B0
+_08095FCC: .4byte sPSSData
_08095FD0: .4byte 0x00002224
_08095FD4:
movs r0, 0x64
@@ -21142,7 +21142,7 @@ sub_8096008: @ 8096008
lsls r1, 24
lsrs r5, r1, 24
adds r7, r5, 0
- ldr r0, _08096060 @ =gUnknown_20397B0
+ ldr r0, _08096060 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -21175,7 +21175,7 @@ sub_8096008: @ 8096008
bl sub_8090850
b _0809607C
.align 2, 0
-_08096060: .4byte gUnknown_20397B0
+_08096060: .4byte sPSSData
_08096064:
movs r0, 0x64
muls r0, r7
@@ -21199,7 +21199,7 @@ _08096084: .4byte gPlayerParty
thumb_func_start sub_8096088
sub_8096088: @ 8096088
push {r4,lr}
- ldr r0, _080960BC @ =gUnknown_20397B0
+ ldr r0, _080960BC @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
@@ -21223,20 +21223,20 @@ _080960B6:
pop {r0}
bx r0
.align 2, 0
-_080960BC: .4byte gUnknown_20397B0
+_080960BC: .4byte sPSSData
thumb_func_end sub_8096088
thumb_func_start sub_80960C0
sub_80960C0: @ 80960C0
push {r4,lr}
- ldr r0, _08096108 @ =gUnknown_20397B0
+ ldr r0, _08096108 @ =sPSSData
ldr r0, [r0]
ldrb r0, [r0, 0x1]
cmp r0, 0x3
bne _08096100
movs r4, 0
_080960CE:
- ldr r0, _08096108 @ =gUnknown_20397B0
+ ldr r0, _08096108 @ =sPSSData
ldr r1, [r0]
lsls r0, r4, 4
adds r1, r0
@@ -21266,14 +21266,14 @@ _08096100:
pop {r0}
bx r0
.align 2, 0
-_08096108: .4byte gUnknown_20397B0
+_08096108: .4byte sPSSData
thumb_func_end sub_80960C0
thumb_func_start sub_809610C
sub_809610C: @ 809610C
push {r4,r5,lr}
movs r5, 0
- ldr r0, _08096148 @ =gUnknown_20397B0
+ ldr r0, _08096148 @ =sPSSData
ldr r0, [r0]
ldr r1, _0809614C @ =0x000021f4
adds r4, r0, r1
@@ -21304,7 +21304,7 @@ _08096144:
movs r0, 0x1
b _08096164
.align 2, 0
-_08096148: .4byte gUnknown_20397B0
+_08096148: .4byte sPSSData
_0809614C: .4byte 0x000021f4
_08096150: .4byte SpriteCallbackDummy
_08096154: .4byte sub_80969BC
@@ -21324,7 +21324,7 @@ _08096164:
thumb_func_start sub_809616C
sub_809616C: @ 809616C
push {lr}
- ldr r0, _08096190 @ =gUnknown_20397B0
+ ldr r0, _08096190 @ =sPSSData
ldr r1, [r0]
ldrb r0, [r1, 0x1]
cmp r0, 0x3
@@ -21342,7 +21342,7 @@ _0809617E:
movs r0, 0x1
b _080961A2
.align 2, 0
-_08096190: .4byte gUnknown_20397B0
+_08096190: .4byte sPSSData
_08096194: .4byte 0x000021fe
_08096198:
adds r1, 0x10
@@ -21359,7 +21359,7 @@ _080961A2:
thumb_func_start sub_80961A8
sub_80961A8: @ 80961A8
push {lr}
- ldr r0, _080961BC @ =gUnknown_20397B0
+ ldr r0, _080961BC @ =sPSSData
ldr r0, [r0]
ldr r1, _080961C0 @ =0x00002224
adds r0, r1
@@ -21368,20 +21368,20 @@ sub_80961A8: @ 80961A8
pop {r1}
bx r1
.align 2, 0
-_080961BC: .4byte gUnknown_20397B0
+_080961BC: .4byte sPSSData
_080961C0: .4byte 0x00002224
thumb_func_end sub_80961A8
thumb_func_start sub_80961C4
sub_80961C4: @ 80961C4
- ldr r0, _080961D0 @ =gUnknown_20397B0
+ ldr r0, _080961D0 @ =sPSSData
ldr r0, [r0]
ldr r1, _080961D4 @ =0x00002224
adds r0, r1
ldrh r0, [r0]
bx lr
.align 2, 0
-_080961D0: .4byte gUnknown_20397B0
+_080961D0: .4byte sPSSData
_080961D4: .4byte 0x00002224
thumb_func_end sub_80961C4
@@ -21389,7 +21389,7 @@ _080961D4: .4byte 0x00002224
sub_80961D8: @ 80961D8
push {r4,r5,lr}
movs r2, 0
- ldr r5, _080961F8 @ =gUnknown_20397B0
+ ldr r5, _080961F8 @ =sPSSData
movs r3, 0x88
lsls r3, 6
movs r4, 0x1
@@ -21405,7 +21405,7 @@ _080961E4:
adds r0, r2, 0
b _08096208
.align 2, 0
-_080961F8: .4byte gUnknown_20397B0
+_080961F8: .4byte sPSSData
_080961FC:
adds r0, r2, 0x1
lsls r0, 24
@@ -21427,7 +21427,7 @@ sub_8096210: @ 8096210
lsls r1, 24
lsrs r1, 24
movs r3, 0
- ldr r0, _08096244 @ =gUnknown_20397B0
+ ldr r0, _08096244 @ =sPSSData
ldr r2, [r0]
_08096220:
movs r5, 0x88
@@ -21449,7 +21449,7 @@ _08096220:
movs r0, 0x1
b _08096252
.align 2, 0
-_08096244: .4byte gUnknown_20397B0
+_08096244: .4byte sPSSData
_08096248:
adds r2, 0x10
adds r3, 0x1
@@ -21470,7 +21470,7 @@ sub_8096258: @ 8096258
lsls r1, 24
lsrs r4, r1, 24
movs r3, 0
- ldr r0, _08096290 @ =gUnknown_20397B0
+ ldr r0, _08096290 @ =sPSSData
ldr r1, [r0]
_08096268:
lsls r0, r3, 4
@@ -21494,7 +21494,7 @@ _08096268:
adds r0, r3, 0
b _080962A0
.align 2, 0
-_08096290: .4byte gUnknown_20397B0
+_08096290: .4byte sPSSData
_08096294:
adds r0, r3, 0x1
lsls r0, 24
@@ -21513,7 +21513,7 @@ sub_80962A8: @ 80962A8
push {r4-r6,lr}
adds r5, r0, 0
movs r2, 0
- ldr r0, _080962D4 @ =gUnknown_20397B0
+ ldr r0, _080962D4 @ =sPSSData
ldr r3, [r0]
ldr r0, _080962D8 @ =0x000021f4
adds r4, r3, r0
@@ -21533,7 +21533,7 @@ _080962BA:
adds r0, r2, 0
b _080962E8
.align 2, 0
-_080962D4: .4byte gUnknown_20397B0
+_080962D4: .4byte sPSSData
_080962D8: .4byte 0x000021f4
_080962DC:
adds r0, r2, 0x1
@@ -21566,11 +21566,11 @@ sub_80962F0: @ 80962F0
beq _0809631C
cmp r1, 0x1
beq _08096378
- ldr r4, _08096318 @ =gUnknown_20397B0
+ ldr r4, _08096318 @ =sPSSData
lsls r3, r5, 4
b _080963D8
.align 2, 0
-_08096318: .4byte gUnknown_20397B0
+_08096318: .4byte sPSSData
_0809631C:
adds r0, r7, 0
movs r1, 0x6
@@ -21583,7 +21583,7 @@ _0809631C:
bl __udivsi3
lsls r0, 24
lsrs r0, 24
- ldr r6, _08096370 @ =gUnknown_20397B0
+ ldr r6, _08096370 @ =sPSSData
ldr r2, [r6]
lsls r5, 4
ldr r1, _08096374 @ =0x000021f4
@@ -21613,12 +21613,12 @@ _0809631C:
adds r3, r5, 0
b _080963D8
.align 2, 0
-_08096370: .4byte gUnknown_20397B0
+_08096370: .4byte sPSSData
_08096374: .4byte 0x000021f4
_08096378:
cmp r7, 0
bne _080963A0
- ldr r4, _08096398 @ =gUnknown_20397B0
+ ldr r4, _08096398 @ =sPSSData
ldr r0, [r4]
lsls r3, r5, 4
ldr r1, _0809639C @ =0x000021f4
@@ -21632,10 +21632,10 @@ _08096378:
strh r0, [r1, 0x22]
b _080963C0
.align 2, 0
-_08096398: .4byte gUnknown_20397B0
+_08096398: .4byte sPSSData
_0809639C: .4byte 0x000021f4
_080963A0:
- ldr r4, _080963F8 @ =gUnknown_20397B0
+ ldr r4, _080963F8 @ =sPSSData
ldr r0, [r4]
lsls r3, r5, 4
ldr r1, _080963FC @ =0x000021f4
@@ -21683,7 +21683,7 @@ _080963EE:
pop {r0}
bx r0
.align 2, 0
-_080963F8: .4byte gUnknown_20397B0
+_080963F8: .4byte sPSSData
_080963FC: .4byte 0x000021f4
_08096400: .4byte 0x000021fe
_08096404: .4byte 0x000021ff
@@ -21704,7 +21704,7 @@ sub_8096408: @ 8096408
bhi _08096490
movs r0, 0
str r0, [sp]
- ldr r4, _080964A0 @ =gUnknown_20397B0
+ ldr r4, _080964A0 @ =sPSSData
ldr r1, [r4]
ldr r6, _080964A4 @ =0x000042bc
adds r1, r6
@@ -21731,7 +21731,7 @@ _08096446:
subs r4, 0x1
cmp r4, 0
bge _08096446
- ldr r5, _080964A0 @ =gUnknown_20397B0
+ ldr r5, _080964A0 @ =sPSSData
ldr r1, [r5]
ldr r4, _080964A4 @ =0x000042bc
adds r0, r1, r4
@@ -21763,7 +21763,7 @@ _08096490:
pop {r0}
bx r0
.align 2, 0
-_080964A0: .4byte gUnknown_20397B0
+_080964A0: .4byte sPSSData
_080964A4: .4byte 0x000042bc
_080964A8: .4byte 0x01000080
_080964AC: .4byte 0x000022bc
@@ -21780,7 +21780,7 @@ sub_80964B8: @ 80964B8
lsrs r3, r1, 24
cmp r2, 0x2
bhi _080964DA
- ldr r0, _080964E0 @ =gUnknown_20397B0
+ ldr r0, _080964E0 @ =sPSSData
ldr r0, [r0]
lsls r1, r2, 4
ldr r2, _080964E4 @ =0x000021f4
@@ -21793,7 +21793,7 @@ _080964DA:
pop {r0}
bx r0
.align 2, 0
-_080964E0: .4byte gUnknown_20397B0
+_080964E0: .4byte sPSSData
_080964E4: .4byte 0x000021f4
thumb_func_end sub_80964B8
@@ -21834,7 +21834,7 @@ _08096514:
.4byte _08096612
.4byte _08096600
_08096534:
- ldr r0, _0809654C @ =gUnknown_20397B0
+ ldr r0, _0809654C @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _08096550 @ =0x000021f4
@@ -21846,11 +21846,11 @@ _08096534:
ldr r0, _08096554 @ =sub_809692C
b _08096610
.align 2, 0
-_0809654C: .4byte gUnknown_20397B0
+_0809654C: .4byte sPSSData
_08096550: .4byte 0x000021f4
_08096554: .4byte sub_809692C
_08096558:
- ldr r0, _08096570 @ =gUnknown_20397B0
+ ldr r0, _08096570 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _08096574 @ =0x000021f4
@@ -21863,11 +21863,11 @@ _08096558:
ldr r0, _08096578 @ =sub_8096958
b _08096610
.align 2, 0
-_08096570: .4byte gUnknown_20397B0
+_08096570: .4byte sPSSData
_08096574: .4byte 0x000021f4
_08096578: .4byte sub_8096958
_0809657C:
- ldr r0, _0809659C @ =gUnknown_20397B0
+ ldr r0, _0809659C @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _080965A0 @ =0x000021f4
@@ -21884,11 +21884,11 @@ _0809657C:
ldr r0, _080965A4 @ =sub_80969F4
b _08096610
.align 2, 0
-_0809659C: .4byte gUnknown_20397B0
+_0809659C: .4byte sPSSData
_080965A0: .4byte 0x000021f4
_080965A4: .4byte sub_80969F4
_080965A8:
- ldr r0, _080965C8 @ =gUnknown_20397B0
+ ldr r0, _080965C8 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _080965CC @ =0x000021f4
@@ -21905,11 +21905,11 @@ _080965A8:
strh r3, [r0, 0x3C]
b _08096612
.align 2, 0
-_080965C8: .4byte gUnknown_20397B0
+_080965C8: .4byte sPSSData
_080965CC: .4byte 0x000021f4
_080965D0: .4byte sub_8096A74
_080965D4:
- ldr r0, _080965F4 @ =gUnknown_20397B0
+ ldr r0, _080965F4 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _080965F8 @ =0x000021f4
@@ -21926,11 +21926,11 @@ _080965D4:
ldr r0, _080965FC @ =sub_8096B10
b _08096610
.align 2, 0
-_080965F4: .4byte gUnknown_20397B0
+_080965F4: .4byte sPSSData
_080965F8: .4byte 0x000021f4
_080965FC: .4byte sub_8096B10
_08096600:
- ldr r0, _08096618 @ =gUnknown_20397B0
+ ldr r0, _08096618 @ =sPSSData
ldr r0, [r0]
lsls r1, r4, 4
ldr r2, _0809661C @ =0x000021f4
@@ -21945,7 +21945,7 @@ _08096612:
pop {r0}
bx r0
.align 2, 0
-_08096618: .4byte gUnknown_20397B0
+_08096618: .4byte sPSSData
_0809661C: .4byte 0x000021f4
_08096620: .4byte sub_8096BAC
thumb_func_end sub_80964E8
@@ -21959,7 +21959,7 @@ sub_8096624: @ 8096624
lsrs r4, r1, 24
cmp r2, 0x2
bhi _08096666
- ldr r1, _0809666C @ =gUnknown_20397B0
+ ldr r1, _0809666C @ =sPSSData
ldr r0, [r1]
lsls r2, 4
adds r0, r2
@@ -21991,7 +21991,7 @@ _08096666:
pop {r0}
bx r0
.align 2, 0
-_0809666C: .4byte gUnknown_20397B0
+_0809666C: .4byte sPSSData
_08096670: .4byte 0x000021f4
thumb_func_end sub_8096624
@@ -22025,15 +22025,15 @@ sub_8096694: @ 8096694
lsls r0, 24
cmp r0, 0
beq _080966B4
- ldr r0, _080966AC @ =gUnknown_20397B0
+ ldr r0, _080966AC @ =sPSSData
ldr r0, [r0]
ldr r1, _080966B0 @ =0x00002224
b _080966BA
.align 2, 0
-_080966AC: .4byte gUnknown_20397B0
+_080966AC: .4byte sPSSData
_080966B0: .4byte 0x00002224
_080966B4:
- ldr r0, _080966EC @ =gUnknown_20397B0
+ ldr r0, _080966EC @ =sPSSData
ldr r0, [r0]
ldr r1, _080966F0 @ =0x00000ce2
_080966BA:
@@ -22060,14 +22060,14 @@ _080966BA:
pop {r0}
bx r0
.align 2, 0
-_080966EC: .4byte gUnknown_20397B0
+_080966EC: .4byte sPSSData
_080966F0: .4byte 0x00000ce2
thumb_func_end sub_8096694
thumb_func_start sub_80966F4
sub_80966F4: @ 80966F4
push {lr}
- ldr r0, _0809671C @ =gUnknown_20397B0
+ ldr r0, _0809671C @ =sPSSData
ldr r0, [r0]
ldr r1, _08096720 @ =0x00002226
adds r0, r1
@@ -22084,7 +22084,7 @@ sub_80966F4: @ 80966F4
pop {r0}
bx r0
.align 2, 0
-_0809671C: .4byte gUnknown_20397B0
+_0809671C: .4byte sPSSData
_08096720: .4byte 0x00002226
_08096724: .4byte gUnknown_83D35DC
thumb_func_end sub_80966F4
@@ -22093,7 +22093,7 @@ _08096724: .4byte gUnknown_83D35DC
sub_8096728: @ 8096728
push {r4,r5,lr}
sub sp, 0x10
- ldr r0, _08096740 @ =gUnknown_20397B0
+ ldr r0, _08096740 @ =sPSSData
ldr r0, [r0]
ldr r2, _08096744 @ =0x00002226
adds r1, r0, r2
@@ -22103,7 +22103,7 @@ sub_8096728: @ 8096728
movs r0, 0
b _080967AE
.align 2, 0
-_08096740: .4byte gUnknown_20397B0
+_08096740: .4byte sPSSData
_08096744: .4byte 0x00002226
_08096748:
subs r0, 0x1
@@ -22119,7 +22119,7 @@ _08096758:
movs r1, 0xA
bl GetBgAttribute
adds r1, r0, 0
- ldr r0, _080967B8 @ =gUnknown_20397B0
+ ldr r0, _080967B8 @ =sPSSData
ldr r0, [r0]
ldr r2, _080967BC @ =0x00002226
adds r0, r2
@@ -22148,7 +22148,7 @@ _08096758:
_08096798:
adds r0, r5, 0
bl sub_8096898
- ldr r0, _080967B8 @ =gUnknown_20397B0
+ ldr r0, _080967B8 @ =sPSSData
ldr r0, [r0]
ldr r1, _080967BC @ =0x00002226
adds r0, r1
@@ -22162,7 +22162,7 @@ _080967AE:
pop {r1}
bx r1
.align 2, 0
-_080967B8: .4byte gUnknown_20397B0
+_080967B8: .4byte sPSSData
_080967BC: .4byte 0x00002226
thumb_func_end sub_8096728
@@ -22170,7 +22170,7 @@ _080967BC: .4byte 0x00002226
sub_80967C0: @ 80967C0
push {r4,r5,lr}
sub sp, 0x10
- ldr r5, _080967D8 @ =gUnknown_20397B0
+ ldr r5, _080967D8 @ =sPSSData
ldr r0, [r5]
ldr r4, _080967DC @ =0x00002226
adds r0, r4
@@ -22180,7 +22180,7 @@ sub_80967C0: @ 80967C0
movs r0, 0
b _08096886
.align 2, 0
-_080967D8: .4byte gUnknown_20397B0
+_080967D8: .4byte sPSSData
_080967DC: .4byte 0x00002226
_080967E0:
cmp r0, 0
@@ -22213,7 +22213,7 @@ _08096812:
movs r1, 0xA
bl GetBgAttribute
adds r1, r0, 0
- ldr r0, _08096890 @ =gUnknown_20397B0
+ ldr r0, _08096890 @ =sPSSData
ldr r0, [r0]
ldr r2, _08096894 @ =0x00002226
adds r0, r2
@@ -22254,7 +22254,7 @@ _08096852:
movs r1, 0
movs r3, 0xB
bl FillBgTilemapBufferRect
- ldr r0, _08096890 @ =gUnknown_20397B0
+ ldr r0, _08096890 @ =sPSSData
ldr r0, [r0]
ldr r1, _08096894 @ =0x00002226
adds r0, r1
@@ -22270,7 +22270,7 @@ _08096886:
pop {r1}
bx r1
.align 2, 0
-_08096890: .4byte gUnknown_20397B0
+_08096890: .4byte sPSSData
_08096894: .4byte 0x00002226
thumb_func_end sub_80967C0
@@ -22429,7 +22429,7 @@ _080969B8: .4byte sub_80969BC
thumb_func_start sub_80969BC
sub_80969BC: @ 80969BC
- ldr r1, _080969F0 @ =gUnknown_20397B0
+ ldr r1, _080969F0 @ =sPSSData
ldr r3, [r1]
movs r1, 0xCB
lsls r1, 4
@@ -22456,7 +22456,7 @@ sub_80969BC: @ 80969BC
strb r1, [r0, 0x5]
bx lr
.align 2, 0
-_080969F0: .4byte gUnknown_20397B0
+_080969F0: .4byte sPSSData
thumb_func_end sub_80969BC
thumb_func_start sub_80969F4
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index d6c3f548f..b0c2b9a87 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -106,8 +106,8 @@ _081345D0:
cmp r0, 0x5
beq _08134604
_081345D4:
- movs r0, 0x6
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
+ bl SetHelpContext
ldr r2, _081345F8 @ =gUnknown_203B140
ldr r0, [r2]
ldr r3, _081345FC @ =0x00003214
@@ -127,8 +127,8 @@ _081345F8: .4byte gUnknown_203B140
_081345FC: .4byte 0x00003214
_08134600: .4byte 0x00003234
_08134604:
- movs r0, 0x6
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
+ bl SetHelpContext
ldr r0, [r4]
ldr r3, _08134628 @ =0x00003214
adds r0, r3
@@ -148,8 +148,8 @@ _08134628: .4byte 0x00003214
_0813462C: .4byte 0x0000321c
_08134630: .4byte 0x00003234
_08134634:
- movs r0, 0x8
- bl HelpSystem_SetSomeVariable2
+ movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES
+ bl SetHelpContext
ldr r0, [r4]
ldr r3, _08134710 @ =0x00003214
adds r0, r3
@@ -3187,7 +3187,7 @@ _08135FC8: .4byte gUnknown_8E9B310
_08135FCC:
movs r0, 0x60
movs r1, 0x1
- bl sub_8107D38
+ bl ListMenuLoadStdPalAt
ldr r0, _08135FE0 @ =gUnknown_84636C0
movs r1, 0x70
_08135FD8:
@@ -7600,15 +7600,15 @@ _08138460: .4byte 0x00003214
_08138464:
cmp r0, 0x3
bgt _08138476
- movs r0, 0x8
+ movs r0, 0x8 @ HELPCONTEXT_POKEMON_MOVES
b _08138472
_0813846C:
- movs r0, 0x6
+ movs r0, 0x6 @ HELPCONTEXT_POKEMON_INFO
b _08138472
_08138470:
- movs r0, 0x7
+ movs r0, 0x7 @ HELPCONTEXT_POKEMON_SKILLS
_08138472:
- bl HelpSystem_SetSomeVariable2
+ bl SetHelpContext
_08138476:
pop {r0}
bx r0
diff --git a/asm/script_movement.s b/asm/script_movement.s
deleted file mode 100644
index 04b3ab9b9..000000000
--- a/asm/script_movement.s
+++ /dev/null
@@ -1,602 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start ScriptMovement_StartObjectMovementScript
-ScriptMovement_StartObjectMovementScript: @ 8097434
- push {r4,lr}
- sub sp, 0x4
- adds r4, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _08097456
- movs r0, 0x1
- b _0809747E
-_08097456:
- ldr r0, _08097488 @ =Task_80A244C
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _08097468
- movs r0, 0x32
- bl sub_80974F8
-_08097468:
- bl sub_8097540
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- ldrb r1, [r1]
- adds r2, r4, 0
- bl sub_8097554
- lsls r0, 24
- lsrs r0, 24
-_0809747E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08097488: .4byte Task_80A244C
- thumb_func_end ScriptMovement_StartObjectMovementScript
-
- thumb_func_start ScriptMovement_IsObjectMovementFinished
-ScriptMovement_IsObjectMovementFinished: @ 809748C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080974CE
- bl sub_8097540
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80975C0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080974CE
- adds r0, r4, 0
- bl sub_80976D0
- lsls r0, 24
- lsrs r0, 24
- b _080974D0
-_080974CE:
- movs r0, 0x1
-_080974D0:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end ScriptMovement_IsObjectMovementFinished
-
- thumb_func_start sub_80974D8
-sub_80974D8: @ 80974D8
- push {r4,lr}
- bl sub_8097540
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080974F2
- adds r0, r4, 0
- bl UnfreezeObjects
- adds r0, r4, 0
- bl DestroyTask
-_080974F2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80974D8
-
- thumb_func_start sub_80974F8
-sub_80974F8: @ 80974F8
- push {r4,r5,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08097534 @ =Task_80A244C
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r5, _08097538 @ =gTasks+0x8
- ldr r0, _0809753C @ =0x0000ffff
- adds r4, r0, 0
-_08097518:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _08097518
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097534: .4byte Task_80A244C
-_08097538: .4byte gTasks+0x8
-_0809753C: .4byte 0x0000ffff
- thumb_func_end sub_80974F8
-
- thumb_func_start sub_8097540
-sub_8097540: @ 8097540
- push {lr}
- ldr r0, _08097550 @ =Task_80A244C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08097550: .4byte Task_80A244C
- thumb_func_end sub_8097540
-
- thumb_func_start sub_8097554
-sub_8097554: @ 8097554
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80975C0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _08097590
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80976D0
- lsls r0, 24
- cmp r0, 0
- beq _080975B0
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- b _080975A6
-_08097590:
- adds r0, r7, 0
- movs r1, 0xFF
- bl sub_80975C0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080975B0
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
-_080975A6:
- mov r3, r9
- bl sub_8097728
- movs r0, 0
- b _080975B2
-_080975B0:
- movs r0, 0x1
-_080975B2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8097554
-
- thumb_func_start sub_80975C0
-sub_80975C0: @ 80975C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080975E4 @ =gTasks+0x8
- adds r1, r0
- adds r1, 0x2
- movs r2, 0
-_080975D8:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080975E8
- adds r0, r2, 0
- b _080975F6
- .align 2, 0
-_080975E4: .4byte gTasks+0x8
-_080975E8:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r2, 0xF
- bls _080975D8
- movs r0, 0x10
-_080975F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80975C0
-
- thumb_func_start sub_80975FC
-sub_80975FC: @ 80975FC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0809762C @ =gTasks+0x8
- adds r1, r0
- adds r1, 0x2
- str r1, [r2]
- movs r0, 0
- cmp r0, r3
- bcs _08097628
-_0809761A:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x1
- cmp r0, r3
- bcc _0809761A
- str r1, [r2]
-_08097628:
- pop {r0}
- bx r0
- .align 2, 0
-_0809762C: .4byte gTasks+0x8
- thumb_func_end sub_80975FC
-
- thumb_func_start sub_8097630
-sub_8097630: @ 8097630
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r2, sp
- bl sub_80975FC
- ldr r0, [sp]
- strb r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8097630
-
- thumb_func_start sub_8097654
-sub_8097654: @ 8097654
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r2, sp
- bl sub_80975FC
- ldr r0, [sp]
- ldrb r0, [r0]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8097654
-
- thumb_func_start sub_8097678
-sub_8097678: @ 8097678
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, _080976A0 @ =gBitTable
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- mvns r2, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r3, _080976A4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x8]
- ands r2, r0
- strh r2, [r1, 0x8]
- bx lr
- .align 2, 0
-_080976A0: .4byte gBitTable
-_080976A4: .4byte gTasks
- thumb_func_end sub_8097678
-
- thumb_func_start sub_80976A8
-sub_80976A8: @ 80976A8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080976C8 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, _080976CC @ =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080976C8: .4byte gTasks
-_080976CC: .4byte gBitTable
- thumb_func_end sub_80976A8
-
- thumb_func_start sub_80976D0
-sub_80976D0: @ 80976D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080976F8 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, _080976FC @ =gBitTable
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _08097700
- movs r0, 0
- b _08097702
- .align 2, 0
-_080976F8: .4byte gTasks
-_080976FC: .4byte gBitTable
-_08097700:
- movs r0, 0x1
-_08097702:
- pop {r1}
- bx r1
- thumb_func_end sub_80976D0
-
- thumb_func_start npc_obj_offscreen_culling_and_flag_update
-npc_obj_offscreen_culling_and_flag_update: @ 8097708
- lsls r0, 24
- ldr r2, _08097714 @ =gUnknown_2039830
- lsrs r0, 22
- adds r0, r2
- str r1, [r0]
- bx lr
- .align 2, 0
-_08097714: .4byte gUnknown_2039830
- thumb_func_end npc_obj_offscreen_culling_and_flag_update
-
- thumb_func_start sub_8097718
-sub_8097718: @ 8097718
- lsls r0, 24
- ldr r1, _08097724 @ =gUnknown_2039830
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08097724: .4byte gUnknown_2039830
- thumb_func_end sub_8097718
-
- thumb_func_start sub_8097728
-sub_8097728: @ 8097728
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8097678
- adds r0, r4, 0
- mov r1, r8
- bl npc_obj_offscreen_culling_and_flag_update
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8097630
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8097728
-
- thumb_func_start UnfreezeObjects
-UnfreezeObjects: @ 8097768
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080977A4 @ =gTasks+0x8
- adds r1, r0
- adds r4, r1, 0x2
- movs r5, 0
-_0809777C:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _08097792
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080977A8 @ =gObjectEvents
- adds r0, r1
- bl UnfreezeObjectEvent
-_08097792:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r5, 0xF
- bls _0809777C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080977A4: .4byte gTasks+0x8
-_080977A8: .4byte gObjectEvents
- thumb_func_end UnfreezeObjects
-
- thumb_func_start Task_80A244C
-Task_80A244C: @ 80977AC
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- mov r6, sp
-_080977B8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_8097654
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080977DC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8097718
- adds r3, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80977F0
-_080977DC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080977B8
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_80A244C
-
- thumb_func_start sub_80977F0
-sub_80977F0: @ 80977F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- mov r8, r5
- lsls r2, 24
- lsrs r4, r2, 24
- adds r1, r5, 0
- bl sub_80976D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809786A
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- ldr r1, _08097850 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsHeldMovementActive
- lsls r0, 24
- cmp r0, 0
- beq _08097838
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0809786A
-_08097838:
- ldrb r1, [r6]
- cmp r1, 0xFE
- bne _08097854
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80976A8
- adds r0, r4, 0
- bl FreezeObjectEvent
- b _0809786A
- .align 2, 0
-_08097850: .4byte gObjectEvents
-_08097854:
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- lsls r0, 24
- cmp r0, 0
- bne _0809786A
- adds r6, 0x1
- mov r0, r8
- adds r1, r6, 0
- bl npc_obj_offscreen_culling_and_flag_update
-_0809786A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80977F0
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_see.s b/asm/trainer_see.s
deleted file mode 100644
index dee50b60f..000000000
--- a/asm/trainer_see.s
+++ /dev/null
@@ -1,1628 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CheckForTrainersWantingBattle
-CheckForTrainersWantingBattle: @ 8081B30
- push {r4,r5,lr}
- bl sub_8111C2C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08081B44
- b _08081B78
-_08081B40:
- movs r0, 0x1
- b _08081B7A
-_08081B44:
- movs r4, 0
- ldr r5, _08081B80 @ =gObjectEvents
-_08081B48:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r5
- ldrb r0, [r1]
- lsls r0, 31
- cmp r0, 0
- beq _08081B6E
- ldrb r0, [r1, 0x7]
- cmp r0, 0x1
- beq _08081B62
- cmp r0, 0x3
- bne _08081B6E
-_08081B62:
- adds r0, r4, 0
- bl sub_8081B84
- lsls r0, 24
- cmp r0, 0
- bne _08081B40
-_08081B6E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _08081B48
-_08081B78:
- movs r0, 0
-_08081B7A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08081B80: .4byte gObjectEvents
- thumb_func_end CheckForTrainersWantingBattle
-
- thumb_func_start sub_8081B84
-sub_8081B84: @ 8081B84
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl GetObjectEventScriptPointerByObjectEventId
- adds r6, r0, 0
- bl GetTrainerFlagFromScriptPointer
- cmp r0, 0
- bne _08081BE4
- lsls r4, r5, 3
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, _08081BE0 @ =gObjectEvents
- adds r0, r1
- bl sub_8081BEC
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08081BE4
- ldrb r0, [r6, 0x1]
- cmp r0, 0x4
- bne _08081BC0
- bl GetMonsStateToDoubles
- lsls r0, 24
- cmp r0, 0
- bne _08081BE4
-_08081BC0:
- adds r0, r5, 0
- adds r1, r6, 0
- bl ConfigureAndSetUpOneTrainerBattle
- adds r0, r4, r5
- lsls r0, 2
- ldr r1, _08081BE0 @ =gObjectEvents
- adds r0, r1
- subs r1, r7, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl sub_8081E68
- movs r0, 0x1
- b _08081BE6
- .align 2, 0
-_08081BE0: .4byte gObjectEvents
-_08081BE4:
- movs r0, 0
-_08081BE6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8081B84
-
- thumb_func_start sub_8081BEC
-sub_8081BEC: @ 8081BEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldrb r0, [r7, 0x7]
- mov r8, r4
- cmp r0, 0x1
- bne _08081C4C
- ldr r1, _08081C44 @ =gUnknown_83C7248
- ldrb r0, [r7, 0x18]
- lsls r0, 28
- lsrs r0, 26
- subs r0, 0x4
- adds r0, r1
- ldrb r1, [r7, 0x1D]
- mov r2, sp
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r5, 0
- ldrsh r3, [r4, r5]
- ldr r4, [r0]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r7, 0x18]
- lsls r2, 28
- lsrs r2, 28
- adds r0, r7, 0
- adds r1, r6, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- lsrs r0, 24
- b _08081C8C
- .align 2, 0
-_08081C44: .4byte gUnknown_83C7248
-_08081C48:
- adds r0, r6, 0
- b _08081C8C
-_08081C4C:
- movs r5, 0
-_08081C4E:
- ldr r0, _08081C98 @ =gUnknown_83C7248
- lsls r4, r5, 2
- adds r4, r0
- ldrb r1, [r7, 0x1D]
- mov r0, sp
- movs r6, 0
- ldrsh r2, [r0, r6]
- mov r0, r8
- movs r6, 0
- ldrsh r3, [r0, r6]
- ldr r4, [r4]
- adds r0, r7, 0
- bl _call_via_r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl CheckPathBetweenTrainerAndPlayer
- lsls r0, 24
- cmp r0, 0
- bne _08081C48
- adds r5, r4, 0
- cmp r5, 0x3
- bls _08081C4E
- movs r0, 0
-_08081C8C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08081C98: .4byte gUnknown_83C7248
- thumb_func_end sub_8081BEC
-
- thumb_func_start IsTrainerInRangeSouth
-IsTrainerInRangeSouth: @ 8081C9C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _08081CE4
- lsls r0, r5, 16
- asrs r2, r0, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r2, r0
- ble _08081CE4
- lsls r1, 16
- asrs r1, 16
- adds r0, r1
- cmp r2, r0
- bgt _08081CE4
- cmp r1, 0x3
- ble _08081CDA
- bl GetFirstInactiveObjectEventId
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _08081CE4
-_08081CDA:
- ldrb r0, [r4, 0x12]
- subs r0, r5, r0
- lsls r0, 24
- lsrs r0, 24
- b _08081CE6
-_08081CE4:
- movs r0, 0
-_08081CE6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeSouth
-
- thumb_func_start IsTrainerInRangeNorth
-IsTrainerInRangeNorth: @ 8081CEC
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r3, 16
- lsrs r5, r3, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r2, 16
- asrs r2, 16
- cmp r0, r2
- bne _08081D26
- lsls r0, r5, 16
- asrs r2, r0, 16
- ldrh r3, [r4, 0x12]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r2, r0
- bge _08081D26
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r2, r1
- blt _08081D26
- subs r0, r3, r5
- lsls r0, 24
- lsrs r0, 24
- b _08081D28
-_08081D26:
- movs r0, 0
-_08081D28:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeNorth
-
- thumb_func_start IsTrainerInRangeWest
-IsTrainerInRangeWest: @ 8081D30
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _08081D6A
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _08081D6A
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- subs r1, r0
- cmp r3, r1
- blt _08081D6A
- subs r0, r2, r5
- lsls r0, 24
- lsrs r0, 24
- b _08081D6C
-_08081D6A:
- movs r0, 0
-_08081D6C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeWest
-
- thumb_func_start IsTrainerInRangeEast
-IsTrainerInRangeEast: @ 8081D74
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- lsls r3, 16
- asrs r3, 16
- cmp r0, r3
- bne _08081DAE
- lsls r0, r5, 16
- asrs r3, r0, 16
- ldrh r2, [r4, 0x10]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _08081DAE
- adds r1, r0, 0
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- cmp r3, r1
- bgt _08081DAE
- subs r0, r5, r2
- lsls r0, 24
- lsrs r0, 24
- b _08081DB0
-_08081DAE:
- movs r0, 0
-_08081DB0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end IsTrainerInRangeEast
-
- thumb_func_start CheckPathBetweenTrainerAndPlayer
-CheckPathBetweenTrainerAndPlayer: @ 8081DB8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r7, r2, 24
- cmp r1, 0
- beq _08081E54
- ldrh r1, [r6, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrh r0, [r6, 0x12]
- mov r1, sp
- adds r1, 0x2
- strh r0, [r1]
- movs r4, 0
- mov r8, r1
- mov r5, r9
- subs r5, 0x1
- cmp r4, r5
- bgt _08081E26
-_08081DEC:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl GetCollisionFlagsAtCoords
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08081E12
- movs r0, 0x2
- negs r0, r0
- ands r1, r0
- cmp r1, 0
- bne _08081E54
-_08081E12:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- mov r1, sp
- mov r2, r8
- bl MoveCoords
- cmp r4, r5
- ble _08081DEC
-_08081E26:
- ldrb r4, [r6, 0x19]
- lsls r5, r4, 28
- lsrs r5, 28
- lsrs r4, 4
- movs r0, 0
- strb r0, [r6, 0x19]
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r3, r8
- movs r0, 0
- ldrsh r2, [r3, r0]
- adds r0, r6, 0
- adds r3, r7, 0
- bl GetCollisionAtCoords
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r4, 4
- orrs r5, r4
- strb r5, [r6, 0x19]
- cmp r1, 0x4
- beq _08081E58
-_08081E54:
- movs r0, 0
- b _08081E5A
-_08081E58:
- mov r0, r9
-_08081E5A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckPathBetweenTrainerAndPlayer
-
- thumb_func_start sub_8081E68
-sub_8081E68: @ 8081E68
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r0, _08081E94 @ =RunTrainerSeeFuncList
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08081E98 @ =gTasks
- adds r1, r0
- lsrs r0, r5, 16
- strh r0, [r1, 0xA]
- strh r5, [r1, 0xC]
- strh r4, [r1, 0xE]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081E94: .4byte RunTrainerSeeFuncList
-_08081E98: .4byte gTasks
- thumb_func_end sub_8081E68
-
- thumb_func_start sub_8081E9C
-sub_8081E9C: @ 8081E9C
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, _08081ED4 @ =RunTrainerSeeFuncList
- adds r0, r5, 0
- bl FindTaskIdByFunc
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _08081ED8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- adds r0, r4, 0
- bl _call_via_r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08081ED4: .4byte RunTrainerSeeFuncList
-_08081ED8: .4byte gTasks
- thumb_func_end sub_8081E9C
-
- thumb_func_start RunTrainerSeeFuncList
-RunTrainerSeeFuncList: @ 8081EDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _08081F08 @ =gTasks
- adds r5, r0, r1
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r4, r0, 16
- ldrh r0, [r5, 0xC]
- orrs r4, r0
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- bne _08081F0C
- adds r0, r6, 0
- bl SwitchTaskToFollowupFunc
- b _08081F28
- .align 2, 0
-_08081F08: .4byte gTasks
-_08081F0C:
- ldr r7, _08081F30 @ =gUnknown_83C7258
-_08081F0E:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r0, 2
- adds r0, r7
- ldr r3, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl _call_via_r3
- lsls r0, 24
- cmp r0, 0
- bne _08081F0E
-_08081F28:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081F30: .4byte gUnknown_83C7258
- thumb_func_end RunTrainerSeeFuncList
-
- thumb_func_start sub_8081F34
-sub_8081F34: @ 8081F34
- movs r0, 0
- bx lr
- thumb_func_end sub_8081F34
-
- thumb_func_start sub_8081F38
-sub_8081F38: @ 8081F38
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldrb r1, [r4, 0x18]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _08081F54
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- ble _08081F54
- movs r0, 0xC
- b _08081F82
-_08081F54:
- ldr r1, _08081F8C @ =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r4, 0
- bl ObjectEventGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetFaceDirectionMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
-_08081F82:
- strh r0, [r5, 0x8]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08081F8C: .4byte gFieldEffectArguments
- thumb_func_end sub_8081F38
-
- thumb_func_start sub_8081F90
-sub_8081F90: @ 8081F90
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- movs r0, 0
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- beq _08081FA6
- movs r0, 0
- b _08081FC8
-_08081FA6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldrb r0, [r5, 0x6]
- subs r0, 0x39
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08081FBC
- movs r0, 0x6
- strh r0, [r4, 0x8]
-_08081FBC:
- ldrb r0, [r5, 0x6]
- cmp r0, 0x3F
- bne _08081FC6
- movs r0, 0x8
- strh r0, [r4, 0x8]
-_08081FC6:
- movs r0, 0x1
-_08081FC8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8081F90
-
- thumb_func_start sub_8081FD0
-sub_8081FD0: @ 8081FD0
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08081FEE
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08082022
-_08081FEE:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08082014
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetWalkNormalMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- b _08082022
-_08082014:
- adds r0, r4, 0
- movs r1, 0x4A
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08082022:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8081FD0
-
- thumb_func_start sub_808202C
-sub_808202C: @ 808202C
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808204A
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820AC
-_0808204A:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetTrainerMovementType
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl OverrideMovementTypeForObjectEvent
- adds r0, r4, 0
- bl OverrideTemplateCoordsForObjectEvent
- ldr r0, _080820B4 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080820B8 @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080820A2
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820AC
-_080820A2:
- bl sub_805C774
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080820AC:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080820B4: .4byte gPlayerAvatar
-_080820B8: .4byte gObjectEvents
- thumb_func_end sub_808202C
-
- thumb_func_start sub_80820BC
-sub_80820BC: @ 80820BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080820F8 @ =gPlayerAvatar
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080820FC @ =gObjectEvents
- adds r4, r0, r1
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080820E8
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _080820EE
-_080820E8:
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
-_080820EE:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080820F8: .4byte gPlayerAvatar
-_080820FC: .4byte gObjectEvents
- thumb_func_end sub_80820BC
-
- thumb_func_start sub_8082100
-sub_8082100: @ 8082100
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808211E
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808212C
-_0808211E:
- adds r0, r4, 0
- movs r1, 0x67
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808212C:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8082100
-
- thumb_func_start sub_8082134
-sub_8082134: @ 8082134
- push {r4,lr}
- adds r4, r1, 0
- adds r0, r2, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _08082148
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_08082148:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8082134
-
- thumb_func_start sub_8082150
-sub_8082150: @ 8082150
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _0808216E
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808217C
-_0808216E:
- adds r0, r4, 0
- movs r1, 0x4A
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808217C:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8082150
-
- thumb_func_start sub_8082184
-sub_8082184: @ 8082184
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- adds r0, r4, 0
- bl ObjectEventCheckHeldMovementStatus
- lsls r0, 24
- cmp r0, 0
- beq _080821CA
- ldr r2, _080821D4 @ =gFieldEffectArguments
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2]
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldr r3, _080821D8 @ =gSprites
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
- str r0, [r2, 0x8]
- movs r0, 0x2
- str r0, [r2, 0xC]
- movs r0, 0x31
- bl FieldEffectStart
- strh r0, [r5, 0x10]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080821CA:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080821D4: .4byte gFieldEffectArguments
-_080821D8: .4byte gSprites
- thumb_func_end sub_8082184
-
- thumb_func_start sub_80821DC
-sub_80821DC: @ 80821DC
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r2, _0808224C @ =gSprites
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x2B
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08082244
- ldrb r1, [r4, 0x3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r0, r4, 0
- bl ObjectEventClearHeldMovementIfFinished
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetJumpInPlaceMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_08082244:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808224C: .4byte gSprites
- thumb_func_end sub_80821DC
-
- thumb_func_start sub_8082250
-sub_8082250: @ 8082250
- push {r4,lr}
- adds r4, r1, 0
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _08082264
- movs r0, 0x3
- strh r0, [r4, 0x8]
-_08082264:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8082250
-
- thumb_func_start sub_808226C
-sub_808226C: @ 808226C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r1, 0
- movs r0, 0
- strh r0, [r4, 0x12]
- ldr r0, _080822C4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrh r3, [r0]
- adds r3, 0x7
- lsls r3, 16
- asrs r3, 16
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0x7
- movs r2, 0x7F
- bl SpawnSpecialObjectEventParameterized
- ldr r2, _080822C8 @ =gObjectEvents
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- movs r2, 0x20
- orrs r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r1, 0x4]
- bl CameraObjectSetFollowedObjectId
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080822C4: .4byte gSaveBlock1Ptr
-_080822C8: .4byte gObjectEvents
- thumb_func_end sub_808226C
-
- thumb_func_start sub_80822CC
-sub_80822CC: @ 80822CC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, _08082348 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _0808234C @ =gObjectEvents
- adds r0, r4
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _08082312
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808236E
-_08082312:
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _08082350
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _0808234C @ =gObjectEvents
- adds r4, r0
- movs r0, 0x2
- bl GetWalkFastMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- b _0808236E
- .align 2, 0
-_08082348: .4byte gSaveBlock1Ptr
-_0808234C: .4byte gObjectEvents
-_08082350:
- ldr r1, _08082378 @ =gFieldEffectArguments
- adds r2, r1, 0x4
- adds r3, r1, 0
- adds r3, 0x8
- adds r0, r6, 0
- bl ObjectEventGetLocalIdAndMap
- movs r0, 0
- bl FieldEffectStart
- movs r0, 0
- strh r0, [r5, 0x12]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0808236E:
- movs r0, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08082378: .4byte gFieldEffectArguments
- thumb_func_end sub_80822CC
-
- thumb_func_start sub_808237C
-sub_808237C: @ 808237C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r1, 0
- ldr r0, _08082404 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- movs r0, 0
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _0808242E
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _08082408 @ =gObjectEvents
- adds r0, r4
- bl ObjectEventIsMovementOverridden
- lsls r0, 24
- cmp r0, 0
- beq _080823CC
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl ObjectEventClearHeldMovementIfFinished
- lsls r0, 24
- cmp r0, 0
- beq _0808242E
-_080823CC:
- movs r0, 0x12
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _0808240C
- mov r0, sp
- ldrb r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _08082408 @ =gObjectEvents
- adds r4, r0
- movs r0, 0x1
- bl GetWalkFastMovementAction
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ObjectEventSetHeldMovement
- ldrh r0, [r5, 0x12]
- adds r0, 0x1
- strh r0, [r5, 0x12]
- b _0808242E
- .align 2, 0
-_08082404: .4byte gSaveBlock1Ptr
-_08082408: .4byte gObjectEvents
-_0808240C:
- bl GetPlayerAvatarObjectId
- lsls r0, 24
- lsrs r0, 24
- bl CameraObjectSetFollowedObjectId
- ldr r0, _08082438 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x7F
- bl RemoveObjectEventByLocalIdAndMap
- movs r0, 0
- strh r0, [r5, 0x12]
- movs r0, 0x2
- strh r0, [r5, 0x8]
-_0808242E:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08082438: .4byte gSaveBlock1Ptr
- thumb_func_end sub_808237C
-
- thumb_func_start sub_808243C
-sub_808243C: @ 808243C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080824D0 @ =gTasks
- adds r4, r0, r1
- adds r0, r4, 0
- adds r0, 0xA
- mov r1, sp
- bl LoadWordFromTwoHalfwords
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0808246E
- ldr r0, [sp]
- bl ObjectEventClearHeldMovement
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_0808246E:
- ldr r1, _080824D4 @ =gUnknown_83C7294
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r2, [sp]
- ldr r3, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r3
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _080824D8
- movs r0, 0x31
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080824D8
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl SetTrainerMovementType
- ldr r4, [sp]
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl GetTrainerFacingDirectionMovementType
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl OverrideMovementTypeForObjectEvent
- adds r0, r5, 0
- bl DestroyTask
- b _080824E2
- .align 2, 0
-_080824D0: .4byte gTasks
-_080824D4: .4byte gUnknown_83C7294
-_080824D8:
- ldr r2, [sp]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_080824E2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808243C
-
- thumb_func_start sub_80824EC
-sub_80824EC: @ 80824EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08082518 @ =sub_808243C
- movs r1, 0
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _0808251C @ =gTasks+0x8
- adds r0, r1
- adds r0, 0x2
- adds r1, r4, 0
- bl StoreWordInTwoHalfwords
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08082518: .4byte sub_808243C
-_0808251C: .4byte gTasks+0x8
- thumb_func_end sub_80824EC
-
- thumb_func_start ScrSpecial_EndTrainerApproach
-ScrSpecial_EndTrainerApproach: @ 8082520
- push {lr}
- ldr r0, _0808252C @ =sub_8082530
- bl sub_8081E9C
- pop {r0}
- bx r0
- .align 2, 0
-_0808252C: .4byte sub_8082530
- thumb_func_end ScrSpecial_EndTrainerApproach
-
- thumb_func_start sub_8082530
-sub_8082530: @ 8082530
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_8082530
-
- thumb_func_start FldEff_ExclamationMarkIcon1
-FldEff_ExclamationMarkIcon1: @ 8082544
- push {lr}
- ldr r0, _08082574 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x53
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0808256C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082578 @ =gSprites
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_808265C
-_0808256C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08082574: .4byte gUnknown_83C7388
-_08082578: .4byte gSprites
- thumb_func_end FldEff_ExclamationMarkIcon1
-
- thumb_func_start sub_808257C
-sub_808257C: @ 808257C
- push {lr}
- ldr r0, _080825AC @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080825A4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080825B0 @ =gSprites
- adds r0, r1
- movs r1, 0x42
- movs r2, 0x1
- bl sub_808265C
-_080825A4:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080825AC: .4byte gUnknown_83C7388
-_080825B0: .4byte gSprites
- thumb_func_end sub_808257C
-
- thumb_func_start sub_80825B4
-sub_80825B4: @ 80825B4
- push {lr}
- ldr r0, _080825E4 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080825DC
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080825E8 @ =gSprites
- adds r0, r1
- movs r1, 0x2E
- movs r2, 0x2
- bl sub_808265C
-_080825DC:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080825E4: .4byte gUnknown_83C7388
-_080825E8: .4byte gSprites
- thumb_func_end sub_80825B4
-
- thumb_func_start sub_80825EC
-sub_80825EC: @ 80825EC
- push {lr}
- ldr r0, _0808261C @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08082614
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082620 @ =gSprites
- adds r0, r1
- movs r1, 0x40
- movs r2, 0x3
- bl sub_808265C
-_08082614:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808261C: .4byte gUnknown_83C7388
-_08082620: .4byte gSprites
- thumb_func_end sub_80825EC
-
- thumb_func_start sub_8082624
-sub_8082624: @ 8082624
- push {lr}
- ldr r0, _08082654 @ =gUnknown_83C7388
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0808264C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08082658 @ =gSprites
- adds r0, r1
- movs r1, 0x21
- movs r2, 0x4
- bl sub_808265C
-_0808264C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08082654: .4byte gUnknown_83C7388
-_08082658: .4byte gSprites
- thumb_func_end sub_8082624
-
- thumb_func_start sub_808265C
-sub_808265C: @ 808265C
- push {r4,lr}
- lsls r2, 24
- lsrs r2, 24
- ldrb r4, [r0, 0x5]
- movs r3, 0xD
- negs r3, r3
- ands r3, r4
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r0, 0x5]
- movs r3, 0x3E
- adds r3, r0
- mov r12, r3
- ldrb r3, [r3]
- movs r4, 0x2
- orrs r3, r4
- mov r4, r12
- strb r3, [r4]
- ldr r4, _080826A0 @ =gFieldEffectArguments
- ldr r3, [r4]
- strh r3, [r0, 0x2E]
- ldr r3, [r4, 0x4]
- strh r3, [r0, 0x30]
- ldr r3, [r4, 0x8]
- strh r3, [r0, 0x32]
- ldr r3, _080826A4 @ =0x0000fffb
- strh r3, [r0, 0x34]
- strh r1, [r0, 0x3C]
- adds r1, r2, 0
- bl StartSpriteAnim
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080826A0: .4byte gFieldEffectArguments
-_080826A4: .4byte 0x0000fffb
- thumb_func_end sub_808265C
-
- thumb_func_start objc_exclamation_mark_probably
-objc_exclamation_mark_probably: @ 80826A8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x32]
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetObjectEventIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080826DA
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080826E8
-_080826DA:
- ldrh r1, [r4, 0x3C]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldEffectStop
- b _08082736
-_080826E8:
- ldr r2, _0808272C @ =gObjectEvents
- mov r0, sp
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08082730 @ =gSprites
- adds r1, r0
- ldrh r3, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r2, r3, r0
- strh r2, [r4, 0x36]
- ldrh r0, [r1, 0x20]
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x22]
- subs r0, 0x10
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x24]
- strh r0, [r4, 0x24]
- ldrh r0, [r1, 0x26]
- adds r0, r2
- strh r0, [r4, 0x26]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _08082734
- adds r0, r3, 0x1
- strh r0, [r4, 0x34]
- b _08082736
- .align 2, 0
-_0808272C: .4byte gObjectEvents
-_08082730: .4byte gSprites
-_08082734:
- strh r2, [r4, 0x34]
-_08082736:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end objc_exclamation_mark_probably
-
- .align 2, 0 @ Don't pad with nop.