Merge pull request #160 from octorock/npcs

This commit is contained in:
notyourav
2021-05-27 22:00:54 -07:00
committed by GitHub
186 changed files with 11563 additions and 17330 deletions
-1143
View File
File diff suppressed because it is too large Load Diff
-8
View File
@@ -1,8 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
-287
View File
@@ -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}
-352
View File
@@ -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
-546
View File
@@ -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
View File
@@ -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
-245
View File
@@ -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}
-139
View File
@@ -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
View File
@@ -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
-100
View File
@@ -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
View File
@@ -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
View File
@@ -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
-553
View File
@@ -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
View File
@@ -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
View File
@@ -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
-624
View File
@@ -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}
-7
View File
@@ -1,7 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
-209
View File
@@ -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}
-1319
View File
File diff suppressed because it is too large Load Diff
-255
View File
@@ -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
-259
View File
@@ -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
View File
@@ -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
View File
@@ -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
-251
View File
@@ -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
-587
View File
@@ -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
View File
@@ -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
View File
@@ -1,5 +1,4 @@
.syntax unified
CreateItemDrop: @ 0x08054754
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r4, r1, #0
-2
View File
@@ -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
+64
View File
@@ -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
View File
@@ -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
+64
View File
@@ -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
+50
View File
@@ -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
+26
View File
@@ -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
+58
View File
@@ -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
+19
View File
@@ -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
-86
View File
@@ -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
-64
View File
@@ -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
+69
View File
@@ -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
+69
View File
@@ -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
+126
View File
@@ -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
+172
View File
@@ -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
+274
View File
@@ -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
+130
View File
@@ -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
+22
View File
@@ -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
+33
View File
@@ -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
+89
View File
@@ -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
+141
View File
@@ -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
-64
View File
@@ -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
-129
View File
@@ -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
+66
View File
@@ -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
+57
View File
@@ -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
+59
View File
@@ -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
+103
View File
@@ -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
+52
View File
@@ -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
+53
View File
@@ -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
+138
View File
@@ -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
+230
View File
@@ -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
+37
View File
@@ -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
+64
View File
@@ -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