mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-06 22:28:44 -05:00
1535 lines
30 KiB
ArmAsm
1535 lines
30 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start nullsub_79
|
|
nullsub_79: @ 80DD534
|
|
bx lr
|
|
thumb_func_end nullsub_79
|
|
|
|
thumb_func_start sub_80DD538
|
|
sub_80DD538: @ 80DD538
|
|
ldr r1, _080DD548 @ =gUnknown_3004FE0
|
|
ldr r0, _080DD54C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DD550 @ =SafariBufferRunCommand
|
|
str r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080DD548: .4byte gUnknown_3004FE0
|
|
_080DD54C: .4byte gActiveBattler
|
|
_080DD550: .4byte SafariBufferRunCommand
|
|
thumb_func_end sub_80DD538
|
|
|
|
thumb_func_start SafariBufferRunCommand
|
|
SafariBufferRunCommand: @ 80DD554
|
|
push {lr}
|
|
ldr r2, _080DD588 @ =gUnknown_2023BC8
|
|
ldr r1, _080DD58C @ =gBitTable
|
|
ldr r0, _080DD590 @ =gActiveBattler
|
|
ldrb r3, [r0]
|
|
lsls r0, r3, 2
|
|
adds r0, r1
|
|
ldr r1, [r2]
|
|
ldr r0, [r0]
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _080DD5A0
|
|
ldr r0, _080DD594 @ =gUnknown_2022BC4
|
|
lsls r1, r3, 9
|
|
adds r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x38
|
|
bhi _080DD59C
|
|
ldr r0, _080DD598 @ =gUnknown_83FED00
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, [r1]
|
|
bl _call_via_r0
|
|
b _080DD5A0
|
|
.align 2, 0
|
|
_080DD588: .4byte gUnknown_2023BC8
|
|
_080DD58C: .4byte gBitTable
|
|
_080DD590: .4byte gActiveBattler
|
|
_080DD594: .4byte gUnknown_2022BC4
|
|
_080DD598: .4byte gUnknown_83FED00
|
|
_080DD59C:
|
|
bl SafariBufferExecCompleted
|
|
_080DD5A0:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end SafariBufferRunCommand
|
|
|
|
thumb_func_start HandleInputChooseAction_0
|
|
HandleInputChooseAction_0: @ 80DD5A4
|
|
push {r4,r5,lr}
|
|
ldr r0, _080DD5D4 @ =gMain
|
|
ldrh r1, [r0, 0x2E]
|
|
movs r2, 0x1
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD612
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldr r1, _080DD5D8 @ =gUnknown_2023FF8
|
|
ldr r0, _080DD5DC @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _080DD5F0
|
|
cmp r0, 0x1
|
|
bgt _080DD5E0
|
|
cmp r0, 0
|
|
beq _080DD5EA
|
|
b _080DD60C
|
|
.align 2, 0
|
|
_080DD5D4: .4byte gMain
|
|
_080DD5D8: .4byte gUnknown_2023FF8
|
|
_080DD5DC: .4byte gActiveBattler
|
|
_080DD5E0:
|
|
cmp r0, 0x2
|
|
beq _080DD5F6
|
|
cmp r0, 0x3
|
|
beq _080DD602
|
|
b _080DD60C
|
|
_080DD5EA:
|
|
movs r0, 0x1
|
|
movs r1, 0x5
|
|
b _080DD5FA
|
|
_080DD5F0:
|
|
movs r0, 0x1
|
|
movs r1, 0x6
|
|
b _080DD5FA
|
|
_080DD5F6:
|
|
movs r0, 0x1
|
|
movs r1, 0x7
|
|
_080DD5FA:
|
|
movs r2, 0
|
|
bl EmitTwoReturnValues
|
|
b _080DD60C
|
|
_080DD602:
|
|
movs r0, 0x1
|
|
movs r1, 0x8
|
|
movs r2, 0
|
|
bl EmitTwoReturnValues
|
|
_080DD60C:
|
|
bl SafariBufferExecCompleted
|
|
b _080DD71A
|
|
_080DD612:
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD650
|
|
ldr r5, _080DD648 @ =gUnknown_2023FF8
|
|
ldr r4, _080DD64C @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD71A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl ActionSelectionDestroyCursorAt
|
|
ldrb r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
movs r2, 0x1
|
|
b _080DD6BE
|
|
.align 2, 0
|
|
_080DD648: .4byte gUnknown_2023FF8
|
|
_080DD64C: .4byte gActiveBattler
|
|
_080DD650:
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD68C
|
|
ldr r5, _080DD684 @ =gUnknown_2023FF8
|
|
ldr r4, _080DD688 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD71A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl ActionSelectionDestroyCursorAt
|
|
ldrb r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
movs r2, 0x1
|
|
b _080DD6BE
|
|
.align 2, 0
|
|
_080DD684: .4byte gUnknown_2023FF8
|
|
_080DD688: .4byte gActiveBattler
|
|
_080DD68C:
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD6D8
|
|
ldr r5, _080DD6D0 @ =gUnknown_2023FF8
|
|
ldr r4, _080DD6D4 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD71A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl ActionSelectionDestroyCursorAt
|
|
ldrb r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
movs r2, 0x2
|
|
_080DD6BE:
|
|
eors r0, r2
|
|
strb r0, [r1]
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl ActionSelectionCreateCursorAt
|
|
b _080DD71A
|
|
.align 2, 0
|
|
_080DD6D0: .4byte gUnknown_2023FF8
|
|
_080DD6D4: .4byte gActiveBattler
|
|
_080DD6D8:
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD71A
|
|
ldr r5, _080DD720 @ =gUnknown_2023FF8
|
|
ldr r4, _080DD724 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD71A
|
|
movs r0, 0x5
|
|
bl PlaySE
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl ActionSelectionDestroyCursorAt
|
|
ldrb r1, [r4]
|
|
adds r1, r5
|
|
ldrb r0, [r1]
|
|
movs r2, 0x2
|
|
eors r0, r2
|
|
strb r0, [r1]
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl ActionSelectionCreateCursorAt
|
|
_080DD71A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD720: .4byte gUnknown_2023FF8
|
|
_080DD724: .4byte gActiveBattler
|
|
thumb_func_end HandleInputChooseAction_0
|
|
|
|
thumb_func_start sub_80DD728
|
|
sub_80DD728: @ 80DD728
|
|
push {lr}
|
|
ldr r2, _080DD750 @ =gSprites
|
|
ldr r1, _080DD754 @ =gUnknown_2023D44
|
|
ldr r0, _080DD758 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
ldr r0, _080DD75C @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080DD74C
|
|
bl SafariBufferExecCompleted
|
|
_080DD74C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD750: .4byte gSprites
|
|
_080DD754: .4byte gUnknown_2023D44
|
|
_080DD758: .4byte gActiveBattler
|
|
_080DD75C: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80DD728
|
|
|
|
thumb_func_start CompleteOnInactiveTextPrinter_3
|
|
CompleteOnInactiveTextPrinter_3: @ 80DD760
|
|
push {lr}
|
|
movs r0, 0
|
|
bl IsTextPrinterActive
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bne _080DD772
|
|
bl SafariBufferExecCompleted
|
|
_080DD772:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end CompleteOnInactiveTextPrinter_3
|
|
|
|
thumb_func_start sub_80DD778
|
|
sub_80DD778: @ 80DD778
|
|
push {lr}
|
|
ldr r2, _080DD7A0 @ =gSprites
|
|
ldr r1, _080DD7A4 @ =gUnknown_3004FF0
|
|
ldr r0, _080DD7A8 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x1C
|
|
adds r0, r2
|
|
ldr r1, [r0]
|
|
ldr r0, _080DD7AC @ =SpriteCallbackDummy
|
|
cmp r1, r0
|
|
bne _080DD79C
|
|
bl SafariBufferExecCompleted
|
|
_080DD79C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD7A0: .4byte gSprites
|
|
_080DD7A4: .4byte gUnknown_3004FF0
|
|
_080DD7A8: .4byte gActiveBattler
|
|
_080DD7AC: .4byte SpriteCallbackDummy
|
|
thumb_func_end sub_80DD778
|
|
|
|
thumb_func_start sub_80DD7B0
|
|
sub_80DD7B0: @ 80DD7B0
|
|
push {lr}
|
|
ldr r0, _080DD7E0 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD7DA
|
|
ldr r2, _080DD7E4 @ =gMain
|
|
ldr r0, _080DD7E8 @ =0x00000439
|
|
adds r3, r2, r0
|
|
ldrb r1, [r3]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
ands r0, r1
|
|
strb r0, [r3]
|
|
ldr r0, _080DD7EC @ =gUnknown_3004F80
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
ldr r0, [r2, 0x8]
|
|
bl SetMainCallback2
|
|
_080DD7DA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD7E0: .4byte gPaletteFade
|
|
_080DD7E4: .4byte gMain
|
|
_080DD7E8: .4byte 0x00000439
|
|
_080DD7EC: .4byte gUnknown_3004F80
|
|
thumb_func_end sub_80DD7B0
|
|
|
|
thumb_func_start CompleteOnSpecialAnimDone_0
|
|
CompleteOnSpecialAnimDone_0: @ 80DD7F0
|
|
push {lr}
|
|
ldr r0, _080DD820 @ =gUnknown_2024005
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080DD816
|
|
ldr r0, _080DD824 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080DD828 @ =gActiveBattler
|
|
ldrb r1, [r0]
|
|
ldr r2, [r2, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD81A
|
|
_080DD816:
|
|
bl SafariBufferExecCompleted
|
|
_080DD81A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD820: .4byte gUnknown_2024005
|
|
_080DD824: .4byte gUnknown_2024018
|
|
_080DD828: .4byte gActiveBattler
|
|
thumb_func_end CompleteOnSpecialAnimDone_0
|
|
|
|
thumb_func_start sub_80DD82C
|
|
sub_80DD82C: @ 80DD82C
|
|
push {lr}
|
|
ldr r0, _080DD84C @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD848
|
|
ldr r1, _080DD850 @ =gUnknown_3004FE0
|
|
ldr r0, _080DD854 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DD858 @ =CompleteWhenChosePokeblock
|
|
str r1, [r0]
|
|
_080DD848:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD84C: .4byte gPaletteFade
|
|
_080DD850: .4byte gUnknown_3004FE0
|
|
_080DD854: .4byte gActiveBattler
|
|
_080DD858: .4byte CompleteWhenChosePokeblock
|
|
thumb_func_end sub_80DD82C
|
|
|
|
thumb_func_start CompleteWhenChosePokeblock
|
|
CompleteWhenChosePokeblock: @ 80DD85C
|
|
push {lr}
|
|
ldr r0, _080DD888 @ =gMain
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, _080DD88C @ =sub_8011100
|
|
cmp r1, r0
|
|
bne _080DD882
|
|
ldr r0, _080DD890 @ =gPaletteFade
|
|
ldrb r1, [r0, 0x7]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD882
|
|
ldr r0, _080DD894 @ =gUnknown_203AD30
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
bl EmitOneReturnValue
|
|
bl SafariBufferExecCompleted
|
|
_080DD882:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD888: .4byte gMain
|
|
_080DD88C: .4byte sub_8011100
|
|
_080DD890: .4byte gPaletteFade
|
|
_080DD894: .4byte gUnknown_203AD30
|
|
thumb_func_end CompleteWhenChosePokeblock
|
|
|
|
thumb_func_start CompleteOnFinishedBattleAnimation_3
|
|
CompleteOnFinishedBattleAnimation_3: @ 80DD898
|
|
push {lr}
|
|
ldr r0, _080DD8C0 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080DD8C4 @ =gActiveBattler
|
|
ldrb r1, [r0]
|
|
ldr r2, [r2, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x20
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD8BA
|
|
bl SafariBufferExecCompleted
|
|
_080DD8BA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD8C0: .4byte gUnknown_2024018
|
|
_080DD8C4: .4byte gActiveBattler
|
|
thumb_func_end CompleteOnFinishedBattleAnimation_3
|
|
|
|
thumb_func_start SafariBufferExecCompleted
|
|
SafariBufferExecCompleted: @ 80DD8C8
|
|
push {r4,lr}
|
|
sub sp, 0x4
|
|
ldr r1, _080DD908 @ =gUnknown_3004FE0
|
|
ldr r4, _080DD90C @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DD910 @ =SafariBufferRunCommand
|
|
str r1, [r0]
|
|
ldr r0, _080DD914 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080DD91C
|
|
bl GetMultiplayerId
|
|
mov r1, sp
|
|
strb r0, [r1]
|
|
movs r0, 0x2
|
|
movs r1, 0x4
|
|
mov r2, sp
|
|
bl PrepareBufferDataTransferLink
|
|
ldr r1, _080DD918 @ =gUnknown_2022BC4
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
adds r0, r1
|
|
movs r1, 0x38
|
|
strb r1, [r0]
|
|
b _080DD92E
|
|
.align 2, 0
|
|
_080DD908: .4byte gUnknown_3004FE0
|
|
_080DD90C: .4byte gActiveBattler
|
|
_080DD910: .4byte SafariBufferRunCommand
|
|
_080DD914: .4byte gBattleTypeFlags
|
|
_080DD918: .4byte gUnknown_2022BC4
|
|
_080DD91C:
|
|
ldr r2, _080DD938 @ =gUnknown_2023BC8
|
|
ldr r1, _080DD93C @ =gBitTable
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
ldr r0, [r2]
|
|
bics r0, r1
|
|
str r0, [r2]
|
|
_080DD92E:
|
|
add sp, 0x4
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD938: .4byte gUnknown_2023BC8
|
|
_080DD93C: .4byte gBitTable
|
|
thumb_func_end SafariBufferExecCompleted
|
|
|
|
thumb_func_start CompleteOnFinishedStatusAnimation_3
|
|
CompleteOnFinishedStatusAnimation_3: @ 80DD940
|
|
push {lr}
|
|
ldr r0, _080DD968 @ =gUnknown_2024018
|
|
ldr r2, [r0]
|
|
ldr r0, _080DD96C @ =gActiveBattler
|
|
ldrb r1, [r0]
|
|
ldr r2, [r2, 0x4]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldrb r1, [r0]
|
|
movs r0, 0x10
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080DD962
|
|
bl SafariBufferExecCompleted
|
|
_080DD962:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DD968: .4byte gUnknown_2024018
|
|
_080DD96C: .4byte gActiveBattler
|
|
thumb_func_end CompleteOnFinishedStatusAnimation_3
|
|
|
|
thumb_func_start sub_80DD970
|
|
sub_80DD970: @ 80DD970
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD970
|
|
|
|
thumb_func_start sub_80DD97C
|
|
sub_80DD97C: @ 80DD97C
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD97C
|
|
|
|
thumb_func_start sub_80DD988
|
|
sub_80DD988: @ 80DD988
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD988
|
|
|
|
thumb_func_start sub_80DD994
|
|
sub_80DD994: @ 80DD994
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD994
|
|
|
|
thumb_func_start sub_80DD9A0
|
|
sub_80DD9A0: @ 80DD9A0
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD9A0
|
|
|
|
thumb_func_start sub_80DD9AC
|
|
sub_80DD9AC: @ 80DD9AC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD9AC
|
|
|
|
thumb_func_start sub_80DD9B8
|
|
sub_80DD9B8: @ 80DD9B8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DD9B8
|
|
|
|
thumb_func_start SafariHandleDrawTrainerPic
|
|
SafariHandleDrawTrainerPic: @ 80DD9C4
|
|
push {r4-r6,lr}
|
|
ldr r4, _080DDA7C @ =gSaveBlock2Ptr
|
|
ldr r0, [r4]
|
|
ldrb r0, [r0, 0x8]
|
|
ldr r5, _080DDA80 @ =gActiveBattler
|
|
ldrb r1, [r5]
|
|
bl sub_8034750
|
|
ldr r0, [r4]
|
|
ldrb r6, [r0, 0x8]
|
|
ldrb r0, [r5]
|
|
bl GetBattlerPosition
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r6, 0
|
|
bl SetMultiuseSpriteTemplateToTrainerBack
|
|
ldr r0, _080DDA84 @ =gMultiuseSpriteTemplate
|
|
ldr r2, _080DDA88 @ =gUnknown_8239F8C
|
|
ldr r1, [r4]
|
|
ldrb r1, [r1, 0x8]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
movs r2, 0x8
|
|
subs r2, r1
|
|
lsls r2, 18
|
|
movs r1, 0xA0
|
|
lsls r1, 15
|
|
adds r2, r1
|
|
asrs r2, 16
|
|
movs r1, 0x50
|
|
movs r3, 0x1E
|
|
bl CreateSprite
|
|
ldr r6, _080DDA8C @ =gUnknown_2023D44
|
|
ldrb r1, [r5]
|
|
adds r1, r6
|
|
strb r0, [r1]
|
|
ldr r4, _080DDA90 @ =gSprites
|
|
ldrb r3, [r5]
|
|
adds r0, r3, r6
|
|
ldrb r0, [r0]
|
|
lsls r1, r0, 4
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r4
|
|
lsls r3, 4
|
|
ldrb r2, [r1, 0x5]
|
|
movs r0, 0xF
|
|
ands r0, r2
|
|
orrs r0, r3
|
|
strb r0, [r1, 0x5]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
movs r1, 0xF0
|
|
strh r1, [r0, 0x24]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldr r1, _080DDA94 @ =0x0000fffe
|
|
strh r1, [r0, 0x2E]
|
|
ldrb r0, [r5]
|
|
adds r0, r6
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 4
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r4, 0x1C
|
|
adds r0, r4
|
|
ldr r1, _080DDA98 @ =sub_8033EEC
|
|
str r1, [r0]
|
|
ldr r1, _080DDA9C @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDAA0 @ =sub_80DD728
|
|
str r1, [r0]
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDA7C: .4byte gSaveBlock2Ptr
|
|
_080DDA80: .4byte gActiveBattler
|
|
_080DDA84: .4byte gMultiuseSpriteTemplate
|
|
_080DDA88: .4byte gUnknown_8239F8C
|
|
_080DDA8C: .4byte gUnknown_2023D44
|
|
_080DDA90: .4byte gSprites
|
|
_080DDA94: .4byte 0x0000fffe
|
|
_080DDA98: .4byte sub_8033EEC
|
|
_080DDA9C: .4byte gUnknown_3004FE0
|
|
_080DDAA0: .4byte sub_80DD728
|
|
thumb_func_end SafariHandleDrawTrainerPic
|
|
|
|
thumb_func_start sub_80DDAA4
|
|
sub_80DDAA4: @ 80DDAA4
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDAA4
|
|
|
|
thumb_func_start sub_80DDAB0
|
|
sub_80DDAB0: @ 80DDAB0
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDAB0
|
|
|
|
thumb_func_start sub_80DDABC
|
|
sub_80DDABC: @ 80DDABC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDABC
|
|
|
|
thumb_func_start sub_80DDAC8
|
|
sub_80DDAC8: @ 80DDAC8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDAC8
|
|
|
|
thumb_func_start sub_80DDAD4
|
|
sub_80DDAD4: @ 80DDAD4
|
|
push {r4,r5,lr}
|
|
ldr r0, _080DDB14 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, 0x8]
|
|
movs r0, 0x4
|
|
strb r0, [r1, 0x8]
|
|
ldr r1, _080DDB18 @ =gUnknown_2024005
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldr r5, _080DDB1C @ =gActiveBattler
|
|
ldrb r4, [r5]
|
|
movs r0, 0x1
|
|
bl GetBattlerAtPosition
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0x4
|
|
bl InitAndLaunchSpecialAnimation
|
|
ldr r1, _080DDB20 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDB24 @ =CompleteOnSpecialAnimDone_0
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDB14: .4byte gUnknown_2024018
|
|
_080DDB18: .4byte gUnknown_2024005
|
|
_080DDB1C: .4byte gActiveBattler
|
|
_080DDB20: .4byte gUnknown_3004FE0
|
|
_080DDB24: .4byte CompleteOnSpecialAnimDone_0
|
|
thumb_func_end sub_80DDAD4
|
|
|
|
thumb_func_start sub_80DDB28
|
|
sub_80DDB28: @ 80DDB28
|
|
push {r4,r5,lr}
|
|
ldr r1, _080DDB70 @ =gUnknown_2022BC4
|
|
ldr r5, _080DDB74 @ =gActiveBattler
|
|
ldrb r0, [r5]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
ldr r0, _080DDB78 @ =gUnknown_2024018
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, 0x8]
|
|
strb r1, [r0, 0x8]
|
|
ldr r1, _080DDB7C @ =gUnknown_2024005
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
ldrb r4, [r5]
|
|
movs r0, 0x1
|
|
bl GetBattlerAtPosition
|
|
adds r2, r0, 0
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0x4
|
|
bl InitAndLaunchSpecialAnimation
|
|
ldr r1, _080DDB80 @ =gUnknown_3004FE0
|
|
ldrb r0, [r5]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDB84 @ =CompleteOnSpecialAnimDone_0
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDB70: .4byte gUnknown_2022BC4
|
|
_080DDB74: .4byte gActiveBattler
|
|
_080DDB78: .4byte gUnknown_2024018
|
|
_080DDB7C: .4byte gUnknown_2024005
|
|
_080DDB80: .4byte gUnknown_3004FE0
|
|
_080DDB84: .4byte CompleteOnSpecialAnimDone_0
|
|
thumb_func_end sub_80DDB28
|
|
|
|
thumb_func_start sub_80DDB88
|
|
sub_80DDB88: @ 80DDB88
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDB88
|
|
|
|
thumb_func_start sub_80DDB94
|
|
sub_80DDB94: @ 80DDB94
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDB94
|
|
|
|
thumb_func_start sub_80DDBA0
|
|
sub_80DDBA0: @ 80DDBA0
|
|
push {r4,lr}
|
|
ldr r0, _080DDBD4 @ =gUnknown_2022974
|
|
movs r1, 0
|
|
strh r1, [r0]
|
|
ldr r0, _080DDBD8 @ =gUnknown_2022976
|
|
strh r1, [r0]
|
|
ldr r0, _080DDBDC @ =gActiveBattler
|
|
ldrb r4, [r0]
|
|
lsls r4, 9
|
|
ldr r0, _080DDBE0 @ =gUnknown_2022BC6
|
|
adds r4, r0
|
|
ldrh r0, [r4]
|
|
bl sub_80D7274
|
|
ldrh r0, [r4]
|
|
bl sub_80D89B0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080DDBE8
|
|
ldr r0, _080DDBE4 @ =gDisplayedStringBattle
|
|
movs r1, 0x40
|
|
bl sub_80D87BC
|
|
b _080DDBF0
|
|
.align 2, 0
|
|
_080DDBD4: .4byte gUnknown_2022974
|
|
_080DDBD8: .4byte gUnknown_2022976
|
|
_080DDBDC: .4byte gActiveBattler
|
|
_080DDBE0: .4byte gUnknown_2022BC6
|
|
_080DDBE4: .4byte gDisplayedStringBattle
|
|
_080DDBE8:
|
|
ldr r0, _080DDC04 @ =gDisplayedStringBattle
|
|
movs r1, 0
|
|
bl sub_80D87BC
|
|
_080DDBF0:
|
|
ldr r1, _080DDC08 @ =gUnknown_3004FE0
|
|
ldr r0, _080DDC0C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDC10 @ =CompleteOnInactiveTextPrinter_3
|
|
str r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDC04: .4byte gDisplayedStringBattle
|
|
_080DDC08: .4byte gUnknown_3004FE0
|
|
_080DDC0C: .4byte gActiveBattler
|
|
_080DDC10: .4byte CompleteOnInactiveTextPrinter_3
|
|
thumb_func_end sub_80DDBA0
|
|
|
|
thumb_func_start sub_80DDC14
|
|
sub_80DDC14: @ 80DDC14
|
|
push {lr}
|
|
ldr r0, _080DDC2C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
bl GetBattlerSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080DDC30
|
|
bl sub_80DDBA0
|
|
b _080DDC34
|
|
.align 2, 0
|
|
_080DDC2C: .4byte gActiveBattler
|
|
_080DDC30:
|
|
bl SafariBufferExecCompleted
|
|
_080DDC34:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDC14
|
|
|
|
thumb_func_start sub_80DDC38
|
|
sub_80DDC38: @ 80DDC38
|
|
push {lr}
|
|
bl IsDma3ManagerBusyWithBgCopy
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
bne _080DDC5E
|
|
ldr r0, _080DDC64 @ =gUnknown_2022974
|
|
strh r1, [r0]
|
|
ldr r1, _080DDC68 @ =gUnknown_2022976
|
|
movs r0, 0xA0
|
|
strh r0, [r1]
|
|
ldr r1, _080DDC6C @ =gUnknown_3004FE0
|
|
ldr r0, _080DDC70 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDC74 @ =HandleInputChooseAction_0
|
|
str r1, [r0]
|
|
_080DDC5E:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDC64: .4byte gUnknown_2022974
|
|
_080DDC68: .4byte gUnknown_2022976
|
|
_080DDC6C: .4byte gUnknown_3004FE0
|
|
_080DDC70: .4byte gActiveBattler
|
|
_080DDC74: .4byte HandleInputChooseAction_0
|
|
thumb_func_end sub_80DDC38
|
|
|
|
thumb_func_start sub_80DDC78
|
|
sub_80DDC78: @ 80DDC78
|
|
push {r4,lr}
|
|
ldr r1, _080DDCCC @ =gUnknown_3004FE0
|
|
ldr r0, _080DDCD0 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDCD4 @ =sub_80DDC38
|
|
str r1, [r0]
|
|
ldr r0, _080DDCD8 @ =gUnknown_83FDA4C
|
|
movs r1, 0
|
|
bl sub_80D87BC
|
|
ldr r0, _080DDCDC @ =gUnknown_83FE747
|
|
movs r1, 0x2
|
|
bl sub_80D87BC
|
|
movs r4, 0
|
|
_080DDC9A:
|
|
lsls r0, r4, 24
|
|
lsrs r0, 24
|
|
bl ActionSelectionDestroyCursorAt
|
|
adds r4, 0x1
|
|
cmp r4, 0x3
|
|
ble _080DDC9A
|
|
ldr r1, _080DDCE0 @ =gUnknown_2023FF8
|
|
ldr r0, _080DDCD0 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, 0
|
|
bl ActionSelectionCreateCursorAt
|
|
ldr r0, _080DDCE4 @ =gUnknown_83FE6E6
|
|
bl BattleStringExpandPlaceholdersToDisplayedString
|
|
ldr r0, _080DDCE8 @ =gDisplayedStringBattle
|
|
movs r1, 0x1
|
|
bl sub_80D87BC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDCCC: .4byte gUnknown_3004FE0
|
|
_080DDCD0: .4byte gActiveBattler
|
|
_080DDCD4: .4byte sub_80DDC38
|
|
_080DDCD8: .4byte gUnknown_83FDA4C
|
|
_080DDCDC: .4byte gUnknown_83FE747
|
|
_080DDCE0: .4byte gUnknown_2023FF8
|
|
_080DDCE4: .4byte gUnknown_83FE6E6
|
|
_080DDCE8: .4byte gDisplayedStringBattle
|
|
thumb_func_end sub_80DDC78
|
|
|
|
thumb_func_start sub_80DDCEC
|
|
sub_80DDCEC: @ 80DDCEC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDCEC
|
|
|
|
thumb_func_start sub_80DDCF8
|
|
sub_80DDCF8: @ 80DDCF8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDCF8
|
|
|
|
thumb_func_start sub_80DDD04
|
|
sub_80DDD04: @ 80DDD04
|
|
push {lr}
|
|
sub sp, 0x4
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
movs r2, 0
|
|
movs r3, 0x10
|
|
bl BeginNormalPaletteFade
|
|
ldr r1, _080DDD34 @ =gUnknown_3004FE0
|
|
ldr r2, _080DDD38 @ =gActiveBattler
|
|
ldrb r0, [r2]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDD3C @ =sub_80DD82C
|
|
str r1, [r0]
|
|
ldr r1, _080DDD40 @ =gBattlerInMenuId
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
add sp, 0x4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDD34: .4byte gUnknown_3004FE0
|
|
_080DDD38: .4byte gActiveBattler
|
|
_080DDD3C: .4byte sub_80DD82C
|
|
_080DDD40: .4byte gBattlerInMenuId
|
|
thumb_func_end sub_80DDD04
|
|
|
|
thumb_func_start sub_80DDD44
|
|
sub_80DDD44: @ 80DDD44
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDD44
|
|
|
|
thumb_func_start sub_80DDD50
|
|
sub_80DDD50: @ 80DDD50
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDD50
|
|
|
|
thumb_func_start sub_80DDD5C
|
|
sub_80DDD5C: @ 80DDD5C
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDD5C
|
|
|
|
thumb_func_start sub_80DDD68
|
|
sub_80DDD68: @ 80DDD68
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDD68
|
|
|
|
thumb_func_start SafariHandleStatusIconUpdate
|
|
SafariHandleStatusIconUpdate: @ 80DDD74
|
|
push {lr}
|
|
ldr r0, _080DDDA0 @ =gUnknown_3004FF0
|
|
ldr r1, _080DDDA4 @ =gActiveBattler
|
|
ldrb r1, [r1]
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
ldr r2, _080DDDA8 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _080DDDAC @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0xB
|
|
bl UpdateHealthboxAttribute
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDDA0: .4byte gUnknown_3004FF0
|
|
_080DDDA4: .4byte gActiveBattler
|
|
_080DDDA8: .4byte gBattlerPartyIndexes
|
|
_080DDDAC: .4byte gPlayerParty
|
|
thumb_func_end SafariHandleStatusIconUpdate
|
|
|
|
thumb_func_start sub_80DDDB0
|
|
sub_80DDDB0: @ 80DDDB0
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDB0
|
|
|
|
thumb_func_start sub_80DDDBC
|
|
sub_80DDDBC: @ 80DDDBC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDBC
|
|
|
|
thumb_func_start sub_80DDDC8
|
|
sub_80DDDC8: @ 80DDDC8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDC8
|
|
|
|
thumb_func_start sub_80DDDD4
|
|
sub_80DDDD4: @ 80DDDD4
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDD4
|
|
|
|
thumb_func_start sub_80DDDE0
|
|
sub_80DDDE0: @ 80DDDE0
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDE0
|
|
|
|
thumb_func_start sub_80DDDEC
|
|
sub_80DDDEC: @ 80DDDEC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDEC
|
|
|
|
thumb_func_start sub_80DDDF8
|
|
sub_80DDDF8: @ 80DDDF8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDDF8
|
|
|
|
thumb_func_start sub_80DDE04
|
|
sub_80DDE04: @ 80DDE04
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE04
|
|
|
|
thumb_func_start sub_80DDE10
|
|
sub_80DDE10: @ 80DDE10
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE10
|
|
|
|
thumb_func_start sub_80DDE1C
|
|
sub_80DDE1C: @ 80DDE1C
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE1C
|
|
|
|
thumb_func_start sub_80DDE28
|
|
sub_80DDE28: @ 80DDE28
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE28
|
|
|
|
thumb_func_start sub_80DDE34
|
|
sub_80DDE34: @ 80DDE34
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE34
|
|
|
|
thumb_func_start sub_80DDE40
|
|
sub_80DDE40: @ 80DDE40
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE40
|
|
|
|
thumb_func_start sub_80DDE4C
|
|
sub_80DDE4C: @ 80DDE4C
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE4C
|
|
|
|
thumb_func_start sub_80DDE58
|
|
sub_80DDE58: @ 80DDE58
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE58
|
|
|
|
thumb_func_start sub_80DDE64
|
|
sub_80DDE64: @ 80DDE64
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDE64
|
|
|
|
thumb_func_start SafariHandlePlaySE
|
|
SafariHandlePlaySE: @ 80DDE70
|
|
push {r4,lr}
|
|
ldr r4, _080DDEAC @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
bl GetBattlerSide
|
|
lsls r0, 24
|
|
movs r3, 0x3F
|
|
cmp r0, 0
|
|
bne _080DDE84
|
|
movs r3, 0xC0
|
|
_080DDE84:
|
|
ldr r2, _080DDEB0 @ =gUnknown_2022BC4
|
|
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 SafariBufferExecCompleted
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDEAC: .4byte gActiveBattler
|
|
_080DDEB0: .4byte gUnknown_2022BC4
|
|
thumb_func_end SafariHandlePlaySE
|
|
|
|
thumb_func_start SafariHandlecmd44
|
|
SafariHandlecmd44: @ 80DDEB4
|
|
push {lr}
|
|
ldr r2, _080DDEDC @ =gUnknown_2022BC4
|
|
ldr r0, _080DDEE0 @ =gActiveBattler
|
|
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 SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDEDC: .4byte gUnknown_2022BC4
|
|
_080DDEE0: .4byte gActiveBattler
|
|
thumb_func_end SafariHandlecmd44
|
|
|
|
thumb_func_start SafariHandleFaintingCry
|
|
SafariHandleFaintingCry: @ 80DDEE4
|
|
push {lr}
|
|
ldr r1, _080DDF14 @ =gBattlerPartyIndexes
|
|
ldr r0, _080DDF18 @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _080DDF1C @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0xB
|
|
bl GetMonData
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x19
|
|
bl PlayCry1
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDF14: .4byte gBattlerPartyIndexes
|
|
_080DDF18: .4byte gActiveBattler
|
|
_080DDF1C: .4byte gPlayerParty
|
|
thumb_func_end SafariHandleFaintingCry
|
|
|
|
thumb_func_start SafariHandleIntroSlide
|
|
SafariHandleIntroSlide: @ 80DDF20
|
|
push {lr}
|
|
ldr r1, _080DDF48 @ =gUnknown_2022BC4
|
|
ldr r0, _080DDF4C @ =gActiveBattler
|
|
ldrb r0, [r0]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_80BC3A0
|
|
ldr r2, _080DDF50 @ =gUnknown_2023F4C
|
|
ldrh r0, [r2]
|
|
movs r1, 0x1
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDF48: .4byte gUnknown_2022BC4
|
|
_080DDF4C: .4byte gActiveBattler
|
|
_080DDF50: .4byte gUnknown_2023F4C
|
|
thumb_func_end SafariHandleIntroSlide
|
|
|
|
thumb_func_start SafariHandleIntroTrainerBallThrow
|
|
SafariHandleIntroTrainerBallThrow: @ 80DDF54
|
|
push {r4,r5,lr}
|
|
ldr r5, _080DDF98 @ =gUnknown_3004FF0
|
|
ldr r4, _080DDF9C @ =gActiveBattler
|
|
ldrb r1, [r4]
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
ldr r2, _080DDFA0 @ =gBattlerPartyIndexes
|
|
lsls r1, 1
|
|
adds r1, r2
|
|
ldrh r2, [r1]
|
|
movs r1, 0x64
|
|
muls r1, r2
|
|
ldr r2, _080DDFA4 @ =gPlayerParty
|
|
adds r1, r2
|
|
movs r2, 0xA
|
|
bl UpdateHealthboxAttribute
|
|
ldrb r0, [r4]
|
|
bl sub_804BD94
|
|
ldrb r0, [r4]
|
|
adds r0, r5
|
|
ldrb r0, [r0]
|
|
bl SetHealthboxSpriteVisible
|
|
ldr r1, _080DDFA8 @ =gUnknown_3004FE0
|
|
ldrb r0, [r4]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, _080DDFAC @ =sub_80DD778
|
|
str r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DDF98: .4byte gUnknown_3004FF0
|
|
_080DDF9C: .4byte gActiveBattler
|
|
_080DDFA0: .4byte gBattlerPartyIndexes
|
|
_080DDFA4: .4byte gPlayerParty
|
|
_080DDFA8: .4byte gUnknown_3004FE0
|
|
_080DDFAC: .4byte sub_80DD778
|
|
thumb_func_end SafariHandleIntroTrainerBallThrow
|
|
|
|
thumb_func_start sub_80DDFB0
|
|
sub_80DDFB0: @ 80DDFB0
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDFB0
|
|
|
|
thumb_func_start sub_80DDFBC
|
|
sub_80DDFBC: @ 80DDFBC
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDFBC
|
|
|
|
thumb_func_start sub_80DDFC8
|
|
sub_80DDFC8: @ 80DDFC8
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDFC8
|
|
|
|
thumb_func_start sub_80DDFD4
|
|
sub_80DDFD4: @ 80DDFD4
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DDFD4
|
|
|
|
thumb_func_start SafariHandleBattleAnimation
|
|
SafariHandleBattleAnimation: @ 80DDFE0
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
ldr r5, _080DE018 @ =gUnknown_2022BC4
|
|
ldr r6, _080DE01C @ =gActiveBattler
|
|
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 TryHandleLaunchBattleTableAnimation
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080DE020
|
|
bl SafariBufferExecCompleted
|
|
b _080DE02C
|
|
.align 2, 0
|
|
_080DE018: .4byte gUnknown_2022BC4
|
|
_080DE01C: .4byte gActiveBattler
|
|
_080DE020:
|
|
ldr r0, _080DE034 @ =gUnknown_3004FE0
|
|
ldrb r1, [r6]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080DE038 @ =CompleteOnFinishedBattleAnimation_3
|
|
str r0, [r1]
|
|
_080DE02C:
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DE034: .4byte gUnknown_3004FE0
|
|
_080DE038: .4byte CompleteOnFinishedBattleAnimation_3
|
|
thumb_func_end SafariHandleBattleAnimation
|
|
|
|
thumb_func_start sub_80DE03C
|
|
sub_80DE03C: @ 80DE03C
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DE03C
|
|
|
|
thumb_func_start sub_80DE048
|
|
sub_80DE048: @ 80DE048
|
|
push {lr}
|
|
bl SafariBufferExecCompleted
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80DE048
|
|
|
|
thumb_func_start SafariHandleCmd55
|
|
SafariHandleCmd55: @ 80DE054
|
|
push {r4,lr}
|
|
ldr r2, _080DE098 @ =gUnknown_2023E8A
|
|
ldr r1, _080DE09C @ =gUnknown_2022BC4
|
|
ldr r4, _080DE0A0 @ =gActiveBattler
|
|
ldrb r0, [r4]
|
|
lsls r0, 9
|
|
adds r1, 0x1
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
strb r0, [r2]
|
|
movs r0, 0x5
|
|
bl FadeOutMapMusic
|
|
movs r0, 0x3
|
|
bl BeginFastPaletteFade
|
|
bl SafariBufferExecCompleted
|
|
ldr r0, _080DE0A4 @ =gBattleTypeFlags
|
|
ldr r0, [r0]
|
|
movs r1, 0x6
|
|
ands r0, r1
|
|
cmp r0, 0x2
|
|
bne _080DE090
|
|
ldr r0, _080DE0A8 @ =gUnknown_3004FE0
|
|
ldrb r1, [r4]
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r0, _080DE0AC @ =sub_80DD7B0
|
|
str r0, [r1]
|
|
_080DE090:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080DE098: .4byte gUnknown_2023E8A
|
|
_080DE09C: .4byte gUnknown_2022BC4
|
|
_080DE0A0: .4byte gActiveBattler
|
|
_080DE0A4: .4byte gBattleTypeFlags
|
|
_080DE0A8: .4byte gUnknown_3004FE0
|
|
_080DE0AC: .4byte sub_80DD7B0
|
|
thumb_func_end SafariHandleCmd55
|
|
|
|
thumb_func_start nullsub_80
|
|
nullsub_80: @ 80DE0B0
|
|
bx lr
|
|
thumb_func_end nullsub_80
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|