summaryrefslogtreecommitdiff
path: root/asm/code_08076C80.s
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2021-03-16 00:22:13 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2021-03-24 23:27:31 +0100
commit74b661df24dbebf42496cb3cce2049cb3f15c57b (patch)
treeaaa852594d5ae6629baffeacb9c6fa339cdeb400 /asm/code_08076C80.s
parent7846a385515bb7e63a2f79ef06c5c258edf025d5 (diff)
Split items and extract pointers
Diffstat (limited to 'asm/code_08076C80.s')
-rw-r--r--asm/code_08076C80.s1083
1 files changed, 4 insertions, 1079 deletions
diff --git a/asm/code_08076C80.s b/asm/code_08076C80.s
index 4f96b523..9cbc0f4b 100644
--- a/asm/code_08076C80.s
+++ b/asm/code_08076C80.s
@@ -6,1088 +6,13 @@
.text
- thumb_func_start sub_08076DF4
-sub_08076DF4: @ 0x08076DF4
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- adds r4, r0, #0
- adds r7, r1, #0
- ldr r0, _08076E48 @ =gPlayerEntity
- mov r8, r0
- bl sub_0807A894
- cmp r0, #0x29
- beq _08076E50
- ldr r6, _08076E4C @ =gPlayerState
- ldrb r0, [r6, #0x12]
- cmp r0, #0x12
- beq _08076E50
- cmp r0, #0x13
- beq _08076E50
- ldrb r5, [r6, #2]
- cmp r5, #0
- bne _08076E50
- adds r0, r4, #0
- adds r1, r7, #0
- bl sub_08077D38
- strb r5, [r4, #7]
- mov r1, r8
- ldrb r0, [r1, #0x14]
- strb r0, [r4, #0xa]
- ldrb r1, [r4, #9]
- movs r0, #0x80
- orrs r0, r1
- adds r0, #1
- strb r0, [r4, #9]
- movs r0, #1
- strb r0, [r6, #0x1d]
- mov r1, r8
- str r5, [r1, #0x74]
- strb r0, [r6, #0x1c]
- adds r0, r4, #0
- bl sub_08077BB8
- b _08076E58
- .align 2, 0
-_08076E48: .4byte gPlayerEntity
-_08076E4C: .4byte gPlayerState
-_08076E50:
- adds r0, r4, #0
- adds r1, r7, #0
- bl sub_08077E78
-_08076E58:
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
+ @ TODO convert .inc files into .s files and include them in linker.ld
+ .include "asm/item/itemGustJar.inc"
- thumb_func_start sub_08076E60
-sub_08076E60: @ 0x08076E60
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r6, r1, #0
- ldr r5, _08076EB4 @ =gPlayerState
- ldrb r1, [r5, #0x1c]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- bne _08076E7A
- adds r0, r4, #0
- adds r1, r6, #0
- bl sub_08077E78
-_08076E7A:
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08076EC0
- movs r0, #2
- strb r0, [r4, #4]
- ldr r1, _08076EB8 @ =0x00000504
- adds r0, r4, #0
- bl sub_08077DF4
- movs r1, #8
- asrs r1, r6
- ldrb r0, [r5, #0xa]
- bics r0, r1
- strb r0, [r5, #0xa]
- movs r0, #0x10
- movs r1, #0
- movs r2, #0
- movs r3, #0
- bl CreatePlayerItem
- adds r1, r0, #0
- cmp r1, #0
- beq _08076EC6
- ldr r0, _08076EBC @ =gPlayerEntity
- str r0, [r1, #0x50]
- b _08076EC6
- .align 2, 0
-_08076EB4: .4byte gPlayerState
-_08076EB8: .4byte 0x00000504
-_08076EBC: .4byte gPlayerEntity
-_08076EC0:
- adds r0, r4, #0
- bl UpdateItemAnim
-_08076EC6:
- pop {r4, r5, r6, pc}
+ .include "asm/item/itemMoleMitts.inc"
- thumb_func_start sub_08076EC8
-sub_08076EC8: @ 0x08076EC8
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r6, r1, #0
- ldr r5, _08076EE4 @ =gPlayerState
- ldrb r1, [r5, #0x1c]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0
- bne _08076EE8
- adds r0, r4, #0
- adds r1, r6, #0
- bl sub_08077E78
- b _08076F60
- .align 2, 0
-_08076EE4: .4byte gPlayerState
-_08076EE8:
- adds r0, r4, #0
- bl sub_08077EFC
- cmp r0, #0
- beq _08076F50
- ldrb r0, [r4, #7]
- cmp r0, #0xef
- bls _08076EFC
- movs r0, #3
- b _08076F0E
-_08076EFC:
- adds r0, #1
- strb r0, [r4, #7]
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #0x77
- bls _08076F0C
- movs r0, #2
- b _08076F0E
-_08076F0C:
- movs r0, #1
-_08076F0E:
- strb r0, [r5, #0x1d]
- ldr r0, _08076F1C @ =gPlayerEntity
- ldrb r0, [r0, #0xd]
- cmp r0, #0x1b
- bne _08076F24
- ldr r1, _08076F20 @ =0x00000524
- b _08076F36
- .align 2, 0
-_08076F1C: .4byte gPlayerEntity
-_08076F20: .4byte 0x00000524
-_08076F24:
- ldr r0, _08076F44 @ =gPlayerState
- ldrb r1, [r0, #0xd]
- movs r0, #0x80
- ands r0, r1
- movs r1, #0xa3
- lsls r1, r1, #3
- cmp r0, #0
- beq _08076F36
- subs r1, #0x14
-_08076F36:
- ldrh r0, [r4, #0x10]
- cmp r1, r0
- beq _08076F48
- adds r0, r4, #0
- bl sub_08077DF4
- b _08076F60
- .align 2, 0
-_08076F44: .4byte gPlayerState
-_08076F48:
- adds r0, r4, #0
- bl UpdateItemAnim
- b _08076F60
-_08076F50:
- ldrb r0, [r4, #4]
- adds r0, #1
- strb r0, [r4, #4]
- movs r0, #8
- asrs r0, r6
- ldrb r1, [r5, #0xa]
- orrs r0, r1
- strb r0, [r5, #0xa]
-_08076F60:
- pop {r4, r5, r6, pc}
- .align 2, 0
+ .include "asm/item/itemJarEmpty.inc"
- thumb_func_start sub_08076F64
-sub_08076F64: @ 0x08076F64
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r6, r1, #0
- ldr r1, _08076F84 @ =gPlayerState
- ldrb r0, [r1, #0x1c]
- movs r2, #0xf
- ands r2, r0
- adds r3, r1, #0
- cmp r2, #7
- bls _08076F7A
- b _080770EC
-_08076F7A:
- lsls r0, r2, #2
- ldr r1, _08076F88 @ =_08076F8C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08076F84: .4byte gPlayerState
-_08076F88: .4byte _08076F8C
-_08076F8C: @ jump table
- .4byte _08077100 @ case 0
- .4byte _080770EC @ case 1
- .4byte _080770EC @ case 2
- .4byte _0807704C @ case 3
- .4byte _08077052 @ case 4
- .4byte _08076FAC @ case 5
- .4byte _080770B8 @ case 6
- .4byte _080770D0 @ case 7
-_08076FAC:
- ldrb r1, [r4, #0xe]
- movs r5, #0x80
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #0
- beq _0807700E
- ldrb r0, [r4, #8]
- cmp r0, #0
- beq _08077004
- movs r0, #0
- strb r0, [r4, #8]
- strb r0, [r4, #7]
- movs r1, #1
- strb r1, [r3, #0x1d]
- ldr r5, _08076FFC @ =gPlayerEntity
- str r0, [r5, #0x74]
- strb r1, [r3, #0x1c]
- movs r1, #8
- asrs r1, r6
- ldrb r0, [r3, #0xa]
- bics r0, r1
- strb r0, [r3, #0xa]
- movs r0, #2
- strb r0, [r4, #4]
- ldr r1, _08077000 @ =0x00000504
- adds r0, r4, #0
- bl sub_08077DF4
- movs r0, #0x10
- movs r1, #0
- movs r2, #0
- movs r3, #0
- bl CreatePlayerItem
- cmp r0, #0
- bne _08076FF6
- b _08077110
-_08076FF6:
- str r5, [r0, #0x50]
- b _08077110
- .align 2, 0
-_08076FFC: .4byte gPlayerEntity
-_08077000: .4byte 0x00000504
-_08077004:
- movs r0, #6
- strb r0, [r3, #0x1c]
- movs r1, #0xa2
- lsls r1, r1, #3
- b _080770F2
-_0807700E:
- adds r0, r4, #0
- bl sub_08077EFC
- cmp r0, #0
- beq _0807701C
- movs r0, #1
- strb r0, [r4, #8]
-_0807701C:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldr r0, _08077044 @ =gPlayerState
- ldr r0, [r0, #0x30]
- movs r1, #2
- ands r0, r1
- cmp r0, #0
- bne _08077110
- ldr r0, _08077048 @ =gPlayerEntity
- ldrb r1, [r0, #0x14]
- lsls r1, r1, #2
- movs r2, #0x10
- eors r1, r2
- strb r1, [r0, #0x15]
- strh r5, [r0, #0x24]
- bl sub_08079E08
- b _08077110
- .align 2, 0
-_08077044: .4byte gPlayerState
-_08077048: .4byte gPlayerEntity
-_0807704C:
- ldr r1, _080770B0 @ =gPlayerState
- movs r0, #4
- strb r0, [r1, #0x1c]
-_08077052:
- adds r0, r4, #0
- bl sub_08077EFC
- cmp r0, #0
- beq _08077060
- movs r0, #1
- strb r0, [r4, #8]
-_08077060:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _0807708C
- ldr r1, _080770B0 @ =gPlayerState
- movs r2, #0
- movs r0, #5
- strb r0, [r1, #0x1c]
- ldr r0, _080770B4 @ =gPlayerEntity
- str r2, [r0, #0x70]
- ldrb r0, [r1, #0x1d]
- cmp r0, #0
- beq _0807708C
- movs r0, #0x11
- movs r1, #0
- movs r3, #0
- bl CreatePlayerItem
-_0807708C:
- ldr r0, _080770B0 @ =gPlayerState
- ldr r0, [r0, #0x30]
- movs r1, #2
- ands r0, r1
- cmp r0, #0
- bne _08077110
- ldr r2, _080770B4 @ =gPlayerEntity
- ldrb r0, [r2, #0x14]
- lsls r0, r0, #2
- movs r1, #0x10
- eors r0, r1
- strb r0, [r2, #0x15]
- movs r0, #0x80
- strh r0, [r2, #0x24]
- bl sub_08079E08
- b _08077110
- .align 2, 0
-_080770B0: .4byte gPlayerState
-_080770B4: .4byte gPlayerEntity
-_080770B8:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08077110
- ldr r3, _080770CC @ =gPlayerState
- b _08077100
- .align 2, 0
-_080770CC: .4byte gPlayerState
-_080770D0:
- ldr r1, _080770E4 @ =0x00000514
- adds r0, r4, #0
- bl sub_08077DF4
- ldr r1, _080770E8 @ =gPlayerState
- movs r2, #0
- movs r0, #3
- strb r0, [r1, #0x1c]
- strb r2, [r1, #0x1d]
- b _08077110
- .align 2, 0
-_080770E4: .4byte 0x00000514
-_080770E8: .4byte gPlayerState
-_080770EC:
- movs r0, #3
- strb r0, [r3, #0x1c]
- ldr r1, _080770FC @ =0x00000514
-_080770F2:
- adds r0, r4, #0
- bl sub_08077DF4
- b _08077110
- .align 2, 0
-_080770FC: .4byte 0x00000514
-_08077100:
- movs r1, #0
- strb r1, [r3, #0x1c]
- ldr r0, _08077114 @ =gPlayerEntity
- str r1, [r0, #0x70]
- adds r0, r4, #0
- adds r1, r6, #0
- bl sub_08077E78
-_08077110:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08077114: .4byte gPlayerEntity
-
- thumb_func_start ItemMoleMitts
-ItemMoleMitts: @ 0x08077118
- push {lr}
- ldr r3, _0807712C @ =gUnk_0811BE04
- ldrb r2, [r0, #4]
- lsls r2, r2, #2
- adds r2, r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- pop {pc}
- .align 2, 0
-_0807712C: .4byte gUnk_0811BE04
-
- thumb_func_start sub_08077130
-sub_08077130: @ 0x08077130
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- ldr r5, _0807718C @ =gPlayerState
- ldrb r0, [r5, #2]
- cmp r0, #0
- bne _080771B6
- adds r0, r4, #0
- bl sub_08077D38
- adds r0, r5, #0
- adds r0, #0x3d
- movs r6, #1
- strb r6, [r0]
- ldrb r1, [r4, #9]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r4, #9]
- bl sub_080774A0
- adds r5, r0, #0
- cmp r5, #0
- beq _080771A8
- ldrb r0, [r4, #7]
- cmp r0, #0
- bne _080771C4
- ldr r1, _08077190 @ =0x0000050C
- adds r0, r4, #0
- bl sub_08077DF4
- movs r0, #2
- strb r0, [r4, #4]
- cmp r5, #0x56
- bne _080771C4
- ldr r2, _08077194 @ =gPlayerEntity
- ldrb r1, [r2, #0x14]
- ands r0, r1
- cmp r0, #0
- beq _08077198
- ldrh r0, [r2, #0x32]
- movs r1, #0x10
- rsbs r1, r1, #0
- ands r1, r0
- movs r0, #6
- orrs r1, r0
- strh r1, [r2, #0x32]
- b _080771C4
- .align 2, 0
-_0807718C: .4byte gPlayerState
-_08077190: .4byte 0x0000050C
-_08077194: .4byte gPlayerEntity
-_08077198:
- ldrh r0, [r2, #0x2e]
- movs r1, #0x10
- rsbs r1, r1, #0
- ands r1, r0
- movs r0, #8
- orrs r1, r0
- strh r1, [r2, #0x2e]
- b _080771C4
-_080771A8:
- movs r1, #0xa1
- lsls r1, r1, #3
- adds r0, r4, #0
- bl sub_08077DF4
- strb r6, [r4, #4]
- b _080771C4
-_080771B6:
- adds r0, r4, #0
- bl sub_08077E78
- adds r1, r5, #0
- adds r1, #0x3d
- movs r0, #0
- strb r0, [r1]
-_080771C4:
- pop {r4, r5, r6, pc}
- .align 2, 0
-
- thumb_func_start sub_080771C8
-sub_080771C8: @ 0x080771C8
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r1, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _080771F4
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_08077E78
- ldr r0, _080771F0 @ =gPlayerState
- adds r0, #0x3d
- movs r1, #0
- strb r1, [r0]
- b _080772A4
- .align 2, 0
-_080771F0: .4byte gPlayerState
-_080771F4:
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _0807720E
- ldrb r0, [r4, #8]
- cmp r0, #0xff
- bne _0807720E
- ldr r0, _08077240 @ =gPlayerEntity
- ldrb r2, [r4, #0xe]
- movs r1, #0x1e
- movs r3, #1
- bl CreateObjectWithParent
-_0807720E:
- ldrb r1, [r4, #0xe]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _080772A4
- ldr r5, _08077240 @ =gPlayerEntity
- adds r0, r5, #0
- movs r1, #0xd
- adds r2, r4, #0
- bl sub_0800875A
- cmp r0, #0
- bne _08077248
- movs r1, #0xa4
- lsls r1, r1, #3
- adds r0, r4, #0
- bl sub_08077DF4
- movs r0, #3
- strb r0, [r4, #4]
- ldr r0, _08077244 @ =0x00000107
- bl SoundReq
- b _080772A4
- .align 2, 0
-_08077240: .4byte gPlayerEntity
-_08077244: .4byte 0x00000107
-_08077248:
- ldrb r0, [r4, #8]
- cmp r0, #0xff
- beq _0807728C
- ldrb r3, [r4, #3]
- adds r0, r5, #0
- movs r1, #0x1f
- movs r2, #0
- bl CreateObjectWithParent
- adds r3, r0, #0
- cmp r3, #0
- beq _0807729C
- ldrb r0, [r4, #7]
- movs r2, #0
- strb r0, [r3, #0xe]
- ldrb r0, [r4, #8]
- strb r0, [r3, #0xf]
- ldrb r1, [r5, #0x14]
- movs r0, #6
- ands r0, r1
- strb r0, [r3, #0x14]
- adds r0, r5, #0
- adds r0, #0x5a
- strb r2, [r0]
- ldr r1, _08077288 @ =gUnk_0811BE14
- ldrb r0, [r4, #8]
- adds r0, r0, r1
- ldrb r1, [r0]
- adds r0, r5, #0
- adds r0, #0x59
- strb r1, [r0]
- b _0807729C
- .align 2, 0
-_08077288: .4byte gUnk_0811BE14
-_0807728C:
- ldrb r0, [r4, #3]
- cmp r0, #0xf
- bne _0807729C
- ldrb r0, [r4, #7]
- cmp r0, #0x17
- bne _0807729C
- movs r0, #0
- strb r0, [r4, #8]
-_0807729C:
- movs r0, #0x84
- lsls r0, r0, #1
- bl SoundReq
-_080772A4:
- pop {r4, r5, pc}
- .align 2, 0
-
- thumb_func_start sub_080772A8
-sub_080772A8: @ 0x080772A8
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r6, r1, #0
- ldrb r1, [r4, #0xe]
- movs r0, #8
- ands r0, r1
- cmp r0, #0
- beq _080772C6
- adds r0, r4, #0
- bl sub_08077F10
- cmp r0, #0
- beq _080772C6
- movs r0, #1
- strb r0, [r4, #7]
-_080772C6:
- movs r0, #0x71
- bl GetInventoryValue
- cmp r0, #1
- bne _08077318
- ldrb r1, [r4, #0xe]
- movs r5, #7
- adds r0, r5, #0
- ands r0, r1
- cmp r0, #3
- beq _08077300
- adds r0, r4, #0
- movs r1, #2
- bl sub_08077E3C
- ldr r3, _080772F8 @ =gPlayerEntity
- ldr r2, _080772FC @ =gUnk_0811BE16
- ldrb r1, [r4, #0xe]
- adds r0, r5, #0
- ands r0, r1
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r0, [r0]
- lsls r0, r0, #1
- b _0807732E
- .align 2, 0
-_080772F8: .4byte gPlayerEntity
-_080772FC: .4byte gUnk_0811BE16
-_08077300:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldr r3, _08077310 @ =gPlayerEntity
- ldr r2, _08077314 @ =gUnk_0811BE16
- ldrb r1, [r4, #0xe]
- adds r0, r5, #0
- b _08077326
- .align 2, 0
-_08077310: .4byte gPlayerEntity
-_08077314: .4byte gUnk_0811BE16
-_08077318:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldr r3, _0807736C @ =gPlayerEntity
- ldr r2, _08077370 @ =gUnk_0811BE16
- ldrb r1, [r4, #0xe]
- movs r0, #7
-_08077326:
- ands r0, r1
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r0, [r0]
-_0807732E:
- strh r0, [r3, #0x24]
- ldr r5, _0807736C @ =gPlayerEntity
- ldrb r0, [r5, #0x14]
- lsls r0, r0, #2
- strb r0, [r5, #0x15]
- movs r1, #0x24
- ldrsh r0, [r5, r1]
- cmp r0, #0
- beq _08077344
- bl sub_08079E08
-_08077344:
- ldrb r1, [r4, #0xe]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _0807738C
- ldrb r0, [r4, #7]
- cmp r0, #0
- beq _08077374
- adds r0, r5, #0
- adds r0, #0x59
- movs r1, #1
- strb r1, [r0]
- bl sub_080774A0
- cmp r0, #0
- beq _08077374
- movs r0, #0
- strb r0, [r4, #7]
- b _0807743E
- .align 2, 0
-_0807736C: .4byte gPlayerEntity
-_08077370: .4byte gUnk_0811BE16
-_08077374:
- adds r0, r4, #0
- adds r1, r6, #0
- bl sub_08077E78
- ldr r0, _08077388 @ =gPlayerState
- adds r0, #0x3d
- movs r1, #0
- strb r1, [r0]
- b _0807743E
- .align 2, 0
-_08077388: .4byte gPlayerState
-_0807738C:
- movs r0, #0x60
- ands r0, r1
- cmp r0, #0
- beq _0807743E
- adds r0, r5, #0
- adds r0, #0x59
- movs r6, #1
- strb r6, [r0]
- adds r0, r5, #0
- bl sub_0807B5B0
- cmp r0, #0
- beq _080773BC
- movs r0, #0x84
- lsls r0, r0, #1
- bl SoundReq
- ldrb r2, [r4, #0xe]
- adds r0, r5, #0
- movs r1, #0x1e
- movs r3, #0
- bl CreateObjectWithParent
- b _0807743E
-_080773BC:
- ldr r1, _08077440 @ =0x0000051C
- adds r0, r4, #0
- bl sub_08077DF4
- adds r0, r5, #0
- movs r1, #0x1d
- movs r2, #0
- bl CreateFx
- adds r3, r0, #0
- cmp r3, #0
- beq _080773F6
- ldrb r0, [r4, #0xa]
- strb r0, [r3, #0x14]
- adds r0, r5, #0
- adds r0, #0x29
- ldrb r1, [r0]
- lsls r1, r1, #0x1d
- lsrs r1, r1, #0x1d
- subs r1, #1
- adds r3, #0x29
- movs r0, #7
- ands r1, r0
- ldrb r2, [r3]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080773F6:
- adds r0, r5, #0
- movs r1, #0x1d
- movs r2, #0
- bl CreateFx
- adds r3, r0, #0
- cmp r3, #0
- beq _08077432
- ldrb r0, [r4, #0xa]
- strb r0, [r3, #0x14]
- adds r0, r5, #0
- adds r0, #0x29
- ldrb r1, [r0]
- lsls r1, r1, #0x1d
- lsrs r1, r1, #0x1d
- subs r1, #1
- movs r0, #0x29
- adds r0, r0, r3
- mov ip, r0
- movs r0, #7
- ands r1, r0
- mov r0, ip
- ldrb r2, [r0]
- movs r0, #8
- rsbs r0, r0, #0
- ands r0, r2
- orrs r0, r1
- mov r1, ip
- strb r0, [r1]
- strb r6, [r3, #0xf]
-_08077432:
- movs r0, #3
- strb r0, [r4, #4]
- strb r6, [r4, #5]
- ldr r0, _08077444 @ =0x00000119
- bl SoundReq
-_0807743E:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08077440: .4byte 0x0000051C
-_08077444: .4byte 0x00000119
-
- thumb_func_start sub_08077448
-sub_08077448: @ 0x08077448
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r1, #0
- ldr r2, _08077498 @ =gPlayerEntity
- ldrb r0, [r2, #0x14]
- lsls r0, r0, #2
- movs r1, #0x10
- eors r0, r1
- strb r0, [r2, #0x15]
- movs r0, #0x80
- lsls r0, r0, #1
- strh r0, [r2, #0x24]
- ldrb r1, [r4, #0xe]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08077474
- ldrb r0, [r4, #5]
- cmp r0, #0
- beq _08077474
- bl sub_08079E08
-_08077474:
- adds r0, r4, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08077494
- ldr r0, _0807749C @ =gPlayerState
- adds r0, #0x3d
- movs r1, #0
- strb r1, [r0]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_08077E78
-_08077494:
- pop {r4, r5, pc}
- .align 2, 0
-_08077498: .4byte gPlayerEntity
-_0807749C: .4byte gPlayerState
-
- thumb_func_start sub_080774A0
-sub_080774A0: @ 0x080774A0
- push {r4, r5, r6, r7, lr}
- ldr r3, _080774FC @ =gPlayerEntity
- movs r0, #0x2e
- ldrsh r2, [r3, r0]
- ldr r5, _08077500 @ =gUnk_0811BE1E
- ldrb r0, [r3, #0x14]
- movs r1, #6
- ands r1, r0
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r2, r2, r0
- ldr r4, _08077504 @ =gRoomControls
- ldrh r0, [r4, #6]
- subs r2, r2, r0
- asrs r6, r2, #4
- movs r2, #0x3f
- ands r6, r2
- movs r7, #0x32
- ldrsh r0, [r3, r7]
- adds r1, #1
- adds r1, r1, r5
- ldrb r1, [r1]
- lsls r1, r1, #0x18
- asrs r1, r1, #0x18
- adds r0, r0, r1
- ldrh r1, [r4, #8]
- subs r0, r0, r1
- asrs r0, r0, #4
- ands r0, r2
- lsls r0, r0, #6
- orrs r6, r0
- adds r4, r3, #0
- adds r4, #0x38
- ldrb r1, [r4]
- adds r0, r6, #0
- bl sub_080002E0
- cmp r0, #0x16
- bhi _080774F6
- cmp r0, #0xe
- bhi _08077508
-_080774F6:
- movs r0, #0
- b _0807751A
- .align 2, 0
-_080774FC: .4byte gPlayerEntity
-_08077500: .4byte gUnk_0811BE1E
-_08077504: .4byte gRoomControls
-_08077508:
- adds r0, r6, #0
- ldrb r1, [r4]
- bl sub_080002C8
- cmp r0, #0x56
- bne _08077518
- movs r0, #0x56
- b _0807751A
-_08077518:
- movs r0, #1
-_0807751A:
- pop {r4, r5, r6, r7, pc}
-
- thumb_func_start ItemJarEmpty
-ItemJarEmpty: @ 0x0807751C
- push {lr}
- ldr r3, _08077530 @ =gUnk_0811BE28
- ldrb r2, [r0, #4]
- lsls r2, r2, #2
- adds r2, r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- pop {pc}
- .align 2, 0
-_08077530: .4byte gUnk_0811BE28
-
- thumb_func_start sub_08077534
-sub_08077534: @ 0x08077534
- push {r4, lr}
- adds r4, r0, #0
- bl sub_08077D38
- ldr r0, _08077570 @ =gPlayerEntity
- bl sub_0806F948
- adds r0, r4, #0
- bl sub_08077BB8
- ldrb r1, [r4, #9]
- movs r0, #0xf
- orrs r0, r1
- strb r0, [r4, #9]
- ldrb r1, [r4, #1]
- ldr r0, _08077574 @ =gSave
- adds r0, r0, r1
- adds r0, #0x9a
- ldrb r0, [r0]
- strb r0, [r4, #7]
- ldrb r0, [r4, #7]
- subs r0, #0x20
- cmp r0, #0x11
- bhi _080775F8
- lsls r0, r0, #2
- ldr r1, _08077578 @ =_0807757C
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08077570: .4byte gPlayerEntity
-_08077574: .4byte gSave
-_08077578: .4byte _0807757C
-_0807757C: @ jump table
- .4byte _080775C4 @ case 0
- .4byte _080775D4 @ case 1
- .4byte _080775D4 @ case 2
- .4byte _080775D4 @ case 3
- .4byte _080775D4 @ case 4
- .4byte _080775D4 @ case 5
- .4byte _080775F8 @ case 6
- .4byte _080775F8 @ case 7
- .4byte _080775F8 @ case 8
- .4byte _080775D4 @ case 9
- .4byte _080775D4 @ case 10
- .4byte _080775D4 @ case 11
- .4byte _080775D4 @ case 12
- .4byte _080775D4 @ case 13
- .4byte _080775D4 @ case 14
- .4byte _080775F8 @ case 15
- .4byte _080775F8 @ case 16
- .4byte _080775F8 @ case 17
-_080775C4:
- ldr r1, _080775D0 @ =0x00000614
- adds r0, r4, #0
- bl sub_08077DF4
- b _08077610
- .align 2, 0
-_080775D0: .4byte 0x00000614
-_080775D4:
- movs r0, #3
- strb r0, [r4, #4]
- ldr r1, _080775F0 @ =gPlayerEntity
- movs r0, #4
- strb r0, [r1, #0x14]
- ldrb r2, [r1, #0x18]
- subs r0, #0x45
- ands r0, r2
- strb r0, [r1, #0x18]
- ldr r1, _080775F4 @ =0x000002DF
- adds r0, r4, #0
- bl sub_08077DF4
- b _08077606
- .align 2, 0
-_080775F0: .4byte gPlayerEntity
-_080775F4: .4byte 0x000002DF
-_080775F8:
- movs r0, #3
- strb r0, [r4, #4]
- movs r1, #0xc2
- lsls r1, r1, #3
- adds r0, r4, #0
- bl sub_08077DF4
-_08077606:
- ldr r2, _08077614 @ =gPlayerEntity
- ldrb r1, [r2, #0x10]
- movs r0, #0x7f
- ands r0, r1
- strb r0, [r2, #0x10]
-_08077610:
- pop {r4, pc}
- .align 2, 0
-_08077614: .4byte gPlayerEntity
-
- thumb_func_start sub_08077618
-sub_08077618: @ 0x08077618
- push {r4, lr}
- adds r4, r0, #0
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08077638
- movs r1, #0xc3
- lsls r1, r1, #3
- adds r0, r4, #0
- bl sub_08077DF4
- ldrb r0, [r4, #4]
- adds r0, #1
- strb r0, [r4, #4]
- b _0807763E
-_08077638:
- adds r0, r4, #0
- bl UpdateItemAnim
-_0807763E:
- pop {r4, pc}
-
- thumb_func_start sub_08077640
-sub_08077640: @ 0x08077640
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r1, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08077666
- ldr r2, _08077668 @ =gPlayerEntity
- ldrb r1, [r2, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r2, #0x10]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_08077E78
-_08077666:
- pop {r4, r5, pc}
- .align 2, 0
-_08077668: .4byte gPlayerEntity
-
- thumb_func_start sub_0807766C
-sub_0807766C: @ 0x0807766C
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r1, #0
- bl UpdateItemAnim
- ldrb r1, [r4, #0xe]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08077692
- ldr r2, _08077694 @ =gPlayerEntity
- ldrb r1, [r2, #0x10]
- movs r0, #0x80
- orrs r0, r1
- strb r0, [r2, #0x10]
- adds r0, r4, #0
- adds r1, r5, #0
- bl sub_08077E78
-_08077692:
- pop {r4, r5, pc}
- .align 2, 0
-_08077694: .4byte gPlayerEntity
thumb_func_start sub_08077698
sub_08077698: @ 0x08077698