summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-08-22 22:28:46 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-08-22 22:28:46 +0200
commit0408b6160a0e97ba62f9867114ea047bb2fe3b15 (patch)
treee5d2921a51d8081859c1fe1863cd30d5fbc81ae2 /asm
parent8f4128c49491007a8f407ad541dd3dd5e17436ec (diff)
parent20594938e275bd3d6ec6f38b42400eaac79fa86e (diff)
Merge branch 'master' into decompile_cute_sketch
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_message.s2403
-rw-r--r--asm/berry_blender.s9164
-rw-r--r--asm/egg_hatch.s1630
-rw-r--r--asm/learn_move.s2739
4 files changed, 0 insertions, 15936 deletions
diff --git a/asm/battle_message.s b/asm/battle_message.s
deleted file mode 100644
index badbf2b7d..000000000
--- a/asm/battle_message.s
+++ /dev/null
@@ -1,2403 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start BufferStringBattle
-BufferStringBattle: @ 8120AA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- ldr r5, _08120B70 @ =gSelectedOrderFromParty
- ldr r4, _08120B74 @ =gActiveBank
- ldrb r1, [r4]
- lsls r1, 9
- ldr r0, _08120B78 @ =gUnknown_02023A64
- adds r1, r0
- str r1, [r5]
- ldr r2, _08120B7C @ =gLastUsedItem
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- ldr r2, _08120B80 @ =gLastUsedAbility
- ldrb r0, [r1, 0x6]
- strb r0, [r2]
- ldr r3, _08120B84 @ =0x02000000
- ldrb r0, [r1, 0x7]
- mov r8, r0
- ldr r2, _08120B88 @ =0x00016003
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldrb r0, [r1, 0x8]
- mov r8, r0
- ldr r2, _08120B8C @ =0x0001605e
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldrb r0, [r1, 0x9]
- mov r8, r0
- ldr r2, _08120B90 @ =0x000160c1
- adds r0, r3, r2
- mov r2, r8
- strb r2, [r0]
- ldr r2, _08120B94 @ =gStringBank
- ldrb r0, [r1, 0xA]
- strb r0, [r2]
- ldrb r1, [r1, 0xB]
- ldr r2, _08120B98 @ =0x000160a0
- adds r0, r3, r2
- strb r1, [r0]
- movs r2, 0
- mov r9, r3
- ldr r3, _08120B9C @ =gBattleTextBuff1
- mov r10, r3
- ldr r3, _08120BA0 @ =gAbilitiesPerBank
-_08120B10:
- adds r0, r2, r3
- ldr r1, [r5]
- adds r1, 0xC
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _08120B10
- movs r2, 0
- ldr r0, _08120B9C @ =gBattleTextBuff1
- mov r8, r0
- ldr r3, _08120B70 @ =gSelectedOrderFromParty
- ldr r1, _08120BA4 @ =gBattleTextBuff2
- mov r12, r1
- ldr r5, _08120BA8 @ =gBattleTextBuff3
-_08120B30:
- mov r0, r8
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- mov r0, r12
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x20
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r5
- ldr r0, [r3]
- adds r0, 0x30
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0xF
- ble _08120B30
- cmp r7, 0x5
- bls _08120B64
- b _08120F50
-_08120B64:
- lsls r0, r7, 2
- ldr r1, _08120BAC @ =_08120BB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08120B70: .4byte gSelectedOrderFromParty
-_08120B74: .4byte gActiveBank
-_08120B78: .4byte gUnknown_02023A64
-_08120B7C: .4byte gLastUsedItem
-_08120B80: .4byte gLastUsedAbility
-_08120B84: .4byte 0x02000000
-_08120B88: .4byte 0x00016003
-_08120B8C: .4byte 0x0001605e
-_08120B90: .4byte 0x000160c1
-_08120B94: .4byte gStringBank
-_08120B98: .4byte 0x000160a0
-_08120B9C: .4byte gBattleTextBuff1
-_08120BA0: .4byte gAbilitiesPerBank
-_08120BA4: .4byte gBattleTextBuff2
-_08120BA8: .4byte gBattleTextBuff3
-_08120BAC: .4byte _08120BB0
- .align 2, 0
-_08120BB0:
- .4byte _08120BC8
- .4byte _08120C40
- .4byte _08120CCC
- .4byte _08120D5C
- .4byte _08120DE8
- .4byte _08120E50
-_08120BC8:
- ldr r0, _08120BEC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08120C00
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08120BF8
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120BF0 @ =gUnknown_084005C7
- cmp r0, 0
- bne _08120BE8
- b _08120F70
-_08120BE8:
- ldr r6, _08120BF4 @ =gUnknown_084005DB
- b _08120F70
- .align 2, 0
-_08120BEC: .4byte gBattleTypeFlags
-_08120BF0: .4byte gUnknown_084005C7
-_08120BF4: .4byte gUnknown_084005DB
-_08120BF8:
- ldr r6, _08120BFC @ =gUnknown_084005AA
- b _08120F70
- .align 2, 0
-_08120BFC: .4byte gUnknown_084005AA
-_08120C00:
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08120C14
- ldr r6, _08120C10 @ =gUnknown_08400568
- b _08120F70
- .align 2, 0
-_08120C10: .4byte gUnknown_08400568
-_08120C14:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120C24
- ldr r6, _08120C20 @ =gUnknown_08400590
- b _08120F70
- .align 2, 0
-_08120C20: .4byte gUnknown_08400590
-_08120C24:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- ldr r6, _08120C38 @ =gUnknown_08400555
- cmp r0, 0
- bne _08120C32
- b _08120F70
-_08120C32:
- ldr r6, _08120C3C @ =gUnknown_0840057B
- b _08120F70
- .align 2, 0
-_08120C38: .4byte gUnknown_08400555
-_08120C3C: .4byte gUnknown_0840057B
-_08120C40:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120C7C
- ldr r0, _08120C68 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120C74
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120C6C @ =gUnknown_084006A4
- cmp r0, 0
- bne _08120C64
- b _08120F70
-_08120C64:
- ldr r6, _08120C70 @ =gUnknown_084006F1
- b _08120F70
- .align 2, 0
-_08120C68: .4byte gBattleTypeFlags
-_08120C6C: .4byte gUnknown_084006A4
-_08120C70: .4byte gUnknown_084006F1
-_08120C74:
- ldr r6, _08120C78 @ =gUnknown_0840069C
- b _08120F70
- .align 2, 0
-_08120C78: .4byte gUnknown_0840069C
-_08120C7C:
- ldr r0, _08120C94 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120CB4
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120C9C
- ldr r6, _08120C98 @ =gUnknown_0840065C
- b _08120F70
- .align 2, 0
-_08120C94: .4byte gBattleTypeFlags
-_08120C98: .4byte gUnknown_0840065C
-_08120C9C:
- movs r0, 0x2
- ands r0, r1
- ldr r6, _08120CAC @ =gUnknown_08400608
- cmp r0, 0
- bne _08120CA8
- b _08120F70
-_08120CA8:
- ldr r6, _08120CB0 @ =gUnknown_08400645
- b _08120F70
- .align 2, 0
-_08120CAC: .4byte gUnknown_08400608
-_08120CB0: .4byte gUnknown_08400645
-_08120CB4:
- movs r0, 0x2
- ands r0, r1
- ldr r6, _08120CC4 @ =gUnknown_084005F5
- cmp r0, 0
- bne _08120CC0
- b _08120F70
-_08120CC0:
- ldr r6, _08120CC8 @ =gUnknown_08400635
- b _08120F70
- .align 2, 0
-_08120CC4: .4byte gUnknown_084005F5
-_08120CC8: .4byte gUnknown_08400635
-_08120CCC:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120D24
- ldr r0, _08120CE8 @ =0x02000000
- ldr r1, _08120CEC @ =0x000160c1
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _08120CF4
- ldr r6, _08120CF0 @ =gUnknown_08400709
- b _08120F70
- .align 2, 0
-_08120CE8: .4byte 0x02000000
-_08120CEC: .4byte 0x000160c1
-_08120CF0: .4byte gUnknown_08400709
-_08120CF4:
- cmp r2, 0x1
- beq _08120D04
- ldr r0, _08120D08 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120D10
-_08120D04:
- ldr r6, _08120D0C @ =gUnknown_08400727
- b _08120F70
- .align 2, 0
-_08120D08: .4byte gBattleTypeFlags
-_08120D0C: .4byte gUnknown_08400727
-_08120D10:
- ldr r6, _08120D1C @ =gUnknown_08400749
- cmp r2, 0x2
- beq _08120D18
- b _08120F70
-_08120D18:
- ldr r6, _08120D20 @ =gUnknown_08400736
- b _08120F70
- .align 2, 0
-_08120D1C: .4byte gUnknown_08400749
-_08120D20: .4byte gUnknown_08400736
-_08120D24:
- ldr r0, _08120D44 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- bne _08120D54
- ldr r0, _08120D48 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120D4C @ =gUnknown_08400771
- cmp r0, 0
- bne _08120D40
- b _08120F70
-_08120D40:
- ldr r6, _08120D50 @ =gUnknown_08400781
- b _08120F70
- .align 2, 0
-_08120D44: .4byte gTrainerBattleOpponent
-_08120D48: .4byte gBattleTypeFlags
-_08120D4C: .4byte gUnknown_08400771
-_08120D50: .4byte gUnknown_08400781
-_08120D54:
- ldr r6, _08120D58 @ =gUnknown_0840075E
- b _08120F70
- .align 2, 0
-_08120D58: .4byte gUnknown_0840075E
-_08120D5C:
- ldr r0, _08120D88 @ =0x00016003
- add r0, r9
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08120DB8
- ldr r0, _08120D8C @ =0x000160c1
- add r0, r9
- ldrb r3, [r0]
- cmp r3, 0
- beq _08120D82
- ldr r0, _08120D90 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08120D98
-_08120D82:
- ldr r6, _08120D94 @ =gUnknown_084006B3
- b _08120F70
- .align 2, 0
-_08120D88: .4byte 0x00016003
-_08120D8C: .4byte 0x000160c1
-_08120D90: .4byte gBattleTypeFlags
-_08120D94: .4byte gUnknown_084006B3
-_08120D98:
- cmp r3, 0x1
- bne _08120DA4
- ldr r6, _08120DA0 @ =gUnknown_084006BB
- b _08120F70
- .align 2, 0
-_08120DA0: .4byte gUnknown_084006BB
-_08120DA4:
- ldr r6, _08120DB0 @ =gUnknown_084006D5
- cmp r3, 0x2
- beq _08120DAC
- b _08120F70
-_08120DAC:
- ldr r6, _08120DB4 @ =gUnknown_084006C6
- b _08120F70
- .align 2, 0
-_08120DB0: .4byte gUnknown_084006D5
-_08120DB4: .4byte gUnknown_084006C6
-_08120DB8:
- ldr r0, _08120DD4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08120DE0
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120DD8 @ =gUnknown_0840067C
- cmp r0, 0
- bne _08120DD0
- b _08120F70
-_08120DD0:
- ldr r6, _08120DDC @ =gUnknown_0840068C
- b _08120F70
- .align 2, 0
-_08120DD4: .4byte gBattleTypeFlags
-_08120DD8: .4byte gUnknown_0840067C
-_08120DDC: .4byte gUnknown_0840068C
-_08120DE0:
- ldr r6, _08120DE4 @ =gUnknown_08400622
- b _08120F70
- .align 2, 0
-_08120DE4: .4byte gUnknown_08400622
-_08120DE8:
- mov r0, r10
- bl sub_8121D1C
- ldr r0, _08120E14 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _08120E28
- ldr r0, _08120E18 @ =gBattleTextBuff2
- ldr r2, _08120E1C @ =gUnknown_08401674
- ldr r1, _08120E20 @ =0x02000000
- ldr r3, _08120E24 @ =0x000160a0
- adds r1, r3
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _08120E38
- .align 2, 0
-_08120E14: .4byte gSelectedOrderFromParty
-_08120E18: .4byte gBattleTextBuff2
-_08120E1C: .4byte gUnknown_08401674
-_08120E20: .4byte 0x02000000
-_08120E24: .4byte 0x000160a0
-_08120E28:
- ldr r0, _08120E44 @ =gBattleTextBuff2
- ldrh r2, [r2]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08120E48 @ =gMoveNames
- adds r1, r2
- bl StringCopy
-_08120E38:
- ldr r0, _08120E44 @ =gBattleTextBuff2
- bl sub_8121D74
- ldr r6, _08120E4C @ =gUnknown_084007BD
- b _08120F70
- .align 2, 0
-_08120E44: .4byte gBattleTextBuff2
-_08120E48: .4byte gMoveNames
-_08120E4C: .4byte gUnknown_084007BD
-_08120E50:
- ldr r5, _08120E90 @ =gBattleTextBuff1
- ldrb r1, [r5]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08120EB8
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5]
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08120E7C
- ldrb r1, [r5]
- cmp r1, 0x3
- beq _08120E7C
- movs r0, 0x3
- eors r0, r1
- strb r0, [r5]
-_08120E7C:
- ldr r0, _08120E90 @ =gBattleTextBuff1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08120E98
- ldr r6, _08120E94 @ =gUnknown_083FFEFC
- b _08120F70
- .align 2, 0
-_08120E90: .4byte gBattleTextBuff1
-_08120E94: .4byte gUnknown_083FFEFC
-_08120E98:
- ldr r0, _08120EAC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- ldr r6, _08120EB0 @ =gUnknown_083FFFEA
- cmp r0, 0
- beq _08120F70
- ldr r6, _08120EB4 @ =gUnknown_083FFFF7
- b _08120F70
- .align 2, 0
-_08120EAC: .4byte gBattleTypeFlags
-_08120EB0: .4byte gUnknown_083FFFEA
-_08120EB4: .4byte gUnknown_083FFFF7
-_08120EB8:
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08120ED2
- ldrb r1, [r5]
- cmp r1, 0x3
- beq _08120ED2
- movs r0, 0x3
- eors r0, r1
- strb r0, [r5]
-_08120ED2:
- ldr r0, _08120EF0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120F18
- ldr r0, _08120EF4 @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08120F08
- cmp r0, 0x2
- bgt _08120EF8
- cmp r0, 0x1
- beq _08120EFE
- b _08120F70
- .align 2, 0
-_08120EF0: .4byte gBattleTypeFlags
-_08120EF4: .4byte gBattleTextBuff1
-_08120EF8:
- cmp r0, 0x3
- beq _08120F10
- b _08120F70
-_08120EFE:
- ldr r6, _08120F04 @ =gUnknown_083FFF6A
- b _08120F70
- .align 2, 0
-_08120F04: .4byte gUnknown_083FFF6A
-_08120F08:
- ldr r6, _08120F0C @ =gUnknown_083FFF99
- b _08120F70
- .align 2, 0
-_08120F0C: .4byte gUnknown_083FFF99
-_08120F10:
- ldr r6, _08120F14 @ =gUnknown_083FFFCB
- b _08120F70
- .align 2, 0
-_08120F14: .4byte gUnknown_083FFFCB
-_08120F18:
- ldr r0, _08120F2C @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08120F40
- cmp r0, 0x2
- bgt _08120F30
- cmp r0, 0x1
- beq _08120F36
- b _08120F70
- .align 2, 0
-_08120F2C: .4byte gBattleTextBuff1
-_08120F30:
- cmp r0, 0x3
- beq _08120F48
- b _08120F70
-_08120F36:
- ldr r6, _08120F3C @ =gUnknown_083FFF56
- b _08120F70
- .align 2, 0
-_08120F3C: .4byte gUnknown_083FFF56
-_08120F40:
- ldr r6, _08120F44 @ =gUnknown_083FFF81
- b _08120F70
- .align 2, 0
-_08120F44: .4byte gUnknown_083FFF81
-_08120F48:
- ldr r6, _08120F4C @ =gUnknown_083FFFB3
- b _08120F70
- .align 2, 0
-_08120F4C: .4byte gUnknown_083FFFB3
-_08120F50:
- movs r0, 0xB5
- lsls r0, 1
- cmp r7, r0
- bls _08120F64
- ldr r1, _08120F60 @ =gDisplayedStringBattle
- movs r0, 0xFF
- strb r0, [r1]
- b _08120F76
- .align 2, 0
-_08120F60: .4byte gDisplayedStringBattle
-_08120F64:
- ldr r1, _08120F84 @ =gBattleStringsTable
- adds r0, r7, 0
- subs r0, 0xC
- lsls r0, 2
- adds r0, r1
- ldr r6, [r0]
-_08120F70:
- adds r0, r6, 0
- bl StrCpyDecodeToDisplayedStringBattle
-_08120F76:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120F84: .4byte gBattleStringsTable
- thumb_func_end BufferStringBattle
-
- thumb_func_start StrCpyDecodeToDisplayedStringBattle
-StrCpyDecodeToDisplayedStringBattle: @ 8120F88
- push {lr}
- ldr r1, _08120F94 @ =gDisplayedStringBattle
- bl StrCpyDecodeBattle
- pop {r1}
- bx r1
- .align 2, 0
-_08120F94: .4byte gDisplayedStringBattle
- thumb_func_end StrCpyDecodeToDisplayedStringBattle
-
- thumb_func_start sub_8120F98
-sub_8120F98: @ 8120F98
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _08120FB0 @ =gUnknown_084017A8
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- movs r3, 0
- b _08120FC0
- .align 2, 0
-_08120FB0: .4byte gUnknown_084017A8
-_08120FB4:
- strb r1, [r2]
- adds r4, 0x1
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x7
- bhi _08120FC8
-_08120FC0:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08120FB4
-_08120FC8:
- ldr r5, [sp]
- ldr r4, [sp, 0x4]
- movs r3, 0
- ldr r2, _08120FE4 @ =gUnknown_081FA6D4
-_08120FD0:
- ldr r1, [r2]
- ldr r0, [r1]
- cmp r5, r0
- bne _08120FE8
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bne _08120FE8
- ldr r0, [r2, 0x4]
- b _08120FF2
- .align 2, 0
-_08120FE4: .4byte gUnknown_081FA6D4
-_08120FE8:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x6
- bls _08120FD0
- movs r0, 0
-_08120FF2:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8120F98
-
- thumb_func_start StrCpyDecodeBattle
-StrCpyDecodeBattle: @ 8120FFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- mov r9, r0
- mov r8, r1
- movs r6, 0
- movs r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- ldrb r1, [r0]
- bl _08121A40
-_0812101E:
- cmp r1, 0xFD
- beq _08121026
- bl _08121A30
-_08121026:
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x2A
- bls _08121036
- bl _081219E6
-_08121036:
- lsls r0, 2
- ldr r1, _08121040 @ =_08121044
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121040: .4byte _08121044
- .align 2, 0
-_08121044:
- .4byte _081210F0
- .4byte _0812111E
- .4byte _0812115A
- .4byte _08121180
- .4byte _081211A4
- .4byte _081211C8
- .4byte _081211EC
- .4byte _08121218
- .4byte _08121248
- .4byte _08121278
- .4byte _081212A8
- .4byte _0812133C
- .4byte _081213A8
- .4byte _0812141C
- .4byte _08121490
- .4byte _08121504
- .4byte _08121578
- .4byte _081215F8
- .4byte _08121620
- .4byte _08121660
- .4byte _081216EC
- .4byte _081216F4
- .4byte _08121704
- .4byte _08121714
- .4byte _0812172C
- .4byte _0812174C
- .4byte _081217C0
- .4byte _08121830
- .4byte _08121840
- .4byte _08121854
- .4byte _08121868
- .4byte _0812188C
- .4byte _081218B0
- .4byte _081218B8
- .4byte _081218C0
- .4byte _0812195C
- .4byte _081219A4
- .4byte _081219AC
- .4byte _0812197C
- .4byte _08121984
- .4byte _081219CC
- .4byte _081219D4
- .4byte _08121134
-_081210F0:
- ldr r5, _08121100 @ =gBattleTextBuff1
- ldrb r0, [r5]
- cmp r0, 0xFD
- bne _08121108
- ldr r4, _08121104 @ =gStringVar1
- adds r0, r5, 0
- b _08121140
- .align 2, 0
-_08121100: .4byte gBattleTextBuff1
-_08121104: .4byte gStringVar1
-_08121108:
- adds r0, r5, 0
- bl sub_8120F98
- adds r4, r0, 0
- cmp r4, 0
- beq _08121118
- bl _081219E6
-_08121118:
- adds r4, r5, 0
- bl _081219E6
-_0812111E:
- ldr r1, _0812112C @ =gBattleTextBuff2
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _08121154
- ldr r4, _08121130 @ =gStringVar2
- b _0812113E
- .align 2, 0
-_0812112C: .4byte gBattleTextBuff2
-_08121130: .4byte gStringVar2
-_08121134:
- ldr r1, _0812114C @ =gBattleTextBuff3
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _08121154
- ldr r4, _08121150 @ =gStringVar3
-_0812113E:
- adds r0, r1, 0
-_08121140:
- adds r1, r4, 0
- bl sub_8121A68
- bl _081219E6
- .align 2, 0
-_0812114C: .4byte gBattleTextBuff3
-_08121150: .4byte gStringVar3
-_08121154:
- adds r4, r1, 0
- bl _081219E6
-_0812115A:
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r1, _08121178 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0812117C @ =gPlayerParty
- adds r0, r1
- bl _0812190E
- .align 2, 0
-_08121178: .4byte gBattlePartyID
-_0812117C: .4byte gPlayerParty
-_08121180:
- movs r0, 0x1
- bl GetBankByPlayerAI
- ldr r1, _0812119C @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081211A0 @ =gEnemyParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_0812119C: .4byte gBattlePartyID
-_081211A0: .4byte gEnemyParty
-_081211A4:
- movs r0, 0x2
- bl GetBankByPlayerAI
- ldr r1, _081211C0 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081211C4 @ =gPlayerParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_081211C0: .4byte gBattlePartyID
-_081211C4: .4byte gPlayerParty
-_081211C8:
- movs r0, 0x3
- bl GetBankByPlayerAI
- ldr r1, _081211E4 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081211E8 @ =gEnemyParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_081211E4: .4byte gBattlePartyID
-_081211E8: .4byte gEnemyParty
-_081211EC:
- ldr r2, _0812120C @ =gBattlePartyID
- ldr r1, _08121210 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121214 @ =gPlayerParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_0812120C: .4byte gBattlePartyID
-_08121210: .4byte gLinkPlayers
-_08121214: .4byte gPlayerParty
-_08121218:
- ldr r2, _0812123C @ =gBattlePartyID
- ldr r1, _08121240 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121244 @ =gEnemyParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_0812123C: .4byte gBattlePartyID
-_08121240: .4byte gLinkPlayers
-_08121244: .4byte gEnemyParty
-_08121248:
- ldr r2, _0812126C @ =gBattlePartyID
- ldr r1, _08121270 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121274 @ =gPlayerParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_0812126C: .4byte gBattlePartyID
-_08121270: .4byte gLinkPlayers
-_08121274: .4byte gPlayerParty
-_08121278:
- ldr r2, _0812129C @ =gBattlePartyID
- ldr r1, _081212A0 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081212A4 @ =gEnemyParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_0812129C: .4byte gBattlePartyID
-_081212A0: .4byte gLinkPlayers
-_081212A4: .4byte gEnemyParty
-_081212A8:
- ldr r4, _081212CC @ =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- adds r2, r4, 0
- cmp r0, 0
- beq _0812131C
- ldr r0, _081212D0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _081212D4 @ =gUnknown_08400791
- cmp r0, 0
- beq _081212E6
- ldr r4, _081212D8 @ =gUnknown_08400797
- b _081212E6
- .align 2, 0
-_081212CC: .4byte gBankAttacker
-_081212D0: .4byte gBattleTypeFlags
-_081212D4: .4byte gUnknown_08400791
-_081212D8: .4byte gUnknown_08400797
-_081212DC:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_081212E6:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081212DC
- ldrb r0, [r2]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08121314 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121318 @ =gEnemyParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_08121314: .4byte gBattlePartyID
-_08121318: .4byte gEnemyParty
-_0812131C:
- ldrb r0, [r2]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08121338 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08121338: .4byte gBattlePartyID
-_0812133C:
- ldr r4, _08121370 @ =gBankAttacker
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _0812137C
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _08121374 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121378 @ =gPlayerParty
- adds r0, r1
- b _0812190E
- .align 2, 0
-_08121370: .4byte gBankAttacker
-_08121374: .4byte gBattlePartyID
-_08121378: .4byte gPlayerParty
-_0812137C:
- ldrb r0, [r4]
- bl GetBankIdentity
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBankByPlayerAI
- ldr r1, _081213A0 @ =gBattlePartyID
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081213A4 @ =gEnemyParty
- b _08121940
- .align 2, 0
-_081213A0: .4byte gBattlePartyID
-_081213A4: .4byte gEnemyParty
-_081213A8:
- ldr r5, _081213F4 @ =gBankAttacker
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _0812140C
- ldr r0, _081213F8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _081213FC @ =gUnknown_08400791
- cmp r0, 0
- beq _081213C6
- ldr r4, _08121400 @ =gUnknown_08400797
-_081213C6:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _08121404 @ =gBattlePartyID
- ldr r2, _08121408 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _081213E8
-_081213D6:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081213D6
-_081213E8:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _08121908
- .align 2, 0
-_081213F4: .4byte gBankAttacker
-_081213F8: .4byte gBattleTypeFlags
-_081213FC: .4byte gUnknown_08400791
-_08121400: .4byte gUnknown_08400797
-_08121404: .4byte gBattlePartyID
-_08121408: .4byte gEnemyParty
-_0812140C:
- ldr r1, _08121418 @ =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08121418: .4byte gBattlePartyID
-_0812141C:
- ldr r5, _08121468 @ =gBankTarget
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08121480
- ldr r0, _0812146C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _08121470 @ =gUnknown_08400791
- cmp r0, 0
- beq _0812143A
- ldr r4, _08121474 @ =gUnknown_08400797
-_0812143A:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _08121478 @ =gBattlePartyID
- ldr r2, _0812147C @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _0812145C
-_0812144A:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0812144A
-_0812145C:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _08121908
- .align 2, 0
-_08121468: .4byte gBankTarget
-_0812146C: .4byte gBattleTypeFlags
-_08121470: .4byte gUnknown_08400791
-_08121474: .4byte gUnknown_08400797
-_08121478: .4byte gBattlePartyID
-_0812147C: .4byte gEnemyParty
-_08121480:
- ldr r1, _0812148C @ =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_0812148C: .4byte gBattlePartyID
-_08121490:
- ldr r5, _081214DC @ =gEffectBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _081214F4
- ldr r0, _081214E0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _081214E4 @ =gUnknown_08400791
- cmp r0, 0
- beq _081214AE
- ldr r4, _081214E8 @ =gUnknown_08400797
-_081214AE:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _081214EC @ =gBattlePartyID
- ldr r2, _081214F0 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _081214D0
-_081214BE:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081214BE
-_081214D0:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _08121908
- .align 2, 0
-_081214DC: .4byte gEffectBank
-_081214E0: .4byte gBattleTypeFlags
-_081214E4: .4byte gUnknown_08400791
-_081214E8: .4byte gUnknown_08400797
-_081214EC: .4byte gBattlePartyID
-_081214F0: .4byte gEnemyParty
-_081214F4:
- ldr r1, _08121500 @ =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08121500: .4byte gBattlePartyID
-_08121504:
- ldr r5, _08121550 @ =gActiveBank
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08121568
- ldr r0, _08121554 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _08121558 @ =gUnknown_08400791
- cmp r0, 0
- beq _08121522
- ldr r4, _0812155C @ =gUnknown_08400797
-_08121522:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _08121560 @ =gBattlePartyID
- ldr r2, _08121564 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _08121544
-_08121532:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08121532
-_08121544:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _08121908
- .align 2, 0
-_08121550: .4byte gActiveBank
-_08121554: .4byte gBattleTypeFlags
-_08121558: .4byte gUnknown_08400791
-_0812155C: .4byte gUnknown_08400797
-_08121560: .4byte gBattlePartyID
-_08121564: .4byte gEnemyParty
-_08121568:
- ldr r1, _08121574 @ =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_08121574: .4byte gBattlePartyID
-_08121578:
- ldr r4, _081215CC @ =0x02000000
- ldr r0, _081215D0 @ =0x00016003
- adds r5, r4, r0
- ldrb r0, [r5]
- bl GetBankSide
- lsls r0, 24
- adds r2, r4, 0
- cmp r0, 0
- beq _081215E8
- ldr r0, _081215D4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _081215D8 @ =gUnknown_08400791
- cmp r0, 0
- beq _0812159C
- ldr r4, _081215DC @ =gUnknown_08400797
-_0812159C:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _081215E0 @ =gBattlePartyID
- ldr r5, _081215E4 @ =gEnemyParty
- mov r12, r5
- cmp r0, 0xFF
- beq _081215BC
-_081215AA:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081215AA
-_081215BC:
- ldr r1, _081215D0 @ =0x00016003
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _08121908
- .align 2, 0
-_081215CC: .4byte 0x02000000
-_081215D0: .4byte 0x00016003
-_081215D4: .4byte gBattleTypeFlags
-_081215D8: .4byte gUnknown_08400791
-_081215DC: .4byte gUnknown_08400797
-_081215E0: .4byte gBattlePartyID
-_081215E4: .4byte gEnemyParty
-_081215E8:
- ldr r1, _081215F4 @ =gBattlePartyID
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _0812193A
- .align 2, 0
-_081215F4: .4byte gBattlePartyID
-_081215F8:
- ldr r0, _08121610 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _0812161C
- ldr r0, _08121614 @ =0x02000000
- ldr r2, _08121618 @ =0x000160a0
- adds r0, r2
- b _08121634
- .align 2, 0
-_08121610: .4byte gSelectedOrderFromParty
-_08121614: .4byte 0x02000000
-_08121618: .4byte 0x000160a0
-_0812161C:
- ldrh r1, [r2]
- b _08121652
-_08121620:
- ldr r0, _08121640 @ =gSelectedOrderFromParty
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _08121650
- ldr r0, _08121644 @ =0x02000000
- ldr r3, _08121648 @ =0x000160a0
- adds r0, r3
-_08121634:
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _0812164C @ =gUnknown_08401674
- adds r4, r0, r1
- b _081219E6
- .align 2, 0
-_08121640: .4byte gSelectedOrderFromParty
-_08121644: .4byte 0x02000000
-_08121648: .4byte 0x000160a0
-_0812164C: .4byte gUnknown_08401674
-_08121650:
- ldrh r1, [r2, 0x2]
-_08121652:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _0812165C @ =gMoveNames
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_0812165C: .4byte gMoveNames
-_08121660:
- ldr r0, _081216AC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081216D8
- ldr r1, _081216B0 @ =gLastUsedItem
- ldrh r0, [r1]
- cmp r0, 0xAF
- bne _081216D4
- ldr r2, _081216B4 @ =gLinkPlayers
- ldr r0, _081216B8 @ =0x02000000
- ldr r5, _081216BC @ =0x000160cb
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _081216C0 @ =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _081216CC
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _081216C4 @ =gEnigmaBerries
- adds r1, r0
- mov r0, sp
- bl StringCopy
- ldr r1, _081216C8 @ =gUnknown_08400A85
- mov r0, sp
- bl StringAppend
- mov r4, sp
- b _081219E6
- .align 2, 0
-_081216AC: .4byte gBattleTypeFlags
-_081216B0: .4byte gLastUsedItem
-_081216B4: .4byte gLinkPlayers
-_081216B8: .4byte 0x02000000
-_081216BC: .4byte 0x000160cb
-_081216C0: .4byte gStringBank
-_081216C4: .4byte gEnigmaBerries
-_081216C8: .4byte gUnknown_08400A85
-_081216CC:
- ldr r4, _081216D0 @ =gUnknown_08400A78
- b _081219E6
- .align 2, 0
-_081216D0: .4byte gUnknown_08400A78
-_081216D4:
- ldrh r0, [r1]
- b _081216DC
-_081216D8:
- ldr r0, _081216E8 @ =gLastUsedItem
- ldrh r0, [r0]
-_081216DC:
- mov r1, sp
- bl CopyItemName
- mov r4, sp
- b _081219E6
- .align 2, 0
-_081216E8: .4byte gLastUsedItem
-_081216EC:
- ldr r0, _081216F0 @ =gLastUsedAbility
- b _08121734
- .align 2, 0
-_081216F0: .4byte gLastUsedAbility
-_081216F4:
- ldr r1, _081216FC @ =gAbilitiesPerBank
- ldr r0, _08121700 @ =gBankAttacker
- b _08121730
- .align 2, 0
-_081216FC: .4byte gAbilitiesPerBank
-_08121700: .4byte gBankAttacker
-_08121704:
- ldr r1, _0812170C @ =gAbilitiesPerBank
- ldr r0, _08121710 @ =gBankTarget
- b _08121730
- .align 2, 0
-_0812170C: .4byte gAbilitiesPerBank
-_08121710: .4byte gBankTarget
-_08121714:
- ldr r1, _08121720 @ =gAbilitiesPerBank
- ldr r0, _08121724 @ =0x02000000
- ldr r2, _08121728 @ =0x00016003
- adds r0, r2
- b _08121730
- .align 2, 0
-_08121720: .4byte gAbilitiesPerBank
-_08121724: .4byte 0x02000000
-_08121728: .4byte 0x00016003
-_0812172C:
- ldr r1, _08121740 @ =gAbilitiesPerBank
- ldr r0, _08121744 @ =gEffectBank
-_08121730:
- ldrb r0, [r0]
- adds r0, r1
-_08121734:
- ldrb r1, [r0]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08121748 @ =gAbilityNames
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_08121740: .4byte gAbilitiesPerBank
-_08121744: .4byte gEffectBank
-_08121748: .4byte gAbilityNames
-_0812174C:
- ldr r3, _08121764 @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08121768
- bl GetSecretBaseTrainerNameIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _081217AE
- .align 2, 0
-_08121764: .4byte gTrainerBattleOpponent
-_08121768:
- ldr r0, _08121784 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08121788
- bl get_trainer_class_name_index
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _081217AE
- .align 2, 0
-_08121784: .4byte gBattleTypeFlags
-_08121788:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _0812179E
- bl sub_8135FD8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _081217AE
-_0812179E:
- ldr r2, _081217B8 @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
-_081217AE:
- muls r1, r0
- ldr r0, _081217BC @ =gTrainerClassNames
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_081217B8: .4byte gTrainers
-_081217BC: .4byte gTrainerClassNames
-_081217C0:
- ldr r2, _081217E4 @ =gTrainerBattleOpponent
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _081217EC
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- ldr r1, _081217E8 @ =0x02017002
- mov r0, sp
- movs r2, 0x7
- bl memcpy
- mov r4, sp
- b _081219E6
- .align 2, 0
-_081217E4: .4byte gTrainerBattleOpponent
-_081217E8: .4byte 0x02017002
-_081217EC:
- ldr r0, _08121804 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08121808
- mov r0, sp
- bl get_trainer_name
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08121804: .4byte gBattleTypeFlags
-_08121808:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _0812181C
- mov r0, sp
- bl sub_8135FF4
- mov r4, sp
- b _081219E6
-_0812181C:
- ldrh r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _0812182C @ =gTrainers + 0x4
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_0812182C: .4byte gTrainers + 0x4
-_08121830:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _0812183C @ =gLinkPlayers + 0x8
- adds r4, r0, r1
- b _081219E6
- .align 2, 0
-_0812183C: .4byte gLinkPlayers + 0x8
-_08121840:
- ldr r4, _08121850 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- b _08121876
- .align 2, 0
-_08121850: .4byte gLinkPlayers
-_08121854:
- ldr r4, _08121864 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- b _08121876
- .align 2, 0
-_08121864: .4byte gLinkPlayers
-_08121868:
- ldr r4, _08121888 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
-_08121876:
- eors r0, r1
- bl sub_803FC34
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x8
- adds r4, r1, r4
- b _081219E6
- .align 2, 0
-_08121888: .4byte gLinkPlayers
-_0812188C:
- ldr r0, _081218A4 @ =0x02000000
- ldr r3, _081218A8 @ =0x00016003
- adds r0, r3
- ldrb r0, [r0]
- bl sub_803FC34
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _081218AC @ =gLinkPlayers + 0x8
- adds r4, r1, r0
- b _081219E6
- .align 2, 0
-_081218A4: .4byte 0x02000000
-_081218A8: .4byte 0x00016003
-_081218AC: .4byte gLinkPlayers + 0x8
-_081218B0:
- ldr r4, _081218B4 @ =gSaveBlock2
- b _081219E6
- .align 2, 0
-_081218B4: .4byte gSaveBlock2
-_081218B8:
- bl sub_8082830
- adds r4, r0, 0
- b _081219E6
-_081218C0:
- ldr r5, _08121918 @ =0x02000000
- ldr r1, _0812191C @ =0x00016003
- adds r0, r5, r1
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- beq _08121934
- ldr r0, _08121920 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- ldr r4, _08121924 @ =gUnknown_08400791
- cmp r0, 0
- beq _081218E2
- ldr r4, _08121928 @ =gUnknown_08400797
-_081218E2:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r2, _0812192C @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _08121902
-_081218F0:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081218F0
-_08121902:
- ldr r5, _08121930 @ =0x0001605e
- adds r0, r2, r5
- ldrb r1, [r0]
-_08121908:
- movs r0, 0x64
- muls r0, r1
- add r0, r12
-_0812190E:
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _0812194A
- .align 2, 0
-_08121918: .4byte 0x02000000
-_0812191C: .4byte 0x00016003
-_08121920: .4byte gBattleTypeFlags
-_08121924: .4byte gUnknown_08400791
-_08121928: .4byte gUnknown_08400797
-_0812192C: .4byte gEnemyParty
-_08121930: .4byte 0x0001605e
-_08121934:
- ldr r1, _08121954 @ =0x0001605e
- adds r0, r5, r1
- ldrb r1, [r0]
-_0812193A:
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121958 @ =gPlayerParty
-_08121940:
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_0812194A:
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _081219E6
- .align 2, 0
-_08121954: .4byte 0x0001605e
-_08121958: .4byte gPlayerParty
-_0812195C:
- ldr r0, _08121970 @ =0x0000084b
- bl FlagGet
- lsls r0, 24
- ldr r4, _08121974 @ =gUnknown_084009ED
- cmp r0, 0
- beq _081219E6
- ldr r4, _08121978 @ =gUnknown_084009F7
- b _081219E6
- .align 2, 0
-_08121970: .4byte 0x0000084b
-_08121974: .4byte gUnknown_084009ED
-_08121978: .4byte gUnknown_084009F7
-_0812197C:
- ldr r0, _08121980 @ =gBankAttacker
- b _08121986
- .align 2, 0
-_08121980: .4byte gBankAttacker
-_08121984:
- ldr r0, _08121998 @ =gBankTarget
-_08121986:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _0812199C @ =gUnknown_084007A7
- cmp r0, 0
- bne _081219E6
- ldr r4, _081219A0 @ =gUnknown_084007AC
- b _081219E6
- .align 2, 0
-_08121998: .4byte gBankTarget
-_0812199C: .4byte gUnknown_084007A7
-_081219A0: .4byte gUnknown_084007AC
-_081219A4:
- ldr r0, _081219A8 @ =gBankAttacker
- b _081219AE
- .align 2, 0
-_081219A8: .4byte gBankAttacker
-_081219AC:
- ldr r0, _081219C0 @ =gBankTarget
-_081219AE:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _081219C4 @ =gUnknown_0840079C
- cmp r0, 0
- bne _081219E6
- ldr r4, _081219C8 @ =gUnknown_084007A1
- b _081219E6
- .align 2, 0
-_081219C0: .4byte gBankTarget
-_081219C4: .4byte gUnknown_0840079C
-_081219C8: .4byte gUnknown_084007A1
-_081219CC:
- ldr r0, _081219D0 @ =gBankAttacker
- b _081219D6
- .align 2, 0
-_081219D0: .4byte gBankAttacker
-_081219D4:
- ldr r0, _08121A24 @ =gBankTarget
-_081219D6:
- ldrb r0, [r0]
- bl GetBankSide
- lsls r0, 24
- ldr r4, _08121A28 @ =gUnknown_084007B2
- cmp r0, 0
- bne _081219E6
- ldr r4, _08121A2C @ =gUnknown_084007B7
-_081219E6:
- ldrb r1, [r4]
- adds r0, r1, 0
- mov r3, r9
- ldrb r2, [r3]
- adds r3, 0x1
- cmp r0, 0xFF
- beq _08121A06
-_081219F4:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _081219F4
-_08121A06:
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x21
- bne _08121A3C
- mov r0, r8
- adds r1, r0, r6
- movs r0, 0xFC
- strb r0, [r1]
- adds r6, 0x1
- mov r2, r8
- adds r1, r2, r6
- movs r0, 0x9
- strb r0, [r1]
- adds r6, 0x1
- b _08121A3C
- .align 2, 0
-_08121A24: .4byte gBankTarget
-_08121A28: .4byte gUnknown_084007B2
-_08121A2C: .4byte gUnknown_084007B7
-_08121A30:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- mov r3, r9
- adds r3, 0x1
-_08121A3C:
- mov r9, r3
- ldrb r1, [r3]
-_08121A40:
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _08121A4A
- bl _0812101E
-_08121A4A:
- mov r5, r8
- adds r1, r5, r6
- mov r2, r9
- ldrb r0, [r2]
- strb r0, [r1]
- adds r6, 0x1
- adds r0, r6, 0
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end StrCpyDecodeBattle
-
- thumb_func_start sub_8121A68
-sub_8121A68: @ 8121A68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- movs r0, 0
- mov r8, r0
- movs r0, 0xFF
- strb r0, [r6]
- ldrb r0, [r7, 0x1]
- cmp r0, 0xFF
- bne _08121A86
- b _08121D0E
-_08121A86:
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xA
- bls _08121A92
- b _08121D04
-_08121A92:
- lsls r0, r1, 2
- ldr r1, _08121A9C @ =_08121AA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121A9C: .4byte _08121AA0
- .align 2, 0
-_08121AA0:
- .4byte _08121ACC
- .4byte _08121AE8
- .4byte _08121B3C
- .4byte _08121B54
- .4byte _08121B64
- .4byte _08121BDC
- .4byte _08121BF0
- .4byte _08121C02
- .4byte _08121C48
- .4byte _08121C5C
- .4byte _08121C78
-_08121ACC:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _08121AE4 @ =gBattleStringsTable
- subs r1, 0xC
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- b _08121CE2
- .align 2, 0
-_08121AE4: .4byte gBattleStringsTable
-_08121AE8:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _08121B04
- cmp r0, 0x2
- bgt _08121AF8
- cmp r0, 0x1
- beq _08121AFE
- b _08121B26
-_08121AF8:
- cmp r0, 0x4
- beq _08121B0C
- b _08121B26
-_08121AFE:
- ldrb r4, [r4, 0x3]
- mov r8, r4
- b _08121B26
-_08121B04:
- ldrb r1, [r4, 0x3]
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- b _08121B22
-_08121B0C:
- ldrb r0, [r4, 0x3]
- mov r8, r0
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- mov r1, r8
- orrs r1, r0
- ldrb r0, [r4, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r4, 0x6]
- lsls r0, 24
-_08121B22:
- orrs r1, r0
- mov r8, r1
-_08121B26:
- adds r4, r5, r7
- ldrb r3, [r4, 0x2]
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- bl ConvertIntToDecimalStringN
- adds r0, r5, 0x3
- ldrb r4, [r4, 0x1]
- adds r5, r0, r4
- b _08121D04
-_08121B3C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08121B50 @ =gMoveNames
- adds r1, r0
- b _08121CE2
- .align 2, 0
-_08121B50: .4byte gMoveNames
-_08121B54:
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- ldr r0, _08121B60 @ =gTypeNames
- b _08121C66
- .align 2, 0
-_08121B60: .4byte gTypeNames
-_08121B64:
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08121B88
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121B84 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _08121BC4
- .align 2, 0
-_08121B84: .4byte gPlayerParty
-_08121B88:
- ldr r0, _08121BA0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08121BA8
- ldr r1, _08121BA4 @ =gUnknown_08400797
- adds r0, r6, 0
- bl StringAppend
- b _08121BB0
- .align 2, 0
-_08121BA0: .4byte gBattleTypeFlags
-_08121BA4: .4byte gUnknown_08400797
-_08121BA8:
- ldr r1, _08121BD4 @ =gUnknown_08400791
- adds r0, r6, 0
- bl StringAppend
-_08121BB0:
- adds r0, r5, r7
- ldrb r1, [r0, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121BD8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_08121BC4:
- mov r0, sp
- bl StringGetEnd10
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- b _08121D02
- .align 2, 0
-_08121BD4: .4byte gUnknown_08400791
-_08121BD8: .4byte gEnemyParty
-_08121BDC:
- ldr r1, _08121BEC @ =gUnknown_08400F58
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _08121C68
- .align 2, 0
-_08121BEC: .4byte gUnknown_08400F58
-_08121BF0:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- adds r0, r6, 0
- bl GetSpeciesName
- b _08121D02
-_08121C02:
- adds r4, r5, r7
- ldrb r0, [r4, 0x1]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08121C28
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121C24 @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
- b _08121C3A
- .align 2, 0
-_08121C24: .4byte gPlayerParty
-_08121C28:
- ldrb r1, [r4, 0x2]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08121C44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2
- adds r2, r6, 0
- bl GetMonData
-_08121C3A:
- adds r0, r6, 0
- bl StringGetEnd10
- b _08121D02
- .align 2, 0
-_08121C44: .4byte gEnemyParty
-_08121C48:
- ldr r1, _08121C58 @ =gUnknown_08400F78
- adds r0, r5, r7
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _08121C68
- .align 2, 0
-_08121C58: .4byte gUnknown_08400F78
-_08121C5C:
- adds r0, r5, r7
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _08121C74 @ =gAbilityNames
-_08121C66:
- adds r1, r0
-_08121C68:
- adds r0, r6, 0
- bl StringAppend
- adds r5, 0x2
- b _08121D04
- .align 2, 0
-_08121C74: .4byte gAbilityNames
-_08121C78:
- adds r0, r5, r7
- ldrb r2, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r2, r0
- ldr r0, _08121CC4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08121CFA
- cmp r2, 0xAF
- bne _08121CF0
- ldr r2, _08121CC8 @ =gLinkPlayers
- ldr r0, _08121CCC @ =0x02000000
- ldr r1, _08121CD0 @ =0x000160cb
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _08121CD4 @ =gStringBank
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _08121CE0
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _08121CD8 @ =gEnigmaBerries
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- ldr r1, _08121CDC @ =gUnknown_08400A85
- b _08121CE2
- .align 2, 0
-_08121CC4: .4byte gBattleTypeFlags
-_08121CC8: .4byte gLinkPlayers
-_08121CCC: .4byte 0x02000000
-_08121CD0: .4byte 0x000160cb
-_08121CD4: .4byte gStringBank
-_08121CD8: .4byte gEnigmaBerries
-_08121CDC: .4byte gUnknown_08400A85
-_08121CE0:
- ldr r1, _08121CEC @ =gUnknown_08400A78
-_08121CE2:
- adds r0, r6, 0
- bl StringAppend
- b _08121D02
- .align 2, 0
-_08121CEC: .4byte gUnknown_08400A78
-_08121CF0:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
- b _08121D02
-_08121CFA:
- adds r0, r2, 0
- adds r1, r6, 0
- bl CopyItemName
-_08121D02:
- adds r5, 0x3
-_08121D04:
- adds r0, r7, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08121D0E
- b _08121A86
-_08121D0E:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8121A68
-
- thumb_func_start sub_8121D1C
-sub_8121D1C: @ 8121D1C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _08121D50 @ =gSelectedOrderFromParty
- ldr r3, _08121D54 @ =gUnknown_084016BC
-_08121D26:
- cmp r2, 0x4
- beq _08121D3C
- ldrh r1, [r3]
- cmp r1, 0
- bne _08121D32
- adds r2, 0x1
-_08121D32:
- ldr r0, [r5]
- adds r3, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _08121D26
-_08121D3C:
- cmp r2, 0
- blt _08121D68
- cmp r2, 0x2
- bgt _08121D5C
- ldr r1, _08121D58 @ =gUnknown_08400E5E
- adds r0, r4, 0
- bl StringCopy
- b _08121D68
- .align 2, 0
-_08121D50: .4byte gSelectedOrderFromParty
-_08121D54: .4byte gUnknown_084016BC
-_08121D58: .4byte gUnknown_08400E5E
-_08121D5C:
- cmp r2, 0x4
- bgt _08121D68
- ldr r1, _08121D70 @ =gUnknown_08400E62
- adds r0, r4, 0
- bl StringCopy
-_08121D68:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121D70: .4byte gUnknown_08400E62
- thumb_func_end sub_8121D1C
-
- thumb_func_start sub_8121D74
-sub_8121D74: @ 8121D74
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r4, 0
- b _08121D7E
-_08121D7C:
- adds r3, 0x1
-_08121D7E:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08121D7C
- ldr r1, _08121DB4 @ =gUnknown_084016BC
- ldr r5, _08121DB8 @ =gSelectedOrderFromParty
- movs r0, 0
- lsls r0, 1
- adds r2, r0, r1
-_08121D8E:
- cmp r4, 0x4
- beq _08121DA8
- ldrh r1, [r2]
- cmp r1, 0
- bne _08121D9A
- adds r4, 0x1
-_08121D9A:
- ldr r0, [r5]
- adds r2, 0x2
- ldrh r0, [r0]
- cmp r1, r0
- bne _08121D8E
- cmp r4, 0x4
- bhi _08121E04
-_08121DA8:
- lsls r0, r4, 2
- ldr r1, _08121DBC @ =_08121DC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08121DB4: .4byte gUnknown_084016BC
-_08121DB8: .4byte gSelectedOrderFromParty
-_08121DBC: .4byte _08121DC0
- .align 2, 0
-_08121DC0:
- .4byte _08121DD4
- .4byte _08121DDC
- .4byte _08121DE4
- .4byte _08121DEC
- .4byte _08121DFC
-_08121DD4:
- ldr r1, _08121DD8 @ =gUnknown_084007C8
- b _08121DEE
- .align 2, 0
-_08121DD8: .4byte gUnknown_084007C8
-_08121DDC:
- ldr r1, _08121DE0 @ =gUnknown_084007CA
- b _08121DEE
- .align 2, 0
-_08121DE0: .4byte gUnknown_084007CA
-_08121DE4:
- ldr r1, _08121DE8 @ =gUnknown_084007CC
- b _08121DEE
- .align 2, 0
-_08121DE8: .4byte gUnknown_084007CC
-_08121DEC:
- ldr r1, _08121DF8 @ =gUnknown_084007CE
-_08121DEE:
- adds r0, r3, 0
- bl StringCopy
- b _08121E04
- .align 2, 0
-_08121DF8: .4byte gUnknown_084007CE
-_08121DFC:
- ldr r1, _08121E0C @ =gUnknown_084007D0
- adds r0, r3, 0
- bl StringCopy
-_08121E04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08121E0C: .4byte gUnknown_084007D0
- thumb_func_end sub_8121D74
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/berry_blender.s b/asm/berry_blender.s
deleted file mode 100644
index b6ee5f9f3..000000000
--- a/asm/berry_blender.s
+++ /dev/null
@@ -1,9164 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_804E290
-sub_804E290: @ 804E290
- push {lr}
- ldr r0, _0804E2B0 @ =gMPlay_SE2
- ldr r1, _0804E2B4 @ =0x0000ffff
- ldr r2, _0804E2B8 @ =gUnknown_03004854
- ldr r2, [r2]
- adds r2, 0x56
- movs r3, 0
- ldrsh r2, [r2, r3]
- subs r2, 0x80
- lsls r2, 17
- asrs r2, 16
- bl m4aMPlayPitchControl
- pop {r0}
- bx r0
- .align 2, 0
-_0804E2B0: .4byte gMPlay_SE2
-_0804E2B4: .4byte 0x0000ffff
-_0804E2B8: .4byte gUnknown_03004854
- thumb_func_end sub_804E290
-
- thumb_func_start sub_804E2BC
-sub_804E2BC: @ 804E2BC
- push {lr}
- bl sub_80514A4
- bl sub_80514F0
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_804E2BC
-
- thumb_func_start sub_804E2D8
-sub_804E2D8: @ 804E2D8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_804E2D8
-
- thumb_func_start sub_804E2EC
-sub_804E2EC: @ 804E2EC
- push {r4-r7,lr}
- ldr r1, _0804E308 @ =gUnknown_03004854
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- mov r12, r1
- cmp r0, 0x9
- bls _0804E2FC
- b _0804E4F4
-_0804E2FC:
- lsls r0, 2
- ldr r1, _0804E30C @ =_0804E310
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804E308: .4byte gUnknown_03004854
-_0804E30C: .4byte _0804E310
- .align 2, 0
-_0804E310:
- .4byte _0804E338
- .4byte _0804E34C
- .4byte _0804E380
- .4byte _0804E3C4
- .4byte _0804E3D8
- .4byte _0804E3EC
- .4byte _0804E410
- .4byte _0804E434
- .4byte _0804E48C
- .4byte _0804E4BC
-_0804E338:
- ldr r0, _0804E344 @ =gUnknown_08E6C100
- ldr r1, _0804E348 @ =0x02010000
- bl sub_800D238
- b _0804E49E
- .align 2, 0
-_0804E344: .4byte gUnknown_08E6C100
-_0804E348: .4byte 0x02010000
-_0804E34C:
- ldr r1, _0804E36C @ =gUnknown_08215C2C
- ldr r2, _0804E370 @ =0x06004000
- ldr r0, _0804E374 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804E378 @ =0x80000200
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _0804E37C @ =gUnknown_08215C0C
- movs r2, 0x80
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- b _0804E49E
- .align 2, 0
-_0804E36C: .4byte gUnknown_08215C2C
-_0804E370: .4byte 0x06004000
-_0804E374: .4byte 0x040000d4
-_0804E378: .4byte 0x80000200
-_0804E37C: .4byte gUnknown_08215C0C
-_0804E380:
- ldr r3, _0804E3B8 @ =0x02010000
- movs r4, 0xC0
- lsls r4, 19
- movs r5, 0x80
- lsls r5, 6
- ldr r1, _0804E3BC @ =0x040000d4
- ldr r6, _0804E3C0 @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_0804E396:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _0804E396
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, r12
- b _0804E4A0
- .align 2, 0
-_0804E3B8: .4byte 0x02010000
-_0804E3BC: .4byte 0x040000d4
-_0804E3C0: .4byte 0x80000800
-_0804E3C4:
- ldr r0, _0804E3D0 @ =gUnknown_08E6C920
- ldr r1, _0804E3D4 @ =0x02010000
- bl sub_800D238
- b _0804E49E
- .align 2, 0
-_0804E3D0: .4byte gUnknown_08E6C920
-_0804E3D4: .4byte 0x02010000
-_0804E3D8:
- ldr r0, _0804E3E4 @ =gUnknown_08E6D354
- ldr r1, _0804E3E8 @ =0x02013000
- bl sub_800D238
- b _0804E49E
- .align 2, 0
-_0804E3E4: .4byte gUnknown_08E6D354
-_0804E3E8: .4byte 0x02013000
-_0804E3EC:
- ldr r1, _0804E400 @ =0x02010000
- ldr r2, _0804E404 @ =0x0600e000
- ldr r0, _0804E408 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804E40C @ =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- mov r0, r12
- b _0804E4A0
- .align 2, 0
-_0804E400: .4byte 0x02010000
-_0804E404: .4byte 0x0600e000
-_0804E408: .4byte 0x040000d4
-_0804E40C: .4byte 0x80000800
-_0804E410:
- ldr r1, _0804E424 @ =0x02011000
- ldr r2, _0804E428 @ =0x0600f000
- ldr r0, _0804E42C @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0804E430 @ =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- mov r0, r12
- b _0804E4A0
- .align 2, 0
-_0804E424: .4byte 0x02011000
-_0804E428: .4byte 0x0600f000
-_0804E42C: .4byte 0x040000d4
-_0804E430: .4byte 0x80000800
-_0804E434:
- ldr r3, _0804E474 @ =0x02013000
- movs r2, 0
- adds r6, r3, 0
- ldr r7, _0804E478 @ =gUnknown_0821602C
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0, 0
- ldr r4, _0804E47C @ =0x0000027f
-_0804E444:
- lsls r0, r2, 1
- adds r0, r3
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r4
- bls _0804E444
- ldr r1, _0804E480 @ =0x06006000
- ldr r0, _0804E484 @ =0x040000d4
- str r6, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0804E488 @ =0x80000280
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- adds r0, r7, 0
- movs r1, 0x80
- movs r2, 0x20
- bl LoadPalette
- b _0804E49E
- .align 2, 0
-_0804E474: .4byte 0x02013000
-_0804E478: .4byte gUnknown_0821602C
-_0804E47C: .4byte 0x0000027f
-_0804E480: .4byte 0x06006000
-_0804E484: .4byte 0x040000d4
-_0804E488: .4byte 0x80000280
-_0804E48C:
- ldr r0, _0804E4AC @ =gUnknown_082163DC
- bl LoadSpriteSheet
- ldr r0, _0804E4B0 @ =gUnknown_082164F4
- bl LoadSpriteSheet
- ldr r0, _0804E4B4 @ =gUnknown_08216454
- bl LoadSpriteSheet
-_0804E49E:
- ldr r0, _0804E4B8 @ =gUnknown_03004854
-_0804E4A0:
- ldr r1, [r0]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- b _0804E4F4
- .align 2, 0
-_0804E4AC: .4byte gUnknown_082163DC
-_0804E4B0: .4byte gUnknown_082164F4
-_0804E4B4: .4byte gUnknown_08216454
-_0804E4B8: .4byte gUnknown_03004854
-_0804E4BC:
- ldr r0, _0804E4E0 @ =gUnknown_08216540
- bl LoadSpriteSheet
- ldr r0, _0804E4E4 @ =gUnknown_08216574
- bl LoadSpriteSheet
- ldr r0, _0804E4E8 @ =gUnknown_082163EC
- bl LoadSpritePalette
- ldr r0, _0804E4EC @ =gUnknown_082163E4
- bl LoadSpritePalette
- ldr r0, _0804E4F0 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1]
- movs r0, 0x1
- b _0804E4F6
- .align 2, 0
-_0804E4E0: .4byte gUnknown_08216540
-_0804E4E4: .4byte gUnknown_08216574
-_0804E4E8: .4byte gUnknown_082163EC
-_0804E4EC: .4byte gUnknown_082163E4
-_0804E4F0: .4byte gUnknown_03004854
-_0804E4F4:
- movs r0, 0
-_0804E4F6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804E2EC
-
- thumb_func_start sub_804E4FC
-sub_804E4FC: @ 804E4FC
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _0804E52C @ =0x00001341
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0xC
- movs r2, 0x91
- lsls r2, 7
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _0804E530 @ =0x00000c0d
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804E534 @ =REG_BG0HOFS
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0804E52C: .4byte 0x00001341
-_0804E530: .4byte 0x00000c0d
-_0804E534: .4byte REG_BG0HOFS
- thumb_func_end sub_804E4FC
-
- thumb_func_start sub_804E538
-sub_804E538: @ 804E538
- push {lr}
- ldr r1, _0804E55C @ =gUnknown_03004854
- ldr r0, _0804E560 @ =0x02018000
- str r0, [r1]
- adds r2, r0, 0
- adds r2, 0x6F
- movs r1, 0
- strb r1, [r0]
- strb r1, [r2]
- ldr r0, _0804E564 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl sub_804E884
- ldr r0, _0804E568 @ =sub_804E56C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_0804E55C: .4byte gUnknown_03004854
-_0804E560: .4byte 0x02018000
-_0804E564: .4byte gSpecialVar_0x8004
-_0804E568: .4byte sub_804E56C
- thumb_func_end sub_804E538
-
- thumb_func_start sub_804E56C
-sub_804E56C: @ 804E56C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _0804E588 @ =gUnknown_03004854
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _0804E57C
- b _0804E71A
-_0804E57C:
- lsls r0, 2
- ldr r1, _0804E58C @ =_0804E590
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804E588: .4byte gUnknown_03004854
-_0804E58C: .4byte _0804E590
- .align 2, 0
-_0804E590:
- .4byte _0804E5AC
- .4byte _0804E614
- .4byte _0804E67C
- .4byte _0804E692
- .4byte _0804E6A8
- .4byte _0804E6D4
- .4byte _0804E700
-_0804E5AC:
- movs r0, 0x80
- lsls r0, 19
- movs r5, 0
- strh r5, [r0]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, _0804E60C @ =gWindowConfig_81E6F68
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r3, _0804E610 @ =gUnknown_03004854
- ldr r2, [r3]
- ldrb r0, [r2]
- adds r0, 0x1
- movs r1, 0
- strb r0, [r2]
- ldr r2, [r3]
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- subs r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0xA1
- lsls r0, 1
- adds r3, r2, r0
- movs r0, 0x50
- strh r0, [r3]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- strb r5, [r2, 0x1]
- bl sub_8051474
- b _0804E71A
- .align 2, 0
-_0804E60C: .4byte gWindowConfig_81E6F68
-_0804E610: .4byte gUnknown_03004854
-_0804E614:
- bl sub_804E2EC
- lsls r0, 24
- cmp r0, 0
- bne _0804E620
- b _0804E71A
-_0804E620:
- movs r4, 0
- ldr r5, _0804E668 @ =gUnknown_082162E4
- ldr r6, _0804E66C @ =gUnknown_03004854
-_0804E626:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, _0804E670 @ =gSpriteTemplate_82163F4
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x5C
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x5C
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804E674 @ =gSprites
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804E626
- ldr r0, _0804E678 @ =sub_804E2BC
- bl SetVBlankCallback
- b _0804E6BE
- .align 2, 0
-_0804E668: .4byte gUnknown_082162E4
-_0804E66C: .4byte gUnknown_03004854
-_0804E670: .4byte gSpriteTemplate_82163F4
-_0804E674: .4byte gSprites
-_0804E678: .4byte sub_804E2BC
-_0804E67C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- bl sub_8051474
- b _0804E6BE
-_0804E692:
- bl sub_804E4FC
- ldr r0, _0804E6A4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804E71A
- b _0804E6BE
- .align 2, 0
-_0804E6A4: .4byte gPaletteFade
-_0804E6A8:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _0804E6CC @ =gOtherText_BlenderChooseBerry
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
-_0804E6BE:
- ldr r0, _0804E6D0 @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804E71A
- .align 2, 0
-_0804E6CC: .4byte gOtherText_BlenderChooseBerry
-_0804E6D0: .4byte gUnknown_03004854
-_0804E6D4:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _0804E71A
- ldr r0, _0804E6FC @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0804E71A
- .align 2, 0
-_0804E6FC: .4byte gUnknown_03004854
-_0804E700:
- ldr r0, _0804E730 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0804E71A
- bl sub_80A6978
- ldr r0, _0804E734 @ =gUnknown_03004854
- ldr r0, [r0]
- strb r4, [r0]
-_0804E71A:
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E730: .4byte gPaletteFade
-_0804E734: .4byte gUnknown_03004854
- thumb_func_end sub_804E56C
-
- thumb_func_start sub_804E738
-sub_804E738: @ 804E738
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- subs r1, r2
- ldrh r0, [r4, 0x3C]
- adds r1, r0
- strh r1, [r4, 0x32]
- ldrh r3, [r4, 0x2E]
- adds r0, r3
- strh r0, [r4, 0x2E]
- subs r2, 0x1
- strh r2, [r4, 0x36]
- lsls r0, 16
- lsls r1, 16
- cmp r0, r1
- bge _0804E786
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x36]
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0804E780
- adds r0, r4, 0
- bl DestroySprite
- b _0804E786
-_0804E780:
- movs r0, 0x74
- bl PlaySE
-_0804E786:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x32]
- strh r0, [r4, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_804E738
-
- thumb_func_start sub_804E794
-sub_804E794: @ 804E794
- push {r4-r6,lr}
- ldr r5, [sp, 0x10]
- ldr r6, [sp, 0x14]
- lsls r2, 16
- lsrs r2, 16
- movs r4, 0
- strh r2, [r0, 0x2E]
- strh r1, [r0, 0x30]
- strh r2, [r0, 0x32]
- strh r3, [r0, 0x34]
- movs r1, 0xA
- strh r1, [r0, 0x36]
- strh r4, [r0, 0x38]
- strh r5, [r0, 0x3A]
- strh r6, [r0, 0x3C]
- ldr r1, _0804E7BC @ =sub_804E738
- str r1, [r0, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E7BC: .4byte sub_804E738
- thumb_func_end sub_804E794
-
- thumb_func_start sub_804E7C0
-sub_804E7C0: @ 804E7C0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r0, 24
- movs r1, 0xF6
- lsls r1, 23
- adds r0, r1
- lsrs r0, 24
- movs r3, 0x1
- ands r3, r6
- movs r1, 0
- movs r2, 0x50
- bl sub_80A7DEC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- mov r8, r2
- add r8, r0
- mov r3, r8
- lsls r3, 2
- mov r8, r3
- ldr r0, _0804E83C @ =gSprites
- add r8, r0
- ldr r5, _0804E840 @ =gUnknown_08216594
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 1
- adds r0, r4, r5
- movs r6, 0
- ldrsh r1, [r0, r6]
- adds r0, r5, 0x2
- adds r0, r4, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r0, r5, 0x4
- adds r0, r4, r0
- movs r6, 0
- ldrsh r3, [r0, r6]
- adds r0, r5, 0x6
- adds r0, r4, r0
- movs r6, 0
- ldrsh r0, [r0, r6]
- str r0, [sp]
- adds r5, 0x8
- adds r4, r5
- movs r5, 0
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- mov r0, r8
- bl sub_804E794
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E83C: .4byte gSprites
-_0804E840: .4byte gUnknown_08216594
- thumb_func_end sub_804E7C0
-
- thumb_func_start sub_804E844
-sub_804E844: @ 804E844
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 16
- lsrs r5, 16
- adds r0, r5, 0
- adds r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- adds r4, r0, 0
- strh r5, [r6]
- adds r0, r6, 0x2
- adds r1, r4, 0
- bl StringCopy
- ldrb r0, [r4, 0x15]
- strb r0, [r6, 0x9]
- ldrb r0, [r4, 0x16]
- strb r0, [r6, 0xA]
- ldrb r0, [r4, 0x17]
- strb r0, [r6, 0xB]
- ldrb r0, [r4, 0x18]
- strb r0, [r6, 0xC]
- ldrb r0, [r4, 0x19]
- strb r0, [r6, 0xD]
- ldrb r0, [r4, 0x1A]
- strb r0, [r6, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_804E844
-
- thumb_func_start sub_804E884
-sub_804E884: @ 804E884
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0804E89E
- ldr r2, _0804E8AC @ =gLinkPlayers
- movs r3, 0x2
- adds r0, r2, 0
- adds r0, 0x54
-_0804E896:
- strh r3, [r0, 0x1A]
- subs r0, 0x1C
- cmp r0, r2
- bge _0804E896
-_0804E89E:
- cmp r1, 0x1
- beq _0804E8C4
- cmp r1, 0x1
- bgt _0804E8B0
- cmp r1, 0
- beq _0804E8BA
- b _0804E974
- .align 2, 0
-_0804E8AC: .4byte gLinkPlayers
-_0804E8B0:
- cmp r1, 0x2
- beq _0804E8F8
- cmp r1, 0x3
- beq _0804E93C
- b _0804E974
-_0804E8BA:
- ldr r0, _0804E8C0 @ =gUnknown_03004834
- strb r1, [r0]
- b _0804E974
- .align 2, 0
-_0804E8C0: .4byte gUnknown_03004834
-_0804E8C4:
- ldr r0, _0804E8E4 @ =gUnknown_03004834
- strb r1, [r0]
- ldr r0, _0804E8E8 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x88
- movs r1, 0x2
- strb r1, [r0]
- ldr r4, _0804E8EC @ =gLinkPlayers + 0x8
- ldr r1, _0804E8F0 @ =gSaveBlock2
- adds r0, r4, 0
- bl StringCopy
- adds r4, 0x1C
- ldr r0, _0804E8F4 @ =gUnknown_082162B8
- ldr r1, [r0]
- b _0804E920
- .align 2, 0
-_0804E8E4: .4byte gUnknown_03004834
-_0804E8E8: .4byte gUnknown_03004854
-_0804E8EC: .4byte gLinkPlayers + 0x8
-_0804E8F0: .4byte gSaveBlock2
-_0804E8F4: .4byte gUnknown_082162B8
-_0804E8F8:
- ldr r0, _0804E928 @ =gUnknown_03004834
- strb r1, [r0]
- ldr r0, _0804E92C @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x88
- movs r1, 0x3
- strb r1, [r0]
- ldr r4, _0804E930 @ =gLinkPlayers + 0x8
- ldr r1, _0804E934 @ =gSaveBlock2
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r0, 0x1C
- ldr r5, _0804E938 @ =gUnknown_082162B8
- ldr r1, [r5]
- bl StringCopy
- adds r4, 0x38
- ldr r1, [r5, 0x4]
-_0804E920:
- adds r0, r4, 0
- bl StringCopy
- b _0804E974
- .align 2, 0
-_0804E928: .4byte gUnknown_03004834
-_0804E92C: .4byte gUnknown_03004854
-_0804E930: .4byte gLinkPlayers + 0x8
-_0804E934: .4byte gSaveBlock2
-_0804E938: .4byte gUnknown_082162B8
-_0804E93C:
- ldr r0, _0804E97C @ =gUnknown_03004834
- strb r1, [r0]
- ldr r0, _0804E980 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x88
- movs r1, 0x4
- strb r1, [r0]
- ldr r4, _0804E984 @ =gLinkPlayers + 0x8
- ldr r1, _0804E988 @ =gSaveBlock2
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- adds r0, 0x1C
- ldr r5, _0804E98C @ =gUnknown_082162B8
- ldr r1, [r5]
- bl StringCopy
- adds r0, r4, 0
- adds r0, 0x38
- ldr r1, [r5, 0x4]
- bl StringCopy
- adds r4, 0x54
- ldr r1, [r5, 0x8]
- adds r0, r4, 0
- bl StringCopy
-_0804E974:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E97C: .4byte gUnknown_03004834
-_0804E980: .4byte gUnknown_03004854
-_0804E984: .4byte gLinkPlayers + 0x8
-_0804E988: .4byte gSaveBlock2
-_0804E98C: .4byte gUnknown_082162B8
- thumb_func_end sub_804E884
-
- thumb_func_start sub_804E990
-sub_804E990: @ 804E990
- push {r4,r5,lr}
- movs r0, 0x80
- lsls r0, 19
- movs r2, 0
- strh r2, [r0]
- ldr r3, _0804E9D8 @ =gUnknown_03004854
- ldr r0, _0804E9DC @ =0x02018000
- str r0, [r3]
- movs r1, 0
- strb r2, [r0]
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- movs r2, 0
- ldr r5, _0804E9E0 @ =gSpecialVar_0x8004
- adds r4, r3, 0
- movs r3, 0
-_0804E9B4:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0x80
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _0804E9B4
- ldrb r0, [r5]
- bl sub_804E884
- ldrh r0, [r5]
- cmp r0, 0
- bne _0804E9E8
- ldr r0, _0804E9E4 @ =sub_804E9F8
- bl SetMainCallback2
- b _0804E9EE
- .align 2, 0
-_0804E9D8: .4byte gUnknown_03004854
-_0804E9DC: .4byte 0x02018000
-_0804E9E0: .4byte gSpecialVar_0x8004
-_0804E9E4: .4byte sub_804E9F8
-_0804E9E8:
- ldr r0, _0804E9F4 @ =sub_804F378
- bl SetMainCallback2
-_0804E9EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E9F4: .4byte sub_804F378
- thumb_func_end sub_804E990
-
- thumb_func_start sub_804E9F8
-sub_804E9F8: @ 804E9F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, _0804EA18 @ =gUnknown_03004854
- ldr r0, [r1]
- ldrb r0, [r0]
- mov r8, r1
- cmp r0, 0x66
- bls _0804EA0E
- b _0804F0CE
-_0804EA0E:
- lsls r0, 2
- ldr r1, _0804EA1C @ =_0804EA20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804EA18: .4byte gUnknown_03004854
-_0804EA1C: .4byte _0804EA20
- .align 2, 0
-_0804EA20:
- .4byte _0804EBBC
- .4byte _0804EC74
- .4byte _0804EC94
- .4byte _0804ECE8
- .4byte _0804ECFA
- .4byte _0804ED14
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804ED48
- .4byte _0804ED94
- .4byte _0804EDB8
- .4byte _0804EE46
- .4byte _0804EEA0
- .4byte _0804EF16
- .4byte _0804EF34
- .4byte _0804EFD8
- .4byte _0804F00C
- .4byte _0804F0CE
- .4byte _0804F020
- .4byte _0804F024
- .4byte _0804F02A
- .4byte _0804F03A
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F0CE
- .4byte _0804F084
- .4byte _0804F0A0
- .4byte _0804F0BC
-_0804EBBC:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, _0804EC60 @ =sub_804E2BC
- bl SetVBlankCallback
- ldr r4, _0804EC64 @ =gWindowConfig_81E6F68
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r1, _0804EC68 @ =gLinkType
- ldr r2, _0804EC6C @ =0x00004422
- adds r0, r2, 0
- strh r0, [r1]
- ldr r3, _0804EC70 @ =gUnknown_03004854
- ldr r1, [r3]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, [r3]
- adds r4, r0, 0
- adds r4, 0x4E
- movs r1, 0
- strh r2, [r4]
- adds r0, 0x7E
- strb r1, [r0]
- ldr r1, [r3]
- movs r4, 0xA2
- lsls r4, 1
- adds r0, r1, r4
- strh r2, [r0]
- adds r4, 0x2
- adds r0, r1, r4
- strh r2, [r0]
- movs r5, 0
- movs r6, 0
- mov r8, r3
- movs r7, 0xA6
- lsls r7, 1
-_0804EC18:
- ldr r0, [r3]
- lsls r1, r5, 1
- adds r0, 0x70
- adds r0, r1
- strh r6, [r0]
- adds r4, r5, 0x1
- adds r1, r5
- lsls r1, 1
- movs r2, 0x2
-_0804EC2A:
- ldr r0, [r3]
- adds r0, r7
- adds r0, r1
- strh r6, [r0]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _0804EC2A
- adds r5, r4, 0
- cmp r5, 0x3
- ble _0804EC18
- mov r0, r8
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x7C
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- subs r0, 0x26
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x6
- strh r1, [r0]
- strb r2, [r3, 0x1]
- b _0804F0CE
- .align 2, 0
-_0804EC60: .4byte sub_804E2BC
-_0804EC64: .4byte gWindowConfig_81E6F68
-_0804EC68: .4byte gLinkType
-_0804EC6C: .4byte 0x00004422
-_0804EC70: .4byte gUnknown_03004854
-_0804EC74:
- bl sub_804E2EC
- lsls r0, 24
- cmp r0, 0
- bne _0804EC80
- b _0804F0CE
-_0804EC80:
- ldr r0, _0804EC90 @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8051474
- b _0804F0CE
- .align 2, 0
-_0804EC90: .4byte gUnknown_03004854
-_0804EC94:
- movs r5, 0
- ldr r4, _0804ECD8 @ =gUnknown_082162E4
- ldr r6, _0804ECDC @ =gUnknown_03004854
-_0804EC9A:
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- ldr r0, _0804ECE0 @ =gSpriteTemplate_82163F4
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x60
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x60
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804ECE4 @ =gSprites
- adds r0, r1
- adds r1, r5, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r4, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _0804EC9A
- b _0804F0AA
- .align 2, 0
-_0804ECD8: .4byte gUnknown_082162E4
-_0804ECDC: .4byte gUnknown_03004854
-_0804ECE0: .4byte gSpriteTemplate_82163F4
-_0804ECE4: .4byte gSprites
-_0804ECE8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _0804F0AA
-_0804ECFA:
- bl sub_804E4FC
- ldr r0, _0804ED10 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804ED0C
- b _0804F0CE
-_0804ED0C:
- b _0804F0AA
- .align 2, 0
-_0804ED10: .4byte gPaletteFade
-_0804ED14:
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _0804ED40 @ =gOtherText_LinkStandby3
- movs r1, 0x1
- movs r2, 0xE
- bl MenuPrint
- ldr r2, _0804ED44 @ =gUnknown_03004854
- ldr r1, [r2]
- movs r3, 0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- str r3, [r0]
- b _0804F0CE
- .align 2, 0
-_0804ED40: .4byte gOtherText_LinkStandby3
-_0804ED44: .4byte gUnknown_03004854
-_0804ED48:
- mov r2, r8
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r5, 0
- strb r0, [r1]
- ldr r0, [r2]
- movs r3, 0x9E
- lsls r3, 1
- adds r0, r3
- strb r5, [r0]
- ldr r0, [r2]
- movs r4, 0xBE
- lsls r4, 1
- adds r0, r4
- ldr r1, _0804ED8C @ =gScriptItemId
- ldrh r1, [r1]
- bl sub_804E844
- ldr r0, _0804ED90 @ =gBlockSendBuffer
- mov r2, r8
- ldr r1, [r2]
- adds r1, r4
- movs r2, 0x10
- bl memcpy
- bl sub_80084A4
- mov r3, r8
- ldr r0, [r3]
- subs r4, 0x4C
- adds r0, r4
- str r5, [r0]
- b _0804F0CE
- .align 2, 0
-_0804ED8C: .4byte gScriptItemId
-_0804ED90: .4byte gBlockSendBuffer
-_0804ED94:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _0804EDA0
- b _0804F0CE
-_0804EDA0:
- bl ResetBlockReceivedFlags
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _0804EDB0
- b _0804F0AA
-_0804EDB0:
- movs r0, 0x4
- bl sub_8007E9C
- b _0804F0AA
-_0804EDB8:
- mov r0, r8
- ldr r1, [r0]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- bgt _0804EDCE
- b _0804F0CE
-_0804EDCE:
- bl MenuZeroFillScreen
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_8008198
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _0804EDE6
- b _0804F0CE
-_0804EDE6:
- movs r5, 0
- mov r7, r8
- movs r6, 0xBE
- lsls r6, 1
- b _0804EE18
-_0804EDF0:
- ldr r0, [r7]
- lsls r4, r5, 4
- adds r0, r4, r0
- adds r0, r6
- lsls r1, r5, 8
- ldr r2, _0804EE2C @ =gBlockRecvBuffer
- adds r1, r2
- movs r2, 0x10
- bl memcpy
- ldr r0, [r7]
- lsls r2, r5, 1
- adds r1, r0, 0
- adds r1, 0x80
- adds r1, r2
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r5, 0x1
-_0804EE18:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- blt _0804EDF0
- bl ResetBlockReceivedFlags
- b _0804F0AA
- .align 2, 0
-_0804EE2C: .4byte gBlockRecvBuffer
-_0804EE30:
- ldrb r1, [r4]
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x80
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r5, 24
- lsrs r1, 24
- bl sub_804E7C0
- b _0804EE7A
-_0804EE46:
- bl GetLinkPlayerCount
- ldr r2, _0804EE98 @ =gUnknown_03004854
- ldr r1, [r2]
- adds r1, 0x88
- strb r0, [r1]
- movs r5, 0
- ldr r2, [r2]
- movs r3, 0x9E
- lsls r3, 1
- adds r4, r2, r3
- ldr r1, _0804EE9C @ =gUnknown_082162EC
- adds r0, r2, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- ldrb r3, [r4]
- adds r0, r1
-_0804EE6C:
- ldrb r1, [r0]
- cmp r3, r1
- beq _0804EE30
- adds r0, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _0804EE6C
-_0804EE7A:
- ldr r3, _0804EE98 @ =gUnknown_03004854
- ldr r1, [r3]
- movs r4, 0x98
- lsls r4, 1
- adds r2, r1, r4
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r3]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r0
- b _0804F0AE
- .align 2, 0
-_0804EE98: .4byte gUnknown_03004854
-_0804EE9C: .4byte gUnknown_082162EC
-_0804EEA0:
- mov r1, r8
- ldr r2, [r1]
- movs r3, 0x98
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _0804EEB6
- b _0804F0CE
-_0804EEB6:
- movs r4, 0x9E
- lsls r4, 1
- adds r0, r2, r4
- adds r1, r2, 0
- adds r1, 0x88
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0804EF00
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- mov r0, r8
- ldr r2, [r0]
- ldr r3, _0804EEF4 @ =gUnknown_082162F8
- ldr r1, _0804EEF8 @ =gUnknown_08216300
- adds r0, r2, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r3
- ldr r3, _0804EEFC @ =0xffffa800
- adds r1, r3, 0
- ldrh r0, [r0]
- adds r1, r0
- adds r2, 0x54
- strh r1, [r2]
- b _0804EF06
- .align 2, 0
-_0804EEF4: .4byte gUnknown_082162F8
-_0804EEF8: .4byte gUnknown_08216300
-_0804EEFC: .4byte 0xffffa800
-_0804EF00:
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_0804EF06:
- mov r4, r8
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _0804F0CE
-_0804EF16:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _0804EF22
- b _0804F0CE
-_0804EF22:
- ldr r2, _0804EF30 @ =gUnknown_03004854
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- b _0804EFBC
- .align 2, 0
-_0804EF30: .4byte gUnknown_03004854
-_0804EF34:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- mov r4, r8
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x54
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ldrh r4, [r1]
- adds r0, r4
- strh r0, [r1]
- movs r0, 0xA1
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _0804EFB8
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- mov r1, r8
- ldr r3, [r1]
- movs r2, 0xA1
- lsls r2, 1
- adds r1, r3, r2
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r2, _0804EFC8 @ =gUnknown_082162F8
- ldr r1, _0804EFCC @ =gUnknown_08216300
- adds r0, r3, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r3, 0
- adds r0, 0x54
- strh r1, [r0]
- ldr r1, _0804EFD0 @ =REG_BG2CNT
- ldr r4, _0804EFD4 @ =0x00004882
- adds r0, r4, 0
- strh r0, [r1]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- str r0, [r1]
- bl sub_804F238
- bl BuyMenuDrawFieldObjects
-_0804EFB8:
- mov r1, r8
- ldr r0, [r1]
-_0804EFBC:
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r2
- bl sub_8051414
- b _0804F0CE
- .align 2, 0
-_0804EFC8: .4byte gUnknown_082162F8
-_0804EFCC: .4byte gUnknown_08216300
-_0804EFD0: .4byte REG_BG2CNT
-_0804EFD4: .4byte 0x00004882
-_0804EFD8:
- bl sub_8051B8C
- lsls r0, 24
- cmp r0, 0
- beq _0804EFF6
- ldr r0, _0804F008 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r3, 0x98
- lsls r3, 1
- adds r2, r1, r3
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804EFF6:
- ldr r0, _0804F008 @ =gUnknown_03004854
- ldr r0, [r0]
- movs r4, 0xB4
- lsls r4, 1
- adds r0, r4
- bl sub_8051414
- b _0804F0CE
- .align 2, 0
-_0804F008: .4byte gUnknown_03004854
-_0804F00C:
- ldr r0, _0804F01C @ =gSpriteTemplate_8216548
- movs r2, 0x10
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x3
- bl CreateSprite
- b _0804F0AA
- .align 2, 0
-_0804F01C: .4byte gSpriteTemplate_8216548
-_0804F020:
- mov r0, r8
- b _0804F0AC
-_0804F024:
- bl sub_80084A4
- b _0804F0AA
-_0804F02A:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _0804F0CE
- bl sub_8007E24
- b _0804F0AA
-_0804F03A:
- mov r1, r8
- ldr r3, [r1]
- adds r2, r3, 0
- adds r2, 0x56
- movs r1, 0
- movs r0, 0x80
- strh r0, [r2]
- movs r2, 0x96
- lsls r2, 1
- adds r0, r3, r2
- str r1, [r0]
- ldr r0, _0804F07C @ =sub_80501FC
- bl SetMainCallback2
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0804F080 @ =0x00000193
- cmp r0, r4
- beq _0804F074
- bl GetCurrentMapMusic
- mov r3, r8
- ldr r1, [r3]
- movs r2, 0xBC
- lsls r2, 1
- adds r1, r2
- strh r0, [r1]
-_0804F074:
- adds r0, r4, 0
- bl PlayBGM
- b _0804F0CE
- .align 2, 0
-_0804F07C: .4byte sub_80501FC
-_0804F080: .4byte 0x00000193
-_0804F084:
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _0804F09C @ =gOtherText_LinkNotFound
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- b _0804F0AA
- .align 2, 0
-_0804F09C: .4byte gOtherText_LinkNotFound
-_0804F0A0:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _0804F0CE
-_0804F0AA:
- ldr r0, _0804F0B8 @ =gUnknown_03004854
-_0804F0AC:
- ldr r1, [r0]
-_0804F0AE:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804F0CE
- .align 2, 0
-_0804F0B8: .4byte gUnknown_03004854
-_0804F0BC:
- ldr r0, _0804F0EC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804F0CE
- ldr r0, _0804F0F0 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_0804F0CE:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F0EC: .4byte gPaletteFade
-_0804F0F0: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_804E9F8
-
- thumb_func_start sub_804F0F4
-sub_804F0F4: @ 804F0F4
- push {r4,lr}
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, _0804F158 @ =sub_804E2BC
- bl SetVBlankCallback
- ldr r4, _0804F15C @ =gWindowConfig_81E6F68
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r1, _0804F160 @ =gLinkType
- ldr r2, _0804F164 @ =0x00004422
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0804F168 @ =gUnknown_03004854
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x6
- strh r1, [r0]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F158: .4byte sub_804E2BC
-_0804F15C: .4byte gWindowConfig_81E6F68
-_0804F160: .4byte gLinkType
-_0804F164: .4byte 0x00004422
-_0804F168: .4byte gUnknown_03004854
- thumb_func_end sub_804F0F4
-
- thumb_func_start task_tutorial_oak_boy_girl
-task_tutorial_oak_boy_girl: @ 804F16C
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r0, 24
- adds r2, r0, 0
- adds r2, 0x18
- ldr r0, _0804F1A8 @ =gUnknown_03004854
- ldr r0, [r0]
- lsrs r1, 23
- adds r0, 0xA2
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0804F1AC @ =gUnknown_08216303
- adds r0, r1
- ldrb r1, [r0]
- cmp r2, r1
- bcc _0804F1B4
- adds r0, r1, 0
- adds r0, 0x30
- cmp r2, r0
- bcs _0804F1B4
- subs r0, 0x1C
- cmp r2, r0
- bcc _0804F1B0
- adds r0, 0x8
- cmp r2, r0
- bcs _0804F1B0
- movs r0, 0x2
- b _0804F1B6
- .align 2, 0
-_0804F1A8: .4byte gUnknown_03004854
-_0804F1AC: .4byte gUnknown_08216303
-_0804F1B0:
- movs r0, 0x1
- b _0804F1B6
-_0804F1B4:
- movs r0, 0
-_0804F1B6:
- pop {r1}
- bx r1
- thumb_func_end task_tutorial_oak_boy_girl
-
- thumb_func_start sub_804F1BC
-sub_804F1BC: @ 804F1BC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- movs r4, 0
- cmp r0, 0xAF
- bne _0804F1EE
- movs r3, 0
- subs r5, r1, 0x1
- adds r2, 0x9
-_0804F1D2:
- adds r0, r2, r4
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _0804F1E0
- adds r4, r3, 0
-_0804F1E0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bls _0804F1D2
- adds r0, r4, 0x5
- b _0804F204
-_0804F1EE:
- subs r0, 0x85
- lsls r0, 16
- lsrs r4, r0, 16
- subs r5, r1, 0x1
- cmp r4, 0x4
- bls _0804F208
- adds r0, r4, 0
- movs r1, 0x5
- bl __umodsi3
- adds r0, 0x5
-_0804F204:
- lsls r0, 16
- lsrs r4, r0, 16
-_0804F208:
- movs r3, 0
- cmp r3, r5
- bge _0804F22E
- ldr r7, _0804F234 @ =gUnknown_082165BC
- lsls r0, r4, 1
- adds r6, r0, r4
-_0804F214:
- adds r4, r3, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- adds r1, r3, r6
- adds r1, r7
- ldrb r1, [r1]
- adds r1, 0x85
- bl sub_80516C4
- lsls r4, 16
- lsrs r3, r4, 16
- cmp r3, r5
- blt _0804F214
-_0804F22E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F234: .4byte gUnknown_082165BC
- thumb_func_end sub_804F1BC
-
- thumb_func_start sub_804F238
-sub_804F238: @ 804F238
- push {r4-r7,lr}
- movs r4, 0
- ldr r7, _0804F2A0 @ =gUnknown_03004854
- movs r6, 0xFF
- ldr r5, _0804F2A4 @ =gUnknown_082162EC
-_0804F242:
- ldr r3, [r7]
- lsls r2, r4, 1
- adds r0, r3, 0
- adds r0, 0xA2
- adds r0, r2
- strh r6, [r0]
- adds r1, r3, 0
- adds r1, 0x9A
- adds r1, r2
- adds r0, r3, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r5
- ldrb r0, [r0]
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804F242
- movs r3, 0
- ldr r7, _0804F2A0 @ =gUnknown_03004854
-_0804F270:
- movs r4, 0
- adds r6, r3, 0x1
- lsls r5, r3, 1
-_0804F276:
- ldr r2, [r7]
- lsls r0, r4, 1
- adds r1, r2, 0
- adds r1, 0x9A
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r3
- bne _0804F28E
- adds r0, r2, 0
- adds r0, 0xA2
- adds r0, r5
- strh r4, [r0]
-_0804F28E:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804F276
- adds r3, r6, 0
- cmp r3, 0x3
- ble _0804F270
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F2A0: .4byte gUnknown_03004854
-_0804F2A4: .4byte gUnknown_082162EC
- thumb_func_end sub_804F238
-
- thumb_func_start BuyMenuDrawFieldObjects
-BuyMenuDrawFieldObjects: @ 804F2A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r7, _0804F360 @ =gUnknown_03004854
- ldr r0, _0804F364 @ =gUnknown_082162D4
- mov r8, r0
-_0804F2B6:
- ldr r2, [r7]
- lsls r4, r6, 1
- adds r0, r2, 0
- adds r0, 0x9A
- adds r3, r0, r4
- ldrh r0, [r3]
- cmp r0, 0xFF
- beq _0804F34A
- ldr r5, _0804F368 @ =gStringVar1
- adds r1, r2, 0
- adds r1, 0x5C
- ldrh r3, [r3]
- adds r1, r3
- adds r0, r2, 0
- adds r0, 0x60
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r7]
- adds r1, r0, 0
- adds r1, 0x9A
- adds r1, r4
- adds r0, 0x5C
- ldrh r1, [r1]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804F36C @ =gSprites
- adds r0, r1
- lsls r1, r6, 24
- lsrs r1, 24
- bl StartSpriteAnim
- bl GetMultiplayerId
- lsls r0, 24
- ldr r1, [r7]
- adds r1, 0x9A
- adds r1, r4
- lsrs r0, 24
- ldrh r1, [r1]
- cmp r0, r1
- bne _0804F31A
- adds r0, r5, 0
- ldr r1, _0804F370 @ =gUnknown_082162C4
- bl StringCopy
- adds r5, r0, 0
-_0804F31A:
- ldr r0, [r7]
- adds r0, 0x9A
- adds r0, r4
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _0804F374 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- mov r0, r8
- ldrb r1, [r0]
- lsls r1, 3
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r0, 0x1]
- lsls r2, 3
- ldr r0, _0804F368 @ =gStringVar1
- movs r3, 0x1
- bl MenuPrint_PixelCoords
-_0804F34A:
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _0804F2B6
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F360: .4byte gUnknown_03004854
-_0804F364: .4byte gUnknown_082162D4
-_0804F368: .4byte gStringVar1
-_0804F36C: .4byte gSprites
-_0804F370: .4byte gUnknown_082162C4
-_0804F374: .4byte gLinkPlayers + 0x8
- thumb_func_end BuyMenuDrawFieldObjects
-
- thumb_func_start sub_804F378
-sub_804F378: @ 804F378
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, _0804F398 @ =gUnknown_03004854
- ldr r0, [r1]
- ldrb r0, [r0]
- mov r8, r1
- cmp r0, 0x15
- bls _0804F38E
- b _0804F7E6
-_0804F38E:
- lsls r0, 2
- ldr r1, _0804F39C @ =_0804F3A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804F398: .4byte gUnknown_03004854
-_0804F39C: .4byte _0804F3A0
- .align 2, 0
-_0804F3A0:
- .4byte _0804F3F8
- .4byte _0804F474
- .4byte _0804F494
- .4byte _0804F4EC
- .4byte _0804F518
- .4byte _0804F7E6
- .4byte _0804F7E6
- .4byte _0804F7E6
- .4byte _0804F54C
- .4byte _0804F7E6
- .4byte _0804F7E6
- .4byte _0804F578
- .4byte _0804F5C8
- .4byte _0804F636
- .4byte _0804F650
- .4byte _0804F6F8
- .4byte _0804F720
- .4byte _0804F7E6
- .4byte _0804F73C
- .4byte _0804F742
- .4byte _0804F748
- .4byte _0804F754
-_0804F3F8:
- bl sub_804F0F4
- ldr r4, _0804F46C @ =gScriptItemId
- ldrh r1, [r4]
- movs r0, 0
- bl sub_80516C4
- ldr r5, _0804F470 @ =gUnknown_03004854
- ldr r0, [r5]
- movs r6, 0xBE
- lsls r6, 1
- adds r0, r6
- ldrh r1, [r4]
- bl sub_804E844
- ldrh r0, [r4]
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x88
- ldrb r1, [r1]
- adds r2, r6
- bl sub_804F1BC
- movs r4, 0
- movs r6, 0
- mov r8, r5
- movs r7, 0xA6
- lsls r7, 1
-_0804F430:
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, 0x70
- adds r0, r1
- strh r6, [r0]
- adds r3, r4, 0x1
- adds r1, r4
- lsls r1, 1
- movs r2, 0x2
-_0804F442:
- ldr r0, [r5]
- adds r0, r7
- adds r0, r1
- strh r6, [r0]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _0804F442
- adds r4, r3, 0
- cmp r4, 0x3
- ble _0804F430
- mov r0, r8
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x7C
- movs r2, 0
- movs r0, 0
- strh r0, [r1]
- strb r2, [r3, 0x1]
- b _0804F7E6
- .align 2, 0
-_0804F46C: .4byte gScriptItemId
-_0804F470: .4byte gUnknown_03004854
-_0804F474:
- bl sub_804E2EC
- lsls r0, 24
- cmp r0, 0
- bne _0804F480
- b _0804F7E6
-_0804F480:
- ldr r0, _0804F490 @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8051474
- b _0804F7E6
- .align 2, 0
-_0804F490: .4byte gUnknown_03004854
-_0804F494:
- movs r4, 0
- ldr r5, _0804F4DC @ =gUnknown_082162E4
- ldr r6, _0804F4E0 @ =gUnknown_03004854
-_0804F49A:
- ldrb r1, [r5]
- ldrb r2, [r5, 0x1]
- ldr r0, _0804F4E4 @ =gSpriteTemplate_82163F4
- movs r3, 0x1
- bl CreateSprite
- ldr r1, [r6]
- adds r1, 0x60
- adds r1, r4
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x60
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804F4E8 @ =gSprites
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804F49A
- ldr r0, _0804F4E0 @ =gUnknown_03004854
- ldr r1, [r0]
- b _0804F74C
- .align 2, 0
-_0804F4DC: .4byte gUnknown_082162E4
-_0804F4E0: .4byte gUnknown_03004854
-_0804F4E4: .4byte gSpriteTemplate_82163F4
-_0804F4E8: .4byte gSprites
-_0804F4EC:
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _0804F514 @ =gUnknown_03004854
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- str r4, [r0]
- b _0804F7E6
- .align 2, 0
-_0804F514: .4byte gUnknown_03004854
-_0804F518:
- mov r2, r8
- ldr r1, [r2]
- movs r3, 0x98
- lsls r3, 1
- adds r1, r3
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x2
- bne _0804F530
- bl sub_804E4FC
-_0804F530:
- ldr r0, _0804F548 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804F53E
- b _0804F7E6
-_0804F53E:
- mov r5, r8
- ldr r1, [r5]
- movs r0, 0x8
- strb r0, [r1]
- b _0804F7E6
- .align 2, 0
-_0804F548: .4byte gPaletteFade
-_0804F54C:
- mov r0, r8
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0xB
- strb r0, [r1]
- mov r1, r8
- ldr r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r0, r3
- strb r2, [r0]
- b _0804F7E6
-_0804F564:
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x80
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_804E7C0
- b _0804F5A2
-_0804F578:
- movs r4, 0
- ldr r2, _0804F5C0 @ =gUnknown_082162EC
- ldr r0, _0804F5C4 @ =gUnknown_03004854
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 2
- movs r5, 0x9E
- lsls r5, 1
- adds r1, r3, r5
- ldrb r1, [r1]
- adds r0, r2
-_0804F594:
- ldrb r2, [r0]
- cmp r1, r2
- beq _0804F564
- adds r0, 0x1
- adds r4, 0x1
- cmp r4, 0x3
- ble _0804F594
-_0804F5A2:
- ldr r3, _0804F5C4 @ =gUnknown_03004854
- ldr r1, [r3]
- movs r5, 0x98
- lsls r5, 1
- adds r2, r1, r5
- movs r0, 0
- str r0, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, [r3]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r0
- b _0804F74C
- .align 2, 0
-_0804F5C0: .4byte gUnknown_082162EC
-_0804F5C4: .4byte gUnknown_03004854
-_0804F5C8:
- mov r1, r8
- ldr r3, [r1]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r3, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _0804F5DE
- b _0804F7E6
-_0804F5DE:
- movs r5, 0x9E
- lsls r5, 1
- adds r0, r3, r5
- adds r4, r3, 0
- adds r4, 0x88
- ldrb r0, [r0]
- ldrb r1, [r4]
- cmp r0, r1
- bcc _0804F620
- ldr r2, _0804F614 @ =gUnknown_082162F8
- ldr r1, _0804F618 @ =gUnknown_08216300
- ldrb r0, [r4]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldr r2, _0804F61C @ =0xffffa800
- adds r1, r2, 0
- ldrh r0, [r0]
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x54
- strh r1, [r0]
- ldrb r0, [r3]
- adds r0, 0x1
- b _0804F624
- .align 2, 0
-_0804F614: .4byte gUnknown_082162F8
-_0804F618: .4byte gUnknown_08216300
-_0804F61C: .4byte 0xffffa800
-_0804F620:
- ldrb r0, [r3]
- subs r0, 0x1
-_0804F624:
- strb r0, [r3]
- mov r3, r8
- ldr r0, [r3]
- movs r5, 0x98
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- str r1, [r0]
- b _0804F7E6
-_0804F636:
- mov r1, r8
- ldr r0, [r1]
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- bl sub_804F238
- movs r0, 0x2B
- bl PlaySE
- mov r2, r8
- ldr r0, [r2]
- b _0804F710
-_0804F650:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r5, 0x80
- lsls r5, 3
- adds r1, r5, 0
- orrs r0, r1
- strh r0, [r2]
- mov r0, r8
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x54
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
- movs r0, 0xA1
- lsls r0, 1
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x4
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _0804F6D6
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- mov r1, r8
- ldr r3, [r1]
- movs r2, 0xA1
- lsls r2, 1
- adds r1, r3, r2
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r2, _0804F6E8 @ =gUnknown_082162F8
- ldr r1, _0804F6EC @ =gUnknown_08216300
- adds r0, r3, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r0, r3, 0
- adds r0, 0x54
- strh r1, [r0]
- ldr r1, _0804F6F0 @ =REG_BG2CNT
- ldr r5, _0804F6F4 @ =0x00004882
- adds r0, r5, 0
- strh r0, [r1]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- str r0, [r1]
- movs r0, 0x34
- bl PlaySE
- bl BuyMenuDrawFieldObjects
-_0804F6D6:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r2
- bl sub_8051414
- b _0804F7E6
- .align 2, 0
-_0804F6E8: .4byte gUnknown_082162F8
-_0804F6EC: .4byte gUnknown_08216300
-_0804F6F0: .4byte REG_BG2CNT
-_0804F6F4: .4byte 0x00004882
-_0804F6F8:
- bl sub_8051B8C
- lsls r0, 24
- cmp r0, 0
- beq _0804F70C
- ldr r0, _0804F71C @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804F70C:
- ldr r0, _0804F71C @ =gUnknown_03004854
- ldr r0, [r0]
-_0804F710:
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3
- bl sub_8051414
- b _0804F7E6
- .align 2, 0
-_0804F71C: .4byte gUnknown_03004854
-_0804F720:
- ldr r0, _0804F734 @ =gSpriteTemplate_8216548
- movs r2, 0x10
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x3
- bl CreateSprite
- ldr r0, _0804F738 @ =gUnknown_03004854
- ldr r1, [r0]
- b _0804F74C
- .align 2, 0
-_0804F734: .4byte gSpriteTemplate_8216548
-_0804F738: .4byte gUnknown_03004854
-_0804F73C:
- mov r5, r8
- ldr r1, [r5]
- b _0804F74C
-_0804F742:
- mov r0, r8
- ldr r1, [r0]
- b _0804F74C
-_0804F748:
- mov r2, r8
- ldr r1, [r2]
-_0804F74C:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0804F7E6
-_0804F754:
- bl sub_804F81C
- ldr r3, _0804F804 @ =gUnknown_03004854
- ldr r4, [r3]
- adds r5, r4, 0
- adds r5, 0x56
- movs r2, 0
- movs r1, 0
- movs r0, 0x80
- strh r0, [r5]
- movs r5, 0x96
- lsls r5, 1
- adds r0, r4, r5
- str r1, [r0]
- ldr r1, _0804F808 @ =0x0000014b
- adds r0, r4, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0x7E
- strb r2, [r0]
- ldr r0, _0804F80C @ =sub_80501FC
- bl SetMainCallback2
- movs r4, 0
- ldr r0, _0804F810 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bge _0804F7B8
- movs r5, 0xA0
- lsls r5, 20
- ldr r6, _0804F814 @ =gUnknown_08216308
-_0804F792:
- ldm r6!, {r0}
- lsrs r1, r5, 24
- bl CreateTask
- ldr r1, _0804F804 @ =gUnknown_03004854
- ldr r1, [r1]
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- adds r1, r4
- strb r0, [r1]
- movs r3, 0x80
- lsls r3, 17
- adds r5, r3
- adds r4, 0x1
- ldr r0, _0804F810 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- blt _0804F792
-_0804F7B8:
- bl GetCurrentMapMusic
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0804F818 @ =0x00000193
- cmp r0, r4
- beq _0804F7D6
- bl GetCurrentMapMusic
- ldr r1, _0804F804 @ =gUnknown_03004854
- ldr r1, [r1]
- movs r5, 0xBC
- lsls r5, 1
- adds r1, r5
- strh r0, [r1]
-_0804F7D6:
- adds r0, r4, 0
- bl PlayBGM
- movs r0, 0x35
- bl PlaySE
- bl sub_804E290
-_0804F7E6:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F804: .4byte gUnknown_03004854
-_0804F808: .4byte 0x0000014b
-_0804F80C: .4byte sub_80501FC
-_0804F810: .4byte gSpecialVar_0x8004
-_0804F814: .4byte gUnknown_08216308
-_0804F818: .4byte 0x00000193
- thumb_func_end sub_804F378
-
- thumb_func_start sub_804F81C
-sub_804F81C: @ 804F81C
- push {lr}
- ldr r3, _0804F83C @ =gSendCmd
- movs r0, 0
- ldr r1, _0804F840 @ =gRecvCmds
- movs r2, 0x3
-_0804F826:
- strh r0, [r3]
- strh r0, [r3, 0x4]
- strh r0, [r1]
- strh r0, [r1, 0x10]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _0804F826
- pop {r0}
- bx r0
- .align 2, 0
-_0804F83C: .4byte gSendCmd
-_0804F840: .4byte gRecvCmds
- thumb_func_end sub_804F81C
-
- thumb_func_start sub_804F844
-sub_804F844: @ 804F844
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _0804F884 @ =gTasks
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xA
- ldrsh r1, [r2, r4]
- cmp r0, r1
- ble _0804F87C
- ldr r0, _0804F888 @ =gRecvCmds
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- lsls r1, 1
- adds r0, 0x10
- adds r1, r0
- ldr r0, _0804F88C @ =0x00002345
- strh r0, [r1]
- adds r0, r3, 0
- bl DestroyTask
-_0804F87C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F884: .4byte gTasks
-_0804F888: .4byte gRecvCmds
-_0804F88C: .4byte 0x00002345
- thumb_func_end sub_804F844
-
- thumb_func_start sub_804F890
-sub_804F890: @ 804F890
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0804F8C0 @ =sub_804F844
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0804F8C4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- strh r5, [r1, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F8C0: .4byte sub_804F844
-_0804F8C4: .4byte gTasks
- thumb_func_end sub_804F890
-
- thumb_func_start sub_804F8C8
-sub_804F8C8: @ 804F8C8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0804F934 @ =gUnknown_03004854
- ldr r0, [r4]
- adds r0, 0x54
- ldrh r0, [r0]
- movs r1, 0x1
- bl task_tutorial_oak_boy_girl
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _0804F8E6
- b _0804F9DC
-_0804F8E6:
- ldr r2, _0804F938 @ =gTasks
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r6, r1, 0
- cmp r0, 0
- beq _0804F8FC
- b _0804F9EA
-_0804F8FC:
- ldr r0, [r4]
- ldr r1, _0804F93C @ =0x0000014b
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804F9BE
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0804F940 @ =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, r1, 0
- ldr r0, [r4]
- adds r0, 0x56
- movs r4, 0
- ldrsh r2, [r0, r4]
- ldr r0, _0804F944 @ =0x000001f3
- cmp r2, r0
- bgt _0804F964
- cmp r1, 0x4B
- bls _0804F950
- ldr r1, _0804F948 @ =gRecvCmds
- ldr r0, _0804F94C @ =0x00004523
- b _0804F954
- .align 2, 0
-_0804F934: .4byte gUnknown_03004854
-_0804F938: .4byte gTasks
-_0804F93C: .4byte 0x0000014b
-_0804F940: .4byte 0x0000028f
-_0804F944: .4byte 0x000001f3
-_0804F948: .4byte gRecvCmds
-_0804F94C: .4byte 0x00004523
-_0804F950:
- ldr r1, _0804F95C @ =gRecvCmds
- ldr r0, _0804F960 @ =0x00005432
-_0804F954:
- strh r0, [r1, 0x12]
- ldr r0, _0804F960 @ =0x00005432
- b _0804F9C2
- .align 2, 0
-_0804F95C: .4byte gRecvCmds
-_0804F960: .4byte 0x00005432
-_0804F964:
- ldr r0, _0804F980 @ =0x000005db
- cmp r2, r0
- bgt _0804F992
- cmp r1, 0x50
- bhi _0804F9BE
- adds r0, r1, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bhi _0804F98C
- ldr r1, _0804F984 @ =gRecvCmds
- ldr r0, _0804F988 @ =0x00005432
- b _0804F9C2
- .align 2, 0
-_0804F980: .4byte 0x000005db
-_0804F984: .4byte gRecvCmds
-_0804F988: .4byte 0x00005432
-_0804F98C:
- cmp r1, 0x9
- bhi _0804F9C4
- b _0804F9B4
-_0804F992:
- cmp r1, 0x5A
- bhi _0804F9BE
- adds r0, r1, 0
- subs r0, 0x47
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _0804F9B0
- ldr r1, _0804F9A8 @ =gRecvCmds
- ldr r0, _0804F9AC @ =0x00005432
- b _0804F9C2
- .align 2, 0
-_0804F9A8: .4byte gRecvCmds
-_0804F9AC: .4byte 0x00005432
-_0804F9B0:
- cmp r3, 0x1D
- bhi _0804F9C4
-_0804F9B4:
- movs r0, 0x1
- movs r1, 0x5
- bl sub_804F890
- b _0804F9C4
-_0804F9BE:
- ldr r1, _0804F9D0 @ =gRecvCmds
- ldr r0, _0804F9D4 @ =0x00004523
-_0804F9C2:
- strh r0, [r1, 0x12]
-_0804F9C4:
- ldr r0, _0804F9D8 @ =gTasks
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _0804F9E8
- .align 2, 0
-_0804F9D0: .4byte gRecvCmds
-_0804F9D4: .4byte 0x00004523
-_0804F9D8: .4byte gTasks
-_0804F9DC:
- ldr r0, _0804F9F0 @ =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_0804F9E8:
- strh r0, [r1, 0x8]
-_0804F9EA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804F9F0: .4byte gTasks
- thumb_func_end sub_804F8C8
-
- thumb_func_start sub_804F9F4
-sub_804F9F4: @ 804F9F4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, _0804FA78 @ =gUnknown_03004854
- ldr r3, [r6]
- adds r0, r3, 0
- adds r0, 0x54
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldr r1, _0804FA7C @ =0x0000ffff
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0xA6
- ldrb r1, [r1]
- lsrs r2, r0, 8
- ldr r0, _0804FA80 @ =gUnknown_08216303
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r1, 0
- adds r0, 0x14
- cmp r2, r0
- bls _0804FB04
- adds r0, 0x14
- cmp r2, r0
- bcs _0804FB04
- ldr r2, _0804FA84 @ =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r2, r0, r2
- movs r5, 0x8
- ldrsh r0, [r2, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _0804FB12
- ldr r1, _0804FA88 @ =0x0000014b
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804FAF0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0804FA8C @ =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldr r0, [r6]
- adds r0, 0x56
- movs r6, 0
- ldrsh r1, [r0, r6]
- ldr r0, _0804FA90 @ =0x000001f3
- cmp r1, r0
- bgt _0804FAAC
- cmp r2, 0x42
- bls _0804FA9C
- ldr r1, _0804FA94 @ =gRecvCmds
- ldr r0, _0804FA98 @ =0x00004523
- strh r0, [r1, 0x14]
- b _0804FAD4
- .align 2, 0
-_0804FA78: .4byte gUnknown_03004854
-_0804FA7C: .4byte 0x0000ffff
-_0804FA80: .4byte gUnknown_08216303
-_0804FA84: .4byte gTasks
-_0804FA88: .4byte 0x0000014b
-_0804FA8C: .4byte 0x0000028f
-_0804FA90: .4byte 0x000001f3
-_0804FA94: .4byte gRecvCmds
-_0804FA98: .4byte 0x00004523
-_0804FA9C:
- ldr r1, _0804FAA4 @ =gRecvCmds
- ldr r0, _0804FAA8 @ =0x00005432
- strh r0, [r1, 0x14]
- b _0804FAD4
- .align 2, 0
-_0804FAA4: .4byte gRecvCmds
-_0804FAA8: .4byte 0x00005432
-_0804FAAC:
- cmp r2, 0x41
- bls _0804FAB6
- ldr r1, _0804FAE0 @ =gRecvCmds
- ldr r0, _0804FAE4 @ =0x00004523
- strh r0, [r1, 0x14]
-_0804FAB6:
- adds r0, r2, 0
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x18
- bhi _0804FAC8
- ldr r1, _0804FAE0 @ =gRecvCmds
- ldr r0, _0804FAE8 @ =0x00005432
- strh r0, [r1, 0x14]
-_0804FAC8:
- cmp r3, 0x9
- bhi _0804FAD4
- movs r0, 0x2
- movs r1, 0x5
- bl sub_804F890
-_0804FAD4:
- ldr r0, _0804FAEC @ =gTasks
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _0804FB10
- .align 2, 0
-_0804FAE0: .4byte gRecvCmds
-_0804FAE4: .4byte 0x00004523
-_0804FAE8: .4byte 0x00005432
-_0804FAEC: .4byte gTasks
-_0804FAF0:
- ldr r0, _0804FAFC @ =gRecvCmds
- ldr r1, _0804FB00 @ =0x00004523
- strh r1, [r0, 0x14]
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _0804FB12
- .align 2, 0
-_0804FAFC: .4byte gRecvCmds
-_0804FB00: .4byte 0x00004523
-_0804FB04:
- ldr r0, _0804FB18 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_0804FB10:
- strh r0, [r1, 0x8]
-_0804FB12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FB18: .4byte gTasks
- thumb_func_end sub_804F9F4
-
- thumb_func_start sub_804FB1C
-sub_804FB1C: @ 804FB1C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _0804FB9C @ =gUnknown_03004854
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x54
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- adds r0, r1
- ldr r1, _0804FBA0 @ =0x0000ffff
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0xA8
- ldrb r1, [r1]
- lsrs r2, r0, 8
- ldr r0, _0804FBA4 @ =gUnknown_08216303
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r1, 0
- adds r0, 0x14
- cmp r2, r0
- bls _0804FC30
- adds r0, 0x14
- cmp r2, r0
- bcs _0804FC30
- ldr r2, _0804FBA8 @ =gTasks
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r2, r0, r2
- movs r6, 0x8
- ldrsh r0, [r2, r6]
- adds r6, r1, 0
- cmp r0, 0
- bne _0804FC3E
- ldr r1, _0804FBAC @ =0x0000014b
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804FC1C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0804FBB0 @ =0x0000028f
- bl __udivsi3
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, [r5]
- adds r0, 0x56
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r0, _0804FBB4 @ =0x000001f3
- cmp r1, r0
- bgt _0804FBD0
- cmp r2, 0x58
- bls _0804FBC0
- ldr r1, _0804FBB8 @ =gRecvCmds
- ldr r0, _0804FBBC @ =0x00004523
- strh r0, [r1, 0x16]
- b _0804FC02
- .align 2, 0
-_0804FB9C: .4byte gUnknown_03004854
-_0804FBA0: .4byte 0x0000ffff
-_0804FBA4: .4byte gUnknown_08216303
-_0804FBA8: .4byte gTasks
-_0804FBAC: .4byte 0x0000014b
-_0804FBB0: .4byte 0x0000028f
-_0804FBB4: .4byte 0x000001f3
-_0804FBB8: .4byte gRecvCmds
-_0804FBBC: .4byte 0x00004523
-_0804FBC0:
- ldr r1, _0804FBC8 @ =gRecvCmds
- ldr r0, _0804FBCC @ =0x00005432
- strh r0, [r1, 0x16]
- b _0804FC02
- .align 2, 0
-_0804FBC8: .4byte gRecvCmds
-_0804FBCC: .4byte 0x00005432
-_0804FBD0:
- cmp r2, 0x3C
- bls _0804FBE4
- ldr r1, _0804FBDC @ =gRecvCmds
- ldr r0, _0804FBE0 @ =0x00004523
- b _0804FBF4
- .align 2, 0
-_0804FBDC: .4byte gRecvCmds
-_0804FBE0: .4byte 0x00004523
-_0804FBE4:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _0804FBF6
- ldr r1, _0804FC10 @ =gRecvCmds
- ldr r0, _0804FC14 @ =0x00005432
-_0804FBF4:
- strh r0, [r1, 0x16]
-_0804FBF6:
- cmp r2, 0x4
- bhi _0804FC02
- movs r0, 0x3
- movs r1, 0x5
- bl sub_804F890
-_0804FC02:
- ldr r0, _0804FC18 @ =gTasks
- adds r1, r6, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _0804FC3C
- .align 2, 0
-_0804FC10: .4byte gRecvCmds
-_0804FC14: .4byte 0x00005432
-_0804FC18: .4byte gTasks
-_0804FC1C:
- ldr r0, _0804FC28 @ =gRecvCmds
- ldr r1, _0804FC2C @ =0x00004523
- strh r1, [r0, 0x16]
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _0804FC3E
- .align 2, 0
-_0804FC28: .4byte gRecvCmds
-_0804FC2C: .4byte 0x00004523
-_0804FC30:
- ldr r0, _0804FC44 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
-_0804FC3C:
- strh r0, [r1, 0x8]
-_0804FC3E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FC44: .4byte gTasks
- thumb_func_end sub_804FB1C
-
- thumb_func_start sub_804FC48
-sub_804FC48: @ 804FC48
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r7, r0, 16
- mov r8, r7
- lsls r1, 24
- ldr r0, _0804FCBC @ =gSpriteTemplate_821645C
- ldr r4, _0804FCC0 @ =gUnknown_082162E4
- lsrs r1, 23
- adds r2, r1, r4
- ldrb r6, [r2]
- ldr r5, _0804FCC4 @ =gUnknown_082162CC
- adds r2, r1, r5
- movs r3, 0
- ldrsb r3, [r2, r3]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 1
- subs r6, r2
- adds r4, 0x1
- adds r4, r1, r4
- ldrb r2, [r4]
- adds r5, 0x1
- adds r1, r5
- movs r3, 0
- ldrsb r3, [r1, r3]
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 1
- subs r2, r1
- adds r1, r6, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- ldr r0, _0804FCC8 @ =0x00004523
- cmp r7, r0
- bne _0804FCD4
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r5, _0804FCCC @ =gSprites
- adds r0, r4, r5
- movs r1, 0x2
- bl StartSpriteAnim
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _0804FCD0 @ =sub_8051684
- str r0, [r4]
- movs r0, 0x28
- bl PlaySE
- b _0804FD18
- .align 2, 0
-_0804FCBC: .4byte gSpriteTemplate_821645C
-_0804FCC0: .4byte gUnknown_082162E4
-_0804FCC4: .4byte gUnknown_082162CC
-_0804FCC8: .4byte 0x00004523
-_0804FCCC: .4byte gSprites
-_0804FCD0: .4byte sub_8051684
-_0804FCD4:
- ldr r0, _0804FCF4 @ =0x00005432
- cmp r7, r0
- bne _0804FCFC
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0804FCF8 @ =gSprites
- adds r0, r1
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x1F
- bl PlaySE
- b _0804FD18
- .align 2, 0
-_0804FCF4: .4byte 0x00005432
-_0804FCF8: .4byte gSprites
-_0804FCFC:
- ldr r0, _0804FD28 @ =0x00002345
- cmp r8, r0
- bne _0804FD18
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, _0804FD2C @ =gSprites
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x20
- bl PlaySE
-_0804FD18:
- bl sub_805156C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FD28: .4byte 0x00002345
-_0804FD2C: .4byte gSprites
- thumb_func_end sub_804FC48
-
- thumb_func_start sub_804FD30
-sub_804FD30: @ 804FD30
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl sub_804E290
- ldr r0, _0804FD50 @ =0x00004523
- cmp r4, r0
- beq _0804FD64
- cmp r4, r0
- bgt _0804FD58
- ldr r0, _0804FD54 @ =0x00002345
- cmp r4, r0
- beq _0804FE34
- b _0804FE60
- .align 2, 0
-_0804FD50: .4byte 0x00004523
-_0804FD54: .4byte 0x00002345
-_0804FD58:
- ldr r0, _0804FD60 @ =0x00005432
- cmp r5, r0
- beq _0804FDFC
- b _0804FE60
- .align 2, 0
-_0804FD60: .4byte 0x00005432
-_0804FD64:
- ldr r7, _0804FD94 @ =gUnknown_03004854
- ldr r4, [r7]
- adds r5, r4, 0
- adds r5, 0x56
- ldrh r6, [r5]
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldr r0, _0804FD98 @ =0x000005db
- cmp r1, r0
- bgt _0804FDA0
- ldr r1, _0804FD9C @ =gUnknown_082165DA
- adds r0, r4, 0
- adds r0, 0x88
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0xC0
- lsls r0, 1
- bl __divsi3
- adds r0, r6, r0
- strh r0, [r5]
- b _0804FE60
- .align 2, 0
-_0804FD94: .4byte gUnknown_03004854
-_0804FD98: .4byte 0x000005db
-_0804FD9C: .4byte gUnknown_082165DA
-_0804FDA0:
- ldr r1, _0804FDF8 @ =gUnknown_082165DA
- adds r0, r4, 0
- adds r0, 0x88
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- bl __divsi3
- adds r0, r6, r0
- strh r0, [r5]
- movs r1, 0xA2
- lsls r1, 1
- adds r4, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- subs r1, 0xA
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8051AC8
- ldr r0, [r7]
- movs r1, 0xA3
- lsls r1, 1
- adds r4, r0, r1
- adds r0, 0x56
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- subs r1, 0xA
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8051AC8
- b _0804FE60
- .align 2, 0
-_0804FDF8: .4byte gUnknown_082165DA
-_0804FDFC:
- ldr r0, _0804FE28 @ =gUnknown_03004854
- ldr r2, [r0]
- adds r4, r2, 0
- adds r4, 0x56
- ldrh r5, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _0804FE2C @ =0x000005db
- cmp r1, r0
- bgt _0804FE60
- ldr r1, _0804FE30 @ =gUnknown_082165DA
- adds r0, r2, 0
- adds r0, 0x88
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- bl __divsi3
- adds r0, r5, r0
- b _0804FE5E
- .align 2, 0
-_0804FE28: .4byte gUnknown_03004854
-_0804FE2C: .4byte 0x000005db
-_0804FE30: .4byte gUnknown_082165DA
-_0804FE34:
- ldr r0, _0804FE68 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x56
- ldr r1, _0804FE6C @ =gUnknown_082165DA
- adds r0, 0x88
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- bl __divsi3
- ldrh r1, [r4]
- subs r1, r0
- strh r1, [r4]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- bgt _0804FE60
- movs r0, 0x80
-_0804FE5E:
- strh r0, [r4]
-_0804FE60:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FE68: .4byte gUnknown_03004854
-_0804FE6C: .4byte gUnknown_082165DA
- thumb_func_end sub_804FD30
-
- thumb_func_start sub_804FE70
-sub_804FE70: @ 804FE70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _0804FF40 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _0804FEB6
- ldr r3, _0804FF44 @ =gSendCmd
- ldrh r0, [r3, 0x4]
- ldr r2, _0804FF48 @ =gRecvCmds
- cmp r0, 0
- beq _0804FE98
- movs r1, 0
- strh r0, [r2, 0x10]
- ldr r0, _0804FF4C @ =0x00004444
- strh r0, [r2]
- strh r1, [r3, 0x4]
-_0804FE98:
- ldr r0, _0804FF48 @ =gRecvCmds
- ldr r3, _0804FF4C @ =0x00004444
- adds r1, r2, 0x2
- adds r2, r0, 0
- adds r2, 0x12
- movs r6, 0x2
-_0804FEA4:
- ldrh r0, [r2]
- cmp r0, 0
- beq _0804FEAC
- strh r3, [r1]
-_0804FEAC:
- adds r1, 0x2
- adds r2, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _0804FEA4
-_0804FEB6:
- movs r6, 0
- ldr r7, _0804FF50 @ =gUnknown_03004854
- adds r1, r7, 0
- ldr r0, [r1]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r6, r0
- blt _0804FEC8
- b _0805005C
-_0804FEC8:
- movs r2, 0
- str r2, [sp]
- mov r9, r2
- ldr r0, _0804FF48 @ =gRecvCmds
- adds r0, 0x10
- mov r8, r0
- ldr r1, _0804FF54 @ =0x00005432
- mov r10, r1
-_0804FED8:
- ldr r2, [sp]
- ldr r1, _0804FF48 @ =gRecvCmds
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r0, _0804FF4C @ =0x00004444
- cmp r1, r0
- beq _0804FEE8
- b _0805003E
-_0804FEE8:
- ldr r0, [r7]
- adds r0, 0xA2
- adds r0, r2
- ldrh r5, [r0]
- mov r2, r8
- ldrh r4, [r2]
- ldr r0, _0804FF58 @ =0x00004523
- cmp r4, r0
- bne _0804FF60
- bl sub_804FD30
- ldr r0, [r7]
- movs r1, 0x9F
- lsls r1, 1
- adds r4, r0, r1
- adds r0, 0x56
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x37
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- lsls r1, 16
- ldr r0, _0804FF5C @ =0x03e70000
- cmp r1, r0
- bls _0804FF26
- movs r0, 0xFA
- lsls r0, 2
- strh r0, [r4]
-_0804FF26:
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r0, _0804FF58 @ =0x00004523
- bl sub_804FC48
- ldr r1, [r7]
- movs r0, 0xA6
- lsls r0, 1
- adds r1, r0
- add r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- b _0804FFCA
- .align 2, 0
-_0804FF40: .4byte gSpecialVar_0x8004
-_0804FF44: .4byte gSendCmd
-_0804FF48: .4byte gRecvCmds
-_0804FF4C: .4byte 0x00004444
-_0804FF50: .4byte gUnknown_03004854
-_0804FF54: .4byte 0x00005432
-_0804FF58: .4byte 0x00004523
-_0804FF5C: .4byte 0x03e70000
-_0804FF60:
- cmp r4, r10
- bne _0804FF9E
- mov r0, r10
- bl sub_804FD30
- ldr r0, [r7]
- movs r1, 0x9F
- lsls r1, 1
- adds r4, r0, r1
- adds r0, 0x56
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x46
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- lsls r1, r5, 24
- lsrs r1, 24
- mov r0, r10
- bl sub_804FC48
- ldr r1, [r7]
- movs r0, 0xA7
- lsls r0, 1
- adds r1, r0
- add r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- b _0804FFCA
-_0804FF9E:
- ldr r0, _08050018 @ =0x00002345
- cmp r4, r0
- bne _0804FFD6
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_804FC48
- adds r0, r4, 0
- bl sub_804FD30
- ldr r0, [r7]
- movs r1, 0xA8
- lsls r1, 1
- adds r0, r1
- mov r2, r9
- adds r1, r0, r2
- ldrh r2, [r1]
- ldr r0, _0805001C @ =0x000003e6
- cmp r2, r0
- bhi _0804FFCC
- adds r0, r2, 0x1
-_0804FFCA:
- strh r0, [r1]
-_0804FFCC:
- mov r0, r8
- ldrh r1, [r0]
- ldr r0, _08050018 @ =0x00002345
- cmp r1, r0
- beq _0804FFE4
-_0804FFD6:
- mov r1, r8
- ldrh r0, [r1]
- ldr r2, _08050020 @ =0x00004523
- cmp r0, r2
- beq _0804FFE4
- cmp r0, r10
- bne _0805003E
-_0804FFE4:
- ldr r0, _08050024 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x56
- movs r0, 0
- ldrsh r1, [r2, r0]
- ldr r0, _08050028 @ =0x000005dc
- cmp r1, r0
- ble _08050034
- adds r0, r1, 0
- ldr r2, _0805002C @ =0xfffffd12
- adds r0, r2
- movs r1, 0x14
- bl __divsi3
- adds r1, r0, 0
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, _08050030 @ =gMPlay_BGM
- bl m4aMPlayTempoControl
- b _0805003E
- .align 2, 0
-_08050018: .4byte 0x00002345
-_0805001C: .4byte 0x000003e6
-_08050020: .4byte 0x00004523
-_08050024: .4byte gUnknown_03004854
-_08050028: .4byte 0x000005dc
-_0805002C: .4byte 0xfffffd12
-_08050030: .4byte gMPlay_BGM
-_08050034:
- ldr r0, _08050098 @ =gMPlay_BGM
- movs r1, 0x80
- lsls r1, 1
- bl m4aMPlayTempoControl
-_0805003E:
- ldr r1, [sp]
- adds r1, 0x2
- str r1, [sp]
- movs r2, 0x6
- add r9, r2
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- ldr r7, _0805009C @ =gUnknown_03004854
- ldr r0, [r7]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r6, r0
- bge _0805005C
- b _0804FED8
-_0805005C:
- ldr r0, _080500A0 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0
- beq _08050088
- movs r6, 0
- ldr r3, _0805009C @ =gUnknown_03004854
- ldr r0, [r3]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r6, r0
- bge _08050088
- movs r2, 0
- ldr r1, _080500A4 @ =gRecvCmds
-_08050076:
- strh r2, [r1]
- strh r2, [r1, 0x10]
- adds r1, 0x2
- adds r6, 0x1
- ldr r0, [r3]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r6, r0
- blt _08050076
-_08050088:
- 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
-_08050098: .4byte gMPlay_BGM
-_0805009C: .4byte gUnknown_03004854
-_080500A0: .4byte gSpecialVar_0x8004
-_080500A4: .4byte gRecvCmds
- thumb_func_end sub_804FE70
-
- thumb_func_start sub_80500A8
-sub_80500A8: @ 80500A8
- push {r4-r6,lr}
- movs r6, 0
- ldr r5, _080500EC @ =gUnknown_03004854
- ldr r4, [r5]
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 23
- adds r4, 0xA2
- adds r4, r0
- ldrb r3, [r4]
- ldr r0, [r5]
- adds r0, 0x6F
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805018A
- ldr r0, _080500F0 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x2
- bne _080500FC
- ldr r2, _080500F4 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805010A
- ldrh r0, [r2, 0x28]
- ldr r1, _080500F8 @ =0x00000201
- bics r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r6, r0, 31
- b _0805010A
- .align 2, 0
-_080500EC: .4byte gUnknown_03004854
-_080500F0: .4byte gSaveBlock2
-_080500F4: .4byte gMain
-_080500F8: .4byte 0x00000201
-_080500FC:
- ldr r0, _0805015C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805010A
- movs r6, 0x1
-_0805010A:
- cmp r6, 0
- beq _0805018A
- ldr r4, _08050160 @ =gUnknown_03004854
- ldr r1, [r4]
- lsls r2, r3, 1
- adds r0, r1, 0
- adds r0, 0x9A
- adds r0, r2
- adds r1, 0x5C
- ldrh r0, [r0]
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08050164 @ =gSprites
- adds r0, r1
- adds r1, r3, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldr r0, [r4]
- adds r0, 0x54
- ldrh r4, [r0]
- bl GetMultiplayerId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl task_tutorial_oak_boy_girl
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08050170
- ldr r1, _08050168 @ =gSendCmd
- ldr r0, _0805016C @ =0x00004523
- b _08050188
- .align 2, 0
-_0805015C: .4byte gMain
-_08050160: .4byte gUnknown_03004854
-_08050164: .4byte gSprites
-_08050168: .4byte gSendCmd
-_0805016C: .4byte 0x00004523
-_08050170:
- cmp r0, 0x1
- bne _08050184
- ldr r1, _0805017C @ =gSendCmd
- ldr r0, _08050180 @ =0x00005432
- b _08050188
- .align 2, 0
-_0805017C: .4byte gSendCmd
-_08050180: .4byte 0x00005432
-_08050184:
- ldr r1, _080501E4 @ =gSendCmd
- ldr r0, _080501E8 @ =0x00002345
-_08050188:
- strh r0, [r1, 0x4]
-_0805018A:
- ldr r2, _080501EC @ =gUnknown_03004854
- ldr r1, [r2]
- adds r1, 0x7E
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _080501BA
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x56
- ldrh r3, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0x80
- ble _080501B2
- subs r0, r3, 0x1
- strh r0, [r1]
-_080501B2:
- ldr r0, [r2]
- adds r0, 0x7E
- movs r1, 0
- strb r1, [r0]
-_080501BA:
- ldr r0, _080501F0 @ =gUnknown_020297ED
- ldrb r0, [r0]
- cmp r0, 0
- beq _080501DE
- ldr r0, _080501F4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080501DE
- ldr r0, [r2]
- ldr r1, _080501F8 @ =0x0000014b
- adds r2, r0, r1
- ldrb r0, [r2]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2]
-_080501DE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080501E4: .4byte gSendCmd
-_080501E8: .4byte 0x00002345
-_080501EC: .4byte gUnknown_03004854
-_080501F0: .4byte gUnknown_020297ED
-_080501F4: .4byte gMain
-_080501F8: .4byte 0x0000014b
- thumb_func_end sub_80500A8
-
- thumb_func_start sub_80501FC
-sub_80501FC: @ 80501FC
- push {r4-r6,lr}
- bl sub_8051474
- ldr r4, _08050294 @ =gUnknown_03004854
- ldr r0, [r4]
- movs r1, 0x96
- lsls r1, 1
- adds r2, r0, r1
- ldr r1, [r2]
- ldr r0, _08050298 @ =0x00057e03
- cmp r1, r0
- bhi _08050218
- adds r0, r1, 0x1
- str r0, [r2]
-_08050218:
- bl sub_80500A8
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- movs r5, 0x9F
- lsls r5, 1
- adds r1, r5
- ldrh r1, [r1]
- bl SetLinkDebugValues
- bl sub_804FE70
- ldr r0, [r4]
- adds r0, r5
- ldrh r0, [r0]
- movs r6, 0xFA
- lsls r6, 2
- adds r1, r6, 0
- bl sub_805194C
- ldr r0, [r4]
- adds r0, 0x56
- ldrh r0, [r0]
- bl sub_8051A3C
- bl sub_8051B18
- bl sub_805123C
- ldr r2, [r4]
- adds r3, r2, 0
- adds r3, 0x6F
- ldrb r0, [r3]
- cmp r0, 0
- bne _0805027E
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r0, _0805029C @ =0x000003e7
- cmp r1, r0
- bls _0805027E
- adds r0, r2, r5
- strh r6, [r0]
- movs r0, 0x1
- strb r0, [r3]
- ldr r0, _080502A0 @ =sub_8050954
- bl SetMainCallback2
-_0805027E:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08050294: .4byte gUnknown_03004854
-_08050298: .4byte 0x00057e03
-_0805029C: .4byte 0x000003e7
-_080502A0: .4byte sub_8050954
- thumb_func_end sub_80501FC
-
- thumb_func_start help_system_is_not_first_time
-help_system_is_not_first_time: @ 80502A4
- push {r4,r5,lr}
- lsls r1, 24
- lsls r2, 24
- lsrs r1, 20
- adds r4, r1, r0
- lsrs r2, 20
- adds r5, r2, r0
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080502E2
- adds r0, r4, 0x2
- adds r1, r5, 0x2
- bl StringCompare
- cmp r0, 0
- bne _080502F0
- ldr r0, [r4, 0x8]
- ldr r2, _080502E8 @ =0xffffff00
- ands r0, r2
- ldr r1, [r5, 0x8]
- ands r1, r2
- cmp r0, r1
- bne _080502F0
- ldr r0, [r4, 0xC]
- ldr r2, _080502EC @ =0x00ffffff
- ands r0, r2
- ldr r1, [r5, 0xC]
- ands r1, r2
- cmp r0, r1
- bne _080502F0
-_080502E2:
- movs r0, 0x1
- b _080502F2
- .align 2, 0
-_080502E8: .4byte 0xffffff00
-_080502EC: .4byte 0x00ffffff
-_080502F0:
- movs r0, 0
-_080502F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end help_system_is_not_first_time
-
- thumb_func_start sub_80502F8
-sub_80502F8: @ 80502F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- mov r2, sp
- movs r4, 0x5
-_08050314:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08050314
- movs r6, 0
- mov r1, sp
- movs r4, 0x4
-_08050328:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08050332
- adds r6, 0x1
-_08050332:
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08050328
- cmp r6, 0x5
- beq _08050386
- cmp r3, 0x3
- bhi _08050386
- movs r4, 0
- ldr r3, [sp, 0x10]
- cmp r4, r3
- bge _0805039E
- mov r3, r10
-_0805034C:
- movs r6, 0
- ldr r7, [sp, 0x10]
- cmp r6, r7
- bge _08050394
- mov r9, r3
- mov r5, r10
- lsls r0, r4, 24
- mov r8, r0
-_0805035C:
- mov r1, r9
- ldrh r0, [r1]
- ldrh r2, [r5]
- cmp r0, r2
- bne _0805038A
- cmp r4, r6
- beq _0805038A
- cmp r0, 0xAF
- bne _08050386
- lsls r2, r6, 24
- lsrs r2, 24
- mov r0, r10
- mov r7, r8
- lsrs r1, r7, 24
- str r3, [sp, 0xC]
- bl help_system_is_not_first_time
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _0805038A
-_08050386:
- movs r0, 0xC
- b _080504DE
-_0805038A:
- adds r5, 0x10
- adds r6, 0x1
- ldr r0, [sp, 0x10]
- cmp r6, r0
- blt _0805035C
-_08050394:
- adds r3, 0x10
- adds r4, 0x1
- ldr r1, [sp, 0x10]
- cmp r4, r1
- blt _0805034C
-_0805039E:
- movs r2, 0
- mov r1, sp
- movs r4, 0x4
-_080503A4:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080503B2
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080503B2:
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080503A4
- cmp r2, 0x3
- bls _080503C2
- movs r0, 0xD
- b _080504DE
-_080503C2:
- cmp r2, 0x3
- bne _080503CA
- movs r0, 0xB
- b _080504DE
-_080503CA:
- movs r4, 0
- mov r1, sp
-_080503CE:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0x32
- ble _080503D8
- b _080504D8
-_080503D8:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x4
- ble _080503CE
- cmp r2, 0x1
- bne _0805042A
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _080503F2
- movs r0, 0x1
- b _080504DE
-_080503F2:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- ble _08050400
- movs r0, 0x2
- b _080504DE
-_08050400:
- mov r0, sp
- movs r3, 0x4
- ldrsh r0, [r0, r3]
- cmp r0, 0
- ble _0805040E
- movs r0, 0x3
- b _080504DE
-_0805040E:
- mov r0, sp
- movs r4, 0x6
- ldrsh r0, [r0, r4]
- cmp r0, 0
- ble _0805041C
- movs r0, 0x4
- b _080504DE
-_0805041C:
- mov r0, sp
- movs r7, 0x8
- ldrsh r0, [r0, r7]
- cmp r0, 0
- ble _0805042A
- movs r0, 0x5
- b _080504DE
-_0805042A:
- cmp r2, 0x2
- bne _080504DC
- movs r4, 0
- ldr r5, _08050474 @ =gUnknown_03000520
- mov r1, sp
- adds r2, r5, 0
-_08050436:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08050442
- strh r4, [r2]
- adds r2, 0x2
-_08050442:
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x4
- ble _08050436
- movs r4, 0
- ldrsh r3, [r5, r4]
- lsls r0, r3, 1
- mov r7, sp
- adds r1, r7, r0
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- lsls r0, r2, 1
- add r0, sp
- movs r4, 0
- ldrsh r1, [r1, r4]
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, r0
- blt _08050498
- adds r0, r3, 0
- cmp r0, 0
- bne _08050478
- lsls r0, r2, 16
- b _080504A2
- .align 2, 0
-_08050474: .4byte gUnknown_03000520
-_08050478:
- cmp r0, 0x1
- bne _08050480
- lsls r0, r2, 16
- b _080504AE
-_08050480:
- cmp r0, 0x2
- bne _08050488
- lsls r0, r2, 16
- b _080504BA
-_08050488:
- cmp r0, 0x3
- bne _08050490
- lsls r0, r2, 16
- b _080504C6
-_08050490:
- cmp r0, 0x4
- bne _080504DC
- lsls r0, r2, 16
- b _080504D2
-_08050498:
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080504A8
- lsls r0, r3, 16
-_080504A2:
- movs r1, 0x6
- orrs r0, r1
- b _080504DE
-_080504A8:
- cmp r0, 0x1
- bne _080504B4
- lsls r0, r3, 16
-_080504AE:
- movs r1, 0x7
- orrs r0, r1
- b _080504DE
-_080504B4:
- cmp r0, 0x2
- bne _080504C0
- lsls r0, r3, 16
-_080504BA:
- movs r1, 0x8
- orrs r0, r1
- b _080504DE
-_080504C0:
- cmp r0, 0x3
- bne _080504CC
- lsls r0, r3, 16
-_080504C6:
- movs r1, 0x9
- orrs r0, r1
- b _080504DE
-_080504CC:
- cmp r0, 0x4
- bne _080504DC
- lsls r0, r3, 16
-_080504D2:
- movs r1, 0xA
- orrs r0, r1
- b _080504DE
-_080504D8:
- movs r0, 0xE
- b _080504DE
-_080504DC:
- movs r0, 0
-_080504DE:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80502F8
-
- thumb_func_start sub_80504F0
-sub_80504F0: @ 80504F0
- ldr r1, _080504F8 @ =gUnknown_0300052C
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080504F8: .4byte gUnknown_0300052C
- thumb_func_end sub_80504F0
-
- thumb_func_start unref_sub_80504FC
-unref_sub_80504FC: @ 80504FC
- ldr r0, _08050504 @ =gUnknown_0300052C
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08050504: .4byte gUnknown_0300052C
- thumb_func_end unref_sub_80504FC
-
- thumb_func_start sub_8050508
-sub_8050508: @ 8050508
- ldr r1, _08050510 @ =gUnknown_0300052E
- strh r0, [r1]
- bx lr
- .align 2, 0
-_08050510: .4byte gUnknown_0300052E
- thumb_func_end sub_8050508
-
- thumb_func_start unref_sub_8050514
-unref_sub_8050514: @ 8050514
- ldr r0, _0805051C @ =gUnknown_0300052E
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0805051C: .4byte gUnknown_0300052E
- thumb_func_end unref_sub_8050514
-
- thumb_func_start sub_8050520
-sub_8050520: @ 8050520
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- mov r8, r1
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x30]
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldr r7, _080505DC @ =gUnknown_03000510
- adds r2, r7, 0
- movs r1, 0
- adds r0, r7, 0
- adds r0, 0xA
-_0805054A:
- strh r1, [r0]
- subs r0, 0x2
- cmp r0, r2
- bge _0805054A
- movs r6, 0
- cmp r6, r9
- bge _08050580
- ldr r0, _080505DC @ =gUnknown_03000510
- mov r12, r0
- ldr r5, [sp]
- adds r5, 0x9
-_08050560:
- movs r3, 0
- adds r4, r5, 0
- mov r2, r12
-_08050566:
- adds r1, r4, r3
- ldrh r0, [r2]
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x5
- ble _08050566
- adds r5, 0x10
- adds r6, 0x1
- cmp r6, r9
- blt _08050560
-_08050580:
- movs r1, 0
- ldrsh r3, [r7, r1]
- ldrh r0, [r7]
- ldrh r1, [r7, 0x2]
- subs r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x4]
- subs r1, r0
- strh r1, [r7, 0x2]
- ldrh r1, [r7, 0x6]
- subs r0, r1
- strh r0, [r7, 0x4]
- ldrh r0, [r7, 0x8]
- subs r1, r0
- strh r1, [r7, 0x6]
- subs r0, r3
- strh r0, [r7, 0x8]
- movs r3, 0
- movs r2, 0
- adds r1, r7, 0
- movs r6, 0x4
-_080505AA:
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bge _080505B6
- strh r2, [r1]
- adds r3, 0x1
-_080505B6:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080505AA
- lsls r0, r3, 24
- lsrs r0, 24
- mov r10, r0
- movs r4, 0
- ldr r1, _080505DC @ =gUnknown_03000510
- movs r6, 0x4
-_080505CA:
- ldrh r2, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0
- ble _080505E4
- cmp r0, r3
- bge _080505E0
- strh r4, [r1]
- b _080505E4
- .align 2, 0
-_080505DC: .4byte gUnknown_03000510
-_080505E0:
- subs r0, r2, r3
- strh r0, [r1]
-_080505E4:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080505CA
- ldr r1, _080506C4 @ =gUnknown_03000510
- ldr r2, _080506C8 @ =gUnknown_03000530
- movs r6, 0x4
-_080505F2:
- movs r3, 0
- ldrsh r0, [r1, r3]
- stm r2!, {r0}
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080505F2
- ldr r1, _080506CC @ =0x0000014d
- ldr r0, [sp, 0x8]
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- adds r3, r0, 0
- adds r3, 0x64
- ldr r4, _080506D0 @ =gUnknown_0300055C
- str r3, [r4]
- movs r6, 0x4
-_08050616:
- movs r0, 0
- ldrsh r5, [r7, r0]
- adds r0, r5, 0
- muls r0, r3
- movs r1, 0xA
- str r3, [sp, 0xC]
- bl __divsi3
- adds r5, r0, 0
- movs r1, 0xA
- bl __modsi3
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- ldr r3, [sp, 0xC]
- cmp r4, 0x4
- ble _08050642
- adds r5, 0x1
-_08050642:
- strh r5, [r7]
- adds r7, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08050616
- ldr r1, _080506C4 @ =gUnknown_03000510
- ldr r2, _080506D4 @ =gUnknown_03000548
- movs r6, 0x4
-_08050652:
- movs r3, 0
- ldrsh r0, [r1, r3]
- stm r2!, {r0}
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08050652
- ldr r4, _080506C4 @ =gUnknown_03000510
- ldr r0, [sp]
- adds r1, r4, 0
- mov r2, r9
- mov r3, r10
- bl sub_80502F8
- mov r5, r8
- strb r0, [r5]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- mov r1, r9
- bl __divsi3
- mov r3, r9
- subs r0, r3
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _0805068C
- movs r0, 0
- strh r0, [r4, 0xA]
-_0805068C:
- mov r5, r8
- ldrb r0, [r5]
- cmp r0, 0xC
- bne _080506E6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r3, r0, 16
- movs r6, 0
- ldr r0, _080506D8 @ =gUnknown_082165DF
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0
- movs r4, 0x1
- movs r3, 0x2
-_080506B4:
- adds r2, r0, 0
- asrs r2, r6
- ands r2, r4
- cmp r2, 0
- beq _080506DC
- strh r3, [r1]
- b _080506DE
- .align 2, 0
-_080506C4: .4byte gUnknown_03000510
-_080506C8: .4byte gUnknown_03000530
-_080506CC: .4byte 0x0000014d
-_080506D0: .4byte gUnknown_0300055C
-_080506D4: .4byte gUnknown_03000548
-_080506D8: .4byte gUnknown_082165DF
-_080506DC:
- strh r2, [r1]
-_080506DE:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x4
- ble _080506B4
-_080506E6:
- ldr r7, _08050740 @ =gUnknown_03000510
- movs r2, 0xFF
- adds r1, r7, 0
- movs r6, 0x5
-_080506EE:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xFF
- ble _080506F8
- strh r2, [r1]
-_080506F8:
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080506EE
- ldrh r0, [r7]
- mov r4, r8
- strb r0, [r4, 0x1]
- ldrh r0, [r7, 0x2]
- strb r0, [r4, 0x2]
- ldrh r0, [r7, 0x4]
- strb r0, [r4, 0x3]
- ldrh r0, [r7, 0x6]
- strb r0, [r4, 0x4]
- ldrh r0, [r7, 0x8]
- strb r0, [r4, 0x5]
- ldrh r0, [r7, 0xA]
- strb r0, [r4, 0x6]
- movs r6, 0
- adds r2, r7, 0
-_0805071E:
- ldr r5, [sp, 0x4]
- adds r1, r5, r6
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, 0x5
- ble _0805071E
- 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
-_08050740: .4byte gUnknown_03000510
- thumb_func_end sub_8050520
-
- thumb_func_start sub_8050744
-sub_8050744: @ 8050744
- push {r4,lr}
- sub sp, 0x4
- ldr r4, [sp, 0xC]
- lsls r2, 24
- lsrs r2, 24
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- bl sub_8050520
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8050744
-
- thumb_func_start sub_8050760
-sub_8050760: @ 8050760
- push {r4-r6,lr}
- ldr r0, _08050780 @ =gUnknown_03004854
- ldr r0, [r0]
- movs r2, 0x96
- lsls r2, 1
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r0, 0x5A
- ldrh r4, [r0]
- movs r2, 0
- ldr r5, _08050784 @ =0x00000383
- cmp r1, r5
- bhi _08050788
- movs r2, 0x5
- b _080507DA
- .align 2, 0
-_08050780: .4byte gUnknown_03004854
-_08050784: .4byte 0x00000383
-_08050788:
- ldr r3, _0805079C @ =0xfffffc7c
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080507A0 @ =0x00000257
- cmp r0, r3
- bhi _080507A4
- movs r2, 0x4
- b _080507DA
- .align 2, 0
-_0805079C: .4byte 0xfffffc7c
-_080507A0: .4byte 0x00000257
-_080507A4:
- ldr r6, _080507B4 @ =0xfffffa24
- adds r0, r1, r6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r3
- bhi _080507B8
- movs r2, 0x3
- b _080507DA
- .align 2, 0
-_080507B4: .4byte 0xfffffa24
-_080507B8:
- ldr r3, _080507C8 @ =0xfffff7cc
- adds r0, r1, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r5
- bhi _080507CC
- movs r2, 0x2
- b _080507DA
- .align 2, 0
-_080507C8: .4byte 0xfffff7cc
-_080507CC:
- ldr r6, _080507F8 @ =0xfffff31c
- adds r0, r1, r6
- lsls r0, 16
- ldr r1, _080507FC @ =0x012b0000
- cmp r0, r1
- bhi _080507DA
- movs r2, 0x1
-_080507DA:
- lsls r0, r2, 16
- asrs r0, 16
- bl sub_8050508
- movs r2, 0
- cmp r4, 0x40
- bhi _080508BC
- adds r0, r4, 0
- subs r0, 0x32
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08050804
- ldr r2, _08050800 @ =0x0000ffff
- b _080508BC
- .align 2, 0
-_080507F8: .4byte 0xfffff31c
-_080507FC: .4byte 0x012b0000
-_08050800: .4byte 0x0000ffff
-_08050804:
- adds r0, r4, 0
- subs r0, 0x64
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08050818
- ldr r2, _08050814 @ =0x0000fffe
- b _080508BC
- .align 2, 0
-_08050814: .4byte 0x0000fffe
-_08050818:
- adds r0, r4, 0
- subs r0, 0x96
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _0805082C
- ldr r2, _08050828 @ =0x0000fffd
- b _080508BC
- .align 2, 0
-_08050828: .4byte 0x0000fffd
-_0805082C:
- adds r0, r4, 0
- subs r0, 0xC8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08050840
- ldr r2, _0805083C @ =0x0000fffc
- b _080508BC
- .align 2, 0
-_0805083C: .4byte 0x0000fffc
-_08050840:
- adds r0, r4, 0
- subs r0, 0xFA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08050854
- ldr r2, _08050850 @ =0x0000fffb
- b _080508BC
- .align 2, 0
-_08050850: .4byte 0x0000fffb
-_08050854:
- ldr r1, _08050864 @ =0xfffffea2
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _0805086C
- ldr r2, _08050868 @ =0x0000fffa
- b _080508BC
- .align 2, 0
-_08050864: .4byte 0xfffffea2
-_08050868: .4byte 0x0000fffa
-_0805086C:
- ldr r3, _0805087C @ =0xfffffe70
- adds r0, r4, r3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _08050884
- ldr r2, _08050880 @ =0x0000fff9
- b _080508BC
- .align 2, 0
-_0805087C: .4byte 0xfffffe70
-_08050880: .4byte 0x0000fff9
-_08050884:
- ldr r6, _08050894 @ =0xfffffe0c
- adds r0, r4, r6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _0805089C
- ldr r2, _08050898 @ =0x0000fff8
- b _080508BC
- .align 2, 0
-_08050894: .4byte 0xfffffe0c
-_08050898: .4byte 0x0000fff8
-_0805089C:
- ldr r1, _080508AC @ =0xfffffdda
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x31
- bhi _080508B4
- ldr r2, _080508B0 @ =0x0000fff7
- b _080508BC
- .align 2, 0
-_080508AC: .4byte 0xfffffdda
-_080508B0: .4byte 0x0000fff7
-_080508B4:
- ldr r0, _080508CC @ =0x00000257
- cmp r4, r0
- bls _080508BC
- ldr r2, _080508D0 @ =0x0000fff6
-_080508BC:
- lsls r0, r2, 16
- asrs r0, 16
- bl sub_80504F0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080508CC: .4byte 0x00000257
-_080508D0: .4byte 0x0000fff6
- thumb_func_end sub_8050760
-
- thumb_func_start sub_80508D4
-sub_80508D4: @ 80508D4
- push {lr}
- ldr r2, _080508F8 @ =gUnknown_03004854
- ldr r1, [r2]
- adds r1, 0xAA
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0xAA
- ldrb r1, [r0]
- lsls r1, 28
- movs r0, 0x90
- lsls r0, 23
- adds r1, r0
- lsrs r1, 24
- movs r0, 0xC0
- bl sub_814A880
- pop {r0}
- bx r0
- .align 2, 0
-_080508F8: .4byte gUnknown_03004854
- thumb_func_end sub_80508D4
-
- thumb_func_start sub_80508FC
-sub_80508FC: @ 80508FC
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08050944 @ =gUnknown_03004854
- ldr r0, [r4]
- adds r0, 0xAA
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuDrawTextWindow
- ldr r1, _08050948 @ =0x0000ffff
- ldr r3, _0805094C @ =0x00002d9f
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0
- movs r2, 0xC
- bl sub_814A5C0
- ldr r0, _08050950 @ =gOtherText_YesNoTerminating
- movs r1, 0x18
- movs r2, 0x9
- bl MenuPrint
- ldr r0, [r4]
- adds r0, 0xAA
- ldrb r0, [r0]
- bl sub_80508D4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08050944: .4byte gUnknown_03004854
-_08050948: .4byte 0x0000ffff
-_0805094C: .4byte 0x00002d9f
-_08050950: .4byte gOtherText_YesNoTerminating
- thumb_func_end sub_80508FC
-
- thumb_func_start sub_8050954
-sub_8050954: @ 8050954
- push {r4-r7,lr}
- bl sub_8051474
- bl GetMultiplayerId
- ldr r0, _08050978 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x6F
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0xC
- bls _0805096E
- b _08050CB6
-_0805096E:
- lsls r0, 2
- ldr r1, _0805097C @ =_08050980
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08050978: .4byte gUnknown_03004854
-_0805097C: .4byte _08050980
- .align 2, 0
-_08050980:
- .4byte _080509B4
- .4byte _080509F8
- .4byte _08050A4C
- .4byte _08050A94
- .4byte _08050AD0
- .4byte _08050ADE
- .4byte _08050B08
- .4byte _08050B34
- .4byte _08050B42
- .4byte _08050B58
- .4byte _08050BE0
- .4byte _08050C64
- .4byte _08050C98
-_080509B4:
- bl ClearLinkCallback
- ldr r0, _080509C8 @ =gMPlay_BGM
- movs r1, 0x80
- lsls r1, 1
- bl m4aMPlayTempoControl
- movs r4, 0
- b _080509E4
- .align 2, 0
-_080509C8: .4byte gMPlay_BGM
-_080509CC:
- ldr r0, _080509F0 @ =gUnknown_03004854
- ldr r0, [r0]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- bl DestroyTask
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080509E4:
- ldr r0, _080509F4 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r4, r0
- bcc _080509CC
- b _08050C82
- .align 2, 0
-_080509F0: .4byte gUnknown_03004854
-_080509F4: .4byte gSpecialVar_0x8004
-_080509F8:
- ldr r1, _08050A24 @ =gUnknown_03004854
- ldr r3, [r1]
- adds r2, r3, 0
- adds r2, 0x56
- ldrh r0, [r2]
- subs r0, 0x20
- strh r0, [r2]
- lsls r0, 16
- adds r4, r1, 0
- cmp r0, 0
- bgt _08050A40
- movs r0, 0
- strh r0, [r2]
- ldr r0, _08050A28 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08050A2C
- adds r1, r3, 0
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- b _08050A32
- .align 2, 0
-_08050A24: .4byte gUnknown_03004854
-_08050A28: .4byte gReceivedRemoteLinkPlayers
-_08050A2C:
- adds r1, r3, 0
- adds r1, 0x6F
- movs r0, 0x5
-_08050A32:
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0]
- ldr r0, _08050A48 @ =gMPlay_SE2
- bl m4aMPlayStop
-_08050A40:
- bl sub_804E290
- b _08050CB6
- .align 2, 0
-_08050A48: .4byte gMPlay_SE2
-_08050A4C:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _08050A58
- b _08050C82
-_08050A58:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _08050A64
- b _08050CB6
-_08050A64:
- ldr r4, _08050A90 @ =gUnknown_03004854
- ldr r3, [r4]
- movs r2, 0xDE
- lsls r2, 1
- adds r1, r3, r2
- movs r5, 0x96
- lsls r5, 1
- adds r0, r3, r5
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x5A
- ldrh r2, [r0]
- adds r5, 0x94
- adds r0, r3, r5
- strh r2, [r0]
- movs r0, 0
- movs r2, 0x28
- bl SendBlock
- ldr r1, [r4]
- b _08050C86
- .align 2, 0
-_08050A90: .4byte gUnknown_03004854
-_08050A94:
- bl GetBlockReceivedStatus
- lsls r0, 24
- cmp r0, 0
- bne _08050AA0
- b _08050CB6
-_08050AA0:
- ldr r2, _08050AC8 @ =gBlockRecvBuffer
- ldr r0, _08050ACC @ =gUnknown_03004854
- ldr r3, [r0]
- ldrh r0, [r2, 0x4]
- adds r1, r3, 0
- adds r1, 0x5A
- strh r0, [r1]
- movs r0, 0x96
- lsls r0, 1
- adds r1, r3, r0
- ldr r0, [r2]
- str r0, [r1]
- adds r1, r3, 0
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl ResetBlockReceivedFlags
- b _08050CB6
- .align 2, 0
-_08050AC8: .4byte gBlockRecvBuffer
-_08050ACC: .4byte gUnknown_03004854
-_08050AD0:
- bl sub_8052228
- lsls r0, 24
- cmp r0, 0
- bne _08050ADC
- b _08050CB6
-_08050ADC:
- b _08050C82
-_08050ADE:
- bl sub_8051C58
- lsls r0, 24
- cmp r0, 0
- bne _08050AEA
- b _08050CB6
-_08050AEA:
- ldr r0, _08050AFC @ =gUnknown_03004834
- ldrb r0, [r0]
- cmp r0, 0
- bne _08050B00
- movs r0, 0x22
- bl IncrementGameStat
- b _08050C82
- .align 2, 0
-_08050AFC: .4byte gUnknown_03004834
-_08050B00:
- movs r0, 0x21
- bl IncrementGameStat
- b _08050C82
-_08050B08:
- ldr r0, _08050B2C @ =gUnknown_03004854
- ldr r1, [r0]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _08050B30 @ =gOtherText_BlendAnotherBerryPrompt
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- b _08050CB6
- .align 2, 0
-_08050B2C: .4byte gUnknown_03004854
-_08050B30: .4byte gOtherText_BlendAnotherBerryPrompt
-_08050B34:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08050B40
- b _08050CB6
-_08050B40:
- b _08050C82
-_08050B42:
- ldr r4, _08050B54 @ =gUnknown_03004854
- ldr r0, [r4]
- adds r0, 0xAA
- movs r1, 0
- strb r1, [r0]
- bl sub_80508FC
- ldr r1, [r4]
- b _08050C86
- .align 2, 0
-_08050B54: .4byte gUnknown_03004854
-_08050B58:
- ldr r0, _08050B80 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08050B88
- ldr r0, _08050B84 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0xAA
- ldrb r0, [r0]
- cmp r0, 0
- beq _08050B76
- movs r0, 0x5
- bl PlaySE
-_08050B76:
- movs r0, 0
- bl sub_80508D4
- b _08050CB6
- .align 2, 0
-_08050B80: .4byte gMain
-_08050B84: .4byte gUnknown_03004854
-_08050B88:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08050BA8
- ldr r0, _08050BA4 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0xAA
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08050BD4
- movs r0, 0x5
- bl PlaySE
- b _08050BD4
- .align 2, 0
-_08050BA4: .4byte gUnknown_03004854
-_08050BA8:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08050BB8
- movs r0, 0x5
- bl PlaySE
- b _08050C82
-_08050BB8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08050BC2
- b _08050CB6
-_08050BC2:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08050BDC @ =gUnknown_03004854
- ldr r1, [r0]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08050BD4:
- movs r0, 0x1
- bl sub_80508D4
- b _08050CB6
- .align 2, 0
-_08050BDC: .4byte gUnknown_03004854
-_08050BE0:
- ldr r6, _08050C10 @ =gSendCmd
- movs r7, 0
- ldr r0, _08050C14 @ =0x00002fff
- strh r0, [r6]
- ldr r4, _08050C18 @ =gUnknown_03004854
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xAA
- ldrb r5, [r0]
- cmp r5, 0
- bne _08050C50
- movs r0, 0x4
- bl IsBagPocketNonEmpty
- lsls r0, 24
- cmp r0, 0
- bne _08050C20
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x2
- strh r1, [r0]
- ldr r0, _08050C1C @ =0x00009999
- b _08050C48
- .align 2, 0
-_08050C10: .4byte gSendCmd
-_08050C14: .4byte 0x00002fff
-_08050C18: .4byte gUnknown_03004854
-_08050C1C: .4byte 0x00009999
-_08050C20:
- bl sub_810CA00
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08050C40
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, _08050C3C @ =0x0000aaaa
- b _08050C48
- .align 2, 0
-_08050C3C: .4byte 0x0000aaaa
-_08050C40:
- ldr r0, [r4]
- adds r0, 0x7C
- strh r5, [r0]
- ldr r0, _08050C4C @ =0x00007779
-_08050C48:
- strh r0, [r6, 0x2]
- b _08050C82
- .align 2, 0
-_08050C4C: .4byte 0x00007779
-_08050C50:
- adds r1, r2, 0
- adds r1, 0x7C
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, _08050C60 @ =0x00008888
- strh r0, [r6, 0x2]
- subs r1, 0xD
- b _08050C88
- .align 2, 0
-_08050C60: .4byte 0x00008888
-_08050C64:
- ldr r0, _08050C70 @ =gUnknown_03004834
- ldrb r0, [r0]
- cmp r0, 0
- beq _08050C78
- ldr r0, _08050C74 @ =sub_80510E8
- b _08050CA4
- .align 2, 0
-_08050C70: .4byte gUnknown_03004834
-_08050C74: .4byte sub_80510E8
-_08050C78:
- ldr r0, _08050C90 @ =gOtherText_LinkStandby3
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
-_08050C82:
- ldr r0, _08050C94 @ =gUnknown_03004854
- ldr r1, [r0]
-_08050C86:
- adds r1, 0x6F
-_08050C88:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08050CB6
- .align 2, 0
-_08050C90: .4byte gOtherText_LinkStandby3
-_08050C94: .4byte gUnknown_03004854
-_08050C98:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _08050CB6
- ldr r0, _08050CE0 @ =sub_8050E30
-_08050CA4:
- bl SetMainCallback2
- ldr r2, _08050CE4 @ =gUnknown_03004854
- ldr r0, [r2]
- adds r0, 0x6F
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0]
-_08050CB6:
- bl sub_8051B18
- ldr r0, _08050CE4 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x56
- ldrh r0, [r0]
- bl sub_8051A3C
- bl sub_805123C
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050CE0: .4byte sub_8050E30
-_08050CE4: .4byte gUnknown_03004854
- thumb_func_end sub_8050954
-
- thumb_func_start sub_8050CE8
-sub_8050CE8: @ 8050CE8
- push {r4,lr}
- ldr r1, _08050D08 @ =gUnknown_03004854
- ldr r0, [r1]
- movs r2, 0xE2
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _08050CFE
- b _08050E28
-_08050CFE:
- lsls r0, 2
- ldr r1, _08050D0C @ =_08050D10
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08050D08: .4byte gUnknown_03004854
-_08050D0C: .4byte _08050D10
- .align 2, 0
-_08050D10:
- .4byte _08050D2C
- .4byte _08050D44
- .4byte _08050D70
- .4byte _08050D80
- .4byte _08050DA6
- .4byte _08050DEC
- .4byte _08050E06
-_08050D2C:
- bl sub_80084A4
- ldr r0, _08050D40 @ =gUnknown_03004854
- ldr r2, [r0]
- movs r3, 0xE2
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0x1
- b _08050DF8
- .align 2, 0
-_08050D40: .4byte gUnknown_03004854
-_08050D44:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _08050E28
- ldr r0, _08050D68 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r2, 0xE2
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r1, _08050D6C @ =gSoftResetDisabled
- movs r0, 0x1
- strb r0, [r1]
- b _08050E28
- .align 2, 0
-_08050D68: .4byte gUnknown_03004854
-_08050D6C: .4byte gSoftResetDisabled
-_08050D70:
- bl sub_8125E2C
- ldr r0, _08050D7C @ =gUnknown_03004854
- ldr r2, [r0]
- b _08050DEE
- .align 2, 0
-_08050D7C: .4byte gUnknown_03004854
-_08050D80:
- ldr r1, [r4]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0xA
- bne _08050E28
- bl sub_80084A4
- ldr r1, [r4]
- movs r3, 0xE2
- lsls r3, 1
- adds r1, r3
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- b _08050E28
-_08050DA6:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _08050E28
- bl sub_8125E6C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08050DD0
- ldr r0, _08050DCC @ =gUnknown_03004854
- ldr r0, [r0]
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r1
- movs r1, 0x5
- str r1, [r0]
- b _08050E28
- .align 2, 0
-_08050DCC: .4byte gUnknown_03004854
-_08050DD0:
- ldr r0, _08050DE8 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r3, 0x98
- lsls r3, 1
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0xE2
- lsls r0, 1
- adds r1, r0
- movs r0, 0x3
- str r0, [r1]
- b _08050E28
- .align 2, 0
-_08050DE8: .4byte gUnknown_03004854
-_08050DEC:
- ldr r2, [r4]
-_08050DEE:
- movs r3, 0xE2
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, [r1]
- adds r0, 0x1
-_08050DF8:
- str r0, [r1]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- str r0, [r1]
- b _08050E28
-_08050E06:
- ldr r1, [r4]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x5
- ble _08050E28
- ldr r1, _08050E24 @ =gSoftResetDisabled
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _08050E2A
- .align 2, 0
-_08050E24: .4byte gSoftResetDisabled
-_08050E28:
- movs r0, 0
-_08050E2A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8050CE8
-
- thumb_func_start sub_8050E30
-sub_8050E30: @ 8050E30
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _08050E50 @ =gUnknown_03004854
- ldr r0, [r1]
- adds r0, 0x6F
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xC
- bls _08050E44
- b _080510C4
-_08050E44:
- lsls r0, 2
- ldr r1, _08050E54 @ =_08050E58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08050E50: .4byte gUnknown_03004854
-_08050E54: .4byte _08050E58
- .align 2, 0
-_08050E58:
- .4byte _08050E8C
- .4byte _08050ED8
- .4byte _08050F18
- .4byte _08050F6C
- .4byte _08050F8C
- .4byte _08050FAA
- .4byte _08050FD4
- .4byte _08051004
- .4byte _08051020
- .4byte _08051030
- .4byte _08051054
- .4byte _08051094
- .4byte _080510B6
-_08050E8C:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x70
- ldrh r2, [r0]
- ldr r0, _08050EB8 @ =0x00002222
- cmp r2, r0
- bne _08050E9C
- b _08050FA2
-_08050E9C:
- ldr r0, _08050EBC @ =0x00001111
- cmp r2, r0
- beq _08050EA4
- b _080510C4
-_08050EA4:
- adds r0, r1, 0
- adds r0, 0x78
- ldrh r2, [r0]
- ldr r0, _08050EC0 @ =0x00009999
- cmp r2, r0
- bne _08050EC4
- adds r1, 0x6F
- movs r0, 0x2
- strb r0, [r1]
- b _080510C4
- .align 2, 0
-_08050EB8: .4byte 0x00002222
-_08050EBC: .4byte 0x00001111
-_08050EC0: .4byte 0x00009999
-_08050EC4:
- ldr r0, _08050ED4 @ =0x0000aaaa
- cmp r2, r0
- bne _08050FA2
- adds r1, 0x6F
- movs r0, 0x1
- strb r0, [r1]
- b _080510C4
- .align 2, 0
-_08050ED4: .4byte 0x0000aaaa
-_08050ED8:
- ldr r0, [r5]
- adds r0, 0x6F
- movs r1, 0x3
- strb r1, [r0]
- bl DestroyMenuCursor
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r4, _08050F0C @ =gStringVar4
- ldr r0, [r5]
- adds r0, 0x7A
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _08050F10 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _08050F14 @ =gOtherText_OtherCaseIsFull
- b _08050F4C
- .align 2, 0
-_08050F0C: .4byte gStringVar4
-_08050F10: .4byte gLinkPlayers + 0x8
-_08050F14: .4byte gOtherText_OtherCaseIsFull
-_08050F18:
- ldr r1, [r5]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl DestroyMenuCursor
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r4, _08050F60 @ =gStringVar4
- ldr r0, [r5]
- adds r0, 0x7A
- ldrh r0, [r0]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _08050F64 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _08050F68 @ =gOtherText_NoBerriesForBlend
-_08050F4C:
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- b _080510C4
- .align 2, 0
-_08050F60: .4byte gStringVar4
-_08050F64: .4byte gLinkPlayers + 0x8
-_08050F68: .4byte gOtherText_NoBerriesForBlend
-_08050F6C:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08050F78
- b _080510C4
-_08050F78:
- ldr r0, _08050F88 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- b _080510AC
- .align 2, 0
-_08050F88: .4byte gUnknown_03004854
-_08050F8C:
- ldr r2, [r5]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x3C
- bgt _08050FA0
- b _080510C4
-_08050FA0:
- adds r1, r2, 0
-_08050FA2:
- adds r1, 0x6F
- movs r0, 0x5
- strb r0, [r1]
- b _080510C4
-_08050FAA:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _08050FCC @ =gMultiText_Saving
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- bl sub_80084A4
- ldr r0, _08050FD0 @ =gUnknown_03004854
- ldr r1, [r0]
- b _080510AC
- .align 2, 0
-_08050FCC: .4byte gMultiText_Saving
-_08050FD0: .4byte gUnknown_03004854
-_08050FD4:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080510C4
- ldr r3, _08051000 @ =gUnknown_03004854
- ldr r1, [r3]
- movs r2, 0x98
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- str r2, [r0]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r1
- str r2, [r0]
- b _080510C4
- .align 2, 0
-_08051000: .4byte gUnknown_03004854
-_08051004:
- bl sub_8050CE8
- lsls r0, 24
- cmp r0, 0
- beq _080510C4
- movs r0, 0x37
- bl PlaySE
- ldr r0, _0805101C @ =gUnknown_03004854
- ldr r1, [r0]
- b _080510AC
- .align 2, 0
-_0805101C: .4byte gUnknown_03004854
-_08051020:
- ldr r1, [r5]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_80084A4
- b _080510C4
-_08051030:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080510C4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08051050 @ =gUnknown_03004854
- ldr r1, [r0]
- b _080510AC
- .align 2, 0
-_08051050: .4byte gUnknown_03004854
-_08051054:
- ldr r0, _0805107C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _080510C4
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x70
- ldrh r1, [r0]
- ldr r0, _08051080 @ =0x00002222
- cmp r1, r0
- bne _08051088
- ldr r0, _08051084 @ =sub_804E538
- bl SetMainCallback2
- b _080510C4
- .align 2, 0
-_0805107C: .4byte gPaletteFade
-_08051080: .4byte 0x00002222
-_08051084: .4byte sub_804E538
-_08051088:
- movs r1, 0x98
- lsls r1, 1
- adds r0, r2, r1
- str r3, [r0]
- adds r1, r2, 0
- b _080510AC
-_08051094:
- ldr r1, [r5]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x1E
- ble _080510C4
- bl sub_800832C
- ldr r1, [r5]
-_080510AC:
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080510C4
-_080510B6:
- ldr r0, _080510E0 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080510C4
- ldr r0, _080510E4 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_080510C4:
- bl sub_805123C
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080510E0: .4byte gReceivedRemoteLinkPlayers
-_080510E4: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_8050E30
-
- thumb_func_start sub_80510E8
-sub_80510E8: @ 80510E8
- push {lr}
- ldr r1, _08051104 @ =gUnknown_03004854
- ldr r0, [r1]
- adds r0, 0x6F
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xA
- bls _080510FA
- b _0805121E
-_080510FA:
- lsls r0, 2
- ldr r1, _08051108 @ =_0805110C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08051104: .4byte gUnknown_03004854
-_08051108: .4byte _0805110C
- .align 2, 0
-_0805110C:
- .4byte _08051138
- .4byte _0805116E
- .4byte _08051190
- .4byte _080511BC
- .4byte _0805121E
- .4byte _0805121E
- .4byte _0805121E
- .4byte _0805121E
- .4byte _0805121E
- .4byte _080511D8
- .4byte _080511F0
-_08051138:
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0x1
- bhi _0805114A
- adds r1, 0x6F
- movs r0, 0x9
- strb r0, [r1]
-_0805114A:
- ldr r2, [r3]
- adds r0, r2, 0
- adds r0, 0x7C
- ldrh r1, [r0]
- cmp r1, 0x2
- bne _0805115A
- subs r0, 0xD
- strb r1, [r0]
-_0805115A:
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _0805121E
- adds r1, 0x6F
- movs r0, 0x1
- strb r0, [r1]
- b _0805121E
-_0805116E:
- ldr r0, [r3]
- adds r0, 0x6F
- movs r1, 0x3
- strb r1, [r0]
- bl DestroyMenuCursor
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _0805118C @ =gOtherText_CaseIsFull
- b _080511AC
- .align 2, 0
-_0805118C: .4byte gOtherText_CaseIsFull
-_08051190:
- ldr r0, [r3]
- adds r0, 0x6F
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- bl DestroyMenuCursor
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080511B8 @ =gOtherText_OutOfBerries
-_080511AC:
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- b _0805121E
- .align 2, 0
-_080511B8: .4byte gOtherText_OutOfBerries
-_080511BC:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _0805121E
- ldr r0, _080511D4 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x6F
- movs r1, 0x9
- strb r1, [r0]
- b _0805121E
- .align 2, 0
-_080511D4: .4byte gUnknown_03004854
-_080511D8:
- movs r0, 0x3
- bl BeginFastPaletteFade
- ldr r0, _080511EC @ =gUnknown_03004854
- ldr r1, [r0]
- adds r1, 0x6F
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0805121E
- .align 2, 0
-_080511EC: .4byte gUnknown_03004854
-_080511F0:
- ldr r0, _08051210 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0805121E
- ldr r0, [r3]
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08051218
- ldr r0, _08051214 @ =sub_804E538
- bl SetMainCallback2
- b _0805121E
- .align 2, 0
-_08051210: .4byte gPaletteFade
-_08051214: .4byte sub_804E538
-_08051218:
- ldr r0, _08051238 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
- bl SetMainCallback2
-_0805121E:
- bl sub_805123C
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- .align 2, 0
-_08051238: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80510E8
-
- thumb_func_start sub_805123C
-sub_805123C: @ 805123C
- push {r4-r6,lr}
- ldr r0, _0805126C @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _08051248
- b _08051404
-_08051248:
- ldr r4, _08051270 @ =gRecvCmds
- ldrh r1, [r4]
- ldr r0, _08051274 @ =0x00002fff
- cmp r1, r0
- bne _080512C6
- ldrh r1, [r4, 0x8]
- ldr r0, _08051278 @ =0x00001111
- cmp r1, r0
- bne _080512B8
- ldrh r3, [r4, 0x10]
- ldr r0, _0805127C @ =0x00009999
- cmp r3, r0
- beq _08051298
- cmp r3, r0
- bgt _08051284
- ldr r0, _08051280 @ =0x00008888
- b _08051286
- .align 2, 0
-_0805126C: .4byte gReceivedRemoteLinkPlayers
-_08051270: .4byte gRecvCmds
-_08051274: .4byte 0x00002fff
-_08051278: .4byte 0x00001111
-_0805127C: .4byte 0x00009999
-_08051280: .4byte 0x00008888
-_08051284:
- ldr r0, _08051290 @ =0x0000aaaa
-_08051286:
- cmp r3, r0
- beq _08051298
- ldr r2, _08051294 @ =gUnknown_03004854
- b _080512A8
- .align 2, 0
-_08051290: .4byte 0x0000aaaa
-_08051294: .4byte gUnknown_03004854
-_08051298:
- ldr r2, _080512B0 @ =gUnknown_03004854
- ldr r0, [r2]
- adds r1, r0, 0
- adds r1, 0x78
- strh r3, [r1]
- ldrh r1, [r4, 0x18]
- adds r0, 0x7A
- strh r1, [r0]
-_080512A8:
- ldr r0, [r2]
- adds r0, 0x70
- ldr r1, _080512B4 @ =0x00001111
- b _080512C4
- .align 2, 0
-_080512B0: .4byte gUnknown_03004854
-_080512B4: .4byte 0x00001111
-_080512B8:
- ldr r0, _080512F4 @ =0x00002222
- cmp r1, r0
- bne _080512C6
- ldr r0, _080512F8 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x70
-_080512C4:
- strh r1, [r0]
-_080512C6:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- beq _080512D2
- b _08051404
-_080512D2:
- ldr r2, _080512F8 @ =gUnknown_03004854
- ldr r0, [r2]
- adds r0, 0x70
- ldrh r1, [r0]
- ldr r0, _080512FC @ =0x00001111
- cmp r1, r0
- bne _080512E2
- b _08051404
-_080512E2:
- ldr r0, _080512F4 @ =0x00002222
- cmp r1, r0
- bne _080512EA
- b _08051404
-_080512EA:
- movs r4, 0
- ldr r6, _08051300 @ =0x00002fff
- adds r5, r2, 0
- b _0805134E
- .align 2, 0
-_080512F4: .4byte 0x00002222
-_080512F8: .4byte gUnknown_03004854
-_080512FC: .4byte 0x00001111
-_08051300: .4byte 0x00002fff
-_08051304:
- ldr r1, _08051328 @ =gRecvCmds
- lsls r2, r4, 1
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r6
- bne _08051348
- adds r0, r1, 0
- adds r0, 0x8
- adds r0, r2, r0
- ldrh r1, [r0]
- ldr r0, _0805132C @ =0x00008888
- cmp r1, r0
- beq _08051340
- cmp r1, r0
- bgt _08051334
- ldr r0, _08051330 @ =0x00007779
- b _0805133C
- .align 2, 0
-_08051328: .4byte gRecvCmds
-_0805132C: .4byte 0x00008888
-_08051330: .4byte 0x00007779
-_08051334:
- ldr r0, _08051360 @ =0x00009999
- cmp r1, r0
- beq _08051340
- ldr r0, _08051364 @ =0x0000aaaa
-_0805133C:
- cmp r1, r0
- bne _08051348
-_08051340:
- ldr r0, [r5]
- adds r0, 0x70
- adds r0, r2
- strh r1, [r0]
-_08051348:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0805134E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _08051304
- movs r4, 0
- b _0805136E
- .align 2, 0
-_08051360: .4byte 0x00009999
-_08051364: .4byte 0x0000aaaa
-_08051368:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0805136E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _0805138A
- ldr r0, _0805139C @ =gUnknown_03004854
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x70
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08051368
-_0805138A:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _08051404
- movs r4, 0
- ldr r5, _080513A0 @ =0x00007779
- b _080513AA
- .align 2, 0
-_0805139C: .4byte gUnknown_03004854
-_080513A0: .4byte 0x00007779
-_080513A4:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080513AA:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _080513C6
- ldr r0, _080513E0 @ =gUnknown_03004854
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x70
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _080513A4
-_080513C6:
- ldr r5, _080513E4 @ =gSendCmd
- movs r6, 0
- ldr r0, _080513E8 @ =0x00002fff
- strh r0, [r5]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080513F0
- ldr r0, _080513EC @ =0x00002222
- strh r0, [r5, 0x2]
- b _08051404
- .align 2, 0
-_080513E0: .4byte gUnknown_03004854
-_080513E4: .4byte gSendCmd
-_080513E8: .4byte 0x00002fff
-_080513EC: .4byte 0x00002222
-_080513F0:
- ldr r0, _0805140C @ =0x00001111
- strh r0, [r5, 0x2]
- ldr r0, _08051410 @ =gUnknown_03004854
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x70
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- strh r4, [r5, 0x6]
-_08051404:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805140C: .4byte 0x00001111
-_08051410: .4byte gUnknown_03004854
- thumb_func_end sub_805123C
-
- thumb_func_start sub_8051414
-sub_8051414: @ 8051414
- push {lr}
- sub sp, 0x14
- adds r1, r0, 0
- movs r0, 0xF0
- lsls r0, 7
- str r0, [sp]
- movs r0, 0xA0
- lsls r0, 7
- str r0, [sp, 0x4]
- mov r3, sp
- ldr r0, _08051470 @ =gUnknown_03004854
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldrh r2, [r0]
- movs r0, 0x78
- subs r0, r2
- strh r0, [r3, 0x8]
- movs r0, 0xA3
- lsls r0, 1
- add r0, r12
- ldrh r2, [r0]
- movs r0, 0x50
- subs r0, r2
- strh r0, [r3, 0xA]
- mov r2, sp
- movs r3, 0xA1
- lsls r3, 1
- add r3, r12
- ldrh r0, [r3]
- strh r0, [r2, 0xC]
- ldrh r0, [r3]
- strh r0, [r2, 0xE]
- mov r0, r12
- adds r0, 0x54
- ldrh r0, [r0]
- strh r0, [r2, 0x10]
- mov r0, sp
- movs r2, 0x1
- bl BgAffineSet
- add sp, 0x14
- pop {r0}
- bx r0
- .align 2, 0
-_08051470: .4byte gUnknown_03004854
- thumb_func_end sub_8051414
-
- thumb_func_start sub_8051474
-sub_8051474: @ 8051474
- push {lr}
- ldr r0, _080514A0 @ =gUnknown_03004854
- ldr r3, [r0]
- adds r1, r3, 0
- adds r1, 0x54
- ldrh r2, [r1]
- adds r0, r3, 0
- adds r0, 0x58
- strh r2, [r0]
- subs r0, 0x2
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r3, r1
- bl sub_8051414
- pop {r0}
- bx r0
- .align 2, 0
-_080514A0: .4byte gUnknown_03004854
- thumb_func_end sub_8051474
-
- thumb_func_start sub_80514A4
-sub_80514A4: @ 80514A4
- ldr r1, _080514E8 @ =REG_BG2PA
- ldr r0, _080514EC @ =gUnknown_03004854
- ldr r2, [r0]
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0x2
- adds r0, r2, r3
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- adds r3, 0x4
- adds r0, r2, r3
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- .align 2, 0
-_080514E8: .4byte REG_BG2PA
-_080514EC: .4byte gUnknown_03004854
- thumb_func_end sub_80514A4
-
- thumb_func_start sub_80514F0
-sub_80514F0: @ 80514F0
- ldr r1, _0805151C @ =REG_BG1HOFS
- ldr r0, _08051520 @ =gUnknown_03004854
- ldr r3, [r0]
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r3, r0
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xA3
- lsls r0, 1
- adds r3, r0
- ldrh r0, [r3]
- strh r0, [r1]
- subs r1, 0x6
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0805151C: .4byte REG_BG1HOFS
-_08051520: .4byte gUnknown_03004854
- thumb_func_end sub_80514F0
-
- thumb_func_start sub_8051524
-sub_8051524: @ 8051524
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r0, r1
- strh r0, [r2, 0x34]
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bge _08051542
- adds r0, 0x7
-_08051542:
- asrs r0, 3
- strh r0, [r2, 0x24]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bge _08051550
- adds r0, 0x7
-_08051550:
- asrs r0, 3
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08051568
- adds r0, r2, 0
- bl DestroySprite
-_08051568:
- pop {r0}
- bx r0
- thumb_func_end sub_8051524
-
- thumb_func_start sub_805156C
-sub_805156C: @ 805156C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- bl Random
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0x1
- ands r1, r0
- adds r0, r1, 0x1
- cmp r0, 0
- beq _08051628
- ldr r0, _08051638 @ =gSineTable
- mov r9, r0
- ldr r2, _0805163C @ =gSprites
- mov r10, r2
- adds r6, r1, 0x1
- movs r3, 0x1F
- mov r8, r3
- movs r7, 0x10
-_08051598:
- bl Random
- ldr r1, _08051640 @ =gUnknown_03004854
- ldr r4, [r1]
- adds r4, 0x54
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x14
- bl __umodsi3
- ldrh r1, [r4]
- adds r1, r0
- lsls r1, 16
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r9
- movs r3, 0
- ldrsh r1, [r0, r3]
- cmp r1, 0
- bge _080515CC
- adds r1, 0x3
-_080515CC:
- asrs r1, 2
- lsls r0, r2, 1
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080515DC
- adds r0, 0x3
-_080515DC:
- asrs r2, r0, 2
- adds r1, 0x78
- adds r2, 0x50
- ldr r0, _08051644 @ =gSpriteTemplate_82164FC
- movs r3, 0x1
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r5, r4, 4
- adds r5, r4
- lsls r5, 2
- mov r3, r10
- adds r4, r5, r3
- lsls r0, 16
- lsrs r0, 16
- mov r1, r8
- ands r0, r1
- subs r0, r7, r0
- strh r0, [r4, 0x2E]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r2, r8
- ands r0, r2
- subs r0, r7, r0
- strh r0, [r4, 0x30]
- ldr r3, _08051648 @ =gSprites + 0x1C
- adds r5, r3
- ldr r0, _0805164C @ =sub_8051524
- str r0, [r5]
- subs r6, 0x1
- cmp r6, 0
- bne _08051598
-_08051628:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051638: .4byte gSineTable
-_0805163C: .4byte gSprites
-_08051640: .4byte gUnknown_03004854
-_08051644: .4byte gSpriteTemplate_82164FC
-_08051648: .4byte gSprites + 0x1C
-_0805164C: .4byte sub_8051524
- thumb_func_end sub_805156C
-
- thumb_func_start sub_8051650
-sub_8051650: @ 8051650
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __divsi3
- negs r0, r0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0805167C
- adds r0, r4, 0
- bl DestroySprite
-_0805167C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8051650
-
- thumb_func_start sub_8051684
-sub_8051684: @ 8051684
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- lsls r0, 1
- negs r0, r0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xC
- negs r1, r1
- cmp r0, r1
- bge _080516A8
- ldr r0, _080516C0 @ =0x0000fff4
- strh r0, [r2, 0x26]
-_080516A8:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080516BC
- adds r0, r2, 0
- bl DestroySprite
-_080516BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080516C0: .4byte 0x0000fff4
- thumb_func_end sub_8051684
-
- thumb_func_start sub_80516C4
-sub_80516C4: @ 80516C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080516F4 @ =gUnknown_03004854
- ldr r3, [r2]
- lsls r4, r0, 1
- adds r2, r3, 0
- adds r2, 0x80
- adds r2, r4
- strh r1, [r2]
- lsls r0, 4
- movs r2, 0xBE
- lsls r2, 1
- adds r0, r2
- adds r3, r0
- adds r0, r3, 0
- bl sub_804E844
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080516F4: .4byte gUnknown_03004854
- thumb_func_end sub_80516C4
-
- thumb_func_start unref_sub_80516F8
-unref_sub_80516F8: @ 80516F8
- push {r4-r6,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, _080517B8 @ =gTasks
- adds r4, r0, r1
- ldr r6, _080517BC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805180C
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080517D4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _08051730
- strh r1, [r4, 0x8]
-_08051730:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x64
- bne _080517A0
- ldr r0, _080517C0 @ =gUnknown_03004854
- ldr r0, [r0]
- adds r0, 0x4
- movs r1, 0x14
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl ZeroFillWindowRect
- movs r0, 0x4
- movs r1, 0x4
- movs r2, 0xA
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r2, 0
- ldr r6, _080517C4 @ =gLinkPlayers + 0x4
-_0805175C:
- adds r4, r2, 0x1
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- cmp r0, 0
- beq _08051784
- ldr r1, _080517C8 @ =gUnknown_08216284
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r2, 25
- movs r1, 0xA0
- lsls r1, 19
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x5
- bl MenuPrint
-_08051784:
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _080517CC @ =gOtherText_PressAToStart
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrint
- adds r2, r4, 0
- cmp r2, 0x2
- ble _0805175C
-_080517A0:
- ldr r0, _080517D0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805180C
- bl sub_8007E4C
- adds r0, r5, 0
- bl DestroyTask
- b _0805180C
- .align 2, 0
-_080517B8: .4byte gTasks
-_080517BC: .4byte gReceivedRemoteLinkPlayers
-_080517C0: .4byte gUnknown_03004854
-_080517C4: .4byte gLinkPlayers + 0x4
-_080517C8: .4byte gUnknown_08216284
-_080517CC: .4byte gOtherText_PressAToStart
-_080517D0: .4byte gMain
-_080517D4:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _080517E6
- ldr r0, _08051814 @ =gOtherText_PleaseWait
- movs r1, 0x3
- movs r2, 0xA
- bl MenuPrint
-_080517E6:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080517F8
- movs r0, 0
- strh r0, [r4, 0x8]
-_080517F8:
- ldr r0, _08051818 @ =byte_3002A68
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _0805180C
- ldrb r0, [r6]
- cmp r0, 0x1
- bne _0805180C
- adds r0, r5, 0
- bl DestroyTask
-_0805180C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08051814: .4byte gOtherText_PleaseWait
-_08051818: .4byte byte_3002A68
- thumb_func_end unref_sub_80516F8
-
- thumb_func_start sub_805181C
-sub_805181C: @ 805181C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08051858
- cmp r0, 0x1
- bgt _08051832
- cmp r0, 0
- beq _08051838
- b _080518BE
-_08051832:
- cmp r0, 0x2
- beq _08051872
- b _080518BE
-_08051838:
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x58
- ble _080518BE
- movs r0, 0x58
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x38
- bl PlaySE
- b _080518BE
-_08051858:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080518BE
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x32]
- b _080518BE
-_08051872:
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB0
- ble _080518BE
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- adds r1, r0, 0
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080518AC
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, _080518A8 @ =gSpriteTemplate_821657C
- movs r2, 0x14
- negs r2, r2
- movs r1, 0x78
- movs r3, 0x2
- bl CreateSprite
- b _080518BE
- .align 2, 0
-_080518A8: .4byte gSpriteTemplate_821657C
-_080518AC:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080518C8 @ =0x0000fff0
- strh r0, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_080518BE:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080518C8: .4byte 0x0000fff0
- thumb_func_end sub_805181C
-
- thumb_func_start sub_80518CC
-sub_80518CC: @ 80518CC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08051908
- cmp r0, 0x1
- bgt _080518E2
- cmp r0, 0
- beq _080518E8
- b _0805193C
-_080518E2:
- cmp r0, 0x2
- beq _0805191E
- b _0805193C
-_080518E8:
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5C
- ble _0805193C
- movs r0, 0x5C
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x15
- bl PlaySE
- b _0805193C
-_08051908:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0805193C
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _0805193C
-_0805191E:
- ldrh r0, [r4, 0x30]
- adds r0, 0x4
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB0
- ble _0805193C
- ldr r0, _08051948 @ =gUnknown_03004854
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_0805193C:
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08051948: .4byte gUnknown_03004854
- thumb_func_end sub_80518CC
-
- thumb_func_start sub_805194C
-sub_805194C: @ 805194C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r1, _08051978 @ =gUnknown_03004854
- ldr r1, [r1]
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r2
- ldrh r2, [r1]
- cmp r2, r0
- bcs _08051972
- adds r0, r2, 0x2
- strh r0, [r1]
- ldrh r0, [r1]
- adds r1, r3, 0
- bl sub_805197C
-_08051972:
- pop {r0}
- bx r0
- .align 2, 0
-_08051978: .4byte gUnknown_03004854
- thumb_func_end sub_805194C
-
- thumb_func_start sub_805197C
-sub_805197C: @ 805197C
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r7, _08051A0C @ =0x06006000
- lsrs r0, 10
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0
- bge _08051994
- adds r0, r1, 0x7
-_08051994:
- asrs r4, r0, 3
- movs r3, 0
- cmp r3, r4
- bge _080519BC
- ldr r0, _08051A10 @ =0x000081e9
- adds r6, r0, 0
- adds r0, 0x10
- adds r5, r0, 0
- adds r2, r7, 0
- adds r2, 0x56
- adds r0, r7, 0
- adds r3, r4, 0
-_080519AC:
- strh r6, [r0, 0x16]
- strh r5, [r2]
- adds r2, 0x2
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bne _080519AC
- adds r3, r4, 0
-_080519BC:
- adds r0, r1, 0
- cmp r1, 0
- bge _080519C4
- adds r0, r1, 0x7
-_080519C4:
- asrs r2, r0, 3
- lsls r0, r2, 3
- subs r2, r1, r0
- cmp r2, 0
- beq _080519E2
- lsls r0, r3, 1
- adds r0, r7
- ldr r4, _08051A14 @ =0xffff81e1
- adds r1, r2, r4
- strh r1, [r0, 0x16]
- adds r0, 0x56
- adds r4, 0x10
- adds r1, r2, r4
- strh r1, [r0]
- adds r3, 0x1
-_080519E2:
- cmp r3, 0x7
- bgt _08051A06
- ldr r0, _08051A18 @ =0x000081e1
- adds r4, r0, 0
- adds r0, 0x10
- adds r2, r0, 0
- lsls r1, r3, 1
- adds r0, r1, 0
- adds r0, 0x56
- adds r0, r7
- adds r1, r7
-_080519F8:
- strh r4, [r1, 0x16]
- strh r2, [r0]
- adds r0, 0x2
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0x7
- ble _080519F8
-_08051A06:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051A0C: .4byte 0x06006000
-_08051A10: .4byte 0x000081e9
-_08051A14: .4byte 0xffff81e1
-_08051A18: .4byte 0x000081e1
- thumb_func_end sub_805197C
-
- thumb_func_start sub_8051A1C
-sub_8051A1C: @ 8051A1C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08051A34 @ =0x00057e40
- muls r0, r1
- cmp r0, 0
- bge _08051A2E
- ldr r1, _08051A38 @ =0x0000ffff
- adds r0, r1
-_08051A2E:
- asrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_08051A34: .4byte 0x00057e40
-_08051A38: .4byte 0x0000ffff
- thumb_func_end sub_8051A1C
-
- thumb_func_start sub_8051A3C
-sub_8051A3C: @ 8051A3C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r0, 16
- bl sub_8051A1C
- adds r5, r0, 0
- ldr r0, _08051ABC @ =gUnknown_03004854
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x5A
- ldrh r0, [r1]
- cmp r0, r5
- bcs _08051A5A
- strh r5, [r1]
-_08051A5A:
- movs r6, 0
-_08051A5C:
- mov r0, sp
- adds r4, r0, r6
- adds r0, r5, 0
- movs r1, 0xA
- bl __umodsi3
- strb r0, [r4]
- adds r0, r5, 0
- movs r1, 0xA
- bl __udivsi3
- adds r5, r0, 0
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x4
- bls _08051A5C
- ldr r2, _08051AC0 @ =0x06006458
- mov r0, sp
- ldr r3, _08051AC4 @ =0x00008172
- adds r1, r3, 0
- ldrb r0, [r0, 0x4]
- adds r0, r1, r0
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0, 0x3]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x4
- mov r0, sp
- ldrb r0, [r0, 0x1]
- adds r0, r1
- strh r0, [r2]
- adds r2, 0x2
- mov r0, sp
- ldrb r0, [r0]
- adds r1, r0
- strh r1, [r2]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08051ABC: .4byte gUnknown_03004854
-_08051AC0: .4byte 0x06006458
-_08051AC4: .4byte 0x00008172
- thumb_func_end sub_8051A3C
-
- thumb_func_start sub_8051AC8
-sub_8051AC8: @ 8051AC8
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 16
- lsrs r5, r4, 16
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08051AEC
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- lsrs r1, r4, 17
- subs r0, r1
- strh r0, [r6]
-_08051AEC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8051AC8
-
- thumb_func_start sub_8051AF4
-sub_8051AF4: @ 8051AF4
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bge _08051B06
- adds r0, r2, 0x1
- strh r0, [r1]
-_08051B06:
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _08051B14
- subs r0, r2, 0x1
- strh r0, [r1]
-_08051B14:
- pop {r0}
- bx r0
- thumb_func_end sub_8051AF4
-
- thumb_func_start sub_8051B18
-sub_8051B18: @ 8051B18
- push {r4,lr}
- ldr r4, _08051B3C @ =gUnknown_03004854
- ldr r0, [r4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r1
- bl sub_8051AF4
- ldr r0, [r4]
- movs r1, 0xA3
- lsls r1, 1
- adds r0, r1
- bl sub_8051AF4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08051B3C: .4byte gUnknown_03004854
- thumb_func_end sub_8051B18
-
- thumb_func_start sub_8051B40
-sub_8051B40: @ 8051B40
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r5, 0x8
- cmp r1, 0x9
- bhi _08051B50
- movs r5, 0x10
-_08051B50:
- ldrh r0, [r4]
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _08051B6E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- lsrs r1, r5, 1
- subs r0, r1
- b _08051B82
-_08051B6E:
- cmp r1, 0
- bge _08051B76
- adds r0, 0x1
- strh r0, [r4]
-_08051B76:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _08051B84
- subs r0, r1, 0x1
-_08051B82:
- strh r0, [r4]
-_08051B84:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8051B40
-
- thumb_func_start sub_8051B8C
-sub_8051B8C: @ 8051B8C
- push {r4,r5,lr}
- ldr r5, _08051BE4 @ =gUnknown_03004854
- ldr r2, [r5]
- movs r4, 0x98
- lsls r4, 1
- adds r0, r2, r4
- ldr r1, [r0]
- cmp r1, 0
- bne _08051BAC
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
-_08051BAC:
- ldr r0, [r5]
- adds r2, r0, r4
- ldr r1, [r2]
- adds r1, 0x1
- str r1, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r2
- lsls r1, 16
- lsrs r1, 16
- bl sub_8051B40
- ldr r1, [r5]
- movs r3, 0xA3
- lsls r3, 1
- adds r0, r1, r3
- adds r1, r4
- ldrh r1, [r1]
- bl sub_8051B40
- ldr r2, [r5]
- adds r0, r2, r4
- ldr r0, [r0]
- cmp r0, 0x14
- beq _08051BE8
- movs r0, 0
- b _08051BFC
- .align 2, 0
-_08051BE4: .4byte gUnknown_03004854
-_08051BE8:
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- movs r1, 0
- strh r1, [r0]
- movs r3, 0xA3
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x1
-_08051BFC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8051B8C
-
- thumb_func_start sub_8051C04
-sub_8051C04: @ 8051C04
- ldr r1, _08051C20 @ =gUnknown_03004854
- ldr r2, [r1]
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r2, r3
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x24]
- adds r3, 0x2
- adds r1, r2, r3
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_08051C20: .4byte gUnknown_03004854
- thumb_func_end sub_8051C04
-
- thumb_func_start sub_8051C24
-sub_8051C24: @ 8051C24
- push {lr}
- ldr r2, _08051C4C @ =gSaveBlock1
- ldr r0, _08051C50 @ =gUnknown_03004854
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x88
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 1
- ldr r3, _08051C54 @ =0x0000096c
- adds r2, r3
- adds r2, r0, r2
- adds r1, 0x5A
- ldrh r1, [r1]
- ldrh r0, [r2]
- cmp r0, r1
- bcs _08051C48
- strh r1, [r2]
-_08051C48:
- pop {r0}
- bx r0
- .align 2, 0
-_08051C4C: .4byte gSaveBlock1
-_08051C50: .4byte gUnknown_03004854
-_08051C54: .4byte 0x0000096c
- thumb_func_end sub_8051C24
-
- thumb_func_start sub_8051C58
-sub_8051C58: @ 8051C58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r1, _08051C7C @ =gUnknown_03004854
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bls _08051C72
- b _0805200A
-_08051C72:
- lsls r0, 2
- ldr r1, _08051C80 @ =_08051C84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08051C7C: .4byte gUnknown_03004854
-_08051C80: .4byte _08051C84
- .align 2, 0
-_08051C84:
- .4byte _08051CA0
- .4byte _08051CB6
- .4byte _08051CD0
- .4byte _08051D20
- .4byte _08051F44
- .4byte _08051F58
- .4byte _08051FF8
-_08051CA0:
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0x11
- str r1, [r0]
- b _0805200A
-_08051CB6:
- ldr r1, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- subs r0, 0xA
- str r0, [r2]
- cmp r0, 0
- blt _08051CCA
- b _0805200A
-_08051CCA:
- movs r0, 0
- str r0, [r2]
- b _08051FE2
-_08051CD0:
- ldr r1, [r2]
- movs r2, 0x98
- lsls r2, 1
- adds r1, r2
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- bgt _08051CE4
- b _0805200A
-_08051CE4:
- movs r6, 0
-_08051CE6:
- ldr r4, _08051D18 @ =gUnknown_03004854
- ldr r0, [r4]
- adds r0, 0x50
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08051D1C @ =gSprites
- adds r0, r1
- bl DestroySprite
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x2
- bls _08051CE6
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- b _08051FE2
- .align 2, 0
-_08051D18: .4byte gUnknown_03004854
-_08051D1C: .4byte gSprites
-_08051D20:
- movs r0, 0x4
- movs r1, 0x2
- movs r2, 0x19
- movs r3, 0x11
- bl MenuDrawTextWindow
- ldr r0, _08051F14 @ =gOtherText_ResultsOfBlending
- movs r1, 0x5
- movs r2, 0x3
- movs r3, 0xA0
- bl sub_8072BD8
- movs r6, 0
- ldr r1, _08051F18 @ =gUnknown_03004854
- ldr r0, [r1]
- adds r0, 0x88
- add r2, sp, 0xC
- mov r9, r2
- mov r2, sp
- adds r2, 0x16
- str r2, [sp, 0x30]
- ldrb r0, [r0]
- cmp r6, r0
- bcs _08051E04
- mov r8, r1
- ldr r0, _08051F1C @ =gLinkPlayers
- mov r10, r0
-_08051D56:
- mov r1, r8
- ldr r2, [r1]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r2, r1
- adds r0, r6
- ldrb r5, [r0]
- mov r7, r9
- lsls r1, r5, 4
- adds r1, r2
- movs r2, 0xBF
- lsls r2, 1
- adds r1, r2
- adds r0, r7, 0
- bl StringCopy
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- mov r1, r10
- adds r0, r4, r1
- ldrb r1, [r0, 0x1A]
- adds r0, r7, 0
- bl ConvertInternationalString
- adds r0, r7, 0
- ldr r1, _08051F20 @ =gOtherText_Berry
- bl StringAppend
- mov r2, r8
- ldr r0, [r2]
- adds r7, r0, 0
- adds r7, 0xAB
- adds r5, r6, 0x1
- adds r0, r7, 0
- adds r1, r5, 0
- bl ConvertIntToDecimalString
- adds r7, r0, 0
- movs r1, 0
- strb r1, [r7]
- movs r0, 0xAD
- strb r0, [r7, 0x1]
- strb r1, [r7, 0x2]
- adds r7, 0x3
- ldr r0, _08051F24 @ =gLinkPlayers + 0x8
- adds r4, r0
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x58
- movs r3, 0
- bl sub_8072C74
- adds r7, r0, 0
- add r1, sp, 0xC
- movs r2, 0x9D
- movs r3, 0
- bl sub_8072C74
- mov r2, r8
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0xAB
- ldr r3, _08051F28 @ =gUnknown_082165E9
- adds r1, 0x88
- ldrb r2, [r1]
- adds r3, r2, r3
- ldr r1, _08051F2C @ =gUnknown_082165EE
- adds r2, r1
- ldrb r1, [r2]
- adds r2, r6, 0
- muls r2, r1
- ldrb r3, [r3]
- adds r2, r3
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x5
- bl MenuPrint
- lsls r5, 16
- lsrs r6, r5, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r6, r0
- bcc _08051D56
-_08051E04:
- ldr r6, _08051F18 @ =gUnknown_03004854
- ldr r0, [r6]
- adds r0, 0x5A
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, r9
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r7, r0, 0
- adds r7, 0xAB
- ldr r1, _08051F30 @ =gOtherText_MaxSpeed
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r0, [r6]
- adds r0, 0x5A
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r7, 0
- movs r2, 0x79
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- movs r1, 0
- strb r1, [r7]
- movs r0, 0xAD
- strb r0, [r7, 0x1]
- strb r1, [r7, 0x2]
- adds r7, 0x3
- adds r0, r7, 0
- mov r1, r9
- movs r2, 0x8E
- movs r3, 0x1
- bl sub_8072C74
- adds r7, r0, 0
- ldr r1, _08051F34 @ =gOtherText_RPM
- bl StringCopy
- ldr r0, [r6]
- adds r0, 0xAB
- movs r1, 0x5
- movs r2, 0xD
- bl MenuPrint
- ldr r0, [r6]
- movs r2, 0x96
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x3C
- bl __udivsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x3C
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x3C
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, r9
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [sp, 0x30]
- adds r1, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, [r6]
- adds r7, r0, 0
- adds r7, 0xAB
- ldr r1, _08051F38 @ =gOtherText_RequiredTime
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- mov r1, r9
- movs r2, 0x66
- movs r3, 0x1
- bl sub_8072C74
- adds r7, r0, 0
- ldr r1, _08051F3C @ =gOtherText_Min
- bl StringAppend
- adds r7, r0, 0
- ldr r1, [sp, 0x30]
- movs r2, 0x88
- movs r3, 0x1
- bl sub_8072C74
- adds r7, r0, 0
- ldr r1, _08051F40 @ =gOtherText_Sec
- bl StringCopy
- ldr r0, [r6]
- adds r0, 0xAB
- movs r1, 0x5
- movs r2, 0xF
- bl MenuPrint
- ldr r1, [r6]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- b _08051FE2
- .align 2, 0
-_08051F14: .4byte gOtherText_ResultsOfBlending
-_08051F18: .4byte gUnknown_03004854
-_08051F1C: .4byte gLinkPlayers
-_08051F20: .4byte gOtherText_Berry
-_08051F24: .4byte gLinkPlayers + 0x8
-_08051F28: .4byte gUnknown_082165E9
-_08051F2C: .4byte gUnknown_082165EE
-_08051F30: .4byte gOtherText_MaxSpeed
-_08051F34: .4byte gOtherText_RPM
-_08051F38: .4byte gOtherText_RequiredTime
-_08051F3C: .4byte gOtherText_Min
-_08051F40: .4byte gOtherText_Sec
-_08051F44:
- ldr r0, _08051F54 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805200A
- ldr r1, [r2]
- b _08051FE2
- .align 2, 0
-_08051F54: .4byte gMain
-_08051F58:
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r6, 0
- add r5, sp, 0x28
- ldr r0, _08051FEC @ =gUnknown_03004854
- ldr r0, [r0]
- adds r3, r0, 0
- adds r3, 0x80
- add r2, sp, 0x20
-_08051F76:
- lsls r1, r6, 1
- adds r0, r3, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _08051F86
- adds r1, r2, r1
- subs r0, 0x85
- strh r0, [r1]
-_08051F86:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08051F76
- bl sub_8050760
- ldr r4, _08051FEC @ =gUnknown_03004854
- ldr r3, [r4]
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r3, r1
- adds r1, r3, 0
- adds r1, 0x88
- ldrb r2, [r1]
- subs r1, 0x2E
- ldrh r1, [r1]
- str r1, [sp]
- adds r1, r5, 0
- add r3, sp, 0x4
- bl sub_8050520
- ldr r1, [r4]
- adds r1, 0xAB
- adds r0, r5, 0
- bl sub_805201C
- ldr r0, _08051FF0 @ =sub_8052BD0
- movs r1, 0x6
- bl CreateTask
- ldr r0, [r4]
- adds r0, 0xAB
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrintMessage
- ldr r0, _08051FF4 @ =gScriptItemId
- ldrh r0, [r0]
- movs r1, 0x1
- bl RemoveBagItem
- adds r0, r5, 0
- bl sub_810CA34
- ldr r1, [r4]
-_08051FE2:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0805200A
- .align 2, 0
-_08051FEC: .4byte gUnknown_03004854
-_08051FF0: .4byte sub_8052BD0
-_08051FF4: .4byte gScriptItemId
-_08051FF8:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _0805200A
- bl sub_8051C24
- movs r0, 0x1
- b _0805200C
-_0805200A:
- movs r0, 0
-_0805200C:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8051C58
-
- thumb_func_start sub_805201C
-sub_805201C: @ 805201C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0xFF
- strb r0, [r6]
- ldr r1, _080520B0 @ =gPokeblockNames
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl StringCopy
- ldr r1, _080520B4 @ =gOtherText_PokeBlockMade
- adds r0, r6, 0
- bl StringAppend
- ldr r1, _080520B8 @ =gUnknown_082162C8
- adds r0, r6, 0
- bl StringAppend
- adds r0, r5, 0
- bl sub_810C9B0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_810C9E8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080520BC @ =gOtherText_BlockLevelIs
- adds r0, r6, 0
- bl StringAppend
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- ldr r1, _080520C0 @ =gOtherText_BlockFeelIs
- adds r0, r6, 0
- bl StringAppend
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r0, r6, 0
- mov r1, sp
- bl StringAppend
- ldr r1, _080520C4 @ =gOtherText_Period
- adds r0, r6, 0
- bl StringAppend
- ldr r1, _080520C8 @ =gUnknown_08216249
- adds r0, r6, 0
- bl StringAppend
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080520B0: .4byte gPokeblockNames
-_080520B4: .4byte gOtherText_PokeBlockMade
-_080520B8: .4byte gUnknown_082162C8
-_080520BC: .4byte gOtherText_BlockLevelIs
-_080520C0: .4byte gOtherText_BlockFeelIs
-_080520C4: .4byte gOtherText_Period
-_080520C8: .4byte gUnknown_08216249
- thumb_func_end sub_805201C
-
- thumb_func_start sub_80520CC
-sub_80520CC: @ 80520CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- mov r12, r2
- lsls r1, 24
- lsrs r7, r1, 24
- movs r0, 0
- cmp r0, r7
- bge _08052118
-_080520E2:
- movs r5, 0
- adds r1, r0, 0x1
- mov r8, r1
- cmp r5, r7
- bge _08052112
- mov r1, r9
- adds r6, r1, r0
-_080520F0:
- ldrb r4, [r6]
- lsls r1, r4, 2
- add r1, r12
- mov r0, r9
- adds r2, r0, r5
- ldrb r3, [r2]
- lsls r0, r3, 2
- add r0, r12
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- bls _0805210C
- strb r3, [r6]
- strb r4, [r2]
-_0805210C:
- adds r5, 0x1
- cmp r5, r7
- blt _080520F0
-_08052112:
- mov r0, r8
- cmp r0, r7
- blt _080520E2
-_08052118:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80520CC
-
- thumb_func_start sub_8052124
-sub_8052124: @ 8052124
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r5, 0
- ldr r1, _08052144 @ =gUnknown_03004854
- ldr r0, [r1]
- adds r0, 0x88
- mov r10, r1
- mov r2, sp
- adds r2, 0x4
- str r2, [sp, 0x14]
- b _08052158
- .align 2, 0
-_08052144: .4byte gUnknown_03004854
-_08052148:
- mov r4, sp
- adds r0, r4, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r1]
- adds r0, 0x88
-_08052158:
- ldrb r0, [r0]
- cmp r5, r0
- bcc _08052148
- movs r5, 0
- mov r1, r10
- ldr r0, [r1]
- adds r1, r0, 0
- adds r1, 0x88
- ldrb r2, [r1]
- cmp r5, r2
- bcs _080521D6
- ldr r4, [sp, 0x14]
- mov r9, r4
- movs r2, 0xA6
- lsls r2, 1
- adds r2, r0
- mov r8, r2
- mov r12, r1
- movs r4, 0xA7
- lsls r4, 1
- adds r7, r0, r4
- movs r1, 0xA8
- lsls r1, 1
- adds r6, r0, r1
-_08052188:
- lsls r4, r5, 2
- add r4, r9
- lsls r3, r5, 1
- adds r3, r5
- lsls r3, 1
- mov r2, r8
- adds r0, r2, r3
- ldrh r2, [r0]
- lsls r0, r2, 5
- subs r0, r2
- lsls r1, r0, 6
- subs r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r1, 6
- str r1, [r4]
- adds r0, r7, r3
- ldrh r2, [r0]
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- str r1, [r4]
- movs r0, 0xFA
- lsls r0, 2
- adds r1, r0
- adds r3, r6, r3
- ldrh r0, [r3]
- subs r1, r0
- str r1, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r12
- ldrb r1, [r1]
- cmp r5, r1
- bcc _08052188
-_080521D6:
- mov r2, r10
- ldr r0, [r2]
- adds r0, 0x88
- ldrb r1, [r0]
- mov r0, sp
- ldr r2, [sp, 0x14]
- bl sub_80520CC
- movs r5, 0
- mov r4, r10
- ldr r0, [r4]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r5, r0
- bcs _08052218
- mov r2, r10
- movs r3, 0xB2
- lsls r3, 1
-_080521FA:
- ldr r1, [r2]
- adds r1, r3
- adds r1, r5
- mov r4, sp
- adds r0, r4, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r2]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080521FA
-_08052218:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8052124
-
- thumb_func_start sub_8052228
-sub_8052228: @ 8052228
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _08052248 @ =gUnknown_03004854
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bls _0805223C
- b _080524AE
-_0805223C:
- lsls r0, 2
- ldr r1, _0805224C @ =_08052250
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08052248: .4byte gUnknown_03004854
-_0805224C: .4byte _08052250
- .align 2, 0
-_08052250:
- .4byte _0805226C
- .4byte _08052282
- .4byte _0805229C
- .4byte _080522B6
- .4byte _08052464
- .4byte _0805247E
- .4byte _080524A4
-_0805226C:
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0xFF
- str r1, [r0]
- b _080524AE
-_08052282:
- ldr r1, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- subs r0, 0xA
- str r0, [r2]
- cmp r0, 0
- blt _08052296
- b _080524AE
-_08052296:
- movs r0, 0
- str r0, [r2]
- b _08052494
-_0805229C:
- ldr r1, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- cmp r0, 0x14
- bgt _080522B0
- b _080524AE
-_080522B0:
- movs r0, 0
- str r0, [r2]
- b _08052494
-_080522B6:
- movs r0, 0x4
- movs r1, 0x2
- movs r2, 0x19
- movs r3, 0x11
- bl MenuDrawTextWindow
- ldr r0, _0805236C @ =gOtherText_Ranking
- movs r1, 0x5
- movs r2, 0x3
- movs r3, 0xA0
- bl sub_8072BD8
- ldr r6, _08052370 @ =gSpriteTemplate_821645C
- adds r0, r6, 0
- movs r1, 0x8C
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r7, _08052374 @ =gUnknown_03004854
- ldr r1, [r7]
- adds r1, 0x50
- strb r0, [r1]
- ldr r1, _08052378 @ =gSprites
- mov r8, r1
- ldr r2, [r7]
- adds r2, 0x50
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- mov r5, r8
- adds r5, 0x1C
- adds r0, r5
- ldr r4, _0805237C @ =SpriteCallbackDummy
- str r4, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r6, 0
- movs r1, 0xA4
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x51
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x51
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r4, [r0]
- adds r0, r6, 0
- movs r1, 0xBC
- movs r2, 0x34
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- adds r1, 0x52
- strb r0, [r1]
- ldr r2, [r7]
- adds r2, 0x52
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- str r4, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- movs r1, 0x1
- bl StartSpriteAnim
- bl sub_8052124
- movs r2, 0
- mov r8, r2
- b _0805243C
- .align 2, 0
-_0805236C: .4byte gOtherText_Ranking
-_08052370: .4byte gSpriteTemplate_821645C
-_08052374: .4byte gUnknown_03004854
-_08052378: .4byte gSprites
-_0805237C: .4byte SpriteCallbackDummy
-_08052380:
- ldr r1, [r7]
- movs r2, 0xB2
- lsls r2, 1
- adds r0, r1, r2
- add r0, r8
- ldrb r5, [r0]
- adds r2, r1, 0
- adds r2, 0xAB
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- movs r0, 0x4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- mov r6, r8
- adds r6, 0x1
- adds r0, r2, 0
- adds r1, r6, 0
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- movs r1, 0
- strb r1, [r2]
- movs r0, 0xAD
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- adds r2, 0x3
- lsls r1, r5, 3
- subs r1, r5
- lsls r1, 2
- ldr r0, _08052458 @ =gLinkPlayers + 0x8
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r0, [r7]
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 1
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x6C
- movs r3, 0x1
- bl sub_8072C14
- adds r2, r0, 0
- ldr r0, [r7]
- movs r1, 0xA7
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x84
- movs r3, 0x1
- bl sub_8072C14
- adds r2, r0, 0
- ldr r0, [r7]
- movs r1, 0xA8
- lsls r1, 1
- adds r0, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x9C
- movs r3, 0x1
- bl sub_8072C14
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xAB
- ldr r2, _0805245C @ =gUnknown_082165F3
- adds r1, 0x88
- ldrb r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- mov r2, r8
- muls r2, r1
- adds r2, 0x8
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x5
- bl MenuPrint
- lsls r6, 16
- lsrs r6, 16
- mov r8, r6
-_0805243C:
- ldr r0, [r7]
- adds r0, 0x88
- ldrb r0, [r0]
- cmp r8, r0
- bcc _08052380
- ldr r0, _08052460 @ =gUnknown_03004854
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- b _08052494
- .align 2, 0
-_08052458: .4byte gLinkPlayers + 0x8
-_0805245C: .4byte gUnknown_082165F3
-_08052460: .4byte gUnknown_03004854
-_08052464:
- ldr r2, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0x14
- ble _080524AE
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- b _080524AE
-_0805247E:
- ldr r0, _0805249C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080524AE
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080524A0 @ =gUnknown_03004854
- ldr r1, [r0]
-_08052494:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080524AE
- .align 2, 0
-_0805249C: .4byte gMain
-_080524A0: .4byte gUnknown_03004854
-_080524A4:
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- b _080524B0
-_080524AE:
- movs r0, 0
-_080524B0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8052228
-
- thumb_func_start unref_sub_80524BC
-unref_sub_80524BC: @ 80524BC
- push {r4,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r0, _0805251C @ =sub_804E2D8
- bl SetVBlankCallback
- ldr r4, _08052520 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _08052524 @ =gMain
- ldrh r0, [r0, 0x20]
- bl SeedRng
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xAA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r1, _08052528 @ =gUnknown_03000560
- movs r0, 0xFA
- lsls r0, 5
- strh r0, [r1, 0x1A]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- ldr r0, _0805252C @ =sub_8052AF8
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0805251C: .4byte sub_804E2D8
-_08052520: .4byte gWindowConfig_81E6CE4
-_08052524: .4byte gMain
-_08052528: .4byte gUnknown_03000560
-_0805252C: .4byte sub_8052AF8
- thumb_func_end unref_sub_80524BC
-
- thumb_func_start sub_8052530
-sub_8052530: @ 8052530
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x98
- ldr r1, _080525C8 @ =gOtherText_BPMAndDash
- mov r0, sp
- bl StringCopy
- mov r0, sp
- movs r1, 0x2
- movs r2, 0
- bl MenuPrint
- ldr r4, _080525CC @ =gUnknown_03000560
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x6
- movs r2, 0
- bl MenuPrint
- movs r6, 0
- mov r2, sp
- adds r2, 0x3
- str r2, [sp, 0x84]
- mov r3, sp
- adds r3, 0x6
- str r3, [sp, 0x88]
- mov r0, sp
- adds r0, 0x9
- str r0, [sp, 0x8C]
- mov r1, sp
- adds r1, 0xC
- str r1, [sp, 0x90]
- adds r2, 0xC
- str r2, [sp, 0x94]
- mov r8, r4
- mov r7, sp
- ldr r3, _080525D0 @ =gBerries
- mov r9, r3
- ldr r0, _080525D4 @ =gUnknown_082165F8
- mov r10, r0
-_0805259E:
- mov r1, r8
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, r6
- bne _080525D8
- movs r0, 0xEF
- strb r0, [r7]
- mov r0, r8
- adds r0, 0x1
- adds r0, r6, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- adds r1, 0x1
- bl CopyItemName
- b _080525F8
- .align 2, 0
-_080525C8: .4byte gOtherText_BPMAndDash
-_080525CC: .4byte gUnknown_03000560
-_080525D0: .4byte gBerries
-_080525D4: .4byte gUnknown_082165F8
-_080525D8:
- mov r0, r8
- adds r0, 0x1
- adds r0, r6, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x85
- lsls r0, 16
- lsrs r0, 16
- mov r1, sp
- bl CopyItemName
- movs r0, 0
- strb r0, [r7, 0x6]
- movs r0, 0xFF
- strb r0, [r7, 0x7]
-_080525F8:
- lsls r5, r6, 1
- adds r5, r6
- adds r5, 0x3
- lsls r5, 24
- lsrs r5, 24
- mov r0, sp
- movs r1, 0x2
- adds r2, r5, 0
- bl MenuPrint
- mov r4, r8
- adds r4, 0x1
- adds r4, r6, r4
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x15]
- mov r0, sp
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- mov r1, r10
- bl StringAppend
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x16]
- ldr r0, [sp, 0x84]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- mov r1, r10
- bl StringAppend
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x17]
- ldr r0, [sp, 0x88]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- mov r1, r10
- bl StringAppend
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x18]
- ldr r0, [sp, 0x8C]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- mov r1, r10
- bl StringAppend
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x19]
- ldr r0, [sp, 0x90]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r0, sp
- mov r1, r10
- bl StringAppend
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x1A]
- ldr r0, [sp, 0x94]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r2, 0x1
- negs r2, r2
- add r3, sp, 0x80
- strb r2, [r3]
- movs r0, 0xFF
- strb r0, [r7, 0x11]
- mov r0, sp
- movs r1, 0x7
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _080526EC
- b _0805259E
-_080526EC:
- mov r1, r8
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _080527A4
- ldr r1, _080527B4 @ =gPokeblockNames
- mov r2, r8
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- bl StringCopy
- mov r0, sp
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- mov r3, r8
- ldrb r1, [r3, 0x11]
- mov r0, sp
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- ldr r4, _080527B8 @ =gUnknown_082165F8
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- mov r0, r8
- ldrb r1, [r0, 0x12]
- ldr r0, [sp, 0x84]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- mov r2, r8
- ldrb r1, [r2, 0x13]
- ldr r0, [sp, 0x88]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- mov r3, r8
- ldrb r1, [r3, 0x14]
- ldr r0, [sp, 0x8C]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- mov r0, r8
- ldrb r1, [r0, 0x15]
- ldr r0, [sp, 0x90]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r4, 0
- bl StringAppend
- mov r2, r8
- ldrb r1, [r2, 0x16]
- ldr r0, [sp, 0x94]
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToHexStringN
- mov r1, sp
- ldrb r0, [r1, 0x11]
- add r3, sp, 0x80
- ldrb r3, [r3]
- orrs r0, r3
- strb r0, [r1, 0x11]
- mov r0, sp
- movs r1, 0x7
- movs r2, 0x11
- bl MenuPrint
-_080527A4:
- add sp, 0x98
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080527B4: .4byte gPokeblockNames
-_080527B8: .4byte gUnknown_082165F8
- thumb_func_end sub_8052530
-
- thumb_func_start sub_80527BC
-sub_80527BC: @ 80527BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r0, _08052844 @ =gUnknown_020297DC
- ldrb r0, [r0]
- add r6, sp, 0x48
- cmp r0, 0x1
- bne _08052814
- movs r1, 0
- ldr r3, _08052848 @ =gUnknown_03004840
- movs r2, 0
-_080527D6:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9
- bls _080527D6
- bl Random
- ldr r1, _0805284C @ =gUnknown_03004830
- strh r0, [r1]
- ldr r1, _08052850 @ =gUnknown_020297E0
- movs r0, 0
- str r0, [r1]
- ldr r1, _08052844 @ =gUnknown_020297DC
- movs r0, 0x2
- strb r0, [r1]
- movs r4, 0
- ldr r2, _08052854 @ =0x02000000
- movs r1, 0
-_08052800:
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xC7
- bls _08052800
- ldr r1, _08052858 @ =gUnknown_020297E8
- movs r0, 0
- strb r0, [r1]
-_08052814:
- movs r4, 0
- movs r0, 0x1
- mov r8, r0
- ldr r7, _08052858 @ =gUnknown_020297E8
- ldr r5, _08052850 @ =gUnknown_020297E0
- ldr r1, _08052854 @ =0x02000000
- mov r9, r1
- ldr r3, _0805285C @ =gUnknown_020297E4
-_08052824:
- str r3, [sp, 0x54]
- bl Random
- lsls r0, 16
- lsrs r0, 31
- mov r1, r8
- ands r0, r1
- ldr r3, [sp, 0x54]
- ldrb r1, [r7]
- cmp r0, r1
- bne _08052860
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- b _0805287A
- .align 2, 0
-_08052844: .4byte gUnknown_020297DC
-_08052848: .4byte gUnknown_03004840
-_0805284C: .4byte gUnknown_03004830
-_08052850: .4byte gUnknown_020297E0
-_08052854: .4byte 0x02000000
-_08052858: .4byte gUnknown_020297E8
-_0805285C: .4byte gUnknown_020297E4
-_08052860:
- ldr r2, [r3]
- lsls r0, r2, 1
- add r0, r9
- ldr r1, [r5]
- strh r1, [r0]
- adds r2, 0x1
- str r2, [r3]
- movs r0, 0
- str r0, [r5]
- ldrb r0, [r7]
- mov r1, r8
- eors r0, r1
- strb r0, [r7]
-_0805287A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x63
- bls _08052824
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, _08052900 @ =gUnknown_03004830
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0x2
- movs r3, 0x8
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r6, 0
- bl StringAppend
- ldr r1, _08052904 @ =gUnknown_082165F8
- mov r0, sp
- bl StringAppend
- ldr r0, _08052908 @ =gUnknown_020297E0
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x2
- movs r3, 0x8
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r6, 0
- bl StringAppend
- ldr r1, _0805290C @ =gUnknown_08216600
- mov r0, sp
- bl StringAppend
- ldr r4, _08052910 @ =gUnknown_020297DC
- ldrb r0, [r4]
- cmp r0, 0x3
- bne _080528E8
- ldr r0, _08052914 @ =gUnknown_020297E4
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x2
- movs r3, 0x10
- bl ConvertIntToHexStringN
- mov r0, sp
- adds r1, r6, 0
- bl StringAppend
- movs r0, 0
- strb r0, [r4]
-_080528E8:
- mov r0, sp
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08052900: .4byte gUnknown_03004830
-_08052904: .4byte gUnknown_082165F8
-_08052908: .4byte gUnknown_020297E0
-_0805290C: .4byte gUnknown_08216600
-_08052910: .4byte gUnknown_020297DC
-_08052914: .4byte gUnknown_020297E4
- thumb_func_end sub_80527BC
-
- thumb_func_start sub_8052918
-sub_8052918: @ 8052918
- push {r4-r6,lr}
- sub sp, 0x4C
- ldr r2, _08052A88 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- ldr r4, _08052A8C @ =gUnknown_03000560
- cmp r0, 0
- beq _0805294C
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r1, 0
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- ldr r1, _08052A90 @ =0x75300000
- cmp r0, r1
- ble _08052946
- movs r0, 0xFA
- lsls r0, 2
- strh r0, [r4, 0x1A]
-_08052946:
- ldrb r0, [r4, 0x10]
- adds r0, 0x1
- strb r0, [r4, 0x10]
-_0805294C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08052972
- ldr r1, _08052A94 @ =0xfffffc18
- adds r0, r1, 0
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- cmp r0, 0
- bge _0805296C
- ldr r0, _08052A98 @ =0x00007530
- strh r0, [r4, 0x1A]
-_0805296C:
- ldrb r0, [r4, 0x10]
- adds r0, 0x1
- strb r0, [r4, 0x10]
-_08052972:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08052992
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bge _0805298C
- movs r0, 0x3
- strb r0, [r4]
-_0805298C:
- ldrb r0, [r4, 0x10]
- adds r0, 0x1
- strb r0, [r4, 0x10]
-_08052992:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080529B4
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080529AE
- movs r0, 0
- strb r0, [r4]
-_080529AE:
- ldrb r0, [r4, 0x10]
- adds r0, 0x1
- strb r0, [r4, 0x10]
-_080529B4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080529E4
- adds r3, r4, 0
- movs r1, 0
- ldrsb r1, [r3, r1]
- adds r5, r3, 0x1
- adds r1, r5
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080529DE
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, r5
- movs r1, 0x2A
- strb r1, [r0]
-_080529DE:
- ldrb r0, [r4, 0x10]
- adds r0, 0x1
- strb r0, [r4, 0x10]
-_080529E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08052A16
- ldr r3, _08052A8C @ =gUnknown_03000560
- movs r1, 0
- ldrsb r1, [r3, r1]
- adds r4, r3, 0x1
- adds r1, r4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2A
- ble _08052A10
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
-_08052A10:
- ldrb r0, [r3, 0x10]
- adds r0, 0x1
- strb r0, [r3, 0x10]
-_08052A16:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08052AA0
- movs r6, 0
- movs r4, 0
- ldr r5, _08052A8C @ =gUnknown_03000560
-_08052A26:
- adds r0, r5, 0x1
- adds r2, r4, r0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x2A
- beq _08052A64
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r4, 1
- mov r1, sp
- adds r1, r0
- adds r1, 0x4
- movs r0, 0
- ldrsb r0, [r2, r0]
- strh r0, [r1]
- add r0, sp, 0xC
- lsls r1, r4, 4
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r1, 0x85
- lsls r1, 16
- lsrs r1, 16
- bl sub_804E844
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08052A26
-_08052A64:
- cmp r6, 0x1
- bls _08052A9C
- add r0, sp, 0xC
- adds r1, r5, 0
- adds r1, 0x8
- lsls r2, r6, 24
- lsrs r2, 24
- adds r3, r5, 0
- adds r3, 0x11
- ldrh r4, [r5, 0x1A]
- str r4, [sp]
- bl sub_8050744
- ldrb r0, [r5, 0x10]
- adds r0, 0x1
- strb r0, [r5, 0x10]
- b _08052AA0
- .align 2, 0
-_08052A88: .4byte gMain
-_08052A8C: .4byte gUnknown_03000560
-_08052A90: .4byte 0x75300000
-_08052A94: .4byte 0xfffffc18
-_08052A98: .4byte 0x00007530
-_08052A9C:
- movs r0, 0xFF
- strb r0, [r5, 0x8]
-_08052AA0:
- ldr r4, _08052AE8 @ =gUnknown_03000560
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _08052AB0
- bl sub_8052530
- movs r0, 0
- strb r0, [r4, 0x10]
-_08052AB0:
- ldr r3, _08052AEC @ =gMain
- ldrh r1, [r3, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08052AD4
- ldr r2, _08052AF0 @ =gUnknown_020297DC
- ldrb r0, [r2]
- adds r1, r0, 0
- cmp r1, 0
- bne _08052ADC
- adds r0, 0x1
- strb r0, [r2]
- ldr r0, _08052AF4 @ =gUnknown_020297E0
- str r1, [r0]
- ldrh r0, [r3, 0x20]
- bl SeedRng
-_08052AD4:
- ldr r0, _08052AF0 @ =gUnknown_020297DC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08052AE0
-_08052ADC:
- bl sub_80527BC
-_08052AE0:
- add sp, 0x4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08052AE8: .4byte gUnknown_03000560
-_08052AEC: .4byte gMain
-_08052AF0: .4byte gUnknown_020297DC
-_08052AF4: .4byte gUnknown_020297E0
- thumb_func_end sub_8052918
-
- thumb_func_start sub_8052AF8
-sub_8052AF8: @ 8052AF8
- push {lr}
- bl sub_8052918
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8052AF8
-
- thumb_func_start ShowBerryBlenderRecordWindow
-ShowBerryBlenderRecordWindow: @ 8052B14
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- movs r0, 0x6
- movs r1, 0x3
- movs r2, 0x17
- movs r3, 0x10
- bl MenuDrawTextWindow
- ldr r0, _08052BBC @ =gMultiText_BerryBlenderMaxSpeedRecord
- movs r1, 0x8
- movs r2, 0x4
- bl MenuPrint
- ldr r0, _08052BC0 @ =gMultiText_2P3P4P
- movs r1, 0x8
- movs r2, 0x9
- bl MenuPrint
- movs r0, 0
- mov r8, r0
- ldr r0, _08052BC4 @ =gSaveBlock1
- movs r7, 0x90
- lsls r7, 20
- ldr r1, _08052BC8 @ =0x0000096c
- adds r6, r0, r1
- movs r0, 0
- mov r9, r0
-_08052B50:
- ldrh r4, [r6]
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0x12
- movs r3, 0x1
- bl sub_8072C14
- adds r5, r0, 0
- mov r1, r9
- strb r1, [r5]
- movs r0, 0xAD
- strb r0, [r5, 0x1]
- strb r1, [r5, 0x2]
- adds r5, 0x3
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- ldr r1, _08052BCC @ =gOtherText_RPM
- bl StringAppend
- lsrs r2, r7, 24
- mov r0, sp
- movs r1, 0xF
- bl MenuPrint
- movs r0, 0x80
- lsls r0, 18
- adds r7, r0
- adds r6, 0x2
- movs r1, 0x1
- add r8, r1
- mov r0, r8
- cmp r0, 0x2
- ble _08052B50
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08052BBC: .4byte gMultiText_BerryBlenderMaxSpeedRecord
-_08052BC0: .4byte gMultiText_2P3P4P
-_08052BC4: .4byte gSaveBlock1
-_08052BC8: .4byte 0x0000096c
-_08052BCC: .4byte gOtherText_RPM
- thumb_func_end ShowBerryBlenderRecordWindow
-
- thumb_func_start sub_8052BD0
-sub_8052BD0: @ 8052BD0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _08052C1C @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08052BF6
- ldr r0, _08052C20 @ =0x0000016f
- bl PlayFanfare
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08052BF6:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08052C16
- ldr r0, _08052C24 @ =gUnknown_03004854
- ldr r0, [r0]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl PlayBGM
- adds r0, r5, 0
- bl DestroyTask
-_08052C16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08052C1C: .4byte gTasks
-_08052C20: .4byte 0x0000016f
-_08052C24: .4byte gUnknown_03004854
- thumb_func_end sub_8052BD0
diff --git a/asm/egg_hatch.s b/asm/egg_hatch.s
deleted file mode 100644
index 7365f4da6..000000000
--- a/asm/egg_hatch.s
+++ /dev/null
@@ -1,1630 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start AddHatchedMonToParty
-AddHatchedMonToParty: @ 80429EC
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r5, r0, 0
- muls r5, r1
- ldr r0, _08042A9C @ =gPlayerParty
- adds r5, r0
- ldr r1, _08042AA0 @ =gEnemyParty
- adds r0, r5, 0
- bl CreatedHatchedMon
- add r2, sp, 0xC
- movs r6, 0
- strb r6, [r2]
- adds r0, r5, 0
- movs r1, 0x2D
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- adds r1, r4, 0
- bl GetSpeciesName
- adds r0, r5, 0
- movs r1, 0x2
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x2
- bl GetNationalPokedexFlag
- adds r0, r4, 0
- movs r1, 0x3
- bl GetNationalPokedexFlag
- ldr r1, _08042AA4 @ =gStringVar1
- adds r0, r5, 0
- bl GetMonNick
- mov r2, sp
- adds r2, 0xE
- movs r0, 0x4
- strh r0, [r2]
- adds r0, r5, 0
- movs r1, 0x26
- bl SetMonData
- add r2, sp, 0x10
- strh r6, [r2]
- adds r0, r5, 0
- movs r1, 0x24
- bl SetMonData
- bl sav1_map_get_name
- mov r2, sp
- adds r2, 0x12
- strb r0, [r2]
- adds r0, r5, 0
- movs r1, 0x23
- bl SetMonData
- adds r0, r5, 0
- bl MonRestorePP
- adds r0, r5, 0
- bl CalculateMonStats
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08042A9C: .4byte gPlayerParty
-_08042AA0: .4byte gEnemyParty
-_08042AA4: .4byte gStringVar1
- thumb_func_end AddHatchedMonToParty
-
- thumb_func_start ScriptHatchMon
-ScriptHatchMon: @ 8042AA8
- push {lr}
- ldr r0, _08042AB8 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- bl AddHatchedMonToParty
- pop {r0}
- bx r0
- .align 2, 0
-_08042AB8: .4byte gSpecialVar_0x8004
- thumb_func_end ScriptHatchMon
-
- thumb_func_start sub_8042ABC
-sub_8042ABC: @ 8042ABC
- push {r4-r6,lr}
- sub sp, 0x20
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r0, r5, r0
- mov r1, sp
- bl GetBoxMonNick
- lsls r0, r4, 3
- subs r0, r4
- lsls r1, r0, 3
- adds r0, r5, r1
- adds r0, 0xC0
- ldrh r0, [r0]
- cmp r0, 0
- beq _08042B40
- adds r0, r1, 0
- adds r0, 0xA0
- adds r5, r0
- adds r6, r5, 0
- adds r6, 0x2C
- mov r0, sp
- adds r1, r6, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _08042B08
- ldr r0, _08042B30 @ =gSaveBlock2
- adds r1, r5, 0
- adds r1, 0x24
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _08042B40
-_08042B08:
- ldr r0, _08042B34 @ =gStringVar1
- mov r1, sp
- bl StringCopy
- ldr r4, _08042B38 @ =gStringVar2
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _08042B3C @ =gStringVar3
- adds r1, r6, 0
- bl StringCopy
- adds r0, r4, 0
- bl SanitizeNameString
- movs r0, 0x1
- b _08042B42
- .align 2, 0
-_08042B30: .4byte gSaveBlock2
-_08042B34: .4byte gStringVar1
-_08042B38: .4byte gStringVar2
-_08042B3C: .4byte gStringVar3
-_08042B40:
- movs r0, 0
-_08042B42:
- add sp, 0x20
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8042ABC
-
- thumb_func_start sub_8042B4C
-sub_8042B4C: @ 8042B4C
- push {lr}
- ldr r0, _08042B60 @ =gSaveBlock1 + 0x2F9C
- ldr r1, _08042B64 @ =gSpecialVar_0x8004
- ldrb r1, [r1]
- bl sub_8042ABC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08042B60: .4byte gSaveBlock1 + 0x2F9C
-_08042B64: .4byte gSpecialVar_0x8004
- thumb_func_end sub_8042B4C
-
- thumb_func_start EggHatchCreateMonSprite
-EggHatchCreateMonSprite: @ 8042B68
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r1, r2, 24
- adds r2, r1, 0
- movs r5, 0
- mov r9, r5
- movs r7, 0
- cmp r3, 0
- bne _08042B96
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08042BB0 @ =gPlayerParty
- adds r7, r1, r0
- movs r5, 0x1
-_08042B96:
- cmp r3, 0x1
- bne _08042BA6
- movs r0, 0x64
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _08042BB0 @ =gPlayerParty
- adds r7, r1, r0
- movs r5, 0x3
-_08042BA6:
- cmp r6, 0
- beq _08042BB4
- cmp r6, 0x1
- beq _08042C14
- b _08042C50
- .align 2, 0
-_08042BB0: .4byte gPlayerParty
-_08042BB4:
- adds r0, r7, 0
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetMonData
- mov r8, r0
- lsls r0, r5, 3
- ldr r1, _08042C04 @ =gMonFrontPicTable
- adds r0, r1
- ldr r1, _08042C08 @ =gMonFrontPicCoords
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r3, _08042C0C @ =0x02000000
- ldr r6, _08042C10 @ =gUnknown_081FAF4C
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 2
- adds r4, r6
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r4, r8
- str r4, [sp, 0x8]
- bl HandleLoadSpecialPokePic
- adds r0, r7, 0
- bl sub_8040990
- bl LoadCompressedObjectPalette
- b _08042C50
- .align 2, 0
-_08042C04: .4byte gMonFrontPicTable
-_08042C08: .4byte gMonFrontPicCoords
-_08042C0C: .4byte 0x02000000
-_08042C10: .4byte gUnknown_081FAF4C
-_08042C14:
- adds r0, r7, 0
- bl sub_8040990
- ldrh r0, [r0, 0x4]
- adds r1, r5, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08042C60 @ =gUnknown_02024E8C
- movs r1, 0x78
- movs r2, 0x46
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r4, _08042C64 @ =gSprites
- lsls r1, r0, 4
- add r1, r9
- lsls r1, 2
- adds r2, r1, r4
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r2]
- adds r4, 0x1C
- adds r1, r4
- ldr r0, _08042C68 @ =SpriteCallbackDummy
- str r0, [r1]
-_08042C50:
- mov r0, r9
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08042C60: .4byte gUnknown_02024E8C
-_08042C64: .4byte gSprites
-_08042C68: .4byte SpriteCallbackDummy
- thumb_func_end EggHatchCreateMonSprite
-
- thumb_func_start VBlankCB_EggHatch
-VBlankCB_EggHatch: @ 8042C6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_EggHatch
-
- thumb_func_start EggHatch
-EggHatch: @ 8042C80
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _08042CA8 @ =Task_EggHatch
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08042CA8: .4byte Task_EggHatch
- thumb_func_end EggHatch
-
- thumb_func_start Task_EggHatch
-Task_EggHatch: @ 8042CAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08042CD8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08042CD0
- ldr r0, _08042CDC @ =CB2_EggHatch_0
- bl SetMainCallback2
- ldr r1, _08042CE0 @ =gFieldCallback
- ldr r0, _08042CE4 @ =sub_8080990
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_08042CD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08042CD8: .4byte gPaletteFade
-_08042CDC: .4byte CB2_EggHatch_0
-_08042CE0: .4byte gFieldCallback
-_08042CE4: .4byte sub_8080990
- thumb_func_end Task_EggHatch
-
- thumb_func_start CB2_EggHatch_0
-CB2_EggHatch_0: @ 8042CE8
- push {r4-r7,lr}
- ldr r0, _08042D04 @ =gMain
- ldr r1, _08042D08 @ =0x0000043c
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _08042CF8
- b _08042F6E
-_08042CF8:
- lsls r0, 2
- ldr r1, _08042D0C @ =_08042D10
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08042D04: .4byte gMain
-_08042D08: .4byte 0x0000043c
-_08042D0C: .4byte _08042D10
- .align 2, 0
-_08042D10:
- .4byte _08042D34
- .4byte _08042D90
- .4byte _08042DC4
- .4byte _08042E20
- .4byte _08042E40
- .4byte _08042E74
- .4byte _08042E88
- .4byte _08042EB0
- .4byte _08042F40
-_08042D34:
- movs r0, 0x80
- lsls r0, 19
- movs r2, 0
- strh r2, [r0]
- ldr r1, _08042D74 @ =gUnknown_0300481C
- ldr r0, _08042D78 @ =0x02018000
- str r0, [r1]
- ldr r1, _08042D7C @ =gSpecialVar_0x8004
- ldrh r1, [r1]
- strb r1, [r0, 0x4]
- adds r0, 0x3A
- strb r2, [r0]
- bl ResetTasks
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r0, _08042D80 @ =VBlankCB_EggHatch
- bl SetVBlankCallback
- ldr r1, _08042D84 @ =gMain
- ldr r2, _08042D88 @ =0x0000043c
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl GetCurrentMapMusic
- ldr r1, _08042D8C @ =gSpecialVar_0x8005
- strh r0, [r1]
- b _08042F6E
- .align 2, 0
-_08042D74: .4byte gUnknown_0300481C
-_08042D78: .4byte 0x02018000
-_08042D7C: .4byte gSpecialVar_0x8004
-_08042D80: .4byte VBlankCB_EggHatch
-_08042D84: .4byte gMain
-_08042D88: .4byte 0x0000043c
-_08042D8C: .4byte gSpecialVar_0x8005
-_08042D90:
- ldr r5, _08042DBC @ =gWindowConfig_81E6F84
- adds r0, r5, 0
- bl SetUpWindowConfig
- ldr r4, _08042DC0 @ =gUnknown_0300481C
- ldr r0, [r4]
- adds r0, 0x8
- adds r1, r5, 0
- bl InitWindowFromConfig
- movs r0, 0x14
- bl SetTextWindowBaseTileNum
- ldr r1, [r4]
- adds r1, 0x38
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x8
- bl LoadTextWindowGraphics
- b _08042F04
- .align 2, 0
-_08042DBC: .4byte gWindowConfig_81E6F84
-_08042DC0: .4byte gUnknown_0300481C
-_08042DC4:
- ldr r0, _08042DFC @ =gUnknown_08D00000
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _08042E00 @ =gUnknown_08D00524
- ldr r4, _08042E04 @ =0x02000000
- movs r2, 0x80
- lsls r2, 4
- adds r1, r4, 0
- bl CpuSet
- ldr r1, _08042E08 @ =0x040000d4
- str r4, [r1]
- ldr r0, _08042E0C @ =0x06002800
- str r0, [r1, 0x4]
- ldr r0, _08042E10 @ =0x80000280
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, _08042E14 @ =gUnknown_08D004E0
- movs r1, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r1, _08042E18 @ =gMain
- ldr r2, _08042E1C @ =0x0000043c
- adds r1, r2
- b _08042F0A
- .align 2, 0
-_08042DFC: .4byte gUnknown_08D00000
-_08042E00: .4byte gUnknown_08D00524
-_08042E04: .4byte 0x02000000
-_08042E08: .4byte 0x040000d4
-_08042E0C: .4byte 0x06002800
-_08042E10: .4byte 0x80000280
-_08042E14: .4byte gUnknown_08D004E0
-_08042E18: .4byte gMain
-_08042E1C: .4byte 0x0000043c
-_08042E20:
- ldr r0, _08042E34 @ =gUnknown_0820A3B0
- bl LoadSpriteSheet
- ldr r0, _08042E38 @ =gUnknown_0820A3B8
- bl LoadSpriteSheet
- ldr r0, _08042E3C @ =gUnknown_0820A3C0
- bl LoadSpritePalette
- b _08042F04
- .align 2, 0
-_08042E34: .4byte gUnknown_0820A3B0
-_08042E38: .4byte gUnknown_0820A3B8
-_08042E3C: .4byte gUnknown_0820A3C0
-_08042E40:
- ldr r0, _08042E64 @ =gSpriteTemplate_820A3C8
- movs r1, 0x78
- movs r2, 0x4B
- movs r3, 0x5
- bl CreateSprite
- ldr r2, _08042E68 @ =gUnknown_0300481C
- ldr r1, [r2]
- strb r0, [r1]
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- bl AddHatchedMonToParty
- ldr r1, _08042E6C @ =gMain
- ldr r2, _08042E70 @ =0x0000043c
- adds r1, r2
- b _08042F0A
- .align 2, 0
-_08042E64: .4byte gSpriteTemplate_820A3C8
-_08042E68: .4byte gUnknown_0300481C
-_08042E6C: .4byte gMain
-_08042E70: .4byte 0x0000043c
-_08042E74:
- ldr r0, _08042E84 @ =gUnknown_0300481C
- ldr r0, [r0]
- ldrb r2, [r0, 0x4]
- movs r0, 0
- movs r1, 0
- bl EggHatchCreateMonSprite
- b _08042F04
- .align 2, 0
-_08042E84: .4byte gUnknown_0300481C
-_08042E88:
- ldr r4, _08042EA4 @ =gUnknown_0300481C
- ldr r0, [r4]
- ldrb r2, [r0, 0x4]
- movs r0, 0
- movs r1, 0x1
- bl EggHatchCreateMonSprite
- ldr r1, [r4]
- strb r0, [r1, 0x1]
- ldr r1, _08042EA8 @ =gMain
- ldr r2, _08042EAC @ =0x0000043c
- adds r1, r2
- b _08042F0A
- .align 2, 0
-_08042EA4: .4byte gUnknown_0300481C
-_08042EA8: .4byte gMain
-_08042EAC: .4byte 0x0000043c
-_08042EB0:
- ldr r0, _08042F14 @ =REG_BG2CNT
- ldr r2, _08042F18 @ =0x00004c06
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _08042F1C @ =gUnknown_0820C9F8
- movs r1, 0x10
- movs r2, 0xA0
- bl LoadPalette
- ldr r3, _08042F20 @ =gUnknown_0820CA98
- ldr r4, _08042F24 @ =0x06004000
- movs r5, 0x98
- lsls r5, 5
- ldr r1, _08042F28 @ =0x040000d4
- ldr r6, _08042F2C @ =0x80000800
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_08042ED6:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _08042ED6
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _08042F30 @ =gUnknown_0820F798
- ldr r2, _08042F34 @ =0x06006000
- ldr r0, _08042F28 @ =0x040000d4
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08042F2C @ =0x80000800
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
-_08042F04:
- ldr r1, _08042F38 @ =gMain
- ldr r0, _08042F3C @ =0x0000043c
- adds r1, r0
-_08042F0A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08042F6E
- .align 2, 0
-_08042F14: .4byte REG_BG2CNT
-_08042F18: .4byte 0x00004c06
-_08042F1C: .4byte gUnknown_0820C9F8
-_08042F20: .4byte gUnknown_0820CA98
-_08042F24: .4byte 0x06004000
-_08042F28: .4byte 0x040000d4
-_08042F2C: .4byte 0x80000800
-_08042F30: .4byte gUnknown_0820F798
-_08042F34: .4byte 0x06006000
-_08042F38: .4byte gMain
-_08042F3C: .4byte 0x0000043c
-_08042F40:
- ldr r1, _08042F74 @ =REG_BG1CNT
- ldr r2, _08042F78 @ =0x00000501
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08042F7C @ =REG_BG0HOFS
- movs r4, 0
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r0, _08042F80 @ =CB2_EggHatch_1
- bl SetMainCallback2
- ldr r0, _08042F84 @ =gUnknown_0300481C
- ldr r0, [r0]
- strb r4, [r0, 0x2]
-_08042F6E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042F74: .4byte REG_BG1CNT
-_08042F78: .4byte 0x00000501
-_08042F7C: .4byte REG_BG0HOFS
-_08042F80: .4byte CB2_EggHatch_1
-_08042F84: .4byte gUnknown_0300481C
- thumb_func_end CB2_EggHatch_0
-
- thumb_func_start EggHatchSetMonNickname
-EggHatchSetMonNickname: @ 8042F88
- push {lr}
- ldr r0, _08042FA8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08042FAC @ =gPlayerParty
- adds r0, r1
- ldr r2, _08042FB0 @ =gStringVar3
- movs r1, 0x2
- bl SetMonData
- ldr r0, _08042FB4 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08042FA8: .4byte gSpecialVar_0x8004
-_08042FAC: .4byte gPlayerParty
-_08042FB0: .4byte gStringVar3
-_08042FB4: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end EggHatchSetMonNickname
-
- thumb_func_start Task_EggHatchPlayBGM
-Task_EggHatchPlayBGM: @ 8042FB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08043004 @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08042FD4
- bl StopMapMusic
-_08042FD4:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08042FE4
- movs r0, 0xBC
- lsls r0, 1
- bl PlayBGM
-_08042FE4:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- ble _08042FF8
- ldr r0, _08043008 @ =0x00000179
- bl PlayBGM
- adds r0, r5, 0
- bl DestroyTask
-_08042FF8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08043004: .4byte gTasks
-_08043008: .4byte 0x00000179
- thumb_func_end Task_EggHatchPlayBGM
-
- thumb_func_start CB2_EggHatch_1
-CB2_EggHatch_1: @ 804300C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r1, _08043030 @ =gUnknown_0300481C
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- adds r5, r1, 0
- cmp r0, 0xB
- bls _08043026
- b _080432BA
-_08043026:
- lsls r0, 2
- ldr r1, _08043034 @ =_08043038
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08043030: .4byte gUnknown_0300481C
-_08043034: .4byte _08043038
- .align 2, 0
-_08043038:
- .4byte _08043068
- .4byte _080430A0
- .4byte _080430C0
- .4byte _080430F8
- .4byte _08043124
- .4byte _08043164
- .4byte _08043172
- .4byte _08043180
- .4byte _080431B8
- .4byte _080431DA
- .4byte _08043288
- .4byte _080432A8
-_08043068:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08043098 @ =gUnknown_0300481C
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- ldr r0, _0804309C @ =Task_EggHatchPlayBGM
- movs r1, 0x5
- bl CreateTask
- b _080432BA
- .align 2, 0
-_08043098: .4byte gUnknown_0300481C
-_0804309C: .4byte Task_EggHatchPlayBGM
-_080430A0:
- ldr r0, _080430BC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080430B2
- b _080432BA
-_080430B2:
- ldr r0, [r5]
- strb r1, [r0, 0x3]
- ldr r1, [r5]
- b _0804329C
- .align 2, 0
-_080430BC: .4byte gPaletteFade
-_080430C0:
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- adds r0, 0x1
- strb r0, [r1, 0x3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bhi _080430D2
- b _080432BA
-_080430D2:
- ldr r1, [r5]
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- ldr r2, _080430F0 @ =gSprites
- ldr r0, [r5]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080430F4 @ =SpriteCB_Egg_0
- str r1, [r0]
- b _080432BA
- .align 2, 0
-_080430F0: .4byte gSprites
-_080430F4: .4byte SpriteCB_Egg_0
-_080430F8:
- ldr r2, _0804311C @ =gSprites
- ldr r3, [r5]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _08043120 @ =SpriteCallbackDummy
- cmp r1, r0
- beq _08043112
- b _080432BA
-_08043112:
- ldrb r0, [r3, 0x2]
- adds r0, 0x1
- strb r0, [r3, 0x2]
- b _080432BA
- .align 2, 0
-_0804311C: .4byte gSprites
-_08043120: .4byte SpriteCallbackDummy
-_08043124:
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08043150 @ =gPlayerParty
- adds r0, r1
- ldr r1, _08043154 @ =gStringVar1
- bl GetMonNick
- ldr r4, _08043158 @ =gStringVar4
- ldr r1, _0804315C @ =gOtherText_HatchedFromEgg
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- bl EggHatchPrintMessage2
- ldr r0, _08043160 @ =0x00000173
- bl PlayFanfare
- ldr r1, [r5]
- b _0804329C
- .align 2, 0
-_08043150: .4byte gPlayerParty
-_08043154: .4byte gStringVar1
-_08043158: .4byte gStringVar4
-_0804315C: .4byte gOtherText_HatchedFromEgg
-_08043160: .4byte 0x00000173
-_08043164:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- bne _08043170
- b _080432BA
-_08043170:
- b _08043298
-_08043172:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- bne _0804317E
- b _080432BA
-_0804317E:
- b _08043298
-_08043180:
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080431A8 @ =gPlayerParty
- adds r0, r1
- ldr r1, _080431AC @ =gStringVar1
- bl GetMonNick
- ldr r4, _080431B0 @ =gStringVar4
- ldr r1, _080431B4 @ =gOtherText_NickHatchPrompt
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- bl EggHatchPrintMessage1
- ldr r1, [r5]
- b _0804329C
- .align 2, 0
-_080431A8: .4byte gPlayerParty
-_080431AC: .4byte gStringVar1
-_080431B0: .4byte gStringVar4
-_080431B4: .4byte gOtherText_NickHatchPrompt
-_080431B8:
- bl EggHatchUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _080432BA
- movs r0, 0x16
- movs r1, 0x8
- movs r2, 0x1B
- movs r3, 0xD
- bl MenuDrawTextWindow
- movs r0, 0x16
- movs r1, 0x8
- movs r2, 0x4
- bl InitYesNoMenu
- b _08043298
-_080431DA:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- movs r1, 0x2
- negs r1, r1
- cmp r0, r1
- beq _080432BA
- lsls r0, r2, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08043298
- cmp r1, 0x1
- beq _08043298
- ldr r0, _08043278 @ =gUnknown_0300481C
- mov r9, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- movs r1, 0x64
- mov r8, r1
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- ldr r6, _0804327C @ =gPlayerParty
- adds r0, r6
- ldr r1, _08043280 @ =gStringVar3
- mov r10, r1
- bl GetMonNick
- mov r2, r9
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r2, r9
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r2, r9
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, _08043284 @ =EggHatchSetMonNickname
- str r0, [sp, 0x4]
- movs r0, 0x3
- mov r1, r10
- adds r2, r5, 0
- adds r3, r4, 0
- bl DoNamingScreen
- b _080432BA
- .align 2, 0
-_08043278: .4byte gUnknown_0300481C
-_0804327C: .4byte gPlayerParty
-_08043280: .4byte gStringVar3
-_08043284: .4byte EggHatchSetMonNickname
-_08043288:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_08043298:
- ldr r0, _080432A4 @ =gUnknown_0300481C
- ldr r1, [r0]
-_0804329C:
- ldrb r0, [r1, 0x2]
- adds r0, 0x1
- strb r0, [r1, 0x2]
- b _080432BA
- .align 2, 0
-_080432A4: .4byte gUnknown_0300481C
-_080432A8:
- ldr r0, _080432DC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080432BA
- ldr r0, _080432E0 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
-_080432BA:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080432DC: .4byte gPaletteFade
-_080432E0: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end CB2_EggHatch_1
-
- thumb_func_start SpriteCB_Egg_0
-SpriteCB_Egg_0: @ 80432E4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _08043304
- ldr r0, _08043300 @ =SpriteCB_Egg_1
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x2E]
- b _08043334
- .align 2, 0
-_08043300: .4byte SpriteCB_Egg_1
-_08043304:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _08043334
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- bl CreateRandomEggShardSprite
-_08043334:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_Egg_0
-
- thumb_func_start SpriteCB_Egg_1
-SpriteCB_Egg_1: @ 804333C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _08043398
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _0804336C
- ldr r0, _08043368 @ =SpriteCB_Egg_2
- str r0, [r4, 0x1C]
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x32]
- b _08043398
- .align 2, 0
-_08043368: .4byte SpriteCB_Egg_2
-_0804336C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _08043398
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_08043398:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_Egg_1
-
- thumb_func_start SpriteCB_Egg_2
-SpriteCB_Egg_2: @ 80433A0
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _0804345A
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x26
- ble _08043418
- ldr r0, _08043404 @ =SpriteCB_Egg_3
- str r0, [r4, 0x1C]
- strh r6, [r4, 0x2E]
- ldr r5, _08043408 @ =gUnknown_0300481C
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0804340C @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- ldr r4, _08043410 @ =gSprites
- ldr r3, [r5]
- ldrb r2, [r3, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r6, [r1, 0x24]
- ldrb r2, [r3, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldr r2, _08043414 @ =gMonFrontPicCoords
- lsrs r0, 14
- adds r0, r2
- ldrb r0, [r0, 0x1]
- strh r0, [r1, 0x26]
- b _0804345A
- .align 2, 0
-_08043404: .4byte SpriteCB_Egg_3
-_08043408: .4byte gUnknown_0300481C
-_0804340C: .4byte gPlayerParty
-_08043410: .4byte gSprites
-_08043414: .4byte gMonFrontPicCoords
-_08043418:
- ldrh r0, [r4, 0x30]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xF
- bne _0804344C
- movs r0, 0x17
- bl PlaySE
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- bl CreateRandomEggShardSprite
- bl CreateRandomEggShardSprite
-_0804344C:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- bne _0804345A
- movs r0, 0x17
- bl PlaySE
-_0804345A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_Egg_2
-
- thumb_func_start SpriteCB_Egg_3
-SpriteCB_Egg_3: @ 8043460
- 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, 0x32
- ble _0804347A
- ldr r0, _08043480 @ =SpriteCB_Egg_4
- str r0, [r1, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x2E]
-_0804347A:
- pop {r0}
- bx r0
- .align 2, 0
-_08043480: .4byte SpriteCB_Egg_4
- thumb_func_end SpriteCB_Egg_3
-
- thumb_func_start SpriteCB_Egg_4
-SpriteCB_Egg_4: @ 8043484
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080434A4
- movs r1, 0x1
- negs r1, r1
- ldr r0, _080434F8 @ =0x0000ffff
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080434A4:
- ldrh r0, [r5, 0x2E]
- cmp r0, 0x3
- bhi _080434C0
- movs r4, 0
-_080434AC:
- bl CreateRandomEggShardSprite
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080434AC
-_080434C0:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- ldr r0, _080434FC @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080434EE
- movs r0, 0x71
- bl PlaySE
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _08043500 @ =SpriteCB_Egg_5
- str r0, [r5, 0x1C]
- strh r4, [r5, 0x2E]
-_080434EE:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080434F8: .4byte 0x0000ffff
-_080434FC: .4byte gPaletteFade
-_08043500: .4byte SpriteCB_Egg_5
- thumb_func_end SpriteCB_Egg_4
-
- thumb_func_start SpriteCB_Egg_5
-SpriteCB_Egg_5: @ 8043504
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08043540
- ldr r4, _08043594 @ =gSprites
- ldr r3, _08043598 @ =gUnknown_0300481C
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08043540:
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x8
- bne _0804355A
- movs r1, 0x1
- negs r1, r1
- ldr r0, _0804359C @ =0x0000ffff
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_0804355A:
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- bgt _08043578
- ldr r2, _08043594 @ =gSprites
- ldr r0, _08043598 @ =gUnknown_0300481C
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
-_08043578:
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x28
- ble _08043586
- ldr r0, _080435A0 @ =SpriteCallbackDummy
- str r0, [r5, 0x1C]
-_08043586:
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08043594: .4byte gSprites
-_08043598: .4byte gUnknown_0300481C
-_0804359C: .4byte 0x0000ffff
-_080435A0: .4byte SpriteCallbackDummy
- thumb_func_end SpriteCB_Egg_5
-
- thumb_func_start SpriteCB_EggShard
-SpriteCB_EggShard: @ 80435A4
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x32]
- ldrh r3, [r2, 0x38]
- adds r0, r1, r3
- strh r0, [r2, 0x38]
- movs r4, 0x36
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bge _080435C2
- adds r0, 0xFF
-_080435C2:
- asrs r0, 8
- strh r0, [r2, 0x24]
- movs r3, 0x38
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _080435D0
- adds r0, 0xFF
-_080435D0:
- asrs r0, 8
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r3, r1, r0
- strh r3, [r2, 0x32]
- movs r4, 0x22
- ldrsh r1, [r2, r4]
- movs r4, 0x26
- ldrsh r0, [r2, r4]
- adds r0, r1, r0
- adds r1, 0x14
- cmp r0, r1
- ble _080435F6
- lsls r0, r3, 16
- cmp r0, 0
- ble _080435F6
- adds r0, r2, 0
- bl DestroySprite
-_080435F6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_EggShard
-
- thumb_func_start CreateRandomEggShardSprite
-CreateRandomEggShardSprite: @ 80435FC
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r3, _0804364C @ =gEggShardVelocities
- ldr r0, _08043650 @ =gUnknown_0300481C
- ldr r4, [r0]
- adds r4, 0x3A
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r1, r0, r3
- ldrh r6, [r1]
- adds r3, 0x2
- adds r0, r3
- ldrh r5, [r0]
- adds r2, 0x1
- strb r2, [r4]
- bl Random
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsls r6, 16
- asrs r6, 16
- lsls r5, 16
- asrs r5, 16
- movs r0, 0x64
- str r0, [sp]
- lsrs r1, 16
- str r1, [sp, 0x4]
- movs r0, 0x78
- movs r1, 0x3C
- adds r2, r6, 0
- adds r3, r5, 0
- bl CreateEggShardSprite
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804364C: .4byte gEggShardVelocities
-_08043650: .4byte gUnknown_0300481C
- thumb_func_end CreateRandomEggShardSprite
-
- thumb_func_start CreateEggShardSprite
-CreateEggShardSprite: @ 8043654
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x1C]
- mov r9, r0
- ldr r1, [sp, 0x20]
- mov r10, r1
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _080436CC @ =gSpriteTemplate_820A418
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x4
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080436D0 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r6, [r0, 0x30]
- mov r1, r8
- strh r1, [r0, 0x32]
- mov r1, r9
- strh r1, [r0, 0x34]
- mov r1, r10
- bl StartSpriteAnim
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080436CC: .4byte gSpriteTemplate_820A418
-_080436D0: .4byte gSprites
- thumb_func_end CreateEggShardSprite
-
- thumb_func_start EggHatchPrintMessage1
-EggHatchPrintMessage1: @ 80436D4
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- ldr r0, _080436F8 @ =gUnknown_0300481C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x8
- adds r2, 0x38
- ldrb r2, [r2]
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x3
- bl sub_8002EB0
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080436F8: .4byte gUnknown_0300481C
- thumb_func_end EggHatchPrintMessage1
-
- thumb_func_start EggHatchPrintMessage2
-EggHatchPrintMessage2: @ 80436FC
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- ldr r0, _08043720 @ =gUnknown_0300481C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x8
- adds r2, 0x38
- ldrb r2, [r2]
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08043720: .4byte gUnknown_0300481C
- thumb_func_end EggHatchPrintMessage2
-
- thumb_func_start EggHatchUpdateWindowText
-EggHatchUpdateWindowText: @ 8043724
- push {lr}
- ldr r0, _08043738 @ =gUnknown_0300481C
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_80035AC
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08043738: .4byte gUnknown_0300481C
- thumb_func_end EggHatchUpdateWindowText
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/learn_move.s b/asm/learn_move.s
deleted file mode 100644
index 89cd2efb8..000000000
--- a/asm/learn_move.s
+++ /dev/null
@@ -1,2739 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_813265C
-sub_813265C: @ 813265C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_813265C
-
- thumb_func_start sub_8132670
-sub_8132670: @ 8132670
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _08132698 @ =sub_813269C
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08132698: .4byte sub_813269C
- thumb_func_end sub_8132670
-
- thumb_func_start sub_813269C
-sub_813269C: @ 813269C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _081326C8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081326C0
- ldr r0, _081326CC @ =sub_81326D8
- bl SetMainCallback2
- ldr r1, _081326D0 @ =gFieldCallback
- ldr r0, _081326D4 @ =sub_8080990
- str r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
-_081326C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081326C8: .4byte gPaletteFade
-_081326CC: .4byte sub_81326D8
-_081326D0: .4byte gFieldCallback
-_081326D4: .4byte sub_8080990
- thumb_func_end sub_813269C
-
- thumb_func_start sub_81326D8
-sub_81326D8: @ 81326D8
- push {r4,r5,lr}
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r4, _08132778 @ =gUnknown_030007B0
- ldr r0, _0813277C @ =0x02017000
- str r0, [r4]
- bl sub_81332A0
- ldr r1, [r4]
- ldr r0, _08132780 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- ldr r2, _08132784 @ =0x000002c5
- adds r1, r2
- movs r5, 0
- strb r0, [r1]
- bl sub_8133558
- ldr r0, _08132788 @ =sub_813265C
- bl SetVBlankCallback
- ldr r4, _0813278C @ =gWindowConfig_81E7240
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- ldr r4, _08132790 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- ldr r0, _08132794 @ =REG_BG0VOFS
- strh r5, [r0]
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- strh r5, [r0]
- ldr r0, _08132798 @ =gUnknown_08402D80
- bl LoadSpriteSheet
- ldr r0, _0813279C @ =gUnknown_08402D88
- bl LoadSpritePalette
- bl sub_8133358
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, _081327A0 @ =sub_8132870
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08132778: .4byte gUnknown_030007B0
-_0813277C: .4byte 0x02017000
-_08132780: .4byte gSpecialVar_0x8004
-_08132784: .4byte 0x000002c5
-_08132788: .4byte sub_813265C
-_0813278C: .4byte gWindowConfig_81E7240
-_08132790: .4byte gWindowConfig_81E6CE4
-_08132794: .4byte REG_BG0VOFS
-_08132798: .4byte gUnknown_08402D80
-_0813279C: .4byte gUnknown_08402D88
-_081327A0: .4byte sub_8132870
- thumb_func_end sub_81326D8
-
- thumb_func_start sub_81327A4
-sub_81327A4: @ 81327A4
- push {r4,r5,lr}
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r4, _08132844 @ =gUnknown_030007B0
- ldr r0, _08132848 @ =0x02017000
- str r0, [r4]
- bl sub_8133558
- ldr r1, [r4]
- ldr r0, _0813284C @ =gSpecialVar_0x8005
- ldrh r0, [r0]
- ldr r2, _08132850 @ =0x000002c6
- adds r1, r2
- movs r5, 0
- strb r0, [r1]
- ldr r0, _08132854 @ =sub_813265C
- bl SetVBlankCallback
- ldr r4, _08132858 @ =gWindowConfig_81E7240
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- ldr r4, _0813285C @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl MenuZeroFillScreen
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08132860 @ =REG_BG0VOFS
- strh r5, [r0]
- subs r0, 0x2
- strh r5, [r0]
- adds r0, 0x4
- strh r5, [r0]
- strh r5, [r0]
- ldr r0, _08132864 @ =gUnknown_08402D80
- bl LoadSpriteSheet
- ldr r0, _08132868 @ =gUnknown_08402D88
- bl LoadSpritePalette
- bl sub_8133358
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- ldr r0, _0813286C @ =sub_8132870
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08132844: .4byte gUnknown_030007B0
-_08132848: .4byte 0x02017000
-_0813284C: .4byte gSpecialVar_0x8005
-_08132850: .4byte 0x000002c6
-_08132854: .4byte sub_813265C
-_08132858: .4byte gWindowConfig_81E7240
-_0813285C: .4byte gWindowConfig_81E6CE4
-_08132860: .4byte REG_BG0VOFS
-_08132864: .4byte gUnknown_08402D80
-_08132868: .4byte gUnknown_08402D88
-_0813286C: .4byte sub_8132870
- thumb_func_end sub_81327A4
-
- thumb_func_start sub_8132870
-sub_8132870: @ 8132870
- push {r4,lr}
- bl sub_8132908
- ldr r4, _081328E0 @ =gUnknown_030007B0
- ldr r1, [r4]
- ldrb r0, [r1, 0x1D]
- cmp r0, 0
- beq _08132896
- movs r0, 0
- strb r0, [r1, 0x1D]
- ldr r0, [r4]
- ldrb r1, [r0, 0x18]
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 27
- lsrs r1, 24
- movs r0, 0x58
- bl sub_814AD7C
-_08132896:
- ldr r1, [r4]
- ldrb r0, [r1, 0x1E]
- cmp r0, 0
- beq _081328A6
- movs r0, 0
- strb r0, [r1, 0x1E]
- bl sub_8133800
-_081328A6:
- ldr r1, [r4]
- ldr r2, _081328E4 @ =0x000002c3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _081328C8
- adds r2, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8133AEC
- ldr r0, [r4]
- ldr r1, _081328E4 @ =0x000002c3
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_081328C8:
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081328E0: .4byte gUnknown_030007B0
-_081328E4: .4byte 0x000002c3
- thumb_func_end sub_8132870
-
- thumb_func_start sub_81328E8
-sub_81328E8: @ 81328E8
- push {r4,lr}
- adds r1, r0, 0
- ldr r4, _08132904 @ =gStringVar4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrintMessage
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08132904: .4byte gStringVar4
- thumb_func_end sub_81328E8
-
- thumb_func_start sub_8132908
-sub_8132908: @ 8132908
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r1, _0813292C @ =gUnknown_030007B0
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0x21
- bls _08132920
- b _08132FD6
-_08132920:
- lsls r0, 2
- ldr r1, _08132930 @ =_08132934
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0813292C: .4byte gUnknown_030007B0
-_08132930: .4byte _08132934
- .align 2, 0
-_08132934:
- .4byte _081329BC
- .4byte _08132A0C
- .4byte _08132A24
- .4byte _08132A2C
- .4byte _08132A60
- .4byte _08132A66
- .4byte _08132A98
- .4byte _08132FD6
- .4byte _08132AAA
- .4byte _08132AD0
- .4byte _08132FD6
- .4byte _08132FD6
- .4byte _08132B74
- .4byte _08132B98
- .4byte _08132DD8
- .4byte _08132DF8
- .4byte _08132BF0
- .4byte _08132C08
- .4byte _08132C2C
- .4byte _08132D40
- .4byte _08132D68
- .4byte _08132DB8
- .4byte _08132DC6
- .4byte _08132FD6
- .4byte _08132C74
- .4byte _08132C8C
- .4byte _08132CB0
- .4byte _08132D0C
- .4byte _08132E18
- .4byte _08132E7C
- .4byte _08132F58
- .4byte _08132F84
- .4byte _08132FA4
- .4byte _08132FBC
-_081329BC:
- ldr r1, [r7]
- ldrb r0, [r1]
- adds r0, 0x1
- movs r4, 0
- strb r0, [r1]
- bl sub_8132FEC
- movs r0, 0
- bl sub_8133030
- bl sub_8133800
- ldr r0, _08132A04 @ =gSprites
- adds r0, 0x64
- movs r1, 0x48
- strh r1, [r0]
- ldr r0, [r7]
- ldr r1, _08132A08 @ =0x000002c3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- b _08132FD6
- .align 2, 0
-_08132A04: .4byte gSprites
-_08132A08: .4byte 0x000002c3
-_08132A0C:
- ldr r0, _08132A20 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08132A1A
- b _08132FD6
-_08132A1A:
- ldr r1, [r7]
- movs r0, 0x4
- b _08132FD4
- .align 2, 0
-_08132A20: .4byte gPaletteFade
-_08132A24:
- ldr r1, [r7]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
-_08132A2C:
- movs r0, 0
- bl sub_8133030
- bl sub_8133800
- ldr r2, _08132A54 @ =gUnknown_030007B0
- ldr r0, [r2]
- ldr r1, _08132A58 @ =0x000002c3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _08132A5C @ =gSprites
- adds r0, 0x64
- movs r1, 0x48
- strh r1, [r0]
- b _08132FD6
- .align 2, 0
-_08132A54: .4byte gUnknown_030007B0
-_08132A58: .4byte 0x000002c3
-_08132A5C: .4byte gSprites
-_08132A60:
- bl sub_81330E8
- b _08132A9C
-_08132A66:
- movs r0, 0
- bl sub_8133140
- bl sub_8133800
- ldr r2, _08132A8C @ =gUnknown_030007B0
- ldr r0, [r2]
- ldr r1, _08132A90 @ =0x000002c3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08132A94 @ =gSprites
- adds r0, 0x64
- movs r1, 0x48
- strh r1, [r0]
- ldr r1, [r2]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132A8C: .4byte gUnknown_030007B0
-_08132A90: .4byte 0x000002c3
-_08132A94: .4byte gSprites
-_08132A98:
- bl sub_8133248
-_08132A9C:
- lsls r0, 24
- cmp r0, 0
- beq _08132AA4
- b _08132FD6
-_08132AA4:
- bl sub_813362C
- b _08132FD6
-_08132AAA:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132AB6
- b _08132FD6
-_08132AB6:
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _08132ACC @ =gUnknown_030007B0
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132ACC: .4byte gUnknown_030007B0
-_08132AD0:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- bne _08132B3A
- bl sub_8133CA4
- ldr r4, _08132B1C @ =gUnknown_030007B0
- ldr r2, [r4]
- ldr r1, _08132B20 @ =0x000002c5
- adds r0, r2, r1
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08132B24 @ =gPlayerParty
- adds r0, r1
- ldrb r1, [r2, 0x1B]
- lsls r1, 1
- adds r2, 0x20
- adds r2, r1
- ldrh r1, [r2]
- bl GiveMoveToMon
- lsls r0, 16
- ldr r1, _08132B28 @ =0xffff0000
- cmp r0, r1
- beq _08132B34
- ldr r0, _08132B2C @ =gOtherText_PokeLearnedMove
- bl sub_81328E8
- ldr r1, _08132B30 @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, [r4]
- movs r0, 0x1F
- b _08132FD4
- .align 2, 0
-_08132B1C: .4byte gUnknown_030007B0
-_08132B20: .4byte 0x000002c5
-_08132B24: .4byte gPlayerParty
-_08132B28: .4byte 0xffff0000
-_08132B2C: .4byte gOtherText_PokeLearnedMove
-_08132B30: .4byte gSpecialVar_0x8004
-_08132B34:
- ldr r1, [r4]
- movs r0, 0x10
- b _08132FD4
-_08132B3A:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08132B48
- cmp r1, 0x1
- beq _08132B48
- b _08132FD6
-_08132B48:
- bl sub_8133CA4
- ldr r3, _08132B70 @ =gUnknown_030007B0
- ldr r1, [r3]
- movs r2, 0xB1
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08132B60
- movs r0, 0x3
- strb r0, [r1]
-_08132B60:
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08132B6C
- b _08132FD6
-_08132B6C:
- movs r0, 0x5
- b _08132FD4
- .align 2, 0
-_08132B70: .4byte gUnknown_030007B0
-_08132B74:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132B80
- b _08132FD6
-_08132B80:
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _08132B94 @ =gUnknown_030007B0
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132B94: .4byte gUnknown_030007B0
-_08132B98:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r4, r0, 24
- cmp r4, 0
- bne _08132BB4
- bl sub_8133CA4
- ldr r0, _08132BB0 @ =gSpecialVar_0x8004
- strh r4, [r0]
- b _08132FCE
- .align 2, 0
-_08132BB0: .4byte gSpecialVar_0x8004
-_08132BB4:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08132BC2
- cmp r4, 0x1
- beq _08132BC2
- b _08132FD6
-_08132BC2:
- bl sub_8133CA4
- ldr r3, _08132BEC @ =gUnknown_030007B0
- ldr r1, [r3]
- movs r2, 0xB1
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08132BDA
- movs r0, 0x3
- strb r0, [r1]
-_08132BDA:
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08132BE6
- b _08132FD6
-_08132BE6:
- movs r0, 0x5
- b _08132FD4
- .align 2, 0
-_08132BEC: .4byte gUnknown_030007B0
-_08132BF0:
- ldr r0, _08132C00 @ =gOtherText_DeleteOlderMove
- bl sub_81328E8
- ldr r0, _08132C04 @ =gUnknown_030007B0
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132C00: .4byte gOtherText_DeleteOlderMove
-_08132C04: .4byte gUnknown_030007B0
-_08132C08:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132C14
- b _08132FD6
-_08132C14:
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _08132C28 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x12
- b _08132FD4
- .align 2, 0
-_08132C28: .4byte gUnknown_030007B0
-_08132C2C:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- bne _08132C54
- bl sub_8133CA4
- ldr r0, _08132C4C @ =gOtherText_WhichMoveToForget
- bl sub_81328E8
- ldr r0, _08132C50 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x13
- b _08132FD4
- .align 2, 0
-_08132C4C: .4byte gOtherText_WhichMoveToForget
-_08132C50: .4byte gUnknown_030007B0
-_08132C54:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08132C62
- cmp r1, 0x1
- beq _08132C62
- b _08132FD6
-_08132C62:
- bl sub_8133CA4
- ldr r0, _08132C70 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x18
- b _08132FD4
- .align 2, 0
-_08132C70: .4byte gUnknown_030007B0
-_08132C74:
- ldr r0, _08132C84 @ =gOtherText_StopLearningMove
- bl sub_81328E8
- ldr r0, _08132C88 @ =gUnknown_030007B0
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132C84: .4byte gOtherText_StopLearningMove
-_08132C88: .4byte gUnknown_030007B0
-_08132C8C:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132C98
- b _08132FD6
-_08132C98:
- ldr r0, _08132CAC @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x1A
- strb r0, [r1]
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- b _08132FD6
- .align 2, 0
-_08132CAC: .4byte gUnknown_030007B0
-_08132CB0:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- bne _08132CCC
- bl sub_8133CA4
- ldr r0, _08132CC8 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x1B
- b _08132FD4
- .align 2, 0
-_08132CC8: .4byte gUnknown_030007B0
-_08132CCC:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08132CDA
- cmp r1, 0x1
- beq _08132CDA
- b _08132FD6
-_08132CDA:
- bl sub_8133CA4
- ldr r1, _08132D08 @ =gUnknown_030007B0
- ldr r2, [r1]
- movs r3, 0xB1
- lsls r3, 2
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08132CF2
- movs r0, 0x3
- strb r0, [r2]
-_08132CF2:
- ldr r2, [r1]
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08132D00
- movs r0, 0x5
- strb r0, [r2]
-_08132D00:
- ldr r1, [r1]
- movs r0, 0x10
- b _08132FD4
- .align 2, 0
-_08132D08: .4byte gUnknown_030007B0
-_08132D0C:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132D18
- b _08132FD6
-_08132D18:
- ldr r3, _08132D3C @ =gUnknown_030007B0
- ldr r1, [r3]
- movs r2, 0xB1
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08132D2C
- movs r0, 0x3
- strb r0, [r1]
-_08132D2C:
- ldr r1, [r3]
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08132D38
- b _08132FD6
-_08132D38:
- movs r0, 0x5
- b _08132FD4
- .align 2, 0
-_08132D3C: .4byte gUnknown_030007B0
-_08132D40:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132D4C
- b _08132FD6
-_08132D4C:
- ldr r0, _08132D64 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x14
- strb r0, [r1]
- subs r0, 0x15
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08132FD6
- .align 2, 0
-_08132D64: .4byte gUnknown_030007B0
-_08132D68:
- ldr r0, _08132DA4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08132D76
- b _08132FD6
-_08132D76:
- ldr r0, _08132DA8 @ =gPlayerParty
- ldr r5, [r7]
- ldr r2, _08132DAC @ =0x000002c5
- adds r1, r5, r2
- ldrb r1, [r1]
- ldr r2, _08132DB0 @ =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _08132DB4 @ =sub_81327A4
- ldrb r4, [r5, 0x1B]
- lsls r4, 1
- adds r5, 0x20
- adds r5, r4
- ldrh r4, [r5]
- str r4, [sp]
- bl sub_809D9F0
- ldr r1, [r7]
- movs r0, 0x1C
- b _08132FD4
- .align 2, 0
-_08132DA4: .4byte gPaletteFade
-_08132DA8: .4byte gPlayerParty
-_08132DAC: .4byte 0x000002c5
-_08132DB0: .4byte gPlayerPartyCount
-_08132DB4: .4byte sub_81327A4
-_08132DB8:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- bne _08132DC4
- b _08132FD6
-_08132DC4:
- b _08132FCE
-_08132DC6:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08132FD6
-_08132DD8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08132DF4 @ =gUnknown_030007B0
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x1
- b _08132FD4
- .align 2, 0
-_08132DF4: .4byte gUnknown_030007B0
-_08132DF8:
- ldr r0, _08132E10 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08132E06
- b _08132FD6
-_08132E06:
- ldr r0, _08132E14 @ =c2_exit_to_overworld_2_switch
- bl SetMainCallback2
- b _08132FD6
- .align 2, 0
-_08132E10: .4byte gPaletteFade
-_08132E14: .4byte c2_exit_to_overworld_2_switch
-_08132E18:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r5, _08132E74 @ =gUnknown_030007B0
- ldr r1, [r5]
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- bl sub_8132FEC
- bl sub_8133800
- ldr r0, [r5]
- movs r4, 0xB1
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08132E4E
- movs r0, 0x1
- bl sub_8133030
-_08132E4E:
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08132E66
- ldr r0, _08132E78 @ =gSprites
- adds r0, 0x64
- movs r1, 0x48
- strh r1, [r0]
- movs r0, 0x1
- bl sub_8133140
-_08132E66:
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8133AEC
- b _08132FD6
- .align 2, 0
-_08132E74: .4byte gUnknown_030007B0
-_08132E78: .4byte gSprites
-_08132E7C:
- ldr r0, _08132E9C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08132E8A
- b _08132FD6
-_08132E8A:
- ldr r1, [r7]
- ldr r0, _08132EA0 @ =0x000002c6
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0x4
- bne _08132EA4
- movs r0, 0x18
- b _08132FD4
- .align 2, 0
-_08132E9C: .4byte gPaletteFade
-_08132EA0: .4byte 0x000002c6
-_08132EA4:
- ldr r4, _08132F38 @ =0x000002c5
- adds r0, r1, r4
- ldrb r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _08132F3C @ =gPlayerParty
- adds r0, r5
- ldrb r1, [r2]
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08132F40 @ =gStringVar3
- movs r1, 0xD
- mov r9, r1
- mov r1, r9
- muls r1, r0
- ldr r0, _08132F44 @ =gMoveNames
- mov r8, r0
- add r1, r8
- adds r0, r2, 0
- bl StringCopy
- ldr r1, [r7]
- adds r0, r1, r4
- ldrb r0, [r0]
- muls r0, r6
- adds r0, r5
- ldr r2, _08132F48 @ =0x000002c6
- adds r1, r2
- ldrb r1, [r1]
- bl RemoveMonPPBonus
- ldr r3, [r7]
- adds r4, r3, r4
- ldrb r0, [r4]
- muls r0, r6
- adds r0, r5
- ldrb r2, [r3, 0x1B]
- lsls r2, 1
- adds r1, r3, 0
- adds r1, 0x20
- adds r1, r2
- ldrh r1, [r1]
- ldr r2, _08132F48 @ =0x000002c6
- adds r3, r2
- ldrb r2, [r3]
- bl SetMonMoveSlot
- ldr r0, _08132F4C @ =gStringVar2
- ldr r1, [r7]
- ldrb r2, [r1, 0x1B]
- lsls r2, 1
- adds r1, 0x20
- adds r1, r2
- ldrh r1, [r1]
- mov r2, r9
- muls r2, r1
- adds r1, r2, 0
- add r1, r8
- bl StringCopy
- ldr r0, _08132F50 @ =gOtherText_ForgotMove123
- bl sub_81328E8
- ldr r1, [r7]
- movs r0, 0x1E
- strb r0, [r1]
- ldr r1, _08132F54 @ =gSpecialVar_0x8004
- movs r0, 0x1
- strh r0, [r1]
- b _08132FD6
- .align 2, 0
-_08132F38: .4byte 0x000002c5
-_08132F3C: .4byte gPlayerParty
-_08132F40: .4byte gStringVar3
-_08132F44: .4byte gMoveNames
-_08132F48: .4byte 0x000002c6
-_08132F4C: .4byte gStringVar2
-_08132F50: .4byte gOtherText_ForgotMove123
-_08132F54: .4byte gSpecialVar_0x8004
-_08132F58:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _08132FD6
- ldr r0, _08132F78 @ =gOtherText_ForgotOrDidNotLearnMove / deuOtherText_ForgotAndLearned
- bl sub_81328E8
- ldr r0, _08132F7C @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x1F
- strb r0, [r1]
- ldr r0, _08132F80 @ =0x0000016f
- bl PlayFanfare
- b _08132FD6
- .align 2, 0
-.ifdef ENGLISH
-_08132F78: .4byte gOtherText_ForgotOrDidNotLearnMove
-.else
-_08132F78: .4byte deuOtherText_ForgotAndLearned
-.endif
-_08132F7C: .4byte gUnknown_030007B0
-_08132F80: .4byte 0x0000016f
-_08132F84:
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _08132FD6
- ldr r0, _08132F9C @ =0x0000016f
- bl PlayFanfare
- ldr r0, _08132FA0 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x20
- b _08132FD4
- .align 2, 0
-_08132F9C: .4byte 0x0000016f
-_08132FA0: .4byte gUnknown_030007B0
-_08132FA4:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08132FD6
- ldr r0, _08132FB8 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0x21
- b _08132FD4
- .align 2, 0
-_08132FB8: .4byte gUnknown_030007B0
-_08132FBC:
- ldr r0, _08132FE4 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08132FD6
- movs r0, 0x5
- bl PlaySE
-_08132FCE:
- ldr r0, _08132FE8 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0xE
-_08132FD4:
- strb r0, [r1]
-_08132FD6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08132FE4: .4byte gMain
-_08132FE8: .4byte gUnknown_030007B0
- thumb_func_end sub_8132908
-
- thumb_func_start sub_8132FEC
-sub_8132FEC: @ 8132FEC
- push {r4-r6,lr}
- ldr r0, _08133024 @ =gWindowConfig_81E7240
- bl BasicInitMenuWindow
- movs r5, 0
- ldr r4, _08133028 @ =gUnknown_08402CF8
- adds r6, r4, 0
-_08132FFA:
- lsls r3, r5, 2
- ldrb r0, [r4]
- adds r1, r6, 0x1
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r6, 0x2
- adds r3, r2
- ldrb r2, [r3]
- ldrb r3, [r4, 0x3]
- bl MenuDrawTextWindow
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- bls _08132FFA
- ldr r0, _0813302C @ =gWindowConfig_81E6CE4
- bl BasicInitMenuWindow
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08133024: .4byte gWindowConfig_81E7240
-_08133028: .4byte gUnknown_08402CF8
-_0813302C: .4byte gWindowConfig_81E6CE4
- thumb_func_end sub_8132FEC
-
- thumb_func_start sub_8133030
-sub_8133030: @ 8133030
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _081330D4 @ =gSprites
- ldr r5, _081330D8 @ =gUnknown_030007B0
- ldr r0, [r5]
- ldrb r0, [r0, 0x3]
- 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]
- ldrb r1, [r0, 0x4]
- 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]
- movs r2, 0
- ldr r6, _081330DC @ =gUnknown_08402D08
- movs r3, 0x4
-_08133070:
- ldr r0, [r5]
- adds r0, r2
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xF
- ble _08133070
- ldr r0, [r6]
- cmp r0, 0
- beq _081330B4
- ldr r5, _081330E0 @ =gTileBuffer
- adds r4, r6, 0
-_08133096:
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x40
- movs r3, 0x2
- bl sub_8072C74
- ldrb r1, [r4, 0x4]
- ldrb r2, [r4, 0x5]
- adds r0, r5, 0
- bl MenuPrint
- adds r4, 0x8
- ldr r0, [r4]
- cmp r0, 0
- bne _08133096
-_081330B4:
- cmp r7, 0
- bne _081330CC
- ldr r0, _081330E4 @ =gOtherText_TeachWhichMove
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0x78
- movs r3, 0xC0
- bl sub_8072AB0
-_081330CC:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081330D4: .4byte gSprites
-_081330D8: .4byte gUnknown_030007B0
-_081330DC: .4byte gUnknown_08402D08
-_081330E0: .4byte gTileBuffer
-_081330E4: .4byte gOtherText_TeachWhichMove
- thumb_func_end sub_8133030
-
- thumb_func_start sub_81330E8
-sub_81330E8: @ 81330E8
- push {r4,lr}
- ldr r0, _08133134 @ =gMain
- ldrh r2, [r0, 0x2E]
- movs r1, 0x30
- ands r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
- ldr r0, _08133138 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0813310C
- movs r0, 0xC0
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0813310C
- adds r4, 0x1
-_0813310C:
- cmp r4, 0
- beq _0813312A
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0813313C @ =gUnknown_030007B0
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0xB1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0813312A:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08133134: .4byte gMain
-_08133138: .4byte gSaveBlock2
-_0813313C: .4byte gUnknown_030007B0
- thumb_func_end sub_81330E8
-
- thumb_func_start sub_8133140
-sub_8133140: @ 8133140
- 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
- str r0, [sp, 0x8]
- ldr r4, _08133234 @ =gSprites
- ldr r5, _08133238 @ =gUnknown_030007B0
- ldr r0, [r5]
- ldrb r0, [r0, 0x3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x5
- negs r3, r3
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r5]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r3, 0
- ands r1, r2
- strb r1, [r0]
- movs r6, 0
- ldr r7, _0813323C @ =gUnknown_08402D08
-_0813318A:
- ldr r0, [r5]
- adds r0, r6
- ldrb r0, [r0, 0x7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0xF
- ble _0813318A
- movs r6, 0
- ldr r0, [r7]
- cmp r0, 0
- beq _08133208
- mov r9, r7
- mov r10, r6
- movs r0, 0x24
- add r0, r9
- mov r8, r0
-_081331BA:
- mov r0, r9
- adds r0, 0x20
- add r0, r10
- ldr r1, [r0]
- ldr r0, _08133240 @ =gTileBuffer
- movs r2, 0x40
- movs r3, 0x2
- bl sub_8072C74
- mov r0, r8
- ldrb r5, [r0]
- ldrb r4, [r0, 0x1]
- ldr r0, _08133240 @ =gTileBuffer
- adds r1, r5, 0
- adds r2, r4, 0
- bl MenuPrint
- cmp r6, 0
- beq _081331F8
- adds r1, r4, 0x2
- lsls r1, 24
- lsrs r1, 24
- adds r2, r5, 0x7
- lsls r2, 24
- lsrs r2, 24
- adds r3, r4, 0x3
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- bl MenuZeroFillWindowRect
-_081331F8:
- movs r0, 0x8
- add r10, r0
- add r8, r0
- adds r7, 0x8
- adds r6, 0x1
- ldr r0, [r7]
- cmp r0, 0
- bne _081331BA
-_08133208:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _08133222
- ldr r0, _08133244 @ =gOtherText_TeachWhichMove
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0x78
- movs r3, 0xC0
- bl sub_8072AB0
-_08133222:
- 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
-_08133234: .4byte gSprites
-_08133238: .4byte gUnknown_030007B0
-_0813323C: .4byte gUnknown_08402D08
-_08133240: .4byte gTileBuffer
-_08133244: .4byte gOtherText_TeachWhichMove
- thumb_func_end sub_8133140
-
- thumb_func_start sub_8133248
-sub_8133248: @ 8133248
- push {r4,lr}
- ldr r0, _08133294 @ =gMain
- ldrh r2, [r0, 0x2E]
- movs r1, 0x30
- ands r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
- ldr r0, _08133298 @ =gSaveBlock2
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0813326C
- movs r0, 0xC0
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0813326C
- adds r4, 0x1
-_0813326C:
- cmp r4, 0
- beq _0813328A
- movs r0, 0x5
- bl PlaySE
- ldr r2, _0813329C @ =gUnknown_030007B0
- ldr r1, [r2]
- movs r3, 0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, [r2]
- movs r1, 0xB1
- lsls r1, 2
- adds r0, r1
- strb r3, [r0]
-_0813328A:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08133294: .4byte gMain
-_08133298: .4byte gSaveBlock2
-_0813329C: .4byte gUnknown_030007B0
- thumb_func_end sub_8133248
-
- thumb_func_start sub_81332A0
-sub_81332A0: @ 81332A0
- push {r4,lr}
- ldr r2, _081332F8 @ =gUnknown_030007B0
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x19]
- ldr r0, [r2]
- strb r1, [r0, 0x18]
- ldr r0, [r2]
- strb r1, [r0, 0x1C]
- ldr r0, [r2]
- strb r1, [r0, 0x1A]
- ldr r0, [r2]
- strb r1, [r0, 0x1B]
- ldr r0, [r2]
- strb r1, [r0, 0x1D]
- ldr r0, [r2]
- strb r1, [r0, 0x1E]
- ldr r0, [r2]
- ldr r3, _081332FC @ =0x000002c3
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x1
- adds r0, r3
- strb r1, [r0]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0
-_081332E0:
- ldr r0, [r4]
- lsls r1, r3, 1
- adds r0, 0x20
- adds r0, r1
- strh r2, [r0]
- adds r3, 0x1
- cmp r3, 0x13
- ble _081332E0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081332F8: .4byte gUnknown_030007B0
-_081332FC: .4byte 0x000002c3
- thumb_func_end sub_81332A0
-
- thumb_func_start sub_8133300
-sub_8133300: @ 8133300
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- movs r0, 0xFF
- ands r1, r0
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _08133324
- cmp r0, 0x1
- ble _0813334A
- cmp r0, 0x2
- beq _08133338
- b _0813334A
-_08133324:
- adds r0, r1, 0
- movs r1, 0x3
- bl Sin
- ldrh r1, [r4, 0x32]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- strh r0, [r4, 0x24]
- b _0813334A
-_08133338:
- adds r0, r1, 0
- movs r1, 0x1
- bl Sin
- ldrh r1, [r4, 0x32]
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- strh r0, [r4, 0x26]
-_0813334A:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8133300
-
- thumb_func_start sub_8133358
-sub_8133358: @ 8133358
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r6, _0813353C @ =gSpriteTemplate_8402D90
- adds r0, r6, 0
- movs r1, 0x8
- movs r2, 0x10
- movs r3, 0
- bl CreateSprite
- ldr r4, _08133540 @ =gUnknown_030007B0
- ldr r1, [r4]
- strb r0, [r1, 0x3]
- ldr r5, _08133544 @ =gSprites
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- mov r8, r1
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldrb r1, [r2, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08133548 @ =0x0000ffff
- strh r1, [r0, 0x32]
- adds r0, r6, 0
- movs r1, 0x48
- movs r2, 0x10
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- strb r0, [r1, 0x4]
- ldr r0, [r4]
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r4]
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldrb r1, [r2, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldr r0, _0813354C @ =gSpriteTemplate_8402DC0
- mov r9, r0
- movs r1, 0xA0
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- strb r0, [r1, 0x5]
- ldr r0, [r4]
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r6, 0x2
- strh r6, [r0, 0x2E]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x32]
- mov r0, r9
- movs r1, 0xA0
- movs r2, 0x3C
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- strb r0, [r1, 0x6]
- ldr r2, [r4]
- ldrb r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r2, 0x6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- movs r5, 0
- ldr r6, _08133550 @ =gSpriteTemplate_8402E08
-_0813344E:
- adds r2, r5, 0
- cmp r5, 0
- bge _08133456
- adds r2, r5, 0x3
-_08133456:
- asrs r2, 2
- lsls r1, r2, 2
- subs r1, r5, r1
- lsls r1, 19
- movs r0, 0xE0
- lsls r0, 13
- adds r1, r0
- asrs r1, 16
- lsls r2, 19
- movs r0, 0xD0
- lsls r0, 14
- adds r2, r0
- asrs r2, 16
- adds r0, r6, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r4]
- adds r2, r5, 0x4
- adds r1, 0x3
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x3
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08133544 @ =gSprites
- adds r0, r1
- movs r1, 0x2
- bl StartSpriteAnim
- adds r5, 0x1
- cmp r5, 0x7
- ble _0813344E
- movs r5, 0
- ldr r7, _08133550 @ =gSpriteTemplate_8402E08
- ldr r6, _08133540 @ =gUnknown_030007B0
-_081334A6:
- adds r2, r5, 0
- cmp r5, 0
- bge _081334AE
- adds r2, r5, 0x3
-_081334AE:
- asrs r2, 2
- lsls r1, r2, 2
- subs r1, r5, r1
- lsls r1, 19
- movs r0, 0xE0
- lsls r0, 13
- adds r1, r0
- asrs r1, 16
- lsls r2, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r2, r0
- asrs r2, 16
- adds r0, r7, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, [r6]
- adds r2, r5, 0
- adds r2, 0xC
- adds r1, 0x3
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, 0x3
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08133544 @ =gSprites
- adds r0, r4
- movs r1, 0x2
- bl StartSpriteAnim
- adds r5, 0x1
- cmp r5, 0x7
- ble _081334A6
- movs r5, 0
- ldr r3, _08133540 @ =gUnknown_030007B0
- movs r2, 0x4
-_08133500:
- ldr r0, [r3]
- adds r0, 0x3
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x13
- ble _08133500
- ldr r1, _08133548 @ =0x0000ffff
- ldr r3, _08133554 @ =0x00002d9f
- movs r0, 0x12
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl CreateBlendedOutlineCursor
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0813353C: .4byte gSpriteTemplate_8402D90
-_08133540: .4byte gUnknown_030007B0
-_08133544: .4byte gSprites
-_08133548: .4byte 0x0000ffff
-_0813354C: .4byte gSpriteTemplate_8402DC0
-_08133550: .4byte gSpriteTemplate_8402E08
-_08133554: .4byte 0x00002d9f
- thumb_func_end sub_8133358
-
- thumb_func_start sub_8133558
-sub_8133558: @ 8133558
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r5, _081335F4 @ =gUnknown_030007B0
- ldr r1, [r5]
- ldr r2, _081335F8 @ =0x000002c5
- adds r0, r1, r2
- ldrb r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _081335FC @ =gPlayerParty
- adds r0, r2
- adds r1, 0x20
- bl GetMoveRelearnerMoves
- ldr r1, [r5]
- strb r0, [r1, 0x1A]
- movs r4, 0
- ldr r0, [r5]
- ldrb r0, [r0, 0x1A]
- cmp r4, r0
- bge _081335AA
- adds r6, r5, 0
- movs r5, 0x52
-_08133586:
- lsls r2, r4, 1
- ldr r1, [r6]
- adds r0, r1, r5
- adds r1, 0x20
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _08133600 @ =gMoveNames
- adds r1, r2
- bl StringCopy
- adds r5, 0x19
- adds r4, 0x1
- ldr r0, [r6]
- ldrb r0, [r0, 0x1A]
- cmp r4, r0
- blt _08133586
-_081335AA:
- ldr r4, _081335F4 @ =gUnknown_030007B0
- ldr r0, [r4]
- ldr r1, _081335F8 @ =0x000002c5
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _081335FC @ =gPlayerParty
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- ldr r0, _08133604 @ =gStringVar1
- mov r1, sp
- bl StringCopy10
- ldr r0, [r4]
- ldrb r2, [r0, 0x1A]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r2
- adds r1, 0x52
- adds r0, r1
- ldr r1, _08133608 @ =gUnknownText_Exit
- bl StringCopy
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- adds r0, 0x1
- strb r0, [r1, 0x1A]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081335F4: .4byte gUnknown_030007B0
-_081335F8: .4byte 0x000002c5
-_081335FC: .4byte gPlayerParty
-_08133600: .4byte gMoveNames
-_08133604: .4byte gStringVar1
-_08133608: .4byte gUnknownText_Exit
- thumb_func_end sub_8133558
-
- thumb_func_start sub_813360C
-sub_813360C: @ 813360C
- lsls r0, 24
- ldr r3, _08133628 @ =gUnknown_030007B0
- ldr r2, [r3]
- ldrb r1, [r2, 0x18]
- strb r1, [r2, 0x1C]
- ldr r1, [r3]
- lsrs r0, 24
- ldrb r2, [r1, 0x18]
- adds r0, r2
- strb r0, [r1, 0x18]
- ldr r1, [r3]
- movs r0, 0x1
- strb r0, [r1, 0x1D]
- bx lr
- .align 2, 0
-_08133628: .4byte gUnknown_030007B0
- thumb_func_end sub_813360C
-
- thumb_func_start sub_813362C
-sub_813362C: @ 813362C
- push {r4,r5,lr}
- ldr r2, _08133670 @ =gMain
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08133688
- ldr r4, _08133674 @ =gUnknown_030007B0
- ldr r0, [r4]
- ldrb r0, [r0, 0x1B]
- cmp r0, 0
- bne _08133646
- b _08133796
-_08133646:
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x1B]
- subs r0, 0x1
- strb r0, [r1, 0x1B]
- ldr r0, [r4]
- ldr r1, _08133678 @ =0x000002c3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _0813367C
- movs r0, 0x1
- negs r0, r0
- bl sub_813360C
- b _08133796
- .align 2, 0
-_08133670: .4byte gMain
-_08133674: .4byte gUnknown_030007B0
-_08133678: .4byte 0x000002c3
-_0813367C:
- ldrb r0, [r1, 0x19]
- cmp r0, 0
- bne _08133684
- b _08133796
-_08133684:
- subs r0, 0x1
- b _081336DC
-_08133688:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081336E8
- ldr r4, _081336C8 @ =gUnknown_030007B0
- ldr r0, [r4]
- ldrb r1, [r0, 0x1B]
- ldrb r0, [r0, 0x1A]
- subs r0, 0x1
- cmp r1, r0
- blt _081336A0
- b _08133796
-_081336A0:
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x1B]
- adds r0, 0x1
- strb r0, [r1, 0x1B]
- ldr r0, [r4]
- ldr r3, _081336CC @ =0x000002c3
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0x2
- beq _081336D0
- movs r0, 0x1
- bl sub_813360C
- b _08133796
- .align 2, 0
-_081336C8: .4byte gUnknown_030007B0
-_081336CC: .4byte 0x000002c3
-_081336D0:
- ldrb r2, [r1, 0x19]
- ldrb r0, [r1, 0x1A]
- subs r0, 0x3
- cmp r2, r0
- beq _08133796
- adds r0, r2, 0x1
-_081336DC:
- strb r0, [r1, 0x19]
- ldr r1, [r4]
- ldrb r0, [r1, 0x1E]
- adds r0, 0x1
- strb r0, [r1, 0x1E]
- b _08133796
-_081336E8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0813376C
- movs r0, 0x5
- bl PlaySE
- ldr r5, _08133738 @ =gUnknown_030007B0
- ldr r2, [r5]
- ldrb r1, [r2, 0x1B]
- ldrb r0, [r2, 0x1A]
- subs r0, 0x1
- cmp r1, r0
- beq _08133748
- movs r0, 0x8
- strb r0, [r2]
- ldr r0, _0813373C @ =gStringVar2
- ldr r1, [r5]
- ldrb r3, [r1, 0x1B]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 3
- adds r2, r3
- adds r2, 0x52
- adds r1, r2
- bl StringCopy
- ldr r4, _08133740 @ =gStringVar4
- ldr r1, _08133744 @ =gOtherText_TeachSpecificMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrintMessage
- b _08133796
- .align 2, 0
-_08133738: .4byte gUnknown_030007B0
-_0813373C: .4byte gStringVar2
-_08133740: .4byte gStringVar4
-_08133744: .4byte gOtherText_TeachSpecificMove
-_08133748:
- ldr r4, _08133764 @ =gStringVar4
- ldr r1, _08133768 @ =gOtherText_GiveUpTeachingMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrintMessage
- ldr r1, [r5]
- movs r0, 0xC
- strb r0, [r1]
- b _08133796
- .align 2, 0
-_08133764: .4byte gStringVar4
-_08133768: .4byte gOtherText_GiveUpTeachingMove
-_0813376C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08133796
- movs r0, 0x5
- bl PlaySE
- ldr r0, _081337D4 @ =gUnknown_030007B0
- ldr r1, [r0]
- movs r0, 0xC
- strb r0, [r1]
- ldr r4, _081337D8 @ =gStringVar4
- ldr r1, _081337DC @ =gOtherText_GiveUpTeachingMove
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrintMessage
-_08133796:
- ldr r0, _081337D4 @ =gUnknown_030007B0
- ldr r4, [r0]
- ldrb r0, [r4, 0x1A]
- cmp r0, 0x3
- bls _081337F8
- ldr r3, _081337E0 @ =gSprites
- adds r5, r3, 0
- adds r5, 0xC6
- ldrb r0, [r5]
- movs r1, 0x5
- negs r1, r1
- adds r2, r1, 0
- ands r2, r0
- strb r2, [r5]
- movs r0, 0x85
- lsls r0, 1
- adds r0, r3
- mov r12, r0
- ldrb r0, [r0]
- adds r3, r1, 0
- ands r3, r0
- mov r1, r12
- strb r3, [r1]
- ldrb r0, [r4, 0x19]
- cmp r0, 0
- bne _081337E4
- movs r1, 0x4
- adds r0, r2, 0
- orrs r0, r1
- strb r0, [r5]
- b _081337F8
- .align 2, 0
-_081337D4: .4byte gUnknown_030007B0
-_081337D8: .4byte gStringVar4
-_081337DC: .4byte gOtherText_GiveUpTeachingMove
-_081337E0: .4byte gSprites
-_081337E4:
- ldrb r1, [r4, 0x19]
- ldrb r0, [r4, 0x1A]
- subs r0, 0x3
- cmp r1, r0
- bne _081337F8
- movs r1, 0x4
- adds r0, r3, 0
- orrs r0, r1
- mov r3, r12
- strb r0, [r3]
-_081337F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_813362C
-
- thumb_func_start sub_8133800
-sub_8133800: @ 8133800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r1, _08133834 @ =gUnknown_030007B0
- ldr r0, [r1]
- ldrb r6, [r0, 0x19]
- ldr r3, _08133838 @ =gTileBuffer
- mov r10, r1
- ldr r0, _0813383C @ =gBattleMoves
- mov r9, r0
- movs r1, 0x2
- mov r8, r1
-_0813381C:
- mov r4, r10
- ldr r2, [r4]
- ldrb r0, [r2, 0x1A]
- cmp r6, r0
- bcc _08133844
- adds r0, r3, 0
- ldr r1, _08133840 @ =gEmptyString_81E72B0
- movs r2, 0x90
- movs r3, 0
- bl sub_8072C74
- b _081338FA
- .align 2, 0
-_08133834: .4byte gUnknown_030007B0
-_08133838: .4byte gTileBuffer
-_0813383C: .4byte gBattleMoves
-_08133840: .4byte gEmptyString_81E72B0
-_08133844:
- ldrb r0, [r2, 0x1A]
- subs r0, 0x1
- cmp r6, r0
- bne _08133860
- adds r0, r3, 0
- ldr r1, _0813385C @ =gUnknownText_Exit
- movs r2, 0x90
- movs r3, 0
- bl sub_8072C74
- b _081338FA
- .align 2, 0
-_0813385C: .4byte gUnknownText_Exit
-_08133860:
- lsls r1, r6, 1
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r1
- ldrh r5, [r0]
- movs r4, 0xB1
- lsls r4, 2
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- beq _081338A4
- ldr r1, _0813389C @ =gContestMoves
- lsls r0, r5, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 27
- ldr r1, _081338A0 @ =gUnknown_083CAF70
- adds r0, r1
- ldr r1, [r0]
- adds r0, r3, 0
- movs r2, 0x27
- movs r3, 0
- bl sub_8072C74
- adds r3, r0, 0
- lsls r4, r5, 1
- b _081338C2
- .align 2, 0
-_0813389C: .4byte gContestMoves
-_081338A0: .4byte gUnknown_083CAF70
-_081338A4:
- lsls r4, r5, 1
- adds r0, r4, r5
- lsls r0, 2
- add r0, r9
- ldrb r0, [r0, 0x2]
- lsls r1, r0, 3
- subs r1, r0
- ldr r0, _08133938 @ =gTypeNames
- adds r1, r0
- adds r0, r3, 0
- movs r2, 0x27
- movs r3, 0
- bl sub_8072C74
- adds r3, r0, 0
-_081338C2:
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r6
- adds r0, 0x52
- mov r2, r10
- ldr r1, [r2]
- adds r1, r0
- adds r0, r3, 0
- movs r2, 0x72
- movs r3, 0
- bl sub_8072C74
- adds r3, r0, 0
- movs r0, 0xCA
- strb r0, [r3]
- strb r0, [r3, 0x1]
- movs r0, 0xBA
- strb r0, [r3, 0x2]
- adds r3, 0x3
- adds r0, r4, r5
- lsls r0, 2
- add r0, r9
- ldrb r1, [r0, 0x4]
- adds r0, r3, 0
- movs r2, 0x90
- movs r3, 0
- bl sub_8072C14
-_081338FA:
- adds r3, r0, 0
- movs r0, 0xFE
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0x1
- negs r4, r4
- add r8, r4
- mov r0, r8
- cmp r0, 0
- blt _08133916
- b _0813381C
-_08133916:
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, _0813393C @ =gTileBuffer
- movs r1, 0xB
- movs r2, 0x1
- bl MenuPrint
- movs r0, 0
- bl sub_813360C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08133938: .4byte gTypeNames
-_0813393C: .4byte gTileBuffer
- thumb_func_end sub_8133800
-
- thumb_func_start sub_8133940
-sub_8133940: @ 8133940
- push {r4-r7,lr}
- sub sp, 0x34
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _08133968 @ =gExpandedPlaceholder_Empty
- mov r0, sp
- bl StringCopy
- ldrb r0, [r4, 0x2]
- subs r0, 0x1
- cmp r0, 0x6
- bls _0813395C
- b _08133AE2
-_0813395C:
- lsls r0, 2
- ldr r1, _0813396C @ =_08133970
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08133968: .4byte gExpandedPlaceholder_Empty
-_0813396C: .4byte _08133970
- .align 2, 0
-_08133970:
- .4byte _08133AE2
- .4byte _0813398C
- .4byte _08133AE2
- .4byte _081339A4
- .4byte _08133AE2
- .4byte _081339E4
- .4byte _08133A64
-_0813398C:
- ldr r0, _081339A0 @ =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- bls _081339B4
- ldrb r1, [r1, 0x1]
- b _081339CE
- .align 2, 0
-_081339A0: .4byte gBattleMoves
-_081339A4:
- ldr r0, _081339C4 @ =gBattleMoves
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _081339CC
-_081339B4:
- ldr r1, _081339C8 @ =gOtherText_ThreeDashes2
- mov r0, sp
- movs r2, 0x20
- movs r3, 0x2
- bl sub_8072C74
- b _081339D8
- .align 2, 0
-_081339C4: .4byte gBattleMoves
-_081339C8: .4byte gOtherText_ThreeDashes2
-_081339CC:
- ldrb r1, [r1, 0x3]
-_081339CE:
- mov r0, sp
- movs r2, 0x20
- movs r3, 0x2
- bl sub_8072C14
-_081339D8:
- ldrb r1, [r4]
- ldrb r2, [r4, 0x1]
- mov r0, sp
- bl MenuPrint
- b _08133AE2
-_081339E4:
- ldrb r2, [r4]
- ldrb r1, [r4, 0x1]
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r2, 0
- bl MenuZeroFillWindowRect
- ldr r2, _08133A34 @ =gContestEffects
- ldr r1, _08133A38 @ =gContestMoves
- lsls r0, r5, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- bne _08133A14
- movs r5, 0
-_08133A14:
- movs r4, 0
- ldr r7, _08133A3C @ =gUnknown_030007B0
- ldr r6, _08133A40 @ =gSprites
-_08133A1A:
- cmp r4, r5
- bcs _08133A44
- ldr r0, [r7]
- adds r0, r4
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x1
- bl StartSpriteAnim
- b _08133A58
- .align 2, 0
-_08133A34: .4byte gContestEffects
-_08133A38: .4byte gContestMoves
-_08133A3C: .4byte gUnknown_030007B0
-_08133A40: .4byte gSprites
-_08133A44:
- ldr r0, [r7]
- adds r0, r4
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- bl StartSpriteAnim
-_08133A58:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133A1A
- b _08133AE2
-_08133A64:
- ldrb r2, [r4]
- ldrb r1, [r4, 0x1]
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r2, 0
- bl MenuZeroFillWindowRect
- ldr r2, _08133AB4 @ =gContestEffects
- ldr r1, _08133AB8 @ =gContestMoves
- lsls r0, r5, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- bne _08133A94
- movs r5, 0
-_08133A94:
- movs r4, 0
- ldr r7, _08133ABC @ =gUnknown_030007B0
- ldr r6, _08133AC0 @ =gSprites
-_08133A9A:
- cmp r4, r5
- bcs _08133AC4
- ldr r0, [r7]
- adds r0, r4
- ldrb r1, [r0, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x3
- bl StartSpriteAnim
- b _08133AD8
- .align 2, 0
-_08133AB4: .4byte gContestEffects
-_08133AB8: .4byte gContestMoves
-_08133ABC: .4byte gUnknown_030007B0
-_08133AC0: .4byte gSprites
-_08133AC4:
- ldr r0, [r7]
- adds r0, r4
- ldrb r1, [r0, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x2
- bl StartSpriteAnim
-_08133AD8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08133A9A
-_08133AE2:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8133940
-
- thumb_func_start sub_8133AEC
-sub_8133AEC: @ 8133AEC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r6, _08133B88 @ =gUnknown_030007B0
- ldr r2, [r6]
- ldrb r1, [r2, 0x1B]
- ldrb r0, [r2, 0x1A]
- subs r0, 0x1
- cmp r1, r0
- bne _08133B08
- b _08133C04
-_08133B08:
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r1
- ldrh r5, [r0]
- cmp r3, 0
- beq _08133BA0
- movs r4, 0
- lsls r0, r5, 3
- mov r8, r0
- ldr r7, _08133B8C @ =gSprites
- adds r3, r6, 0
- movs r6, 0x5
- negs r6, r6
-_08133B24:
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0, 0x7]
- 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
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08133B24
- movs r4, 0
-_08133B48:
- ldr r0, _08133B90 @ =gUnknown_08402E3D
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, _08133B94 @ =gUnknown_08402E24
- adds r1, r0
- adds r0, r5, 0
- bl sub_8133940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _08133B48
- ldr r1, _08133B98 @ =gUnknown_083CADD4
- ldr r0, _08133B9C @ =gContestMoves
- add r0, r8
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x58
- movs r2, 0x48
- movs r3, 0x90
- bl sub_8072AB0
- b _08133C92
- .align 2, 0
-_08133B88: .4byte gUnknown_030007B0
-_08133B8C: .4byte gSprites
-_08133B90: .4byte gUnknown_08402E3D
-_08133B94: .4byte gUnknown_08402E24
-_08133B98: .4byte gUnknown_083CADD4
-_08133B9C: .4byte gContestMoves
-_08133BA0:
- movs r4, 0
- subs r6, r5, 0x1
-_08133BA4:
- ldr r0, _08133BF8 @ =gUnknown_08402E39
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, _08133BFC @ =gUnknown_08402E24
- adds r1, r0
- adds r0, r5, 0
- bl sub_8133940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08133BA4
- ldr r1, _08133C00 @ =gMoveDescriptions
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x58
- movs r2, 0x48
- movs r3, 0x90
- bl sub_8072A18
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08133C92
- lsls r1, r0, 25
- movs r0, 0x90
- lsls r0, 20
- adds r1, r0
- lsrs r1, 24
- movs r0, 0xB
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuFillWindowRectWithBlankTile
- b _08133C92
- .align 2, 0
-_08133BF8: .4byte gUnknown_08402E39
-_08133BFC: .4byte gUnknown_08402E24
-_08133C00: .4byte gMoveDescriptions
-_08133C04:
- cmp r3, 0
- beq _08133C5C
- ldr r4, _08133C54 @ =gUnknown_08402E24
- ldrb r2, [r4, 0xF]
- ldrb r1, [r4, 0x10]
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r2, 0
- bl MenuZeroFillWindowRect
- ldrb r2, [r4, 0x12]
- ldrb r1, [r4, 0x13]
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r2, 0
- bl MenuZeroFillWindowRect
- movs r4, 0
- ldr r5, _08133C58 @ =gSprites
- adds r3, r6, 0
- movs r2, 0x4
-_08133C32:
- ldr r0, [r3]
- adds r0, r4
- ldrb r1, [r0, 0x7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08133C32
- b _08133C86
- .align 2, 0
-_08133C54: .4byte gUnknown_08402E24
-_08133C58: .4byte gSprites
-_08133C5C:
- ldr r4, _08133CA0 @ =gUnknown_08402E24
- ldrb r0, [r4, 0x3]
- ldrb r1, [r4, 0x4]
- adds r2, r0, 0x3
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- ldrb r0, [r4, 0x9]
- ldrb r1, [r4, 0xA]
- adds r2, r0, 0x3
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
-_08133C86:
- movs r0, 0xB
- movs r1, 0x9
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
-_08133C92:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08133CA0: .4byte gUnknown_08402E24
- thumb_func_end sub_8133AEC
-
- thumb_func_start sub_8133CA4
-sub_8133CA4: @ 8133CA4
- push {lr}
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1B
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _08133CC8 @ =gUnknown_030007B0
- ldr r0, [r0]
- movs r1, 0xB1
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8133AEC
- pop {r0}
- bx r0
- .align 2, 0
-_08133CC8: .4byte gUnknown_030007B0
- thumb_func_end sub_8133CA4
-
- .align 2, 0 @ Don't pad with nop.