summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_8.s5222
-rw-r--r--asm/field_fadetransition.s6
-rw-r--r--asm/fldeff_flash.s753
-rw-r--r--asm/m4a_1.s2
-rw-r--r--asm/macros/event.inc4
-rw-r--r--asm/mon_markings.s1008
-rw-r--r--asm/pokemon_icon.s788
-rw-r--r--asm/reset_rtc_screen.s1300
8 files changed, 7 insertions, 9076 deletions
diff --git a/asm/battle_8.s b/asm/battle_8.s
deleted file mode 100644
index 366c503f2..000000000
--- a/asm/battle_8.s
+++ /dev/null
@@ -1,5222 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start OpponentHandleGetAttributes
-OpponentHandleGetAttributes: @ 8033524
- push {r4-r6,lr}
- sub sp, 0x100
- movs r6, 0
- ldr r1, _08033550 @ =gBattleBufferA
- ldr r0, _08033554 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _0803355C
- ldr r0, _08033558 @ =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- mov r1, sp
- bl sub_8033598
- adds r6, r0, 0
- b _0803357E
- .align 2, 0
-_08033550: .4byte gBattleBufferA
-_08033554: .4byte gActiveBank
-_08033558: .4byte gBattlePartyID
-_0803355C:
- ldrb r4, [r1]
- movs r5, 0
-_08033560:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08033576
- lsls r0, r5, 24
- lsrs r0, 24
- mov r2, sp
- adds r1, r2, r6
- bl sub_8033598
- adds r6, r0
-_08033576:
- lsrs r4, 1
- adds r5, 0x1
- cmp r5, 0x5
- ble _08033560
-_0803357E:
- lsls r1, r6, 16
- lsrs r1, 16
- movs r0, 0x1
- mov r2, sp
- bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
- bl OpponentBufferExecCompleted
- add sp, 0x100
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleGetAttributes
-
- thumb_func_start sub_8033598
-sub_8033598: @ 8033598
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x90
- adds r7, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, _080335CC @ =gBattleBufferA
- ldr r3, _080335D0 @ =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, r2, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3B
- bls _080335C2
- bl _08033D2E
-_080335C2:
- lsls r0, 2
- ldr r1, _080335D4 @ =_080335D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080335CC: .4byte gBattleBufferA
-_080335D0: .4byte gActiveBank
-_080335D4: .4byte _080335D8
- .align 2, 0
-_080335D8:
- .4byte _080336C8
- .4byte _080338EC
- .4byte _080338FC
- .4byte _0803390C
- .4byte _08033974
- .4byte _08033974
- .4byte _08033974
- .4byte _08033974
- .4byte _08033990
- .4byte _080339CC
- .4byte _080339CC
- .4byte _080339CC
- .4byte _080339CC
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _08033D2E
- .4byte _080339E8
- .4byte _080339F8
- .4byte _08033A28
- .4byte _08033A38
- .4byte _08033A48
- .4byte _08033A58
- .4byte _08033A68
- .4byte _08033A78
- .4byte _08033A88
- .4byte _08033A98
- .4byte _08033AA8
- .4byte _08033AB8
- .4byte _08033AC8
- .4byte _08033AD8
- .4byte _08033AE8
- .4byte _08033B38
- .4byte _08033B48
- .4byte _08033B58
- .4byte _08033B68
- .4byte _08033B78
- .4byte _08033B88
- .4byte _08033B98
- .4byte _08033BA8
- .4byte _08033BB8
- .4byte _08033BEC
- .4byte _08033BFC
- .4byte _08033C0C
- .4byte _08033C1C
- .4byte _08033C2C
- .4byte _08033C3C
- .4byte _08033C4C
- .4byte _08033C5C
- .4byte _08033C7C
- .4byte _08033C8C
- .4byte _08033C9C
- .4byte _08033CAC
- .4byte _08033CBC
- .4byte _08033CCC
- .4byte _08033CDC
- .4byte _08033CEC
- .4byte _08033CFC
- .4byte _08033D0C
- .4byte _08033D1C
-_080336C8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080338DC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2E]
- movs r6, 0
- add r0, sp, 0x24
- mov r9, r0
- movs r1, 0x3B
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0x2B
- str r2, [sp, 0x80]
- mov r0, sp
- adds r0, 0x2A
- str r0, [sp, 0x7C]
- mov r1, sp
- adds r1, 0x68
- str r1, [sp, 0x8C]
- adds r2, 0x5
- str r2, [sp, 0x84]
- adds r0, 0x12
- str r0, [sp, 0x88]
- mov r8, r4
- add r4, sp, 0xC
-_08033714:
- adds r1, r6, 0
- adds r1, 0xD
- mov r0, r8
- bl GetMonData
- strh r0, [r4]
- adds r1, r6, 0
- adds r1, 0x11
- mov r0, r8
- bl GetMonData
- mov r2, r9
- adds r1, r2, r6
- strb r0, [r1]
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08033714
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080338DC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- mov r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x20
- bl GetMonData
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- str r0, [sp, 0x44]
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- mov r3, sp
- movs r5, 0x1F
- ands r0, r5
- ldrb r2, [r3, 0x14]
- movs r1, 0x20
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- mov r3, sp
- movs r6, 0x1F
- ands r0, r6
- lsls r0, 5
- ldrh r2, [r3, 0x14]
- ldr r1, _080338E0 @ =0xfffffc1f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x14]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 2
- ldrb r2, [r3, 0x15]
- movs r1, 0x7D
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x15]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- movs r1, 0x1F
- ands r1, r0
- lsls r1, 15
- ldr r0, [sp, 0x14]
- ldr r2, _080338E4 @ =0xfff07fff
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- mov r3, sp
- ands r0, r6
- lsls r0, 4
- ldrh r2, [r3, 0x16]
- ldr r1, _080338E8 @ =0xfffffe0f
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x16]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- mov r3, sp
- ands r0, r5
- lsls r0, 1
- ldrb r2, [r3, 0x17]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- str r0, [sp, 0x48]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- str r0, [sp, 0x4C]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, [sp, 0x7C]
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2C]
- adds r0, r4, 0
- movs r1, 0x3B
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r4, 0
- movs r1, 0x3C
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r4, 0
- movs r1, 0x3D
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x6]
- adds r0, r4, 0
- movs r1, 0x3E
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0x3F
- bl GetMonData
- mov r1, sp
- strh r0, [r1, 0xA]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- mov r3, sp
- movs r1, 0x1
- ands r0, r1
- lsls r0, 6
- ldrb r2, [r3, 0x17]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x2E
- bl GetMonData
- mov r3, sp
- lsls r0, 7
- ldrb r2, [r3, 0x17]
- movs r1, 0x7F
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x17]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- str r0, [sp, 0x54]
- adds r0, r4, 0
- movs r1, 0x2
- ldr r2, [sp, 0x8C]
- bl GetMonData
- ldr r0, [sp, 0x84]
- ldr r1, [sp, 0x8C]
- bl StringCopy10
- adds r0, r4, 0
- movs r1, 0x7
- ldr r2, [sp, 0x88]
- bl GetMonData
- mov r2, sp
- movs r6, 0
-_080338CC:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x57
- bls _080338CC
- b _08033D2E
- .align 2, 0
-_080338DC: .4byte gEnemyParty
-_080338E0: .4byte 0xfffffc1f
-_080338E4: .4byte 0xfff07fff
-_080338E8: .4byte 0xfffffe0f
-_080338EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080338F8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- b _08033C66
- .align 2, 0
-_080338F8: .4byte gEnemyParty
-_080338FC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033908 @ =gEnemyParty
- adds r0, r1
- movs r1, 0xC
- b _08033C66
- .align 2, 0
-_08033908: .4byte gEnemyParty
-_0803390C:
- movs r6, 0
- add r2, sp, 0x58
- mov r9, r2
- add r0, sp, 0x60
- mov r10, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08033970 @ =gEnemyParty
- adds r4, r1, r0
- mov r8, r9
-_08033922:
- adds r1, r6, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- adds r1, r6, 0
- adds r1, 0x11
- adds r0, r4, 0
- bl GetMonData
- mov r2, r10
- adds r1, r2, r6
- strb r0, [r1]
- movs r0, 0x2
- add r8, r0
- adds r6, 0x1
- cmp r6, 0x3
- ble _08033922
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033970 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- mov r1, r9
- strb r0, [r1, 0xC]
- mov r2, r9
- movs r6, 0
-_08033960:
- adds r0, r7, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0xF
- bls _08033960
- b _08033D2E
- .align 2, 0
-_08033970: .4byte gEnemyParty
-_08033974:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803398C @ =gEnemyParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x9
- b _08033C66
- .align 2, 0
-_0803398C: .4byte gEnemyParty
-_08033990:
- movs r6, 0
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r2, _080339C8 @ =gEnemyParty
- mov r8, r2
-_0803399C:
- adds r1, r6, 0
- adds r1, 0x11
- mov r2, r8
- adds r0, r4, r2
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- cmp r6, 0x3
- ble _0803399C
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339C8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- bl GetMonData
- adds r1, r7, r6
- strb r0, [r1]
- adds r6, 0x1
- b _08033D2E
- .align 2, 0
-_080339C8: .4byte gEnemyParty
-_080339CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339E4 @ =gEnemyParty
- adds r0, r1
- ldrb r1, [r3]
- lsls r1, 9
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- adds r1, 0x8
- b _08033D26
- .align 2, 0
-_080339E4: .4byte gEnemyParty
-_080339E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080339F4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1
- b _08033A02
- .align 2, 0
-_080339F4: .4byte gEnemyParty
-_080339F8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A24 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x19
-_08033A02:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- movs r6, 0x3
- b _08033D2E
- .align 2, 0
-_08033A24: .4byte gEnemyParty
-_08033A28:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A34 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1A
- b _08033D26
- .align 2, 0
-_08033A34: .4byte gEnemyParty
-_08033A38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1B
- b _08033D26
- .align 2, 0
-_08033A44: .4byte gEnemyParty
-_08033A48:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A54 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1C
- b _08033D26
- .align 2, 0
-_08033A54: .4byte gEnemyParty
-_08033A58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A64 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1D
- b _08033D26
- .align 2, 0
-_08033A64: .4byte gEnemyParty
-_08033A68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A74 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1E
- b _08033D26
- .align 2, 0
-_08033A74: .4byte gEnemyParty
-_08033A78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A84 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x1F
- b _08033D26
- .align 2, 0
-_08033A84: .4byte gEnemyParty
-_08033A88:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033A94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x20
- b _08033D26
- .align 2, 0
-_08033A94: .4byte gEnemyParty
-_08033A98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AA4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x22
- b _08033D26
- .align 2, 0
-_08033AA4: .4byte gEnemyParty
-_08033AA8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AB4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x23
- b _08033D26
- .align 2, 0
-_08033AB4: .4byte gEnemyParty
-_08033AB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AC4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x24
- b _08033D26
- .align 2, 0
-_08033AC4: .4byte gEnemyParty
-_08033AC8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AD4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x25
- b _08033D26
- .align 2, 0
-_08033AD4: .4byte gEnemyParty
-_08033AD8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033AE4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x26
- b _08033D26
- .align 2, 0
-_08033AE4: .4byte gEnemyParty
-_08033AE8:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08033B34 @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x27
- bl GetMonData
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x28
- bl GetMonData
- strb r0, [r7, 0x1]
- adds r0, r4, 0
- movs r1, 0x29
- bl GetMonData
- strb r0, [r7, 0x2]
- adds r0, r4, 0
- movs r1, 0x2A
- bl GetMonData
- strb r0, [r7, 0x3]
- adds r0, r4, 0
- movs r1, 0x2B
- bl GetMonData
- strb r0, [r7, 0x4]
- adds r0, r4, 0
- movs r1, 0x2C
- bl GetMonData
- strb r0, [r7, 0x5]
- movs r6, 0x6
- b _08033D2E
- .align 2, 0
-_08033B34: .4byte gEnemyParty
-_08033B38:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B44 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x27
- b _08033D26
- .align 2, 0
-_08033B44: .4byte gEnemyParty
-_08033B48:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B54 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x28
- b _08033D26
- .align 2, 0
-_08033B54: .4byte gEnemyParty
-_08033B58:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B64 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x29
- b _08033D26
- .align 2, 0
-_08033B64: .4byte gEnemyParty
-_08033B68:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B74 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2A
- b _08033D26
- .align 2, 0
-_08033B74: .4byte gEnemyParty
-_08033B78:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B84 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2B
- b _08033D26
- .align 2, 0
-_08033B84: .4byte gEnemyParty
-_08033B88:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033B94 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2C
- b _08033D26
- .align 2, 0
-_08033B94: .4byte gEnemyParty
-_08033B98:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BA4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0
- b _08033BC2
- .align 2, 0
-_08033BA4: .4byte gEnemyParty
-_08033BA8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BB4 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x9
- b _08033C66
- .align 2, 0
-_08033BB4: .4byte gEnemyParty
-_08033BB8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BE8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x37
-_08033BC2:
- bl GetMonData
- adds r1, r0, 0
- strb r1, [r7]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- strb r0, [r7, 0x2]
- lsrs r0, r1, 24
- strb r0, [r7, 0x3]
- movs r6, 0x4
- b _08033D2E
- .align 2, 0
-_08033BE8: .4byte gEnemyParty
-_08033BEC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033BF8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x38
- b _08033D26
- .align 2, 0
-_08033BF8: .4byte gEnemyParty
-_08033BFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C08 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- b _08033C66
- .align 2, 0
-_08033C08: .4byte gEnemyParty
-_08033C0C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C18 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3A
- b _08033C66
- .align 2, 0
-_08033C18: .4byte gEnemyParty
-_08033C1C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C28 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3B
- b _08033C66
- .align 2, 0
-_08033C28: .4byte gEnemyParty
-_08033C2C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C38 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3C
- b _08033C66
- .align 2, 0
-_08033C38: .4byte gEnemyParty
-_08033C3C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C48 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3D
- b _08033C66
- .align 2, 0
-_08033C48: .4byte gEnemyParty
-_08033C4C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C58 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3E
- b _08033C66
- .align 2, 0
-_08033C58: .4byte gEnemyParty
-_08033C5C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C78 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3F
-_08033C66:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- strb r0, [r7]
- lsrs r0, 8
- strb r0, [r7, 0x1]
- movs r6, 0x2
- b _08033D2E
- .align 2, 0
-_08033C78: .4byte gEnemyParty
-_08033C7C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C88 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x16
- b _08033D26
- .align 2, 0
-_08033C88: .4byte gEnemyParty
-_08033C8C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033C98 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x17
- b _08033D26
- .align 2, 0
-_08033C98: .4byte gEnemyParty
-_08033C9C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CA8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x18
- b _08033D26
- .align 2, 0
-_08033CA8: .4byte gEnemyParty
-_08033CAC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CB8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x21
- b _08033D26
- .align 2, 0
-_08033CB8: .4byte gEnemyParty
-_08033CBC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CC8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x2F
- b _08033D26
- .align 2, 0
-_08033CC8: .4byte gEnemyParty
-_08033CCC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CD8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x30
- b _08033D26
- .align 2, 0
-_08033CD8: .4byte gEnemyParty
-_08033CDC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CE8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x32
- b _08033D26
- .align 2, 0
-_08033CE8: .4byte gEnemyParty
-_08033CEC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033CF8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x33
- b _08033D26
- .align 2, 0
-_08033CF8: .4byte gEnemyParty
-_08033CFC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D08 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x34
- b _08033D26
- .align 2, 0
-_08033D08: .4byte gEnemyParty
-_08033D0C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D18 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x35
- b _08033D26
- .align 2, 0
-_08033D18: .4byte gEnemyParty
-_08033D1C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08033D40 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x36
-_08033D26:
- bl GetMonData
- strb r0, [r7]
- movs r6, 0x1
-_08033D2E:
- adds r0, r6, 0
- add sp, 0x90
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08033D40: .4byte gEnemyParty
- thumb_func_end sub_8033598
-
- thumb_func_start dp01t_01_2_read_pokmon_data_slice
-dp01t_01_2_read_pokmon_data_slice: @ 8033D44
- push {r4-r7,lr}
- sub sp, 0x58
- ldr r2, _08033DBC @ =gBattlePartyID
- ldr r5, _08033DC0 @ =gActiveBank
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r2
- ldrh r2, [r0]
- movs r0, 0x64
- adds r4, r2, 0
- muls r4, r0
- ldr r3, _08033DC4 @ =gBattleBufferA
- lsls r1, 9
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r2, [r0]
- ldr r0, _08033DC8 @ =gEnemyParty
- adds r0, r2, r0
- adds r6, r4, r0
- mov r0, sp
- adds r4, r0, r2
- movs r2, 0
- adds r0, r3, 0x2
- adds r1, r0
- adds r7, r5, 0
- mov r12, r3
- ldrb r1, [r1]
- cmp r2, r1
- bcs _08033D9A
- adds r3, r0, 0
-_08033D80:
- adds r1, r4, r2
- adds r0, r6, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r5]
- lsls r0, 9
- adds r0, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08033D80
-_08033D9A:
- ldrb r0, [r7]
- lsls r0, 9
- mov r1, r12
- adds r1, 0x2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x1D_1D_numargs_varargs
- bl OpponentBufferExecCompleted
- add sp, 0x58
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08033DBC: .4byte gBattlePartyID
-_08033DC0: .4byte gActiveBank
-_08033DC4: .4byte gBattleBufferA
-_08033DC8: .4byte gEnemyParty
- thumb_func_end dp01t_01_2_read_pokmon_data_slice
-
- thumb_func_start OpponentHandleSetAttributes
-OpponentHandleSetAttributes: @ 8033DCC
- push {r4,r5,lr}
- ldr r1, _08033DF0 @ =gBattleBufferA
- ldr r0, _08033DF4 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- bne _08033DFC
- ldr r0, _08033DF8 @ =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8033E24
- b _08033E1A
- .align 2, 0
-_08033DF0: .4byte gBattleBufferA
-_08033DF4: .4byte gActiveBank
-_08033DF8: .4byte gBattlePartyID
-_08033DFC:
- ldrb r4, [r1]
- movs r5, 0
-_08033E00:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _08033E0E
- adds r0, r5, 0
- bl sub_8033E24
-_08033E0E:
- lsrs r4, 1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _08033E00
-_08033E1A:
- bl OpponentBufferExecCompleted
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleSetAttributes
-
- thumb_func_start sub_8033E24
-sub_8033E24: @ 8033E24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r3, _08033E5C @ =gActiveBank
- ldrb r0, [r3]
- lsls r0, 9
- ldr r2, _08033E60 @ =gUnknown_02023A63
- adds r4, r0, r2
- adds r7, r4, 0
- subs r1, r2, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r6, r3, 0
- adds r3, r2, 0
- cmp r0, 0x3B
- bls _08033E52
- bl _08034730
-_08033E52:
- lsls r0, 2
- ldr r1, _08033E64 @ =_08033E68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033E5C: .4byte gActiveBank
-_08033E60: .4byte gUnknown_02023A63
-_08033E64: .4byte _08033E68
- .align 2, 0
-_08033E68:
- .4byte _08033F58
- .4byte _080340F0
- .4byte _0803410C
- .4byte _08034128
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803417C
- .4byte _0803419C
- .4byte _08034204
- .4byte _08034204
- .4byte _08034204
- .4byte _08034204
- .4byte _08034730
- .4byte _08034730
- .4byte _08034730
- .4byte _08034730
- .4byte _0803422C
- .4byte _08034248
- .4byte _08034264
- .4byte _08034280
- .4byte _0803429C
- .4byte _080342B8
- .4byte _080342D4
- .4byte _080342F0
- .4byte _0803430C
- .4byte _08034328
- .4byte _08034344
- .4byte _08034360
- .4byte _0803437C
- .4byte _08034398
- .4byte _080343B4
- .4byte _08034428
- .4byte _08034444
- .4byte _08034460
- .4byte _0803447C
- .4byte _08034498
- .4byte _080344B4
- .4byte _080344D0
- .4byte _080344EC
- .4byte _08034508
- .4byte _08034524
- .4byte _08034540
- .4byte _0803455C
- .4byte _08034578
- .4byte _08034594
- .4byte _080345B0
- .4byte _080345CC
- .4byte _080345E8
- .4byte _08034604
- .4byte _08034620
- .4byte _0803463C
- .4byte _08034658
- .4byte _08034674
- .4byte _08034690
- .4byte _080346AC
- .4byte _080346C8
- .4byte _080346E4
- .4byte _08034700
- .4byte _0803471C
-_08033F58:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080340EC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- adds r2, r7, 0
- bl SetMonData
- adds r2, r7, 0
- adds r2, 0x2E
- adds r0, r4, 0
- movs r1, 0xC
- bl SetMonData
- movs r0, 0
- mov r8, r0
- movs r0, 0x3B
- adds r0, r7
- mov r10, r0
- adds r0, r7, 0
- adds r0, 0x2B
- str r0, [sp, 0x20]
- adds r0, 0x19
- str r0, [sp, 0x28]
- adds r0, 0x4
- str r0, [sp, 0x2C]
- adds r0, 0x4
- str r0, [sp, 0x30]
- subs r0, 0x22
- str r0, [sp, 0x1C]
- subs r0, 0x2
- str r0, [sp, 0x18]
- adds r0, 0x4
- str r0, [sp, 0x24]
- adds r0, r7, 0x2
- str r0, [sp, 0x4]
- adds r0, r7, 0x4
- str r0, [sp, 0x8]
- adds r0, r7, 0x6
- str r0, [sp, 0xC]
- adds r0, 0x2
- str r0, [sp, 0x10]
- adds r0, 0x2
- str r0, [sp, 0x14]
- mov r9, r4
- adds r6, r7, 0
- adds r6, 0x24
- adds r4, r7, 0
- adds r4, 0xC
-_08033FBE:
- mov r1, r8
- adds r1, 0xD
- mov r0, r9
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- mov r0, r9
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08033FBE
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _080340EC @ =gEnemyParty
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x15
- mov r2, r10
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x20
- ldr r2, [sp, 0x20]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x19
- ldr r2, [sp, 0x28]
- bl SetMonData
- ldrb r0, [r7, 0x14]
- lsls r0, 27
- lsrs r0, 27
- mov r1, sp
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x27
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r7, 0x14]
- lsls r0, 22
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x28
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r7, 0x15]
- lsls r0, 25
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x29
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldr r0, [r7, 0x14]
- lsls r0, 12
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2A
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrh r0, [r7, 0x16]
- lsls r0, 23
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2B
- mov r2, sp
- bl SetMonData
- mov r1, sp
- ldrb r0, [r7, 0x17]
- lsls r0, 26
- lsrs r0, 27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2C
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0
- ldr r2, [sp, 0x2C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x37
- ldr r2, [sp, 0x30]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x38
- ldr r2, [sp, 0x1C]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x39
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3A
- ldr r2, [sp, 0x24]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3B
- ldr r2, [sp, 0x4]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3C
- ldr r2, [sp, 0x8]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3D
- ldr r2, [sp, 0xC]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3E
- ldr r2, [sp, 0x10]
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x3F
- ldr r2, [sp, 0x14]
- bl SetMonData
- b _08034730
- .align 2, 0
-_080340EC: .4byte gEnemyParty
-_080340F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034108 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0xB
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034108: .4byte gEnemyParty
-_0803410C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034124 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0xC
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034124: .4byte gEnemyParty
-_08034128:
- movs r0, 0
- mov r8, r0
- movs r0, 0xC
- adds r0, r4
- mov r9, r0
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08034178 @ =gEnemyParty
- adds r7, r1, r0
- adds r6, r4, 0
- adds r6, 0x8
-_08034140:
- mov r1, r8
- adds r1, 0xD
- adds r0, r7, 0
- adds r2, r4, 0
- bl SetMonData
- mov r1, r8
- adds r1, 0x11
- adds r0, r7, 0
- adds r2, r6, 0
- bl SetMonData
- adds r6, 0x1
- adds r4, 0x2
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08034140
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034178 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x15
- mov r2, r9
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034178: .4byte gEnemyParty
-_0803417C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034194 @ =gEnemyParty
- adds r0, r1
- ldr r3, _08034198 @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x9
- b _0803421A
- .align 2, 0
-_08034194: .4byte gEnemyParty
-_08034198: .4byte gBattleBufferA
-_0803419C:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08034200 @ =gEnemyParty
- adds r4, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- adds r0, r4, 0
- movs r1, 0x11
- str r3, [sp, 0x34]
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x12
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x14
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x15
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034200: .4byte gEnemyParty
-_08034204:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034224 @ =gEnemyParty
- adds r0, r1
- ldr r3, _08034228 @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r2, 9
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- adds r1, 0x8
-_0803421A:
- adds r3, 0x3
- adds r2, r3
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034224: .4byte gEnemyParty
-_08034228: .4byte gBattleBufferA
-_0803422C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034244 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034244: .4byte gEnemyParty
-_08034248:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034260 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x19
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034260: .4byte gEnemyParty
-_08034264:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803427C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1A
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803427C: .4byte gEnemyParty
-_08034280:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034298 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1B
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034298: .4byte gEnemyParty
-_0803429C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342B4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342B4: .4byte gEnemyParty
-_080342B8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342D0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1D
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342D0: .4byte gEnemyParty
-_080342D4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080342EC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1E
- bl SetMonData
- b _08034730
- .align 2, 0
-_080342EC: .4byte gEnemyParty
-_080342F0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034308 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x1F
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034308: .4byte gEnemyParty
-_0803430C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034324 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x20
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034324: .4byte gEnemyParty
-_08034328:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034340 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x22
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034340: .4byte gEnemyParty
-_08034344:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803435C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x23
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803435C: .4byte gEnemyParty
-_08034360:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034378 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x24
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034378: .4byte gEnemyParty
-_0803437C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034394 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x25
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034394: .4byte gEnemyParty
-_08034398:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080343B0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x26
- bl SetMonData
- b _08034730
- .align 2, 0
-_080343B0: .4byte gEnemyParty
-_080343B4:
- movs r0, 0x64
- adds r4, r5, 0
- muls r4, r0
- ldr r0, _08034424 @ =gEnemyParty
- adds r4, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- adds r0, r4, 0
- movs r1, 0x27
- str r3, [sp, 0x34]
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x1
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x28
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x2
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x29
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x3
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2A
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x4
- adds r2, r0
- adds r0, r4, 0
- movs r1, 0x2B
- bl SetMonData
- ldrb r2, [r6]
- lsls r2, 9
- ldr r3, [sp, 0x34]
- adds r0, r3, 0x5
- adds r2, r0
- adds r0, r4, 0
- b _080344C2
- .align 2, 0
-_08034424: .4byte gEnemyParty
-_08034428:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034440 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x27
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034440: .4byte gEnemyParty
-_08034444:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803445C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x28
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803445C: .4byte gEnemyParty
-_08034460:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034478 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x29
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034478: .4byte gEnemyParty
-_0803447C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034494 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2A
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034494: .4byte gEnemyParty
-_08034498:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344B0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2B
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344B0: .4byte gEnemyParty
-_080344B4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344CC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
-_080344C2:
- movs r1, 0x2C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344CC: .4byte gEnemyParty
-_080344D0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080344E8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0
- bl SetMonData
- b _08034730
- .align 2, 0
-_080344E8: .4byte gEnemyParty
-_080344EC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034504 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x9
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034504: .4byte gEnemyParty
-_08034508:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034520 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x37
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034520: .4byte gEnemyParty
-_08034524:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803453C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x38
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803453C: .4byte gEnemyParty
-_08034540:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034558 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x39
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034558: .4byte gEnemyParty
-_0803455C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034574 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3A
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034574: .4byte gEnemyParty
-_08034578:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034590 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3B
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034590: .4byte gEnemyParty
-_08034594:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345AC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3C
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345AC: .4byte gEnemyParty
-_080345B0:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345C8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3D
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345C8: .4byte gEnemyParty
-_080345CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080345E4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3E
- bl SetMonData
- b _08034730
- .align 2, 0
-_080345E4: .4byte gEnemyParty
-_080345E8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034600 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x3F
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034600: .4byte gEnemyParty
-_08034604:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803461C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x16
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803461C: .4byte gEnemyParty
-_08034620:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034638 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x17
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034638: .4byte gEnemyParty
-_0803463C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034654 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x18
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034654: .4byte gEnemyParty
-_08034658:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034670 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x21
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034670: .4byte gEnemyParty
-_08034674:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0803468C @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x2F
- bl SetMonData
- b _08034730
- .align 2, 0
-_0803468C: .4byte gEnemyParty
-_08034690:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346A8 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x30
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346A8: .4byte gEnemyParty
-_080346AC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346C4 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x32
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346C4: .4byte gEnemyParty
-_080346C8:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346E0 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x33
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346E0: .4byte gEnemyParty
-_080346E4:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _080346FC @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x34
- bl SetMonData
- b _08034730
- .align 2, 0
-_080346FC: .4byte gEnemyParty
-_08034700:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034718 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x35
- bl SetMonData
- b _08034730
- .align 2, 0
-_08034718: .4byte gEnemyParty
-_0803471C:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08034740 @ =gEnemyParty
- adds r0, r1
- ldrb r2, [r6]
- lsls r2, 9
- adds r2, r3
- movs r1, 0x36
- bl SetMonData
-_08034730:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08034740: .4byte gEnemyParty
- thumb_func_end sub_8033E24
-
- thumb_func_start sub_8034744
-sub_8034744: @ 8034744
- push {r4-r7,lr}
- ldr r1, _080347A8 @ =gBattlePartyID
- ldr r7, _080347AC @ =gActiveBank
- ldrb r2, [r7]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- adds r3, r1, 0
- muls r3, r0
- ldr r4, _080347B0 @ =gBattleBufferA
- lsls r2, 9
- adds r0, r4, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- ldr r1, _080347B4 @ =gEnemyParty
- adds r0, r1
- adds r5, r3, r0
- movs r3, 0
- adds r0, r4, 0x2
- adds r2, r0
- ldrb r2, [r2]
- cmp r3, r2
- bcs _0803479C
- adds r6, r4, 0
- adds r2, r7, 0
- adds r4, r0, 0
-_0803477A:
- adds r1, r5, r3
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, 0x3
- adds r0, r3, r0
- adds r0, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r2]
- lsls r0, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r3, r0
- bcc _0803477A
-_0803479C:
- bl OpponentBufferExecCompleted
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080347A8: .4byte gBattlePartyID
-_080347AC: .4byte gActiveBank
-_080347B0: .4byte gBattleBufferA
-_080347B4: .4byte gEnemyParty
- thumb_func_end sub_8034744
-
- thumb_func_start OpponentHandleLoadPokeSprite
-OpponentHandleLoadPokeSprite: @ 80347B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r6, _080348E8 @ =gActiveBank
- ldrb r0, [r6]
- lsls r0, 1
- ldr r1, _080348EC @ =gBattlePartyID
- adds r0, r1
- ldrh r0, [r0]
- movs r7, 0x64
- muls r0, r7
- ldr r2, _080348F0 @ =gEnemyParty
- mov r10, r2
- add r0, r10
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r6]
- lsls r0, r1, 1
- ldr r2, _080348EC @ =gBattlePartyID
- adds r0, r2
- ldrh r0, [r0]
- muls r0, r7
- add r0, r10
- bl sub_8031794
- ldrb r0, [r6]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080348F4 @ =gUnknown_02024E8C
- mov r9, r0
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r6]
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _080348F8 @ =gObjectBankIDs
- ldrb r1, [r6]
- adds r1, r4
- strb r0, [r1]
- ldr r5, _080348FC @ =gSprites
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034900 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r2, [r6]
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- ldrb r3, [r6]
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r2, [r6]
- adds r4, r2, r4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034904 @ =gBattleMonForms
- adds r2, r1
- ldrb r1, [r2]
- bl StartSpriteAnim
- ldrb r4, [r6]
- lsls r0, r4, 1
- ldr r2, _080348EC @ =gBattlePartyID
- adds r0, r2
- ldrh r0, [r0]
- muls r0, r7
- add r0, r10
- movs r1, 0xB
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8032984
- ldr r1, _08034908 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803490C @ =sub_8033018
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080348E8: .4byte gActiveBank
-_080348EC: .4byte gBattlePartyID
-_080348F0: .4byte gEnemyParty
-_080348F4: .4byte gUnknown_02024E8C
-_080348F8: .4byte gObjectBankIDs
-_080348FC: .4byte gSprites
-_08034900: .4byte 0x0000ff10
-_08034904: .4byte gBattleMonForms
-_08034908: .4byte gBattleBankFunc
-_0803490C: .4byte sub_8033018
- thumb_func_end OpponentHandleLoadPokeSprite
-
- thumb_func_start OpponentHandleSendOutPoke
-OpponentHandleSendOutPoke: @ 8034910
- push {r4,lr}
- ldr r1, _08034948 @ =gBattlePartyID
- ldr r4, _0803494C @ =gActiveBank
- ldrb r0, [r4]
- lsls r2, r0, 1
- adds r2, r1
- ldr r3, _08034950 @ =gBattleBufferA
- lsls r0, 9
- adds r1, r3, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r2]
- ldrb r0, [r4]
- lsls r1, r0, 9
- adds r3, 0x2
- adds r1, r3
- ldrb r1, [r1]
- bl sub_803495C
- ldr r1, _08034954 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034958 @ =sub_80333D4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034948: .4byte gBattlePartyID
-_0803494C: .4byte gActiveBank
-_08034950: .4byte gBattleBufferA
-_08034954: .4byte gBattleBankFunc
-_08034958: .4byte sub_80333D4
- thumb_func_end OpponentHandleSendOutPoke
-
- thumb_func_start sub_803495C
-sub_803495C: @ 803495C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8032AA8
- ldr r0, _08034AB8 @ =gBattlePartyID
- lsls r4, r6, 1
- adds r4, r0
- ldr r0, _08034ABC @ =gBattleBufferA
- lsls r1, r6, 9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x64
- mov r9, r1
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- ldr r5, _08034AC0 @ =gEnemyParty
- adds r0, r5
- movs r1, 0xB
- bl GetMonData
- mov r8, r0
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _08034AC4 @ =sub_80312F0
- bl CreateInvisibleSpriteWithCallback
- ldr r1, _08034AC8 @ =gUnknown_0300434C
- mov r10, r1
- add r10, r6
- mov r1, r10
- strb r0, [r1]
- ldrh r0, [r4]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- adds r0, r5
- adds r1, r6, 0
- bl sub_8031794
- adds r0, r6, 0
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _08034ACC @ =gUnknown_02024E8C
- mov r9, r0
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- bl sub_8077F68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl CreateSprite
- ldr r4, _08034AD0 @ =gObjectBankIDs
- adds r4, r6, r4
- strb r0, [r4]
- ldr r5, _08034AD4 @ =gSprites
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x2E]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r8
- strh r1, [r0, 0x32]
- mov r0, r10
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r4]
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- lsls r3, r6, 4
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08034AD8 @ =gBattleMonForms
- adds r6, r1
- ldrb r1, [r6]
- bl StartSpriteAnim
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08034ADC @ =SpriteCallbackDummy
- str r1, [r0]
- movs r0, 0
- movs r1, 0xFE
- bl sub_8046400
- mov r1, r10
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x2E]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034AB8: .4byte gBattlePartyID
-_08034ABC: .4byte gBattleBufferA
-_08034AC0: .4byte gEnemyParty
-_08034AC4: .4byte sub_80312F0
-_08034AC8: .4byte gUnknown_0300434C
-_08034ACC: .4byte gUnknown_02024E8C
-_08034AD0: .4byte gObjectBankIDs
-_08034AD4: .4byte gSprites
-_08034AD8: .4byte gBattleMonForms
-_08034ADC: .4byte SpriteCallbackDummy
- thumb_func_end sub_803495C
-
- thumb_func_start OpponentHandleReturnPokeToBall
-OpponentHandleReturnPokeToBall: @ 8034AE0
- push {r4-r6,lr}
- ldr r1, _08034B10 @ =gBattleBufferA
- ldr r6, _08034B14 @ =gActiveBank
- ldrb r2, [r6]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _08034B24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _08034B18 @ =0x02017810
- adds r0, r1
- strb r3, [r0, 0x4]
- ldr r1, _08034B1C @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034B20 @ =sub_8034B74
- str r1, [r0]
- b _08034B60
- .align 2, 0
-_08034B10: .4byte gBattleBufferA
-_08034B14: .4byte gActiveBank
-_08034B18: .4byte 0x02017810
-_08034B1C: .4byte gBattleBankFunc
-_08034B20: .4byte sub_8034B74
-_08034B24:
- ldr r5, _08034B68 @ =gObjectBankIDs
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08034B6C @ =gSprites
- adds r0, r4
- bl FreeSpriteOamMatrix
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- ldrb r0, [r6]
- bl sub_8032A08
- ldr r1, _08034B70 @ =gHealthboxIDs
- ldrb r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8043DB0
- bl OpponentBufferExecCompleted
-_08034B60:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034B68: .4byte gObjectBankIDs
-_08034B6C: .4byte gSprites
-_08034B70: .4byte gHealthboxIDs
- thumb_func_end OpponentHandleReturnPokeToBall
-
- thumb_func_start sub_8034B74
-sub_8034B74: @ 8034B74
- push {r4,r5,lr}
- ldr r5, _08034B90 @ =gActiveBank
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _08034B94 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _08034B98
- cmp r0, 0x1
- beq _08034BC4
- b _08034BEC
- .align 2, 0
-_08034B90: .4byte gActiveBank
-_08034B94: .4byte 0x02017810
-_08034B98:
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08034BB4
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_08034BB4:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08034BEC
-_08034BC4:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08034BEC
- strb r0, [r3, 0x4]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x2
- bl move_anim_start_t4
- ldr r1, _08034BF4 @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034BF8 @ =sub_8033160
- str r1, [r0]
-_08034BEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034BF4: .4byte gBattleBankFunc
-_08034BF8: .4byte sub_8033160
- thumb_func_end sub_8034B74
-
- thumb_func_start OpponentHandleTrainerThrow
-OpponentHandleTrainerThrow: @ 8034BFC
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r3, _08034C18 @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08034C1C
- bl GetSecretBaseTrainerPicIndex
- b _08034C42
- .align 2, 0
-_08034C18: .4byte gTrainerBattleOpponent
-_08034C1C:
- ldr r0, _08034C30 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08034C34
- bl get_trainer_class_pic_index
- b _08034C42
- .align 2, 0
-_08034C30: .4byte gBattleTypeFlags
-_08034C34:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08034C48
- bl sub_8135FBC
-_08034C42:
- lsls r0, 24
- lsrs r0, 24
- b _08034C56
-_08034C48:
- ldr r2, _08034D88 @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
-_08034C56:
- mov r9, r0
- ldr r0, _08034D8C @ =gActiveBank
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r9
- bl sub_8031A6C
- mov r1, r8
- ldrb r0, [r1]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- bl GetMonSpriteTemplate_803C5A0
- ldr r5, _08034D90 @ =gUnknown_02024E8C
- ldr r1, _08034D94 @ =gTrainerFrontPicCoords
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0x8
- subs r4, r0
- lsls r4, 18
- movs r0, 0xA0
- lsls r0, 14
- adds r4, r0
- asrs r4, 16
- mov r1, r8
- ldrb r0, [r1]
- bl sub_8079E90
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- movs r1, 0xB0
- adds r2, r4, 0
- bl CreateSprite
- ldr r5, _08034D98 @ =gObjectBankIDs
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _08034D9C @ =gSprites
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08034DA0 @ =0x0000ff10
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldr r0, _08034DA4 @ =gTrainerFrontPicPaletteTable
- mov r1, r9
- lsls r6, r1, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r4
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1, 0x38]
- ldr r0, _08034DA8 @ =gTrainerFrontPicTable
- adds r6, r0
- ldrh r0, [r6, 0x6]
- bl GetSpriteTileStartByTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldr r2, _08034DAC @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _08034DB0 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r2, r9
- strh r2, [r0, 0x6]
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08034DB4 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _08034DB8 @ =gBattleBankFunc
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034DBC @ =sub_8032B4C
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034D88: .4byte gTrainers
-_08034D8C: .4byte gActiveBank
-_08034D90: .4byte gUnknown_02024E8C
-_08034D94: .4byte gTrainerFrontPicCoords
-_08034D98: .4byte gObjectBankIDs
-_08034D9C: .4byte gSprites
-_08034DA0: .4byte 0x0000ff10
-_08034DA4: .4byte gTrainerFrontPicPaletteTable
-_08034DA8: .4byte gTrainerFrontPicTable
-_08034DAC: .4byte 0x000003ff
-_08034DB0: .4byte 0xfffffc00
-_08034DB4: .4byte sub_80313A0
-_08034DB8: .4byte gBattleBankFunc
-_08034DBC: .4byte sub_8032B4C
- thumb_func_end OpponentHandleTrainerThrow
-
- thumb_func_start OpponentHandleTrainerSlide
-OpponentHandleTrainerSlide: @ 8034DC0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r3, _08034DDC @ =gTrainerBattleOpponent
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _08034DE0
- bl GetSecretBaseTrainerPicIndex
- b _08034E06
- .align 2, 0
-_08034DDC: .4byte gTrainerBattleOpponent
-_08034DE0:
- ldr r0, _08034DF4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08034DF8
- bl get_trainer_class_pic_index
- b _08034E06
- .align 2, 0
-_08034DF4: .4byte gBattleTypeFlags
-_08034DF8:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08034E0C
- bl sub_8135FBC
-_08034E06:
- lsls r0, 24
- lsrs r0, 24
- b _08034E1A
-_08034E0C:
- ldr r2, _08034F4C @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
-_08034E1A:
- mov r9, r0
- ldr r0, _08034F50 @ =gActiveBank
- mov r8, r0
- ldrb r1, [r0]
- mov r0, r9
- bl sub_8031A6C
- mov r1, r8
- ldrb r0, [r1]
- bl GetBankIdentity
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r9
- bl GetMonSpriteTemplate_803C5A0
- ldr r0, _08034F54 @ =gUnknown_02024E8C
- ldr r2, _08034F58 @ =gTrainerFrontPicCoords
- mov r3, r9
- lsls r1, r3, 2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 14
- adds r2, r1
- asrs r2, 16
- movs r1, 0xB0
- movs r3, 0x1E
- bl CreateSprite
- ldr r5, _08034F5C @ =gObjectBankIDs
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- strb r0, [r1]
- ldr r4, _08034F60 @ =gSprites
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x60
- strh r1, [r0, 0x24]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x20]
- adds r1, 0x20
- strh r1, [r0, 0x20]
- ldrb r0, [r2]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08034F64 @ =0x0000fffe
- strh r1, [r0, 0x2E]
- ldr r0, _08034F68 @ =gTrainerFrontPicPaletteTable
- mov r3, r9
- lsls r6, r3, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r1, [r1]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r4
- lsls r0, 4
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r0
- strb r1, [r2, 0x5]
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r5
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r1, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1, 0x38]
- ldr r0, _08034F6C @ =gTrainerFrontPicTable
- adds r6, r0
- ldrh r0, [r6, 0x6]
- bl GetSpriteTileStartByTag
- mov r2, r8
- ldrb r1, [r2]
- adds r1, r5
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- ldr r2, _08034F70 @ =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _08034F74 @ =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- mov r3, r8
- ldrb r0, [r3]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- mov r1, r9
- strh r1, [r0, 0x6]
- ldrb r0, [r3]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _08034F78 @ =sub_80313A0
- str r1, [r0]
- ldr r1, _08034F7C @ =gBattleBankFunc
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08034F80 @ =sub_8032B84
- str r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08034F4C: .4byte gTrainers
-_08034F50: .4byte gActiveBank
-_08034F54: .4byte gUnknown_02024E8C
-_08034F58: .4byte gTrainerFrontPicCoords
-_08034F5C: .4byte gObjectBankIDs
-_08034F60: .4byte gSprites
-_08034F64: .4byte 0x0000fffe
-_08034F68: .4byte gTrainerFrontPicPaletteTable
-_08034F6C: .4byte gTrainerFrontPicTable
-_08034F70: .4byte 0x000003ff
-_08034F74: .4byte 0xfffffc00
-_08034F78: .4byte sub_80313A0
-_08034F7C: .4byte gBattleBankFunc
-_08034F80: .4byte sub_8032B84
- thumb_func_end OpponentHandleTrainerSlide
-
- thumb_func_start OpponentHandleTrainerSlideBack
-OpponentHandleTrainerSlideBack: @ 8034F84
- push {r4-r6,lr}
- ldr r6, _08035014 @ =gObjectBankIDs
- ldr r4, _08035018 @ =gActiveBank
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _0803501C @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x8C
- lsls r1, 1
- strh r1, [r0, 0x32]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08035020 @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r4]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _08035024 @ =SpriteCallbackDummy
- bl oamt_set_x3A_32
- ldr r1, _08035028 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _0803502C @ =sub_8032BBC
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035014: .4byte gObjectBankIDs
-_08035018: .4byte gActiveBank
-_0803501C: .4byte gSprites
-_08035020: .4byte sub_8078B34
-_08035024: .4byte SpriteCallbackDummy
-_08035028: .4byte gBattleBankFunc
-_0803502C: .4byte sub_8032BBC
- thumb_func_end OpponentHandleTrainerSlideBack
-
- thumb_func_start sub_8035030
-sub_8035030: @ 8035030
- push {r4,r5,lr}
- ldr r5, _08035074 @ =gActiveBank
- ldrb r2, [r5]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r4, _08035078 @ =0x02017810
- adds r3, r0, r4
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- bne _0803507C
- lsls r0, r2, 2
- adds r1, r4, 0
- subs r1, 0x10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08035062
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_08035062:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _080350B8
- .align 2, 0
-_08035074: .4byte gActiveBank
-_08035078: .4byte 0x02017810
-_0803507C:
- ldrb r1, [r3]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080350B8
- strb r0, [r3, 0x4]
- movs r0, 0x10
- movs r1, 0x3F
- bl PlaySE12WithPanning
- ldr r2, _080350C0 @ =gSprites
- ldr r1, _080350C4 @ =gObjectBankIDs
- ldrb r0, [r5]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080350C8 @ =sub_8010384
- str r1, [r0]
- ldr r1, _080350CC @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080350D0 @ =sub_803311C
- str r1, [r0]
-_080350B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080350C0: .4byte gSprites
-_080350C4: .4byte gObjectBankIDs
-_080350C8: .4byte sub_8010384
-_080350CC: .4byte gBattleBankFunc
-_080350D0: .4byte sub_803311C
- thumb_func_end sub_8035030
-
- thumb_func_start sub_80350D4
-sub_80350D4: @ 80350D4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80350D4
-
- thumb_func_start sub_80350E0
-sub_80350E0: @ 80350E0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80350E0
-
- thumb_func_start OpponentHandleBallThrow
-OpponentHandleBallThrow: @ 80350EC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleBallThrow
-
- thumb_func_start OpponentHandlePause
-OpponentHandlePause: @ 80350F8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandlePause
-
- thumb_func_start OpponentHandleMoveAnimation
-OpponentHandleMoveAnimation: @ 8035104
- push {r4-r6,lr}
- ldr r6, _080351E8 @ =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- beq _08035116
- b _08035226
-_08035116:
- ldr r0, _080351EC @ =gBattleBufferA
- mov r12, r0
- ldrb r2, [r6]
- lsls r2, 9
- adds r0, 0x1
- adds r0, r2, r0
- ldrb r0, [r0]
- mov r1, r12
- adds r1, 0x2
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- ldr r5, _080351F0 @ =gUnknown_0202F7C4
- mov r1, r12
- adds r1, 0x3
- adds r2, r1
- ldrb r1, [r2]
- strb r1, [r5]
- ldr r4, _080351F4 @ =gMovePowerMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x4
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x5
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r4, _080351F8 @ =gMoveDmgMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x6
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0x7
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 8
- orrs r3, r1
- mov r1, r12
- adds r1, 0x8
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 16
- orrs r3, r1
- mov r1, r12
- adds r1, 0x9
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 24
- orrs r3, r1
- str r3, [r4]
- ldr r3, _080351FC @ =gHappinessMoveAnim
- ldrb r1, [r6]
- lsls r1, 9
- mov r2, r12
- adds r2, 0xA
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r3]
- ldr r4, _08035200 @ =gWeatherMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0xC
- adds r1, r2, r1
- ldrb r3, [r1]
- mov r1, r12
- adds r1, 0xD
- adds r2, r1
- ldrb r1, [r2]
- lsls r1, 8
- orrs r3, r1
- strh r3, [r4]
- ldr r3, _08035204 @ =gDisableStructMoveAnim
- ldrb r2, [r6]
- lsls r2, 9
- mov r1, r12
- adds r1, 0x10
- adds r2, r1
- str r2, [r3]
- ldr r3, _08035208 @ =gPID_perBank
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r3
- ldr r2, [r2]
- str r2, [r1]
- ldrb r1, [r5]
- bl sub_8031720
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0803520C
- bl OpponentBufferExecCompleted
- b _08035226
- .align 2, 0
-_080351E8: .4byte gActiveBank
-_080351EC: .4byte gBattleBufferA
-_080351F0: .4byte gUnknown_0202F7C4
-_080351F4: .4byte gMovePowerMoveAnim
-_080351F8: .4byte gMoveDmgMoveAnim
-_080351FC: .4byte gHappinessMoveAnim
-_08035200: .4byte gWeatherMoveAnim
-_08035204: .4byte gDisableStructMoveAnim
-_08035208: .4byte gPID_perBank
-_0803520C:
- ldrb r1, [r6]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _0803522C @ =0x02017810
- adds r0, r1
- strb r2, [r0, 0x4]
- ldr r1, _08035230 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035234 @ =sub_8035238
- str r1, [r0]
-_08035226:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803522C: .4byte 0x02017810
-_08035230: .4byte gBattleBankFunc
-_08035234: .4byte sub_8035238
- thumb_func_end OpponentHandleMoveAnimation
-
- thumb_func_start sub_8035238
-sub_8035238: @ 8035238
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0803527C @ =gBattleBufferA
- ldr r5, _08035280 @ =gActiveBank
- ldrb r3, [r5]
- lsls r1, r3, 9
- adds r0, r2, 0x1
- mov r9, r0
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r6, r2, 0x2
- mov r8, r6
- adds r0, r1, r6
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- adds r2, 0xB
- adds r1, r2
- ldrb r7, [r1]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r6, _08035284 @ =0x02017810
- adds r0, r6
- ldrb r2, [r0, 0x4]
- cmp r2, 0x1
- beq _080352C6
- cmp r2, 0x1
- bgt _08035288
- cmp r2, 0
- beq _08035292
- b _08035390
- .align 2, 0
-_0803527C: .4byte gBattleBufferA
-_08035280: .4byte gActiveBank
-_08035284: .4byte 0x02017810
-_08035288:
- cmp r2, 0x2
- beq _080352EC
- cmp r2, 0x3
- beq _08035358
- b _08035390
-_08035292:
- lsls r1, r3, 2
- adds r0, r6, 0
- subs r0, 0x10
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0xC
- ands r0, r2
- cmp r0, 0x4
- bne _080352B6
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1]
- ldrb r2, [r5]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x5
- bl move_anim_start_t4
-_080352B6:
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08035390
-_080352C6:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08035390
- movs r0, 0
- bl sub_80326EC
- adds r0, r4, 0
- bl ExecuteMoveAnim
- ldrb r0, [r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08035390
-_080352EC:
- ldr r0, _08035348 @ =gAnimScriptCallback
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _0803534C @ =gAnimScriptActive
- ldrb r0, [r0]
- cmp r0, 0
- bne _08035390
- movs r0, 0x1
- bl sub_80326EC
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r4, r6, 0
- subs r4, 0x10
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08035334
- cmp r7, 0x1
- bhi _08035334
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x6
- bl move_anim_start_t4
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- movs r1, 0x9
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_08035334:
- ldr r0, _08035350 @ =gActiveBank
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _08035354 @ =0x02017810
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0, 0x4]
- b _08035390
- .align 2, 0
-_08035348: .4byte gAnimScriptCallback
-_0803534C: .4byte gAnimScriptActive
-_08035350: .4byte gActiveBank
-_08035354: .4byte 0x02017810
-_08035358:
- ldrb r1, [r0]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08035390
- bl sub_8031F24
- ldrb r0, [r5]
- lsls r2, r0, 9
- mov r3, r9
- adds r1, r2, r3
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- bl sub_80324BC
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r4, [r0, 0x4]
- bl OpponentBufferExecCompleted
-_08035390:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8035238
-
- thumb_func_start OpponentHandlePrintString
-OpponentHandlePrintString: @ 803539C
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080353E0 @ =gUnknown_030042A4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080353E4 @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r4, _080353E8 @ =gActiveBank
- ldrb r0, [r4]
- lsls r0, 9
- ldr r1, _080353EC @ =gUnknown_02023A62
- adds r0, r1
- ldrh r0, [r0]
- bl BufferStringBattle
- ldr r0, _080353F0 @ =gUnknown_03004210
- ldr r1, _080353F4 @ =gDisplayedStringBattle
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x90
- movs r3, 0x2
- bl sub_8002EB0
- ldr r1, _080353F8 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080353FC @ =sub_80331D0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080353E0: .4byte gUnknown_030042A4
-_080353E4: .4byte gUnknown_030042A0
-_080353E8: .4byte gActiveBank
-_080353EC: .4byte gUnknown_02023A62
-_080353F0: .4byte gUnknown_03004210
-_080353F4: .4byte gDisplayedStringBattle
-_080353F8: .4byte gBattleBankFunc
-_080353FC: .4byte sub_80331D0
- thumb_func_end OpponentHandlePrintString
-
- thumb_func_start OpponentHandlePrintStringPlayerOnly
-OpponentHandlePrintStringPlayerOnly: @ 8035400
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandlePrintStringPlayerOnly
-
- thumb_func_start sub_803540C
-sub_803540C: @ 803540C
- push {lr}
- bl sub_8036B0C
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_803540C
-
- thumb_func_start sub_803541C
-sub_803541C: @ 803541C
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_803541C
-
- thumb_func_start sub_8035428
-sub_8035428: @ 8035428
- push {r4-r6,lr}
- ldr r6, _0803545C @ =gActiveBank
- ldrb r0, [r6]
- lsls r0, 9
- ldr r1, _08035460 @ =gUnknown_02023A64
- adds r5, r0, r1
- ldr r0, _08035464 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x93
- lsls r0, 3
- ands r0, r1
- cmp r0, 0
- beq _080354F8
- bl BattleAI_SetupAIData
- bl BattleAI_GetAIActionToUse
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- beq _08035468
- cmp r4, 0x5
- bne _08035474
- movs r0, 0x1
- movs r1, 0x4
- b _0803546C
- .align 2, 0
-_0803545C: .4byte gActiveBank
-_08035460: .4byte gUnknown_02023A64
-_08035464: .4byte gBattleTypeFlags
-_08035468:
- movs r0, 0x1
- movs r1, 0x3
-_0803546C:
- movs r2, 0
- bl dp01_build_cmdbuf_x21_a_bb
- b _080354E0
-_08035474:
- ldr r3, _080354E8 @ =gBattleMoves
- lsls r0, r4, 1
- adds r2, r5, r0
- ldrh r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x12
- ands r0, r1
- cmp r0, 0
- beq _08035494
- ldr r1, _080354EC @ =gBankTarget
- ldrb r0, [r6]
- strb r0, [r1]
-_08035494:
- ldrh r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080354CE
- movs r0, 0
- bl GetBankByPlayerAI
- ldr r5, _080354EC @ =gBankTarget
- strb r0, [r5]
- ldr r0, _080354F0 @ =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, _080354F4 @ =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080354CE
- movs r0, 0x2
- bl GetBankByPlayerAI
- strb r0, [r5]
-_080354CE:
- ldr r0, _080354EC @ =gBankTarget
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- movs r0, 0x1
- movs r1, 0xA
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x21_a_bb
-_080354E0:
- bl OpponentBufferExecCompleted
- b _0803558A
- .align 2, 0
-_080354E8: .4byte gBattleMoves
-_080354EC: .4byte gBankTarget
-_080354F0: .4byte gAbsentBankFlags
-_080354F4: .4byte gBitTable
-_080354F8:
- movs r6, 0x3
-_080354FA:
- bl Random
- adds r4, r0, 0
- ands r4, r6
- lsls r0, r4, 1
- adds r0, r5, r0
- ldrh r2, [r0]
- cmp r2, 0
- beq _080354FA
- ldr r1, _08035534 @ =gBattleMoves
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- movs r0, 0x12
- ands r0, r1
- cmp r0, 0
- beq _0803553C
- ldr r0, _08035538 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 8
- orrs r4, r0
- movs r0, 0x1
- movs r1, 0xA
- adds r2, r4, 0
- bl dp01_build_cmdbuf_x21_a_bb
- b _08035586
- .align 2, 0
-_08035534: .4byte gBattleMoves
-_08035538: .4byte gActiveBank
-_0803553C:
- ldr r0, _0803556C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035570
- bl Random
- movs r1, 0x2
- ands r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1, 0
- bl GetBankByPlayerAI
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 16
- orrs r2, r4
- movs r0, 0x1
- movs r1, 0xA
- bl dp01_build_cmdbuf_x21_a_bb
- b _08035586
- .align 2, 0
-_0803556C: .4byte gBattleTypeFlags
-_08035570:
- movs r0, 0
- bl GetBankByPlayerAI
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 16
- orrs r2, r4
- movs r0, 0x1
- movs r1, 0xA
- bl dp01_build_cmdbuf_x21_a_bb
-_08035586:
- bl OpponentBufferExecCompleted
-_0803558A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8035428
-
- thumb_func_start sub_8035590
-sub_8035590: @ 8035590
- push {lr}
- ldr r1, _080355B4 @ =0x02000000
- ldr r0, _080355B8 @ =gActiveBank
- ldrb r0, [r0]
- lsrs r0, 1
- lsls r0, 1
- ldr r2, _080355BC @ =0x000160d4
- adds r0, r2
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl dp01_build_cmdbuf_x23_aa_0
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080355B4: .4byte 0x02000000
-_080355B8: .4byte gActiveBank
-_080355BC: .4byte 0x000160d4
- thumb_func_end sub_8035590
-
- thumb_func_start sub_80355C0
-sub_80355C0: @ 80355C0
- push {r4-r6,lr}
- ldr r6, _08035604 @ =0x02000000
- ldr r5, _08035608 @ =gActiveBank
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r1, _0803560C @ =0x000160c8
- adds r0, r1
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08035664
- bl sub_8036CD4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bne _0803568A
- ldr r0, _08035610 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08035614
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- b _08035628
- .align 2, 0
-_08035604: .4byte 0x02000000
-_08035608: .4byte gActiveBank
-_0803560C: .4byte 0x000160c8
-_08035610: .4byte gBattleTypeFlags
-_08035614:
- movs r0, 0x1
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x3
- bl GetBankByPlayerAI
- lsls r0, 24
- lsrs r5, r0, 24
-_08035628:
- movs r4, 0
- b _0803562E
-_0803562C:
- adds r4, 0x1
-_0803562E:
- cmp r4, 0x5
- bgt _0803568A
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0803565C @ =gEnemyParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0803562C
- ldr r1, _08035660 @ =gBattlePartyID
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _0803562C
- lsls r0, r5, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- beq _0803562C
- b _0803568A
- .align 2, 0
-_0803565C: .4byte gEnemyParty
-_08035660: .4byte gBattlePartyID
-_08035664:
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r2, _080356B0 @ =0x000160c8
- adds r0, r2
- adds r0, r6
- ldrb r4, [r0]
- ldrb r0, [r5]
- bl GetBankIdentity
- lsls r0, 24
- lsrs r0, 25
- ldr r1, _080356B0 @ =0x000160c8
- adds r0, r1
- adds r0, r6
- movs r1, 0x6
- strb r1, [r0]
-_0803568A:
- ldr r1, _080356B4 @ =0x02000000
- ldr r0, _080356B8 @ =gActiveBank
- ldrb r0, [r0]
- ldr r2, _080356BC @ =0x00016068
- adds r0, r2
- adds r0, r1
- strb r4, [r0]
- lsls r1, r4, 24
- lsrs r1, 24
- movs r0, 0x1
- movs r2, 0
- bl dp01_build_cmdbuf_x22_a_three_bytes
- bl OpponentBufferExecCompleted
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080356B0: .4byte 0x000160c8
-_080356B4: .4byte 0x02000000
-_080356B8: .4byte gActiveBank
-_080356BC: .4byte 0x00016068
- thumb_func_end sub_80355C0
-
- thumb_func_start sub_80356C0
-sub_80356C0: @ 80356C0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80356C0
-
- thumb_func_start OpponentHandleHealthBarUpdate
-OpponentHandleHealthBarUpdate: @ 80356CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- bl load_gfxc_health_bar
- ldr r3, _08035744 @ =gBattleBufferA
- ldr r0, _08035748 @ =gActiveBank
- mov r9, r0
- ldrb r4, [r0]
- lsls r2, r4, 9
- adds r0, r3, 0x3
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r1, 8
- adds r3, 0x2
- adds r2, r3
- ldrb r0, [r2]
- orrs r0, r1
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _0803574C @ =0x00007fff
- cmp r7, r0
- beq _0803575C
- ldr r6, _08035750 @ =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r6
- ldrh r0, [r0]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _08035754 @ =gEnemyParty
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- mov r8, r0
- mov r1, r9
- ldrb r0, [r1]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- adds r3, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _08035758 @ =gHealthboxIDs
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- mov r2, r8
- bl sub_8043D84
- b _08035786
- .align 2, 0
-_08035744: .4byte gBattleBufferA
-_08035748: .4byte gActiveBank
-_0803574C: .4byte 0x00007fff
-_08035750: .4byte gBattlePartyID
-_08035754: .4byte gEnemyParty
-_08035758: .4byte gHealthboxIDs
-_0803575C:
- ldr r1, _080357A4 @ =gBattlePartyID
- lsls r0, r4, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080357A8 @ =gEnemyParty
- adds r0, r1
- movs r1, 0x3A
- bl GetMonData
- adds r2, r0, 0
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _080357AC @ =gHealthboxIDs
- adds r1, r0, r1
- ldrb r1, [r1]
- str r7, [sp]
- movs r3, 0
- bl sub_8043D84
-_08035786:
- ldr r1, _080357B0 @ =gBattleBankFunc
- ldr r0, _080357B4 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080357B8 @ =sub_80330C8
- str r1, [r0]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080357A4: .4byte gBattlePartyID
-_080357A8: .4byte gEnemyParty
-_080357AC: .4byte gHealthboxIDs
-_080357B0: .4byte gBattleBankFunc
-_080357B4: .4byte gActiveBank
-_080357B8: .4byte sub_80330C8
- thumb_func_end OpponentHandleHealthBarUpdate
-
- thumb_func_start OpponentHandleExpBarUpdate
-OpponentHandleExpBarUpdate: @ 80357BC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleExpBarUpdate
-
- thumb_func_start OpponentHandleStatusIconUpdate
-OpponentHandleStatusIconUpdate: @ 80357C8
- push {r4,lr}
- ldr r4, _08035820 @ =gActiveBank
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08035818
- ldr r0, _08035824 @ =gHealthboxIDs
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _08035828 @ =gBattlePartyID
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _0803582C @ =gEnemyParty
- adds r1, r2
- movs r2, 0x9
- bl sub_8045A5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _08035830 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _08035834 @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035838 @ =sub_8033494
- str r1, [r0]
-_08035818:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035820: .4byte gActiveBank
-_08035824: .4byte gHealthboxIDs
-_08035828: .4byte gBattlePartyID
-_0803582C: .4byte gEnemyParty
-_08035830: .4byte 0x02017810
-_08035834: .4byte gBattleBankFunc
-_08035838: .4byte sub_8033494
- thumb_func_end OpponentHandleStatusIconUpdate
-
- thumb_func_start OpponentHandleStatusAnimation
-OpponentHandleStatusAnimation: @ 803583C
- push {r4,r5,lr}
- ldr r5, _08035894 @ =gActiveBank
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0803588C
- ldr r4, _08035898 @ =gBattleBufferA
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, _0803589C @ =gBattleBankFunc
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _080358A0 @ =sub_8033494
- str r1, [r0]
-_0803588C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08035894: .4byte gActiveBank
-_08035898: .4byte gBattleBufferA
-_0803589C: .4byte gBattleBankFunc
-_080358A0: .4byte sub_8033494
- thumb_func_end OpponentHandleStatusAnimation
-
- thumb_func_start OpponentHandleStatusXor
-OpponentHandleStatusXor: @ 80358A4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleStatusXor
-
- thumb_func_start sub_80358B0
-sub_80358B0: @ 80358B0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358B0
-
- thumb_func_start OpponentHandleDMATransfer
-OpponentHandleDMATransfer: @ 80358BC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleDMATransfer
-
- thumb_func_start sub_80358C8
-sub_80358C8: @ 80358C8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358C8
-
- thumb_func_start sub_80358D4
-sub_80358D4: @ 80358D4
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358D4
-
- thumb_func_start sub_80358E0
-sub_80358E0: @ 80358E0
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358E0
-
- thumb_func_start sub_80358EC
-sub_80358EC: @ 80358EC
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358EC
-
- thumb_func_start sub_80358F8
-sub_80358F8: @ 80358F8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_80358F8
-
- thumb_func_start sub_8035904
-sub_8035904: @ 8035904
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035904
-
- thumb_func_start sub_8035910
-sub_8035910: @ 8035910
- push {lr}
- ldr r2, _08035928 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035928: .4byte gUnknown_020238C8
- thumb_func_end sub_8035910
-
- thumb_func_start sub_803592C
-sub_803592C: @ 803592C
- push {lr}
- ldr r3, _08035958 @ =gUnknown_020238C8
- ldr r1, _0803595C @ =gBattleBufferA
- ldr r0, _08035960 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035958: .4byte gUnknown_020238C8
-_0803595C: .4byte gBattleBufferA
-_08035960: .4byte gActiveBank
- thumb_func_end sub_803592C
-
- thumb_func_start sub_8035964
-sub_8035964: @ 8035964
- push {lr}
- ldr r2, _08035978 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035978: .4byte gUnknown_020238C8
- thumb_func_end sub_8035964
-
- thumb_func_start sub_803597C
-sub_803597C: @ 803597C
- push {lr}
- ldr r3, _080359A0 @ =gUnknown_020238C8
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_080359A0: .4byte gUnknown_020238C8
- thumb_func_end sub_803597C
-
- thumb_func_start OpponentHandleHitAnimation
-OpponentHandleHitAnimation: @ 80359A4
- push {r4,lr}
- ldr r3, _080359CC @ =gSprites
- ldr r2, _080359D0 @ =gObjectBankIDs
- ldr r4, _080359D4 @ =gActiveBank
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080359D8
- bl OpponentBufferExecCompleted
- b _08035A02
- .align 2, 0
-_080359CC: .4byte gSprites
-_080359D0: .4byte gObjectBankIDs
-_080359D4: .4byte gActiveBank
-_080359D8:
- ldr r1, _08035A08 @ =gDoingBattleAnim
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_8047858
- ldr r1, _08035A0C @ =gBattleBankFunc
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035A10 @ =bx_blink_t7
- str r1, [r0]
-_08035A02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A08: .4byte gDoingBattleAnim
-_08035A0C: .4byte gBattleBankFunc
-_08035A10: .4byte bx_blink_t7
- thumb_func_end OpponentHandleHitAnimation
-
- thumb_func_start sub_8035A14
-sub_8035A14: @ 8035A14
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035A14
-
- thumb_func_start OpponentHandleEffectivenessSound
-OpponentHandleEffectivenessSound: @ 8035A20
- push {r4,lr}
- ldr r4, _08035A5C @ =gActiveBank
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _08035A34
- movs r3, 0xC0
-_08035A34:
- ldr r2, _08035A60 @ =gBattleBufferA
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl OpponentBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035A5C: .4byte gActiveBank
-_08035A60: .4byte gBattleBufferA
- thumb_func_end OpponentHandleEffectivenessSound
-
- thumb_func_start sub_8035A64
-sub_8035A64: @ 8035A64
- push {lr}
- ldr r2, _08035A8C @ =gBattleBufferA
- ldr r0, _08035A90 @ =gActiveBank
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035A8C: .4byte gBattleBufferA
-_08035A90: .4byte gActiveBank
- thumb_func_end sub_8035A64
-
- thumb_func_start OpponentHandleFaintingCry
-OpponentHandleFaintingCry: @ 8035A94
- push {lr}
- ldr r1, _08035AC4 @ =gBattlePartyID
- ldr r0, _08035AC8 @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08035ACC @ =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- movs r2, 0x5
- bl PlayCry3
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035AC4: .4byte gBattlePartyID
-_08035AC8: .4byte gActiveBank
-_08035ACC: .4byte gEnemyParty
- thumb_func_end OpponentHandleFaintingCry
-
- thumb_func_start dp01t_2E_7_battle_intro
-dp01t_2E_7_battle_intro: @ 8035AD0
- push {lr}
- ldr r1, _08035AF8 @ =gBattleBufferA
- ldr r0, _08035AFC @ =gActiveBank
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E43C0
- ldr r2, _08035B00 @ =gUnknown_02024DE8
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035AF8: .4byte gBattleBufferA
-_08035AFC: .4byte gActiveBank
-_08035B00: .4byte gUnknown_02024DE8
- thumb_func_end dp01t_2E_7_battle_intro
-
- thumb_func_start sub_8035B04
-sub_8035B04: @ 8035B04
- push {r4-r6,lr}
- ldr r5, _08035BE0 @ =gObjectBankIDs
- ldr r6, _08035BE4 @ =gActiveBank
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08035BE8 @ =gSprites
- adds r0, r4
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x23
- strh r1, [r0, 0x2E]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x8C
- lsls r1, 1
- strh r1, [r0, 0x32]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08035BEC @ =sub_8078B34
- str r1, [r0]
- ldrb r0, [r6]
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _08035BF0 @ =sub_8035C10
- bl oamt_set_x3A_32
- ldr r0, _08035BF4 @ =sub_8035C44
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08035BF8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r6]
- strh r0, [r1, 0x8]
- ldrb r3, [r6]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r2, _08035BFC @ =0x02017810
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035BC2
- ldr r0, _08035C00 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _08035C04 @ =sub_8044CA0
- str r1, [r0]
-_08035BC2:
- adds r2, 0x30
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08035C08 @ =gBattleBankFunc
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035C0C @ =nullsub_45
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035BE0: .4byte gObjectBankIDs
-_08035BE4: .4byte gActiveBank
-_08035BE8: .4byte gSprites
-_08035BEC: .4byte sub_8078B34
-_08035BF0: .4byte sub_8035C10
-_08035BF4: .4byte sub_8035C44
-_08035BF8: .4byte gTasks
-_08035BFC: .4byte 0x02017810
-_08035C00: .4byte gUnknown_02024E68
-_08035C04: .4byte sub_8044CA0
-_08035C08: .4byte gBattleBankFunc
-_08035C0C: .4byte nullsub_45
- thumb_func_end sub_8035B04
-
- thumb_func_start sub_8035C10
-sub_8035C10: @ 8035C10
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x6]
- bl sub_8031B74
- ldrh r0, [r4, 0x38]
- ldr r1, _08035C3C @ =0x000003ff
- ands r1, r0
- ldrh r2, [r4, 0x4]
- ldr r0, _08035C40 @ =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035C3C: .4byte 0x000003ff
-_08035C40: .4byte 0xfffffc00
- thumb_func_end sub_8035C10
-
- thumb_func_start sub_8035C44
-sub_8035C44: @ 8035C44
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r7, _08035C9C @ =gActiveBank
- ldrb r0, [r7]
- mov r9, r0
- ldr r1, _08035CA0 @ =gTasks
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08035C7E
- ldr r0, _08035CA4 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08035CB0
-_08035C7E:
- ldr r0, _08035CA8 @ =gBattleBufferA
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _08035CAC @ =gBattlePartyID
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- b _08035CF0
- .align 2, 0
-_08035C9C: .4byte gActiveBank
-_08035CA0: .4byte gTasks
-_08035CA4: .4byte gBattleTypeFlags
-_08035CA8: .4byte gBattleBufferA
-_08035CAC: .4byte gBattlePartyID
-_08035CB0:
- ldr r4, _08035D14 @ =gBattleBufferA
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r6, _08035D18 @ =gBattlePartyID
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- ldrb r0, [r7]
- movs r5, 0x2
- eors r0, r5
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_803495C
- ldrb r0, [r7]
- eors r0, r5
- strb r0, [r7]
-_08035CF0:
- ldr r1, _08035D1C @ =gBattleBankFunc
- ldr r2, _08035D20 @ =gActiveBank
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08035D24 @ =sub_8032E2C
- str r1, [r0]
- mov r0, r9
- strb r0, [r2]
- mov r0, r8
- bl DestroyTask
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035D14: .4byte gBattleBufferA
-_08035D18: .4byte gBattlePartyID
-_08035D1C: .4byte gBattleBankFunc
-_08035D20: .4byte gActiveBank
-_08035D24: .4byte sub_8032E2C
- thumb_func_end sub_8035C44
-
- thumb_func_start dp01t_30_7_0803D67C
-dp01t_30_7_0803D67C: @ 8035D28
- push {r4-r6,lr}
- ldr r1, _08035D50 @ =gBattleBufferA
- ldr r0, _08035D54 @ =gActiveBank
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08035D58
- adds r0, r2, 0
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08035D58
- bl OpponentBufferExecCompleted
- b _08035E12
- .align 2, 0
-_08035D50: .4byte gBattleBufferA
-_08035D54: .4byte gActiveBank
-_08035D58:
- ldr r3, _08035DA8 @ =gActiveBank
- ldrb r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r4, _08035DAC @ =0x02017810
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldr r1, _08035DB0 @ =gBattleBufferA
- ldrb r2, [r3]
- lsls r0, r2, 9
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- adds r6, r3, 0
- cmp r0, 0
- beq _08035DBC
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r4
- ldrb r2, [r3, 0x1]
- lsls r1, r2, 26
- lsrs r0, r1, 27
- cmp r0, 0x1
- bhi _08035DB4
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- lsls r0, 1
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x1]
- b _08035E12
- .align 2, 0
-_08035DA8: .4byte gActiveBank
-_08035DAC: .4byte 0x02017810
-_08035DB0: .4byte gBattleBufferA
-_08035DB4:
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- strb r0, [r3, 0x1]
-_08035DBC:
- adds r5, r6, 0
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _08035E18 @ =gUnknown_02023A64
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8044804
- ldr r2, _08035E1C @ =gUnknown_02024E68
- ldrb r1, [r5]
- adds r1, r2
- movs r2, 0
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _08035E20 @ =0x02017810
- adds r0, r3
- strb r2, [r0, 0x5]
- ldrb r1, [r5]
- lsls r0, r1, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08035E06
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_08035E06:
- ldr r0, _08035E24 @ =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08035E28 @ =sub_8035E2C
- str r0, [r1]
-_08035E12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035E18: .4byte gUnknown_02023A64
-_08035E1C: .4byte gUnknown_02024E68
-_08035E20: .4byte 0x02017810
-_08035E24: .4byte gBattleBankFunc
-_08035E28: .4byte sub_8035E2C
- thumb_func_end dp01t_30_7_0803D67C
-
- thumb_func_start sub_8035E2C
-sub_8035E2C: @ 8035E2C
- push {r4,lr}
- ldr r4, _08035E64 @ =gActiveBank
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _08035E68 @ =0x02017810
- adds r0, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08035E5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strb r0, [r1, 0x5]
- bl OpponentBufferExecCompleted
-_08035E5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035E64: .4byte gActiveBank
-_08035E68: .4byte 0x02017810
- thumb_func_end sub_8035E2C
-
- thumb_func_start sub_8035E6C
-sub_8035E6C: @ 8035E6C
- push {lr}
- ldr r0, _08035EA4 @ =gActiveBank
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r1, _08035EA8 @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08035E9A
- ldr r2, _08035EAC @ =gTasks
- ldr r0, _08035EB0 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08035EB4 @ =sub_8044CA0
- str r1, [r0]
-_08035E9A:
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035EA4: .4byte gActiveBank
-_08035EA8: .4byte 0x02017810
-_08035EAC: .4byte gTasks
-_08035EB0: .4byte gUnknown_02024E68
-_08035EB4: .4byte sub_8044CA0
- thumb_func_end sub_8035E6C
-
- thumb_func_start sub_8035EB8
-sub_8035EB8: @ 8035EB8
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end sub_8035EB8
-
- thumb_func_start OpponentHandleSpriteInvisibility
-OpponentHandleSpriteInvisibility: @ 8035EC4
- push {r4,lr}
- ldr r4, _08035F14 @ =gActiveBank
- ldrb r0, [r4]
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _08035F0A
- ldr r3, _08035F18 @ =gSprites
- ldr r0, _08035F1C @ =gObjectBankIDs
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _08035F20 @ =gBattleBufferA
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_8031F88
-_08035F0A:
- bl OpponentBufferExecCompleted
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035F14: .4byte gActiveBank
-_08035F18: .4byte gSprites
-_08035F1C: .4byte gObjectBankIDs
-_08035F20: .4byte gBattleBufferA
- thumb_func_end OpponentHandleSpriteInvisibility
-
- thumb_func_start OpponentHandleBattleAnimation
-OpponentHandleBattleAnimation: @ 8035F24
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08035F68 @ =gActiveBank
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08035F7C
- ldr r5, _08035F6C @ =gBattleBufferA
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08035F70
- bl OpponentBufferExecCompleted
- b _08035F7C
- .align 2, 0
-_08035F68: .4byte gActiveBank
-_08035F6C: .4byte gBattleBufferA
-_08035F70:
- ldr r0, _08035F84 @ =gBattleBankFunc
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08035F88 @ =sub_80334C0
- str r0, [r1]
-_08035F7C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08035F84: .4byte gBattleBankFunc
-_08035F88: .4byte sub_80334C0
- thumb_func_end OpponentHandleBattleAnimation
-
- thumb_func_start OpponentHandleLinkStandbyMsg
-OpponentHandleLinkStandbyMsg: @ 8035F8C
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleLinkStandbyMsg
-
- thumb_func_start OpponentHandleResetActionMoveSelection
-OpponentHandleResetActionMoveSelection: @ 8035F98
- push {lr}
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- thumb_func_end OpponentHandleResetActionMoveSelection
-
- thumb_func_start sub_8035FA4
-sub_8035FA4: @ 8035FA4
- push {lr}
- ldr r0, _08035FD8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0x2
- bne _08035FCE
- ldr r2, _08035FDC @ =gMain
- ldr r0, _08035FE0 @ =0x0000043d
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldr r0, _08035FE4 @ =gPreBattleCallback1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r2, 0x8]
- bl SetMainCallback2
-_08035FCE:
- bl OpponentBufferExecCompleted
- pop {r0}
- bx r0
- .align 2, 0
-_08035FD8: .4byte gBattleTypeFlags
-_08035FDC: .4byte gMain
-_08035FE0: .4byte 0x0000043d
-_08035FE4: .4byte gPreBattleCallback1
- thumb_func_end sub_8035FA4
-
- thumb_func_start nullsub_46
-nullsub_46: @ 8035FE8
- bx lr
- thumb_func_end nullsub_46
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/field_fadetransition.s b/asm/field_fadetransition.s
index e882e7030..1f489ceb3 100644
--- a/asm/field_fadetransition.s
+++ b/asm/field_fadetransition.s
@@ -815,8 +815,8 @@ _08081022:
_08081028: .4byte sub_8054588
thumb_func_end sub_8080FC4
- thumb_func_start sub_808102C
-sub_808102C: @ 808102C
+ thumb_func_start DoCableClubWarp
+DoCableClubWarp: @ 808102C
push {lr}
bl ScriptContext2_Enable
bl sub_8053FF8
@@ -830,7 +830,7 @@ sub_808102C: @ 808102C
bx r0
.align 2, 0
_0808104C: .4byte sub_8080FC4
- thumb_func_end sub_808102C
+ thumb_func_end DoCableClubWarp
thumb_func_start sub_8081050
sub_8081050: @ 8081050
diff --git a/asm/fldeff_flash.s b/asm/fldeff_flash.s
deleted file mode 100644
index dcd485d9f..000000000
--- a/asm/fldeff_flash.s
+++ /dev/null
@@ -1,753 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetUpFieldMove_Flash
-SetUpFieldMove_Flash: @ 810CBB4
- push {lr}
- ldr r0, _0810CBDC @ =gMapHeader
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0810CBF4
- ldr r0, _0810CBE0 @ =0x00000828
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _0810CBF4
- ldr r1, _0810CBE4 @ =gFieldCallback
- ldr r0, _0810CBE8 @ =sub_808AB90
- str r0, [r1]
- ldr r1, _0810CBEC @ =gUnknown_03005CE4
- ldr r0, _0810CBF0 @ =sub_810CBFC
- str r0, [r1]
- movs r0, 0x1
- b _0810CBF6
- .align 2, 0
-_0810CBDC: .4byte gMapHeader
-_0810CBE0: .4byte 0x00000828
-_0810CBE4: .4byte gFieldCallback
-_0810CBE8: .4byte sub_808AB90
-_0810CBEC: .4byte gUnknown_03005CE4
-_0810CBF0: .4byte sub_810CBFC
-_0810CBF4:
- movs r0, 0
-_0810CBF6:
- pop {r1}
- bx r1
- thumb_func_end SetUpFieldMove_Flash
-
- thumb_func_start sub_810CBFC
-sub_810CBFC: @ 810CBFC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CC24 @ =gUnknown_0202FF84
- ldr r1, _0810CC28 @ =gLastFieldPokeMenuOpened
- ldrb r1, [r1]
- str r1, [r2]
- ldr r2, _0810CC2C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _0810CC30 @ =sub_810CC34
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC24: .4byte gUnknown_0202FF84
-_0810CC28: .4byte gLastFieldPokeMenuOpened
-_0810CC2C: .4byte gTasks
-_0810CC30: .4byte sub_810CC34
- thumb_func_end sub_810CBFC
-
- thumb_func_start sub_810CC34
-sub_810CC34: @ 810CC34
- push {lr}
- movs r0, 0xCF
- bl PlaySE
- ldr r0, _0810CC4C @ =0x00000828
- bl FlagSet
- ldr r0, _0810CC50 @ =gUnknown_081B694A
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_0810CC4C: .4byte 0x00000828
-_0810CC50: .4byte gUnknown_081B694A
- thumb_func_end sub_810CC34
-
- thumb_func_start sub_810CC54
-sub_810CC54: @ 810CC54
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_810CC54
-
- thumb_func_start sub_810CC6C
-sub_810CC6C: @ 810CC6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_810CC6C
-
- thumb_func_start sub_810CC80
-sub_810CC80: @ 810CC80
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0810CD34 @ =0x040000d4
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD38 @ =0x8100c000
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r4, 0
- str r4, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _0810CD3C @ =0x85000100
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- strh r4, [r0]
- str r0, [r1]
- ldr r0, _0810CD40 @ =0x05000002
- str r0, [r1, 0x4]
- ldr r0, _0810CD44 @ =0x810001ff
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- ldr r3, _0810CD48 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0810CD4C @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r0, _0810CD50 @ =sub_810CC6C
- bl SetVBlankCallback
- ldr r0, _0810CD54 @ =sub_810CC54
- bl SetMainCallback2
- bl sub_810CD5C
- lsls r0, 24
- cmp r0, 0
- bne _0810CD2A
- ldr r0, _0810CD58 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CD2A:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CD34: .4byte 0x040000d4
-_0810CD38: .4byte 0x8100c000
-_0810CD3C: .4byte 0x85000100
-_0810CD40: .4byte 0x05000002
-_0810CD44: .4byte 0x810001ff
-_0810CD48: .4byte 0x04000208
-_0810CD4C: .4byte 0x04000200
-_0810CD50: .4byte sub_810CC6C
-_0810CD54: .4byte sub_810CC54
-_0810CD58: .4byte gMain
- thumb_func_end sub_810CC80
-
- thumb_func_start sub_810CD5C
-sub_810CD5C: @ 810CD5C
- push {r4-r7,lr}
- bl get_map_light_from_warp0
- lsls r0, 24
- lsrs r6, r0, 24
- bl sav1_map_get_light_level
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r4, _0810CD9C @ =gUnknown_083F7FC4
- ldrb r0, [r4]
- cmp r0, 0
- beq _0810CDB0
- adds r7, r4, 0
- adds r0, r4, 0x4
- mov r12, r0
-_0810CD7E:
- lsls r2, r3, 3
- adds r1, r2, r7
- ldrb r0, [r1]
- cmp r0, r6
- bne _0810CDA0
- ldrb r0, [r1, 0x1]
- cmp r0, r5
- bne _0810CDA0
- mov r1, r12
- adds r0, r2, r1
- ldr r0, [r0]
- bl _call_via_r0
- movs r0, 0x1
- b _0810CDB2
- .align 2, 0
-_0810CD9C: .4byte gUnknown_083F7FC4
-_0810CDA0:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CD7E
-_0810CDB0:
- movs r0, 0
-_0810CDB2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810CD5C
-
- thumb_func_start sub_810CDB8
-sub_810CDB8: @ 810CDB8
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CDE4 @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CDF8
- adds r6, r1, 0
-_0810CDCE:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CDE8
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CDE8
- ldrb r0, [r2, 0x2]
- b _0810CDFA
- .align 2, 0
-_0810CDE4: .4byte gUnknown_083F7FC4
-_0810CDE8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CDCE
-_0810CDF8:
- movs r0, 0
-_0810CDFA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_810CDB8
-
- thumb_func_start fade_type_for_given_maplight_pair
-fade_type_for_given_maplight_pair: @ 810CE00
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r0, 24
- lsrs r4, r1, 24
- movs r3, 0
- ldr r1, _0810CE2C @ =gUnknown_083F7FC4
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810CE40
- adds r6, r1, 0
-_0810CE16:
- lsls r0, r3, 3
- adds r2, r0, r6
- ldrb r0, [r2]
- cmp r0, r5
- bne _0810CE30
- ldrb r0, [r2, 0x1]
- cmp r0, r4
- bne _0810CE30
- ldrb r0, [r2, 0x3]
- b _0810CE42
- .align 2, 0
-_0810CE2C: .4byte gUnknown_083F7FC4
-_0810CE30:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0810CE16
-_0810CE40:
- movs r0, 0
-_0810CE42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end fade_type_for_given_maplight_pair
-
- thumb_func_start sub_810CE48
-sub_810CE48: @ 810CE48
- push {lr}
- ldr r0, _0810CE58 @ =sub_810CE5C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810CE58: .4byte sub_810CE5C
- thumb_func_end sub_810CE48
-
- thumb_func_start sub_810CE5C
-sub_810CE5C: @ 810CE5C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CE70 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810CE74 @ =sub_810CE78
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810CE70: .4byte gTasks
-_0810CE74: .4byte sub_810CE78
- thumb_func_end sub_810CE5C
-
- thumb_func_start sub_810CE78
-sub_810CE78: @ 810CE78
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r6, 0x80
- lsls r6, 19
- movs r5, 0
- strh r5, [r6]
- ldr r0, _0810CEE8 @ =gCaveTransitionTiles
- ldr r1, _0810CEEC @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810CEF0 @ =gCaveTransitionTilemap
- ldr r1, _0810CEF4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CEFC @ =gUnknown_083F809C
- movs r1, 0xE0
- movs r2, 0x10
- bl LoadPalette
- ldr r1, _0810CF00 @ =REG_BLDCNT
- ldr r2, _0810CF04 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810CF08 @ =REG_BLDALPHA
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r1, 0x48
- ldr r2, _0810CF0C @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r1, _0810CF10 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810CF14 @ =sub_810CF18
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CEE8: .4byte gCaveTransitionTiles
-_0810CEEC: .4byte 0x0600c000
-_0810CEF0: .4byte gCaveTransitionTilemap
-_0810CEF4: .4byte 0x0600f800
-_0810CEF8: .4byte gCaveTransitionPalette_White
-_0810CEFC: .4byte gUnknown_083F809C
-_0810CF00: .4byte REG_BLDCNT
-_0810CF04: .4byte 0x00003e41
-_0810CF08: .4byte REG_BLDALPHA
-_0810CF0C: .4byte 0x00001f0c
-_0810CF10: .4byte gTasks
-_0810CF14: .4byte sub_810CF18
- thumb_func_end sub_810CE78
-
- thumb_func_start sub_810CF18
-sub_810CF18: @ 810CF18
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF44 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r2, [r3, 0xA]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0810CF48 @ =REG_BLDALPHA
- strh r0, [r1]
- cmp r2, 0x10
- bhi _0810CF4C
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810CF54
- .align 2, 0
-_0810CF44: .4byte gTasks
-_0810CF48: .4byte REG_BLDALPHA
-_0810CF4C:
- movs r0, 0
- strh r0, [r3, 0xC]
- ldr r0, _0810CF58 @ =sub_810CF5C
- str r0, [r3]
-_0810CF54:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CF58: .4byte sub_810CF5C
- thumb_func_end sub_810CF18
-
- thumb_func_start sub_810CF5C
-sub_810CF5C: @ 810CF5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CF94 @ =REG_BLDALPHA
- ldr r3, _0810CF98 @ =0x00001010
- adds r1, r3, 0
- strh r1, [r2]
- ldr r2, _0810CF9C @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- cmp r1, 0x7
- bhi _0810CFA4
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 1
- ldr r0, _0810CFA0 @ =gUnknown_083F809C
- adds r0, r1, r0
- movs r2, 0x10
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810CFB6
- .align 2, 0
-_0810CF94: .4byte REG_BLDALPHA
-_0810CF98: .4byte 0x00001010
-_0810CF9C: .4byte gTasks
-_0810CFA0: .4byte gUnknown_083F809C
-_0810CFA4:
- ldr r0, _0810CFBC @ =gCaveTransitionPalette_White
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810CFC0 @ =sub_810CFC4
- str r0, [r4]
- movs r0, 0x8
- strh r0, [r4, 0xC]
-_0810CFB6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFBC: .4byte gCaveTransitionPalette_White
-_0810CFC0: .4byte sub_810CFC4
- thumb_func_end sub_810CF5C
-
- thumb_func_start sub_810CFC4
-sub_810CFC4: @ 810CFC4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810CFE4 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0810CFE8
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _0810CFF0
- .align 2, 0
-_0810CFE4: .4byte gTasks
-_0810CFE8:
- ldr r0, _0810CFF4 @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810CFF0:
- pop {r0}
- bx r0
- .align 2, 0
-_0810CFF4: .4byte gMain
- thumb_func_end sub_810CFC4
-
- thumb_func_start sub_810CFF8
-sub_810CFF8: @ 810CFF8
- push {lr}
- ldr r0, _0810D008 @ =sub_810D00C
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_0810D008: .4byte sub_810D00C
- thumb_func_end sub_810CFF8
-
- thumb_func_start sub_810D00C
-sub_810D00C: @ 810D00C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D020 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _0810D024 @ =sub_810D028
- str r0, [r1]
- bx lr
- .align 2, 0
-_0810D020: .4byte gTasks
-_0810D024: .4byte sub_810D028
- thumb_func_end sub_810D00C
-
- thumb_func_start sub_810D028
-sub_810D028: @ 810D028
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r6, 0x80
- lsls r6, 19
- movs r4, 0
- strh r4, [r6]
- ldr r0, _0810D098 @ =gCaveTransitionTiles
- ldr r1, _0810D09C @ =0x0600c000
- bl LZ77UnCompVram
- ldr r0, _0810D0A0 @ =gCaveTransitionTilemap
- ldr r1, _0810D0A4 @ =0x0600f800
- bl LZ77UnCompVram
- ldr r0, _0810D0A8 @ =REG_BLDCNT
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r1, _0810D0AC @ =REG_BG0CNT
- ldr r2, _0810D0B0 @ =0x00001f0c
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x8A
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r6]
- ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _0810D0BC @ =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0810D0C0 @ =sub_810D0C4
- str r1, [r0]
- movs r2, 0
- movs r1, 0x10
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- strh r2, [r0, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810D098: .4byte gCaveTransitionTiles
-_0810D09C: .4byte 0x0600c000
-_0810D0A0: .4byte gCaveTransitionTilemap
-_0810D0A4: .4byte 0x0600f800
-_0810D0A8: .4byte REG_BLDCNT
-_0810D0AC: .4byte REG_BG0CNT
-_0810D0B0: .4byte 0x00001f0c
-_0810D0B4: .4byte gCaveTransitionPalette_White
-_0810D0B8: .4byte gCaveTransitionPalette_Black
-_0810D0BC: .4byte gTasks
-_0810D0C0: .4byte sub_810D0C4
- thumb_func_end sub_810D028
-
- thumb_func_start sub_810D0C4
-sub_810D0C4: @ 810D0C4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D0F8 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r1, [r3, 0xC]
- cmp r1, 0xF
- bhi _0810D100
- adds r2, r1, 0x1
- adds r0, r2, 0x1
- strh r0, [r3, 0xC]
- movs r0, 0xF
- subs r0, r1
- lsls r0, 1
- ldr r1, _0810D0FC @ =gUnknown_083F808C
- adds r0, r1
- lsls r2, 17
- lsrs r2, 16
- movs r1, 0xE0
- bl LoadPalette
- b _0810D114
- .align 2, 0
-_0810D0F8: .4byte gTasks
-_0810D0FC: .4byte gUnknown_083F808C
-_0810D100:
- ldr r1, _0810D118 @ =REG_BLDALPHA
- ldr r2, _0810D11C @ =0x00001010
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _0810D120 @ =0x00003e41
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0810D124 @ =sub_810D128
- str r0, [r3]
-_0810D114:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D118: .4byte REG_BLDALPHA
-_0810D11C: .4byte 0x00001010
-_0810D120: .4byte 0x00003e41
-_0810D124: .4byte sub_810D128
- thumb_func_end sub_810D0C4
-
- thumb_func_start sub_810D128
-sub_810D128: @ 810D128
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810D158 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0xA]
- movs r1, 0x10
- subs r1, r0
- lsls r1, 16
- movs r2, 0x80
- lsls r2, 21
- adds r0, r1, r2
- lsrs r0, 16
- ldr r2, _0810D15C @ =REG_BLDALPHA
- strh r0, [r2]
- cmp r1, 0
- beq _0810D160
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- b _0810D172
- .align 2, 0
-_0810D158: .4byte gTasks
-_0810D15C: .4byte REG_BLDALPHA
-_0810D160:
- ldr r0, _0810D178 @ =gCaveTransitionPalette_Black
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _0810D17C @ =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0810D172:
- pop {r0}
- bx r0
- .align 2, 0
-_0810D178: .4byte gCaveTransitionPalette_Black
-_0810D17C: .4byte gMain
- thumb_func_end sub_810D128
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/m4a_1.s b/asm/m4a_1.s
index ffe2ca885..849cf5c2d 100644
--- a/asm/m4a_1.s
+++ b/asm/m4a_1.s
@@ -4,6 +4,8 @@
.syntax unified
+ .lcomm gUnknown_030007B8, 0x770
+
.text
thumb_func_start umul3232H32
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index e3caa0c4f..cd2927c66 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -241,14 +241,14 @@
@ Calls a special function; that is, a piece of ASM code designed for use by scripts and listed in a table of pointers.
.macro special function
.byte 0x25
- .2byte \function
+ .2byte SPECIAL_\function
.endm
@ Calls a special function. That function's output (if any) will be written to the variable you specify.
.macro specialval output, function
.byte 0x26
.2byte \output
- .2byte \function
+ .2byte SPECIAL_\function
.endm
@ Blocks script execution until a command or ASM code manually unblocks it. Generally used with specific commands and specials. If this command runs, and a subsequent command or piece of ASM does not unblock state, the script will remain blocked indefinitely (essentially a hang).
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
deleted file mode 100644
index d227b17c1..000000000
--- a/asm/mon_markings.s
+++ /dev/null
@@ -1,1008 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80F727C
-sub_80F727C: @ 80F727C
- ldr r1, _080F7288 @ =gUnknown_020388B8
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0xB]
- bx lr
- .align 2, 0
-_080F7288: .4byte gUnknown_020388B8
- thumb_func_end sub_80F727C
-
- thumb_func_start sub_80F728C
-sub_80F728C: @ 80F728C
- push {lr}
- sub sp, 0x4
- ldr r0, _080F72C4 @ =gSaveBlock2
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl GetTextWindowFrameGraphics
- ldr r3, _080F72C8 @ =gUnknown_020388B8
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x28]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x2C]
- ldr r0, _080F72CC @ =0x000010b0
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x30
- ldr r2, _080F72D0 @ =0x01000800
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F72C4: .4byte gSaveBlock2
-_080F72C8: .4byte gUnknown_020388B8
-_080F72CC: .4byte 0x000010b0
-_080F72D0: .4byte 0x01000800
- thumb_func_end sub_80F728C
-
- thumb_func_start sub_80F72D4
-sub_80F72D4: @ 80F72D4
- push {r4-r7,lr}
- ldr r0, _080F72F4 @ =gUnknown_020388B8
- ldr r1, [r0]
- ldr r2, _080F72F8 @ =0x000010b0
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x30
- adds r5, r1, r0
- cmp r2, 0xD
- beq _080F73A4
- cmp r2, 0xD
- bgt _080F72FC
- cmp r2, 0
- beq _080F7302
- b _080F734C
- .align 2, 0
-_080F72F4: .4byte gUnknown_020388B8
-_080F72F8: .4byte 0x000010b0
-_080F72FC:
- cmp r2, 0xE
- beq _080F73F0
- b _080F734C
-_080F7302:
- ldr r0, [r1, 0x28]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7312:
- ldr r6, _080F7344 @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7312
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, _080F7348 @ =0x000010b0
- adds r1, r0
- b _080F7392
- .align 2, 0
-_080F7344: .4byte gUnknown_020388B8
-_080F7348: .4byte 0x000010b0
-_080F734C:
- ldr r0, _080F739C @ =gUnknown_020388B8
- ldr r0, [r0]
- ldr r0, [r0, 0x28]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7362:
- ldr r6, _080F739C @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7362
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73A0 @ =0x000010b0
- adds r1, r2
-_080F7392:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F73FC
- .align 2, 0
-_080F739C: .4byte gUnknown_020388B8
-_080F73A0: .4byte 0x000010b0
-_080F73A4:
- ldr r0, [r1, 0x28]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F73B6:
- ldr r6, _080F73F4 @ =gUnknown_020388B8
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F73B6
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73F8 @ =0x000010b0
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F73F0:
- movs r0, 0
- b _080F73FE
- .align 2, 0
-_080F73F4: .4byte gUnknown_020388B8
-_080F73F8: .4byte 0x000010b0
-_080F73FC:
- movs r0, 0x1
-_080F73FE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F72D4
-
- thumb_func_start sub_80F7404
-sub_80F7404: @ 80F7404
- push {lr}
- bl sub_80F728C
-_080F740A:
- bl sub_80F72D4
- lsls r0, 24
- cmp r0, 0
- bne _080F740A
- pop {r0}
- bx r0
- thumb_func_end sub_80F7404
-
- thumb_func_start sub_80F7418
-sub_80F7418: @ 80F7418
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, _080F746C @ =gUnknown_020388B8
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0x1
-_080F7434:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F7434
- bl DestroyMenuCursor
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r2, _080F746C @ =gUnknown_020388B8
- ldr r3, [r2]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_80F761C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F746C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7418
-
- thumb_func_start sub_80F7470
-sub_80F7470: @ 80F7470
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080F74FC @ =gUnknown_020388B8
-_080F7476:
- ldr r0, [r5]
- ldrh r0, [r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080F7476
- ldr r4, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- movs r4, 0
-_080F74A8:
- ldr r0, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, 0xC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F74A8
- movs r4, 0
-_080F74C8:
- ldr r5, _080F74FC @ =gUnknown_020388B8
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080F74C8
- bl DestroyMenuCursor
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
-_080F74F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F74FC: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7470
-
- thumb_func_start sub_80F7500
-sub_80F7500: @ 80F7500
- push {r4,r5,lr}
- sub sp, 0x30
- ldr r4, _080F7580 @ =gUnknown_020388B8
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x30
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r5, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- ldrh r1, [r2]
- mov r0, sp
- adds r0, 0x1E
- strh r1, [r0]
- add r1, sp, 0x20
- ldr r0, _080F7584 @ =gPokenavConditionMenuMisc_Gfx
- str r0, [sp, 0x20]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _080F7558
- mov r0, sp
- bl LoadTilesForSpriteSheets
- ldr r0, [r4]
- strb r5, [r0, 0xB]
-_080F7558:
- ldr r0, _080F7588 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F758C
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _080F75FE
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _080F75FE
- .align 2, 0
-_080F7580: .4byte gUnknown_020388B8
-_080F7584: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7588: .4byte gMain
-_080F758C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F75B0
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _080F75FE
- ldr r0, [r4]
- strb r5, [r0, 0x5]
- b _080F75FE
-_080F75B0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F7602
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _080F75DC
- cmp r1, 0x5
- beq _080F7610
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F75FC
- movs r2, 0x1
- b _080F75FC
-_080F75DC:
- strb r5, [r0, 0x4]
- movs r3, 0
-_080F75E0:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F75E0
- b _080F7610
-_080F75FC:
- strb r2, [r1]
-_080F75FE:
- movs r0, 0x1
- b _080F7612
-_080F7602:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F75FE
- movs r0, 0x5
- bl PlaySE
-_080F7610:
- movs r0, 0
-_080F7612:
- add sp, 0x30
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F7500
-
- thumb_func_start sub_80F761C
-sub_80F761C: @ 80F761C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x5C
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x50]
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x54]
- ldr r0, _080F7820 @ =gUnknown_020388B8
- mov r8, r0
- ldr r0, [r0]
- adds r0, 0x30
- str r0, [sp, 0x1C]
- add r1, sp, 0x20
- movs r2, 0
- mov r9, r2
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x22
- strh r5, [r0]
- add r1, sp, 0x24
- ldr r0, _080F7824 @ =gPokenavConditionMenuMisc_Gfx
- str r0, [sp, 0x24]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x2C
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r6, sp, 0x1C
- add r0, sp, 0x4
- adds r1, r6, 0
- movs r2, 0x18
- bl memcpy
- mov r3, r8
- ldr r0, [r3]
- ldr r0, [r0, 0x2C]
- str r0, [sp, 0x34]
- add r0, sp, 0x38
- add r1, sp, 0x54
- ldrh r1, [r1]
- strh r1, [r0]
- add r1, sp, 0x3C
- ldr r0, _080F7828 @ =gUnknown_08E966B8
- str r0, [sp, 0x3C]
- ldr r0, [sp, 0x54]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x44
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x34
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- add r2, sp, 0x54
- ldrh r2, [r2]
- strh r2, [r4, 0x2]
- ldr r0, _080F782C @ =gOamData_83E5214
- str r0, [r4, 0x4]
- ldr r0, _080F7830 @ =gSpriteAnimTable_83E52AC
- str r0, [r4, 0x8]
- mov r3, r9
- str r3, [r4, 0xC]
- ldr r0, _080F7834 @ =gDummySpriteAffineAnimTable
- str r0, [r4, 0x10]
- ldr r0, _080F7838 @ =nullsub_65
- str r0, [r4, 0x14]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- add r0, sp, 0x4
- bl AllocTilesForSpriteSheets
- adds r0, r6, 0
- bl LoadSpritePalettes
- movs r5, 0
- ldr r1, [sp, 0x4C]
- lsls r0, r1, 16
- movs r2, 0x80
- lsls r2, 14
- adds r2, r0
- mov r8, r2
- str r0, [sp, 0x58]
- ldr r3, [sp, 0x50]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r7, r0, r1
- mov r9, r0
-_080F7700:
- adds r0, r4, 0
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _080F7718
- b _080F7850
-_080F7718:
- ldr r6, _080F7820 @ =gUnknown_020388B8
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, _080F783C @ =gSprites
- adds r0, r1
- str r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080F7700
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- mov r3, r9
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, _080F7840 @ =gSpriteAnimTable_83E5274
- str r0, [r4, 0x8]
- ldr r0, _080F7844 @ =sub_80F78CC
- str r0, [r4, 0x14]
- ldr r0, _080F7848 @ =gOamData_83E521C
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x58]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r10, r0
-_080F7770:
- lsls r2, r5, 4
- adds r2, 0x10
- mov r3, r9
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r10
- asrs r1, r3, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7860
- ldr r6, _080F7820 @ =gUnknown_020388B8
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, _080F783C @ =gSprites
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F7770
- ldr r0, _080F784C @ =SpriteCallbackDummy
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7874
- ldr r1, [r6]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r7
- str r0, [r1, 0x24]
- ldrb r2, [r0, 0x1]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r6]
- ldr r2, [r0, 0x24]
- ldrb r0, [r2, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x24]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x24]
- ldr r3, [sp, 0x58]
- asrs r0, r3, 16
-.ifdef ENGLISH
- adds r0, 0x20
-.else
- adds r0, 0x18
-.endif
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x24]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x24]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _080F787A
- .align 2, 0
-_080F7820: .4byte gUnknown_020388B8
-_080F7824: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7828: .4byte gUnknown_08E966B8
-_080F782C: .4byte gOamData_83E5214
-_080F7830: .4byte gSpriteAnimTable_83E52AC
-_080F7834: .4byte gDummySpriteAffineAnimTable
-_080F7838: .4byte nullsub_65
-_080F783C: .4byte gSprites
-_080F7840: .4byte gSpriteAnimTable_83E5274
-_080F7844: .4byte sub_80F78CC
-_080F7848: .4byte gOamData_83E521C
-_080F784C: .4byte SpriteCallbackDummy
-_080F7850:
- ldr r0, _080F785C @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _080F7868
- .align 2, 0
-_080F785C: .4byte gUnknown_020388B8
-_080F7860:
- ldr r0, _080F7870 @ =gUnknown_020388B8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_080F7868:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _080F78B0
- .align 2, 0
-_080F7870: .4byte gUnknown_020388B8
-_080F7874:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x24]
-_080F787A:
- ldr r4, _080F78C0 @ =gUnknown_020388B8
- ldr r1, [r4]
- ldr r0, [sp, 0x50]
- adds r0, 0x8
- strb r0, [r1, 0xA]
- ldr r1, [sp, 0x54]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0
- movs r2, 0xF
- movs r3, 0
- bl sub_814A5C0
- ldr r0, [sp, 0x4C]
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- ldrb r1, [r1, 0xA]
- bl sub_814A880
- ldr r0, _080F78C4 @ =sub_80F7908
- bl sub_814AABC
-_080F78B0:
- add sp, 0x5C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F78C0: .4byte gUnknown_020388B8
-_080F78C4: .4byte sub_80F7908
- thumb_func_end sub_80F761C
-
- thumb_func_start nullsub_65
-nullsub_65: @ 80F78C8
- bx lr
- thumb_func_end nullsub_65
-
- thumb_func_start sub_80F78CC
-sub_80F78CC: @ 80F78CC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F78F4 @ =gUnknown_020388B8
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F78F8
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _080F7902
- .align 2, 0
-_080F78F4: .4byte gUnknown_020388B8
-_080F78F8:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_080F7902:
- pop {r0}
- bx r0
- thumb_func_end sub_80F78CC
-
- thumb_func_start sub_80F7908
-sub_80F7908: @ 80F7908
- ldr r1, _080F791C @ =gUnknown_020388B8
- ldr r2, [r1]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- lsls r1, 4
- ldrb r2, [r2, 0xA]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F791C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7908
-
- thumb_func_start sub_80F7920
-sub_80F7920: @ 80F7920
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7930
- ldr r2, _080F793C @ =gUnknown_083E49F4
-_080F7930:
- movs r3, 0x10
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F793C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7920
-
- thumb_func_start sub_80F7940
-sub_80F7940: @ 80F7940
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7950
- ldr r2, _080F795C @ =gUnknown_083E49F4
-_080F7950:
- movs r3, 0x1
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F795C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7940
-
- thumb_func_start sub_80F7960
-sub_80F7960: @ 80F7960
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, _080F79DC @ =gUnknown_083E4A14
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, _080F79E0 @ =0xffff0000
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, _080F79E4 @ =gOamData_83E52B4
- str r0, [sp, 0x4]
- ldr r0, _080F79E8 @ =gSpriteAnimTable_83E533C
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080F79EC @ =gDummySpriteAffineAnimTable
- str r0, [sp, 0x10]
- ldr r0, _080F79F0 @ =nullsub_65
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F79F4
- movs r0, 0
- b _080F79FE
- .align 2, 0
-_080F79DC: .4byte gUnknown_083E4A14
-_080F79E0: .4byte 0xffff0000
-_080F79E4: .4byte gOamData_83E52B4
-_080F79E8: .4byte gSpriteAnimTable_83E533C
-_080F79EC: .4byte gDummySpriteAffineAnimTable
-_080F79F0: .4byte nullsub_65
-_080F79F4:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F7A0C @ =gSprites
- adds r0, r1
-_080F79FE:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F7A0C: .4byte gSprites
- thumb_func_end sub_80F7960
-
- thumb_func_start sub_80F7A10
-sub_80F7A10: @ 80F7A10
- lsls r0, 24
- lsrs r0, 17
- ldr r2, _080F7A28 @ =gUnknown_083E4A14
- adds r0, r2
- ldr r2, _080F7A2C @ =0x040000d4
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080F7A30 @ =0x80000040
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080F7A28: .4byte gUnknown_083E4A14
-_080F7A2C: .4byte 0x040000d4
-_080F7A30: .4byte 0x80000040
- thumb_func_end sub_80F7A10
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_icon.s b/asm/pokemon_icon.s
deleted file mode 100644
index 5aa8b5901..000000000
--- a/asm/pokemon_icon.s
+++ /dev/null
@@ -1,788 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start unref_sub_809D26C
-unref_sub_809D26C: @ 809D26C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D2E0 @ =gOamData_83BC5E8
- str r4, [sp]
- ldr r5, _0809D2E4 @ =gMonIconTable
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D2E8 @ =gSpriteAnimTable_83BC62C
- str r4, [sp, 0x8]
- ldr r4, _0809D2EC @ =gSpriteAffineAnimTable_83BC660
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D2F0 @ =gMonIconPaletteIndices
- adds r0, r1
- ldr r4, _0809D2F4 @ =0x0000dac0
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D2F8 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D2E0: .4byte gOamData_83BC5E8
-_0809D2E4: .4byte gMonIconTable
-_0809D2E8: .4byte gSpriteAnimTable_83BC62C
-_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660
-_0809D2F0: .4byte gMonIconPaletteIndices
-_0809D2F4: .4byte 0x0000dac0
-_0809D2F8: .4byte gSprites
- thumb_func_end unref_sub_809D26C
-
- thumb_func_start CreateMonIcon
-CreateMonIcon: @ 809D2FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x48]
- ldr r1, [sp, 0x4C]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809D38C @ =gOamData_83BC5E8
- str r0, [sp, 0x18]
- adds r0, r4, 0
- bl GetMonIconPtr
- str r0, [sp, 0x1C]
- ldr r0, _0809D390 @ =gSpriteAnimTable_83BC62C
- str r0, [sp, 0x20]
- ldr r0, _0809D394 @ =gSpriteAffineAnimTable_83BC660
- str r0, [sp, 0x24]
- str r5, [sp, 0x28]
- ldr r0, _0809D398 @ =gMonIconPaletteIndices
- adds r0, r4, r0
- ldr r1, _0809D39C @ =0x0000dac0
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _0809D35A
- mov r0, sp
- strh r5, [r0, 0x14]
-_0809D35A:
- lsls r1, r7, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r8
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D3A0 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D38C: .4byte gOamData_83BC5E8
-_0809D390: .4byte gSpriteAnimTable_83BC62C
-_0809D394: .4byte gSpriteAffineAnimTable_83BC660
-_0809D398: .4byte gMonIconPaletteIndices
-_0809D39C: .4byte 0x0000dac0
-_0809D3A0: .4byte gSprites
- thumb_func_end CreateMonIcon
-
- thumb_func_start sub_809D3A4
-sub_809D3A4: @ 809D3A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D418 @ =gOamData_83BC5E8
- str r4, [sp]
- ldr r5, _0809D41C @ =gMonIconTable
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D420 @ =gSpriteAnimTable_83BC62C
- str r4, [sp, 0x8]
- ldr r4, _0809D424 @ =gSpriteAffineAnimTable_83BC660
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D428 @ =gMonIconPaletteIndices
- adds r0, r1
- ldr r4, _0809D42C @ =0x0000dac0
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl CreateMonIconSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D430 @ =gSprites
- adds r0, r1
- bl UpdateMonIconFrame
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D418: .4byte gOamData_83BC5E8
-_0809D41C: .4byte gMonIconTable
-_0809D420: .4byte gSpriteAnimTable_83BC62C
-_0809D424: .4byte gSpriteAffineAnimTable_83BC660
-_0809D428: .4byte gMonIconPaletteIndices
-_0809D42C: .4byte 0x0000dac0
-_0809D430: .4byte gSprites
- thumb_func_end sub_809D3A4
-
- thumb_func_start mon_icon_convert_unown_species_id
-mon_icon_convert_unown_species_id: @ 809D434
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, SPECIES_UNOWN
- bne _0809D45E
- adds r0, r1, 0
- bl GetUnownLetterByPersonality
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0809D450
- movs r0, SPECIES_UNOWN
- b _0809D45A
-_0809D450:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_0809D45A:
- adds r1, r0, 0
- b _0809D46C
-_0809D45E:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _0809D46C
- movs r1, 0x82
- lsls r1, 1
-_0809D46C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start GetUnownLetterByPersonality
-GetUnownLetterByPersonality: @ 809D474
- push {lr}
- adds r2, r0, 0
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GetUnownLetterByPersonality
-
- thumb_func_start sub_809D4A8
-sub_809D4A8: @ 809D4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl MailSpeciesToSpecies
- lsls r0, 16
- lsrs r0, 16
- cmp r0, SPECIES_UNOWN
- bne _0809D4DE
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809D4CE
- mov r1, sp
- adds r0, SPECIES_UNOWN
- b _0809D4D6
-_0809D4CE:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_0809D4D6:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _0809D4EA
-_0809D4DE:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_0809D4EA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D4A8
-
- thumb_func_start GetMonIconPtr
-GetMonIconPtr: @ 809D4F4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- ldr r1, _0809D50C @ =gMonIconTable
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_0809D50C: .4byte gMonIconTable
- thumb_func_end GetMonIconPtr
-
- thumb_func_start sub_809D510
-sub_809D510: @ 809D510
- push {lr}
- bl sub_809D7E8
- pop {r0}
- bx r0
- thumb_func_end sub_809D510
-
- thumb_func_start sub_809D51C
-sub_809D51C: @ 809D51C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D53C @ =gMonIconPaletteTable
-_0809D522:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D522
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D53C: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D51C
-
- thumb_func_start unref_sub_809D540
-unref_sub_809D540: @ 809D540
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D552
- movs r1, 0x82
- lsls r1, 1
-_0809D552:
- ldr r0, _0809D578 @ =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D57C @ =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D572
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D572:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D578: .4byte gMonIconPaletteIndices
-_0809D57C: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D540
-
- thumb_func_start sub_809D580
-sub_809D580: @ 809D580
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D5AC @ =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D5B0 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D5A6
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D5A6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5AC: .4byte gMonIconPaletteIndices
-_0809D5B0: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D580
-
- thumb_func_start unref_sub_809D5B4
-unref_sub_809D5B4: @ 809D5B4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D5D4 @ =gMonIconPaletteTable
-_0809D5BA:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D5BA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5D4: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5B4
-
- thumb_func_start unref_sub_809D5D8
-unref_sub_809D5D8: @ 809D5D8
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D5EA
- movs r1, 0x82
- lsls r1, 1
-_0809D5EA:
- ldr r0, _0809D600 @ =gMonIconPaletteIndices
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D604 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D600: .4byte gMonIconPaletteIndices
-_0809D604: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5D8
-
- thumb_func_start sub_809D608
-sub_809D608: @ 809D608
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D624 @ =gMonIconPaletteIndices
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D628 @ =gMonIconPaletteTable
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D624: .4byte gMonIconPaletteIndices
-_0809D628: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D608
-
- thumb_func_start sub_809D62C
-sub_809D62C: @ 809D62C
- push {lr}
- bl UpdateMonIconFrame
- pop {r0}
- bx r0
- thumb_func_end sub_809D62C
-
- thumb_func_start UpdateMonIconFrame
-UpdateMonIconFrame: @ 809D638
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _0809D6EC
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _0809D682
- adds r0, 0x1
- cmp r3, r0
- bne _0809D686
- b _0809D700
-_0809D682:
- strb r7, [r5]
- b _0809D700
-_0809D686:
- ldr r2, _0809D6E4 @ =gSpriteImageSizes
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, _0809D6E8 @ =0x06010000
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _0809D700
- .align 2, 0
-_0809D6E4: .4byte gSpriteImageSizes
-_0809D6E8: .4byte 0x06010000
-_0809D6EC:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_0809D700:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end UpdateMonIconFrame
-
- thumb_func_start CreateMonIconSprite
-CreateMonIconSprite: @ 809D710
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, _0809D7D8 @ =gSpriteImageSizes
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, _0809D7DC @ =0xffff0000
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, _0809D7E0 @ =0x0000ffff
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _0809D7E4 @ =gSprites
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D7D8: .4byte gSpriteImageSizes
-_0809D7DC: .4byte 0xffff0000
-_0809D7E0: .4byte 0x0000ffff
-_0809D7E4: .4byte gSprites
- thumb_func_end CreateMonIconSprite
-
- thumb_func_start sub_809D7E8
-sub_809D7E8: @ 809D7E8
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, _0809D81C @ =gSpriteImageSizes
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, _0809D820 @ =0xffff0000
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809D81C: .4byte gSpriteImageSizes
-_0809D820: .4byte 0xffff0000
- thumb_func_end sub_809D7E8
-
- thumb_func_start sub_809D824
-sub_809D824: @ 809D824
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_809D824
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
deleted file mode 100644
index 2fbc559c8..000000000
--- a/asm/reset_rtc_screen.s
+++ /dev/null
@@ -1,1300 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SpriteCB_ResetRtcCusor0
-SpriteCB_ResetRtcCusor0: @ 806A480
- push {lr}
- adds r3, r0, 0
- ldr r2, _0806A4B0 @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0806A596
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0806A596
- lsls r0, 2
- ldr r1, _0806A4B4 @ =_0806A4B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806A4B0: .4byte gTasks
-_0806A4B4: .4byte _0806A4B8
- .align 2, 0
-_0806A4B8:
- .4byte _0806A4D0
- .4byte _0806A4F4
- .4byte _0806A518
- .4byte _0806A53C
- .4byte _0806A566
- .4byte _0806A590
-_0806A4D0:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0806A55E
-_0806A4F4:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0806A55E
-_0806A518:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x6B
- b _0806A55E
-_0806A53C:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x1
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x80
-_0806A55E:
- strh r0, [r3, 0x20]
- movs r0, 0x44
- strh r0, [r3, 0x22]
- b _0806A596
-_0806A566:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0x2
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x42
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x9B
- strh r0, [r3, 0x20]
- movs r0, 0x50
- strh r0, [r3, 0x22]
- b _0806A596
-_0806A590:
- adds r0, r3, 0
- bl DestroySprite
-_0806A596:
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_ResetRtcCusor0
-
- thumb_func_start SpriteCB_ResetRtcCusor1
-SpriteCB_ResetRtcCusor1: @ 806A59C
- push {lr}
- adds r3, r0, 0
- ldr r2, _0806A5CC @ =gTasks
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r1, r0
- beq _0806A696
- strh r1, [r3, 0x30]
- subs r0, r1, 0x1
- cmp r0, 0x5
- bhi _0806A696
- lsls r0, 2
- ldr r1, _0806A5D0 @ =_0806A5D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806A5CC: .4byte gTasks
-_0806A5D0: .4byte _0806A5D4
- .align 2, 0
-_0806A5D4:
- .4byte _0806A5EC
- .4byte _0806A610
- .4byte _0806A634
- .4byte _0806A658
- .4byte _0806A682
- .4byte _0806A690
-_0806A5EC:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x35
- b _0806A67A
-_0806A610:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x56
- b _0806A67A
-_0806A634:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x6B
- b _0806A67A
-_0806A658:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r1, r3, 0
- adds r1, 0x2A
- movs r0, 0
- strb r0, [r1]
- subs r2, 0x12
- ldrb r1, [r2]
- subs r0, 0x40
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x80
-_0806A67A:
- strh r0, [r3, 0x20]
- movs r0, 0x5C
- strh r0, [r3, 0x22]
- b _0806A696
-_0806A682:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0806A696
-_0806A690:
- adds r0, r3, 0
- bl DestroySprite
-_0806A696:
- pop {r0}
- bx r0
- thumb_func_end SpriteCB_ResetRtcCusor1
-
- thumb_func_start ResetRtcScreen_CreateCursor
-ResetRtcScreen_CreateCursor: @ 806A69C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0806A70C @ =gUnknown_083764BC
- bl LoadSpritePalette
- ldr r0, _0806A710 @ =gSpriteTemplate_83764E8
- mov r8, r0
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r6, _0806A714 @ =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r6, 0
- adds r4, 0x1C
- adds r2, r0, r4
- ldr r1, _0806A718 @ =SpriteCB_ResetRtcCusor0
- str r1, [r2]
- adds r0, r6
- strh r5, [r0, 0x2E]
- ldr r1, _0806A71C @ =0x0000ffff
- strh r1, [r0, 0x30]
- mov r0, r8
- movs r1, 0x35
- movs r2, 0x44
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r4
- ldr r1, _0806A720 @ =SpriteCB_ResetRtcCusor1
- str r1, [r4]
- adds r0, r6
- strh r5, [r0, 0x2E]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A70C: .4byte gUnknown_083764BC
-_0806A710: .4byte gSpriteTemplate_83764E8
-_0806A714: .4byte gSprites
-_0806A718: .4byte SpriteCB_ResetRtcCusor0
-_0806A71C: .4byte 0x0000ffff
-_0806A720: .4byte SpriteCB_ResetRtcCusor1
- thumb_func_end ResetRtcScreen_CreateCursor
-
- thumb_func_start ResetRtcScreen_FreeCursorPalette
-ResetRtcScreen_FreeCursorPalette: @ 806A724
- push {lr}
- ldr r0, _0806A734 @ =gUnknown_083764BC
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0806A734: .4byte gUnknown_083764BC
- thumb_func_end ResetRtcScreen_FreeCursorPalette
-
- thumb_func_start ResetRtcScreen_HideChooseTimeWindow
-ResetRtcScreen_HideChooseTimeWindow: @ 806A738
- push {lr}
- movs r0, 0x3
- movs r1, 0x8
- movs r2, 0x19
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end ResetRtcScreen_HideChooseTimeWindow
-
- thumb_func_start ResetRtcScreen_PrintTime
-ResetRtcScreen_PrintTime: @ 806A74C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- adds r0, r2, 0
- adds r4, r3, 0
- ldr r6, [sp, 0x24]
- ldr r2, [sp, 0x28]
- mov r9, r2
- mov r2, r10
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- mov r1, r9
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r7, _0806A83C @ =gStringVar4
- ldr r1, _0806A840 @ =0x00002710
- bl __umodsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x18
- bl __umodsi3
- mov r8, r0
- mov r2, r8
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r6, 0
- movs r1, 0x3C
- bl __umodsi3
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r0, r9
- movs r1, 0x3C
- bl __umodsi3
- mov r9, r0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r4, _0806A844 @ =gStringVar1
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C44
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r1, _0806A848 @ =gOtherText_Day
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x12
- movs r3, 0x1
- bl sub_8072C44
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- ldr r4, _0806A84C @ =gUnknown_08376500
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r7, r0, 0
- adds r1, r4, 0
- bl StringCopy
- adds r7, r0, 0
- mov r1, r9
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _0806A83C @ =gStringVar4
- mov r1, r10
- ldr r2, [sp]
- bl MenuPrint
- 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
-_0806A83C: .4byte gStringVar4
-_0806A840: .4byte 0x00002710
-_0806A844: .4byte gStringVar1
-_0806A848: .4byte gOtherText_Day
-_0806A84C: .4byte gUnknown_08376500
- thumb_func_end ResetRtcScreen_PrintTime
-
- thumb_func_start ResetRtcScreen_ShowChooseTimeWindow
-ResetRtcScreen_ShowChooseTimeWindow: @ 806A850
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r0, 0
- mov r8, r1
- adds r4, r2, 0
- adds r5, r3, 0
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x3
- movs r1, 0x8
- movs r2, 0x19
- movs r3, 0xB
- bl MenuDrawTextWindow
- ldr r0, _0806A8A8 @ =gOtherText_OK
- movs r1, 0x14
- movs r2, 0x9
- bl MenuPrint
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x4
- movs r1, 0x9
- adds r2, r6, 0
- mov r3, r8
- bl ResetRtcScreen_PrintTime
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A8A8: .4byte gOtherText_OK
- thumb_func_end ResetRtcScreen_ShowChooseTimeWindow
-
- thumb_func_start ResetRtcScreen_MoveTimeUpDown
-ResetRtcScreen_MoveTimeUpDown: @ 806A8AC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, 16
- lsrs r3, 16
- adds r1, r3, 0
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0806A8C6
- ldrh r0, [r4]
- subs r0, 0x1
- b _0806A8E0
-_0806A8C6:
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- beq _0806A8D4
- ldrh r0, [r4]
- adds r0, 0x1
- b _0806A8FE
-_0806A8D4:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0806A8EE
- ldrh r0, [r4]
- subs r0, 0xA
-_0806A8E0:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r5
- bge _0806A90A
- strh r2, [r4]
- b _0806A90A
-_0806A8EE:
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- bne _0806A8FA
- movs r0, 0
- b _0806A90C
-_0806A8FA:
- ldrh r0, [r4]
- adds r0, 0xA
-_0806A8FE:
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, r2
- ble _0806A90A
- strh r5, [r4]
-_0806A90A:
- movs r0, 0x1
-_0806A90C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ResetRtcScreen_MoveTimeUpDown
-
- thumb_func_start Task_ResetRtc_3
-Task_ResetRtc_3: @ 806A914
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0806A928 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_0806A928: .4byte gTasks
- thumb_func_end Task_ResetRtc_3
-
- thumb_func_start Task_ResetRtc_2
-Task_ResetRtc_2: @ 806A92C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetRtcScreen_HideChooseTimeWindow
- bl ResetRtcScreen_FreeCursorPalette
- ldr r1, _0806A950 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806A954 @ =Task_ResetRtc_3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A950: .4byte gTasks
-_0806A954: .4byte Task_ResetRtc_3
- thumb_func_end Task_ResetRtc_2
-
- thumb_func_start Task_ResetRtc_1
-Task_ResetRtc_1: @ 806A958
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r7, r0, 3
- ldr r0, _0806A99C @ =gTasks + 0x8
- mov r8, r0
- adds r5, r7, r0
- ldrb r4, [r5, 0x4]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, _0806A9A0 @ =gUnknown_08376420 - 0xC
- adds r2, r0, r1
- ldr r1, _0806A9A4 @ =gMain
- ldrh r3, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r3
- mov r12, r1
- cmp r0, 0
- beq _0806A9AC
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _0806A9A8 @ =Task_ResetRtc_2
- str r1, [r0]
- movs r0, 0
- strh r0, [r5, 0x2]
- movs r0, 0x6
- b _0806A9CC
- .align 2, 0
-_0806A99C: .4byte gTasks + 0x8
-_0806A9A0: .4byte gUnknown_08376420 - 0xC
-_0806A9A4: .4byte gMain
-_0806A9A8: .4byte Task_ResetRtc_2
-_0806A9AC:
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- beq _0806A9BA
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- bne _0806A9CC
-_0806A9BA:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0806A9D6
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0806A9D6
-_0806A9CC:
- strh r0, [r5, 0x4]
- movs r0, 0x5
- bl PlaySE
- b _0806AA58
-_0806A9D6:
- cmp r4, 0x5
- bne _0806AA24
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0806AA58
- ldr r1, _0806AA18 @ =gLocalTime
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
- ldrh r0, [r5, 0x8]
- strb r0, [r1, 0x2]
- ldrh r0, [r5, 0xA]
- strb r0, [r1, 0x3]
- ldrh r0, [r5, 0xC]
- strb r0, [r1, 0x4]
- movs r0, 0x5
- bl PlaySE
- ldr r1, _0806AA1C @ =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0806AA20 @ =Task_ResetRtc_2
- str r1, [r0]
- strh r4, [r5, 0x2]
- movs r0, 0x6
- strh r0, [r5, 0x4]
- b _0806AA58
- .align 2, 0
-_0806AA18: .4byte gLocalTime
-_0806AA1C: .4byte gTasks
-_0806AA20: .4byte Task_ResetRtc_2
-_0806AA24:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r1, [r2, 0x2]
- ldrh r2, [r2, 0x4]
- mov r3, r12
- ldrh r4, [r3, 0x30]
- movs r3, 0xC0
- ands r3, r4
- bl ResetRtcScreen_MoveTimeUpDown
- cmp r0, 0
- beq _0806AA58
- movs r0, 0x5
- bl PlaySE
- ldrh r2, [r5, 0x6]
- ldrb r3, [r5, 0x8]
- ldrb r0, [r5, 0xA]
- str r0, [sp]
- ldrb r0, [r5, 0xC]
- str r0, [sp, 0x4]
- movs r0, 0x4
- movs r1, 0x9
- bl ResetRtcScreen_PrintTime
-_0806AA58:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end Task_ResetRtc_1
-
- thumb_func_start Task_ResetRtc_0
-Task_ResetRtc_0: @ 806AA64
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, r5, 2
- adds r6, r5
- lsls r6, 3
- ldr r0, _0806AACC @ =gTasks + 0x8
- mov r8, r0
- adds r4, r6, r0
- movs r0, 0
- strh r0, [r4]
- ldr r3, _0806AAD0 @ =gLocalTime
- ldrh r0, [r3]
- strh r0, [r4, 0x6]
- movs r1, 0x2
- ldrsb r1, [r3, r1]
- strh r1, [r4, 0x8]
- movs r2, 0x3
- ldrsb r2, [r3, r2]
- strh r2, [r4, 0xA]
- ldrb r3, [r3, 0x4]
- lsls r3, 24
- asrs r3, 24
- strh r3, [r4, 0xC]
- ldrh r0, [r4, 0x6]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- bl ResetRtcScreen_ShowChooseTimeWindow
- adds r0, r5, 0
- bl ResetRtcScreen_CreateCursor
- movs r0, 0x2
- strh r0, [r4, 0x4]
- movs r0, 0x8
- negs r0, r0
- add r8, r0
- add r6, r8
- ldr r0, _0806AAD4 @ =Task_ResetRtc_1
- str r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AACC: .4byte gTasks + 0x8
-_0806AAD0: .4byte gLocalTime
-_0806AAD4: .4byte Task_ResetRtc_1
- thumb_func_end Task_ResetRtc_0
-
- thumb_func_start CB2_InitResetRtcScreen
-CB2_InitResetRtcScreen: @ 806AAD8
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0x80
- lsls r0, 19
- movs r4, 0
- strh r4, [r0]
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0xA0
- lsls r2, 19
- mov r0, sp
- strh r4, [r0]
- ldr r1, _0806AB94 @ =0x040000d4
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _0806AB98 @ =0x81000200
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0806AB9C @ =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0806AB16:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _0806AB16
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x80
- bl ResetOamRange
- bl LoadOam
- bl remove_some_task
- bl dp12_8087EA4
- bl ResetSpriteData
- bl ResetTasks
- bl ResetPaletteFade
- ldr r4, _0806ABA0 @ =gWindowConfig_81E6CE4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x88
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0806ABA4 @ =VBlankCB_ResetRtcScreen
- bl SetVBlankCallback
- ldr r0, _0806ABA8 @ =CB2_ResetRtcScreen
- bl SetMainCallback2
- ldr r0, _0806ABAC @ =Task_ResetRtcScreen
- movs r1, 0x50
- bl CreateTask
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AB94: .4byte 0x040000d4
-_0806AB98: .4byte 0x81000200
-_0806AB9C: .4byte 0x81000800
-_0806ABA0: .4byte gWindowConfig_81E6CE4
-_0806ABA4: .4byte VBlankCB_ResetRtcScreen
-_0806ABA8: .4byte CB2_ResetRtcScreen
-_0806ABAC: .4byte Task_ResetRtcScreen
- thumb_func_end CB2_InitResetRtcScreen
-
- thumb_func_start CB2_ResetRtcScreen
-CB2_ResetRtcScreen: @ 806ABB0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end CB2_ResetRtcScreen
-
- thumb_func_start VBlankCB_ResetRtcScreen
-VBlankCB_ResetRtcScreen: @ 806ABC8
- push {lr}
- bl ProcessSpriteCopyRequests
- bl LoadOam
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end VBlankCB_ResetRtcScreen
-
- thumb_func_start ResetRtcScreen_ShowMessage
-ResetRtcScreen_ShowMessage: @ 806ABDC
- push {r4,lr}
- adds r4, r0, 0
- bl MenuDisplayMessageBox
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ResetRtcScreen_ShowMessage
-
- thumb_func_start Task_ShowResetRtcPrompt
-Task_ShowResetRtcPrompt: @ 806ABF4
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _0806AC14 @ =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0806AC18
- cmp r0, 0x1
- beq _0806AC80
- b _0806ACC4
- .align 2, 0
-_0806AC14: .4byte gTasks + 0x8
-_0806AC18:
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0
- movs r2, 0x14
- movs r3, 0xA
- bl MenuDrawTextWindow
- ldr r0, _0806AC98 @ =gSystemText_PresentTime
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- ldr r0, _0806AC9C @ =gLocalTime
- ldrh r2, [r0]
- ldrb r3, [r0, 0x2]
- ldrb r1, [r0, 0x3]
- str r1, [sp]
- ldrb r0, [r0, 0x4]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x3
- bl ResetRtcScreen_PrintTime
- ldr r0, _0806ACA0 @ =gSystemText_PreviousTime
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
- ldr r1, _0806ACA4 @ =gSaveBlock2
- adds r0, r1, 0
- adds r0, 0xA0
- ldrh r2, [r0]
- adds r0, 0x2
- ldrb r3, [r0]
- adds r0, 0x1
- ldrb r0, [r0]
- str r0, [sp]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0x7
- bl ResetRtcScreen_PrintTime
- ldr r0, _0806ACA8 @ =gSystemText_ResetRTCPrompt
- bl ResetRtcScreen_ShowMessage
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_0806AC80:
- ldr r0, _0806ACAC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806ACB0
- adds r0, r5, 0
- bl DestroyTask
- bl DoSoftReset
- b _0806ACC4
- .align 2, 0
-_0806AC98: .4byte gSystemText_PresentTime
-_0806AC9C: .4byte gLocalTime
-_0806ACA0: .4byte gSystemText_PreviousTime
-_0806ACA4: .4byte gSaveBlock2
-_0806ACA8: .4byte gSystemText_ResetRTCPrompt
-_0806ACAC: .4byte gMain
-_0806ACB0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806ACC4
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
-_0806ACC4:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_ShowResetRtcPrompt
-
- thumb_func_start Task_ResetRtcScreen
-Task_ResetRtcScreen: @ 806ACCC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0806ACF4 @ =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x6
- bls _0806ACE8
- b _0806AEC4
-_0806ACE8:
- lsls r0, 2
- ldr r1, _0806ACF8 @ =_0806ACFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0806ACF4: .4byte gTasks + 0x8
-_0806ACF8: .4byte _0806ACFC
- .align 2, 0
-_0806ACFC:
- .4byte _0806AD18
- .4byte _0806AD34
- .4byte _0806AD80
- .4byte _0806ADD8
- .4byte _0806AE5C
- .4byte _0806AE8C
- .4byte _0806AEAE
-_0806AD18:
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0806AD30 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r0, 0x1
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AD30: .4byte 0x0000ffff
-_0806AD34:
- ldr r0, _0806AD5C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806AD42
- b _0806AEC4
-_0806AD42:
- ldr r0, _0806AD60 @ =gSaveFileStatus
- ldrh r0, [r0]
- cmp r0, 0
- beq _0806AD4E
- cmp r0, 0x2
- bne _0806AD68
-_0806AD4E:
- ldr r0, _0806AD64 @ =gSystemText_NoSaveFileNoTime
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x5
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AD5C: .4byte gPaletteFade
-_0806AD60: .4byte gSaveFileStatus
-_0806AD64: .4byte gSystemText_NoSaveFileNoTime
-_0806AD68:
- bl RtcCalcLocalTime
- ldr r0, _0806AD7C @ =Task_ShowResetRtcPrompt
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- b _0806ADFC
- .align 2, 0
-_0806AD7C: .4byte Task_ShowResetRtcPrompt
-_0806AD80:
- ldr r2, _0806ADC4 @ =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0x1
- bne _0806AD96
- b _0806AEC4
-_0806AD96:
- bl MenuZeroFillScreen
- ldr r0, _0806ADC8 @ =gSystemText_PleaseResetTime
- bl ResetRtcScreen_ShowMessage
- ldr r2, _0806ADCC @ =gLocalTime
- ldr r0, _0806ADD0 @ =gSaveBlock2
- adds r0, 0xA0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _0806ADD4 @ =Task_ResetRtc_0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x2]
- movs r0, 0x3
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806ADC4: .4byte gTasks
-_0806ADC8: .4byte gSystemText_PleaseResetTime
-_0806ADCC: .4byte gLocalTime
-_0806ADD0: .4byte gSaveBlock2
-_0806ADD4: .4byte Task_ResetRtc_0
-_0806ADD8:
- ldr r2, _0806AE04 @ =gTasks
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0806AEC4
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0806AE08
- ldrb r0, [r5, 0x2]
- bl DestroyTask
-_0806ADFC:
- movs r0, 0x2
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AE04: .4byte gTasks
-_0806AE08:
- ldrb r0, [r5, 0x2]
- bl DestroyTask
- bl RtcReset
- ldr r4, _0806AE4C @ =gLocalTime
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- movs r2, 0x3
- ldrsb r2, [r4, r2]
- movs r3, 0x4
- ldrsb r3, [r4, r3]
- bl RtcCalcLocalTimeOffset
- ldr r2, _0806AE50 @ =gSaveBlock2
- adds r2, 0xA0
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _0806AE54 @ =0x00004040
- ldrh r1, [r4]
- bl VarSet
- bl DisableResetRTC
- ldr r0, _0806AE58 @ =gSystemText_ClockResetDataSave
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x4
- strh r0, [r5]
- b _0806AEC4
- .align 2, 0
-_0806AE4C: .4byte gLocalTime
-_0806AE50: .4byte gSaveBlock2
-_0806AE54: .4byte 0x00004040
-_0806AE58: .4byte gSystemText_ClockResetDataSave
-_0806AE5C:
- movs r0, 0
- bl TrySavingData
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806AE7C
- ldr r0, _0806AE78 @ =gSystemText_SaveCompleted
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x49
- bl PlaySE
- b _0806AE88
- .align 2, 0
-_0806AE78: .4byte gSystemText_SaveCompleted
-_0806AE7C:
- ldr r0, _0806AECC @ =gSystemText_SaveFailed
- bl ResetRtcScreen_ShowMessage
- movs r0, 0x16
- bl PlaySE
-_0806AE88:
- movs r0, 0x5
- strh r0, [r5]
-_0806AE8C:
- ldr r0, _0806AED0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806AEC4
- movs r0, 0x1
- negs r0, r0
- ldr r1, _0806AED4 @ =0x0000ffff
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x6
- strh r0, [r5]
-_0806AEAE:
- ldr r0, _0806AED8 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0806AEC4
- adds r0, r4, 0
- bl DestroyTask
- bl DoSoftReset
-_0806AEC4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AECC: .4byte gSystemText_SaveFailed
-_0806AED0: .4byte gMain
-_0806AED4: .4byte 0x0000ffff
-_0806AED8: .4byte gPaletteFade
- thumb_func_end Task_ResetRtcScreen
-
- .align 2, 0 @ Don't pad with nop.