mirror of
https://github.com/zeldaret/tmc
synced 2026-05-25 07:23:16 -04:00
Merge pull request #160 from octorock/npcs
This commit is contained in:
-1143
File diff suppressed because it is too large
Load Diff
@@ -1,8 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
-287
@@ -1,287 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Brocco
|
||||
Brocco: @ 0x08063524
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r1, [r2, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806353A
|
||||
adds r0, r2, #0
|
||||
bl sub_0806362C
|
||||
b _08063540
|
||||
_0806353A:
|
||||
adds r0, r2, #0
|
||||
bl sub_08063544
|
||||
_08063540:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08063544
|
||||
sub_08063544: @ 0x08063544
|
||||
push {lr}
|
||||
ldr r2, _08063558 @ =gUnk_0810CAA0
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08063558: .4byte gUnk_0810CAA0
|
||||
|
||||
thumb_func_start sub_0806355C
|
||||
sub_0806355C: @ 0x0806355C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_08078778
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08063584
|
||||
sub_08063584: @ 0x08063584
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806ED9C
|
||||
cmp r0, #0
|
||||
blt _080635B2
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _080635B8
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _080635B2
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_080635B2:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _080635D0
|
||||
_080635B8:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080635D0
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
_080635D0:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x39
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _080635FC
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl GetAnimationState
|
||||
adds r1, r0, #0
|
||||
adds r1, #4
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
ldrb r0, [r4, #0xe]
|
||||
ldr r1, _08063604 @ =0x00000A01
|
||||
adds r0, r0, r1
|
||||
bl TextboxNoOverlapFollow
|
||||
_080635FC:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08063604: .4byte 0x00000A01
|
||||
|
||||
thumb_func_start sub_08063608
|
||||
sub_08063608: @ 0x08063608
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _08063628 @ =gTextBox
|
||||
ldrb r0, [r0]
|
||||
movs r1, #0x7f
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _08063626
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
strb r1, [r2, #0xf]
|
||||
adds r0, r2, #0
|
||||
movs r1, #4
|
||||
bl InitAnimationForceUpdate
|
||||
_08063626:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08063628: .4byte gTextBox
|
||||
|
||||
thumb_func_start sub_0806362C
|
||||
sub_0806362C: @ 0x0806362C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r3, [r4, #0xc]
|
||||
cmp r3, #1
|
||||
beq _08063662
|
||||
cmp r3, #1
|
||||
bgt _08063640
|
||||
cmp r3, #0
|
||||
beq _08063646
|
||||
b _080636D4
|
||||
_08063640:
|
||||
cmp r3, #2
|
||||
beq _080636BA
|
||||
b _080636D4
|
||||
_08063646:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
strb r3, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_08063662:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _080636A4
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _080636A0 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r1, #4
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _080636D4
|
||||
.align 2, 0
|
||||
_080636A0: .4byte gPlayerEntity
|
||||
_080636A4:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
b _080636D4
|
||||
_080636BA:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _080636D4
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_080636D4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080636D8
|
||||
sub_080636D8: @ 0x080636D8
|
||||
push {lr}
|
||||
ldr r1, _080636EC @ =gSave
|
||||
ldrb r1, [r1, #8]
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _080636F0 @ =gUnk_0810CAAC
|
||||
adds r1, r1, r2
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080636EC: .4byte gSave
|
||||
_080636F0: .4byte gUnk_0810CAAC
|
||||
|
||||
thumb_func_start sub_080636F4
|
||||
sub_080636F4: @ 0x080636F4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start Brocco_Fusion
|
||||
Brocco_Fusion: @ 0x0806370C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08063738
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
ldrh r0, [r2, #0x32]
|
||||
subs r0, #4
|
||||
strh r0, [r2, #0x32]
|
||||
adds r0, r2, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806373E
|
||||
_08063738:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806373E:
|
||||
pop {pc}
|
||||
@@ -1,352 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Maid
|
||||
Maid: @ 0x08064508
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r1, [r2, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806451E
|
||||
adds r0, r2, #0
|
||||
bl sub_08064570
|
||||
b _08064522
|
||||
_0806451E:
|
||||
bl DeleteThisEntity
|
||||
_08064522:
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start Maid_Head
|
||||
Maid_Head: @ 0x08064524
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0x7f
|
||||
ands r2, r0
|
||||
ldrb r5, [r4, #0x1e]
|
||||
ldrb r0, [r4, #9]
|
||||
cmp r0, #0x16
|
||||
bne _08064540
|
||||
cmp r2, #0
|
||||
beq _08064548
|
||||
adds r2, #0xa
|
||||
b _08064548
|
||||
_08064540:
|
||||
cmp r2, #0
|
||||
beq _08064546
|
||||
adds r2, #0x1a
|
||||
_08064546:
|
||||
adds r5, #0x10
|
||||
_08064548:
|
||||
subs r2, #1
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
adds r2, r5, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08064570
|
||||
sub_08064570: @ 0x08064570
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _080645EA
|
||||
cmp r5, #1
|
||||
bgt _08064584
|
||||
cmp r5, #0
|
||||
beq _0806458A
|
||||
b _0806463C
|
||||
_08064584:
|
||||
cmp r5, #2
|
||||
beq _0806462C
|
||||
b _0806463C
|
||||
_0806458A:
|
||||
ldrb r1, [r4, #9]
|
||||
movs r0, #0x16
|
||||
eors r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _080645D0 @ =gUnk_0810F874
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r5, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805ACC0
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
bne _080645D4
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
b _080645E0
|
||||
.align 2, 0
|
||||
_080645D0: .4byte gUnk_0810F874
|
||||
_080645D4:
|
||||
lsrs r1, r2, #0x10
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
adds r0, #2
|
||||
strh r2, [r0]
|
||||
_080645E0:
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x68]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
_080645EA:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
movs r1, #0
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r2]
|
||||
ldr r1, _08064628 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x68]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
bl _call_via_r0
|
||||
b _0806463C
|
||||
.align 2, 0
|
||||
_08064628: .4byte gPlayerEntity
|
||||
_0806462C:
|
||||
ldr r0, _08064640 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0806463C
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0806463C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08064640: .4byte gTextBox
|
||||
|
||||
thumb_func_start sub_08064644
|
||||
sub_08064644: @ 0x08064644
|
||||
ldr r1, [r1, #4]
|
||||
str r1, [r0, #0x68]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806464C
|
||||
sub_0806464C: @ 0x0806464C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0x15
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0806465E
|
||||
movs r4, #2
|
||||
b _08064674
|
||||
_0806465E:
|
||||
movs r0, #0xa0
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08064672
|
||||
movs r4, #0
|
||||
movs r0, #0xa0
|
||||
bl SetLocalFlag
|
||||
b _08064674
|
||||
_08064672:
|
||||
movs r4, #1
|
||||
_08064674:
|
||||
ldr r0, _08064684 @ =gUnk_0810F88C
|
||||
lsls r1, r4, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r5, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08064684: .4byte gUnk_0810F88C
|
||||
|
||||
thumb_func_start sub_08064688
|
||||
sub_08064688: @ 0x08064688
|
||||
push {lr}
|
||||
ldr r1, _0806469C @ =gSave
|
||||
ldrb r1, [r1, #8]
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _080646A0 @ =gUnk_0810F894
|
||||
adds r1, r1, r2
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806469C: .4byte gSave
|
||||
_080646A0: .4byte gUnk_0810F894
|
||||
|
||||
thumb_func_start sub_080646A4
|
||||
sub_080646A4: @ 0x080646A4
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _08064710
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r5, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _080646EC
|
||||
cmp r0, #8
|
||||
bgt _080646DA
|
||||
cmp r0, #0
|
||||
beq _080646E4
|
||||
b _08064702
|
||||
_080646DA:
|
||||
cmp r0, #0x10
|
||||
beq _080646F4
|
||||
cmp r0, #0x18
|
||||
beq _080646FC
|
||||
b _08064702
|
||||
_080646E4:
|
||||
cmp r1, #0x10
|
||||
bne _08064702
|
||||
movs r1, #8
|
||||
b _08064702
|
||||
_080646EC:
|
||||
cmp r1, #0x18
|
||||
bne _08064702
|
||||
movs r1, #0x10
|
||||
b _08064702
|
||||
_080646F4:
|
||||
cmp r1, #0
|
||||
bne _08064702
|
||||
movs r1, #0x18
|
||||
b _08064702
|
||||
_080646FC:
|
||||
cmp r1, #8
|
||||
bne _08064702
|
||||
movs r1, #0
|
||||
_08064702:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_08064710:
|
||||
ldr r0, [r5, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r5, #8]
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6c
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806473A
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806473A:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _0806474C
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806474C:
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r4, r6]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6e
|
||||
movs r6, #0
|
||||
ldrsh r0, [r2, r6]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _08064768
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064768:
|
||||
cmp r1, r3
|
||||
bge _08064776
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064776:
|
||||
ldrh r0, [r5, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _08064788
|
||||
ldr r1, _0806478C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08064788:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806478C: .4byte gActiveScriptInfo
|
||||
@@ -1,546 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start CastorWildsStatue
|
||||
CastorWildsStatue: @ 0x08067380
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080673A4
|
||||
ldr r0, _080673A0 @ =gUnk_08110E5C
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
b _080673BA
|
||||
.align 2, 0
|
||||
_080673A0: .4byte gUnk_08110E5C
|
||||
_080673A4:
|
||||
ldr r0, _080673BC @ =gUnk_08110E4C
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
_080673BA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080673BC: .4byte gUnk_08110E4C
|
||||
|
||||
thumb_func_start sub_080673C0
|
||||
sub_080673C0: @ 0x080673C0
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _080673D4 @ =gScreenTransition
|
||||
adds r0, #0x2c
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080673D8
|
||||
movs r0, #3
|
||||
b _080673DA
|
||||
.align 2, 0
|
||||
_080673D4: .4byte gScreenTransition
|
||||
_080673D8:
|
||||
movs r0, #1
|
||||
_080673DA:
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0xa]
|
||||
movs r0, #1
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x1e]
|
||||
cmp r0, #0
|
||||
bne _080673EC
|
||||
ldr r0, _080673F0 @ =gUnk_08110E94
|
||||
str r0, [r2, #0x48]
|
||||
_080673EC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080673F0: .4byte gUnk_08110E94
|
||||
|
||||
thumb_func_start sub_080673F4
|
||||
sub_080673F4: @ 0x080673F4
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
adds r3, r2, #0
|
||||
adds r3, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r3, r0]
|
||||
cmp r0, #0
|
||||
beq _0806740C
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0xc]
|
||||
strb r1, [r3]
|
||||
_0806740C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08067410
|
||||
sub_08067410: @ 0x08067410
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08067418
|
||||
sub_08067418: @ 0x08067418
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r6, r0, #0
|
||||
movs r0, #1
|
||||
strb r0, [r6, #0xc]
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r6, r0]
|
||||
ldr r2, _08067488 @ =gRoomControls
|
||||
ldrh r0, [r2, #6]
|
||||
subs r1, r1, r0
|
||||
asrs r1, r1, #4
|
||||
movs r3, #0x3f
|
||||
ands r1, r3
|
||||
movs r4, #0x32
|
||||
ldrsh r0, [r6, r4]
|
||||
ldrh r2, [r2, #8]
|
||||
subs r0, r0, r2
|
||||
asrs r0, r0, #4
|
||||
ands r0, r3
|
||||
lsls r0, r0, #6
|
||||
orrs r1, r0
|
||||
adds r7, r6, #0
|
||||
adds r7, #0x74
|
||||
strh r1, [r7]
|
||||
ldrb r0, [r6, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08067494
|
||||
ldr r0, _0806748C @ =gUnk_08110E94
|
||||
str r0, [r6, #0x48]
|
||||
ldr r5, _08067490 @ =0x00004022
|
||||
ldrh r1, [r7]
|
||||
subs r1, #1
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x38
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
ldrh r1, [r7]
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
ldrh r1, [r7]
|
||||
adds r1, #0x3f
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
ldrh r1, [r7]
|
||||
adds r1, #0x40
|
||||
ldrb r2, [r4]
|
||||
adds r0, r5, #0
|
||||
bl SetTile
|
||||
b _080674F8
|
||||
.align 2, 0
|
||||
_08067488: .4byte gRoomControls
|
||||
_0806748C: .4byte gUnk_08110E94
|
||||
_08067490: .4byte 0x00004022
|
||||
_08067494:
|
||||
adds r1, r6, #0
|
||||
adds r1, #0x38
|
||||
movs r0, #3
|
||||
strb r0, [r1]
|
||||
ldrb r2, [r6, #0x1b]
|
||||
movs r1, #0x3f
|
||||
adds r0, r1, #0
|
||||
ands r0, r2
|
||||
movs r2, #0x40
|
||||
orrs r0, r2
|
||||
strb r0, [r6, #0x1b]
|
||||
ldrb r0, [r6, #0x19]
|
||||
ands r1, r0
|
||||
orrs r1, r2
|
||||
strb r1, [r6, #0x19]
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #8
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, #0x1d
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _080674F8
|
||||
ldr r4, _08067500 @ =0x00004022
|
||||
ldr r1, _08067504 @ =0x00000E81
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
ldr r1, _08067508 @ =0x00000E82
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
ldr r1, _0806750C @ =0x00000E83
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
ldr r1, _08067510 @ =0x00000EC3
|
||||
adds r0, r4, #0
|
||||
movs r2, #1
|
||||
bl SetTile
|
||||
_080674F8:
|
||||
adds r0, r6, #0
|
||||
bl sub_0807DD50
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08067500: .4byte 0x00004022
|
||||
_08067504: .4byte 0x00000E81
|
||||
_08067508: .4byte 0x00000E82
|
||||
_0806750C: .4byte 0x00000E83
|
||||
_08067510: .4byte 0x00000EC3
|
||||
|
||||
thumb_func_start sub_08067514
|
||||
sub_08067514: @ 0x08067514
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0806752A
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
_0806752A:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806752C
|
||||
sub_0806752C: @ 0x0806752C
|
||||
push {lr}
|
||||
bl sub_0806FD3C
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_08067534
|
||||
sub_08067534: @ 0x08067534
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r4, #0
|
||||
_0806753A:
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _08067560
|
||||
ldr r0, _08067578 @ =gUnk_08110E64
|
||||
adds r0, r4, r0
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
ldrh r2, [r1, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x2e]
|
||||
ldrh r0, [r1, #0x32]
|
||||
adds r0, #0x1c
|
||||
strh r0, [r1, #0x32]
|
||||
_08067560:
|
||||
adds r4, #1
|
||||
cmp r4, #1
|
||||
ble _0806753A
|
||||
movs r0, #0xa6
|
||||
lsls r0, r0, #1
|
||||
bl EnqueueSFX
|
||||
movs r0, #0x28
|
||||
movs r1, #4
|
||||
bl sub_08080964
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08067578: .4byte gUnk_08110E64
|
||||
|
||||
thumb_func_start sub_0806757C
|
||||
sub_0806757C: @ 0x0806757C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xd]
|
||||
cmp r0, #0
|
||||
beq _080675CC
|
||||
cmp r0, #2
|
||||
bls _080675BC
|
||||
ldr r0, _080675AC @ =0x00000E81
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080675B0 @ =0x00000E82
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080675B4 @ =0x00000E83
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
ldr r0, _080675B8 @ =0x00000EC3
|
||||
movs r1, #1
|
||||
bl sub_0807BA8C
|
||||
b _080675CC
|
||||
.align 2, 0
|
||||
_080675AC: .4byte 0x00000E81
|
||||
_080675B0: .4byte 0x00000E82
|
||||
_080675B4: .4byte 0x00000E83
|
||||
_080675B8: .4byte 0x00000EC3
|
||||
_080675BC:
|
||||
ldr r0, _080675D0 @ =gUnk_08110E68
|
||||
ldrb r1, [r2, #0xd]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r2, #0
|
||||
bl LoadFixedGFX
|
||||
_080675CC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080675D0: .4byte gUnk_08110E68
|
||||
|
||||
thumb_func_start sub_080675D4
|
||||
sub_080675D4: @ 0x080675D4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r0, #0
|
||||
ldr r5, _080676D0 @ =gUnk_08110E78
|
||||
ldrb r0, [r4, #0xd]
|
||||
lsls r0, r0, #2
|
||||
adds r7, r0, #0
|
||||
subs r7, #0xc
|
||||
movs r0, #0x3f
|
||||
mov r8, r0
|
||||
movs r6, #8
|
||||
_080675EC:
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _08067646
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x32]
|
||||
strh r7, [r3, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldrb r1, [r4, #0x1b]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x1b]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1b]
|
||||
ldrb r1, [r4, #0x19]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x19]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl ResolveEntityOnTop
|
||||
_08067646:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
cmp r6, #0
|
||||
bge _080675EC
|
||||
ldr r5, _080676D4 @ =gUnk_08110E8A
|
||||
movs r0, #0x3f
|
||||
mov r8, r0
|
||||
movs r6, #3
|
||||
_08067656:
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _080676B0
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x32]
|
||||
strh r7, [r3, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldrb r1, [r4, #0x1b]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x1b]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1b]
|
||||
ldrb r1, [r4, #0x19]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x19]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl ResolveEntityOnTop
|
||||
_080676B0:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
cmp r6, #0
|
||||
bge _08067656
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #2
|
||||
bls _080676C8
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_080676C8:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080676D0: .4byte gUnk_08110E78
|
||||
_080676D4: .4byte gUnk_08110E8A
|
||||
|
||||
thumb_func_start sub_080676D8
|
||||
sub_080676D8: @ 0x080676D8
|
||||
ldrb r1, [r0, #0xd]
|
||||
adds r1, #1
|
||||
strb r1, [r0, #0xd]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_080676E0
|
||||
sub_080676E0: @ 0x080676E0
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
adds r2, r1, #0
|
||||
ldrb r0, [r2, #0x18]
|
||||
cmp r0, #1
|
||||
beq _08067706
|
||||
cmp r0, #1
|
||||
bgt _080676F6
|
||||
cmp r0, #0
|
||||
beq _080676FC
|
||||
b _08067734
|
||||
_080676F6:
|
||||
cmp r0, #2
|
||||
beq _08067722
|
||||
b _08067734
|
||||
_080676FC:
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x20
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067706:
|
||||
ldrb r1, [r2, #0x19]
|
||||
lsrs r0, r1, #1
|
||||
subs r0, #0x10
|
||||
strh r0, [r3, #0x36]
|
||||
subs r1, #1
|
||||
strb r1, [r2, #0x19]
|
||||
lsls r1, r1, #0x18
|
||||
cmp r1, #0
|
||||
bne _08067742
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x24
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067722:
|
||||
ldrb r0, [r2, #0x19]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0x19]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08067742
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0x18]
|
||||
b _08067742
|
||||
_08067734:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r3, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
beq _08067748
|
||||
_08067742:
|
||||
ldr r1, _0806774C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08067748:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806774C: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start CastorWildsStatue_Fusion
|
||||
CastorWildsStatue_Fusion: @ 0x08067750
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08067788
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, #0x18
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitializeAnimation
|
||||
ldr r1, _08067784 @ =0x0000017B
|
||||
adds r0, r4, #0
|
||||
bl sub_0801D2B4
|
||||
b _0806778E
|
||||
.align 2, 0
|
||||
_08067784: .4byte 0x0000017B
|
||||
_08067788:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0806778E:
|
||||
pop {r4, pc}
|
||||
-327
@@ -1,327 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Cucco
|
||||
Cucco: @ 0x0806E4A0
|
||||
push {lr}
|
||||
ldr r2, _0806E4B4 @ =gUnk_081145B4
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806E4B4: .4byte gUnk_081145B4
|
||||
|
||||
thumb_func_start sub_0806E4B8
|
||||
sub_0806E4B8: @ 0x0806E4B8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
movs r5, #0
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_080787A8
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
strb r5, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E4EC
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E4EC
|
||||
sub_0806E4EC: @ 0x0806E4EC
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E50E
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xd]
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x3c
|
||||
strb r0, [r5, #0xe]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_0806E50E:
|
||||
ldrb r0, [r5, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r5, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0806E552
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0806E52A
|
||||
movs r0, #3
|
||||
b _0806E52C
|
||||
_0806E52A:
|
||||
movs r0, #2
|
||||
_0806E52C:
|
||||
strb r0, [r5, #0xc]
|
||||
movs r0, #0
|
||||
strb r0, [r5, #0xd]
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0806E552
|
||||
ldr r4, _0806E560 @ =gUnk_081145C8
|
||||
bl Random
|
||||
movs r1, #3
|
||||
ands r1, r0
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r4
|
||||
ldrh r0, [r1]
|
||||
bl EnqueueSFX
|
||||
_0806E552:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806E65C
|
||||
adds r0, r5, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806E560: .4byte gUnk_081145C8
|
||||
|
||||
thumb_func_start sub_0806E564
|
||||
sub_0806E564: @ 0x0806E564
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E5AA
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r2, #1
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _0806E590
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r2
|
||||
lsls r1, r1, #6
|
||||
subs r2, #0x42
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E590:
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitAnimationForceUpdate
|
||||
_0806E5AA:
|
||||
movs r1, #0xa0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0806E5D4
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0806E5CE
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
b _0806E5D4
|
||||
_0806E5CE:
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
_0806E5D4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E65C
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E5E4
|
||||
sub_0806E5E4: @ 0x0806E5E4
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E622
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r5, #1
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806E612
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r5
|
||||
lsls r1, r1, #6
|
||||
movs r2, #0x41
|
||||
rsbs r2, r2, #0
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E612:
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
ands r1, r5
|
||||
adds r1, #2
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_0806E622:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806E638
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
_0806E638:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E65C
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E648
|
||||
sub_0806E648: @ 0x0806E648
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806E658
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0806E658:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E65C
|
||||
sub_0806E65C: @ 0x0806E65C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x39
|
||||
movs r2, #0
|
||||
ldrsb r2, [r0, r2]
|
||||
cmp r2, #0
|
||||
beq _0806E6A6
|
||||
ldr r0, _0806E688 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806E694
|
||||
cmp r2, #2
|
||||
bne _0806E68C
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _0806E698
|
||||
.align 2, 0
|
||||
_0806E688: .4byte gPlayerState
|
||||
_0806E68C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E6A8
|
||||
b _0806E698
|
||||
_0806E694:
|
||||
bl sub_080791D0
|
||||
_0806E698:
|
||||
movs r0, #0xd5
|
||||
bl SoundReq
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0806E6A6:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806E6A8
|
||||
sub_0806E6A8: @ 0x0806E6A8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r5, #0
|
||||
bl sub_08002632
|
||||
ldr r1, _0806E6D4 @ =gSave
|
||||
ldr r2, _0806E6D8 @ =0x000001C1
|
||||
adds r1, r1, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xf3
|
||||
bne _0806E6C2
|
||||
movs r5, #1
|
||||
_0806E6C2:
|
||||
ldr r0, _0806E6DC @ =gUnk_081145D0
|
||||
lsls r1, r5, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806E6D4: .4byte gSave
|
||||
_0806E6D8: .4byte 0x000001C1
|
||||
_0806E6DC: .4byte gUnk_081145D0
|
||||
|
||||
thumb_func_start Cucco_Fusion
|
||||
Cucco_Fusion: @ 0x0806E6E0
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806E706
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #1
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806E70C
|
||||
_0806E706:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806E70C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,245 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start CuccoChick
|
||||
CuccoChick: @ 0x0806E710
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0806E72C @ =gUnk_081145D4
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806E72C: .4byte gUnk_081145D4
|
||||
|
||||
thumb_func_start sub_0806E730
|
||||
sub_0806E730: @ 0x0806E730
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
movs r5, #0
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_080787A8
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
strb r5, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E764
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E764
|
||||
sub_0806E764: @ 0x0806E764
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0
|
||||
bne _0806E782
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
strb r5, [r4, #0x1e]
|
||||
_0806E782:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0806E7A8
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _0806E7A8
|
||||
movs r0, #0xd6
|
||||
bl EnqueueSFX
|
||||
_0806E7A8:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E838
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0806E7B0
|
||||
sub_0806E7B0: @ 0x0806E7B0
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E7F2
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r5, #1
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806E7DE
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r5
|
||||
lsls r1, r1, #6
|
||||
movs r2, #0x41
|
||||
rsbs r2, r2, #0
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E7DE:
|
||||
bl Random
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
strb r5, [r4, #0x1e]
|
||||
_0806E7F2:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0806E81C
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0806E816
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
b _0806E81C
|
||||
_0806E816:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
_0806E81C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E838
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0806E824
|
||||
sub_0806E824: @ 0x0806E824
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806E834
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0806E834:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806E838
|
||||
sub_0806E838: @ 0x0806E838
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x39
|
||||
movs r2, #0
|
||||
ldrsb r2, [r0, r2]
|
||||
cmp r2, #0
|
||||
beq _0806E882
|
||||
ldr r0, _0806E864 @ =gPlayerState
|
||||
ldr r0, [r0, #0x30]
|
||||
movs r1, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806E870
|
||||
cmp r2, #2
|
||||
bne _0806E868
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _0806E874
|
||||
.align 2, 0
|
||||
_0806E864: .4byte gPlayerState
|
||||
_0806E868:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E884
|
||||
b _0806E874
|
||||
_0806E870:
|
||||
bl sub_080791D0
|
||||
_0806E874:
|
||||
movs r0, #0xd6
|
||||
bl SoundReq
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0806E882:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806E884
|
||||
sub_0806E884: @ 0x0806E884
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldr r0, _0806E890 @ =0x00000DB6
|
||||
bl TextboxNoOverlap
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806E890: .4byte 0x00000DB6
|
||||
|
||||
thumb_func_start CuccoChick_Fusion
|
||||
CuccoChick_Fusion: @ 0x0806E894
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806E8B6
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0x1e]
|
||||
b _0806E8CA
|
||||
_0806E8B6:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0806E8CA
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
_0806E8CA:
|
||||
pop {r4, pc}
|
||||
|
||||
@@ -1,139 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Din
|
||||
Din: @ 0x08064790
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _080647C2
|
||||
cmp r0, #1
|
||||
bgt _080647A4
|
||||
cmp r0, #0
|
||||
beq _080647AA
|
||||
b _08064824
|
||||
_080647A4:
|
||||
cmp r0, #2
|
||||
beq _0806480A
|
||||
b _08064824
|
||||
_080647AA:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _08064824
|
||||
_080647C2:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _08064800
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
adds r0, #0x10
|
||||
strb r1, [r0]
|
||||
ldr r1, _080647FC @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
b _08064824
|
||||
.align 2, 0
|
||||
_080647FC: .4byte gPlayerEntity
|
||||
_08064800:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _08064824
|
||||
_0806480A:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08064824
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_08064824:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08064828
|
||||
sub_08064828: @ 0x08064828
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r5, r0, #0
|
||||
ldr r6, _08064858 @ =gSave
|
||||
adds r0, r4, #0
|
||||
bl sub_08002632
|
||||
ldr r2, _0806485C @ =0x00000141
|
||||
adds r1, r6, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0806484E
|
||||
ldrb r0, [r6, #8]
|
||||
cmp r0, #6
|
||||
bhi _0806484E
|
||||
movs r5, #0
|
||||
_0806484E:
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_08078784
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08064858: .4byte gSave
|
||||
_0806485C: .4byte 0x00000141
|
||||
|
||||
thumb_func_start Din_Fusion
|
||||
Din_Fusion: @ 0x08064860
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08064886
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806488C
|
||||
_08064886:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806488C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
-166
@@ -1,166 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start DrLeft
|
||||
DrLeft: @ 0x0806BF80
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0806BFBE
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BFA2
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
_0806BFA2:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r0, r4, #0
|
||||
bl sub_0806BFD8
|
||||
b _0806BFD4
|
||||
_0806BFBE:
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0806BFD4
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAD8
|
||||
_0806BFD4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BFD8
|
||||
sub_0806BFD8: @ 0x0806BFD8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r0, [r0]
|
||||
movs r5, #3
|
||||
adds r1, r5, #0
|
||||
ands r1, r0
|
||||
cmp r1, #1
|
||||
beq _0806BFF0
|
||||
cmp r1, #2
|
||||
beq _0806C002
|
||||
b _0806C00A
|
||||
_0806BFF0:
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
ands r1, r5
|
||||
adds r1, #0xc
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
b _0806C00A
|
||||
_0806C002:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitializeAnimation
|
||||
_0806C00A:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0806C00C
|
||||
sub_0806C00C: @ 0x0806C00C
|
||||
push {lr}
|
||||
adds r2, r1, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _0806C022
|
||||
movs r0, #1
|
||||
_0806C022:
|
||||
str r0, [r2, #0x14]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806C028
|
||||
sub_0806C028: @ 0x0806C028
|
||||
push {lr}
|
||||
ldrb r2, [r0, #0x14]
|
||||
lsrs r2, r2, #1
|
||||
ldr r1, [r1, #4]
|
||||
adds r1, r1, r2
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806C038
|
||||
sub_0806C038: @ 0x0806C038
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r0, _0806C074 @ =gSave
|
||||
ldrb r0, [r0, #8]
|
||||
subs r4, r0, #5
|
||||
cmp r4, #0
|
||||
beq _0806C048
|
||||
movs r4, #0
|
||||
_0806C048:
|
||||
movs r0, #0x46
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0806C086
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0806C078
|
||||
movs r4, #6
|
||||
movs r0, #0xaf
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0806C086
|
||||
movs r4, #5
|
||||
movs r0, #0xaf
|
||||
bl SetLocalFlag
|
||||
b _0806C086
|
||||
.align 2, 0
|
||||
_0806C074: .4byte gSave
|
||||
_0806C078:
|
||||
movs r4, #7
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
cmp r0, #1
|
||||
bls _0806C086
|
||||
movs r4, #0
|
||||
_0806C086:
|
||||
ldr r0, _0806C098 @ =gUnk_081133A4
|
||||
lsls r1, r4, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r5, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806C098: .4byte gUnk_081133A4
|
||||
|
||||
thumb_func_start sub_0806C09C
|
||||
sub_0806C09C: @ 0x0806C09C
|
||||
push {lr}
|
||||
ldr r3, _0806C0AC @ =gUnk_081133B4
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl sub_08078850
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806C0AC: .4byte gUnk_081133B4
|
||||
@@ -1,100 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x63
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _080862CA
|
||||
bl DeleteThisEntity
|
||||
_080862CA:
|
||||
movs r3, #1
|
||||
strb r3, [r4, #0xc]
|
||||
ldr r1, _08086350 @ =gUnk_08120678
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x7c
|
||||
strh r0, [r1]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x76
|
||||
strh r0, [r2]
|
||||
ldrh r0, [r1]
|
||||
subs r1, #2
|
||||
strh r0, [r1]
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #0
|
||||
bne _08086354
|
||||
adds r1, #6
|
||||
ldr r0, [r4, #0x2c]
|
||||
str r0, [r1]
|
||||
adds r1, #4
|
||||
ldr r0, [r4, #0x30]
|
||||
str r0, [r1]
|
||||
ldrb r1, [r4, #0x19]
|
||||
movs r0, #0x3f
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
str r4, [r4, #0x50]
|
||||
ldrb r0, [r4, #0x10]
|
||||
movs r1, #0x80
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3c
|
||||
movs r0, #7
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x3f
|
||||
strb r3, [r0]
|
||||
subs r1, #1
|
||||
movs r0, #4
|
||||
strb r0, [r1]
|
||||
movs r2, #0
|
||||
_08086324:
|
||||
adds r5, r2, #1
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x18
|
||||
adds r2, r5, #0
|
||||
movs r3, #0
|
||||
bl CreateObjectWithParent
|
||||
adds r1, r0, #0
|
||||
str r1, [r4, #0x54]
|
||||
cmp r1, #0
|
||||
beq _08086346
|
||||
ldr r0, [r4, #0x50]
|
||||
str r0, [r1, #0x50]
|
||||
ldr r0, [r4, #0x54]
|
||||
str r4, [r0, #0x54]
|
||||
ldr r0, [r4, #0x54]
|
||||
str r0, [r4, #0x50]
|
||||
_08086346:
|
||||
adds r2, r5, #0
|
||||
cmp r2, #3
|
||||
bls _08086324
|
||||
b _08086360
|
||||
.align 2, 0
|
||||
_08086350: .4byte gUnk_08120678
|
||||
_08086354:
|
||||
ldrb r0, [r4, #0x19]
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
movs r0, #0x40
|
||||
orrs r1, r0
|
||||
strb r1, [r4, #0x19]
|
||||
_08086360:
|
||||
ldrb r1, [r4, #0xa]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
bl sub_08086370
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
-205
@@ -1,205 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Farmers
|
||||
Farmers: @ 0x0806BBE4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BC40
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _0806BC28 @ =gUnk_08113140
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806BC54
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0xe]
|
||||
movs r0, #1
|
||||
ands r1, r0
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #0x41
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
lsls r0, r0, #0x19
|
||||
cmp r0, #0
|
||||
blt _0806BC2C
|
||||
movs r0, #6
|
||||
b _0806BC2E
|
||||
.align 2, 0
|
||||
_0806BC28: .4byte gUnk_08113140
|
||||
_0806BC2C:
|
||||
movs r0, #2
|
||||
_0806BC2E:
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r0, [r4, #0x14]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806BC58
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_0806BC40:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0806BC54:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BC58
|
||||
sub_0806BC58: @ 0x0806BC58
|
||||
push {lr}
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start Farmers_Head
|
||||
Farmers_Head: @ 0x0806BC64
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0x7f
|
||||
ands r2, r0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806BC94
|
||||
sub_0806BC94: @ 0x0806BC94
|
||||
push {lr}
|
||||
ldrb r3, [r0, #0x18]
|
||||
lsls r3, r3, #0x19
|
||||
lsrs r3, r3, #0x1f
|
||||
rsbs r2, r3, #0
|
||||
orrs r2, r3
|
||||
asrs r2, r2, #0x1f
|
||||
movs r3, #8
|
||||
ands r2, r3
|
||||
ldr r1, [r1, #4]
|
||||
adds r1, r1, r2
|
||||
ldrb r2, [r0, #0x14]
|
||||
lsrs r2, r2, #1
|
||||
adds r1, r1, r2
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BCB8
|
||||
sub_0806BCB8: @ 0x0806BCB8
|
||||
ldrb r1, [r0, #0xe]
|
||||
strb r1, [r0, #0x14]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BCC0
|
||||
sub_0806BCC0: @ 0x0806BCC0
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xa]
|
||||
cmp r0, #0
|
||||
bne _0806BCD0
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F188
|
||||
_0806BCD0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BCD4
|
||||
sub_0806BCD4: @ 0x0806BCD4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BCE8
|
||||
sub_0806BCE8: @ 0x0806BCE8
|
||||
push {lr}
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _0806BCF8 @ =gUnk_08113158
|
||||
adds r1, r1, r2
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806BCF8: .4byte gUnk_08113158
|
||||
|
||||
thumb_func_start Farmers_Fusion
|
||||
Farmers_Fusion: @ 0x0806BCFC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BD4C
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _0806BD48 @ =gUnk_08113140
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806BD52
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
movs r1, #0x41
|
||||
rsbs r1, r1, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806BC58
|
||||
adds r0, r4, #0
|
||||
movs r1, #3
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806BD52
|
||||
.align 2, 0
|
||||
_0806BD48: .4byte gUnk_08113140
|
||||
_0806BD4C:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806BD52:
|
||||
pop {r4, pc}
|
||||
-139
@@ -1,139 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Farore
|
||||
Farore: @ 0x08064990
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _080649C2
|
||||
cmp r0, #1
|
||||
bgt _080649A4
|
||||
cmp r0, #0
|
||||
beq _080649AA
|
||||
b _08064A24
|
||||
_080649A4:
|
||||
cmp r0, #2
|
||||
beq _08064A0A
|
||||
b _08064A24
|
||||
_080649AA:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _08064A24
|
||||
_080649C2:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _08064A00
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
adds r0, #0x10
|
||||
strb r1, [r0]
|
||||
ldr r1, _080649FC @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
b _08064A24
|
||||
.align 2, 0
|
||||
_080649FC: .4byte gPlayerEntity
|
||||
_08064A00:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _08064A24
|
||||
_08064A0A:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08064A24
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_08064A24:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08064A28
|
||||
sub_08064A28: @ 0x08064A28
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r5, r0, #0
|
||||
ldr r6, _08064A58 @ =gSave
|
||||
adds r0, r4, #0
|
||||
bl sub_08002632
|
||||
ldr r2, _08064A5C @ =0x00000141
|
||||
adds r1, r6, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _08064A4E
|
||||
ldrb r0, [r6, #8]
|
||||
cmp r0, #6
|
||||
bhi _08064A4E
|
||||
movs r5, #0
|
||||
_08064A4E:
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_08078784
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08064A58: .4byte gSave
|
||||
_08064A5C: .4byte 0x00000141
|
||||
|
||||
thumb_func_start Farore_Fusion
|
||||
Farore_Fusion: @ 0x08064A60
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08064A86
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _08064A8C
|
||||
_08064A86:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_08064A8C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,553 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start GhostBrothers
|
||||
GhostBrothers: @ 0x08065BA4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08065BBA
|
||||
adds r0, r4, #0
|
||||
bl sub_08065C0C
|
||||
b _08065BEA
|
||||
_08065BBA:
|
||||
ldr r1, _08065BEC @ =gUnk_08110164
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #2
|
||||
bhi _08065BEA
|
||||
ldr r2, _08065BF0 @ =gUnk_0811015C
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1b
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
strh r0, [r4, #0x36]
|
||||
_08065BEA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065BEC: .4byte gUnk_08110164
|
||||
_08065BF0: .4byte gUnk_0811015C
|
||||
|
||||
thumb_func_start sub_08065BF4
|
||||
sub_08065BF4: @ 0x08065BF4
|
||||
push {lr}
|
||||
ldr r2, _08065C08 @ =gUnk_0811017C
|
||||
ldrb r1, [r0, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08065C08: .4byte gUnk_0811017C
|
||||
|
||||
thumb_func_start sub_08065C0C
|
||||
sub_08065C0C: @ 0x08065C0C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08065C42
|
||||
cmp r0, #1
|
||||
bgt _08065C20
|
||||
cmp r0, #0
|
||||
beq _08065C2A
|
||||
b _08065CCA
|
||||
_08065C20:
|
||||
cmp r0, #2
|
||||
beq _08065C7E
|
||||
cmp r0, #3
|
||||
beq _08065C8A
|
||||
b _08065CCA
|
||||
_08065C2A:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _08065CCA
|
||||
_08065C42:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _08065C74
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
ldr r1, _08065C70 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _08065CCA
|
||||
.align 2, 0
|
||||
_08065C70: .4byte gPlayerEntity
|
||||
_08065C74:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _08065CCA
|
||||
_08065C7E:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08065CCA
|
||||
b _08065CC6
|
||||
_08065C8A:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065CCA
|
||||
ldr r1, [r4, #0x6c]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08065CB4 @ =0x0000FFFF
|
||||
cmp r2, r0
|
||||
beq _08065CBC
|
||||
ldr r0, _08065CB8 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
adds r1, #2
|
||||
ldrh r0, [r1]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r1, #2
|
||||
str r1, [r4, #0x6c]
|
||||
b _08065CCA
|
||||
.align 2, 0
|
||||
_08065CB4: .4byte 0x0000FFFF
|
||||
_08065CB8: .4byte gScreen
|
||||
_08065CBC:
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #4
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
strb r1, [r4, #0x18]
|
||||
_08065CC6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_08065CCA:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08065CCC
|
||||
sub_08065CCC: @ 0x08065CCC
|
||||
movs r1, #3
|
||||
strb r1, [r0, #0xc]
|
||||
movs r1, #0x1e
|
||||
strb r1, [r0, #0xe]
|
||||
ldrb r2, [r0, #0x19]
|
||||
subs r1, #0x2b
|
||||
ands r1, r2
|
||||
movs r2, #4
|
||||
orrs r1, r2
|
||||
strb r1, [r0, #0x19]
|
||||
ldr r1, _08065CF8 @ =gUnk_0811022E
|
||||
str r1, [r0, #0x6c]
|
||||
ldr r1, _08065CFC @ =gScreen
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x66
|
||||
movs r0, #0xfd
|
||||
lsls r0, r0, #6
|
||||
strh r0, [r2]
|
||||
adds r1, #0x68
|
||||
movs r0, #0x10
|
||||
strh r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08065CF8: .4byte gUnk_0811022E
|
||||
_08065CFC: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_08065D00
|
||||
sub_08065D00: @ 0x08065D00
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08065D18
|
||||
sub_08065D18: @ 0x08065D18
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
strb r1, [r4, #0xf]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #0x22
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r1, [r4, #0x19]
|
||||
movs r0, #0xd
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, _08065D6C @ =gUnk_08110188
|
||||
str r0, [r4, #0x6c]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
ldr r1, _08065D70 @ =gScreen
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x66
|
||||
movs r0, #0xfd
|
||||
lsls r0, r0, #6
|
||||
strh r0, [r2]
|
||||
adds r1, #0x68
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #5
|
||||
strh r0, [r1]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065D6C: .4byte gUnk_08110188
|
||||
_08065D70: .4byte gScreen
|
||||
|
||||
thumb_func_start sub_08065D74
|
||||
sub_08065D74: @ 0x08065D74
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065DB4
|
||||
ldr r2, [r1, #0x6c]
|
||||
ldrh r3, [r2]
|
||||
ldr r0, _08065DA0 @ =0x0000FFFF
|
||||
cmp r3, r0
|
||||
beq _08065DA8
|
||||
ldr r0, _08065DA4 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r3, [r0]
|
||||
ldrh r0, [r2, #2]
|
||||
strb r0, [r1, #0xe]
|
||||
adds r0, r2, #4
|
||||
str r0, [r1, #0x6c]
|
||||
b _08065DB4
|
||||
.align 2, 0
|
||||
_08065DA0: .4byte 0x0000FFFF
|
||||
_08065DA4: .4byte gScreen
|
||||
_08065DA8:
|
||||
ldrb r0, [r1, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xc]
|
||||
movs r0, #0
|
||||
bl TextboxNoOverlapFollow
|
||||
_08065DB4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08065DB8
|
||||
sub_08065DB8: @ 0x08065DB8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #4
|
||||
bhi _08065E74
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08065DCC @ =_08065DD0
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08065DCC: .4byte _08065DD0
|
||||
_08065DD0: @ jump table
|
||||
.4byte _08065DE4 @ case 0
|
||||
.4byte _08065E08 @ case 1
|
||||
.4byte _08065EB0 @ case 2
|
||||
.4byte _08065E34 @ case 3
|
||||
.4byte _08065E4E @ case 4
|
||||
_08065DE4:
|
||||
ldr r0, _08065E04 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitAnimationForceUpdate
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E04: .4byte gTextBox
|
||||
_08065E08:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0xb4
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _08065E30 @ =gUnk_02018EB0
|
||||
ldrb r0, [r1, #1]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E30: .4byte gUnk_02018EB0
|
||||
_08065E34:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
movs r0, #0
|
||||
bl TextboxNoOverlapFollow
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
b _08065EB0
|
||||
_08065E4E:
|
||||
ldr r0, _08065E6C @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _08065E70 @ =gUnk_0811022E
|
||||
str r0, [r4, #0x6c]
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E6C: .4byte gTextBox
|
||||
_08065E70: .4byte gUnk_0811022E
|
||||
_08065E74:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldr r1, [r4, #0x6c]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08065E9C @ =0x0000FFFF
|
||||
cmp r2, r0
|
||||
beq _08065EA4
|
||||
ldr r0, _08065EA0 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
ldrh r0, [r1, #2]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r1, #4
|
||||
str r0, [r4, #0x6c]
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E9C: .4byte 0x0000FFFF
|
||||
_08065EA0: .4byte gScreen
|
||||
_08065EA4:
|
||||
ldr r1, _08065EB8 @ =gUnk_02018EB0
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
strb r0, [r1]
|
||||
bl DeleteThisEntity
|
||||
_08065EB0:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065EB8: .4byte gUnk_02018EB0
|
||||
|
||||
thumb_func_start sub_08065EBC
|
||||
sub_08065EBC: @ 0x08065EBC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _08065ED8 @ =gUnk_08110274
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065ED8: .4byte gUnk_08110274
|
||||
|
||||
thumb_func_start sub_08065EDC
|
||||
sub_08065EDC: @ 0x08065EDC
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065F1C
|
||||
ldr r1, [r2, #0x6c]
|
||||
ldrh r3, [r1]
|
||||
ldr r0, _08065F08 @ =0x0000FFFF
|
||||
cmp r3, r0
|
||||
beq _08065F10
|
||||
ldr r0, _08065F0C @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r3, [r0]
|
||||
adds r1, #2
|
||||
ldrh r0, [r1]
|
||||
strb r0, [r2, #0xe]
|
||||
adds r1, #2
|
||||
str r1, [r2, #0x6c]
|
||||
b _08065F1C
|
||||
.align 2, 0
|
||||
_08065F08: .4byte 0x0000FFFF
|
||||
_08065F0C: .4byte gScreen
|
||||
_08065F10:
|
||||
ldrb r0, [r2, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
adds r0, r2, #0
|
||||
bl sub_08078778
|
||||
_08065F1C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08065F20
|
||||
sub_08065F20: @ 0x08065F20
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08065F5E
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
bl TextboxNoOverlapFollow
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x58
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
strb r0, [r2]
|
||||
ldr r1, _08065F60 @ =gUnk_0811033C
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _08065F56
|
||||
strb r0, [r2]
|
||||
_08065F56:
|
||||
ldrb r1, [r2]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_08065F5E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065F60: .4byte gUnk_0811033C
|
||||
|
||||
thumb_func_start sub_08065F64
|
||||
sub_08065F64: @ 0x08065F64
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r0, _08065F88 @ =gSave
|
||||
ldrb r0, [r0, #8]
|
||||
subs r0, #2
|
||||
cmp r0, #0
|
||||
bge _08065F74
|
||||
movs r0, #0
|
||||
_08065F74:
|
||||
ldrb r1, [r3, #0xa]
|
||||
lsls r1, r1, #6
|
||||
lsls r0, r0, #3
|
||||
ldr r2, _08065F8C @ =gUnk_08110280
|
||||
adds r0, r0, r2
|
||||
adds r1, r1, r0
|
||||
adds r0, r3, #0
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08065F88: .4byte gSave
|
||||
_08065F8C: .4byte gUnk_08110280
|
||||
|
||||
thumb_func_start GhostBrothers_Fusion
|
||||
GhostBrothers_Fusion: @ 0x08065F90
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08065FB6
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
b _08065FBC
|
||||
_08065FB6:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_08065FBC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
-479
@@ -1,479 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Gorman
|
||||
Gorman: @ 0x08069784
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r1, [r2, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806979A
|
||||
adds r0, r2, #0
|
||||
bl sub_08069838
|
||||
b _080697A0
|
||||
_0806979A:
|
||||
adds r0, r2, #0
|
||||
bl sub_080697A4
|
||||
_080697A0:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080697A4
|
||||
sub_080697A4: @ 0x080697A4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _080697C0 @ =gUnk_08111C48
|
||||
ldrb r0, [r4, #0xc]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080697C0: .4byte gUnk_08111C48
|
||||
|
||||
thumb_func_start sub_080697C4
|
||||
sub_080697C4: @ 0x080697C4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _080697E8 @ =gUnk_08111C3C
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _080697E4
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
bl sub_08078778
|
||||
_080697E4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080697E8: .4byte gUnk_08111C3C
|
||||
|
||||
thumb_func_start sub_080697EC
|
||||
sub_080697EC: @ 0x080697EC
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806ED9C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
blt _0806981E
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _0806981A
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r1
|
||||
beq _0806981E
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
b _0806981E
|
||||
_0806981A:
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
_0806981E:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08069834
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08069888
|
||||
_08069834:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08069838
|
||||
sub_08069838: @ 0x08069838
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #0
|
||||
bne _08069862
|
||||
ldr r1, _08069884 @ =gUnk_08111C3C
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _08069880
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strb r5, [r0]
|
||||
adds r0, #1
|
||||
strb r5, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_08069862:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08069880
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08069888
|
||||
_08069880:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08069884: .4byte gUnk_08111C3C
|
||||
|
||||
thumb_func_start sub_08069888
|
||||
sub_08069888: @ 0x08069888
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
movs r0, #0x47
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698A0
|
||||
movs r4, #0
|
||||
movs r0, #0x47
|
||||
bl SetGlobalFlag
|
||||
b _08069906
|
||||
_080698A0:
|
||||
movs r0, #0x2b
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698C2
|
||||
movs r0, #0x2c
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698C2
|
||||
movs r0, #0x2d
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698C2
|
||||
movs r4, #1
|
||||
b _08069906
|
||||
_080698C2:
|
||||
movs r0, #0x18
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698D0
|
||||
movs r4, #2
|
||||
b _08069906
|
||||
_080698D0:
|
||||
movs r0, #0x48
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080698E4
|
||||
movs r4, #3
|
||||
movs r0, #0x48
|
||||
bl SetGlobalFlag
|
||||
b _08069906
|
||||
_080698E4:
|
||||
movs r0, #0x2e
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _08069904
|
||||
movs r0, #0x2f
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _08069904
|
||||
movs r0, #0x30
|
||||
bl CheckGlobalFlag
|
||||
movs r4, #4
|
||||
cmp r0, #0
|
||||
beq _08069906
|
||||
_08069904:
|
||||
movs r4, #5
|
||||
_08069906:
|
||||
ldr r0, _08069918 @ =gUnk_08111C50
|
||||
lsls r1, r4, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r5, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08069918: .4byte gUnk_08111C50
|
||||
|
||||
thumb_func_start sub_0806991C
|
||||
sub_0806991C: @ 0x0806991C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x3c
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x68
|
||||
movs r3, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _0806999C @ =gUnk_08111C5C
|
||||
adds r1, r1, r0
|
||||
ldr r2, _080699A0 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
ldrh r6, [r2, #6]
|
||||
adds r0, r0, r6
|
||||
strh r0, [r4, #0x1e]
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x22]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, [r4, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r4, #8]
|
||||
str r3, [r4, #0x14]
|
||||
movs r1, #0x1e
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
movs r3, #0x22
|
||||
ldrsh r1, [r4, r3]
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
subs r1, r1, r2
|
||||
bl sub_080045DA
|
||||
strb r0, [r5, #0x15]
|
||||
ldrb r2, [r5, #0x14]
|
||||
movs r1, #0x80
|
||||
ands r1, r2
|
||||
ldr r2, _080699A4 @ =gUnk_08111C74
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x14]
|
||||
ldr r2, _080699A8 @ =gActiveScriptInfo
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806999C: .4byte gUnk_08111C5C
|
||||
_080699A0: .4byte gRoomControls
|
||||
_080699A4: .4byte gUnk_08111C74
|
||||
_080699A8: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start sub_080699AC
|
||||
sub_080699AC: @ 0x080699AC
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x3c
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x68
|
||||
movs r3, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _08069A2C @ =gUnk_08111C84
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08069A30 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
ldrh r6, [r2, #6]
|
||||
adds r0, r0, r6
|
||||
strh r0, [r4, #0x1e]
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x22]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, [r4, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r4, #8]
|
||||
str r3, [r4, #0x14]
|
||||
movs r1, #0x1e
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
movs r3, #0x22
|
||||
ldrsh r1, [r4, r3]
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
subs r1, r1, r2
|
||||
bl sub_080045DA
|
||||
strb r0, [r5, #0x15]
|
||||
ldrb r2, [r5, #0x14]
|
||||
movs r1, #0x80
|
||||
ands r1, r2
|
||||
ldr r2, _08069A34 @ =gUnk_08111C8C
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x14]
|
||||
ldr r2, _08069A38 @ =gActiveScriptInfo
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08069A2C: .4byte gUnk_08111C84
|
||||
_08069A30: .4byte gRoomControls
|
||||
_08069A34: .4byte gUnk_08111C8C
|
||||
_08069A38: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start sub_08069A3C
|
||||
sub_08069A3C: @ 0x08069A3C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl Random
|
||||
ldr r2, _08069A5C @ =gUnk_08111C9C
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
adds r4, #0x69
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
lsls r0, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r1]
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08069A5C: .4byte gUnk_08111C9C
|
||||
|
||||
thumb_func_start sub_08069A60
|
||||
sub_08069A60: @ 0x08069A60
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl Random
|
||||
ldr r2, _08069A80 @ =gUnk_08111CA8
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
adds r4, #0x69
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
lsls r0, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r1]
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08069A80: .4byte gUnk_08111CA8
|
||||
|
||||
thumb_func_start sub_08069A84
|
||||
sub_08069A84: @ 0x08069A84
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl Random
|
||||
ldr r2, _08069AA4 @ =gUnk_08111CB4
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
adds r4, #0x69
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
lsls r0, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r1]
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08069AA4: .4byte gUnk_08111CB4
|
||||
|
||||
thumb_func_start sub_08069AA8
|
||||
sub_08069AA8: @ 0x08069AA8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl Random
|
||||
ldr r2, _08069AC8 @ =gUnk_08111CB8
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
adds r4, #0x69
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
lsls r0, r0, #1
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrb r0, [r1]
|
||||
strb r0, [r4]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08069AC8: .4byte gUnk_08111CB8
|
||||
|
||||
thumb_func_start sub_08069ACC
|
||||
sub_08069ACC: @ 0x08069ACC
|
||||
push {lr}
|
||||
adds r2, r1, #0
|
||||
adds r0, #0x68
|
||||
ldrb r1, [r0]
|
||||
subs r1, #1
|
||||
strb r1, [r0]
|
||||
lsls r1, r1, #0x18
|
||||
cmp r1, #0
|
||||
bgt _08069AE2
|
||||
movs r0, #1
|
||||
b _08069AE4
|
||||
_08069AE2:
|
||||
movs r0, #0
|
||||
_08069AE4:
|
||||
str r0, [r2, #0x14]
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start Gorman_Head
|
||||
Gorman_Head: @ 0x08069AE8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r0, [r0]
|
||||
movs r2, #7
|
||||
ands r2, r0
|
||||
adds r2, #0xf
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
-386
@@ -1,386 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Gregal
|
||||
Gregal: @ 0x0806CADC
|
||||
push {lr}
|
||||
ldr r2, _0806CAF0 @ =gUnk_08113D8C
|
||||
ldrb r1, [r0, #0xa]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r2
|
||||
ldr r1, [r1]
|
||||
bl _call_via_r1
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806CAF0: .4byte gUnk_08113D8C
|
||||
|
||||
thumb_func_start sub_0806CAF4
|
||||
sub_0806CAF4: @ 0x0806CAF4
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806CB66
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
movs r0, #0x4a
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl CreateNPC
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0806CB2C
|
||||
str r5, [r4, #0x50]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_0806FAD8
|
||||
_0806CB2C:
|
||||
movs r0, #0x4a
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateNPC
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0806CB4E
|
||||
str r5, [r4, #0x50]
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl ResolveEntityOnTop
|
||||
_0806CB4E:
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD64
|
||||
adds r0, r5, #0
|
||||
bl sub_08078778
|
||||
ldr r3, _0806CB7C @ =gUnk_08113D84
|
||||
ldrb r2, [r3, #4]
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
bl sub_08078850
|
||||
_0806CB66:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r5, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r5, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806CB7C: .4byte gUnk_08113D84
|
||||
|
||||
thumb_func_start sub_0806CB80
|
||||
sub_0806CB80: @ 0x0806CB80
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0806CB9E
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
strb r1, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
_0806CB9E:
|
||||
ldr r0, [r4, #0x50]
|
||||
cmp r0, #0
|
||||
beq _0806CBB0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
adds r0, #0x21
|
||||
strb r0, [r4, #0x1e]
|
||||
_0806CBB0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806CBB4
|
||||
sub_0806CBB4: @ 0x0806CBB4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806CBD6
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x11
|
||||
bl InitializeAnimation
|
||||
_0806CBD6:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldr r1, [r4, #0x50]
|
||||
cmp r1, #0
|
||||
beq _0806CC06
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r3, #4
|
||||
rsbs r3, r3, #0
|
||||
adds r2, r3, #0
|
||||
ands r2, r0
|
||||
strb r2, [r4, #0x18]
|
||||
adds r0, r1, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806CC06
|
||||
adds r0, r2, #0
|
||||
ands r0, r3
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0806CC06:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806CC08
|
||||
sub_0806CC08: @ 0x0806CC08
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _0806CC40
|
||||
cmp r0, #1
|
||||
bgt _0806CC1C
|
||||
cmp r0, #0
|
||||
beq _0806CC22
|
||||
b _0806CCB0
|
||||
_0806CC1C:
|
||||
cmp r0, #2
|
||||
beq _0806CC96
|
||||
b _0806CCB0
|
||||
_0806CC22:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_0806CC40:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _0806CC80
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _0806CC7C @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _0806CCB0
|
||||
.align 2, 0
|
||||
_0806CC7C: .4byte gPlayerEntity
|
||||
_0806CC80:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
b _0806CCB0
|
||||
_0806CC96:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806CCB0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_0806CCB0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806CCB4
|
||||
sub_0806CCB4: @ 0x0806CCB4
|
||||
push {lr}
|
||||
adds r2, r1, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _0806CCCA
|
||||
movs r0, #1
|
||||
_0806CCCA:
|
||||
str r0, [r2, #0x14]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806CCD0
|
||||
sub_0806CCD0: @ 0x0806CCD0
|
||||
push {r4, lr}
|
||||
adds r3, r0, #0
|
||||
adds r4, r1, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0x3f
|
||||
ands r2, r0
|
||||
cmp r2, #0
|
||||
beq _0806CCF4
|
||||
ldrb r1, [r3, #0x14]
|
||||
lsrs r1, r1, #1
|
||||
adds r1, r2, r1
|
||||
adds r0, r3, #0
|
||||
bl InitializeAnimation
|
||||
movs r0, #1
|
||||
str r0, [r4, #0x14]
|
||||
b _0806CCF6
|
||||
_0806CCF4:
|
||||
str r2, [r4, #0x14]
|
||||
_0806CCF6:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806CCF8
|
||||
sub_0806CCF8: @ 0x0806CCF8
|
||||
push {lr}
|
||||
movs r1, #0x85
|
||||
lsls r1, r1, #1
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806CD04
|
||||
sub_0806CD04: @ 0x0806CD04
|
||||
push {lr}
|
||||
ldr r1, _0806CD10 @ =0x0000010B
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806CD10: .4byte 0x0000010B
|
||||
|
||||
thumb_func_start sub_0806CD14
|
||||
sub_0806CD14: @ 0x0806CD14
|
||||
push {lr}
|
||||
movs r1, #0x86
|
||||
lsls r1, r1, #1
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806CD20
|
||||
sub_0806CD20: @ 0x0806CD20
|
||||
push {lr}
|
||||
ldr r1, _0806CD2C @ =0x0000010D
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806CD2C: .4byte 0x0000010D
|
||||
|
||||
thumb_func_start sub_0806CD30
|
||||
sub_0806CD30: @ 0x0806CD30
|
||||
push {lr}
|
||||
movs r1, #0x87
|
||||
lsls r1, r1, #1
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806CD3C
|
||||
sub_0806CD3C: @ 0x0806CD3C
|
||||
push {lr}
|
||||
ldr r1, _0806CD48 @ =0x0000010F
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806CD48: .4byte 0x0000010F
|
||||
|
||||
thumb_func_start sub_0806CD4C
|
||||
sub_0806CD4C: @ 0x0806CD4C
|
||||
push {lr}
|
||||
movs r1, #0x88
|
||||
lsls r1, r1, #1
|
||||
bl sub_0801D2B4
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0806CD58
|
||||
sub_0806CD58: @ 0x0806CD58
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start Gregal_Fusion
|
||||
Gregal_Fusion: @ 0x0806CD70
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806CD9E
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806CDA4
|
||||
_0806CD9E:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806CDA4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
@@ -1,624 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806407C
|
||||
sub_0806407C: @ 0x0806407C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080640E8
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r5, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _080640C4
|
||||
cmp r0, #8
|
||||
bgt _080640B2
|
||||
cmp r0, #0
|
||||
beq _080640BC
|
||||
b _080640DA
|
||||
_080640B2:
|
||||
cmp r0, #0x10
|
||||
beq _080640CC
|
||||
cmp r0, #0x18
|
||||
beq _080640D4
|
||||
b _080640DA
|
||||
_080640BC:
|
||||
cmp r1, #0x10
|
||||
bne _080640DA
|
||||
movs r1, #8
|
||||
b _080640DA
|
||||
_080640C4:
|
||||
cmp r1, #0x18
|
||||
bne _080640DA
|
||||
movs r1, #0x10
|
||||
b _080640DA
|
||||
_080640CC:
|
||||
cmp r1, #0
|
||||
bne _080640DA
|
||||
movs r1, #0x18
|
||||
b _080640DA
|
||||
_080640D4:
|
||||
cmp r1, #8
|
||||
bne _080640DA
|
||||
movs r1, #0
|
||||
_080640DA:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_080640E8:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r2, r0, #1
|
||||
adds r1, r2, #4
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _0806410A
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x70
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
adds r1, #4
|
||||
adds r1, r2, r1
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_0806410A:
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x68
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806412C
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806412C:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _0806413E
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806413E:
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r4, r6]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6a
|
||||
movs r6, #0
|
||||
ldrsh r0, [r2, r6]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806415A
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806415A:
|
||||
cmp r1, r3
|
||||
bge _08064168
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064168:
|
||||
ldrh r0, [r5, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _0806417A
|
||||
ldr r1, _0806417C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_0806417A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806417C: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start sub_08064180
|
||||
sub_08064180: @ 0x08064180
|
||||
push {lr}
|
||||
movs r0, #7
|
||||
movs r1, #0x15
|
||||
movs r2, #7
|
||||
bl FindEntityByID
|
||||
cmp r0, #0
|
||||
beq _08064194
|
||||
bl DeleteEntity
|
||||
_08064194:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08064198
|
||||
sub_08064198: @ 0x08064198
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
ble _080641AE
|
||||
subs r0, r1, #1
|
||||
strb r0, [r4]
|
||||
_080641AE:
|
||||
ldr r0, _080641D8 @ =gPlayerEntity
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #2
|
||||
ble _080641C0
|
||||
movs r1, #2
|
||||
_080641C0:
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _080641CA
|
||||
adds r1, r0, #0
|
||||
_080641CA:
|
||||
adds r6, r4, #0
|
||||
cmp r1, #0
|
||||
beq _08064256
|
||||
cmp r1, #0
|
||||
ble _080641DC
|
||||
movs r0, #0x10
|
||||
b _080641DE
|
||||
.align 2, 0
|
||||
_080641D8: .4byte gPlayerEntity
|
||||
_080641DC:
|
||||
movs r0, #0
|
||||
_080641DE:
|
||||
strb r0, [r5, #0x15]
|
||||
cmp r1, #0
|
||||
bge _080641E6
|
||||
rsbs r1, r1, #0
|
||||
_080641E6:
|
||||
lsls r0, r1, #8
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #0x32
|
||||
ldrsh r4, [r5, r0]
|
||||
adds r0, r5, #0
|
||||
bl ProcessMovement
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x71
|
||||
cmp r4, r0
|
||||
beq _08064256
|
||||
ldr r0, _080642B0 @ =gPlayerEntity
|
||||
movs r2, #0x24
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _08064222
|
||||
ldr r0, _080642B4 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #6
|
||||
bl __modsi3
|
||||
cmp r0, #0
|
||||
bne _08064222
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_08064222:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
movs r0, #0xa
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r5, #0x15]
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, #4
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
adds r6, r4, #0
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _08064256
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_08064256:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _0806428C
|
||||
ldr r1, _080642B0 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _0806428C
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_0806428C:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806ED78
|
||||
movs r0, #0x36
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r0, _080642B0 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x36]
|
||||
strh r0, [r5, #0x36]
|
||||
cmp r4, #0
|
||||
bge _080642AC
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080642AC
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_080642AC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080642B0: .4byte gPlayerEntity
|
||||
_080642B4: .4byte gScreenTransition
|
||||
|
||||
thumb_func_start sub_080642B8
|
||||
sub_080642B8: @ 0x080642B8
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
ble _080642CE
|
||||
subs r0, r1, #1
|
||||
strb r0, [r4]
|
||||
_080642CE:
|
||||
ldr r0, _080642F8 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #2
|
||||
ble _080642E0
|
||||
movs r1, #2
|
||||
_080642E0:
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _080642EA
|
||||
adds r1, r0, #0
|
||||
_080642EA:
|
||||
adds r6, r4, #0
|
||||
cmp r1, #0
|
||||
beq _08064376
|
||||
cmp r1, #0
|
||||
ble _080642FC
|
||||
movs r0, #8
|
||||
b _080642FE
|
||||
.align 2, 0
|
||||
_080642F8: .4byte gPlayerEntity
|
||||
_080642FC:
|
||||
movs r0, #0x18
|
||||
_080642FE:
|
||||
strb r0, [r5, #0x15]
|
||||
cmp r1, #0
|
||||
bge _08064306
|
||||
rsbs r1, r1, #0
|
||||
_08064306:
|
||||
lsls r0, r1, #8
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #0x2e
|
||||
ldrsh r4, [r5, r0]
|
||||
adds r0, r5, #0
|
||||
bl ProcessMovement
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x71
|
||||
cmp r4, r0
|
||||
beq _08064376
|
||||
ldr r0, _080643D0 @ =gPlayerEntity
|
||||
movs r2, #0x24
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _08064342
|
||||
ldr r0, _080643D4 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #6
|
||||
bl __modsi3
|
||||
cmp r0, #0
|
||||
bne _08064342
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_08064342:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
movs r0, #0xa
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r5, #0x15]
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, #4
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
adds r6, r4, #0
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _08064376
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_08064376:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _080643AC
|
||||
ldr r1, _080643D0 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _080643AC
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_080643AC:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806ED78
|
||||
movs r0, #0x36
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r0, _080643D0 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x36]
|
||||
strh r0, [r5, #0x36]
|
||||
cmp r4, #0
|
||||
bge _080643CC
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080643CC
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_080643CC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080643D0: .4byte gPlayerEntity
|
||||
_080643D4: .4byte gScreenTransition
|
||||
|
||||
thumb_func_start sub_080643D8
|
||||
sub_080643D8: @ 0x080643D8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #2
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080643EA
|
||||
movs r3, #0
|
||||
b _08064406
|
||||
_080643EA:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _080643F8
|
||||
movs r3, #1
|
||||
b _08064406
|
||||
_080643F8:
|
||||
movs r0, #3
|
||||
bl GetInventoryValue
|
||||
movs r3, #3
|
||||
cmp r0, #0
|
||||
bne _08064406
|
||||
movs r3, #2
|
||||
_08064406:
|
||||
ldrb r1, [r4, #0xb]
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
ldr r2, _08064424 @ =gUnk_0810F6D4
|
||||
lsls r1, r3, #1
|
||||
lsls r0, r0, #3
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08064424: .4byte gUnk_0810F6D4
|
||||
|
||||
thumb_func_start sub_08064428
|
||||
sub_08064428: @ 0x08064428
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r0, _0806444C @ =gSave
|
||||
ldrb r0, [r0, #8]
|
||||
subs r1, r0, #2
|
||||
cmp r1, #0
|
||||
bge _08064438
|
||||
movs r1, #0
|
||||
_08064438:
|
||||
ldrb r2, [r3, #0xb]
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _08064454
|
||||
ldrb r0, [r3, #0xb]
|
||||
lsls r0, r0, #3
|
||||
ldr r1, _08064450 @ =gUnk_0810CF4C
|
||||
b _08064460
|
||||
.align 2, 0
|
||||
_0806444C: .4byte gSave
|
||||
_08064450: .4byte gUnk_0810CF4C
|
||||
_08064454:
|
||||
movs r0, #0x7f
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _0806446C @ =gUnk_0810D0A4
|
||||
adds r1, r1, r2
|
||||
_08064460:
|
||||
adds r1, r0, r1
|
||||
adds r0, r3, #0
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806446C: .4byte gUnk_0810D0A4
|
||||
|
||||
thumb_func_start sub_08064470
|
||||
sub_08064470: @ 0x08064470
|
||||
push {lr}
|
||||
ldr r0, _08064484 @ =gPlayerState
|
||||
adds r0, #0xab
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #1
|
||||
beq _0806447E
|
||||
movs r0, #0
|
||||
_0806447E:
|
||||
str r0, [r1, #0x14]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08064484: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_08064488
|
||||
sub_08064488: @ 0x08064488
|
||||
push {lr}
|
||||
ldr r1, _080644A0 @ =gPlayerState
|
||||
adds r0, r1, #0
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #2
|
||||
beq _0806449C
|
||||
adds r1, #0xab
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
_0806449C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_080644A0: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_080644A4
|
||||
sub_080644A4: @ 0x080644A4
|
||||
ldr r0, _080644B0 @ =gPlayerState
|
||||
adds r0, #0xab
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080644B0: .4byte gPlayerState
|
||||
|
||||
thumb_func_start sub_080644B4
|
||||
sub_080644B4: @ 0x080644B4
|
||||
push {lr}
|
||||
adds r2, r1, #0
|
||||
movs r3, #0
|
||||
ldrb r1, [r0, #0x14]
|
||||
ldr r0, [r2, #4]
|
||||
cmp r1, r0
|
||||
bne _080644C4
|
||||
movs r3, #1
|
||||
_080644C4:
|
||||
str r3, [r2, #0x14]
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_080644C8
|
||||
sub_080644C8: @ 0x080644C8
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r2, r1]
|
||||
ldr r3, _08064500 @ =gRoomControls
|
||||
movs r4, #0xa
|
||||
ldrsh r1, [r3, r4]
|
||||
subs r1, r0, r1
|
||||
adds r0, r1, #0
|
||||
adds r0, #8
|
||||
cmp r0, #0
|
||||
blt _08064504
|
||||
adds r0, r1, #0
|
||||
subs r0, #8
|
||||
cmp r0, #0xf0
|
||||
bgt _08064504
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r2, r0]
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r3, r2]
|
||||
subs r0, r1, r0
|
||||
cmp r0, #0
|
||||
blt _08064504
|
||||
subs r0, #0x18
|
||||
cmp r0, #0xa0
|
||||
bgt _08064504
|
||||
movs r0, #1
|
||||
b _08064506
|
||||
.align 2, 0
|
||||
_08064500: .4byte gRoomControls
|
||||
_08064504:
|
||||
movs r0, #0
|
||||
_08064506:
|
||||
pop {r4, pc}
|
||||
@@ -1,7 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
@@ -1,209 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start HurdyGurdyMan
|
||||
HurdyGurdyMan: @ 0x0806E308
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _0806E34C
|
||||
cmp r5, #1
|
||||
bgt _0806E31C
|
||||
cmp r5, #0
|
||||
beq _0806E322
|
||||
b _0806E3E0
|
||||
_0806E31C:
|
||||
cmp r5, #2
|
||||
beq _0806E3C6
|
||||
b _0806E3E0
|
||||
_0806E322:
|
||||
ldr r1, _0806E348 @ =gUnk_081144F0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806E3E0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
strb r5, [r0]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _0806E3E0
|
||||
.align 2, 0
|
||||
_0806E348: .4byte gUnk_081144F0
|
||||
_0806E34C:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _0806E3BC
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _0806E3B0 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
bl sub_08002632
|
||||
ldr r1, _0806E3B4 @ =gUnk_08001A7C
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r3, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0x32
|
||||
bne _0806E398
|
||||
adds r3, #6
|
||||
_0806E398:
|
||||
ldrh r1, [r3]
|
||||
ldrh r2, [r3, #2]
|
||||
ldrh r3, [r3, #4]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801DFB4
|
||||
ldr r0, _0806E3B8 @ =gPlayerState
|
||||
adds r0, #0x8b
|
||||
movs r1, #3
|
||||
strb r1, [r0]
|
||||
b _0806E3E0
|
||||
.align 2, 0
|
||||
_0806E3B0: .4byte gPlayerEntity
|
||||
_0806E3B4: .4byte gUnk_08001A7C
|
||||
_0806E3B8: .4byte gPlayerState
|
||||
_0806E3BC:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _0806E3E0
|
||||
_0806E3C6:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806E3E0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_0806E3E0:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start HurdyGurdyMan_Head
|
||||
HurdyGurdyMan_Head: @ 0x0806E3E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x81
|
||||
rsbs r0, r0, #0
|
||||
ands r2, r0
|
||||
adds r2, #8
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806E418
|
||||
sub_0806E418: @ 0x0806E418
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r0, _0806E438 @ =gSave
|
||||
ldrb r0, [r0, #8]
|
||||
subs r0, #2
|
||||
cmp r0, #0
|
||||
bge _0806E428
|
||||
movs r0, #0
|
||||
_0806E428:
|
||||
lsls r1, r0, #3
|
||||
ldr r0, _0806E43C @ =gUnk_081144FC
|
||||
adds r1, r1, r0
|
||||
adds r0, r2, #0
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806E438: .4byte gSave
|
||||
_0806E43C: .4byte gUnk_081144FC
|
||||
|
||||
thumb_func_start sub_0806E440
|
||||
sub_0806E440: @ 0x0806E440
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start HurdyGurdyMan_Fusion
|
||||
HurdyGurdyMan_Fusion: @ 0x0806E458
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806E498
|
||||
ldr r1, _0806E494 @ =gUnk_081144F0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806E49E
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0xa
|
||||
bl InitializeAnimation
|
||||
b _0806E49E
|
||||
.align 2, 0
|
||||
_0806E494: .4byte gUnk_081144F0
|
||||
_0806E498:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0806E49E:
|
||||
pop {r4, pc}
|
||||
@@ -1,255 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start KingDaltus
|
||||
KingDaltus: @ 0x080665E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08066638
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _0806661E
|
||||
movs r0, #0
|
||||
strb r0, [r2]
|
||||
strb r1, [r4, #0xc]
|
||||
ldr r1, _08066630 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
_0806661E:
|
||||
ldr r0, _08066634 @ =gUnk_081104EC
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
b _0806664E
|
||||
.align 2, 0
|
||||
_08066630: .4byte gPlayerEntity
|
||||
_08066634: .4byte gUnk_081104EC
|
||||
_08066638:
|
||||
ldr r0, _08066650 @ =gUnk_081104E0
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
_0806664E:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08066650: .4byte gUnk_081104E0
|
||||
|
||||
thumb_func_start sub_08066654
|
||||
sub_08066654: @ 0x08066654
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08066688
|
||||
sub_08066688: @ 0x08066688
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x28
|
||||
movs r2, #0x28
|
||||
bl sub_0806ED9C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bge _0806669E
|
||||
movs r1, #2
|
||||
b _080666B4
|
||||
_0806669E:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _080666AA
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0xf]
|
||||
b _080666B4
|
||||
_080666AA:
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
_080666B4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F078
|
||||
cmp r0, #0
|
||||
bne _080666C4
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_080666C4:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
beq _080666D8
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r2]
|
||||
_080666D8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080666DC
|
||||
sub_080666DC: @ 0x080666DC
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080666E4
|
||||
sub_080666E4: @ 0x080666E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806670C
|
||||
sub_0806670C: @ 0x0806670C
|
||||
push {lr}
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08066718
|
||||
sub_08066718: @ 0x08066718
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08066728
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_08066728:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806672C
|
||||
sub_0806672C: @ 0x0806672C
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
adds r1, #0x68
|
||||
ldrb r1, [r1]
|
||||
bl sub_08078784
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806673C
|
||||
sub_0806673C: @ 0x0806673C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #2
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _0806674E
|
||||
movs r1, #0
|
||||
b _0806676A
|
||||
_0806674E:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0806675C
|
||||
movs r1, #1
|
||||
b _0806676A
|
||||
_0806675C:
|
||||
movs r0, #3
|
||||
bl GetInventoryValue
|
||||
movs r1, #3
|
||||
cmp r0, #0
|
||||
bne _0806676A
|
||||
movs r1, #2
|
||||
_0806676A:
|
||||
ldr r0, _0806677C @ =gUnk_081104F8
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806677C: .4byte gUnk_081104F8
|
||||
|
||||
thumb_func_start KingDaltus_Fusion
|
||||
KingDaltus_Fusion: @ 0x08066780
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080667A6
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _080667AC
|
||||
_080667A6:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_080667AC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,259 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Librarians
|
||||
Librarians: @ 0x0806B9F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BA18
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
ldr r1, _0806BA30 @ =gUnk_08114F30
|
||||
ldrb r2, [r4, #0x19]
|
||||
lsrs r0, r2, #6
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #6
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
_0806BA18:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806BA30: .4byte gUnk_08114F30
|
||||
|
||||
thumb_func_start sub_0806BA34
|
||||
sub_0806BA34: @ 0x0806BA34
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
mov sb, r0
|
||||
adds r4, r1, #0
|
||||
ldr r0, _0806BA58 @ =0x00004912
|
||||
mov r8, r0
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x14]
|
||||
movs r0, #0x73
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0806BA60
|
||||
ldr r0, _0806BA5C @ =0x00004913
|
||||
mov r8, r0
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BA58: .4byte 0x00004912
|
||||
_0806BA5C: .4byte 0x00004913
|
||||
_0806BA60:
|
||||
movs r0, #0x39
|
||||
bl GetInventoryValue
|
||||
adds r7, r0, #0
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
adds r6, r0, #0
|
||||
movs r0, #0x3b
|
||||
bl GetInventoryValue
|
||||
adds r5, r0, #0
|
||||
cmp r7, #1
|
||||
bne _0806BA88
|
||||
ldr r0, _0806BA84 @ =0x00004906
|
||||
mov r8, r0
|
||||
str r7, [r4, #0x14]
|
||||
b _0806BAA2
|
||||
.align 2, 0
|
||||
_0806BA84: .4byte 0x00004906
|
||||
_0806BA88:
|
||||
cmp r6, #1
|
||||
bne _0806BA98
|
||||
ldr r0, _0806BA94 @ =0x00004907
|
||||
mov r8, r0
|
||||
str r6, [r4, #0x14]
|
||||
b _0806BAA2
|
||||
.align 2, 0
|
||||
_0806BA94: .4byte 0x00004907
|
||||
_0806BA98:
|
||||
cmp r5, #1
|
||||
bne _0806BAB4
|
||||
ldr r0, _0806BAB0 @ =0x00004908
|
||||
mov r8, r0
|
||||
str r5, [r4, #0x14]
|
||||
_0806BAA2:
|
||||
movs r0, #0x6b
|
||||
bl SetLocalFlag
|
||||
movs r0, #0x6a
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAB0: .4byte 0x00004908
|
||||
_0806BAB4:
|
||||
movs r0, #0x6a
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0806BB06
|
||||
movs r0, #0x6b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0806BAD0
|
||||
ldr r0, _0806BACC @ =0x00004901
|
||||
b _0806BAD6
|
||||
.align 2, 0
|
||||
_0806BACC: .4byte 0x00004901
|
||||
_0806BAD0:
|
||||
cmp r7, #0
|
||||
bne _0806BAE4
|
||||
ldr r0, _0806BAE0 @ =0x00004902
|
||||
_0806BAD6:
|
||||
mov r8, r0
|
||||
movs r0, #0x6b
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAE0: .4byte 0x00004902
|
||||
_0806BAE4:
|
||||
cmp r6, #0
|
||||
bne _0806BAF8
|
||||
ldr r0, _0806BAF4 @ =0x00004903
|
||||
mov r8, r0
|
||||
movs r0, #0x6d
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAF4: .4byte 0x00004903
|
||||
_0806BAF8:
|
||||
cmp r5, #0
|
||||
bne _0806BB06
|
||||
ldr r0, _0806BB18 @ =0x00004904
|
||||
mov r8, r0
|
||||
movs r0, #0x70
|
||||
bl SetLocalFlag
|
||||
_0806BB06:
|
||||
mov r0, r8
|
||||
mov r1, sb
|
||||
bl TextboxNoOverlap
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806BB18: .4byte 0x00004904
|
||||
|
||||
thumb_func_start sub_0806BB1C
|
||||
sub_0806BB1C: @ 0x0806BB1C
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
movs r4, #1
|
||||
rsbs r4, r4, #0
|
||||
movs r0, #0x39
|
||||
bl GetInventoryValue
|
||||
cmp r0, #1
|
||||
bne _0806BB34
|
||||
movs r4, #0x39
|
||||
b _0806BB52
|
||||
_0806BB34:
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
cmp r0, #1
|
||||
bne _0806BB42
|
||||
movs r4, #0x3a
|
||||
b _0806BB52
|
||||
_0806BB42:
|
||||
movs r0, #0x3b
|
||||
bl GetInventoryValue
|
||||
cmp r0, #1
|
||||
bne _0806BB4E
|
||||
movs r4, #0x3b
|
||||
_0806BB4E:
|
||||
cmp r4, #0
|
||||
ble _0806BB78
|
||||
_0806BB52:
|
||||
ldr r0, [r6, #4]
|
||||
cmp r0, #0
|
||||
bne _0806BB70
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl sub_08095BE0
|
||||
adds r0, r5, #0
|
||||
movs r1, #0xc
|
||||
bl InitializeAnimation
|
||||
movs r0, #0xcd
|
||||
bl SoundReq
|
||||
b _0806BB78
|
||||
_0806BB70:
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0807CAA0
|
||||
_0806BB78:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BB7C
|
||||
sub_0806BB7C: @ 0x0806BB7C
|
||||
push {r4, lr}
|
||||
adds r4, r1, #0
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x14]
|
||||
movs r0, #0x39
|
||||
bl GetInventoryValue
|
||||
cmp r0, #2
|
||||
bne _0806BBAC
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
cmp r0, #2
|
||||
bne _0806BBAC
|
||||
movs r0, #0x3b
|
||||
bl GetInventoryValue
|
||||
cmp r0, #2
|
||||
bne _0806BBAC
|
||||
movs r0, #0x73
|
||||
bl SetLocalFlag
|
||||
movs r0, #1
|
||||
str r0, [r4, #0x14]
|
||||
_0806BBAC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806BBB0
|
||||
sub_0806BBB0: @ 0x0806BBB0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #0x46
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0806BBCC
|
||||
movs r0, #0x29
|
||||
bl CheckGlobalFlag
|
||||
rsbs r1, r0, #0
|
||||
orrs r1, r0
|
||||
lsrs r1, r1, #0x1f
|
||||
b _0806BBCE
|
||||
_0806BBCC:
|
||||
movs r1, #2
|
||||
_0806BBCE:
|
||||
ldr r0, _0806BBE0 @ =gUnk_08113078
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806BBE0: .4byte gUnk_08113078
|
||||
-231
@@ -1,231 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Mama
|
||||
Mama: @ 0x0806C39C
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _0806C3E2
|
||||
cmp r5, #1
|
||||
bgt _0806C3B0
|
||||
cmp r5, #0
|
||||
beq _0806C3B6
|
||||
b _0806C450
|
||||
_0806C3B0:
|
||||
cmp r5, #2
|
||||
beq _0806C436
|
||||
b _0806C450
|
||||
_0806C3B6:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806C454
|
||||
cmp r0, #0
|
||||
beq _0806C450
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
ldrb r0, [r4, #0xe]
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
strb r5, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _0806C450
|
||||
_0806C3E2:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _0806C420
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _0806C41C @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _0806C450
|
||||
.align 2, 0
|
||||
_0806C41C: .4byte gPlayerEntity
|
||||
_0806C420:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
b _0806C450
|
||||
_0806C436:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806C450
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_0806C450:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806C454
|
||||
sub_0806C454: @ 0x0806C454
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _0806C470 @ =gUnk_08113754
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806C474
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
movs r0, #1
|
||||
b _0806C476
|
||||
.align 2, 0
|
||||
_0806C470: .4byte gUnk_08113754
|
||||
_0806C474:
|
||||
movs r0, #0
|
||||
_0806C476:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start Mama_Head
|
||||
Mama_Head: @ 0x0806C478
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0x7f
|
||||
ands r2, r0
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806C4A8
|
||||
sub_0806C4A8: @ 0x0806C4A8
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _0806C4D8
|
||||
adds r0, r4, #0
|
||||
bl GetAnimationState
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bge _0806C4CC
|
||||
movs r1, #3
|
||||
_0806C4CC:
|
||||
lsls r0, r1, #1
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
movs r0, #1
|
||||
_0806C4D8:
|
||||
str r0, [r5, #0x14]
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0806C4DC
|
||||
sub_0806C4DC: @ 0x0806C4DC
|
||||
push {lr}
|
||||
ldr r1, _0806C4F0 @ =gSave
|
||||
ldrb r1, [r1, #8]
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _0806C4F4 @ =gUnk_08113760
|
||||
adds r1, r1, r2
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806C4F0: .4byte gSave
|
||||
_0806C4F4: .4byte gUnk_08113760
|
||||
|
||||
thumb_func_start sub_0806C4F8
|
||||
sub_0806C4F8: @ 0x0806C4F8
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start Mama_Fusion
|
||||
Mama_Fusion: @ 0x0806C510
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806C548
|
||||
adds r0, r4, #0
|
||||
bl sub_0806C454
|
||||
cmp r0, #0
|
||||
beq _0806C54E
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
ldrh r0, [r4, #0x32]
|
||||
subs r0, #4
|
||||
strh r0, [r4, #0x32]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
b _0806C54E
|
||||
_0806C548:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0806C54E:
|
||||
pop {r4, pc}
|
||||
-158
@@ -1,158 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Marcy
|
||||
Marcy: @ 0x08062CF0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08062D0C
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_08062D0C:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08062D18
|
||||
sub_08062D18: @ 0x08062D18
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r6, r1, #0
|
||||
movs r4, #0
|
||||
movs r0, #0x4f
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062D36
|
||||
movs r0, #0x26
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062D36
|
||||
movs r4, #7
|
||||
_08062D36:
|
||||
movs r0, #0x4e
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062D4C
|
||||
movs r0, #0x25
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062D4C
|
||||
movs r4, #6
|
||||
_08062D4C:
|
||||
movs r0, #0x4d
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062D62
|
||||
movs r0, #0x24
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062D62
|
||||
movs r4, #5
|
||||
_08062D62:
|
||||
movs r0, #0x4c
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062D78
|
||||
movs r0, #0x23
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062D78
|
||||
movs r4, #4
|
||||
_08062D78:
|
||||
movs r0, #0x4b
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062D8E
|
||||
movs r0, #0x22
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062D8E
|
||||
movs r4, #3
|
||||
_08062D8E:
|
||||
movs r0, #0x4a
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062DA4
|
||||
movs r0, #0x21
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062DA4
|
||||
movs r4, #2
|
||||
_08062DA4:
|
||||
movs r0, #0x49
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _08062DBA
|
||||
movs r0, #0x20
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _08062DBA
|
||||
movs r4, #1
|
||||
_08062DBA:
|
||||
strb r4, [r5, #0xb]
|
||||
movs r4, #0
|
||||
ldr r0, _08062DCC @ =0x00001C1F
|
||||
bl CheckFlags
|
||||
cmp r0, #0
|
||||
beq _08062DD0
|
||||
movs r4, #1
|
||||
b _08062DF0
|
||||
.align 2, 0
|
||||
_08062DCC: .4byte 0x00001C1F
|
||||
_08062DD0:
|
||||
movs r0, #0x8c
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _08062DE4
|
||||
movs r4, #2
|
||||
movs r0, #0x8c
|
||||
bl ClearLocalFlag
|
||||
b _08062DF0
|
||||
_08062DE4:
|
||||
movs r0, #0x8b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _08062DF0
|
||||
movs r4, #3
|
||||
_08062DF0:
|
||||
ldr r0, _08062E08 @ =gUnk_0810C34C
|
||||
lsls r1, r4, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r5, #0
|
||||
bl TextboxNoOverlap
|
||||
cmp r4, #0
|
||||
bne _08062E0C
|
||||
movs r0, #1
|
||||
b _08062E0E
|
||||
.align 2, 0
|
||||
_08062E08: .4byte gUnk_0810C34C
|
||||
_08062E0C:
|
||||
movs r0, #0
|
||||
_08062E0E:
|
||||
str r0, [r6, #0x14]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08062E14
|
||||
sub_08062E14: @ 0x08062E14
|
||||
push {lr}
|
||||
movs r0, #0x8b
|
||||
bl SetLocalFlag
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,251 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start MinisterPotho
|
||||
MinisterPotho: @ 0x080667B0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080667C6
|
||||
adds r0, r4, #0
|
||||
bl sub_08066864
|
||||
b _080667DC
|
||||
_080667C6:
|
||||
ldr r0, _080667E0 @ =gUnk_08110644
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
_080667DC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080667E0: .4byte gUnk_08110644
|
||||
|
||||
thumb_func_start sub_080667E4
|
||||
sub_080667E4: @ 0x080667E4
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_08078778
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08066808
|
||||
sub_08066808: @ 0x08066808
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x28
|
||||
movs r2, #0x28
|
||||
bl sub_0806ED9C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bge _0806681E
|
||||
movs r1, #2
|
||||
b _08066834
|
||||
_0806681E:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _0806682A
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0xf]
|
||||
b _08066834
|
||||
_0806682A:
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
_08066834:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F078
|
||||
cmp r0, #0
|
||||
bne _08066844
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_08066844:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
beq _08066858
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r2]
|
||||
_08066858:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806685C
|
||||
sub_0806685C: @ 0x0806685C
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08066864
|
||||
sub_08066864: @ 0x08066864
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _080668A2
|
||||
cmp r0, #1
|
||||
bgt _08066878
|
||||
cmp r0, #0
|
||||
beq _0806687E
|
||||
b _080668EC
|
||||
_08066878:
|
||||
cmp r0, #2
|
||||
beq _080668DE
|
||||
b _080668EC
|
||||
_0806687E:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _080668EC
|
||||
_080668A2:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _080668D4
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
ldr r1, _080668D0 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _080668EC
|
||||
.align 2, 0
|
||||
_080668D0: .4byte gPlayerEntity
|
||||
_080668D4:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _080668EC
|
||||
_080668DE:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _080668EC
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080668EC:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_080668F0
|
||||
sub_080668F0: @ 0x080668F0
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08066904
|
||||
sub_08066904: @ 0x08066904
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #2
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _08066916
|
||||
movs r1, #0
|
||||
b _08066932
|
||||
_08066916:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _08066924
|
||||
movs r1, #1
|
||||
b _08066932
|
||||
_08066924:
|
||||
movs r0, #3
|
||||
bl GetInventoryValue
|
||||
movs r1, #3
|
||||
cmp r0, #0
|
||||
bne _08066932
|
||||
movs r1, #2
|
||||
_08066932:
|
||||
ldr r0, _08066944 @ =gUnk_08110650
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08066944: .4byte gUnk_08110650
|
||||
|
||||
thumb_func_start MinisterPotho_Fusion
|
||||
MinisterPotho_Fusion: @ 0x08066948
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806696E
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _08066974
|
||||
_0806696E:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_08066974:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,587 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start MountainMinish
|
||||
MountainMinish: @ 0x08067E2C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08067E58
|
||||
ldr r0, _08067E54 @ =gUnk_08111368
|
||||
ldrb r1, [r4, #0xc]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
b _08067E5E
|
||||
.align 2, 0
|
||||
_08067E54: .4byte gUnk_08111368
|
||||
_08067E58:
|
||||
adds r0, r4, #0
|
||||
bl sub_08067EF0
|
||||
_08067E5E:
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_08067E60
|
||||
sub_08067E60: @ 0x08067E60
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldr r1, _08067E84 @ =gUnk_08111358
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _08067E80
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078778
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
_08067E80:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08067E84: .4byte gUnk_08111358
|
||||
|
||||
thumb_func_start sub_08067E88
|
||||
sub_08067E88: @ 0x08067E88
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x28
|
||||
movs r2, #0x28
|
||||
bl sub_0806ED9C
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bge _08067E9E
|
||||
movs r1, #2
|
||||
b _08067EB4
|
||||
_08067E9E:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _08067EAA
|
||||
movs r0, #0x10
|
||||
strb r0, [r4, #0xf]
|
||||
b _08067EB4
|
||||
_08067EAA:
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
_08067EB4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F078
|
||||
cmp r0, #0
|
||||
bne _08067EC4
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_08067EC4:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08067EE4
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
movs r1, #0x90
|
||||
lsls r1, r1, #5
|
||||
adds r0, r0, r1
|
||||
bl TextboxNoOverlapFollow
|
||||
_08067EE4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08067EE8
|
||||
sub_08067EE8: @ 0x08067EE8
|
||||
movs r1, #1
|
||||
strb r1, [r0, #0xc]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08067EF0
|
||||
sub_08067EF0: @ 0x08067EF0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xc]
|
||||
cmp r4, #1
|
||||
beq _08067F58
|
||||
cmp r4, #1
|
||||
bgt _08067F04
|
||||
cmp r4, #0
|
||||
beq _08067F10
|
||||
b _0806801A
|
||||
_08067F04:
|
||||
cmp r4, #2
|
||||
beq _08067FDC
|
||||
cmp r4, #3
|
||||
bne _08067F0E
|
||||
b _08068000
|
||||
_08067F0E:
|
||||
b _0806801A
|
||||
_08067F10:
|
||||
ldr r1, _08067F50 @ =gUnk_08111358
|
||||
adds r0, r5, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
bne _08067F1E
|
||||
b _080680F0
|
||||
_08067F1E:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r5, #0x18]
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r5, #0x14]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD50
|
||||
ldr r1, _08067F54 @ =gUnk_08111304
|
||||
ldrb r0, [r5, #0xb]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
b _08067FF2
|
||||
.align 2, 0
|
||||
_08067F50: .4byte gUnk_08111358
|
||||
_08067F54: .4byte gUnk_08111304
|
||||
_08067F58:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #2
|
||||
bne _08067F98
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
strb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _08067F94 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F118
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067F94: .4byte gPlayerEntity
|
||||
_08067F98:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r5, #0
|
||||
bl HandleEntity0x82Actions
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #3
|
||||
bne _0806801A
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
beq _0806801A
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
strb r1, [r4]
|
||||
ldr r1, _08067FD8 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r5, #0
|
||||
bl sub_08068190
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067FD8: .4byte gPlayerEntity
|
||||
_08067FDC:
|
||||
ldr r0, _08067FFC @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0806801A
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x14]
|
||||
lsrs r1, r1, #1
|
||||
adds r1, #4
|
||||
_08067FF2:
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067FFC: .4byte gTextBox
|
||||
_08068000:
|
||||
adds r0, r5, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806801A
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_0806801A:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x59
|
||||
ldrb r1, [r0]
|
||||
adds r7, r0, #0
|
||||
cmp r1, #0xff
|
||||
beq _0806802C
|
||||
adds r0, r5, #0
|
||||
bl GetNextFrame
|
||||
_0806802C:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x5b
|
||||
ldrb r2, [r1]
|
||||
movs r0, #1
|
||||
ands r0, r2
|
||||
adds r6, r1, #0
|
||||
cmp r0, #0
|
||||
beq _0806807E
|
||||
movs r0, #0xfe
|
||||
ands r0, r2
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
bl sub_080040A8
|
||||
cmp r0, #0
|
||||
bne _08068068
|
||||
ldr r4, _08068064 @ =gUnk_0811137A
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
ldrh r0, [r0]
|
||||
bl SoundReq
|
||||
b _0806807E
|
||||
.align 2, 0
|
||||
_08068064: .4byte gUnk_0811137A
|
||||
_08068068:
|
||||
ldr r4, _080680F4 @ =gUnk_08111374
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
ldrh r0, [r0]
|
||||
bl EnqueueSFX
|
||||
_0806807E:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680A8
|
||||
movs r0, #0xfd
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080680A8
|
||||
ldr r3, _080680F8 @ =0xFFE80000
|
||||
adds r0, r5, #0
|
||||
movs r2, #0
|
||||
bl PositionRelative
|
||||
_080680A8:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680D2
|
||||
movs r0, #0xfb
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x3d
|
||||
movs r2, #0x20
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080680D2
|
||||
ldr r2, _080680FC @ =0xFFEC0000
|
||||
ldr r3, _08068100 @ =0xFFF60000
|
||||
adds r0, r5, #0
|
||||
bl PositionRelative
|
||||
_080680D2:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680F0
|
||||
movs r0, #0xf7
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
ldrb r1, [r7]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r7]
|
||||
_080680F0:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080680F4: .4byte gUnk_08111374
|
||||
_080680F8: .4byte 0xFFE80000
|
||||
_080680FC: .4byte 0xFFEC0000
|
||||
_08068100: .4byte 0xFFF60000
|
||||
|
||||
thumb_func_start sub_08068104
|
||||
sub_08068104: @ 0x08068104
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x68
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08078784
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_0806811C
|
||||
sub_0806811C: @ 0x0806811C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r7, r0, #0
|
||||
cmp r7, #0
|
||||
beq _0806812E
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
b _0806818A
|
||||
_0806812E:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806EDD8
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bge _08068148
|
||||
ldrb r0, [r4, #0xa]
|
||||
strb r0, [r4, #0x14]
|
||||
lsls r3, r0, #2
|
||||
_08068148:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
lsls r0, r0, #5
|
||||
asrs r1, r3, #1
|
||||
lsls r1, r1, #1
|
||||
ldr r2, _0806818C @ =gUnk_08111284
|
||||
adds r1, r1, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r6, [r0]
|
||||
ldrb r5, [r0, #1]
|
||||
movs r0, #0x80
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806816C
|
||||
adds r0, r3, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
_0806816C:
|
||||
movs r0, #0x40
|
||||
orrs r6, r0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
strb r6, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r5, r0
|
||||
strb r5, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
strb r7, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x59
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
_0806818A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806818C: .4byte gUnk_08111284
|
||||
|
||||
thumb_func_start sub_08068190
|
||||
sub_08068190: @ 0x08068190
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldrb r5, [r6, #0xb]
|
||||
cmp r5, #8
|
||||
bls _0806819C
|
||||
movs r5, #8
|
||||
_0806819C:
|
||||
movs r0, #0x7e
|
||||
bl CheckLocalFlag
|
||||
rsbs r1, r0, #0
|
||||
orrs r1, r0
|
||||
lsrs r4, r1, #0x1f
|
||||
movs r0, #0x41
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080681B4
|
||||
movs r4, #2
|
||||
_080681B4:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080681C0
|
||||
movs r4, #3
|
||||
_080681C0:
|
||||
ldr r2, _080681D4 @ =gUnk_0811130E
|
||||
lsls r0, r4, #1
|
||||
lsls r1, r5, #3
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, r6, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080681D4: .4byte gUnk_0811130E
|
||||
|
||||
thumb_func_start sub_080681D8
|
||||
sub_080681D8: @ 0x080681D8
|
||||
ldr r1, [r1, #4]
|
||||
strb r1, [r0, #0xa]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start MountainMinish_Head
|
||||
MountainMinish_Head: @ 0x080681E0
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r4, [r0]
|
||||
movs r0, #0x81
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
ldrb r2, [r5, #0x1e]
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
movs r0, #0x40
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _08068226
|
||||
movs r0, #0xe1
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
adds r2, r4, #4
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
b _08068268
|
||||
_08068226:
|
||||
movs r0, #0x20
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _08068254
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
movs r0, #0xe1
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #2
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
b _08068268
|
||||
_08068254:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
_08068268:
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start MountainMinish_Fusion
|
||||
MountainMinish_Fusion: @ 0x08068270
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080682A8
|
||||
ldr r1, _080682A4 @ =gUnk_08111358
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _080682AE
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
movs r1, #6
|
||||
bl InitializeAnimation
|
||||
b _080682AE
|
||||
.align 2, 0
|
||||
_080682A4: .4byte gUnk_08111358
|
||||
_080682A8:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_080682AE:
|
||||
pop {r4, pc}
|
||||
-139
@@ -1,139 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start Nayru
|
||||
Nayru: @ 0x08064890
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _080648C2
|
||||
cmp r0, #1
|
||||
bgt _080648A4
|
||||
cmp r0, #0
|
||||
beq _080648AA
|
||||
b _08064924
|
||||
_080648A4:
|
||||
cmp r0, #2
|
||||
beq _0806490A
|
||||
b _08064924
|
||||
_080648AA:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _08064924
|
||||
_080648C2:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _08064900
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r1, [r0]
|
||||
adds r0, #0x10
|
||||
strb r1, [r0]
|
||||
ldr r1, _080648FC @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
b _08064924
|
||||
.align 2, 0
|
||||
_080648FC: .4byte gPlayerEntity
|
||||
_08064900:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _08064924
|
||||
_0806490A:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08064924
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_08064924:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_08064928
|
||||
sub_08064928: @ 0x08064928
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_0801E99C
|
||||
adds r5, r0, #0
|
||||
ldr r6, _08064958 @ =gSave
|
||||
adds r0, r4, #0
|
||||
bl sub_08002632
|
||||
ldr r2, _0806495C @ =0x00000141
|
||||
adds r1, r6, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0806494E
|
||||
ldrb r0, [r6, #8]
|
||||
cmp r0, #6
|
||||
bhi _0806494E
|
||||
movs r5, #0
|
||||
_0806494E:
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl sub_08078784
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08064958: .4byte gSave
|
||||
_0806495C: .4byte 0x00000141
|
||||
|
||||
thumb_func_start Nayru_Fusion
|
||||
Nayru_Fusion: @ 0x08064960
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08064986
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #6
|
||||
bl InitAnimationForceUpdate
|
||||
b _0806498C
|
||||
_08064986:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_0806498C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
@@ -1,5 +1,4 @@
|
||||
.syntax unified
|
||||
CreateItemDrop: @ 0x08054754
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
adds r4, r1, #0
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
ForceEquipItem: @ 0x08054414
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
subs r0, r4, #1
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_0806D164
|
||||
ldr r2, _0806D0A8 @ =gScreen
|
||||
ldrh r1, [r2]
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #7
|
||||
adds r0, r3, #0
|
||||
orrs r0, r1
|
||||
strh r0, [r2]
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x60
|
||||
ldr r0, _0806D0AC @ =0x00003F3F
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
movs r0, #0x3d
|
||||
strh r0, [r1]
|
||||
movs r1, #0x16
|
||||
ldrsh r0, [r2, r1]
|
||||
rsbs r0, r0, #0
|
||||
movs r3, #0x80
|
||||
lsls r3, r3, #1
|
||||
adds r1, r0, r3
|
||||
cmp r0, #0
|
||||
bge _0806D060
|
||||
movs r0, #0
|
||||
_0806D060:
|
||||
cmp r0, #0xf0
|
||||
ble _0806D066
|
||||
movs r0, #0xf0
|
||||
_0806D066:
|
||||
cmp r1, #0
|
||||
bge _0806D06C
|
||||
movs r1, #0
|
||||
_0806D06C:
|
||||
cmp r1, #0xf0
|
||||
ble _0806D072
|
||||
movs r1, #0xf0
|
||||
_0806D072:
|
||||
lsls r0, r0, #8
|
||||
orrs r0, r1
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x5a
|
||||
strh r0, [r1]
|
||||
movs r1, #0x18
|
||||
ldrsh r0, [r2, r1]
|
||||
rsbs r0, r0, #0
|
||||
adds r1, r0, r3
|
||||
cmp r0, #0
|
||||
bge _0806D08A
|
||||
movs r0, #0
|
||||
_0806D08A:
|
||||
cmp r0, #0xa0
|
||||
ble _0806D090
|
||||
movs r0, #0xa0
|
||||
_0806D090:
|
||||
cmp r1, #0
|
||||
bge _0806D096
|
||||
movs r1, #0
|
||||
_0806D096:
|
||||
cmp r1, #0xa0
|
||||
ble _0806D09C
|
||||
movs r1, #0xa0
|
||||
_0806D09C:
|
||||
lsls r0, r0, #8
|
||||
orrs r0, r1
|
||||
adds r1, r2, #0
|
||||
adds r1, #0x5e
|
||||
strh r0, [r1]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806D0A8: .4byte gScreen
|
||||
_0806D0AC: .4byte 0x00003F3F
|
||||
.syntax divided
|
||||
@@ -0,0 +1,23 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r3, r0, #0
|
||||
movs r4, #0
|
||||
ldr r2, _0806D15C @ =0x040000D4
|
||||
ldr r6, _0806D160 @ =0x80000020
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #1
|
||||
_0806D146:
|
||||
str r3, [r2]
|
||||
str r1, [r2, #4]
|
||||
str r6, [r2, #8]
|
||||
ldr r0, [r2, #8]
|
||||
adds r4, #1
|
||||
adds r3, #0x40
|
||||
adds r1, r1, r5
|
||||
cmp r4, #0x1f
|
||||
bls _0806D146
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806D15C: .4byte 0x040000D4
|
||||
_0806D160: .4byte 0x80000020
|
||||
.syntax divided
|
||||
@@ -0,0 +1,52 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
ldr r5, _0806D1B8 @ =gRoomControls
|
||||
movs r1, #0xa
|
||||
ldrsh r2, [r5, r1]
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r0, r3]
|
||||
subs r2, r2, r1
|
||||
adds r2, #0xa0
|
||||
ldr r4, _0806D1BC @ =gScreen
|
||||
movs r3, #0xf
|
||||
adds r1, r2, #0
|
||||
ands r1, r3
|
||||
strh r1, [r4, #0x16]
|
||||
ldrh r1, [r5, #0xc]
|
||||
ldrh r0, [r0, #0x32]
|
||||
subs r1, r1, r0
|
||||
adds r1, #0xb0
|
||||
strh r1, [r4, #0x18]
|
||||
ldr r3, _0806D1C0 @ =gUnk_02006F00
|
||||
ldr r0, _0806D1C4 @ =0xFFFFC000
|
||||
adds r6, r3, r0
|
||||
movs r5, #0x20
|
||||
lsrs r2, r2, #4
|
||||
lsls r2, r2, #2
|
||||
adds r3, r2, r3
|
||||
adds r7, r4, #0
|
||||
ldr r1, _0806D1C8 @ =0x040000D4
|
||||
ldr r4, _0806D1CC @ =0x80000020
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #1
|
||||
_0806D1A0:
|
||||
str r3, [r1]
|
||||
str r6, [r1, #4]
|
||||
str r4, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
adds r3, r3, r2
|
||||
adds r6, #0x40
|
||||
subs r5, #1
|
||||
cmp r5, #0
|
||||
bne _0806D1A0
|
||||
movs r0, #1
|
||||
strh r0, [r7, #0x1a]
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806D1B8: .4byte gRoomControls
|
||||
_0806D1BC: .4byte gScreen
|
||||
_0806D1C0: .4byte gUnk_02006F00
|
||||
_0806D1C4: .4byte 0xFFFFC000
|
||||
_0806D1C8: .4byte 0x040000D4
|
||||
_0806D1CC: .4byte 0x80000020
|
||||
.syntax divided
|
||||
@@ -0,0 +1,87 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #0
|
||||
bne _0806D21A
|
||||
bl sub_0806D00C
|
||||
cmp r0, #0
|
||||
bne _0806D1E6
|
||||
bl DeleteThisEntity
|
||||
_0806D1E6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0x1b]
|
||||
movs r1, #0xc0
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0x19]
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r0, [r2]
|
||||
movs r1, #7
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
strb r5, [r4, #0x1e]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
_0806D21A:
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #1
|
||||
beq _0806D25A
|
||||
cmp r0, #1
|
||||
ble _0806D228
|
||||
cmp r0, #2
|
||||
beq _0806D25E
|
||||
_0806D228:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r5, #0xff
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0806D24A
|
||||
bl Random
|
||||
movs r1, #0x7f
|
||||
ands r0, r1
|
||||
adds r0, #0x30
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0x1e]
|
||||
_0806D24A:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _0806D268
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
bne _0806D268
|
||||
_0806D25A:
|
||||
strb r0, [r4, #0x1e]
|
||||
b _0806D268
|
||||
_0806D25E:
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_0806D268:
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrh r1, [r0, #0x2e]
|
||||
strh r1, [r4, #0x2e]
|
||||
ldrh r0, [r0, #0x32]
|
||||
strh r0, [r4, #0x32]
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,96 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r3, r1, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806D540
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldr r0, _0806D5B0 @ =gUnk_08114100
|
||||
adds r0, r3, r0
|
||||
ldrb r0, [r0]
|
||||
adds r0, #6
|
||||
strb r0, [r4, #0xf]
|
||||
strb r0, [r4, #0x1e]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
_0806D540:
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrh r1, [r0, #0x2e]
|
||||
strh r1, [r4, #0x2e]
|
||||
ldrh r1, [r0, #0x32]
|
||||
strh r1, [r4, #0x32]
|
||||
adds r0, #0x62
|
||||
ldrb r0, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x62
|
||||
strb r0, [r1]
|
||||
ldr r0, [r4, #0x50]
|
||||
adds r0, #0x63
|
||||
ldrb r0, [r0]
|
||||
adds r1, #1
|
||||
strb r0, [r1]
|
||||
ldr r0, [r4, #0x50]
|
||||
ldrb r1, [r0, #0x1b]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r4, #0x1b]
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1b]
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806D590
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
lsls r1, r3, #4
|
||||
subs r0, r0, r1
|
||||
adds r0, #0xc
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r2, #0x18
|
||||
movs r3, #0x40
|
||||
bl CheckPlayerProximity
|
||||
cmp r0, #0
|
||||
beq _0806D5B4
|
||||
_0806D590:
|
||||
ldrb r1, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r0, #2
|
||||
cmp r1, r0
|
||||
bge _0806D5D0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0806D5D0
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
ldrb r0, [r4, #0x1e]
|
||||
adds r0, #1
|
||||
b _0806D5CE
|
||||
.align 2, 0
|
||||
_0806D5B0: .4byte gUnk_08114100
|
||||
_0806D5B4:
|
||||
ldrb r1, [r4, #0x1e]
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r1, r0
|
||||
bls _0806D5D0
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0806D5D0
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xe]
|
||||
subs r0, r1, #1
|
||||
_0806D5CE:
|
||||
strb r0, [r4, #0x1e]
|
||||
_0806D5D0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,21 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
bl sub_08053500
|
||||
movs r0, #0xd
|
||||
bl IsItemEquipped
|
||||
adds r1, r0, #0
|
||||
cmp r1, #2
|
||||
beq _0806D5F0
|
||||
ldr r0, _0806D5FC @ =gSave
|
||||
adds r0, #0xb4
|
||||
adds r0, r1, r0
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
_0806D5F0:
|
||||
movs r0, #0xd
|
||||
movs r1, #0
|
||||
bl sub_0807CAA0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806D5FC: .4byte gSave
|
||||
.syntax divided
|
||||
@@ -0,0 +1,46 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
ldr r4, _0806D6CC @ =gUnk_08114104
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
movs r1, #1
|
||||
rsbs r1, r1, #0
|
||||
cmp r0, r1
|
||||
beq _0806D6CA
|
||||
adds r6, r1, #0
|
||||
_0806D690:
|
||||
movs r1, #0
|
||||
ldrsb r1, [r4, r1]
|
||||
adds r0, r5, #0
|
||||
movs r2, #0x40
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _0806D6C0
|
||||
movs r0, #1
|
||||
ldrsb r0, [r4, r0]
|
||||
ldrh r2, [r1, #0x2e]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x2e]
|
||||
movs r0, #2
|
||||
ldrsb r0, [r4, r0]
|
||||
ldrh r2, [r1, #0x32]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r1, #0x32]
|
||||
ldrb r0, [r4, #3]
|
||||
strb r0, [r1, #0x15]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r1, #0x24]
|
||||
_0806D6C0:
|
||||
adds r4, #4
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, r6
|
||||
bne _0806D690
|
||||
_0806D6CA:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806D6CC: .4byte gUnk_08114104
|
||||
.syntax divided
|
||||
@@ -0,0 +1,64 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806ED9C
|
||||
cmp r0, #0
|
||||
blt _080635B2
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _080635B8
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _080635B2
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_080635B2:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _080635D0
|
||||
_080635B8:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080635D0
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
_080635D0:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x39
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _080635FC
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl GetAnimationState
|
||||
adds r1, r0, #0
|
||||
adds r1, #4
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
ldrb r0, [r4, #0xe]
|
||||
ldr r1, _08063604 @ =0x00000A01
|
||||
adds r0, r0, r1
|
||||
bl TextboxNoOverlapFollow
|
||||
_080635FC:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08063604: .4byte 0x00000A01
|
||||
.syntax divided
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
sub_08081E6C: @ 0x08081E6C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x74
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _080645EA
|
||||
cmp r5, #1
|
||||
bgt _08064584
|
||||
cmp r5, #0
|
||||
beq _0806458A
|
||||
b _0806463C
|
||||
_08064584:
|
||||
cmp r5, #2
|
||||
beq _0806462C
|
||||
b _0806463C
|
||||
_0806458A:
|
||||
ldrb r1, [r4, #9]
|
||||
movs r0, #0x16
|
||||
eors r1, r0
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _080645D0 @ =gUnk_0810F874
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r5, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805ACC0
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
bne _080645D4
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
b _080645E0
|
||||
.align 2, 0
|
||||
_080645D0: .4byte gUnk_0810F874
|
||||
_080645D4:
|
||||
lsrs r1, r2, #0x10
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
adds r0, #2
|
||||
strh r2, [r0]
|
||||
_080645E0:
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x68]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
_080645EA:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
movs r1, #0
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r2]
|
||||
ldr r1, _08064628 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldr r0, [r4, #0x68]
|
||||
cmp r0, #0
|
||||
beq _0806463C
|
||||
bl _call_via_r0
|
||||
b _0806463C
|
||||
.align 2, 0
|
||||
_08064628: .4byte gPlayerEntity
|
||||
_0806462C:
|
||||
ldr r0, _08064640 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0806463C
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_0806463C:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08064640: .4byte gTextBox
|
||||
.syntax divided
|
||||
@@ -0,0 +1,127 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _08064710
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r5, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _080646EC
|
||||
cmp r0, #8
|
||||
bgt _080646DA
|
||||
cmp r0, #0
|
||||
beq _080646E4
|
||||
b _08064702
|
||||
_080646DA:
|
||||
cmp r0, #0x10
|
||||
beq _080646F4
|
||||
cmp r0, #0x18
|
||||
beq _080646FC
|
||||
b _08064702
|
||||
_080646E4:
|
||||
cmp r1, #0x10
|
||||
bne _08064702
|
||||
movs r1, #8
|
||||
b _08064702
|
||||
_080646EC:
|
||||
cmp r1, #0x18
|
||||
bne _08064702
|
||||
movs r1, #0x10
|
||||
b _08064702
|
||||
_080646F4:
|
||||
cmp r1, #0
|
||||
bne _08064702
|
||||
movs r1, #0x18
|
||||
b _08064702
|
||||
_080646FC:
|
||||
cmp r1, #8
|
||||
bne _08064702
|
||||
movs r1, #0
|
||||
_08064702:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_08064710:
|
||||
ldr r0, [r5, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r5, #8]
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6c
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806473A
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806473A:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _0806474C
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806474C:
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r4, r6]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6e
|
||||
movs r6, #0
|
||||
ldrsh r0, [r2, r6]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _08064768
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064768:
|
||||
cmp r1, r3
|
||||
bge _08064776
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064776:
|
||||
ldrh r0, [r5, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _08064788
|
||||
ldr r1, _0806478C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08064788:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806478C: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,131 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r0, #0
|
||||
ldr r5, _080676D0 @ =gUnk_08110E78
|
||||
ldrb r0, [r4, #0xd]
|
||||
lsls r0, r0, #2
|
||||
adds r7, r0, #0
|
||||
subs r7, #0xc
|
||||
movs r0, #0x3f
|
||||
mov r8, r0
|
||||
movs r6, #8
|
||||
_080675EC:
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _08067646
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x32]
|
||||
strh r7, [r3, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldrb r1, [r4, #0x1b]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x1b]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1b]
|
||||
ldrb r1, [r4, #0x19]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x19]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl ResolveEntityOnTop
|
||||
_08067646:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
cmp r6, #0
|
||||
bge _080675EC
|
||||
ldr r5, _080676D4 @ =gUnk_08110E8A
|
||||
movs r0, #0x3f
|
||||
mov r8, r0
|
||||
movs r6, #3
|
||||
_08067656:
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
beq _080676B0
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x2e]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x2e]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r5, r0]
|
||||
ldrh r1, [r3, #0x32]
|
||||
adds r0, r0, r1
|
||||
strh r0, [r3, #0x32]
|
||||
strh r7, [r3, #0x36]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldrb r1, [r4, #0x1b]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x1b]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x1b]
|
||||
ldrb r1, [r4, #0x19]
|
||||
lsrs r1, r1, #6
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r3, #0x19]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #0x19]
|
||||
adds r0, r4, #0
|
||||
adds r1, r3, #0
|
||||
bl ResolveEntityOnTop
|
||||
_080676B0:
|
||||
subs r6, #1
|
||||
adds r5, #2
|
||||
cmp r6, #0
|
||||
bge _08067656
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #2
|
||||
bls _080676C8
|
||||
ldrb r1, [r4, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
_080676C8:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080676D0: .4byte gUnk_08110E78
|
||||
_080676D4: .4byte gUnk_08110E8A
|
||||
.syntax divided
|
||||
@@ -0,0 +1,63 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
adds r2, r1, #0
|
||||
ldrb r0, [r2, #0x18]
|
||||
cmp r0, #1
|
||||
beq _08067706
|
||||
cmp r0, #1
|
||||
bgt _080676F6
|
||||
cmp r0, #0
|
||||
beq _080676FC
|
||||
b _08067734
|
||||
_080676F6:
|
||||
cmp r0, #2
|
||||
beq _08067722
|
||||
b _08067734
|
||||
_080676FC:
|
||||
movs r0, #1
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x20
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067706:
|
||||
ldrb r1, [r2, #0x19]
|
||||
lsrs r0, r1, #1
|
||||
subs r0, #0x10
|
||||
strh r0, [r3, #0x36]
|
||||
subs r1, #1
|
||||
strb r1, [r2, #0x19]
|
||||
lsls r1, r1, #0x18
|
||||
cmp r1, #0
|
||||
bne _08067742
|
||||
movs r0, #2
|
||||
strb r0, [r2, #0x18]
|
||||
movs r0, #0x24
|
||||
strb r0, [r2, #0x19]
|
||||
b _08067742
|
||||
_08067722:
|
||||
ldrb r0, [r2, #0x19]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0x19]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08067742
|
||||
movs r0, #3
|
||||
strb r0, [r2, #0x18]
|
||||
b _08067742
|
||||
_08067734:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #5
|
||||
adds r0, r3, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
beq _08067748
|
||||
_08067742:
|
||||
ldr r1, _0806774C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08067748:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806774C: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -1,13 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806DD90
|
||||
sub_0806DD90: @ 0x0806DD90
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@@ -155,9 +146,4 @@ _0806DDC4:
|
||||
.align 2, 0
|
||||
_0806DEC0: .4byte 0x00004072
|
||||
_0806DEC4: .4byte gRoomControls
|
||||
|
||||
thumb_func_start sub_0806DEC8
|
||||
sub_0806DEC8: @ 0x0806DEC8
|
||||
push {lr}
|
||||
bl GetNextFrame
|
||||
pop {pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,64 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E5AA
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r2, #1
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
beq _0806E590
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r2
|
||||
lsls r1, r1, #6
|
||||
subs r2, #0x42
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E590:
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r0, r1
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl InitAnimationForceUpdate
|
||||
_0806E5AA:
|
||||
movs r1, #0xa0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0806E5D4
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0806E5CE
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
b _0806E5D4
|
||||
_0806E5CE:
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
_0806E5D4:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E65C
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,50 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E622
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r5, #1
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806E612
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r5
|
||||
lsls r1, r1, #6
|
||||
movs r2, #0x41
|
||||
rsbs r2, r2, #0
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E612:
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
ands r1, r5
|
||||
adds r1, #2
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
_0806E622:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806E638
|
||||
movs r1, #0
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
_0806E638:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E65C
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,26 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
movs r5, #0
|
||||
bl sub_08002632
|
||||
ldr r1, _0806E6D4 @ =gSave
|
||||
ldr r2, _0806E6D8 @ =0x000001C1
|
||||
adds r1, r1, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0xf3
|
||||
bne _0806E6C2
|
||||
movs r5, #1
|
||||
_0806E6C2:
|
||||
ldr r0, _0806E6DC @ =gUnk_081145D0
|
||||
lsls r1, r5, #1
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806E6D4: .4byte gSave
|
||||
_0806E6D8: .4byte 0x000001C1
|
||||
_0806E6DC: .4byte gUnk_081145D0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,60 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #0
|
||||
bne _0806E7F2
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
bl Random
|
||||
movs r5, #1
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806E7DE
|
||||
ldrb r0, [r4, #0x18]
|
||||
lsls r1, r0, #0x19
|
||||
lsrs r1, r1, #0x1f
|
||||
eors r1, r5
|
||||
lsls r1, r1, #6
|
||||
movs r2, #0x41
|
||||
rsbs r2, r2, #0
|
||||
ands r2, r0
|
||||
orrs r2, r1
|
||||
strb r2, [r4, #0x18]
|
||||
_0806E7DE:
|
||||
bl Random
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
strb r5, [r4, #0x1e]
|
||||
_0806E7F2:
|
||||
movs r1, #0xc0
|
||||
lsls r1, r1, #6
|
||||
adds r0, r4, #0
|
||||
bl sub_08003FC4
|
||||
cmp r0, #0
|
||||
bne _0806E81C
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _0806E816
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
b _0806E81C
|
||||
_0806E816:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #9
|
||||
str r0, [r4, #0x20]
|
||||
_0806E81C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806E838
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,58 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BC40
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _0806BC28 @ =gUnk_08113140
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _0806BC54
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0xe]
|
||||
movs r0, #1
|
||||
ands r1, r0
|
||||
lsls r1, r1, #6
|
||||
ldrb r2, [r4, #0x18]
|
||||
movs r0, #0x41
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x18]
|
||||
lsls r0, r0, #0x19
|
||||
cmp r0, #0
|
||||
blt _0806BC2C
|
||||
movs r0, #6
|
||||
b _0806BC2E
|
||||
.align 2, 0
|
||||
_0806BC28: .4byte gUnk_08113140
|
||||
_0806BC2C:
|
||||
movs r0, #2
|
||||
_0806BC2E:
|
||||
strb r0, [r4, #0x14]
|
||||
ldrb r0, [r4, #0x14]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806BC58
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD64
|
||||
_0806BC40:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
_0806BC54:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,19 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
ldrb r3, [r0, #0x18]
|
||||
lsls r3, r3, #0x19
|
||||
lsrs r3, r3, #0x1f
|
||||
rsbs r2, r3, #0
|
||||
orrs r2, r3
|
||||
asrs r2, r2, #0x1f
|
||||
movs r3, #8
|
||||
ands r2, r3
|
||||
ldr r1, [r1, #4]
|
||||
adds r1, r1, r2
|
||||
ldrb r2, [r0, #0x14]
|
||||
lsrs r2, r2, #1
|
||||
adds r1, r1, r2
|
||||
bl InitializeAnimation
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,41 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08065BBA
|
||||
adds r0, r4, #0
|
||||
bl sub_08065C0C
|
||||
b _08065BEA
|
||||
_08065BBA:
|
||||
ldr r1, _08065BEC @ =gUnk_08110164
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl _call_via_r1
|
||||
ldrb r0, [r4, #0xa]
|
||||
cmp r0, #2
|
||||
bhi _08065BEA
|
||||
ldr r2, _08065BF0 @ =gUnk_0811015C
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1b
|
||||
movs r1, #7
|
||||
ands r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
strh r0, [r4, #0x36]
|
||||
_08065BEA:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065BEC: .4byte gUnk_08110164
|
||||
_08065BF0: .4byte gUnk_0811015C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,98 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08065C42
|
||||
cmp r0, #1
|
||||
bgt _08065C20
|
||||
cmp r0, #0
|
||||
beq _08065C2A
|
||||
b _08065CCA
|
||||
_08065C20:
|
||||
cmp r0, #2
|
||||
beq _08065C7E
|
||||
cmp r0, #3
|
||||
beq _08065C8A
|
||||
b _08065CCA
|
||||
_08065C2A:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r1, [r4, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r4, #0x18]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _08065CCA
|
||||
_08065C42:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r2, r1]
|
||||
cmp r1, #2
|
||||
bne _08065C74
|
||||
movs r0, #0
|
||||
strb r1, [r4, #0xc]
|
||||
strb r0, [r2]
|
||||
ldr r1, _08065C70 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
b _08065CCA
|
||||
.align 2, 0
|
||||
_08065C70: .4byte gPlayerEntity
|
||||
_08065C74:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
b _08065CCA
|
||||
_08065C7E:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _08065CCA
|
||||
b _08065CC6
|
||||
_08065C8A:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065CCA
|
||||
ldr r1, [r4, #0x6c]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08065CB4 @ =0x0000FFFF
|
||||
cmp r2, r0
|
||||
beq _08065CBC
|
||||
ldr r0, _08065CB8 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
adds r1, #2
|
||||
ldrh r0, [r1]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r1, #2
|
||||
str r1, [r4, #0x6c]
|
||||
b _08065CCA
|
||||
.align 2, 0
|
||||
_08065CB4: .4byte 0x0000FFFF
|
||||
_08065CB8: .4byte gScreen
|
||||
_08065CBC:
|
||||
ldrb r0, [r4, #0x18]
|
||||
movs r1, #4
|
||||
rsbs r1, r1, #0
|
||||
ands r1, r0
|
||||
strb r1, [r4, #0x18]
|
||||
_08065CC6:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_08065CCA:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,35 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r1, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065DB4
|
||||
ldr r2, [r1, #0x6c]
|
||||
ldrh r3, [r2]
|
||||
ldr r0, _08065DA0 @ =0x0000FFFF
|
||||
cmp r3, r0
|
||||
beq _08065DA8
|
||||
ldr r0, _08065DA4 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r3, [r0]
|
||||
ldrh r0, [r2, #2]
|
||||
strb r0, [r1, #0xe]
|
||||
adds r0, r2, #4
|
||||
str r0, [r1, #0x6c]
|
||||
b _08065DB4
|
||||
.align 2, 0
|
||||
_08065DA0: .4byte 0x0000FFFF
|
||||
_08065DA4: .4byte gScreen
|
||||
_08065DA8:
|
||||
ldrb r0, [r1, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xc]
|
||||
movs r0, #0
|
||||
bl TextboxNoOverlapFollow
|
||||
_08065DB4:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,126 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xd]
|
||||
cmp r0, #4
|
||||
bhi _08065E74
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08065DCC @ =_08065DD0
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08065DCC: .4byte _08065DD0
|
||||
_08065DD0: @ jump table
|
||||
.4byte _08065DE4 @ case 0
|
||||
.4byte _08065E08 @ case 1
|
||||
.4byte _08065EB0 @ case 2
|
||||
.4byte _08065E34 @ case 3
|
||||
.4byte _08065E4E @ case 4
|
||||
_08065DE4:
|
||||
ldr r0, _08065E04 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x3c
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl InitAnimationForceUpdate
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E04: .4byte gTextBox
|
||||
_08065E08:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0xb4
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r1, _08065E30 @ =gUnk_02018EB0
|
||||
ldrb r0, [r1, #1]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #1]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E30: .4byte gUnk_02018EB0
|
||||
_08065E34:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
movs r0, #0
|
||||
bl TextboxNoOverlapFollow
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
b _08065EB0
|
||||
_08065E4E:
|
||||
ldr r0, _08065E6C @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldrb r0, [r4, #0xd]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _08065E70 @ =gUnk_0811022E
|
||||
str r0, [r4, #0x6c]
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E6C: .4byte gTextBox
|
||||
_08065E70: .4byte gUnk_0811022E
|
||||
_08065E74:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065EB0
|
||||
ldr r1, [r4, #0x6c]
|
||||
ldrh r2, [r1]
|
||||
ldr r0, _08065E9C @ =0x0000FFFF
|
||||
cmp r2, r0
|
||||
beq _08065EA4
|
||||
ldr r0, _08065EA0 @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r2, [r0]
|
||||
ldrh r0, [r1, #2]
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r1, #4
|
||||
str r0, [r4, #0x6c]
|
||||
b _08065EB0
|
||||
.align 2, 0
|
||||
_08065E9C: .4byte 0x0000FFFF
|
||||
_08065EA0: .4byte gScreen
|
||||
_08065EA4:
|
||||
ldr r1, _08065EB8 @ =gUnk_02018EB0
|
||||
ldrb r0, [r1]
|
||||
adds r0, #1
|
||||
strb r0, [r1]
|
||||
bl DeleteThisEntity
|
||||
_08065EB0:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08065EB8: .4byte gUnk_02018EB0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,36 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r2, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08065F1C
|
||||
ldr r1, [r2, #0x6c]
|
||||
ldrh r3, [r1]
|
||||
ldr r0, _08065F08 @ =0x0000FFFF
|
||||
cmp r3, r0
|
||||
beq _08065F10
|
||||
ldr r0, _08065F0C @ =gScreen
|
||||
adds r0, #0x68
|
||||
strh r3, [r0]
|
||||
adds r1, #2
|
||||
ldrh r0, [r1]
|
||||
strb r0, [r2, #0xe]
|
||||
adds r1, #2
|
||||
str r1, [r2, #0x6c]
|
||||
b _08065F1C
|
||||
.align 2, 0
|
||||
_08065F08: .4byte 0x0000FFFF
|
||||
_08065F0C: .4byte gScreen
|
||||
_08065F10:
|
||||
ldrb r0, [r2, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
adds r0, r2, #0
|
||||
bl sub_08078778
|
||||
_08065F1C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -1,86 +0,0 @@
|
||||
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x76
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _080378A8
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
bl sub_08049FDC
|
||||
cmp r0, #0
|
||||
beq _080378AC
|
||||
ldr r6, _080378A4 @ =gUnk_020000B0
|
||||
ldr r0, [r6]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r0, r3]
|
||||
adds r0, r5, #0
|
||||
movs r3, #0x40
|
||||
bl sub_0806FCB8
|
||||
cmp r0, #0
|
||||
beq _080378AC
|
||||
ldr r1, [r6]
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
ldrb r1, [r5, #0x15]
|
||||
subs r0, r0, r1
|
||||
adds r0, #6
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
cmp r0, #0xc
|
||||
bhi _080378AC
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
movs r4, #0x18
|
||||
movs r0, #0x18
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #8
|
||||
strb r0, [r5, #0xf]
|
||||
movs r0, #0xc0
|
||||
strh r0, [r5, #0x24]
|
||||
ldr r1, [r6]
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
adds r0, #4
|
||||
ands r0, r4
|
||||
strb r0, [r5, #0x15]
|
||||
lsrs r0, r0, #3
|
||||
strb r0, [r5, #0x14]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x74
|
||||
movs r0, #0x96
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r1]
|
||||
ldr r2, [r6]
|
||||
ldrh r1, [r2, #0x2e]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x78
|
||||
strh r1, [r0]
|
||||
ldrh r0, [r2, #0x32]
|
||||
adds r3, r5, #0
|
||||
adds r3, #0x7a
|
||||
strh r0, [r3]
|
||||
ldrb r1, [r5, #0x14]
|
||||
adds r0, r5, #0
|
||||
bl InitAnimationForceUpdate
|
||||
movs r0, #1
|
||||
b _080378AE
|
||||
.align 2, 0
|
||||
_080378A4: .4byte gUnk_020000B0
|
||||
_080378A8:
|
||||
subs r0, #1
|
||||
strb r0, [r1]
|
||||
_080378AC:
|
||||
movs r0, #0
|
||||
_080378AE:
|
||||
pop {r4, r5, r6, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -1,64 +0,0 @@
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
bl sub_08037ACC
|
||||
movs r0, #7
|
||||
strb r0, [r4, #0xc]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
subs r0, #0xf
|
||||
ands r0, r1
|
||||
movs r1, #4
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r3, r4, #0
|
||||
adds r3, #0x3d
|
||||
movs r0, #0
|
||||
ldrsb r0, [r3, r0]
|
||||
cmp r0, #0
|
||||
bne _08037A84
|
||||
movs r0, #0xec
|
||||
strb r0, [r3]
|
||||
_08037A84:
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3f
|
||||
movs r0, #0x26
|
||||
strb r0, [r1]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x3b
|
||||
ldrb r0, [r2]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r0, #0xf4
|
||||
strb r0, [r3]
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #3
|
||||
movs r1, #0x10
|
||||
eors r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x3e
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #8
|
||||
strb r0, [r1]
|
||||
adds r1, #4
|
||||
movs r0, #0xc0
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r1]
|
||||
adds r1, #0x30
|
||||
movs r0, #0x3c
|
||||
strb r0, [r1]
|
||||
ldrb r1, [r4, #0x14]
|
||||
adds r1, #0x10
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,69 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x3c
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x68
|
||||
movs r3, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _0806999C @ =gUnk_08111C5C
|
||||
adds r1, r1, r0
|
||||
ldr r2, _080699A0 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
ldrh r6, [r2, #6]
|
||||
adds r0, r0, r6
|
||||
strh r0, [r4, #0x1e]
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x22]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, [r4, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r4, #8]
|
||||
str r3, [r4, #0x14]
|
||||
movs r1, #0x1e
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
movs r3, #0x22
|
||||
ldrsh r1, [r4, r3]
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
subs r1, r1, r2
|
||||
bl sub_080045DA
|
||||
strb r0, [r5, #0x15]
|
||||
ldrb r2, [r5, #0x14]
|
||||
movs r1, #0x80
|
||||
ands r1, r2
|
||||
ldr r2, _080699A4 @ =gUnk_08111C74
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x14]
|
||||
ldr r2, _080699A8 @ =gActiveScriptInfo
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806999C: .4byte gUnk_08111C5C
|
||||
_080699A0: .4byte gRoomControls
|
||||
_080699A4: .4byte gUnk_08111C74
|
||||
_080699A8: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,69 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
adds r0, #0x3c
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x68
|
||||
movs r3, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
lsls r1, r1, #2
|
||||
ldr r0, _08069A2C @ =gUnk_08111C84
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08069A30 @ =gRoomControls
|
||||
ldrh r0, [r1]
|
||||
ldrh r6, [r2, #6]
|
||||
adds r0, r0, r6
|
||||
strh r0, [r4, #0x1e]
|
||||
ldrh r0, [r1, #2]
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x22]
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, [r4, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r4, #8]
|
||||
str r3, [r4, #0x14]
|
||||
movs r1, #0x1e
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
movs r3, #0x22
|
||||
ldrsh r1, [r4, r3]
|
||||
movs r6, #0x32
|
||||
ldrsh r2, [r5, r6]
|
||||
subs r1, r1, r2
|
||||
bl sub_080045DA
|
||||
strb r0, [r5, #0x15]
|
||||
ldrb r2, [r5, #0x14]
|
||||
movs r1, #0x80
|
||||
ands r1, r2
|
||||
ldr r2, _08069A34 @ =gUnk_08111C8C
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x1c
|
||||
adds r0, r0, r2
|
||||
ldrb r0, [r0]
|
||||
orrs r1, r0
|
||||
strb r1, [r5, #0x14]
|
||||
ldr r2, _08069A38 @ =gActiveScriptInfo
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08069A2C: .4byte gUnk_08111C84
|
||||
_08069A30: .4byte gRoomControls
|
||||
_08069A34: .4byte gUnk_08111C8C
|
||||
_08069A38: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,140 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r0, [r5, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080640E8
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r5, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _080640C4
|
||||
cmp r0, #8
|
||||
bgt _080640B2
|
||||
cmp r0, #0
|
||||
beq _080640BC
|
||||
b _080640DA
|
||||
_080640B2:
|
||||
cmp r0, #0x10
|
||||
beq _080640CC
|
||||
cmp r0, #0x18
|
||||
beq _080640D4
|
||||
b _080640DA
|
||||
_080640BC:
|
||||
cmp r1, #0x10
|
||||
bne _080640DA
|
||||
movs r1, #8
|
||||
b _080640DA
|
||||
_080640C4:
|
||||
cmp r1, #0x18
|
||||
bne _080640DA
|
||||
movs r1, #0x10
|
||||
b _080640DA
|
||||
_080640CC:
|
||||
cmp r1, #0
|
||||
bne _080640DA
|
||||
movs r1, #0x18
|
||||
b _080640DA
|
||||
_080640D4:
|
||||
cmp r1, #8
|
||||
bne _080640DA
|
||||
movs r1, #0
|
||||
_080640DA:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_080640E8:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r2, r0, #1
|
||||
adds r1, r2, #4
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _0806410A
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x70
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
adds r1, #4
|
||||
adds r1, r2, r1
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
_0806410A:
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x68
|
||||
movs r3, #0
|
||||
ldrsh r0, [r2, r3]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806412C
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806412C:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _0806413E
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806413E:
|
||||
movs r6, #0x32
|
||||
ldrsh r1, [r4, r6]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6a
|
||||
movs r6, #0
|
||||
ldrsh r0, [r2, r6]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _0806415A
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_0806415A:
|
||||
cmp r1, r3
|
||||
bge _08064168
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
_08064168:
|
||||
ldrh r0, [r5, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r5, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _0806417A
|
||||
ldr r1, _0806417C @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_0806417A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0806417C: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,144 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
ble _080641AE
|
||||
subs r0, r1, #1
|
||||
strb r0, [r4]
|
||||
_080641AE:
|
||||
ldr r0, _080641D8 @ =gPlayerEntity
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #2
|
||||
ble _080641C0
|
||||
movs r1, #2
|
||||
_080641C0:
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _080641CA
|
||||
adds r1, r0, #0
|
||||
_080641CA:
|
||||
adds r6, r4, #0
|
||||
cmp r1, #0
|
||||
beq _08064256
|
||||
cmp r1, #0
|
||||
ble _080641DC
|
||||
movs r0, #0x10
|
||||
b _080641DE
|
||||
.align 2, 0
|
||||
_080641D8: .4byte gPlayerEntity
|
||||
_080641DC:
|
||||
movs r0, #0
|
||||
_080641DE:
|
||||
strb r0, [r5, #0x15]
|
||||
cmp r1, #0
|
||||
bge _080641E6
|
||||
rsbs r1, r1, #0
|
||||
_080641E6:
|
||||
lsls r0, r1, #8
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #0x32
|
||||
ldrsh r4, [r5, r0]
|
||||
adds r0, r5, #0
|
||||
bl ProcessMovement
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x71
|
||||
cmp r4, r0
|
||||
beq _08064256
|
||||
ldr r0, _080642B0 @ =gPlayerEntity
|
||||
movs r2, #0x24
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _08064222
|
||||
ldr r0, _080642B4 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #6
|
||||
bl __modsi3
|
||||
cmp r0, #0
|
||||
bne _08064222
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_08064222:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
movs r0, #0xa
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r5, #0x15]
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, #4
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
adds r6, r4, #0
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _08064256
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_08064256:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _0806428C
|
||||
ldr r1, _080642B0 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _0806428C
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_0806428C:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806ED78
|
||||
movs r0, #0x36
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r0, _080642B0 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x36]
|
||||
strh r0, [r5, #0x36]
|
||||
cmp r4, #0
|
||||
bge _080642AC
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080642AC
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_080642AC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080642B0: .4byte gPlayerEntity
|
||||
_080642B4: .4byte gScreenTransition
|
||||
.syntax divided
|
||||
@@ -0,0 +1,144 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
ble _080642CE
|
||||
subs r0, r1, #1
|
||||
strb r0, [r4]
|
||||
_080642CE:
|
||||
ldr r0, _080642F8 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r5, r2]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #2
|
||||
ble _080642E0
|
||||
movs r1, #2
|
||||
_080642E0:
|
||||
movs r0, #2
|
||||
rsbs r0, r0, #0
|
||||
cmp r1, r0
|
||||
bge _080642EA
|
||||
adds r1, r0, #0
|
||||
_080642EA:
|
||||
adds r6, r4, #0
|
||||
cmp r1, #0
|
||||
beq _08064376
|
||||
cmp r1, #0
|
||||
ble _080642FC
|
||||
movs r0, #8
|
||||
b _080642FE
|
||||
.align 2, 0
|
||||
_080642F8: .4byte gPlayerEntity
|
||||
_080642FC:
|
||||
movs r0, #0x18
|
||||
_080642FE:
|
||||
strb r0, [r5, #0x15]
|
||||
cmp r1, #0
|
||||
bge _08064306
|
||||
rsbs r1, r1, #0
|
||||
_08064306:
|
||||
lsls r0, r1, #8
|
||||
strh r0, [r5, #0x24]
|
||||
movs r0, #0x2e
|
||||
ldrsh r4, [r5, r0]
|
||||
adds r0, r5, #0
|
||||
bl ProcessMovement
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r5, r1]
|
||||
adds r6, r5, #0
|
||||
adds r6, #0x71
|
||||
cmp r4, r0
|
||||
beq _08064376
|
||||
ldr r0, _080643D0 @ =gPlayerEntity
|
||||
movs r2, #0x24
|
||||
ldrsh r1, [r0, r2]
|
||||
movs r0, #0xa0
|
||||
lsls r0, r0, #1
|
||||
cmp r1, r0
|
||||
ble _08064342
|
||||
ldr r0, _080643D4 @ =gScreenTransition
|
||||
ldr r0, [r0]
|
||||
movs r1, #6
|
||||
bl __modsi3
|
||||
cmp r0, #0
|
||||
bne _08064342
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_08064342:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x71
|
||||
movs r0, #0xa
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r5, #0x15]
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, #4
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
adds r6, r4, #0
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _08064376
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_08064376:
|
||||
movs r0, #0
|
||||
ldrsb r0, [r6, r0]
|
||||
cmp r0, #0
|
||||
bne _080643AC
|
||||
ldr r1, _080643D0 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r5, #0x14]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x19
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x70
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x18
|
||||
asrs r1, r1, #0x18
|
||||
adds r1, r0, r1
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _080643AC
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_080643AC:
|
||||
adds r0, r5, #0
|
||||
bl sub_0806ED78
|
||||
movs r0, #0x36
|
||||
ldrsh r4, [r5, r0]
|
||||
ldr r0, _080643D0 @ =gPlayerEntity
|
||||
ldrh r0, [r0, #0x36]
|
||||
strh r0, [r5, #0x36]
|
||||
cmp r4, #0
|
||||
bge _080643CC
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bne _080643CC
|
||||
adds r0, r5, #0
|
||||
bl CreateDustSmall
|
||||
_080643CC:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080643D0: .4byte gPlayerEntity
|
||||
_080643D4: .4byte gScreenTransition
|
||||
.syntax divided
|
||||
@@ -0,0 +1,40 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r0, #2
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
bne _080643EA
|
||||
movs r3, #0
|
||||
b _08064406
|
||||
_080643EA:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _080643F8
|
||||
movs r3, #1
|
||||
b _08064406
|
||||
_080643F8:
|
||||
movs r0, #3
|
||||
bl GetInventoryValue
|
||||
movs r3, #3
|
||||
cmp r0, #0
|
||||
bne _08064406
|
||||
movs r3, #2
|
||||
_08064406:
|
||||
ldrb r1, [r4, #0xb]
|
||||
rsbs r0, r1, #0
|
||||
orrs r0, r1
|
||||
lsrs r0, r0, #0x1f
|
||||
ldr r2, _08064424 @ =gUnk_0810F6D4
|
||||
lsls r1, r3, #1
|
||||
lsls r0, r0, #3
|
||||
adds r1, r1, r0
|
||||
adds r1, r1, r2
|
||||
ldrh r0, [r1]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08064424: .4byte gUnk_0810F6D4
|
||||
.syntax divided
|
||||
@@ -0,0 +1,37 @@
|
||||
.syntax unified
|
||||
push {lr}
|
||||
adds r3, r0, #0
|
||||
ldr r0, _0806444C @ =gSave
|
||||
ldrb r0, [r0, #8]
|
||||
subs r1, r0, #2
|
||||
cmp r1, #0
|
||||
bge _08064438
|
||||
movs r1, #0
|
||||
_08064438:
|
||||
ldrb r2, [r3, #0xb]
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _08064454
|
||||
ldrb r0, [r3, #0xb]
|
||||
lsls r0, r0, #3
|
||||
ldr r1, _08064450 @ =gUnk_0810CF4C
|
||||
b _08064460
|
||||
.align 2, 0
|
||||
_0806444C: .4byte gSave
|
||||
_08064450: .4byte gUnk_0810CF4C
|
||||
_08064454:
|
||||
movs r0, #0x7f
|
||||
ands r0, r2
|
||||
lsls r0, r0, #6
|
||||
lsls r1, r1, #3
|
||||
ldr r2, _0806446C @ =gUnk_0810D0A4
|
||||
adds r1, r1, r2
|
||||
_08064460:
|
||||
adds r1, r0, r1
|
||||
adds r0, r3, #0
|
||||
bl ShowNPCDialogue
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0806446C: .4byte gUnk_0810D0A4
|
||||
.syntax divided
|
||||
@@ -0,0 +1,36 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r2, r1]
|
||||
ldr r3, _08064500 @ =gRoomControls
|
||||
movs r4, #0xa
|
||||
ldrsh r1, [r3, r4]
|
||||
subs r1, r0, r1
|
||||
adds r0, r1, #0
|
||||
adds r0, #8
|
||||
cmp r0, #0
|
||||
blt _08064504
|
||||
adds r0, r1, #0
|
||||
subs r0, #8
|
||||
cmp r0, #0xf0
|
||||
bgt _08064504
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r2, r0]
|
||||
movs r2, #0xc
|
||||
ldrsh r0, [r3, r2]
|
||||
subs r0, r1, r0
|
||||
cmp r0, #0
|
||||
blt _08064504
|
||||
subs r0, #0x18
|
||||
cmp r0, #0xa0
|
||||
bgt _08064504
|
||||
movs r0, #1
|
||||
b _08064506
|
||||
.align 2, 0
|
||||
_08064500: .4byte gRoomControls
|
||||
_08064504:
|
||||
movs r0, #0
|
||||
_08064506:
|
||||
pop {r4, pc}
|
||||
.syntax divided
|
||||
@@ -1,47 +0,0 @@
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0
|
||||
beq _0802BD9C
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
b _0802BDDE
|
||||
_0802BD9C:
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08049FDC
|
||||
cmp r0, #0
|
||||
beq _0802BDCA
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
movs r2, #0x10
|
||||
bl sub_0804A024
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0xff
|
||||
beq _0802BDCA
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x79
|
||||
ldrb r0, [r0]
|
||||
cmp r1, r0
|
||||
beq _0802BDCA
|
||||
adds r0, r4, #0
|
||||
bl sub_0802C058
|
||||
b _0802BDDE
|
||||
_0802BDCA:
|
||||
adds r0, r4, #0
|
||||
bl sub_0802C020
|
||||
adds r1, r0, #0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r1, r0
|
||||
beq _0802BDDE
|
||||
adds r0, r4, #0
|
||||
bl sub_0802C058
|
||||
_0802BDDE:
|
||||
pop {r4, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,126 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xa]
|
||||
lsls r0, r4, #2
|
||||
mov ip, r0
|
||||
ldr r2, _08062868 @ =gUnk_0810C0A0
|
||||
add r2, ip
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r3, [r0]
|
||||
movs r1, #0x1f
|
||||
adds r0, r1, #0
|
||||
ands r0, r3
|
||||
ldrb r3, [r2]
|
||||
adds r6, r0, r3
|
||||
ldrb r0, [r5, #0x1e]
|
||||
ands r1, r0
|
||||
ldrb r2, [r2, #1]
|
||||
adds r7, r1, r2
|
||||
cmp r4, #8
|
||||
bhi _08062946
|
||||
ldr r0, _0806286C @ =_08062870
|
||||
add r0, ip
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08062868: .4byte gUnk_0810C0A0
|
||||
_0806286C: .4byte _08062870 @ jump table
|
||||
_08062870:
|
||||
.4byte _08062894 @ case 0
|
||||
.4byte _08062894 @ case 1
|
||||
.4byte _08062894 @ case 2
|
||||
.4byte _08062894 @ case 3
|
||||
.4byte _08062894 @ case 4
|
||||
.4byte _08062894 @ case 5
|
||||
.4byte _080628D8 @ case 6
|
||||
.4byte _08062922 @ case 7
|
||||
.4byte _08062922 @ case 8
|
||||
_08062894:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x30
|
||||
ands r0, r1
|
||||
lsrs r4, r0, #4
|
||||
cmp r4, #0
|
||||
beq _080628A6
|
||||
adds r4, #0x50
|
||||
_080628A6:
|
||||
subs r4, #1
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #2
|
||||
b _08062916
|
||||
_080628D8:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r0, [r0]
|
||||
movs r2, #0xf
|
||||
ands r2, r0
|
||||
cmp r2, #0
|
||||
beq _080628E8
|
||||
adds r2, #0x93
|
||||
_080628E8:
|
||||
subs r2, #1
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #1
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
_08062916:
|
||||
bl SetSpriteSubEntryOffsetData2
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
b _08062946
|
||||
_08062922:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
adds r2, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
adds r2, r7, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
_08062946:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,172 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xc]
|
||||
cmp r5, #1
|
||||
beq _08062234
|
||||
cmp r5, #1
|
||||
bgt _080621C0
|
||||
cmp r5, #0
|
||||
beq _080621CE
|
||||
b _080622F2
|
||||
_080621C0:
|
||||
cmp r5, #2
|
||||
bne _080621C6
|
||||
b _080622CC
|
||||
_080621C6:
|
||||
cmp r5, #3
|
||||
bne _080621CC
|
||||
b _080622E4
|
||||
_080621CC:
|
||||
b _080622F2
|
||||
_080621CE:
|
||||
ldr r1, _0806221C @ =gUnk_0810BDC4
|
||||
ldrb r0, [r4, #0xa]
|
||||
lsls r0, r0, #2
|
||||
adds r0, r0, r1
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
bne _080621E4
|
||||
b _080622F2
|
||||
_080621E4:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
strb r0, [r4, #0x14]
|
||||
strb r5, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
strb r5, [r0]
|
||||
adds r0, #1
|
||||
strb r5, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6b
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_0805ACC0
|
||||
adds r2, r0, #0
|
||||
cmp r2, #0
|
||||
bne _08062220
|
||||
ldrh r0, [r4, #0x2e]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6c
|
||||
strh r0, [r1]
|
||||
ldrh r0, [r4, #0x32]
|
||||
adds r1, #2
|
||||
strh r0, [r1]
|
||||
b _0806222C
|
||||
.align 2, 0
|
||||
_0806221C: .4byte gUnk_0810BDC4
|
||||
_08062220:
|
||||
lsrs r1, r2, #0x10
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6c
|
||||
strh r1, [r0]
|
||||
adds r0, #2
|
||||
strh r2, [r0]
|
||||
_0806222C:
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
b _080622F2
|
||||
_08062234:
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x39
|
||||
movs r1, #0
|
||||
ldrsb r1, [r5, r1]
|
||||
cmp r1, #2
|
||||
bne _08062252
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r5]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806F118
|
||||
adds r5, #0x1f
|
||||
b _0806229A
|
||||
_08062252:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x68
|
||||
movs r6, #0
|
||||
ldrsb r6, [r0, r6]
|
||||
cmp r6, #0
|
||||
beq _08062274
|
||||
cmp r1, #0
|
||||
beq _0806226C
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r5]
|
||||
b _0806228A
|
||||
_0806226C:
|
||||
adds r0, r4, #0
|
||||
bl sub_080622F4
|
||||
b _080622F2
|
||||
_08062274:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
movs r0, #0
|
||||
ldrsb r0, [r5, r0]
|
||||
cmp r0, #0
|
||||
beq _080622F2
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r6, [r5]
|
||||
_0806228A:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x84
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0806265C
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x58
|
||||
_0806229A:
|
||||
ldrb r0, [r5]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6b
|
||||
strb r0, [r1]
|
||||
ldrb r0, [r5]
|
||||
cmp r0, #7
|
||||
bhi _080622F2
|
||||
ldr r1, _080622C8 @ =gPlayerEntity
|
||||
adds r0, r4, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
ldrb r1, [r5]
|
||||
movs r2, #4
|
||||
rsbs r2, r2, #0
|
||||
ands r1, r2
|
||||
adds r1, r1, r0
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
b _080622F2
|
||||
.align 2, 0
|
||||
_080622C8: .4byte gPlayerEntity
|
||||
_080622CC:
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
ldr r0, _080622E0 @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _080622F2
|
||||
b _080622EE
|
||||
.align 2, 0
|
||||
_080622E0: .4byte gTextBox
|
||||
_080622E4:
|
||||
adds r0, r4, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _080622F2
|
||||
_080622EE:
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
_080622F2:
|
||||
pop {r4, r5, r6, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,274 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r7, r0, #0
|
||||
ldr r0, _0806239C @ =gPlayerEntity
|
||||
mov r8, r0
|
||||
ldrh r1, [r0, #0x2e]
|
||||
ldr r3, _080623A0 @ =0xFFFF0000
|
||||
adds r0, r3, #0
|
||||
ands r0, r5
|
||||
orrs r0, r1
|
||||
mov r2, r8
|
||||
ldrh r1, [r2, #0x32]
|
||||
lsls r1, r1, #0x10
|
||||
ldr r2, _080623A4 @ =0x0000FFFF
|
||||
ands r0, r2
|
||||
adds r5, r0, #0
|
||||
orrs r5, r1
|
||||
mov r1, r8
|
||||
ldrh r0, [r1, #0x36]
|
||||
ands r3, r6
|
||||
orrs r3, r0
|
||||
ldr r0, _080623A8 @ =gPlayerState
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x10
|
||||
ldr r2, _080623AC @ =0xFF00FFFF
|
||||
ands r2, r3
|
||||
orrs r2, r0
|
||||
ldrb r1, [r1, #0x14]
|
||||
movs r0, #0x3f
|
||||
ands r1, r0
|
||||
lsls r1, r1, #0x18
|
||||
ldr r0, _080623B0 @ =0xC0FFFFFF
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
mov r1, r8
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x1e
|
||||
ldr r2, _080623B4 @ =0x3FFFFFFF
|
||||
ands r0, r2
|
||||
adds r6, r0, #0
|
||||
orrs r6, r1
|
||||
ldr r4, [r7, #0x64]
|
||||
ldrb r0, [r4, #6]
|
||||
cmp r0, #0x16
|
||||
bne _080623BE
|
||||
lsrs r0, r6, #0x10
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x16
|
||||
beq _080623BE
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r7, r2]
|
||||
mov r3, r8
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r3, r2]
|
||||
subs r2, r1, r0
|
||||
movs r0, #0x32
|
||||
ldrsh r3, [r7, r0]
|
||||
mov sb, r3
|
||||
mov r1, r8
|
||||
movs r3, #0x32
|
||||
ldrsh r0, [r1, r3]
|
||||
mov r3, sb
|
||||
subs r1, r3, r0
|
||||
cmp r2, #0
|
||||
bge _08062382
|
||||
rsbs r2, r2, #0
|
||||
_08062382:
|
||||
cmp r1, #0
|
||||
bge _08062388
|
||||
rsbs r1, r1, #0
|
||||
_08062388:
|
||||
cmp r2, #0x78
|
||||
bgt _08062390
|
||||
cmp r1, #0x50
|
||||
ble _080623B8
|
||||
_08062390:
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x68
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
b _080624F8
|
||||
.align 2, 0
|
||||
_0806239C: .4byte gPlayerEntity
|
||||
_080623A0: .4byte 0xFFFF0000
|
||||
_080623A4: .4byte 0x0000FFFF
|
||||
_080623A8: .4byte gPlayerState
|
||||
_080623AC: .4byte 0xFF00FFFF
|
||||
_080623B0: .4byte 0xC0FFFFFF
|
||||
_080623B4: .4byte 0x3FFFFFFF
|
||||
_080623B8:
|
||||
adds r0, r7, #0
|
||||
bl sub_0806252C
|
||||
_080623BE:
|
||||
movs r0, #0
|
||||
mov sb, r0
|
||||
ldr r0, [r4]
|
||||
cmp r5, r0
|
||||
bne _080623CE
|
||||
ldr r0, [r4, #4]
|
||||
cmp r6, r0
|
||||
beq _08062410
|
||||
_080623CE:
|
||||
ldr r4, [r7, #0x64]
|
||||
adds r4, #0x90
|
||||
movs r1, #0x69
|
||||
adds r1, r1, r7
|
||||
mov r8, r1
|
||||
adds r3, r7, #0
|
||||
adds r3, #0x38
|
||||
movs r2, #0x58
|
||||
adds r2, r2, r7
|
||||
mov ip, r2
|
||||
movs r2, #0x12
|
||||
_080623E4:
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r4, #4]
|
||||
str r0, [r4, #8]
|
||||
str r1, [r4, #0xc]
|
||||
subs r4, #8
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bge _080623E4
|
||||
ldr r4, [r7, #0x64]
|
||||
str r5, [r4]
|
||||
str r6, [r4, #4]
|
||||
movs r0, #4
|
||||
mov sb, r0
|
||||
mov r2, r8
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
cmp r0, #0
|
||||
ble _08062484
|
||||
subs r0, r1, #1
|
||||
strb r0, [r2]
|
||||
b _08062484
|
||||
_08062410:
|
||||
adds r4, #0x98
|
||||
movs r3, #4
|
||||
ldrsh r0, [r4, r3]
|
||||
cmp r0, #0
|
||||
bge _08062442
|
||||
ldr r4, [r7, #0x64]
|
||||
adds r4, #0x90
|
||||
movs r0, #0x69
|
||||
adds r0, r0, r7
|
||||
mov r8, r0
|
||||
adds r3, r7, #0
|
||||
adds r3, #0x38
|
||||
movs r1, #0x58
|
||||
adds r1, r1, r7
|
||||
mov ip, r1
|
||||
movs r2, #0x12
|
||||
_08062430:
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r4, #4]
|
||||
str r0, [r4, #8]
|
||||
str r1, [r4, #0xc]
|
||||
subs r4, #8
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bge _08062430
|
||||
b _08062480
|
||||
_08062442:
|
||||
ldr r1, _080624E8 @ =gPlayerEntity
|
||||
movs r3, #0x2e
|
||||
ldrsh r0, [r1, r3]
|
||||
movs r2, #0x32
|
||||
ldrsh r1, [r1, r2]
|
||||
ldrh r2, [r4]
|
||||
ldrh r3, [r4, #2]
|
||||
bl sub_080041E8
|
||||
lsrs r0, r0, #4
|
||||
movs r3, #0x69
|
||||
adds r3, r3, r7
|
||||
mov r8, r3
|
||||
adds r3, r7, #0
|
||||
adds r3, #0x38
|
||||
movs r1, #0x58
|
||||
adds r1, r1, r7
|
||||
mov ip, r1
|
||||
cmp r0, #0x18
|
||||
ble _08062484
|
||||
ldr r4, [r7, #0x64]
|
||||
adds r4, #0x90
|
||||
movs r2, #0x12
|
||||
_08062470:
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r4, #4]
|
||||
str r0, [r4, #8]
|
||||
str r1, [r4, #0xc]
|
||||
subs r4, #8
|
||||
subs r2, #1
|
||||
cmp r2, #0
|
||||
bge _08062470
|
||||
_08062480:
|
||||
movs r2, #4
|
||||
mov sb, r2
|
||||
_08062484:
|
||||
ldr r4, [r7, #0x64]
|
||||
adds r4, #0x98
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r7, #0x2e]
|
||||
ldrh r0, [r4, #2]
|
||||
strh r0, [r7, #0x32]
|
||||
ldrh r0, [r4, #4]
|
||||
strh r0, [r7, #0x36]
|
||||
ldrb r0, [r4, #7]
|
||||
lsls r0, r0, #0x1a
|
||||
lsrs r0, r0, #0x1a
|
||||
strb r0, [r7, #0x14]
|
||||
ldrb r0, [r4, #7]
|
||||
lsrs r0, r0, #6
|
||||
strb r0, [r3]
|
||||
mov r1, r8
|
||||
ldrb r2, [r1]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
ble _080624B2
|
||||
subs r0, r2, #1
|
||||
strb r0, [r1]
|
||||
_080624B2:
|
||||
mov r2, sb
|
||||
ldrb r0, [r7, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
add sb, r0
|
||||
ldrb r0, [r7, #0xa]
|
||||
cmp r0, #6
|
||||
bne _080624C4
|
||||
movs r3, #0x10
|
||||
add sb, r3
|
||||
_080624C4:
|
||||
mov r0, ip
|
||||
ldrb r0, [r0]
|
||||
cmp sb, r0
|
||||
beq _080624EC
|
||||
cmp r2, #0
|
||||
bne _080624D8
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
bgt _080624EC
|
||||
_080624D8:
|
||||
adds r0, r7, #0
|
||||
mov r1, sb
|
||||
bl InitAnimationForceUpdate
|
||||
movs r0, #0x1e
|
||||
mov r1, r8
|
||||
strb r0, [r1]
|
||||
b _080624F2
|
||||
.align 2, 0
|
||||
_080624E8: .4byte gPlayerEntity
|
||||
_080624EC:
|
||||
adds r0, r7, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_080624F2:
|
||||
adds r0, r7, #0
|
||||
bl sub_0800451C
|
||||
_080624F8:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,130 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
adds r7, r0, #0
|
||||
ldr r4, _08062618 @ =gPlayerEntity
|
||||
ldrh r1, [r4, #0x2e]
|
||||
ldr r3, _0806261C @ =0xFFFF0000
|
||||
adds r0, r3, #0
|
||||
ands r0, r5
|
||||
orrs r0, r1
|
||||
ldrh r1, [r4, #0x32]
|
||||
lsls r1, r1, #0x10
|
||||
ldr r2, _08062620 @ =0x0000FFFF
|
||||
ands r0, r2
|
||||
adds r5, r0, #0
|
||||
orrs r5, r1
|
||||
ldrh r0, [r4, #0x36]
|
||||
ands r3, r6
|
||||
orrs r3, r0
|
||||
ldr r0, _08062624 @ =gPlayerState
|
||||
adds r0, #0xa8
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x10
|
||||
ldr r2, _08062628 @ =0xFF00FFFF
|
||||
ands r2, r3
|
||||
orrs r2, r0
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #0x3f
|
||||
ands r1, r0
|
||||
lsls r1, r1, #0x18
|
||||
ldr r0, _0806262C @ =0xC0FFFFFF
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #0x1e
|
||||
ldr r2, _08062630 @ =0x3FFFFFFF
|
||||
ands r0, r2
|
||||
adds r6, r0, #0
|
||||
orrs r6, r1
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r7, r2]
|
||||
subs r1, r1, r0
|
||||
mov sl, r1
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r2, #0x32
|
||||
ldrsh r0, [r7, r2]
|
||||
subs r1, r1, r0
|
||||
mov r8, r1
|
||||
mov r1, sl
|
||||
lsls r0, r1, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
movs r1, #0x14
|
||||
bl FixedDiv
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
mov sl, r0
|
||||
mov r2, r8
|
||||
lsls r0, r2, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
movs r1, #0x14
|
||||
bl FixedDiv
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
mov r8, r0
|
||||
ldr r3, [r7, #0x64]
|
||||
movs r0, #0
|
||||
mov sb, r0
|
||||
mov ip, r0
|
||||
movs r4, #0x13
|
||||
_080625C8:
|
||||
mov r1, ip
|
||||
asrs r0, r1, #8
|
||||
subs r0, r5, r0
|
||||
strh r0, [r3]
|
||||
lsrs r0, r5, #0x10
|
||||
mov r2, sb
|
||||
asrs r1, r2, #8
|
||||
subs r0, r0, r1
|
||||
strh r0, [r3, #2]
|
||||
strh r6, [r3, #4]
|
||||
lsrs r0, r6, #0x10
|
||||
strb r0, [r3, #6]
|
||||
ldrb r0, [r7, #0x14]
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
ldrb r2, [r3, #7]
|
||||
movs r0, #0x40
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #7]
|
||||
adds r1, r7, #0
|
||||
adds r1, #0x38
|
||||
ldrb r1, [r1]
|
||||
lsls r1, r1, #6
|
||||
movs r2, #0x3f
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, #7]
|
||||
adds r3, #8
|
||||
add sb, r8
|
||||
add ip, sl
|
||||
subs r4, #1
|
||||
cmp r4, #0
|
||||
bge _080625C8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08062618: .4byte gPlayerEntity
|
||||
_0806261C: .4byte 0xFFFF0000
|
||||
_08062620: .4byte 0x0000FFFF
|
||||
_08062624: .4byte gPlayerState
|
||||
_08062628: .4byte 0xFF00FFFF
|
||||
_0806262C: .4byte 0xC0FFFFFF
|
||||
_08062630: .4byte 0x3FFFFFFF
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,22 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xb]
|
||||
bl Random
|
||||
movs r1, #1
|
||||
ands r1, r0
|
||||
ldr r0, _08062658 @ =gUnk_0810BDE8
|
||||
lsls r1, r1, #1
|
||||
lsls r4, r4, #2
|
||||
adds r1, r1, r4
|
||||
adds r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
adds r1, r5, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08062658: .4byte gUnk_0810BDE8
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,33 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldr r3, _08062674 @ =gSave
|
||||
ldrb r0, [r3, #8]
|
||||
cmp r0, #0
|
||||
bne _08062678
|
||||
movs r0, #0
|
||||
adds r1, r2, #0
|
||||
bl TextboxNoOverlap
|
||||
b _08062690
|
||||
.align 2, 0
|
||||
_08062674: .4byte gSave
|
||||
_08062678:
|
||||
ldrb r0, [r2, #0xa]
|
||||
lsls r1, r0, #3
|
||||
adds r1, r1, r0
|
||||
lsls r1, r1, #3
|
||||
ldr r0, _08062694 @ =gUnk_0810BE10
|
||||
adds r1, r1, r0
|
||||
ldrb r0, [r3, #8]
|
||||
lsls r0, r0, #3
|
||||
adds r1, r1, r0
|
||||
adds r0, r2, #0
|
||||
bl ShowNPCDialogue
|
||||
_08062690:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_08062694: .4byte gUnk_0810BE10
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,89 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r4, r1, #0
|
||||
ldrb r0, [r4, #0x18]
|
||||
cmp r0, #0
|
||||
bne _0806270E
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0x18]
|
||||
movs r0, #0xa
|
||||
strb r0, [r4, #0x19]
|
||||
ldr r0, [r4, #8]
|
||||
movs r1, #2
|
||||
orrs r0, r1
|
||||
str r0, [r4, #8]
|
||||
ldrh r2, [r4, #4]
|
||||
ldr r1, _08062778 @ =gRoomControls
|
||||
ldrh r0, [r4, #6]
|
||||
ldrh r3, [r1, #6]
|
||||
adds r0, r0, r3
|
||||
strh r0, [r4, #0x1e]
|
||||
ldrh r0, [r1, #8]
|
||||
adds r0, r0, r2
|
||||
strh r0, [r4, #0x22]
|
||||
_0806270E:
|
||||
ldrb r0, [r4, #0x19]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0x19]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _0806274A
|
||||
movs r0, #0xa
|
||||
strb r0, [r4, #0x19]
|
||||
movs r1, #0x1e
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r0, r0, r1
|
||||
movs r3, #0x22
|
||||
ldrsh r1, [r4, r3]
|
||||
movs r3, #0x32
|
||||
ldrsh r2, [r5, r3]
|
||||
subs r1, r1, r2
|
||||
bl sub_080045DA
|
||||
strb r0, [r5, #0x15]
|
||||
bl Random
|
||||
movs r1, #0xb
|
||||
bl __modsi3
|
||||
ldrb r1, [r5, #0x15]
|
||||
adds r1, r1, r0
|
||||
subs r1, #5
|
||||
strb r1, [r5, #0x15]
|
||||
_0806274A:
|
||||
movs r0, #0x24
|
||||
ldrsh r1, [r5, r0]
|
||||
ldrb r2, [r5, #0x15]
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F62C
|
||||
movs r2, #0x2e
|
||||
ldrsh r1, [r5, r2]
|
||||
movs r3, #0x1e
|
||||
ldrsh r0, [r4, r3]
|
||||
subs r1, r1, r0
|
||||
lsls r1, r1, #8
|
||||
ldrh r0, [r5, #0x24]
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x11
|
||||
adds r1, r1, r0
|
||||
movs r2, #0x24
|
||||
ldrsh r0, [r5, r2]
|
||||
cmp r1, r0
|
||||
bhi _0806277C
|
||||
ldrh r0, [r4, #0x1e]
|
||||
strh r0, [r5, #0x2e]
|
||||
b _08062782
|
||||
.align 2, 0
|
||||
_08062778: .4byte gRoomControls
|
||||
_0806277C:
|
||||
ldr r1, _08062784 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08062782:
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_08062784: .4byte gActiveScriptInfo
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,141 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r6, r1, #0
|
||||
ldrb r0, [r6, #0x18]
|
||||
cmp r0, #0
|
||||
bne _080629B4
|
||||
adds r0, #1
|
||||
strb r0, [r6, #0x18]
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r0, r1
|
||||
adds r0, #0x20
|
||||
strh r0, [r6, #0x12]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
ldrb r0, [r4, #0x15]
|
||||
cmp r0, #8
|
||||
beq _08062990
|
||||
cmp r0, #8
|
||||
bgt _0806297E
|
||||
cmp r0, #0
|
||||
beq _08062988
|
||||
b _080629A6
|
||||
_0806297E:
|
||||
cmp r0, #0x10
|
||||
beq _08062998
|
||||
cmp r0, #0x18
|
||||
beq _080629A0
|
||||
b _080629A6
|
||||
_08062988:
|
||||
cmp r1, #0x10
|
||||
bne _080629A6
|
||||
movs r1, #8
|
||||
b _080629A6
|
||||
_08062990:
|
||||
cmp r1, #0x18
|
||||
bne _080629A6
|
||||
movs r1, #0x10
|
||||
b _080629A6
|
||||
_08062998:
|
||||
cmp r1, #0
|
||||
bne _080629A6
|
||||
movs r1, #0x18
|
||||
b _080629A6
|
||||
_080629A0:
|
||||
cmp r1, #8
|
||||
bne _080629A6
|
||||
movs r1, #0
|
||||
_080629A6:
|
||||
strb r1, [r4, #0x15]
|
||||
adds r0, r1, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
movs r0, #0x80
|
||||
strh r0, [r4, #0x24]
|
||||
_080629B4:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
adds r1, r0, #4
|
||||
adds r5, r4, #0
|
||||
adds r5, #0x58
|
||||
ldrb r0, [r5]
|
||||
cmp r1, r0
|
||||
beq _080629D2
|
||||
adds r0, r4, #0
|
||||
bl InitializeAnimation
|
||||
ldrb r1, [r5]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x80
|
||||
strh r1, [r0]
|
||||
_080629D2:
|
||||
adds r0, r4, #0
|
||||
bl ProcessMovement
|
||||
movs r3, #0x2e
|
||||
ldrsh r1, [r4, r3]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6c
|
||||
movs r5, #0
|
||||
ldrsh r0, [r2, r5]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _080629F4
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_080629F4:
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
cmp r1, r3
|
||||
bge _08062A06
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x2e]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A06:
|
||||
movs r0, #0x32
|
||||
ldrsh r1, [r4, r0]
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x6e
|
||||
movs r5, #0
|
||||
ldrsh r0, [r2, r5]
|
||||
subs r1, r1, r0
|
||||
cmp r1, #0x10
|
||||
ble _08062A22
|
||||
ldrh r0, [r2]
|
||||
adds r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A22:
|
||||
cmp r1, r3
|
||||
bge _08062A30
|
||||
ldrh r0, [r2]
|
||||
subs r0, #0x10
|
||||
strh r0, [r4, #0x32]
|
||||
movs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
_08062A30:
|
||||
ldrh r0, [r6, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r6, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _08062A42
|
||||
ldr r1, _08062A44 @ =gActiveScriptInfo
|
||||
movs r0, #0
|
||||
strb r0, [r1, #6]
|
||||
_08062A42:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_08062A44: .4byte gActiveScriptInfo
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,32 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806BA18
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
ldr r1, _0806BA30 @ =gUnk_08114F30
|
||||
ldrb r2, [r4, #0x19]
|
||||
lsrs r0, r2, #6
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
lsls r1, r1, #6
|
||||
movs r0, #0x3f
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
_0806BA18:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806BA30: .4byte gUnk_08114F30
|
||||
.syntax divided
|
||||
@@ -0,0 +1,114 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
mov sb, r0
|
||||
adds r4, r1, #0
|
||||
ldr r0, _0806BA58 @ =0x00004912
|
||||
mov r8, r0
|
||||
movs r0, #0
|
||||
str r0, [r4, #0x14]
|
||||
movs r0, #0x73
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0806BA60
|
||||
ldr r0, _0806BA5C @ =0x00004913
|
||||
mov r8, r0
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BA58: .4byte 0x00004912
|
||||
_0806BA5C: .4byte 0x00004913
|
||||
_0806BA60:
|
||||
movs r0, #0x39
|
||||
bl GetInventoryValue
|
||||
adds r7, r0, #0
|
||||
movs r0, #0x3a
|
||||
bl GetInventoryValue
|
||||
adds r6, r0, #0
|
||||
movs r0, #0x3b
|
||||
bl GetInventoryValue
|
||||
adds r5, r0, #0
|
||||
cmp r7, #1
|
||||
bne _0806BA88
|
||||
ldr r0, _0806BA84 @ =0x00004906
|
||||
mov r8, r0
|
||||
str r7, [r4, #0x14]
|
||||
b _0806BAA2
|
||||
.align 2, 0
|
||||
_0806BA84: .4byte 0x00004906
|
||||
_0806BA88:
|
||||
cmp r6, #1
|
||||
bne _0806BA98
|
||||
ldr r0, _0806BA94 @ =0x00004907
|
||||
mov r8, r0
|
||||
str r6, [r4, #0x14]
|
||||
b _0806BAA2
|
||||
.align 2, 0
|
||||
_0806BA94: .4byte 0x00004907
|
||||
_0806BA98:
|
||||
cmp r5, #1
|
||||
bne _0806BAB4
|
||||
ldr r0, _0806BAB0 @ =0x00004908
|
||||
mov r8, r0
|
||||
str r5, [r4, #0x14]
|
||||
_0806BAA2:
|
||||
movs r0, #0x6b
|
||||
bl SetLocalFlag
|
||||
movs r0, #0x6a
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAB0: .4byte 0x00004908
|
||||
_0806BAB4:
|
||||
movs r0, #0x6a
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0806BB06
|
||||
movs r0, #0x6b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0806BAD0
|
||||
ldr r0, _0806BACC @ =0x00004901
|
||||
b _0806BAD6
|
||||
.align 2, 0
|
||||
_0806BACC: .4byte 0x00004901
|
||||
_0806BAD0:
|
||||
cmp r7, #0
|
||||
bne _0806BAE4
|
||||
ldr r0, _0806BAE0 @ =0x00004902
|
||||
_0806BAD6:
|
||||
mov r8, r0
|
||||
movs r0, #0x6b
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAE0: .4byte 0x00004902
|
||||
_0806BAE4:
|
||||
cmp r6, #0
|
||||
bne _0806BAF8
|
||||
ldr r0, _0806BAF4 @ =0x00004903
|
||||
mov r8, r0
|
||||
movs r0, #0x6d
|
||||
bl SetLocalFlag
|
||||
b _0806BB06
|
||||
.align 2, 0
|
||||
_0806BAF4: .4byte 0x00004903
|
||||
_0806BAF8:
|
||||
cmp r5, #0
|
||||
bne _0806BB06
|
||||
ldr r0, _0806BB18 @ =0x00004904
|
||||
mov r8, r0
|
||||
movs r0, #0x70
|
||||
bl SetLocalFlag
|
||||
_0806BB06:
|
||||
mov r0, r8
|
||||
mov r1, sb
|
||||
bl TextboxNoOverlap
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806BB18: .4byte 0x00004904
|
||||
.syntax divided
|
||||
@@ -1,64 +0,0 @@
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
push {r4, lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #2]
|
||||
ldrb r1, [r2, #3]
|
||||
lsls r3, r0, #0x18
|
||||
lsrs r4, r3, #0x18
|
||||
lsls r0, r1, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r4, r1
|
||||
blo _080B0B0C
|
||||
lsrs r0, r3, #0x19
|
||||
cmp r0, r1
|
||||
blo _080B0B18
|
||||
movs r0, #0xf
|
||||
strb r0, [r2, #0x1b]
|
||||
b _080B0B26
|
||||
_080B0B0C:
|
||||
lsrs r0, r0, #0x19
|
||||
cmp r0, r4
|
||||
blo _080B0B18
|
||||
movs r0, #0xf0
|
||||
strb r0, [r2, #0x1b]
|
||||
b _080B0B26
|
||||
_080B0B18:
|
||||
movs r0, #0xff
|
||||
strb r0, [r2, #0x1b]
|
||||
ldrb r0, [r2, #2]
|
||||
ldrb r1, [r2, #3]
|
||||
adds r0, r0, r1
|
||||
lsrs r0, r0, #4
|
||||
b _080B0B36
|
||||
_080B0B26:
|
||||
ldrb r0, [r2, #2]
|
||||
ldrb r1, [r2, #3]
|
||||
adds r0, r0, r1
|
||||
lsrs r0, r0, #4
|
||||
strb r0, [r2, #0xa]
|
||||
cmp r0, #0xf
|
||||
bls _080B0B38
|
||||
movs r0, #0xf
|
||||
_080B0B36:
|
||||
strb r0, [r2, #0xa]
|
||||
_080B0B38:
|
||||
ldrb r1, [r2, #0xa]
|
||||
ldrb r0, [r2, #6]
|
||||
muls r0, r1, r0
|
||||
adds r0, #0xf
|
||||
asrs r0, r0, #4
|
||||
strb r0, [r2, #0x19]
|
||||
ldrb r1, [r2, #0x1b]
|
||||
ldrb r0, [r2, #0x1c]
|
||||
ands r0, r1
|
||||
strb r0, [r2, #0x1b]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -1,4 +1,3 @@
|
||||
sub_0805A9CC: @ 0x0805A9CC
|
||||
push {r4, r5, lr}
|
||||
add r4, r0, #0
|
||||
ldr r3, _0805AA4C @ =gScreen
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
sub_0805795C: @ 0x0805795C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
add r7, r0, #0
|
||||
add r6, r1, #0
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
sub_08058D34: @ 0x08058D34
|
||||
push {r4, lr}
|
||||
mov r0, #0x28
|
||||
bl LoadPaletteGroup
|
||||
|
||||
@@ -1,129 +0,0 @@
|
||||
|
||||
.syntax unified
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
movs r1, #0
|
||||
adds r4, r6, #0
|
||||
adds r4, #0x74
|
||||
ldrb r3, [r4]
|
||||
movs r2, #0xe0
|
||||
ands r2, r3
|
||||
cmp r2, #0
|
||||
bne _0803BAEC
|
||||
cmp r3, #0
|
||||
bne _0803BAD2
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x75
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
strb r0, [r2]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #9
|
||||
bls _0803BABA
|
||||
strb r1, [r2]
|
||||
_0803BABA:
|
||||
ldrb r0, [r6, #0xa]
|
||||
cmp r0, #2
|
||||
bne _0803BAC8
|
||||
ldr r1, _0803BAC4 @ =gUnk_080CFD30
|
||||
b _0803BACA
|
||||
.align 2, 0
|
||||
_0803BAC4: .4byte gUnk_080CFD30
|
||||
_0803BAC8:
|
||||
ldr r1, _0803BAE8 @ =gUnk_080CFD44
|
||||
_0803BACA:
|
||||
ldrb r0, [r2]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
_0803BAD2:
|
||||
adds r2, r6, #0
|
||||
adds r2, #0x74
|
||||
ldrb r0, [r2]
|
||||
adds r0, #1
|
||||
strb r0, [r2]
|
||||
cmp r5, r0
|
||||
bhi _0803BB18
|
||||
movs r0, #0
|
||||
strb r0, [r2]
|
||||
b _0803BB18
|
||||
.align 2, 0
|
||||
_0803BAE8: .4byte gUnk_080CFD44
|
||||
_0803BAEC:
|
||||
movs r0, #0x80
|
||||
ands r0, r2
|
||||
cmp r0, #0
|
||||
bne _0803BB18
|
||||
movs r0, #0x80
|
||||
orrs r0, r3
|
||||
strb r0, [r4]
|
||||
movs r0, #0x20
|
||||
ands r2, r0
|
||||
cmp r2, #0
|
||||
beq _0803BB0C
|
||||
ldr r1, _0803BB08 @ =gUnk_080CFD58
|
||||
b _0803BB0E
|
||||
.align 2, 0
|
||||
_0803BB08: .4byte gUnk_080CFD58
|
||||
_0803BB0C:
|
||||
ldr r1, _0803BB78 @ =gUnk_080CFD5C
|
||||
_0803BB0E:
|
||||
ldrb r0, [r6, #0xa]
|
||||
subs r0, #2
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r1
|
||||
ldrh r1, [r0]
|
||||
_0803BB18:
|
||||
cmp r1, #0
|
||||
beq _0803BB74
|
||||
adds r0, r6, #0
|
||||
bl sub_0801D2B4
|
||||
ldr r0, [r6, #0x50]
|
||||
ldr r4, [r0, #0x78]
|
||||
ldrb r1, [r6, #0x1a]
|
||||
lsls r1, r1, #0x1c
|
||||
lsrs r1, r1, #0x1c
|
||||
ldrb r2, [r4, #0x1a]
|
||||
movs r3, #0x10
|
||||
rsbs r3, r3, #0
|
||||
adds r0, r3, #0
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x1a]
|
||||
ldr r0, [r6, #0x50]
|
||||
ldr r5, [r0, #0x78]
|
||||
ldrb r1, [r6, #0x1a]
|
||||
lsls r1, r1, #0x1c
|
||||
lsrs r1, r1, #0x18
|
||||
ldrb r4, [r5, #0x1a]
|
||||
movs r2, #0xf
|
||||
adds r0, r2, #0
|
||||
ands r0, r4
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x1a]
|
||||
ldr r0, [r6, #0x50]
|
||||
ldr r4, [r0, #0x54]
|
||||
ldrb r0, [r6, #0x1a]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x1c
|
||||
ldrb r1, [r4, #0x1a]
|
||||
ands r3, r1
|
||||
orrs r3, r0
|
||||
strb r3, [r4, #0x1a]
|
||||
ldr r0, [r6, #0x50]
|
||||
ldr r3, [r0, #0x54]
|
||||
ldrb r0, [r6, #0x1a]
|
||||
lsls r0, r0, #0x1c
|
||||
lsrs r0, r0, #0x18
|
||||
ldrb r1, [r3, #0x1a]
|
||||
ands r2, r1
|
||||
orrs r2, r0
|
||||
strb r2, [r3, #0x1a]
|
||||
_0803BB74:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0803BB78: .4byte gUnk_080CFD5C
|
||||
.syntax divided
|
||||
@@ -0,0 +1,54 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08063006
|
||||
movs r6, #1
|
||||
movs r5, #0
|
||||
b _0806300A
|
||||
_08063006:
|
||||
movs r6, #0
|
||||
movs r5, #1
|
||||
_0806300A:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
movs r7, #0x8e
|
||||
lsls r7, r7, #1
|
||||
cmp r0, #0
|
||||
beq _0806301E
|
||||
movs r7, #0x16
|
||||
_0806301E:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x81
|
||||
rsbs r0, r0, #0
|
||||
ands r2, r0
|
||||
subs r2, #1
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
adds r2, r7, #0
|
||||
bl sub_0806FF10
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
adds r2, r6, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -1,164 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start MinishEzlo
|
||||
MinishEzlo: @ 0x08062F70
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #0
|
||||
bne _08062FA0
|
||||
ldr r1, _08062FE8 @ =gUnk_0810C48C
|
||||
adds r0, r4, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
beq _08062FE4
|
||||
ldrb r0, [r4, #0xc]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xc]
|
||||
ldrb r0, [r4, #0xe]
|
||||
lsls r0, r0, #1
|
||||
strb r0, [r4, #0x14]
|
||||
adds r0, r4, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r4, #0
|
||||
bl sub_0807DD50
|
||||
_08062FA0:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r4, #0
|
||||
bl HandleEntity0x82Actions
|
||||
adds r0, r4, #0
|
||||
bl GetNextFrame
|
||||
adds r4, #0x5b
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08062FCC
|
||||
movs r0, #0xef
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
ldr r0, _08062FEC @ =0x000001CF
|
||||
bl EnqueueSFX
|
||||
_08062FCC:
|
||||
ldrb r1, [r4]
|
||||
movs r0, #0x20
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08062FE4
|
||||
movs r0, #0xdf
|
||||
ands r0, r1
|
||||
strb r0, [r4]
|
||||
movs r0, #0x88
|
||||
lsls r0, r0, #2
|
||||
bl EnqueueSFX
|
||||
_08062FE4:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08062FE8: .4byte gUnk_0810C48C
|
||||
_08062FEC: .4byte 0x000001CF
|
||||
|
||||
thumb_func_start MinishEzlo_Head
|
||||
MinishEzlo_Head: @ 0x08062FF0
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08063006
|
||||
movs r6, #1
|
||||
movs r5, #0
|
||||
b _0806300A
|
||||
_08063006:
|
||||
movs r6, #0
|
||||
movs r5, #1
|
||||
_0806300A:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5b
|
||||
ldrb r1, [r0]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
movs r7, #0x8e
|
||||
lsls r7, r7, #1
|
||||
cmp r0, #0
|
||||
beq _0806301E
|
||||
movs r7, #0x16
|
||||
_0806301E:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r2, [r0]
|
||||
movs r0, #0x81
|
||||
rsbs r0, r0, #0
|
||||
ands r2, r0
|
||||
subs r2, #1
|
||||
adds r0, r4, #0
|
||||
adds r1, r6, #0
|
||||
bl SetExtraSpriteFrame
|
||||
ldrb r2, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
adds r2, r7, #0
|
||||
bl sub_0806FF10
|
||||
adds r0, r4, #0
|
||||
adds r1, r5, #0
|
||||
adds r2, r6, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
adds r0, r4, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0806305C
|
||||
sub_0806305C: @ 0x0806305C
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x29
|
||||
ldrb r1, [r2]
|
||||
movs r0, #0x39
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
strb r0, [r2]
|
||||
ldrb r0, [r4, #0x19]
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x19]
|
||||
movs r2, #0x80
|
||||
lsls r2, r2, #1
|
||||
str r2, [r4, #0x6c]
|
||||
str r2, [r4, #0x70]
|
||||
adds r0, r4, #0
|
||||
adds r1, r2, #0
|
||||
movs r3, #0
|
||||
bl sub_0805EC9C
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl InitAnimationForceUpdate
|
||||
adds r4, #0x80
|
||||
movs r0, #0x10
|
||||
strh r0, [r4]
|
||||
ldr r0, _080630A0 @ =0x0000016F
|
||||
bl SoundReq
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080630A0: .4byte 0x0000016F
|
||||
|
||||
thumb_func_start sub_080630A4
|
||||
sub_080630A4: @ 0x080630A4
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
adds r0, #0x6d
|
||||
@@ -332,3 +172,4 @@ _080631DC:
|
||||
.align 2, 0
|
||||
_080631E0: .4byte 0xFFFE0000
|
||||
_080631E4: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,67 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r4, [r0]
|
||||
movs r0, #0x81
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
ldrb r2, [r5, #0x1e]
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
bl SetExtraSpriteFrame
|
||||
movs r0, #0x40
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _08068226
|
||||
movs r0, #0xe1
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
adds r2, r4, #4
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #0
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
b _08068268
|
||||
_08068226:
|
||||
movs r0, #0x20
|
||||
ands r0, r4
|
||||
cmp r0, #0
|
||||
beq _08068254
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
movs r0, #0xe1
|
||||
rsbs r0, r0, #0
|
||||
ands r4, r0
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
adds r2, r4, #0
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #1
|
||||
movs r2, #2
|
||||
bl SetSpriteSubEntryOffsetData1
|
||||
b _08068268
|
||||
_08068254:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
movs r2, #0xff
|
||||
bl SetExtraSpriteFrame
|
||||
_08068268:
|
||||
adds r0, r5, #0
|
||||
bl sub_0807000C
|
||||
pop {r4, r5, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,249 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r4, [r5, #0xc]
|
||||
cmp r4, #1
|
||||
beq _08067F58
|
||||
cmp r4, #1
|
||||
bgt _08067F04
|
||||
cmp r4, #0
|
||||
beq _08067F10
|
||||
b _0806801A
|
||||
_08067F04:
|
||||
cmp r4, #2
|
||||
beq _08067FDC
|
||||
cmp r4, #3
|
||||
bne _08067F0E
|
||||
b _08068000
|
||||
_08067F0E:
|
||||
b _0806801A
|
||||
_08067F10:
|
||||
ldr r1, _08067F50 @ =gUnk_08111358
|
||||
adds r0, r5, #0
|
||||
bl LoadExtraSpriteData
|
||||
cmp r0, #0
|
||||
bne _08067F1E
|
||||
b _080680F0
|
||||
_08067F1E:
|
||||
movs r2, #1
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
subs r0, #5
|
||||
ands r0, r1
|
||||
orrs r0, r2
|
||||
strb r0, [r5, #0x18]
|
||||
ldrb r0, [r5, #0xa]
|
||||
strb r0, [r5, #0x14]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
strb r4, [r0]
|
||||
adds r0, r5, #0
|
||||
movs r1, #2
|
||||
bl sub_0805E3A0
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD50
|
||||
ldr r1, _08067F54 @ =gUnk_08111304
|
||||
ldrb r0, [r5, #0xb]
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
b _08067FF2
|
||||
.align 2, 0
|
||||
_08067F50: .4byte gUnk_08111358
|
||||
_08067F54: .4byte gUnk_08111304
|
||||
_08067F58:
|
||||
adds r4, r5, #0
|
||||
adds r4, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #2
|
||||
bne _08067F98
|
||||
movs r1, #0
|
||||
movs r0, #3
|
||||
strb r0, [r5, #0xc]
|
||||
strb r1, [r4]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x58
|
||||
ldrb r0, [r0]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x69
|
||||
strb r0, [r1]
|
||||
ldr r1, _08067F94 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r5, #0
|
||||
bl sub_0806F118
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067F94: .4byte gPlayerEntity
|
||||
_08067F98:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r5, #0
|
||||
bl HandleEntity0x82Actions
|
||||
ldrb r0, [r5, #0xb]
|
||||
cmp r0, #3
|
||||
bne _0806801A
|
||||
movs r0, #0
|
||||
ldrsb r0, [r4, r0]
|
||||
cmp r0, #0
|
||||
beq _0806801A
|
||||
movs r1, #0
|
||||
movs r0, #2
|
||||
strb r0, [r5, #0xc]
|
||||
strb r1, [r4]
|
||||
ldr r1, _08067FD8 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
bl GetFacingDirection
|
||||
bl sub_0806F5A4
|
||||
adds r1, r0, #0
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
adds r0, r5, #0
|
||||
bl sub_08068190
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067FD8: .4byte gPlayerEntity
|
||||
_08067FDC:
|
||||
ldr r0, _08067FFC @ =gTextBox
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
bne _0806801A
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x14]
|
||||
lsrs r1, r1, #1
|
||||
adds r1, #4
|
||||
_08067FF2:
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
b _0806801A
|
||||
.align 2, 0
|
||||
_08067FFC: .4byte gTextBox
|
||||
_08068000:
|
||||
adds r0, r5, #0
|
||||
bl UpdateFuseInteraction
|
||||
cmp r0, #0
|
||||
beq _0806801A
|
||||
movs r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x69
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl InitializeAnimation
|
||||
_0806801A:
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x59
|
||||
ldrb r1, [r0]
|
||||
adds r7, r0, #0
|
||||
cmp r1, #0xff
|
||||
beq _0806802C
|
||||
adds r0, r5, #0
|
||||
bl GetNextFrame
|
||||
_0806802C:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x5b
|
||||
ldrb r2, [r1]
|
||||
movs r0, #1
|
||||
ands r0, r2
|
||||
adds r6, r1, #0
|
||||
cmp r0, #0
|
||||
beq _0806807E
|
||||
movs r0, #0xfe
|
||||
ands r0, r2
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
bl sub_080040A8
|
||||
cmp r0, #0
|
||||
bne _08068068
|
||||
ldr r4, _08068064 @ =gUnk_0811137A
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
ldrh r0, [r0]
|
||||
bl SoundReq
|
||||
b _0806807E
|
||||
.align 2, 0
|
||||
_08068064: .4byte gUnk_0811137A
|
||||
_08068068:
|
||||
ldr r4, _080680F4 @ =gUnk_08111374
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
ldrh r0, [r0]
|
||||
bl EnqueueSFX
|
||||
_0806807E:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #2
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680A8
|
||||
movs r0, #0xfd
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r1, #4
|
||||
movs r2, #0
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080680A8
|
||||
ldr r3, _080680F8 @ =0xFFE80000
|
||||
adds r0, r5, #0
|
||||
movs r2, #0
|
||||
bl PositionRelative
|
||||
_080680A8:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #4
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680D2
|
||||
movs r0, #0xfb
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
adds r0, r5, #0
|
||||
movs r1, #0x3d
|
||||
movs r2, #0x20
|
||||
bl CreateFx
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
beq _080680D2
|
||||
ldr r2, _080680FC @ =0xFFEC0000
|
||||
ldr r3, _08068100 @ =0xFFF60000
|
||||
adds r0, r5, #0
|
||||
bl PositionRelative
|
||||
_080680D2:
|
||||
ldrb r1, [r6]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080680F0
|
||||
movs r0, #0xf7
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
bl Random
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
ldrb r1, [r7]
|
||||
adds r0, r0, r1
|
||||
strb r0, [r7]
|
||||
_080680F0:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_080680F4: .4byte gUnk_08111374
|
||||
_080680F8: .4byte 0xFFE80000
|
||||
_080680FC: .4byte 0xFFEC0000
|
||||
_08068100: .4byte 0xFFF60000
|
||||
.syntax divided
|
||||
@@ -0,0 +1,62 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r7, r0, #0
|
||||
cmp r7, #0
|
||||
beq _0806812E
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
b _0806818A
|
||||
_0806812E:
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806EDD8
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bge _08068148
|
||||
ldrb r0, [r4, #0xa]
|
||||
strb r0, [r4, #0x14]
|
||||
lsls r3, r0, #2
|
||||
_08068148:
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
lsls r0, r0, #5
|
||||
asrs r1, r3, #1
|
||||
lsls r1, r1, #1
|
||||
ldr r2, _0806818C @ =gUnk_08111284
|
||||
adds r1, r1, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r6, [r0]
|
||||
ldrb r5, [r0, #1]
|
||||
movs r0, #0x80
|
||||
ands r0, r5
|
||||
cmp r0, #0
|
||||
beq _0806816C
|
||||
adds r0, r3, #0
|
||||
bl sub_0806F5B0
|
||||
strb r0, [r4, #0x14]
|
||||
_0806816C:
|
||||
movs r0, #0x40
|
||||
orrs r6, r0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
strb r6, [r0]
|
||||
movs r0, #0x7f
|
||||
ands r5, r0
|
||||
strb r5, [r4, #0x1e]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x58
|
||||
strb r7, [r0]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x59
|
||||
movs r0, #0xff
|
||||
strb r0, [r1]
|
||||
_0806818A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806818C: .4byte gUnk_08111284
|
||||
.syntax divided
|
||||
@@ -0,0 +1,37 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r6, r0, #0
|
||||
ldrb r5, [r6, #0xb]
|
||||
cmp r5, #8
|
||||
bls _0806819C
|
||||
movs r5, #8
|
||||
_0806819C:
|
||||
movs r0, #0x7e
|
||||
bl CheckLocalFlag
|
||||
rsbs r1, r0, #0
|
||||
orrs r1, r0
|
||||
lsrs r4, r1, #0x1f
|
||||
movs r0, #0x41
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080681B4
|
||||
movs r4, #2
|
||||
_080681B4:
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _080681C0
|
||||
movs r4, #3
|
||||
_080681C0:
|
||||
ldr r2, _080681D4 @ =gUnk_0811130E
|
||||
lsls r0, r4, #1
|
||||
lsls r1, r5, #3
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
ldrh r0, [r0]
|
||||
adds r1, r6, #0
|
||||
bl TextboxNoOverlap
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080681D4: .4byte gUnk_0811130E
|
||||
.syntax divided
|
||||
@@ -0,0 +1,66 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
mov ip, r0
|
||||
adds r5, r1, #0
|
||||
ldrb r1, [r0, #0xb]
|
||||
movs r0, #0x10
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _0806650A
|
||||
mov r1, ip
|
||||
ldrh r0, [r1, #0x2e]
|
||||
adds r1, #0x86
|
||||
strh r0, [r1]
|
||||
mov r0, ip
|
||||
adds r0, #0x7e
|
||||
ldrh r2, [r0]
|
||||
adds r0, #4
|
||||
ldrh r0, [r0]
|
||||
adds r3, r2, r0
|
||||
subs r4, r2, r0
|
||||
movs r6, #0x2e
|
||||
ldrsh r0, [r5, r6]
|
||||
cmp r0, r3
|
||||
bge _080664C6
|
||||
cmp r0, r4
|
||||
ble _080664C6
|
||||
adds r2, r0, #0
|
||||
b _080664D2
|
||||
_080664C6:
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r5, r2]
|
||||
adds r2, r4, #0
|
||||
cmp r0, r3
|
||||
blt _080664D2
|
||||
adds r2, r3, #0
|
||||
_080664D2:
|
||||
ldrh r0, [r1]
|
||||
cmp r0, r2
|
||||
bne _080664F0
|
||||
mov r1, ip
|
||||
adds r1, #0x84
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #1
|
||||
bne _0806650A
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
mov r0, ip
|
||||
movs r1, #2
|
||||
bl InitializeAnimation
|
||||
b _0806650A
|
||||
_080664F0:
|
||||
mov r6, ip
|
||||
strh r2, [r6, #0x2e]
|
||||
mov r1, ip
|
||||
adds r1, #0x84
|
||||
ldrh r0, [r1]
|
||||
cmp r0, #0
|
||||
bne _0806650A
|
||||
movs r0, #1
|
||||
strh r0, [r1]
|
||||
mov r0, ip
|
||||
movs r1, #6
|
||||
bl InitializeAnimation
|
||||
_0806650A:
|
||||
pop {r4, r5, r6, pc}
|
||||
.syntax divided
|
||||
@@ -0,0 +1,57 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r3, r0, #0
|
||||
movs r4, #0
|
||||
ldr r1, _0806652C @ =gPlayerEntity
|
||||
ldrh r5, [r1, #0x2e]
|
||||
adds r7, r5, #0
|
||||
ldrh r2, [r1, #0x32]
|
||||
adds r0, #0x80
|
||||
ldrh r0, [r0]
|
||||
adds r0, #0x10
|
||||
adds r6, r1, #0
|
||||
cmp r2, r0
|
||||
bge _08066530
|
||||
movs r4, #4
|
||||
b _0806654C
|
||||
.align 2, 0
|
||||
_0806652C: .4byte gPlayerEntity
|
||||
_08066530:
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x7e
|
||||
ldrh r1, [r0]
|
||||
adds r0, r1, #2
|
||||
cmp r5, r0
|
||||
bge _0806653E
|
||||
movs r4, #2
|
||||
_0806653E:
|
||||
adds r0, r1, #6
|
||||
cmp r7, r0
|
||||
ble _08066546
|
||||
movs r4, #6
|
||||
_08066546:
|
||||
cmp r4, #0
|
||||
bne _0806654C
|
||||
strh r4, [r6, #0x24]
|
||||
_0806654C:
|
||||
ldrb r0, [r6, #0xc]
|
||||
cmp r0, #0xf
|
||||
beq _0806656A
|
||||
cmp r4, #0
|
||||
bne _0806655A
|
||||
movs r0, #0
|
||||
b _0806656C
|
||||
_0806655A:
|
||||
movs r0, #8
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl sub_08078AC0
|
||||
strb r4, [r6, #0x14]
|
||||
lsls r0, r4, #2
|
||||
strb r0, [r6, #0x15]
|
||||
_0806656A:
|
||||
movs r0, #1
|
||||
_0806656C:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,59 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _080665DE
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #3
|
||||
beq _080665DE
|
||||
ldr r4, _080665E0 @ =gPlayerEntity
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
movs r2, #0x50
|
||||
bl sub_0806FC80
|
||||
cmp r0, #0
|
||||
beq _080665DE
|
||||
adds r0, r5, #0
|
||||
adds r1, r4, #0
|
||||
bl GetFacingDirection
|
||||
adds r3, r0, #0
|
||||
movs r6, #1
|
||||
movs r1, #0x18
|
||||
adds r4, r3, #0
|
||||
ands r4, r1
|
||||
ldrb r0, [r5, #0x15]
|
||||
adds r2, r1, #0
|
||||
ands r2, r0
|
||||
cmp r2, r4
|
||||
bne _080665C8
|
||||
adds r2, r3, #5
|
||||
movs r1, #7
|
||||
ands r2, r1
|
||||
ldrb r0, [r5, #0x15]
|
||||
adds r0, #5
|
||||
ands r0, r1
|
||||
cmp r0, #2
|
||||
bhi _080665C8
|
||||
cmp r2, #2
|
||||
bhi _080665C8
|
||||
movs r6, #0
|
||||
_080665C8:
|
||||
cmp r6, #0
|
||||
beq _080665DE
|
||||
strb r3, [r5, #0x15]
|
||||
adds r3, #4
|
||||
movs r0, #0x18
|
||||
ands r3, r0
|
||||
lsrs r3, r3, #3
|
||||
adds r0, r5, #0
|
||||
adds r1, r3, #0
|
||||
bl InitializeAnimation
|
||||
_080665DE:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080665E0: .4byte gPlayerEntity
|
||||
.syntax divided
|
||||
@@ -0,0 +1,103 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #8
|
||||
adds r4, r0, #0
|
||||
mov sb, r1
|
||||
mov r8, r2
|
||||
movs r0, #0x2e
|
||||
ldrsh r7, [r4, r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r6, [r4, r1]
|
||||
mov r2, sb
|
||||
subs r0, r2, r7
|
||||
mov r5, r8
|
||||
subs r1, r5, r6
|
||||
bl sub_080045DA
|
||||
lsls r7, r7, #8
|
||||
lsls r6, r6, #8
|
||||
ldr r3, _08061058 @ =gSineTable
|
||||
lsls r1, r0, #1
|
||||
adds r1, r1, r3
|
||||
movs r5, #0
|
||||
ldrsh r2, [r1, r5]
|
||||
lsls r1, r2, #1
|
||||
adds r1, r1, r2
|
||||
lsls r1, r1, #1
|
||||
str r1, [sp]
|
||||
adds r0, #0x40
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r3
|
||||
movs r2, #0
|
||||
ldrsh r1, [r0, r2]
|
||||
lsls r0, r1, #1
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #1
|
||||
str r0, [sp, #4]
|
||||
adds r4, #0x38
|
||||
ldrb r0, [r4]
|
||||
ldr r5, _0806105C @ =gUnk_0200D654
|
||||
mov sl, r5
|
||||
cmp r0, #2
|
||||
beq _0806102E
|
||||
ldr r0, _08061060 @ =gUnk_02027EB4
|
||||
mov sl, r0
|
||||
_0806102E:
|
||||
adds r1, r7, #0
|
||||
cmp r7, #0
|
||||
bge _08061036
|
||||
adds r1, #0xff
|
||||
_08061036:
|
||||
asrs r5, r1, #8
|
||||
adds r2, r6, #0
|
||||
cmp r6, #0
|
||||
bge _08061040
|
||||
adds r2, #0xff
|
||||
_08061040:
|
||||
asrs r4, r2, #8
|
||||
mov r0, sl
|
||||
adds r1, r5, #0
|
||||
adds r2, r4, #0
|
||||
movs r3, #6
|
||||
bl sub_080AE4CC
|
||||
cmp r0, #0
|
||||
beq _08061064
|
||||
movs r0, #0
|
||||
b _08061084
|
||||
.align 2, 0
|
||||
_08061058: .4byte gSineTable
|
||||
_0806105C: .4byte gUnk_0200D654
|
||||
_08061060: .4byte gUnk_02027EB4
|
||||
_08061064:
|
||||
mov r1, sb
|
||||
subs r0, r1, r5
|
||||
adds r0, #6
|
||||
cmp r0, #0xc
|
||||
bhi _08061078
|
||||
mov r2, r8
|
||||
subs r0, r2, r4
|
||||
adds r0, #6
|
||||
cmp r0, #0xc
|
||||
bls _08061082
|
||||
_08061078:
|
||||
ldr r5, [sp]
|
||||
adds r7, r7, r5
|
||||
ldr r0, [sp, #4]
|
||||
subs r6, r6, r0
|
||||
b _0806102E
|
||||
_08061082:
|
||||
movs r0, #1
|
||||
_08061084:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,52 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, lr}
|
||||
adds r4, r0, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
bl sub_080AF1EC
|
||||
cmp r0, #0
|
||||
bne _080611CA
|
||||
adds r0, r4, #0
|
||||
bl sub_080611D4
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0xff
|
||||
beq _080611C6
|
||||
movs r0, #6
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
movs r1, #1
|
||||
bl sub_08079FD4
|
||||
lsls r0, r0, #4
|
||||
subs r0, #4
|
||||
lsls r0, r0, #0xc
|
||||
str r0, [r4, #0x20]
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
strh r1, [r4, #0x24]
|
||||
strb r5, [r4, #0x15]
|
||||
lsrs r1, r5, #2
|
||||
strb r1, [r4, #0x14]
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
beq _080611BE
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x14
|
||||
bl sub_08060E70
|
||||
b _080611C6
|
||||
_080611BE:
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x18
|
||||
bl sub_08060E70
|
||||
_080611C6:
|
||||
movs r0, #0
|
||||
b _080611D2
|
||||
_080611CA:
|
||||
adds r0, r4, #0
|
||||
bl sub_08016AD2
|
||||
movs r0, #1
|
||||
_080611D2:
|
||||
pop {r4, r5, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,53 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r1, [r4, #0x14]
|
||||
movs r0, #6
|
||||
ands r0, r1
|
||||
ldr r1, _08061218 @ =gUnk_0810AC4C
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r2, #1
|
||||
ldrsb r2, [r0, r2]
|
||||
adds r0, r4, #0
|
||||
bl sub_080002B4
|
||||
adds r3, r0, #0
|
||||
ldr r2, _0806121C @ =gUnk_0810AC54
|
||||
_080611F4:
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r3
|
||||
bne _08061220
|
||||
ldrb r0, [r2, #1]
|
||||
ldrb r1, [r4, #0x14]
|
||||
lsrs r0, r0, #2
|
||||
cmp r1, r0
|
||||
bne _08061220
|
||||
ldrb r0, [r4, #0xf]
|
||||
adds r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #7
|
||||
bls _0806122A
|
||||
ldrb r0, [r2, #1]
|
||||
b _0806122C
|
||||
.align 2, 0
|
||||
_08061218: .4byte gUnk_0810AC4C
|
||||
_0806121C: .4byte gUnk_0810AC54
|
||||
_08061220:
|
||||
adds r2, #2
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #0
|
||||
bne _080611F4
|
||||
strb r0, [r4, #0xf]
|
||||
_0806122A:
|
||||
movs r0, #0xff
|
||||
_0806122C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,138 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r5, [r4, #0xd]
|
||||
cmp r5, #1
|
||||
beq _0806139C
|
||||
cmp r5, #1
|
||||
bgt _0806136C
|
||||
cmp r5, #0
|
||||
beq _08061376
|
||||
b _08061460
|
||||
_0806136C:
|
||||
cmp r5, #2
|
||||
beq _080613D0
|
||||
cmp r5, #3
|
||||
beq _0806141E
|
||||
b _08061460
|
||||
_08061376:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08061460
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0xf
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_0806139C:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08061460
|
||||
bl Random
|
||||
adds r6, r0, #0
|
||||
ands r5, r6
|
||||
cmp r5, #0
|
||||
beq _080613FA
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
ldr r3, _080613CC @ =gUnk_0810AC5D
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
lsrs r1, r6, #4
|
||||
movs r2, #3
|
||||
ands r1, r2
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r3
|
||||
b _0806143A
|
||||
.align 2, 0
|
||||
_080613CC: .4byte gUnk_0810AC5D
|
||||
_080613D0:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08061460
|
||||
movs r0, #0x18
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #2
|
||||
strb r0, [r4, #0x14]
|
||||
bl Random
|
||||
adds r1, r0, #0
|
||||
movs r0, #1
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
beq _08061412
|
||||
_080613FA:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xd]
|
||||
movs r0, #0x18
|
||||
ands r6, r0
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x1e
|
||||
strb r0, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
movs r1, #4
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_08061412:
|
||||
strb r1, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl sub_08060E70
|
||||
b _08061460
|
||||
_0806141E:
|
||||
adds r0, r4, #0
|
||||
bl sub_08061170
|
||||
cmp r0, #0
|
||||
bne _08061448
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xd]
|
||||
ldr r2, _08061444 @ =gUnk_0810AC5D
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsls r0, r0, #1
|
||||
lsrs r1, r6, #4
|
||||
ands r1, r5
|
||||
adds r0, r0, r1
|
||||
adds r0, r0, r2
|
||||
_0806143A:
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
b _08061460
|
||||
.align 2, 0
|
||||
_08061444: .4byte gUnk_0810AC5D
|
||||
_08061448:
|
||||
ldrb r0, [r4, #0xe]
|
||||
subs r0, #1
|
||||
strb r0, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
bne _08061460
|
||||
strb r0, [r4, #0xd]
|
||||
adds r0, r4, #0
|
||||
movs r1, #0x10
|
||||
bl sub_08060E70
|
||||
_08061460:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,230 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
push {r6, r7}
|
||||
adds r4, r0, #0
|
||||
mov r8, r1
|
||||
adds r5, r2, #0
|
||||
movs r0, #0x2e
|
||||
ldrsh r7, [r4, r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r6, [r4, r1]
|
||||
adds r0, r7, #0
|
||||
adds r1, r6, #0
|
||||
mov r2, r8
|
||||
adds r3, r5, #0
|
||||
bl sub_080045D4
|
||||
adds r0, #2
|
||||
movs r1, #0x1c
|
||||
ands r0, r1
|
||||
lsrs r0, r0, #2
|
||||
cmp r0, #7
|
||||
bls _08061494
|
||||
b _08061612
|
||||
_08061494:
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080614A0 @ =_080614A4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080614A0: .4byte _080614A4
|
||||
_080614A4: @ jump table
|
||||
.4byte _080614C4 @ case 0
|
||||
.4byte _080614E2 @ case 1
|
||||
.4byte _08061514 @ case 2
|
||||
.4byte _08061544 @ case 3
|
||||
.4byte _08061566 @ case 4
|
||||
.4byte _08061584 @ case 5
|
||||
.4byte _080615B4 @ case 6
|
||||
.4byte _080615E4 @ case 7
|
||||
_080614C4:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
strh r5, [r0]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r8
|
||||
ble _08061504
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061630
|
||||
b _08061612
|
||||
_080614E2:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061720
|
||||
cmp r0, #0
|
||||
beq _08061500
|
||||
b _08061612
|
||||
_08061500:
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
_08061504:
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_080616A8
|
||||
b _08061612
|
||||
_08061514:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r5
|
||||
ble _08061534
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061720
|
||||
b _08061612
|
||||
_08061534:
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061798
|
||||
b _08061612
|
||||
_08061544:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
adds r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061798
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
b _08061574
|
||||
_08061566:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
strh r5, [r0]
|
||||
movs r1, #0x2e
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r8
|
||||
bgt _080615A4
|
||||
_08061574:
|
||||
adds r2, r6, #0
|
||||
adds r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061888
|
||||
b _08061612
|
||||
_08061584:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061978
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
_080615A4:
|
||||
adds r2, r6, #0
|
||||
adds r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061810
|
||||
b _08061612
|
||||
_080615B4:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x6e
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, r5
|
||||
ble _080615D4
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061900
|
||||
b _08061612
|
||||
_080615D4:
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061978
|
||||
b _08061612
|
||||
_080615E4:
|
||||
movs r0, #0x6e
|
||||
adds r0, r0, r4
|
||||
mov sb, r0
|
||||
mov r1, r8
|
||||
strh r1, [r0]
|
||||
adds r1, r7, #0
|
||||
subs r1, #8
|
||||
adds r0, r4, #0
|
||||
adds r2, r6, #0
|
||||
adds r3, r5, #0
|
||||
bl sub_08061900
|
||||
cmp r0, #0
|
||||
bne _08061612
|
||||
mov r0, sb
|
||||
strh r5, [r0]
|
||||
adds r2, r6, #0
|
||||
subs r2, #8
|
||||
adds r0, r4, #0
|
||||
adds r1, r7, #0
|
||||
mov r3, r8
|
||||
bl sub_08061630
|
||||
_08061612:
|
||||
ldr r0, [r4, #0x64]
|
||||
ldrb r1, [r0]
|
||||
movs r0, #8
|
||||
ands r0, r1
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r1, r0, #0x18
|
||||
cmp r1, #0
|
||||
bne _08061628
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xd]
|
||||
_08061628:
|
||||
pop {r3, r4}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
.syntax divided
|
||||
@@ -0,0 +1,37 @@
|
||||
.syntax unified
|
||||
.text
|
||||
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x39
|
||||
movs r0, #0
|
||||
ldrsb r0, [r1, r0]
|
||||
cmp r0, #0
|
||||
beq _08061B54
|
||||
cmp r0, #1
|
||||
bne _08061B54
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
adds r0, r4, #0
|
||||
bl sub_08061AFC
|
||||
ldr r2, [r4, #0x68]
|
||||
ldrb r0, [r4, #0xe]
|
||||
adds r1, r0, #1
|
||||
strb r1, [r4, #0xe]
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x17
|
||||
adds r2, r2, r0
|
||||
ldrh r0, [r2, #2]
|
||||
cmp r0, #0
|
||||
bne _08061B4C
|
||||
strb r0, [r4, #0xe]
|
||||
_08061B4C:
|
||||
ldrh r0, [r2]
|
||||
adds r1, r4, #0
|
||||
bl TextboxNoOverlap
|
||||
_08061B54:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
|
||||
.syntax divided
|
||||
@@ -1,50 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start Phonograph
|
||||
Phonograph: @ 0x0806E91C
|
||||
push {r4, r5, lr}
|
||||
adds r5, r0, #0
|
||||
ldrb r0, [r5, #0xc]
|
||||
cmp r0, #0
|
||||
bne _0806E950
|
||||
adds r0, #1
|
||||
strb r0, [r5, #0xc]
|
||||
ldrb r1, [r5, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r5, #0x18]
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x68
|
||||
movs r4, #0
|
||||
movs r0, #1
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
ldr r0, _0806E960 @ =0x0000FFFF
|
||||
strh r0, [r1]
|
||||
adds r0, r5, #0
|
||||
bl sub_0807DD64
|
||||
strb r4, [r5, #0x1e]
|
||||
_0806E950:
|
||||
adds r0, r5, #0
|
||||
movs r1, #0
|
||||
bl ExecuteScriptForEntity
|
||||
adds r0, r5, #0
|
||||
bl HandleEntity0x82Actions
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806E960: .4byte 0x0000FFFF
|
||||
|
||||
thumb_func_start sub_0806E964
|
||||
sub_0806E964: @ 0x0806E964
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sb
|
||||
mov r6, r8
|
||||
@@ -225,26 +179,4 @@ _0806EAAA:
|
||||
.align 2, 0
|
||||
_0806EAB4: .4byte 0x80010000
|
||||
_0806EAB8: .4byte gActiveScriptInfo
|
||||
|
||||
thumb_func_start sub_0806EABC
|
||||
sub_0806EABC: @ 0x0806EABC
|
||||
push {r4, lr}
|
||||
adds r4, r1, #0
|
||||
bl sub_08050384
|
||||
ldr r1, _0806EAE0 @ =gUnk_020227E8
|
||||
ldr r2, _0806EAE4 @ =0x00202020
|
||||
adds r0, r4, #0
|
||||
bl sub_08057044
|
||||
ldr r0, _0806EAE8 @ =0x00003302
|
||||
ldr r1, _0806EAEC @ =gUnk_081146B8
|
||||
bl sub_0805F46C
|
||||
ldr r1, _0806EAF0 @ =gScreen
|
||||
movs r0, #1
|
||||
strh r0, [r1, #0xe]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0806EAE0: .4byte gUnk_020227E8
|
||||
_0806EAE4: .4byte 0x00202020
|
||||
_0806EAE8: .4byte 0x00003302
|
||||
_0806EAEC: .4byte gUnk_081146B8
|
||||
_0806EAF0: .4byte gScreen
|
||||
.syntax divided
|
||||
@@ -0,0 +1,34 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0
|
||||
bl sub_0807DD94
|
||||
ldrb r0, [r4, #0xe]
|
||||
cmp r0, #0xff
|
||||
beq _0806DFB0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x44
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0806DF96
|
||||
ldr r1, [r4, #0x70]
|
||||
ldrb r0, [r1, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
_0806DF96:
|
||||
ldr r1, [r4, #0x68]
|
||||
ldrb r0, [r1, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
ldr r1, [r4, #0x6c]
|
||||
ldrb r0, [r1, #0xe]
|
||||
adds r0, #1
|
||||
strb r0, [r1, #0xe]
|
||||
movs r0, #0xff
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0
|
||||
bl SetRoomFlag
|
||||
_0806DFB0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -0,0 +1,95 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r5, r0, #0
|
||||
bl Random
|
||||
movs r1, #0x70
|
||||
ands r1, r0
|
||||
lsrs r4, r1, #4
|
||||
movs r0, #0xff
|
||||
strb r0, [r5, #0xb]
|
||||
movs r0, #1
|
||||
rsbs r0, r0, #0
|
||||
adds r7, r0, #0
|
||||
strb r0, [r5, #0xe]
|
||||
movs r0, #0x93
|
||||
bl CheckLocalFlag
|
||||
adds r1, r0, #0
|
||||
cmp r1, #0
|
||||
bne _0806E088
|
||||
adds r0, r5, #0
|
||||
adds r0, #0x44
|
||||
strb r1, [r0]
|
||||
lsls r1, r4, #1
|
||||
ldr r0, _0806E084 @ =gUnk_081142CC
|
||||
adds r6, r1, r0
|
||||
ldr r1, [r5, #0x68]
|
||||
ldrb r0, [r6]
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x68]
|
||||
movs r4, #0x90
|
||||
lsls r4, r4, #0xf
|
||||
adds r0, r5, #0
|
||||
adds r2, r4, #0
|
||||
adds r3, r4, #0
|
||||
bl PositionRelative
|
||||
ldr r1, [r5, #0x6c]
|
||||
ldrb r0, [r6, #1]
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x6c]
|
||||
movs r2, #0xd0
|
||||
lsls r2, r2, #0xf
|
||||
adds r0, r5, #0
|
||||
adds r3, r4, #0
|
||||
bl PositionRelative
|
||||
ldr r1, [r5, #0x70]
|
||||
ldrb r0, [r1, #0xf]
|
||||
orrs r0, r7
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x70]
|
||||
adds r0, r5, #0
|
||||
bl CopyPosition
|
||||
b _0806E0D6
|
||||
.align 2, 0
|
||||
_0806E084: .4byte gUnk_081142CC
|
||||
_0806E088:
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x44
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
lsls r1, r4, #2
|
||||
ldr r0, _0806E0D8 @ =gUnk_081142DC
|
||||
adds r6, r1, r0
|
||||
ldr r1, [r5, #0x68]
|
||||
ldrb r0, [r6]
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x68]
|
||||
movs r2, #0xe0
|
||||
lsls r2, r2, #0xe
|
||||
movs r4, #0x90
|
||||
lsls r4, r4, #0xf
|
||||
adds r0, r5, #0
|
||||
adds r3, r4, #0
|
||||
bl PositionRelative
|
||||
ldr r1, [r5, #0x6c]
|
||||
ldrb r0, [r6, #1]
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x6c]
|
||||
movs r2, #0xb0
|
||||
lsls r2, r2, #0xf
|
||||
adds r0, r5, #0
|
||||
adds r3, r4, #0
|
||||
bl PositionRelative
|
||||
ldr r1, [r5, #0x70]
|
||||
ldrb r0, [r6, #2]
|
||||
strb r0, [r1, #0xf]
|
||||
ldr r1, [r5, #0x70]
|
||||
movs r2, #0xf0
|
||||
lsls r2, r2, #0xf
|
||||
adds r0, r5, #0
|
||||
adds r3, r4, #0
|
||||
bl PositionRelative
|
||||
_0806E0D6:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0806E0D8: .4byte gUnk_081142DC
|
||||
.syntax divided
|
||||
@@ -0,0 +1,78 @@
|
||||
.syntax unified
|
||||
push {r4, r5, lr}
|
||||
adds r3, r0, #0
|
||||
adds r5, r1, #0
|
||||
ldrb r1, [r3, #0xb]
|
||||
cmp r1, #0
|
||||
beq _0806E1AC
|
||||
movs r0, #1
|
||||
str r0, [r5, #0x14]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0x74
|
||||
ldrh r0, [r1]
|
||||
adds r0, #1
|
||||
strh r0, [r1]
|
||||
adds r1, #2
|
||||
ldrh r2, [r1]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x44
|
||||
ldrb r0, [r0]
|
||||
adds r4, r1, #0
|
||||
cmp r0, #0
|
||||
bne _0806E16E
|
||||
lsls r0, r2, #1
|
||||
b _0806E172
|
||||
_0806E16E:
|
||||
lsls r0, r2, #1
|
||||
adds r0, r0, r2
|
||||
_0806E172:
|
||||
strh r0, [r4]
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
ldr r1, _0806E18C @ =0x000003E7
|
||||
cmp r0, r1
|
||||
bls _0806E194
|
||||
strh r1, [r4]
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x14]
|
||||
ldr r0, _0806E190 @ =0x0000421B
|
||||
bl TextboxNoOverlapFollow
|
||||
b _0806E1C0
|
||||
.align 2, 0
|
||||
_0806E18C: .4byte 0x000003E7
|
||||
_0806E190: .4byte 0x0000421B
|
||||
_0806E194:
|
||||
ldr r0, _0806E1A4 @ =0x00004218
|
||||
bl TextboxNoOverlapFollow
|
||||
ldr r1, _0806E1A8 @ =gTextBox
|
||||
ldrh r0, [r4]
|
||||
str r0, [r1, #0x10]
|
||||
b _0806E1C0
|
||||
.align 2, 0
|
||||
_0806E1A4: .4byte 0x00004218
|
||||
_0806E1A8: .4byte gTextBox
|
||||
_0806E1AC:
|
||||
str r1, [r5, #0x14]
|
||||
adds r0, r3, #0
|
||||
adds r0, #0x74
|
||||
strh r1, [r0]
|
||||
adds r4, r3, #0
|
||||
adds r4, #0x76
|
||||
strh r1, [r4]
|
||||
ldr r0, _0806E1D4 @ =0x0000421C
|
||||
bl TextboxNoOverlapFollow
|
||||
_0806E1C0:
|
||||
ldr r1, _0806E1D8 @ =gScreenTransition
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r1, #6]
|
||||
ldr r2, _0806E1DC @ =gActiveScriptInfo
|
||||
ldrb r1, [r2, #7]
|
||||
movs r0, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #7]
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_0806E1D4: .4byte 0x0000421C
|
||||
_0806E1D8: .4byte gScreenTransition
|
||||
_0806E1DC: .4byte gActiveScriptInfo
|
||||
.syntax divided
|
||||
@@ -0,0 +1,64 @@
|
||||
.syntax unified
|
||||
push {r4, lr}
|
||||
adds r4, r0, #0
|
||||
movs r1, #0x20
|
||||
movs r2, #0x20
|
||||
bl sub_0806ED9C
|
||||
cmp r0, #0
|
||||
blt _08063AEE
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
bne _08063AF4
|
||||
bl Random
|
||||
movs r1, #0x3f
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _08063AEE
|
||||
adds r0, r4, #0
|
||||
movs r1, #0
|
||||
bl InitAnimationForceUpdate
|
||||
movs r0, #1
|
||||
strb r0, [r4, #0xf]
|
||||
_08063AEE:
|
||||
ldrb r0, [r4, #0xf]
|
||||
cmp r0, #0
|
||||
beq _08063B0C
|
||||
_08063AF4:
|
||||
adds r0, r4, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x5a
|
||||
ldrb r1, [r0]
|
||||
movs r0, #0x80
|
||||
ands r0, r1
|
||||
cmp r0, #0
|
||||
beq _08063B0C
|
||||
movs r0, #0
|
||||
strb r0, [r4, #0xf]
|
||||
_08063B0C:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x39
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
cmp r0, #0
|
||||
beq _08063B38
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
adds r0, r4, #0
|
||||
bl GetAnimationState
|
||||
adds r1, r0, #0
|
||||
adds r1, #4
|
||||
adds r0, r4, #0
|
||||
bl InitAnimationForceUpdate
|
||||
ldrb r0, [r4, #0xe]
|
||||
ldr r1, _08063B40 @ =0x00000A01
|
||||
adds r0, r0, r1
|
||||
bl TextboxNoOverlapFollow
|
||||
_08063B38:
|
||||
adds r0, r4, #0
|
||||
bl sub_0806ED78
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_08063B40: .4byte 0x00000A01
|
||||
.syntax divided
|
||||
@@ -1,13 +1,4 @@
|
||||
.include "asm/macros.inc"
|
||||
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_0806076C
|
||||
sub_0806076C: @ 0x0806076C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
@@ -192,139 +183,4 @@ _080608D8:
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
|
||||
thumb_func_start sub_080608E4
|
||||
sub_080608E4: @ 0x080608E4
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
adds r5, r1, #0
|
||||
movs r0, #0
|
||||
str r0, [r5, #0x14]
|
||||
ldr r0, [r4, #0x34]
|
||||
cmp r0, #0
|
||||
blt _08060970
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r1, [r0]
|
||||
ldr r6, _08060974 @ =gPlayerEntity
|
||||
cmp r1, #1
|
||||
bne _0806090A
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x38
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #2
|
||||
beq _08060970
|
||||
_0806090A:
|
||||
cmp r1, #2
|
||||
bne _08060918
|
||||
adds r0, r6, #0
|
||||
adds r0, #0x38
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #1
|
||||
beq _08060970
|
||||
_08060918:
|
||||
ldr r2, [r5, #4]
|
||||
lsls r2, r2, #4
|
||||
ldrb r0, [r4, #0x14]
|
||||
lsrs r0, r0, #1
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _08060978 @ =gUnk_0810AA70
|
||||
adds r0, r0, r1
|
||||
adds r2, r2, r0
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, #0
|
||||
ldrsb r0, [r2, r0]
|
||||
adds r1, r1, r0
|
||||
movs r7, #0x32
|
||||
ldrsh r3, [r4, r7]
|
||||
movs r0, #1
|
||||
ldrsb r0, [r2, r0]
|
||||
adds r3, r3, r0
|
||||
movs r7, #0x2e
|
||||
ldrsh r0, [r6, r7]
|
||||
subs r1, r0, r1
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r6, r7]
|
||||
subs r3, r0, r3
|
||||
movs r0, #2
|
||||
ldrsb r0, [r2, r0]
|
||||
adds r1, r1, r0
|
||||
ldrb r2, [r2, #3]
|
||||
lsls r2, r2, #0x18
|
||||
asrs r2, r2, #0x18
|
||||
adds r3, r3, r2
|
||||
lsls r0, r0, #1
|
||||
cmp r0, r1
|
||||
bls _08060970
|
||||
lsls r0, r2, #1
|
||||
cmp r0, r3
|
||||
bls _08060970
|
||||
movs r0, #1
|
||||
str r0, [r5, #0x14]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x6a
|
||||
ldrh r0, [r1]
|
||||
adds r0, #2
|
||||
strh r0, [r1]
|
||||
_08060970:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08060974: .4byte gPlayerEntity
|
||||
_08060978: .4byte gUnk_0810AA70
|
||||
|
||||
thumb_func_start Postman_Fusion
|
||||
Postman_Fusion: @ 0x0806097C
|
||||
push {lr}
|
||||
adds r2, r0, #0
|
||||
ldrb r0, [r2, #0xc]
|
||||
cmp r0, #0
|
||||
bne _080609A2
|
||||
adds r0, #1
|
||||
strb r0, [r2, #0xc]
|
||||
ldrb r1, [r2, #0x18]
|
||||
movs r0, #4
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #0x18]
|
||||
adds r0, r2, #0
|
||||
movs r1, #2
|
||||
bl InitAnimationForceUpdate
|
||||
b _080609A8
|
||||
_080609A2:
|
||||
adds r0, r2, #0
|
||||
bl UpdateAnimationSingleFrame
|
||||
_080609A8:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start CreateZeldaFollower
|
||||
CreateZeldaFollower: @ 0x080609AC
|
||||
push {r4, lr}
|
||||
movs r0, #0x1c
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _080609E0
|
||||
movs r0, #0x2e
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateNPC
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _080609E0
|
||||
ldr r0, _080609E4 @ =gPlayerEntity
|
||||
adds r1, r4, #0
|
||||
bl CopyPosition
|
||||
ldrb r1, [r4, #0x10]
|
||||
movs r0, #0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, #0x10]
|
||||
adds r0, r4, #0
|
||||
bl GetAnimationState
|
||||
strb r0, [r4, #0x14]
|
||||
_080609E0:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_080609E4: .4byte gPlayerEntity
|
||||
.syntax divided
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user