summaryrefslogtreecommitdiff
path: root/asm/object
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-02-27 00:03:05 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2022-02-27 00:11:15 +0100
commiteda6ecfb9a70fb287fa073ccdcf347226fd7d353 (patch)
tree9ca31f86a677ba703f7ca6d5822666e2e48dc039 /asm/object
parentabe6053a4f3dcaa511035baba764609464eadc46 (diff)
Decompile FigurineDevice
Diffstat (limited to 'asm/object')
-rw-r--r--asm/object/figurineDevice.s2231
1 files changed, 0 insertions, 2231 deletions
diff --git a/asm/object/figurineDevice.s b/asm/object/figurineDevice.s
deleted file mode 100644
index c321c27d..00000000
--- a/asm/object/figurineDevice.s
+++ /dev/null
@@ -1,2231 +0,0 @@
- .include "asm/macros.inc"
-
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
-
- thumb_func_start FigurineDevice
-FigurineDevice: @ 0x08087BAC
- push {lr}
- ldr r2, _08087BC0 @ =gUnk_08120A94
- ldrb r1, [r0, #0xc]
- lsls r1, r1, #2
- adds r1, r1, r2
- ldr r1, [r1]
- bl _call_via_r1
- pop {pc}
- .align 2, 0
-_08087BC0: .4byte gUnk_08120A94
-
- thumb_func_start sub_08087BC4
-sub_08087BC4: @ 0x08087BC4
- push {r4, r5, lr}
- adds r4, r0, #0
- ldrb r0, [r4, #0xa]
- adds r0, #1
- movs r5, #0
- strb r0, [r4, #0xc]
- ldrb r0, [r4, #0xa]
- cmp r0, #1
- beq _08087C04
- cmp r0, #1
- bgt _08087BE0
- cmp r0, #0
- beq _08087BEA
- b _08087CA6
-_08087BE0:
- cmp r0, #2
- beq _08087C64
- cmp r0, #3
- beq _08087C7C
- b _08087CA6
-_08087BEA:
- movs r0, #0x5e
- bl CheckLocalFlag
- cmp r0, #0
- beq _08087C16
- adds r1, r4, #0
- adds r1, #0x7a
- movs r0, #1
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_080787B4
- b _08087C1C
-_08087C04:
- movs r0, #0x22
- movs r1, #3
- movs r2, #0
- bl CreateObject
- cmp r0, #0
- beq _08087C16
- str r4, [r0, #0x50]
- str r0, [r4, #0x54]
-_08087C16:
- adds r0, r4, #0
- adds r0, #0x7a
- strb r5, [r0]
-_08087C1C:
- ldrb r0, [r4, #0x19]
- movs r1, #0xc0
- 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]
- movs r0, #0x2e
- ldrsh r1, [r4, r0]
- ldr r2, _08087C60 @ =gRoomControls
- ldrh r0, [r2, #6]
- subs r1, r1, r0
- asrs r1, r1, #4
- movs r3, #0x3f
- ands r1, r3
- movs r5, #0x32
- ldrsh r0, [r4, r5]
- ldrh r2, [r2, #8]
- subs r0, r0, r2
- asrs r0, r0, #4
- ands r0, r3
- lsls r0, r0, #6
- orrs r1, r0
- adds r0, r4, #0
- adds r0, #0x78
- strh r1, [r0]
- adds r0, r4, #0
- bl sub_08087F58
- b _08087CA6
- .align 2, 0
-_08087C60: .4byte gRoomControls
-_08087C64:
- adds r0, r4, #0
- adds r0, #0x7a
- strb r5, [r0]
- adds r0, r4, #0
- movs r1, #7
- bl SetDefaultPriority
- adds r0, r4, #0
- movs r1, #1
- bl InitializeAnimation
- b _08087CA6
-_08087C7C:
- movs r0, #0x1e
- strb r0, [r4, #0xe]
- strb r5, [r4, #0xf]
- adds r1, r4, #0
- adds r1, #0x81
- movs r0, #1
- strb r0, [r1]
- adds r0, r4, #0
- adds r0, #0x7a
- strb r5, [r0]
- adds r0, #1
- strb r5, [r0]
-.ifdef EU
- adds r0, #1
-.else
- adds r0, #5
-.endif
- strb r5, [r0]
- adds r0, r4, #0
- bl sub_0808804C
- adds r0, r4, #0
- movs r1, #6
- bl SetDefaultPriority
-_08087CA6:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08087CA8
-sub_08087CA8: @ 0x08087CA8
- push {r4, r5, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x7a
- ldrb r0, [r5]
- cmp r0, #1
- beq _08087CCA
- cmp r0, #1
- bgt _08087D02
- cmp r0, #0
- bne _08087D02
- movs r0, #1
- strb r0, [r5]
- adds r0, r4, #0
- bl sub_080787B4
- b _08087D1A
-_08087CCA:
- adds r1, r4, #0
- adds r1, #0x39
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- beq _08087D1A
- movs r0, #0
- strb r0, [r1]
- bl ResetPlayerAnimationAndAction
- movs r0, #0x5e
- bl CheckLocalFlag
- cmp r0, #0
- beq _08087CFA
- movs r0, #2
- strb r0, [r5]
- bl SetRoomFlag
- movs r0, #7
- movs r1, #0xff
- bl MenuFadeIn
- b _08087D1A
-_08087CFA:
- movs r0, #5
- bl SetRoomFlag
- b _08087D1A
-_08087D02:
- movs r0, #2
- bl CheckRoomFlag
- cmp r0, #0
- bne _08087D1A
- adds r1, r4, #0
- adds r1, #0x7a
- movs r0, #1
- strb r0, [r1]
- adds r0, r4, #0
- bl sub_080787B4
-_08087D1A:
- pop {r4, r5, pc}
-
- thumb_func_start sub_08087D1C
-sub_08087D1C: @ 0x08087D1C
- push {r4, r5, lr}
- adds r5, r0, #0
- adds r4, r5, #0
- adds r4, #0x7a
- ldrb r0, [r4]
- cmp r0, #1
- beq _08087D60
- cmp r0, #1
- bgt _08087D34
- cmp r0, #0
- beq _08087D3A
- b _08087DB0
-_08087D34:
- cmp r0, #2
- beq _08087D5A
- b _08087DB0
-_08087D3A:
- movs r0, #0
- bl CheckRoomFlag
- cmp r0, #0
- beq _08087DB0
- movs r0, #0x5e
- bl CheckLocalFlag
- cmp r0, #0
- beq _08087D54
- movs r0, #1
- strb r0, [r4]
- b _08087DB0
-_08087D54:
- movs r0, #2
- strb r0, [r4]
- b _08087DB0
-_08087D5A:
- movs r0, #0x5e
- bl SetLocalFlag
-_08087D60:
- adds r1, r5, #0
- adds r1, #0x7a
- movs r0, #0
- strb r0, [r1]
- ldr r0, [r5, #0x54]
- bl sub_08088328
- movs r0, #0
- bl ClearRoomFlag
- movs r0, #0x22
- movs r1, #2
- movs r2, #0
- bl CreateObject
- adds r4, r0, #0
- cmp r4, #0
- beq _08087DAA
- str r5, [r4, #0x50]
- adds r0, r5, #0
-.ifdef EU
- adds r0, #0x7e
-.else
- adds r0, #0x7d
-.endif
- ldrb r0, [r0]
- strb r0, [r4, #0xf]
- ldr r1, _08087DB4 @ =gUnk_080FC3E4
- ldrb r0, [r4, #0xf]
- lsls r0, r0, #3
- adds r0, r0, r1
- ldrb r0, [r0, #7]
- strb r0, [r4, #0xb]
- movs r2, #0x80
- lsls r2, r2, #0xc
- movs r3, #0xe0
- lsls r3, r3, #0xb
- adds r0, r5, #0
- adds r1, r4, #0
- bl PositionRelative
-_08087DAA:
- ldr r0, _08087DB8 @ =0x00000111
- bl EnqueueSFX
-_08087DB0:
- pop {r4, r5, pc}
- .align 2, 0
-_08087DB4: .4byte gUnk_080FC3E4
-_08087DB8: .4byte 0x00000111
-
- thumb_func_start sub_08087DBC
-sub_08087DBC: @ 0x08087DBC
- push {r4, lr}
- adds r4, r0, #0
- bl GetNextFrame
- adds r2, r4, #0
- adds r2, #0x7a
- ldrb r0, [r2]
- cmp r0, #1
- beq _08087E10
- cmp r0, #1
- bgt _08087E3C
- cmp r0, #0
- bne _08087E3C
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08087E5A
- movs r0, #1
- strb r0, [r2]
- movs r0, #0x28
- strb r0, [r4, #0xe]
- ldr r1, _08087E0C @ =gUnk_08120AA8
- ldrb r0, [r4, #0xb]
- adds r0, r0, r1
- ldrb r1, [r0]
- adds r0, r4, #0
- bl ChangeObjPalette
- adds r0, r4, #0
- movs r1, #2
- bl InitializeAnimation
- movs r0, #0x88
- lsls r0, r0, #1
- bl SoundReq
- b _08087E5A
- .align 2, 0
-_08087E0C: .4byte gUnk_08120AA8
-_08087E10:
- adds r0, r4, #0
- adds r0, #0x5a
- ldrb r1, [r0]
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08087E5A
- ldrb r0, [r4, #0xe]
- subs r0, #1
- strb r0, [r4, #0xe]
- lsls r0, r0, #0x18
- cmp r0, #0
- bne _08087E5A
- movs r0, #2
- strb r0, [r2]
- bl SetRoomFlag
- ldrb r1, [r4, #0xf]
- movs r0, #7
- bl MenuFadeIn
- b _08087E5A
-_08087E3C:
- movs r0, #2
- bl CheckRoomFlag
- cmp r0, #0
- bne _08087E5A
- ldrb r1, [r4, #0x18]
- movs r0, #4
- rsbs r0, r0, #0
- ands r0, r1
- strb r0, [r4, #0x18]
-.ifdef EU
- movs r0, #9
-.else
- movs r0, #4
-.endif
- bl ClearRoomFlag
- bl DeleteThisEntity
-_08087E5A:
- pop {r4, pc}
-
- thumb_func_start sub_08087E5C
-sub_08087E5C: @ 0x08087E5C
-.ifdef EU
- push {r4, r5, r6, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x7a
- ldrb r1, [r5]
- cmp r1, #1
- beq _08087888
- cmp r1, #1
- bgt _08087850
- cmp r1, #0
- beq _08087856
- b _0808790C
-_08087850:
- cmp r1, #2
- beq _080878EA
- b _0808790C
-_08087856:
- adds r0, r4, #0
- adds r0, #0x7b
- ldrb r0, [r0]
- cmp r0, #4
- bne _08087880
- movs r0, #1
- bl CheckRoomFlag
- cmp r0, #0
- beq _0808790C
- movs r0, #1
- strb r0, [r5]
- adds r1, r4, #0
- adds r1, #0x81
- strb r0, [r1]
- bl ClearRoomFlag
- adds r0, r4, #0
- bl sub_0808826C
- b _080878E2
-_08087880:
- adds r0, r4, #0
- bl sub_080880D8
- b _0808790C
-_08087888:
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _08087892
- subs r0, #1
- strb r0, [r4, #0xe]
-_08087892:
- ldr r2, _080878B0 @ =gInput
- ldrh r0, [r2, #2]
- ands r1, r0
- cmp r1, #0
- beq _080878B4
- movs r0, #0x6a
- bl SoundReq
- movs r0, #2
- strb r0, [r5]
- movs r0, #0x3c
- strb r0, [r4, #0xe]
- bl sub_08050384
- b _0808790C
- .align 2, 0
-_080878B0: .4byte gInput
-_080878B4:
- adds r0, r4, #0
- adds r0, #0x81
- ldrb r6, [r0]
- ldrh r1, [r2, #4]
- adds r5, r0, #0
- cmp r1, #0x40
- beq _080878C8
- cmp r1, #0x80
- beq _080878D2
- b _080878DC
-_080878C8:
- adds r0, r4, #0
- movs r1, #1
- bl sub_08087F94
- b _080878DC
-_080878D2:
- movs r1, #1
- rsbs r1, r1, #0
- adds r0, r4, #0
- bl sub_08087F94
-_080878DC:
- ldrb r5, [r5]
- cmp r6, r5
- beq _0808790C
-_080878E2:
- adds r0, r4, #0
- bl sub_080882A8
- b _0808790C
-_080878EA:
- movs r0, #0
- strb r0, [r5]
- adds r1, r4, #0
- adds r1, #0x7b
- movs r0, #4
- strb r0, [r1]
- movs r0, #3
- bl SetRoomFlag
- ldr r0, _08087910 @ =0x0000431A
- bl MessageFromTarget
- ldr r1, _08087914 @ =gMessage
- adds r0, r4, #0
- adds r0, #0x81
- ldrb r0, [r0]
- str r0, [r1, #0x10]
-_0808790C:
- pop {r4, r5, r6, pc}
- .align 2, 0
-_08087910: .4byte 0x0000431A
-_08087914: .4byte gMessage
-
-.else
- push {r4, r5, r6, r7, lr}
- adds r4, r0, #0
- adds r5, r4, #0
- adds r5, #0x7a
- ldrb r1, [r5]
- cmp r1, #1
- beq _08087EAC
- cmp r1, #1
- bgt _08087E74
- cmp r1, #0
- beq _08087E7A
- b _08087F4E
-_08087E74:
- cmp r1, #2
- beq _08087F24
- b _08087F4E
-_08087E7A:
- adds r0, r4, #0
- adds r0, #0x7b
- ldrb r0, [r0]
- cmp r0, #4
- bne _08087EA4
- movs r0, #1
- bl CheckRoomFlag
- cmp r0, #0
- beq _08087F4E
- movs r0, #1
- strb r0, [r5]
- adds r1, r4, #0
- adds r1, #0x81
- strb r0, [r1]
- bl ClearRoomFlag
- adds r0, r4, #0
- bl sub_0808826C
- b _08087F1C
-_08087EA4:
- adds r0, r4, #0
- bl sub_080880D8
- b _08087F4E
-_08087EAC:
- ldrb r0, [r4, #0xe]
- cmp r0, #0
- beq _08087EB6
- subs r0, #1
- strb r0, [r4, #0xe]
-_08087EB6:
- ldr r6, _08087ED4 @ =gInput
- ldrh r0, [r6, #2]
- ands r1, r0
- cmp r1, #0
- beq _08087ED8
- movs r0, #0x6a
- bl SoundReq
- movs r0, #2
- strb r0, [r5]
- movs r0, #0x3c
- strb r0, [r4, #0xe]
- bl sub_08050384
- b _08087F4E
- .align 2, 0
-_08087ED4: .4byte gInput
-_08087ED8:
- adds r2, r4, #0
- adds r2, #0x81
- ldrb r7, [r2]
- ldrh r1, [r6]
- movs r0, #0x80
- lsls r0, r0, #1
- ands r0, r1
- movs r3, #1
- adds r5, r2, #0
- cmp r0, #0
- beq _08087EF0
- movs r3, #0xa
-_08087EF0:
- ldrh r1, [r6, #4]
-.ifdef JP
- cmp r1, #0x40
- beq _08087F04
- cmp r1, #0x80
- beq _08087F0E
- b _08087F16
- .align 2, 0
-.else
- ldr r0, _08087F00 @ =0xFFFFFEFF
- ands r1, r0
- cmp r1, #0x40
- beq _08087F04
- cmp r1, #0x80
- beq _08087F0E
- b _08087F16
- .align 2, 0
-_08087F00: .4byte 0xFFFFFEFF
-.endif
-_08087F04:
- adds r0, r4, #0
- adds r1, r3, #0
- bl sub_08087F94
- b _08087F16
-_08087F0E:
- rsbs r1, r3, #0
- adds r0, r4, #0
- bl sub_08087F94
-_08087F16:
- ldrb r5, [r5]
- cmp r7, r5
- beq _08087F4E
-_08087F1C:
- adds r0, r4, #0
- bl sub_080882A8
- b _08087F4E
-_08087F24:
- movs r0, #0
- strb r0, [r5]
- adds r1, r4, #0
- adds r1, #0x7b
- movs r0, #4
- strb r0, [r1]
- movs r0, #3
- bl SetRoomFlag
- ldr r0, _08087F50 @ =0x0000431A
- bl MessageFromTarget
- ldr r1, _08087F54 @ =gMessage
- movs r0, #1
- strb r0, [r1, #6]
- movs r0, #0xc
- strb r0, [r1, #7]
- adds r0, r4, #0
- adds r0, #0x81
- ldrb r0, [r0]
- str r0, [r1, #0x10]
-_08087F4E:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_08087F50: .4byte 0x0000431A
-_08087F54: .4byte gMessage
-.endif
-
- thumb_func_start sub_08087F58
-sub_08087F58: @ 0x08087F58
- push {r4, r5, lr}
- ldrb r1, [r0, #0xa]
- cmp r1, #1
- bgt _08087F8C
- cmp r1, #0
- blt _08087F8C
- ldr r5, _08087F90 @ =0x00004022
- adds r4, r0, #0
- adds r4, #0x78
- ldrh r1, [r4]
- subs r1, #1
- adds r0, r5, #0
- movs r2, #1
- bl SetTile
- ldrh r1, [r4]
- adds r0, r5, #0
- movs r2, #1
- bl SetTile
- ldrh r1, [r4]
- adds r1, #1
- adds r0, r5, #0
- movs r2, #1
- bl SetTile
-_08087F8C:
- pop {r4, r5, pc}
- .align 2, 0
-_08087F90: .4byte 0x00004022
-
- thumb_func_start sub_08087F94
-sub_08087F94: @ 0x08087F94
-.ifdef JP
- push {r4, r5, r6, r7, lr}
- adds r5, r0, #0
- adds r4, r1, #0
- movs r0, #0x5f
- bl CheckLocalFlag
- cmp r0, #0
- bne _08087E3E
- adds r0, r5, #0
- adds r0, #0x83
- movs r7, #0
- ldrsb r7, [r0, r7]
- adds r3, r7, r4
- mov ip, r0
- cmp r4, #0
- bge _08087E0A
- adds r2, r5, #0
- adds r2, #0x82
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r3, r0
- bge _08087DF4
- mov r0, ip
- movs r1, #0
- ldrsb r1, [r0, r1]
- ldrb r3, [r2]
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- beq _08087E3E
- mov r2, ip
- strb r3, [r2]
- adds r1, r5, #0
- adds r1, #0x81
- movs r0, #1
- b _08087E00
-_08087DF4:
- mov r0, ip
- strb r3, [r0]
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r0, [r1]
- adds r0, r0, r4
-_08087E00:
- strb r0, [r1]
- movs r0, #0x69
- bl SoundReq
- b _08087E58
-_08087E0A:
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r6, [r1]
- adds r2, r6, r4
- ldr r0, _08087E2C @ =0x02002A40
- adds r0, #0xc2
- ldrh r0, [r0]
- cmp r2, r0
- ble _08087E30
- cmp r0, r6
- beq _08087E3E
- adds r2, r0, #0
- subs r4, r2, r6
- adds r3, r7, r4
- cmp r3, #0x64
- ble _08087E4C
- b _08087E46
- .align 2, 0
-_08087E2C: .4byte 0x02002A40
-_08087E30:
- cmp r3, #0x64
- ble _08087E4C
- mov r2, ip
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r0, #0x64
- bne _08087E46
-_08087E3E:
- adds r0, r5, #0
- bl sub_08088034
- b _08087E58
-_08087E46:
- movs r3, #0x64
- subs r4, r3, r7
- adds r2, r6, r4
-_08087E4C:
- mov r0, ip
- strb r3, [r0]
- strb r2, [r1]
- movs r0, #0x69
- bl SoundReq
-_08087E58:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-.else
-.ifdef EU
- push {r4, r5, r6, r7, lr}
- adds r5, r0, #0
- adds r6, r1, #0
- adds r7, r5, #0
- adds r7, #0x83
- ldrb r0, [r7]
- adds r4, r0, r6
- movs r0, #0x5f
- bl CheckLocalFlag
- cmp r0, #0
- bne _080879CE
- cmp r6, #0
- bge _0808799E
- adds r0, r5, #0
- adds r0, #0x82
- ldrb r1, [r0]
- cmp r4, r1
- bhs _0808798A
- ldrb r0, [r7]
- cmp r0, r1
- beq _080879CE
- strb r1, [r7]
- adds r1, r5, #0
- adds r1, #0x81
- movs r0, #1
- b _08087994
-_0808798A:
- strb r4, [r7]
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r0, [r1]
- adds r0, r0, r6
-_08087994:
- strb r0, [r1]
- movs r0, #0x69
- bl SoundReq
- b _080879EC
-_0808799E:
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r3, [r1]
- adds r2, r3, r6
- ldr r0, _080879C0 @ =gSave
- adds r0, #0xc2
- ldrh r0, [r0]
- cmp r2, r0
- bls _080879C4
- cmp r0, r3
- beq _080879CE
- adds r2, r0, #0
- subs r0, r2, r3
- ldrb r7, [r7]
- adds r4, r0, r7
- b _080879DE
- .align 2, 0
-_080879C0: .4byte gSave
-_080879C4:
- cmp r4, #0x64
- bls _080879DE
- ldrb r0, [r7]
- cmp r0, #0x64
- bne _080879D6
-_080879CE:
- adds r0, r5, #0
- bl sub_08088034
- b _080879EC
-_080879D6:
- movs r4, #0x64
- ldrb r0, [r7]
- subs r6, r4, r0
- adds r2, r3, r6
-_080879DE:
- adds r0, r5, #0
- adds r0, #0x83
- strb r4, [r0]
- strb r2, [r1]
- movs r0, #0x69
- bl SoundReq
-_080879EC:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-.else
- push {r4, r5, r6, r7, lr}
- adds r5, r0, #0
- adds r4, r1, #0
- movs r0, #0x5f
- bl CheckLocalFlag
- cmp r0, #0
- bne _08088014
- adds r0, r5, #0
- adds r0, #0x83
- movs r1, #0
- ldrsb r1, [r0, r1]
- mov ip, r1
- adds r3, r1, r4
- adds r7, r0, #0
- cmp r4, #0
- bge _08087FEA
- adds r2, r5, #0
- adds r2, #0x82
- movs r0, #0
- ldrsb r0, [r2, r0]
- cmp r3, r0
- bge _08087FD6
- movs r1, #0
- ldrsb r1, [r7, r1]
- ldrb r3, [r2]
- cmp r1, r0
- beq _08088014
- strb r3, [r7]
- adds r1, r5, #0
- adds r1, #0x81
- movs r0, #1
- b _08087FE0
-_08087FD6:
- strb r3, [r7]
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r0, [r1]
- adds r0, r0, r4
-_08087FE0:
- strb r0, [r1]
- movs r0, #0x69
- bl SoundReq
- b _08088032
-_08087FEA:
- adds r1, r5, #0
- adds r1, #0x81
- ldrb r6, [r1]
- adds r2, r6, r4
- ldr r0, _0808801C @ =gSave
- adds r0, #0xc2
- ldrh r0, [r0]
- cmp r2, r0
- ble _08088008
- cmp r0, r6
- beq _08088014
- adds r2, r0, #0
- subs r4, r2, r6
- mov r0, ip
- adds r3, r0, r4
-_08088008:
- cmp r3, #0x64
- ble _08088028
- movs r0, #0
- ldrsb r0, [r7, r0]
- cmp r0, #0x64
- bne _08088020
-_08088014:
- adds r0, r5, #0
- bl sub_08088034
- b _08088032
- .align 2, 0
-_0808801C: .4byte gSave
-_08088020:
- movs r3, #0x64
- mov r0, ip
- subs r4, r3, r0
- adds r2, r6, r4
-_08088028:
- strb r3, [r7]
- strb r2, [r1]
- movs r0, #0x69
- bl SoundReq
-_08088032:
- pop {r4, r5, r6, r7, pc}
-.endif
-.endif
-
- thumb_func_start sub_08088034
-sub_08088034: @ 0x08088034
- push {lr}
- adds r1, r0, #0
- ldrb r0, [r1, #0xe]
- cmp r0, #0
- bne _08088048
- movs r0, #0x14
- strb r0, [r1, #0xe]
- movs r0, #0x6d
- bl SoundReq
-_08088048:
- pop {pc}
- .align 2, 0
-
- thumb_func_start sub_0808804C
-sub_0808804C: @ 0x0808804C
- push {r4, r5, lr}
- adds r5, r0, #0
- movs r4, #0
- ldr r0, _08088060 @ =gSave
- ldrb r0, [r0, #6]
- cmp r0, #0
- beq _08088064
- movs r4, #9
- b _080880D0
- .align 2, 0
-_08088060: .4byte gSave
-_08088064:
- movs r0, #6
- bl CheckGlobalFlag
- cmp r0, #0
- beq _08088072
- movs r4, #7
- b _080880D0
-_08088072:
- movs r0, #0x80
- lsls r0, r0, #4
- movs r1, #0x77
- bl CheckLocalFlagByBank
- cmp r0, #0
- beq _08088084
- movs r4, #6
- b _080880D0
-_08088084:
- movs r0, #0xc0
- lsls r0, r0, #2
- movs r1, #0x32
- bl CheckLocalFlagByBank
- cmp r0, #0
- beq _08088096
- movs r4, #5
- b _080880D0
-_08088096:
- movs r0, #5
- bl CheckGlobalFlag
- cmp r0, #0
- beq _080880A4
- movs r4, #4
- b _080880D0
-_080880A4:
- movs r0, #4
- bl CheckGlobalFlag
- cmp r0, #0
- beq _080880B2
- movs r4, #3
- b _080880D0
-_080880B2:
- movs r0, #0x80
- lsls r0, r0, #1
-.ifdef JP
- movs r1, #0x9b
-.else
-.ifdef EU
- movs r1, #0x9b
-.else
-.ifdef DEMO_JP
- movs r1, #0x9b @ TODO deduplicate
-.else
- movs r1, #0x9c
-.endif
-.endif
-.endif
- bl CheckLocalFlagByBank
- cmp r0, #0
- beq _080880C4
- movs r4, #2
- b _080880D0
-_080880C4:
- movs r0, #3
- bl CheckGlobalFlag
- cmp r0, #0
- beq _080880D0
- movs r4, #1
-_080880D0:
- adds r0, r5, #0
-.ifdef EU
- adds r0, #0x7d
-.else
- adds r0, #0x7c
-.endif
- strb r4, [r0]
- pop {r4, r5, pc}
-
- thumb_func_start sub_080880D8
-sub_080880D8: @ 0x080880D8
- push {r4, r5, r6, r7, lr}
- adds r7, r0, #0
- adds r0, #0x7b
- ldrb r1, [r0]
- ldr r0, _08088158 @ =gUnk_08120AAC
- adds r6, r1, r0
- ldrb r4, [r6]
- ldrb r0, [r6, #1]
- cmp r4, r0
- bhs _0808810A
- adds r5, r7, #0
-.ifdef EU
- adds r5, #0x7c
-.else
- adds r5, #0x80
-.endif
-_080880F0:
- adds r0, r7, #0
- adds r1, r4, #0
- bl sub_08088160
- cmp r0, #0
- beq _08088102
- ldrb r0, [r5]
- adds r0, #1
- strb r0, [r5]
-_08088102:
- adds r4, #1
- ldrb r0, [r6, #1]
- cmp r4, r0
- blo _080880F0
-_0808810A:
- adds r1, r7, #0
- adds r1, #0x7b
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- lsls r0, r0, #0x18
- lsrs r0, r0, #0x18
- cmp r0, #4
- bne _08088156
- ldr r5, _0808815C @ =gSave
- adds r0, r7, #0
-.ifdef EU
- adds r0, #0x7c
-.else
- adds r0, #0x80
-.endif
- ldrb r1, [r5, #9]
- adds r4, r0, #0
- ldrb r0, [r4]
- cmp r1, r0
- beq _0808813A
- cmp r1, #0
- beq _08088136
- movs r0, #6
- bl SetRoomFlag
-_08088136:
- ldrb r0, [r4]
- strb r0, [r5, #9]
-_0808813A:
- movs r0, #0x5f
- bl CheckLocalFlag
- cmp r0, #0
- beq _08088156
- ldr r0, _0808815C @ =gSave
- adds r0, #0xb0
- ldrb r1, [r4]
- ldrb r0, [r0]
- cmp r1, r0
- beq _08088156
- movs r0, #0x5f
- bl ClearLocalFlag
-_08088156:
- pop {r4, r5, r6, r7, pc}
- .align 2, 0
-_08088158: .4byte gUnk_08120AAC
-_0808815C: .4byte gSave
-
- thumb_func_start sub_08088160
-sub_08088160: @ 0x08088160
-.ifdef JP
- push {r4, lr}
- adds r2, r0, #0
- lsls r1, r1, #3
- ldr r0, _08087FB0 @ =gUnk_080FC3E4
- adds r1, r1, r0
- movs r4, #0
- adds r0, r2, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- ldrb r3, [r1, #6]
- cmp r0, r3
- bhs _08088068
- ldrb r0, [r1, #6]
- cmp r0, #0x10
- beq _08087FC6
- cmp r0, #0x10
- bgt _08087FB4
- cmp r0, #8
- beq _08087FBC
- b _0808806A
- .align 2, 0
-_08087FB0: .4byte gUnk_080FC3E4
-_08087FB4:
- cmp r0, #0x20
- beq _08087FCA
- cmp r0, #0x40
- bne _0808806A
-_08087FBC:
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- bl CheckLocalFlagByBank
- b _08088064EU
-_08087FC6:
- ldrh r0, [r1, #4]
- b _08088060EU
-_08087FCA:
- ldrh r0, [r1, #4]
- cmp r0, #4
- bhi _0808806A
- lsls r0, r0, #2
- ldr r1, _08087FDC @ =_08087FE0
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08087FDC: .4byte _08087FE0
-_08087FE0: @ jump table
- .4byte _08087FF4 @ case 0
- .4byte _0808800C @ case 1
- .4byte _0808801A @ case 2
- .4byte _08088032 @ case 3
- .4byte _0808804A @ case 4
-_08087FF4:
- movs r0, #0x20
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x10
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x19
- b _08088060EU
-_0808800C:
- adds r0, r2, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- cmp r0, #4
- bls _0808806A
- movs r0, #0x28
- b _08088060EU
-_0808801A:
- movs r0, #0x54
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x56
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x3d
- b _08088060EU
-_08088032:
- movs r0, #0x3b
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x4a
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0xd
- b _08088060EU
-_0808804A:
- movs r0, #0x49
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x55
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088068
- movs r0, #0x3c
-_08088060EU:
- bl CheckKinstoneFused
-_08088064EU:
- cmp r0, #0
- beq _0808806A
-_08088068:
- movs r4, #1
-_0808806A:
- adds r0, r4, #0
- pop {r4, pc}
- .align 2, 0
-
-.else
-.ifdef EU
- push {r4, lr}
- adds r2, r0, #0
- lsls r1, r1, #3
- ldr r0, _08087B44 @ =gUnk_080FC3E4
- adds r1, r1, r0
- movs r4, #0
- adds r0, r2, #0
- adds r0, #0x7d
- ldrb r0, [r0]
- ldrb r3, [r1, #6]
- cmp r0, r3
- bhs _08087BFC
- ldrb r0, [r1, #6]
- cmp r0, #0x10
- beq _08087B5A
- cmp r0, #0x10
- bgt _08087B48
- cmp r0, #8
- beq _08087B50
- b _08087BFE
- .align 2, 0
-_08087B44: .4byte gUnk_080FC3E4
-_08087B48:
- cmp r0, #0x20
- beq _08087B5E
- cmp r0, #0x40
- bne _08087BFE
-_08087B50:
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- bl CheckLocalFlagByBank
- b _08087BF8
-_08087B5A:
- ldrh r0, [r1, #4]
- b _08087BF4
-_08087B5E:
- ldrh r0, [r1, #4]
- cmp r0, #4
- bhi _08087BFE
- lsls r0, r0, #2
- ldr r1, _08087B70 @ =_08087B74
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08087B70: .4byte _08087B74
-_08087B74: @ jump table
- .4byte _08087B88 @ case 0
- .4byte _08087BA0 @ case 1
- .4byte _08087BAE @ case 2
- .4byte _08087BC6 @ case 3
- .4byte _08087BDE @ case 4
-_08087B88:
- movs r0, #0x20
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x10
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x19
- b _08087BF4
-_08087BA0:
- adds r0, r2, #0
- adds r0, #0x7d
- ldrb r0, [r0]
- cmp r0, #4
- bls _08087BFE
- movs r0, #0x28
- b _08087BF4
-_08087BAE:
- movs r0, #0x54
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x56
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x3d
- b _08087BF4
-_08087BC6:
- movs r0, #0x3b
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x4a
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0xd
- b _08087BF4
-_08087BDE:
- movs r0, #0x49
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x55
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08087BFC
- movs r0, #0x3c
-_08087BF4:
- bl CheckKinstoneFused
-_08087BF8:
- cmp r0, #0
- beq _08087BFE
-_08087BFC:
- movs r4, #1
-_08087BFE:
- adds r0, r4, #0
- pop {r4, pc}
- .align 2, 0
-.else
- push {r4, lr}
- adds r2, r0, #0
- lsls r1, r1, #3
- ldr r0, _08088188 @ =gUnk_080FC3E4
- adds r1, r1, r0
- movs r4, #0
- adds r0, r2, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- ldrb r3, [r1, #6]
- cmp r0, r3
- bhs _08088266
- ldrb r0, [r1, #6]
- cmp r0, #0x10
- beq _0808819E
- cmp r0, #0x10
- bgt _0808818C
- cmp r0, #8
- beq _08088194
- b _08088268
- .align 2, 0
-_08088188: .4byte gUnk_080FC3E4
-_0808818C:
- cmp r0, #0x20
- beq _080881A6
- cmp r0, #0x40
- bne _08088268
-_08088194:
- ldr r0, [r1]
- ldrh r1, [r1, #4]
- bl CheckLocalFlagByBank
- b _08088262
-_0808819E:
- ldrh r0, [r1, #4]
-.ifndef JP
- bl CheckKinstoneFused
-.endif
- b _08088262
-_080881A6:
- ldrh r0, [r1, #4]
- cmp r0, #5
- bhi _08088268
- lsls r0, r0, #2
- ldr r1, _080881B8 @ =_080881BC
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080881B8: .4byte _080881BC
-_080881BC: @ jump table
- .4byte _080881D4 @ case 0
- .4byte _080881F0 @ case 1
- .4byte _080881FE @ case 2
- .4byte _0808821A @ case 3
- .4byte _08088236 @ case 4
- .4byte _08088252 @ case 5
-_080881D4:
- movs r0, #0x20
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x10
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x19
-_080881EA:
- bl CheckKinstoneFused
- b _08088262
-_080881F0:
- adds r0, r2, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- cmp r0, #4
- bls _08088268
- movs r0, #0x28
- b _080881EA
-_080881FE:
- movs r0, #0x54
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x56
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x3d
- bl CheckKinstoneFused
- b _08088262
-_0808821A:
- movs r0, #0x3b
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x4a
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0xd
- bl CheckKinstoneFused
- b _08088262
-_08088236:
- movs r0, #0x49
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x55
- bl CheckKinstoneFused
- cmp r0, #0
- bne _08088266
- movs r0, #0x3c
- bl CheckKinstoneFused
- b _08088262
-_08088252:
- adds r0, r2, #0
- adds r0, #0x7c
- ldrb r0, [r0]
- cmp r0, #1
- bls _08088268
- movs r0, #0x12
- bl CheckGlobalFlag
-_08088262:
- cmp r0, #0
- beq _08088268
-_08088266:
- movs r4, #1
-_08088268:
- adds r0, r4, #0
- pop {r4, pc}
-.endif
-.endif
-
- thumb_func_start sub_0808826C
-sub_0808826C: @ 0x0808826C
- push {r4, r5, lr}
- adds r5, r0, #0
- movs r4, #0x64
-.ifdef EU
- adds r0, #0x7c
-.else
- adds r0, #0x80
-.endif
- ldrb r1, [r0]
- ldr r0, _080882A4 @ =gSave
- adds r0, #0xb0
- ldrb r0, [r0]
- subs r0, r1, r0
- muls r4, r0, r4
- adds r0, r4, #0
- bl __divsi3
- adds r4, r0, #0
- cmp r4, #0
- bne _08088298
- movs r0, #0x5f
- bl CheckLocalFlag
- cmp r0, #0
- bne _08088298
- movs r4, #1
-_08088298:
- adds r0, r5, #0
- adds r0, #0x83
- strb r4, [r0]
- subs r0, #1
- strb r4, [r0]
- pop {r4, r5, pc}
- .align 2, 0
-_080882A4: .4byte gSave
-
- thumb_func_start sub_080882A8
-sub_080882A8: @ 0x080882A8
- push {r4, r5, r6, lr}
- adds r6, r0, #0
- bl sub_08050384
- adds r0, r6, #0
- adds r0, #0x81
- ldrb r0, [r0]
- ldr r4, _080882F4 @ =gUnk_020227E8
- ldr r5, _080882F8 @ =0x00202020
- adds r1, r4, #0
- adds r2, r5, #0
- bl sub_08057044
- adds r0, r6, #0
- adds r0, #0x83
- ldrb r0, [r0]
-.ifndef EU
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
-.endif
- adds r4, #8
- adds r1, r4, #0
- adds r2, r5, #0
- bl sub_08057044
- movs r0, #0x80
- lsls r0, r0, #0x12
- ldrb r0, [r0, #7]
- cmp r0, #0
- bne _08088304
- ldr r1, _080882FC @ =gUnk_08120AE4
- ldrb r0, [r6, #0xb]
- lsls r0, r0, #1
- adds r0, r0, r1
- ldrh r0, [r0]
- ldr r1, _08088300 @ =gUnk_08120AB4
- bl sub_0805F46C
- b _08088314
- .align 2, 0
-_080882F4: .4byte gUnk_020227E8
-_080882F8: .4byte 0x00202020
-_080882FC: .4byte gUnk_08120AE4
-_08088300: .4byte gUnk_08120AB4
-_08088304:
- ldr r1, _0808831C @ =gUnk_08120AE4
- ldrb r0, [r6, #0xb]
- lsls r0, r0, #1
- adds r0, r0, r1
- ldrh r0, [r0]
- ldr r1, _08088320 @ =gUnk_08120ACC
- bl sub_0805F46C
-_08088314:
- ldr r1, _08088324 @ =gScreen
- movs r0, #1
- strh r0, [r1, #0xe]
- pop {r4, r5, r6, pc}
- .align 2, 0
-_0808831C: .4byte gUnk_08120AE4
-_08088320: .4byte gUnk_08120ACC
-_08088324: .4byte gScreen
-
- thumb_func_start sub_08088328
-sub_08088328: @ 0x08088328
-.ifdef EU
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- adds r6, r0, #0
- movs r4, #0x7f
-_08087CC6:
- bl Random
- adds r5, r0, #0
- ands r5, r4
- cmp r5, #0x63
- bhi _08087CC6
- adds r0, r6, #0
- adds r0, #0x81
- ldrb r0, [r0]
- rsbs r0, r0, #0
- bl sub_080542C0
- bl Random
- movs r1, #0x7f
- ands r1, r0
- adds r4, r1, #1
- adds r7, r4, #0
- adds r0, r6, #0
- bl sub_08088424
- adds r0, r6, #0
- adds r0, #0x83
- ldrb r0, [r0]
- cmp r5, r0
- bhs _08087D34EU
- movs r5, #0
- movs r0, #0x7e
- adds r0, r0, r6
- mov r8, r0
-_08087D02EU:
- cmp r5, #0
- bne _08087D72
- cmp r4, #0x88
- bls _08087D0C
- movs r4, #1
-_08087D0C:
- adds r0, r6, #0
- adds r1, r4, #0
- bl sub_08088160
- cmp r0, #0
- beq _08087D2C
- ldr r0, _08087D28 @ =gUnk_02002B0E
- adds r1, r4, #0
- bl ReadBit
- cmp r0, #0
- bne _08087D2C
- movs r5, #1
- b _08087D2E
- .align 2, 0
-_08087D28: .4byte gUnk_02002B0E
-_08087D2C:
- adds r4, #1
-_08087D2E:
- cmp r7, r4
- bne _08087D02EU
- b _08087D6E
-_08087D34EU:
- movs r5, #1
- movs r0, #0x7e
- adds r0, r0, r6
- mov r8, r0
-_08087D3C:
- cmp r5, #0
- beq _08087DA4
- cmp r4, #0x88
- bls _08087D46
- movs r4, #1
-_08087D46:
- adds r0, r6, #0
- adds r1, r4, #0
- bl sub_08088160
- cmp r0, #0
- beq _08087D68
- ldr r0, _08087D64 @ =gUnk_02002B0E
- adds r1, r4, #0
- bl ReadBit
- cmp r0, #0
- beq _08087D68
- movs r5, #0
- b _08087D6A
- .align 2, 0
-_08087D64: .4byte gUnk_02002B0E
-_08087D68:
- adds r4, #1
-_08087D6A:
- cmp r7, r4
- bne _08087D3C
-_08087D6E:
- cmp r5, #0
- beq _08087DA4
-_08087D72:
- ldr r0, _08087D94 @ =gSave
- adds r0, #0xb0
- ldrb r1, [r0]
- adds r1, #1
- strb r1, [r0]
- adds r0, r6, #0
- adds r0, #0x7c
- lsls r1, r1, #0x18
- lsrs r1, r1, #0x18
- ldrb r0, [r0]
- cmp r1, r0
- beq _08087D98
- movs r0, #7
- bl SetRoomFlag
- b _08087DA4
- .align 2, 0
-_08087D94: .4byte gSave
-_08087D98:
- movs r0, #0x5f
- bl SetLocalFlag
- movs r0, #8
- bl SetRoomFlag
-_08087DA4:
- mov r0, r8
- strb r4, [r0]
- ldr r0, [r6, #0x50]
- adds r0, #0x7e
- strb r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7, pc}
-
-.else
- push {r4, r5, r6, r7, lr}
- mov r7, r8
- push {r7}
- adds r6, r0, #0
- movs r4, #0x7f
-_08088332:
- bl Random
- adds r5, r0, #0
- ands r5, r4
- cmp r5, #0x63
- bhi _08088332
- adds r0, r6, #0
- adds r0, #0x81
- ldrb r0, [r0]
- rsbs r0, r0, #0
- bl sub_080542C0
- bl Random
- movs r1, #0x7f
- ands r1, r0
- adds r4, r1, #1
- adds r7, r4, #0
- adds r0, r6, #0
- bl sub_08088424
- adds r0, r6, #0
- adds r0, #0x83
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r5, r0
- bhs _080883A4
- movs r5, #0
- movs r0, #0x7d
- adds r0, r0, r6
- mov r8, r0
-_08088372:
- cmp r5, #0
- bne _080883E2
- cmp r4, #0x88
- bls _0808837C
- movs r4, #1
-_0808837C:
- adds r0, r6, #0
- adds r1, r4, #0
- bl sub_08088160
- cmp r0, #0
- beq _0808839C
- ldr r0, _08088398 @ =gUnk_02002B0E
- adds r1, r4, #0
- bl ReadBit
- cmp r0, #0
- bne _0808839C
- movs r5, #1
- b _0808839E
- .align 2, 0
-_08088398: .4byte gUnk_02002B0E
-_0808839C:
- adds r4, #1
-_0808839E:
- cmp r7, r4
- bne _08088372
- b _080883DE
-_080883A4:
- movs r5, #1
- movs r0, #0x7d
- adds r0, r0, r6
- mov r8, r0
-_080883AC:
- cmp r5, #0
- beq _08088414
- cmp r4, #0x88
- bls _080883B6
- movs r4, #1
-_080883B6:
- adds r0, r6, #0
- adds r1, r4, #0
- bl sub_08088160
- cmp r0, #0
- beq _080883D8
- ldr r0, _080883D4 @ =gUnk_02002B0E
- adds r1, r4, #0
- bl ReadBit
- cmp r0, #0
- beq _080883D8
- movs r5, #0
- b _080883DA
- .align 2, 0
-_080883D4: .4byte gUnk_02002B0E
-_080883D8:
- adds r4, #1
-_080883DA:
- cmp r7, r4
- bne _080883AC
-_080883DE:
- cmp r5, #0
- beq _08088414
-_080883E2:
- ldr r0, _08088404 @ =gSave
- adds r0, #0xb0
- ldrb r1, [r0]
- adds r1, #1
- strb r1, [r0]
- adds r0, r6, #0
- adds r0, #0x80
- lsls r1, r1, #0x18
- lsrs r1, r1, #0x18
- ldrb r0, [r0]
- cmp r1, r0
- beq _08088408
- movs r0, #7
- bl SetRoomFlag
- b _08088414
- .align 2, 0
-_08088404: .4byte gSave
-_08088408:
- movs r0, #0x5f
- bl SetLocalFlag
- movs r0, #8
- bl SetRoomFlag
-_08088414:
- mov r0, r8
- strb r4, [r0]
- ldr r0, [r6, #0x50]
- adds r0, #0x7d
- strb r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4, r5, r6, r7, pc}
-.endif
-
- thumb_func_start sub_08088424
-sub_08088424: @ 0x08088424
- push {lr}
- adds r1, r0, #0
- ldr r0, _08088440 @ =gSave
- adds r0, #0xb0
- ldrb r0, [r0]
- cmp r0, #0x31
- bhi _08088444
- adds r1, #0x83
-.ifdef EU
- ldrb r0, [r1, #0x0]
- cmp r0, #0xe
- bhi _08088476
-.else
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xe
- bgt _08088476
-.endif
- movs r0, #0xf
- b _08088474
- .align 2, 0
-_08088440: .4byte gSave
-_08088444:
- cmp r0, #0x4f
- bhi _08088456
- adds r1, #0x83
-.ifdef EU
- ldrb r0, [r1, #0x0]
- cmp r0, #0xb
- bhi _08088476
-.else
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0xb
- bgt _08088476
-.endif
- movs r0, #0xc
- b _08088474
-_08088456:
- cmp r0, #0x6d
- bhi _08088468
- adds r1, #0x83
-.ifdef EU
- ldrb r0, [r1, #0x0]
- cmp r0, #8
- bhi _08088476
-.else
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #8
- bgt _08088476
-.endif
- movs r0, #9
- b _08088474
-_08088468:
- adds r1, #0x83
-.ifdef EU
- ldrb r0, [r1, #0x0]
- cmp r0, #5
- bhi _08088476
-.else
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #5
- bgt _08088476
-.endif
- movs r0, #6
-_08088474:
- strb r0, [r1]
-_08088476:
- pop {pc}
-
- thumb_func_start sub_08088478
-sub_08088478: @ 0x08088478
- push {r4, lr}
- movs r4, #0
- movs r0, #8
- bl CheckRoomFlag
- cmp r0, #0
- bne _080884A4
- movs r0, #7
- bl CheckRoomFlag
- cmp r0, #0
- bne _0808849C
- ldr r1, _08088498 @ =0x00004322
- movs r4, #1
- b _080884D2
- .align 2, 0
-_08088498: .4byte 0x00004322
-_0808849C:
- ldr r1, _080884A0 @ =0x00004325
- b _080884D2
- .align 2, 0
-_080884A0: .4byte 0x00004325
-_080884A4:
- ldr r1, _080884C0 @ =gSave
- adds r0, r1, #0
- adds r0, #0xb0
- ldrb r0, [r0]
- cmp r0, #0x82
- beq _080884C8
- cmp r0, #0x88
- bne _080884D0
- adds r1, #0xb1
- movs r0, #0xff
- strb r0, [r1]
- ldr r1, _080884C4 @ =0x00004329
- b _080884D2
- .align 2, 0
-_080884C0: .4byte gSave
-_080884C4: .4byte 0x00004329
-_080884C8:
- ldrb r0, [r1, #6]
- ldr r1, _080884F4 @ =0x00004328
- cmp r0, #0
- beq _080884D2
-_080884D0:
- ldr r1, _080884F8 @ =0x00004327
-_080884D2:
- adds r0, r1, #0
- bl MessageFromTarget
- ldr r1, _080884FC @ =gMessage
- movs r0, #1
- strb r0, [r1, #6]
- movs r0, #0xc
- strb r0, [r1, #7]
- cmp r4, #0
- beq _080884EA
- movs r0, #5
- str r0, [r1, #0x10]
-_080884EA:
-.ifndef EU
- ldr r1, _08088500 @ =gPlayerEntity
- movs r0, #6
- strb r0, [r1, #0x14]
-.endif
- pop {r4, pc}
- .align 2, 0
-_080884F4: .4byte 0x00004328
-_080884F8: .4byte 0x00004327
-_080884FC: .4byte gMessage
-.ifndef EU
-_08088500: .4byte gPlayerEntity
-.endif
-
- thumb_func_start sub_08088504
-sub_08088504: @ 0x08088504
- push {lr}
- ldr r0, _08088518 @ =gSave
- adds r0, #0xb0
- ldrb r0, [r0]
- cmp r0, #0x82
- beq _08088520
- cmp r0, #0x88
- bne _08088528
- ldr r0, _0808851C @ =0x0000432F
- b _0808852A
- .align 2, 0
-_08088518: .4byte gSave
-_0808851C: .4byte 0x0000432F
-_08088520:
- ldr r0, _08088524 @ =0x00004314
- b _0808852A
- .align 2, 0
-_08088524: .4byte 0x00004314
-_08088528:
- ldr r0, _0808853C @ =0x00004311
-_0808852A:
- bl MessageFromTarget
- ldr r0, _08088540 @ =gMessage
- movs r1, #1
- strb r1, [r0, #6]
- movs r1, #0xc
- strb r1, [r0, #7]
- pop {pc}
- .align 2, 0
-_0808853C: .4byte 0x00004311
-_08088540: .4byte gMessage
-
- thumb_func_start sub_08088544
-sub_08088544: @ 0x08088544
- push {lr}
- ldr r0, _08088568 @ =gSave
- adds r0, #0xb0
- ldrb r0, [r0]
- ldr r1, _0808856C @ =0x00004315
- cmp r0, #0x82
- beq _08088554
- subs r1, #7
-_08088554:
- adds r0, r1, #0
- bl MessageFromTarget
- ldr r0, _08088570 @ =gMessage
- movs r1, #1
- strb r1, [r0, #6]
- movs r1, #0xc
- strb r1, [r0, #7]
- pop {pc}
- .align 2, 0
-_08088568: .4byte gSave
-_0808856C: .4byte 0x00004315
-_08088570: .4byte gMessage
-
- thumb_func_start sub_08088574
-sub_08088574: @ 0x08088574
- push {lr}
-.ifdef EU
- movs r0, #0xa
-.else
- movs r0, #9
-.endif
- bl CheckRoomFlag
- cmp r0, #0
- beq _08088594
- movs r0, #0x5f
- bl CheckLocalFlag
- ldr r1, _08088590 @ =0x0000430C
- cmp r0, #0
- beq _08088596
- adds r1, #7
- b _08088596
- .align 2, 0
-_08088590: .4byte 0x0000430C
-_08088594:
- ldr r1, _080885A8 @ =0x0000430B
-_08088596:
- adds r0, r1, #0
- bl MessageFromTarget
- ldr r0, _080885AC @ =gMessage
- movs r1, #1
- strb r1, [r0, #6]
- movs r1, #0xc
- strb r1, [r0, #7]
- pop {pc}
- .align 2, 0
-_080885A8: .4byte 0x0000430B
-_080885AC: .4byte gMessage
-
- thumb_func_start sub_080885B0
-sub_080885B0: @ 0x080885B0
- push {lr}
- movs r0, #8
- bl CheckRoomFlag
- cmp r0, #0
- bne _080885E8
- movs r0, #7
- bl CheckRoomFlag
- cmp r0, #0
- bne _0808860A
- movs r0, #5
- bl ModRupees
- ldr r0, _080885E0 @ =0x00004326
- bl MessageFromTarget
- ldr r1, _080885E4 @ =gMessage
- movs r0, #1
- strb r0, [r1, #6]
- movs r0, #0xc
- strb r0, [r1, #7]
- b _0808860A
- .align 2, 0
-_080885E0: .4byte 0x00004326
-_080885E4: .4byte gMessage
-_080885E8:
- ldr r1, _08088618 @ =gSave
- adds r0, r1, #0
- adds r0, #0xb1
- ldrb r0, [r0]
- cmp r0, #0
- beq _0808860A
- adds r1, #0xbb
- movs r0, #1
- strb r0, [r1]
- movs r0, #0x3e
- movs r1, #0
- movs r2, #0
- bl CreateItemEntity
- movs r0, #0x59
- bl SetGlobalFlag
-_0808860A:
- movs r0, #8
- bl ClearRoomFlag
- movs r0, #7
- bl ClearRoomFlag
- pop {pc}
- .align 2, 0
-_08088618: .4byte gSave
-
-.ifndef EU
- thumb_func_start sub_0808861C
-sub_0808861C: @ 0x0808861C
-.ifdef JP
- push {r4, lr}
- adds r4, r1, #0
- movs r0, #0xa8
- movs r1, #0x54
- movs r2, #0xc
- movs r3, #8
- bl CheckPlayerInRegion
- str r0, [r4, #0x14]
- ldr r0, _0808844C @ =0x03001160
- ldrb r0, [r0, #0x14]
- cmp r0, #0
- beq _0808843E
- movs r0, #0
- str r0, [r4, #0x14]
-_0808843E:
- ldr r2, _08088450 @ =0x02033280
- ldrb r1, [r2, #7]
- movs r0, #1
- orrs r0, r1
- strb r0, [r2, #7]
- pop {r4, pc}
- .align 2, 0
-_0808844C: .4byte 0x03001160
-_08088450: .4byte 0x02033280
-
-.else
- push {r4, lr}
- adds r4, r1, #0
- movs r0, #0xa8
- movs r1, #0x54
- movs r2, #0xc
- movs r3, #8
- bl CheckPlayerInRegion
- str r0, [r4, #0x14]
- ldr r1, _08088650 @ =gPlayerEntity
- ldrb r0, [r1, #0x14]
- cmp r0, #0
- bne _0808863E
- movs r2, #0x36
- ldrsh r0, [r1, r2]
- cmp r0, #0
- beq _08088642
-_0808863E:
- movs r0, #0
- str r0, [r4, #0x14]
-_08088642:
- ldr r2, _08088654 @ =gActiveScriptInfo
- ldrb r1, [r2, #7]
- movs r0, #1
- orrs r0, r1
- strb r0, [r2, #7]
- pop {r4, pc}
- .align 2, 0
-_08088650: .4byte gPlayerEntity
-_08088654: .4byte gActiveScriptInfo
-.endif
-
-.ifndef JP
- thumb_func_start sub_08088658
-sub_08088658: @ 0x08088658
- push {r4, lr}
- adds r4, r1, #0
- movs r0, #0x78
- movs r1, #0x78
- movs r2, #0x10
- movs r3, #8
- bl CheckPlayerInRegion
- str r0, [r4, #0x14]
- ldr r0, _08088684 @ =gPlayerEntity
- movs r1, #0x36
- ldrsh r0, [r0, r1]
- cmp r0, #0
- beq _08088678
- movs r0, #0
- str r0, [r4, #0x14]
-_08088678:
- ldr r2, _08088688 @ =gActiveScriptInfo
- ldrb r1, [r2, #7]
- movs r0, #1
- orrs r0, r1
- strb r0, [r2, #7]
- pop {r4, pc}
- .align 2, 0
-_08088684: .4byte gPlayerEntity
-_08088688: .4byte gActiveScriptInfo
-.else
-.ifdef DEMO_JP @ TODO deduplicate
- thumb_func_start sub_08088658
-sub_08088658: @ 0x08088658
- push {r4, lr}
- adds r4, r1, #0
- movs r0, #0x78
- movs r1, #0x78
- movs r2, #0x10
- movs r3, #8
- bl CheckPlayerInRegion
- str r0, [r4, #0x14]
- ldr r0, _08088684 @ =gPlayerEntity
- movs r1, #0x36
- ldrsh r0, [r0, r1]
- cmp r0, #0
- beq _08088678
- movs r0, #0
- str r0, [r4, #0x14]
-_08088678:
- ldr r2, _08088688 @ =gActiveScriptInfo
- ldrb r1, [r2, #7]
- movs r0, #1
- orrs r0, r1
- strb r0, [r2, #7]
- pop {r4, pc}
- .align 2, 0
-_08088684: .4byte gPlayerEntity
-_08088688: .4byte gActiveScriptInfo
-
-.endif
-.endif
-.endif